學(xué)習(xí)總結(jié)-ADC的基本概念
2022/8/26 14:15:06 點(diǎn)擊:
ADC的定義與理解
ADC(Analog-to-Digital Converter)為模擬數(shù)字轉(zhuǎn)換器(或稱AD轉(zhuǎn)換器)的簡(jiǎn)稱。ADC是將模擬量轉(zhuǎn)換為數(shù)字量的器件,常見(jiàn)的應(yīng)用是將連續(xù)變化的電壓值轉(zhuǎn)換為數(shù)字量。原理是采樣原理,可以簡(jiǎn)單理解為,以一定的頻率采樣電壓值,使連續(xù)值變?yōu)殡x散值,也就得到了若干數(shù)字量。
12 位 ADC 是逐次趨近型模數(shù)轉(zhuǎn)換器。它具有多達(dá) 19 個(gè)復(fù)用通道,可測(cè)量來(lái)自 16 個(gè)外部源、兩個(gè)內(nèi)部源和 VBAT 通道的信號(hào)。這些通道的 A/D 轉(zhuǎn)換可在單次、連續(xù)、掃描或不連續(xù) 采樣模式下進(jìn)行。ADC 的結(jié)果存儲(chǔ)在一個(gè)左對(duì)齊或右對(duì)齊的 16 位數(shù)據(jù)寄存器中。
實(shí)際使用時(shí),不需要清楚其具體的實(shí)現(xiàn)原理,只需要知道如何配置其采集數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù)和傳輸數(shù)據(jù)的方式即可。
ADC分辨率(12位、10位、8位、6位)
可配置 12 位、10 位、8 位或 6 位分辨率。12位分辨率精度最高。
ADC通道(規(guī)則、注入)
STM32F4共有3個(gè)ADC轉(zhuǎn)換器ADC1、ADC2、ADC3,可以同時(shí)進(jìn)行3個(gè)模擬量的轉(zhuǎn)換。每個(gè)ADC轉(zhuǎn)換器又可以轉(zhuǎn)換多個(gè)引腳通道的模擬量,ADC1可以轉(zhuǎn)換PA0、PA1、PA3等引腳的模擬量,分時(shí)轉(zhuǎn)換多個(gè)通道的模擬量,即多通道。同時(shí),有的引腳(比如PA1)可以選用其中一個(gè)ADC轉(zhuǎn)換器(ADC1或ADC2或ADC3)進(jìn)行模擬量轉(zhuǎn)換,也可以用雙重或三重模式,使用兩個(gè)或以上ADC(比如ADC1和ADC3)交叉采集同一通道(比如PA1)的數(shù)據(jù)。
如表所示,ADC1、ADC2、ADC3分別對(duì)應(yīng)16個(gè)可用的通道。
ADC通道在轉(zhuǎn)換時(shí)分為規(guī)則通道和注入通道。
規(guī)則通道:最多支持16個(gè)通道。一般將使用的通道配置為規(guī)則通道。可以通過(guò)配置轉(zhuǎn)換序列決定通道轉(zhuǎn)換的順序。
注入通道:最多支持4個(gè)通道。可以優(yōu)先于規(guī)則通道搶先進(jìn)行AD轉(zhuǎn)換的一種通道。
ADC模式(獨(dú)立、雙重、三重)
ADC模式分為獨(dú)立模式、雙重模式和三重模式。
獨(dú)立模式:ADC轉(zhuǎn)換完1個(gè)通道的數(shù)據(jù)后才能轉(zhuǎn)換下一個(gè)通道的數(shù)據(jù)。
雙重模式:具有兩個(gè) ADC時(shí)可實(shí)現(xiàn)。
三重模式:具有三個(gè) ADC時(shí)可實(shí)現(xiàn)。
在多重 ADC 模式下,通過(guò) ADC1 主器件到 ADC2 和 ADC3 從器件的交替觸發(fā)或同時(shí)觸發(fā)來(lái)啟動(dòng)轉(zhuǎn)換。
可實(shí)現(xiàn)以下四種模式:
● 注入同時(shí)模式
● 規(guī)則同時(shí)模式
● 交替模式
● 交替觸發(fā)模式
也可按以下方式組合使用上述模式:
● 注入同時(shí)模式 + 規(guī)則同時(shí)模式
● 規(guī)則同時(shí)模式 + 交替觸發(fā)模式
ADC轉(zhuǎn)換模式(單次、連續(xù))
AD 轉(zhuǎn)換包括采樣階段和轉(zhuǎn)換階段。
在采樣階段才對(duì)通道數(shù)據(jù)進(jìn)行采集。
在轉(zhuǎn)換階段只是將采集到的數(shù)據(jù)進(jìn)行轉(zhuǎn)換為數(shù)字量輸出,此刻通道數(shù)據(jù)變化不會(huì)改變轉(zhuǎn)換結(jié)果。
轉(zhuǎn)換模式分為單次轉(zhuǎn)換模式和連續(xù)轉(zhuǎn)換模式。
單次轉(zhuǎn)換模式:ADC執(zhí)行一次轉(zhuǎn)換后停止。
連續(xù)轉(zhuǎn)換模式:ADC結(jié)束一個(gè)轉(zhuǎn)換后立即啟動(dòng)一個(gè)新的轉(zhuǎn)換。
ADC結(jié)果的讀取方式(中斷、DMA)
單通道采集時(shí),可在AD轉(zhuǎn)換后通過(guò)中斷,在中斷服務(wù)函數(shù)中讀取數(shù)據(jù)。
多通道采集時(shí),可使用DMA傳輸。
單通道獨(dú)立模式ADC電壓采集
初始化配置ADC的順序:
初始化模擬量引腳為模擬輸入模式。
使能GPIO時(shí)鐘。
調(diào)用函數(shù)ADC_CommonInit()。配置ADC Common 結(jié)構(gòu)體,設(shè)置通用ADC為獨(dú)立模式,采用4分頻(一般是4分頻)。
調(diào)用函數(shù)ADC_Init()。配置ADC Init結(jié)構(gòu)體,設(shè)置為禁止掃描模式,使用軟件觸發(fā),1個(gè)通道。
調(diào)用函數(shù)ADC_RegularChannelConfig()。配置 ADC 轉(zhuǎn)換通道順序及采樣時(shí)間。
調(diào)用函數(shù)ADC_ITConfig()。配置使能 ADC 轉(zhuǎn)換完成中斷,在中斷內(nèi)讀取轉(zhuǎn)換完數(shù)據(jù)。
調(diào)用函數(shù)NVIC_Init()。配置中斷優(yōu)先級(jí)分組和優(yōu)先級(jí)配置。
調(diào)用ADC_Cmd()。使能ADC轉(zhuǎn)換。
調(diào)用函數(shù)ADC_SoftwareStartConv()。使能軟件觸發(fā)ADC轉(zhuǎn)換,開(kāi)啟轉(zhuǎn)換。
多通道ADC
需要注意的是,如果單片機(jī)支持3個(gè)ADC,則可以同時(shí)獨(dú)立用3個(gè)ADC對(duì)3個(gè)通道的模擬量進(jìn)行轉(zhuǎn)換。但如果需要轉(zhuǎn)換超過(guò)3個(gè)通道的模擬量,則需要同時(shí)啟用DMA進(jìn)行傳輸。
ADC(Analog-to-Digital Converter)為模擬數(shù)字轉(zhuǎn)換器(或稱AD轉(zhuǎn)換器)的簡(jiǎn)稱。ADC是將模擬量轉(zhuǎn)換為數(shù)字量的器件,常見(jiàn)的應(yīng)用是將連續(xù)變化的電壓值轉(zhuǎn)換為數(shù)字量。原理是采樣原理,可以簡(jiǎn)單理解為,以一定的頻率采樣電壓值,使連續(xù)值變?yōu)殡x散值,也就得到了若干數(shù)字量。
12 位 ADC 是逐次趨近型模數(shù)轉(zhuǎn)換器。它具有多達(dá) 19 個(gè)復(fù)用通道,可測(cè)量來(lái)自 16 個(gè)外部源、兩個(gè)內(nèi)部源和 VBAT 通道的信號(hào)。這些通道的 A/D 轉(zhuǎn)換可在單次、連續(xù)、掃描或不連續(xù) 采樣模式下進(jìn)行。ADC 的結(jié)果存儲(chǔ)在一個(gè)左對(duì)齊或右對(duì)齊的 16 位數(shù)據(jù)寄存器中。
實(shí)際使用時(shí),不需要清楚其具體的實(shí)現(xiàn)原理,只需要知道如何配置其采集數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù)和傳輸數(shù)據(jù)的方式即可。
ADC分辨率(12位、10位、8位、6位)
可配置 12 位、10 位、8 位或 6 位分辨率。12位分辨率精度最高。
ADC通道(規(guī)則、注入)
STM32F4共有3個(gè)ADC轉(zhuǎn)換器ADC1、ADC2、ADC3,可以同時(shí)進(jìn)行3個(gè)模擬量的轉(zhuǎn)換。每個(gè)ADC轉(zhuǎn)換器又可以轉(zhuǎn)換多個(gè)引腳通道的模擬量,ADC1可以轉(zhuǎn)換PA0、PA1、PA3等引腳的模擬量,分時(shí)轉(zhuǎn)換多個(gè)通道的模擬量,即多通道。同時(shí),有的引腳(比如PA1)可以選用其中一個(gè)ADC轉(zhuǎn)換器(ADC1或ADC2或ADC3)進(jìn)行模擬量轉(zhuǎn)換,也可以用雙重或三重模式,使用兩個(gè)或以上ADC(比如ADC1和ADC3)交叉采集同一通道(比如PA1)的數(shù)據(jù)。
如表所示,ADC1、ADC2、ADC3分別對(duì)應(yīng)16個(gè)可用的通道。
ADC通道在轉(zhuǎn)換時(shí)分為規(guī)則通道和注入通道。
規(guī)則通道:最多支持16個(gè)通道。一般將使用的通道配置為規(guī)則通道。可以通過(guò)配置轉(zhuǎn)換序列決定通道轉(zhuǎn)換的順序。
注入通道:最多支持4個(gè)通道。可以優(yōu)先于規(guī)則通道搶先進(jìn)行AD轉(zhuǎn)換的一種通道。
ADC模式(獨(dú)立、雙重、三重)
ADC模式分為獨(dú)立模式、雙重模式和三重模式。
獨(dú)立模式:ADC轉(zhuǎn)換完1個(gè)通道的數(shù)據(jù)后才能轉(zhuǎn)換下一個(gè)通道的數(shù)據(jù)。
雙重模式:具有兩個(gè) ADC時(shí)可實(shí)現(xiàn)。
三重模式:具有三個(gè) ADC時(shí)可實(shí)現(xiàn)。
在多重 ADC 模式下,通過(guò) ADC1 主器件到 ADC2 和 ADC3 從器件的交替觸發(fā)或同時(shí)觸發(fā)來(lái)啟動(dòng)轉(zhuǎn)換。
可實(shí)現(xiàn)以下四種模式:
● 注入同時(shí)模式
● 規(guī)則同時(shí)模式
● 交替模式
● 交替觸發(fā)模式
也可按以下方式組合使用上述模式:
● 注入同時(shí)模式 + 規(guī)則同時(shí)模式
● 規(guī)則同時(shí)模式 + 交替觸發(fā)模式
ADC轉(zhuǎn)換模式(單次、連續(xù))
AD 轉(zhuǎn)換包括采樣階段和轉(zhuǎn)換階段。
在采樣階段才對(duì)通道數(shù)據(jù)進(jìn)行采集。
在轉(zhuǎn)換階段只是將采集到的數(shù)據(jù)進(jìn)行轉(zhuǎn)換為數(shù)字量輸出,此刻通道數(shù)據(jù)變化不會(huì)改變轉(zhuǎn)換結(jié)果。
轉(zhuǎn)換模式分為單次轉(zhuǎn)換模式和連續(xù)轉(zhuǎn)換模式。
單次轉(zhuǎn)換模式:ADC執(zhí)行一次轉(zhuǎn)換后停止。
連續(xù)轉(zhuǎn)換模式:ADC結(jié)束一個(gè)轉(zhuǎn)換后立即啟動(dòng)一個(gè)新的轉(zhuǎn)換。
ADC結(jié)果的讀取方式(中斷、DMA)
單通道采集時(shí),可在AD轉(zhuǎn)換后通過(guò)中斷,在中斷服務(wù)函數(shù)中讀取數(shù)據(jù)。
多通道采集時(shí),可使用DMA傳輸。
單通道獨(dú)立模式ADC電壓采集
初始化配置ADC的順序:
初始化模擬量引腳為模擬輸入模式。
使能GPIO時(shí)鐘。
調(diào)用函數(shù)ADC_CommonInit()。配置ADC Common 結(jié)構(gòu)體,設(shè)置通用ADC為獨(dú)立模式,采用4分頻(一般是4分頻)。
調(diào)用函數(shù)ADC_Init()。配置ADC Init結(jié)構(gòu)體,設(shè)置為禁止掃描模式,使用軟件觸發(fā),1個(gè)通道。
調(diào)用函數(shù)ADC_RegularChannelConfig()。配置 ADC 轉(zhuǎn)換通道順序及采樣時(shí)間。
調(diào)用函數(shù)ADC_ITConfig()。配置使能 ADC 轉(zhuǎn)換完成中斷,在中斷內(nèi)讀取轉(zhuǎn)換完數(shù)據(jù)。
調(diào)用函數(shù)NVIC_Init()。配置中斷優(yōu)先級(jí)分組和優(yōu)先級(jí)配置。
調(diào)用ADC_Cmd()。使能ADC轉(zhuǎn)換。
調(diào)用函數(shù)ADC_SoftwareStartConv()。使能軟件觸發(fā)ADC轉(zhuǎn)換,開(kāi)啟轉(zhuǎn)換。
多通道ADC
需要注意的是,如果單片機(jī)支持3個(gè)ADC,則可以同時(shí)獨(dú)立用3個(gè)ADC對(duì)3個(gè)通道的模擬量進(jìn)行轉(zhuǎn)換。但如果需要轉(zhuǎn)換超過(guò)3個(gè)通道的模擬量,則需要同時(shí)啟用DMA進(jìn)行傳輸。
- 上一篇:沒(méi)有啦
- 下一篇:OPA350/SCOPA350/2350系列高速單電源軌至軌 2022/8/26