STM32F37x的SDADC使用流程(一)

2021-09-25 02:21:09 字數 1809 閱讀 8007

stm32f37x系列微控制器整合了帶有dsp與fpu指令、工作頻率72mhz的32位arm cortex-4核心和高階模擬外設。

16位sdadc概述:

1. 主要特徵: (1)包含3個sdadc,

(2)有效位數14位

(3)五個差分輸入對,9個單端輸入。

(4)在不同通道之間復用時,為16.6ksps輸入取樣率。單通道工作時輸入取樣率50ksps。

(5)可增益程式設計x0.5 x1 x2 x4 x8 x16 x32

2. 時鐘選擇: (1)典型工作頻率為,快速模式下的6mhz和man慢速模式下的1.5mhz。

系統時鐘sysclk為72mhz時

快速模式:預分頻 = 72mhz/6mhz = 12

慢速模式:預分頻 = 72mhz/1.5mhz = 48

3. 輸入模式:  (1)差分模式

時,尤其如此。差分模式中,sdadc轉換的是sdadcx_ainyp 和 sdadcx_ainym的差值。結果可能是正也可能是負。取決於

哪個輸入的電壓高。

sdadc 無法測量負電壓,並且每個通道的輸入電壓都必須在器件的電氣極限之內。

輸入範圍為 [-vref/(2*gain), + vref/(2*gain)],轉換值範圍為 [-32767, +32767]。即增益為1的情況下,最大輸入值為參考電壓的一半。

示例:對於 1.22v 的參考電壓, 1 倍增益,輸入範圍為 +/- 0.61v

公式為:

vin = sdadcx_ainyp - sdadcx_ainym = readdata * vref/(2 x gain x 32767)

其中, readdata 為 sdadc 資料暫存器的兩個補充讀資料 (sdadcx_jdatar 或sdadcx_rdatar)

(2)單端偏移模式

在單端偏移模式中, 通過將負輸入內部連至0 v進行轉換, 負輸入的相應引腳(sdadcx_ainym)

可用作其它用處。要測量的訊號施加於正輸入 sdadcx_ainyp。此工作模式與差分模式類

似,只是輸出資料範圍僅為 0 到 +32767,而不是 –32767 到 +32767,因此有一半的動態範

圍損失,導致 snr 下降。

公式為:

vin = sdadcx_ainyp = readdata * vref/(2 x 增益 x 32767)

(3)單端零參考模式

訊號施加於正輸入 sdadcx_ainyp,負輸入設為訊號參考 (一般為 0 v)。此模式將一半標

度的輸入共模注入 adc,以此保持了與差分模式一樣的動態範圍 (-32767 到 +32767)。在

此模式中,注入的共模取決於增益變化。

公式為:

vin = sdadcx_ainyp = (readdata + 32767) * vref/( 增益 x 65535)

當通道 p (p 為偶數)用於差分模式中時,通道 p+1 會自動用作負輸入

(sdadcx_ainym),因此通道 p+1 不能用於單端模式 (零參考模式或偏移模式)。

當通道 4 配置於差分模式中時,通道會 5 自動用作負輸入,因此通道 5 不能用於單端偏移模

式或單端零參考模式

STM32F10x系列 中斷

概念問題 中斷與事件有什麼聯絡與區別?stm32之中斷與事件 中斷與事件的區別 簡單概括下。中斷 cpu單執行緒情況下只能處理單一任務,在有零時任務需要處理時,可以暫時放下當前任務,優先處理零時任務,再回過來處理之前的任務。多個中斷可以進行巢狀,比如產生了多個零時任務,那麼就可以按照優先順序處理這多...

STM32F10X入門 流水燈

2019 3 16 2019 3 19 core cm32.c stdin.h中定義了字元型 stm32f10x.h stm32f10x conf.h中定義了引用的外設標頭檔案 庫檔案之間的依賴呼叫關係 pngstm32f10x.h檢視位址對映 比如define gpioa base apb2per...

STM32F10X 位帶操作

在stm32微控制器的學習中,有乙個最大的特點就是你所編寫的stm32的程式操作,基本上都是匯流排的操作,比如gpiob odr 0x0001 或者直接等於1 這樣的操作必須要考慮整個暫存器的資料,但其實如果學過51微控制器的人都知道,我們除了對於匯流排操作外,我們還是經常會對單獨的位進行操作,比如...