版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
D/A
與A/D
轉(zhuǎn)換技術(shù)7.1D/A轉(zhuǎn)換基礎(chǔ)7.2STM32的DAC7.3D/A轉(zhuǎn)換基礎(chǔ)7.4STM32的ADC組習(xí)題7
本章要點
☆D/A轉(zhuǎn)換器工作原理
☆D/A轉(zhuǎn)換器主要技術(shù)指標(biāo)
☆STM32的DAC功能和轉(zhuǎn)換方法
☆STM32的DAC應(yīng)用
☆A(yù)/D轉(zhuǎn)換器的工作原理
☆A(yù)/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)
☆STM32的ADC功能和工作模式
☆STM32的ADC轉(zhuǎn)換方法
☆STM32的ADC應(yīng)用
將模擬信號轉(zhuǎn)換成數(shù)字信號的裝置稱為模/數(shù)轉(zhuǎn)換器(簡稱ADC);將數(shù)字信號轉(zhuǎn)換成模擬信號的裝置稱為數(shù)/模轉(zhuǎn)換器(簡稱DAC)。
微型計算機完成測量與控制任務(wù)的工作過程如圖7.1
所示。
在微機控制系統(tǒng)中,D/A轉(zhuǎn)換器是計算機與被控制設(shè)備之間傳輸信息時必不可少的橋梁,擔(dān)負(fù)著把數(shù)字量轉(zhuǎn)換成模擬量的任務(wù)。D/A轉(zhuǎn)換器按處理數(shù)據(jù)的位數(shù)不同,可分為8位、10
位、12
位和16
位等轉(zhuǎn)換器。圖7.1微型計算機完成測量與控制任務(wù)的工作過程
7.1.1轉(zhuǎn)換原理
D/A轉(zhuǎn)換器的作用是將數(shù)字量轉(zhuǎn)換成模擬量,它的基本要求是輸出電壓VO
應(yīng)和輸入數(shù)字量成正比,即
典型的D/A轉(zhuǎn)換器芯片通常由模擬開關(guān)、電阻網(wǎng)絡(luò)以及緩沖電路組成,如圖7.2
所示。電阻網(wǎng)絡(luò)是D/A轉(zhuǎn)換器的核心部件,主要有加權(quán)電阻網(wǎng)絡(luò)和“T”形電阻網(wǎng)絡(luò)兩種結(jié)構(gòu)形式。圖7.2
D/A轉(zhuǎn)換器結(jié)構(gòu)框圖
1.
加權(quán)電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器的工作原理
圖7.3
所示的是加權(quán)電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器的原理圖,根據(jù)運算放大器原理,放大器輸入電流是通過各個電阻的電流總和。而通過各電阻的電流又是由各位二進制數(shù)字所對應(yīng)的開關(guān)控制。放大器的輸出電壓應(yīng)為
其中V
REF為參考電壓,R
F=R,D
1
~D
n
為輸入的二進制數(shù)字,其取值為0
時相應(yīng)的開關(guān)斷開,實際電路中的開關(guān)是CMOs電子開關(guān)。圖7.3加權(quán)電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器原理
2.
T形電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器的工作原理
T形電阻網(wǎng)絡(luò)采用分流的原理實現(xiàn)對數(shù)字量的轉(zhuǎn)換。在圖7.4
中只有兩種電阻R和2R,用集成工藝生產(chǎn)較容易,精度也容易保證,因此應(yīng)用比較廣泛。根據(jù)運算放大器特性,運放的反向輸入端看作虛地,則各節(jié)點D
1~D
n
對地的等效電阻都是R。
如果開關(guān)接入運算放大器反相輸入端,則流經(jīng)各個開關(guān)的電流大小滿足如下關(guān)系:
取反饋電阻R
F=R,則輸出電壓為圖7.4
T形電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器原理
實際電路中各開關(guān)由二進制輸入的各位來控制。因此對于任意的二進制數(shù)字輸出,對應(yīng)的模擬輸出電壓為
其中最高位D
n
稱為最高有效位,最低位D
1
稱為最低有效位。
7.1.2
D/A轉(zhuǎn)換器的主要性能指標(biāo)
D/A轉(zhuǎn)換器的主要性能指標(biāo)有分辨率、轉(zhuǎn)換精度、建立時間、溫度系數(shù)、非線性誤差等,它們都是衡量D/A轉(zhuǎn)換器技術(shù)指標(biāo)的重要參數(shù)。
1.
分辨率
分辨率是指D/A轉(zhuǎn)換器對數(shù)字輸入量變化的敏感程度的度量,它是D/A轉(zhuǎn)換器所能分辨的最小的輸入量,通常用數(shù)字量的位數(shù)來表示,如8
位、12
位等。
2.
轉(zhuǎn)換精度
轉(zhuǎn)換精度反映了D/A轉(zhuǎn)換器的精確程度。它與D/A轉(zhuǎn)換器芯片結(jié)構(gòu)、外部電路配置、電源等因素有關(guān)。轉(zhuǎn)換精度又分為絕對轉(zhuǎn)換精度和相對轉(zhuǎn)換精度。
絕對轉(zhuǎn)換精度是以理想狀態(tài)為參照,即D/A轉(zhuǎn)換器的實際輸出值與理論的理想值之間的差值,一般應(yīng)低于1/2LsB。
3.
建立時間
D/A轉(zhuǎn)換器的建立時間也稱轉(zhuǎn)換時間,是對D/A轉(zhuǎn)換器轉(zhuǎn)換速度快慢的敏感性能描述指標(biāo),即當(dāng)輸入數(shù)據(jù)發(fā)生變化后,輸出模擬量達(dá)到穩(wěn)定數(shù)值,也即進入規(guī)定的精度范圍內(nèi)所需要的時間。
4.
溫度系數(shù)
溫度系數(shù)是D/A轉(zhuǎn)換器受環(huán)境溫度影響的特征。
5.
非線性誤差
非線性誤差也稱為線性度,它是指實際轉(zhuǎn)換特性曲線與理想轉(zhuǎn)換特性曲線之間的最大偏差。一般要求非線性誤差的絕對值不大于1/2LsB。非線性誤差越小,說明線性度越好,D/A轉(zhuǎn)換器輸出的模擬量與理想值的偏差就越小。
7.2
STM32的DAC
7.2.1
STM32DAC功能簡介
STM32的DAC模塊(數(shù)字/模擬轉(zhuǎn)換模塊)是12
位數(shù)字輸入、電壓輸出型DAC??梢耘渲贸?
位或12
位模式,也可以與DMA控制器配合使用。DAC工作在12
位模式時,數(shù)據(jù)可以設(shè)置成左對齊或右對齊。DAC模塊有兩個輸出通道,每個通道都有獨立的轉(zhuǎn)換器。在雙DAC模式下,兩個通道可以獨立地進行轉(zhuǎn)換,也可以同時進行轉(zhuǎn)換并同步更新兩個通道的輸出。DAC可以通過引腳輸入?yún)⒖茧妷篤
REF+
以獲得更精確的轉(zhuǎn)換結(jié)果。
STM32的DAC模塊主要有以下特點:
·兩個DAC轉(zhuǎn)換器:每個轉(zhuǎn)換器對應(yīng)1
個輸出通道;
·12
位模式下,數(shù)據(jù)左對齊或右對齊;
·三角波、噪聲生成;
·兩個DAC通道同時或分步轉(zhuǎn)換;
·每個通道都有DMA功能;
·外部觸發(fā)轉(zhuǎn)換;
·外部可輸入?yún)⒖茧妷篤
REF+
。
單個通道的DAC框圖如圖7.5
所示。圖中V
DDA為模擬電源,V
ssA為模擬電源地,V
REF+為參考電源,DAC_OUTx為DAC通道x的模擬量輸出(PA4
或PA5
引腳),EXIT_9為外部觸發(fā)引腳。圖7.5
STM32DAC通道模塊框圖
數(shù)字輸入經(jīng)過DAC被線性地轉(zhuǎn)換為模擬電壓輸出,其范圍為0
到V
REF+
。DAC通道引腳上的輸出電壓滿足下面的關(guān)系:
其中V
O
是DAC輸出的模擬電壓,DOR
為數(shù)字量輸出。
【例7.1】假設(shè)V
REF+
為3.3
V,D/A轉(zhuǎn)換位數(shù)n=12,試求當(dāng)DOR=2000
時,輸出的模擬電壓V
O
等于多少?
7.2.2
STM32DAC的工作模式
1.
DAC的觸發(fā)
STM32DAC的啟動方式可以設(shè)置為觸發(fā)啟動或非觸發(fā)啟動,由DAC控制寄存器(DAC_CR)中的TENx位決定(x表示DAC的通道,1
或2)。
當(dāng)TENx=0
時關(guān)閉通道x的觸發(fā),存入DHRx寄存器的數(shù)據(jù)會在一個APB1
時鐘周期內(nèi)自動轉(zhuǎn)存到DORx寄存器中,在經(jīng)過時間TsETTLING之后,輸出即有效,這段時間的長短依電源電壓和模擬輸出負(fù)載的不同會有所變化。時序圖如圖7.6
所示。
7.6
DAC數(shù)據(jù)轉(zhuǎn)換時序圖
軟件觸發(fā):對DAC_ssWTRIGR寄存器中的sWTRIGx
位置1
可以使能一次軟件觸發(fā),當(dāng)數(shù)據(jù)傳入DORx寄存器后的一個APB1
周期,該位由硬件自動置0。
定時器觸發(fā):對DAC_CR的TsEL1[2:0]位進行配置,可以選擇TIM2、TIM4、TIM5、TIM6、TIM7
和TIM8
定時器觸發(fā),當(dāng)選定的定時器發(fā)生事件后,產(chǎn)生一次定時器觸發(fā),啟動一次DAC轉(zhuǎn)換。
外部中斷觸發(fā):對DAC_CR的TsEL1[2:0]位進行配置,可以選擇外部中斷線9
觸發(fā),當(dāng)該線路發(fā)生指定事件后,使能一次外部中斷觸發(fā),啟動一次DAC轉(zhuǎn)換。
2.
DAC的波形輸出模式
STM32的DAC有3
種輸出模式,分別是關(guān)閉波形輸出、三角波輸出和噪聲輸出。波形輸出模式受DAC_CR寄存器中WAVE1[1:0]位控制,關(guān)閉波形輸出時,用戶可根據(jù)需要自定義波形輸出。
1)三角波輸出
選擇三角波輸出時可在一個基值上疊加一個小幅度的三角波。選擇DAC的三角波生成功能,在DAC_CR寄存器MAMP1[3:0]位中設(shè)置三角波的幅度。DAC內(nèi)部的三角波計數(shù)器在每次觸發(fā)事件之后的3
個APB1
時鐘周期后累加1。計數(shù)器的值與DAC_DHRx寄存器的數(shù)值相加并丟棄溢出位的數(shù)據(jù)后寫入DAC_DORx寄存器。在傳入DAC_DORx寄存器的數(shù)值小于設(shè)置的最大幅度時,三角波計數(shù)器逐步累加。一旦達(dá)到設(shè)置的最大幅度,則計數(shù)器開始遞減,到0
后再開始累加,周而復(fù)始。三角波生成的示意圖如圖7.7
所示。圖7.7
DAC生成三角波的示意圖
2)噪聲輸出
可以利用線性反饋移位寄存器(LFsR)產(chǎn)生幅度變化的偽噪聲。選擇DAC噪聲生成功能,在DAC_CR寄存器MAMP1[3:0]位中設(shè)置噪聲的屏蔽位,可改變噪聲幅度。LFsR的預(yù)裝入值為0xAAA。按照特定算法,在每次觸發(fā)事件后3
個APB1
時鐘周期之后更新該寄存器的值。設(shè)置DAC_CR寄存器的MAMP1[3:0]位可以屏蔽部分或者全部LFsR的數(shù)據(jù),這樣得到的LsFR
值與DAC_DHRx的數(shù)值相加,去掉溢出位之后即被寫入DAC_DORx寄
存器。
3.
DAC的輸出緩存
STM32的DAC集成了2
個輸出緩存,可以用來減少輸出阻抗,無需外部運放即可直接驅(qū)動外部負(fù)載。每個DAC通道輸出緩存可以通過設(shè)置DAC_CR寄存器的BOFFx
位來使能或者關(guān)閉。
7.2.3
STM32DAC的轉(zhuǎn)換
1.
DAC數(shù)據(jù)格式
STM32的DAC是12
位的數(shù)字輸入,它可配置為8
位和12
位,也可配置為單通道和雙通道,在12
位模式下具有左對齊和右對齊兩種格式以適應(yīng)不同格式的用戶數(shù)據(jù)。單通道和雙通道數(shù)據(jù)格式如圖7.8
所示,下面分別進行介紹。圖7.8
DAC數(shù)據(jù)格式
1)單DAC通道
8
位數(shù)據(jù)右對齊:數(shù)據(jù)寫入寄存器DAC_DHR8Rx[7:0]位(實際是寫入寄存器DHRx[11:4]位)。
12
位數(shù)據(jù)左對齊:數(shù)據(jù)寫入寄存器DAC_DHR12Lx[15:4]位(實際是寫入寄存器DHRx[11:0]位)。
12
位數(shù)據(jù)右對齊:數(shù)據(jù)寫入寄存器DAC_DHR12Rx[11:0]位(實際是寫入寄存器DHRx[11:0]位)。
2)雙DAC通道
8
位數(shù)據(jù)右對齊:將DAC1
數(shù)據(jù)寫入寄存器DAC_DHR8RD[7:0]位(實際是存入寄存器DHR1[11:4]位),將DAC2
數(shù)據(jù)寫入寄存器DAC_DHR8RD[15:8]位(實際是存入寄存器DHR2[11:4]位)。
12
位數(shù)據(jù)左對齊:將DAC1
數(shù)據(jù)寫入寄存器DAC_DHR12LD[15:4]位(實際是存入寄存器DHR1[11:0]位),將DAC2
數(shù)據(jù)寫入寄存器DAC_DHR12LD[31:20]位(實際是存入寄存器DHR2[11:0]位)。
12
位數(shù)據(jù)右對齊:將DAC1
數(shù)據(jù)寫入寄存器DAC_DHR12RD[11:0]位(實際是存入寄
存器DHR1[11:0]位),將DAC2
數(shù)據(jù)寫入寄存器DAC_DHR12RD[27:16]位(實際是存入寄存器DHR2[11:0]位)。
根據(jù)對DAC_DHRyyyD
寄存器的操作,經(jīng)過相應(yīng)的移位后,寫入的數(shù)據(jù)被轉(zhuǎn)存到DHR1
和DHR2
寄存器中(DHR1
和DHR2
是內(nèi)部的數(shù)據(jù)保存寄存器x)。隨后,DHR1和DHR2
的內(nèi)容或被自動地傳送到DORx寄存器,或通過軟件觸發(fā)或外部事件觸發(fā)被傳送到DORx寄存器。2.
DAC轉(zhuǎn)
2.
DAC轉(zhuǎn)換
不能直接對寄存器DAC_DORx寫入數(shù)據(jù),任何輸出到DAC通道x的數(shù)據(jù)都必須寫入DAC_DHRx寄存器(數(shù)據(jù)實際寫入DAC_DHR8Rx、DAC_DHR12Lx、DAC_DHR12Rx、DAC_DHR8RD、DAC_DHR12LD
或者DAC_DHR12RD
寄存器)。
如果通道觸發(fā)設(shè)置為禁止,用戶在設(shè)置數(shù)據(jù)格式并賦值時,DAC會自動啟動數(shù)模轉(zhuǎn)換,輸出DOR
寄存器所對應(yīng)的模擬量;如果通道觸發(fā)設(shè)置為定時器觸發(fā)或外部中斷觸發(fā),在相應(yīng)事件發(fā)生后,也會自動啟動數(shù)模轉(zhuǎn)換,輸出DOR
寄存器所對應(yīng)的模擬量;如果通道觸發(fā)設(shè)置為軟件觸發(fā),則需要用戶軟件觸發(fā)啟動DAC進行數(shù)模轉(zhuǎn)換。
3.
DAC使能
將DAC_CR寄存器的Enx位置1
即可使DAC通道x供電。過一段啟動時間,DAC通道x才會被使能。同其他外設(shè)一樣,要想使用,必須先開啟相應(yīng)的時鐘。STM32的DAC模塊時鐘是由APB1
提供的。
4.
DMA請求
STM32的DAC2
個通道都具有DMA功能。2
個DMA通道可分別用于2
個DAC通道的DMA請求。如果將DAC_CR寄存器中的DMAEnx位置1,一旦有外部觸發(fā)(而不是軟件觸發(fā))發(fā)生,則產(chǎn)生一個DMA請求,將指定地址中的數(shù)據(jù)存入DAC_DHRx寄存器中,隨后數(shù)據(jù)被傳送到DAC_DORx寄存器,啟動DAC轉(zhuǎn)換輸出。查STM32數(shù)據(jù)手冊可知,DAC通道1
與DMA2
的通道3
對應(yīng),DAC通道2
與DMA2
的通道4
對應(yīng)。
7.2.4
STM32DAC的應(yīng)用
1.
STM32DAC硬件電路
STM32的DAC集成在芯片內(nèi)部,因此它的硬件電路非常簡單,如圖7.9
所示。其內(nèi)部帶運算放大器,具有一定的負(fù)載能力,開啟輸出緩沖使能可以增加帶負(fù)載
能力。一旦使能DACx通道,相應(yīng)的GPIO(PA4
或PA5)引腳就會自動與DAC的模擬輸出相連。圖7.9
DAC硬件電路
2.
開啟DAC輸出的步驟
要正確使用STM32的DAC,需要對相應(yīng)的GPIO
引腳、系統(tǒng)時鐘、DAC控制寄存器等進行一系列的設(shè)置,如果使用了定時器觸發(fā)、外部中斷觸發(fā)和DMA功能,還需要對這些外設(shè)進行配置。下面以軟件觸發(fā)DAC通道1
產(chǎn)生三角波為例,講述使用DAC的一般步驟。
1)GPIO
引腳配置
STM32的DAC通道1
模擬量輸出在PA4
引腳上,因此需要先使能PORtA的時鐘,并將PA4
引腳配置為模擬量輸入。DAC本身是輸出,將PA4
引腳配置為模擬量輸入是為了避免額外的干擾和降低功耗。
3.
DAC應(yīng)用的軟件設(shè)計
下面通過幾個應(yīng)用實例,進一步了解和掌握STM32DAC應(yīng)用的具體方法。
【例7.1】在DAC通道1
上自定義輸出方波,通道觸發(fā)關(guān)閉。
【例7.2】使用軟件觸發(fā)方式,在DAC通道1
上產(chǎn)生正弦波,DAC通道2
上產(chǎn)生鋸齒波。
【例7.3】使用定時器2
觸發(fā),在DAC通道1
上產(chǎn)生三角波,通道2
上產(chǎn)生噪聲。
【例7.4】用DMA的方式在ADC通道1
上產(chǎn)生正弦波,選擇定時器2
觸發(fā)。
7.3A∕D
轉(zhuǎn)換基礎(chǔ)
7.3.1A∕D
轉(zhuǎn)換原理在A/D轉(zhuǎn)換中,因為輸入的模擬信號在時間上是連續(xù)的,而輸出的數(shù)字信號是離散量,所以進行轉(zhuǎn)換時只能按一定的時間間隔對輸入的模擬信號進行采樣,然后再把采樣值轉(zhuǎn)換為數(shù)字量輸出。通常A/D轉(zhuǎn)換需要經(jīng)過采樣、保持、量化、編碼四個步驟。
1.
采樣和保持
A/D轉(zhuǎn)換需要一定的時間,在轉(zhuǎn)換過程中,如果輸入到ADC的模擬量發(fā)生變化,則不能保證轉(zhuǎn)換精度。為此,需要在ADC前加入采樣保持電路,最基本的采樣保持器電路如圖7.10
所示。采樣時,V
C
為高電平,開關(guān)s
導(dǎo)通,模擬信號V
in通過s
向電容CH充電,如果電容CH
電容值很小,電容可以在很短的時間內(nèi)完成充放電,輸出電壓V
O
跟蹤輸入模擬信號的變化。保持時,V
C
為低電平,開關(guān)s
斷開,由于集成運放的輸入阻抗高,電容放電緩慢,輸出電壓V
O
保持在模擬開關(guān)斷開瞬間的輸入信號值。圖7.10基本的采樣保持器電路圖
在進行數(shù)據(jù)采集之前,需要確定采樣頻率:即在一段固定時間內(nèi)采集數(shù)據(jù)的點數(shù)。采樣頻率是一個很重要的參數(shù),采樣頻率越高,采樣越密,單位時間內(nèi)的采樣值越多,采樣信號就越接近輸入信號的波形,如圖7.11
所示。圖7.11采樣和保持波形示意圖
2.
量化與編碼
輸入的模擬電壓信號經(jīng)過采樣和保持后,得到的是階梯波,而階梯波仍是一個模擬信號。量化就是用基本量化單位的個數(shù)來表示采樣到的模擬信號的幅值,從而實現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換,這個過程也稱為量化過程。編碼是把已經(jīng)量化的模擬值用二進制、BCD或其他碼來表示,這個過程稱為編碼。
例如,一個12
位的A/D轉(zhuǎn)換器,把輸入電壓分成了4096
等份,若量程為0~3.3
V,則量化單位Δ為
由于模擬電壓信號在數(shù)值上是連續(xù)的,不一定被量化單位Δ整除,所以在量化過程中就可能引入誤差量。A/D轉(zhuǎn)換器的位數(shù)越多,量化的誤差就越小。例如10
位的A/D轉(zhuǎn)換器最小量化誤差為
由此可見,A/D轉(zhuǎn)換器的位數(shù)越多,量化等級越細(xì),量化誤差越小。量化時對誤差有兩種處理方法:只舍不入和有舍有入。只舍不入是將不足一個量化單位的尾數(shù)去掉,取原整數(shù),誤差相對較大。有舍有入是當(dāng)尾數(shù)小于Δ/2
時用舍尾取整法得其量化值,當(dāng)尾數(shù)大于Δ/2
用舍尾入整法得其量化值。
7.3.2A∕D
轉(zhuǎn)換器分類
隨著大規(guī)模、超大規(guī)模集成電路技術(shù)的飛速發(fā)展,A/D轉(zhuǎn)換器的設(shè)計思想和制作技術(shù)層出不窮。為了滿足不同檢測和控制任務(wù)的需求,大量結(jié)構(gòu)不同、性能各異的A/D轉(zhuǎn)換器應(yīng)運而生。盡管A/D轉(zhuǎn)換器的種類很多,但目前應(yīng)用較為廣泛的主要有三種類型:逐次逼近型A/D轉(zhuǎn)換器、雙積分型A/D轉(zhuǎn)換器和V/F變換型A/D轉(zhuǎn)換器。下面簡要介紹這三種A/D轉(zhuǎn)換器的基本原理。
1.
逐次逼近型A/D轉(zhuǎn)換器的基本原理
逐次逼近型A/D轉(zhuǎn)換器是較為常用的一種A/D轉(zhuǎn)換器。它由比較器、參考電源、D/A轉(zhuǎn)換器、逐次逼近寄存器與控制邏輯等部分組成。圖7.12逐次逼近型A/D轉(zhuǎn)換器的基本原理
2.
雙積分型A/D轉(zhuǎn)換器的基本原理
雙積分型A/D轉(zhuǎn)換器是一種高精度、低速度的轉(zhuǎn)換器件,在各種實時性要求不高的測量儀表中有廣泛應(yīng)用。其基本原理是:把待轉(zhuǎn)換的模擬電壓V
A
變換成與之成比例的時間,并在此時間內(nèi)用恒定頻率的脈沖去計數(shù),這樣就將其轉(zhuǎn)換為數(shù)字n;n
和V
A
也成正比,也稱為模擬電壓—時間間隔—數(shù)字量轉(zhuǎn)換原理。雙積分型A/D轉(zhuǎn)換器的電路結(jié)構(gòu)如圖7.13
所示,它由積分器、計數(shù)器、比較器和邏輯控制電路組成。圖7.13雙積分型A/D轉(zhuǎn)換器的電路結(jié)構(gòu)圖
雙積分型A/D轉(zhuǎn)換器的工作原理如圖7.14
所示。轉(zhuǎn)換器先將計數(shù)器復(fù)位,積分電容C完全放電后,其工作分為兩個階段:
在第一階段,首先對輸入模擬電壓進行固定時間的積分,積分結(jié)束后積分器的輸出電壓為V;然后在此基礎(chǔ)上對該電壓按照一個固定的斜率(取決于參考電壓)進行第二階段的反向積分,并記錄積分器輸出由V
降為0
的時間。圖7.14雙積分型A/D轉(zhuǎn)換器的工作原理
雙積分型A/D轉(zhuǎn)換過程中進行兩次積分,具有如下優(yōu)點:
·抗干擾能力強。尤其對工頻干擾有較強的抑制作用,只要選擇定時器積分時間為20ms
的整數(shù)倍即可。
·具有較高的轉(zhuǎn)換精度。這主要取決于計數(shù)脈沖周期,計數(shù)脈沖頻率越高,計數(shù)精度也就越高。
·電路結(jié)構(gòu)簡單。對積分元件R、C參數(shù)精度要求不高,只要穩(wěn)定性好即可。
·編碼方便。數(shù)字量輸出既可以是二進制,也可以是BCD碼,僅取決于計數(shù)器的計數(shù)規(guī)律。
3.
V/F變換型A/D轉(zhuǎn)換器的基本原理
V/F變換是把電壓信號轉(zhuǎn)變?yōu)轭l率信號,其核心部件是電壓—頻率(V/F)變換器。它是將待轉(zhuǎn)換的模擬電壓信號先變換為脈沖信號,該脈沖信號的頻率與信號幅值成正比,然后在一段標(biāo)準(zhǔn)時間內(nèi),用計數(shù)器累計所產(chǎn)生的脈沖數(shù),從而實現(xiàn)A/D轉(zhuǎn)換,這就是電壓—頻率—數(shù)字轉(zhuǎn)換原理。
V/F變換器內(nèi)部電路圖如圖7.15(a)所示。圖7.15
V/F變換器
圖7.16
給出了完整的V/F變換型A/D轉(zhuǎn)換器的工作原理圖。時基電路產(chǎn)生若干精確的時間間隔,即時基信號,通常取10
s、1
s
或0.1
s
等。計數(shù)器的計數(shù)值經(jīng)鎖存器鎖存后輸出,完成A/D轉(zhuǎn)換全部過程。圖7.16
V/F變換型A/D轉(zhuǎn)換器的工作原理圖
V/F變換型A/D轉(zhuǎn)換器具有以下優(yōu)點:
·由于應(yīng)用了積分電容,具有很好的抗干擾性。V/F變換本身是一個積分過程,用V/F變換器實現(xiàn)A/D變換就是頻率計數(shù)過程,相當(dāng)于在計數(shù)時間內(nèi)對頻率信號進行積分,因而具有較強的抗干擾能力。
·具有良好的線性度和較高的分辨率。數(shù)字位數(shù)與時基信號持續(xù)時間T有關(guān),T越長,則轉(zhuǎn)換數(shù)字量的位數(shù)就越多。
·電路結(jié)構(gòu)簡單。對外接電容C要求不高,只要求保持良好的穩(wěn)定性即可。
·接口簡單、占用計算機硬件資源少。頻率信號可輸入CPU的任一個I/O端口或作為中斷及計數(shù)輸入等。
·便于遠(yuǎn)距離傳輸。由于頻率量是開關(guān)信號,因此可以長距離傳輸而不受干擾。
由于以上這些特點,V/F變換器應(yīng)用于一些非快速而需進行較長距離信號傳輸?shù)模粒疍轉(zhuǎn)換過程,此外還可以簡化電路、降低成本、提高性價比。
上述三種A/D轉(zhuǎn)換方法各有特點,不同的性能使它們各自適用于不同的應(yīng)用場合。雙積分型ADC屬于間接轉(zhuǎn)換,其特點是精度高、價格便宜,抗干擾能力強,但轉(zhuǎn)換速率較低。由于雙積分型ADC是利用平均值轉(zhuǎn)換,因此對于常態(tài)干擾的抑制能力較強,常用于數(shù)字電壓表等低速場合。
7.3.3
A/D
轉(zhuǎn)換性能指標(biāo)
A/D
轉(zhuǎn)換可以有多種實現(xiàn)方式,但它們的性能特點和價格有很大差異。因此在選用時應(yīng)注意各種A/D轉(zhuǎn)換器的主要性能是否滿足應(yīng)用要求,以及在價格上是否合理。AD
轉(zhuǎn)換器的性能指標(biāo)主要有以下幾個方面。
1.
分辨率
ADC的分辨率是指能分辨的輸入模擬量的最小值,即輸出數(shù)字量最低位LSB
由1→0或由0→1
變化時輸入模擬量變化的最小值,是A/D輸出的二進制或十進制數(shù)的位數(shù),也是A/D轉(zhuǎn)換器理論上能達(dá)到的精度。分辨率通常用二進制位數(shù)來表示。
2.
轉(zhuǎn)換速率
ADC的轉(zhuǎn)換速率就是能夠重復(fù)進行數(shù)據(jù)轉(zhuǎn)換的速度,即每秒轉(zhuǎn)換的次數(shù)。而完成一次A/D轉(zhuǎn)換所需要的時間,則是轉(zhuǎn)換速率的倒數(shù)。ADC的轉(zhuǎn)換速率與A/D轉(zhuǎn)換原理相關(guān),雙積分型ADC轉(zhuǎn)換速率較慢,而逐次逼近型ADC轉(zhuǎn)換速率較快。
3.
量化誤差
量化誤差是由ADC的有限分辨率所引起的誤差。A/D轉(zhuǎn)換的結(jié)果只能是有限數(shù)量的定值,而模擬信號的取值則是無限的。一個分辨率有限的ADC的階梯狀輸入輸出特性曲線與具有無限分辨率的ADC輸入輸出特性曲線(直線)之間的最大偏差,稱為量化誤差,如圖7.17
所示。
圖7.17
ADC的輸入輸出特性與量化誤差
4.
轉(zhuǎn)換精度
ADC的轉(zhuǎn)換精度有絕對精度和相對精度之分。
所謂絕對精度是指在ADC的整個量程范圍內(nèi),所對應(yīng)的模擬信號值與實際值之差的最大值,也就是ADC輸出數(shù)值偏離線性最大的距離,單位是LSB,它包括所有的誤差。相對精度是絕對精度與滿量程輸入信號的百分比。
應(yīng)當(dāng)注意,精度和分辨率是兩個不同概念。精度是指轉(zhuǎn)換后所得到的實際值相對于理論值的誤差或接近程度;而分辨率則是指能夠?qū)D(zhuǎn)換結(jié)果發(fā)生影響的最小輸入量。
引起ADC誤差的原因除了量化誤差以外,還有設(shè)備誤差。由ADC各種元件的非理想特性造成的誤差稱為設(shè)備誤差,主要有以下幾種。
(1)偏移誤差。偏移誤差指ADC的最低有效位為1
時,其實際輸入電壓與理論輸入電壓之差。
(2)滿刻度誤差。滿刻度誤差又稱為增益誤差。
(3)線性度。線性度有時也稱為非線性度,它是指ADC實際的輸入輸出特性曲線與理想直線的最大偏差。
7.3.4多通道數(shù)據(jù)采集
在計算機測量和控制系統(tǒng)中,很多時候需要對多種參數(shù)進行采集和控制,為了節(jié)省硬件,可以共用同一個A/D或D/A轉(zhuǎn)換器,實現(xiàn)多個回路的多參數(shù)的采集、轉(zhuǎn)換和控制。解決多個回路和A/D或D/A轉(zhuǎn)換器之間的切換問題的硬件設(shè)備稱作多路模擬開關(guān)。
圖7.18
所示是一個多回路分時共用A/D、D/A轉(zhuǎn)換器的多路模擬開關(guān)框圖。圖中,在模擬量輸入端和模擬量輸出端都分別用到了多路模擬開關(guān),但是兩個多路模擬開關(guān)作用不同。在模擬量輸入通道中實現(xiàn)的是“多選一”形式,即多路模擬開關(guān)的輸入是多路待轉(zhuǎn)換的模擬量,每次只能選其中的一路,該通路經(jīng)采樣保持器,送到A/D轉(zhuǎn)換器進行轉(zhuǎn)換后,送入計算機進行處理。在模擬量輸出通道中實現(xiàn)的是“一到多”形式,即D/A轉(zhuǎn)換器輸出的模擬控制信號,經(jīng)過多路模擬開關(guān)變換,被送到多個控制對象中的某一個上。圖7.18多回路分時共用A/D、D/A轉(zhuǎn)換器框圖
7.4
STM32的ADC
STM32芯片內(nèi)部集成有12
位的A/D轉(zhuǎn)換器,該ADC是一種逐次逼近型模/數(shù)轉(zhuǎn)換器。它有多達(dá)18
個通道,可測量16
個外部和2
個內(nèi)部信號源。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對齊或右對齊方式儲存在16
位的寄存器中。ADC的輸入時鐘不得超過14
MHZ,它是由PCLK2
經(jīng)分頻產(chǎn)生的。
7.4.1
STM32ADC功能簡介
·12
位分辨率
·轉(zhuǎn)換結(jié)束、注入轉(zhuǎn)換結(jié)束和發(fā)生模擬看門狗事件時產(chǎn)生中斷
·單次和連續(xù)轉(zhuǎn)換模式
·從通道0
到通道n
的自動掃描模式
·自校準(zhǔn)
·帶內(nèi)嵌數(shù)據(jù)一致性的數(shù)據(jù)對齊
·采樣間隔可以按通道分別設(shè)置
·規(guī)則轉(zhuǎn)換和注入轉(zhuǎn)換均有外部觸發(fā)選項
·間斷模式
·雙重模式(帶2
個或以上ADC的器件)
·ADC轉(zhuǎn)換時間:1μs~2μs
·ADC供電要求:2.4~3.6
V;
·ADC輸入范圍:V
REF-≤V
in≤V
REF+
·規(guī)則通道轉(zhuǎn)換期間有DMA請求產(chǎn)生
圖7.19
所示為一個ADC模塊的框圖,其引腳說明見表7.1。圖7.19
ADC模塊框圖
根據(jù)STM32產(chǎn)品不同,ADC轉(zhuǎn)換器個數(shù)不等,最多有3
個,分別是ADC1、ADC2和ADC3。每個ADC轉(zhuǎn)換器都可以獨立工作,分配了與之對應(yīng)的通道和I/O引腳,如表7.2
所示。例如通道0,描述為ADC123_In0,引腳PA0,表示使用PA0
引腳作為模擬量輸入的ADC通道0,ADC1、ADC2
和ADC3
都可以使用。通道16
為內(nèi)部溫度傳感器輸入,通道17為V
REFINT內(nèi)部參考電壓輸入,溫度傳感器和V
REFINT只能使用ADC1
進行轉(zhuǎn)換。
所有輸入通道被分成規(guī)則通道(最多16
通道)和注入通道(最多4
通道)兩類,注入通道的轉(zhuǎn)換結(jié)果分別存放于4
個16
位數(shù)據(jù)寄存器中,而所有的規(guī)則通道則共用一個16
位的數(shù)據(jù)寄存器。除此以外,兩通道的觸發(fā)控制和轉(zhuǎn)換結(jié)束的標(biāo)志信號都有不同,注入組的控制和狀態(tài)信號一般都以字母J開頭。
需要注意ADC3
的規(guī)則轉(zhuǎn)換和注入轉(zhuǎn)換與ADC1
和ADC2
的不同;TIM8_CH4
和TIM8_TRGO
及它們的重映射位只存在于大容量產(chǎn)品中。
7.4.2
STM32ADC的工作模式
STM32的ADC有多種轉(zhuǎn)換工作模式,功能十分強大。如圖7.20
所示,單通道單次轉(zhuǎn)換可用于系統(tǒng)初始時檢測某些外部條件是否滿足,從而決定系統(tǒng)是否啟動。而多通道連續(xù)轉(zhuǎn)換則在ADC初始化完成后經(jīng)一次觸發(fā)后自動連續(xù)轉(zhuǎn)換,CPU只需要在轉(zhuǎn)換完成后從ADC的數(shù)據(jù)寄存器中取走結(jié)果。在這些工作方式的支持下,STM32的ADC將許多原來由應(yīng)用軟件完成的工作變成由硬件實現(xiàn),大大簡化了應(yīng)用程序,節(jié)約了CPU的運行時間。
特別是在連續(xù)轉(zhuǎn)換工作模式下,配合DMA控制器可將A/D轉(zhuǎn)換結(jié)果自動搬運到指定的內(nèi)存空間,CPU不參與A/D轉(zhuǎn)換結(jié)果的讀取和轉(zhuǎn)換的啟動,讓ADC全自動化地工作,把CPU的負(fù)荷降到最低。圖7.20
STM32ADC的基本工作模式
1.
獨立ADC和雙ADC模式
含有2
個或以上ADC模塊的STM32產(chǎn)品,可以采用雙ADC模式,也可以采用獨立ADC模式。在獨立ADC模式下,每個ADC模塊可以獨立工作,但不能同步。在雙ADC模式下,可實現(xiàn)同步觸發(fā)和交替觸發(fā)等很多種不同模式。這些模式在STM32參考手冊中有詳細(xì)介紹。本節(jié)只討論獨立ADC模式。
2.
規(guī)則通道和注入通道
STM32的每個ADC模塊都是通過內(nèi)部的模擬多路開關(guān),切換到不同的輸入通道進行采樣與轉(zhuǎn)換。為了避免在程序中頻繁切換通道的麻煩,STM32引入了成組轉(zhuǎn)換的工作原理,可以由程序預(yù)先設(shè)置好待轉(zhuǎn)換的通道后,對多個模擬通道自動地進行逐個采樣和轉(zhuǎn)換。按照功能不同將輸入通道分成了規(guī)則通道組和注入通道組。
1)規(guī)則通道
規(guī)則通道組最多可以安排16
個通道,最少要安排1
個通道,多于1
個通道的稱為多通道數(shù)據(jù)采集,只有1
個通道的稱為單通道數(shù)據(jù)采集。規(guī)則通道組個數(shù)要寫入ADC_SQR1
寄存器的L[3:0]位中,而它們的轉(zhuǎn)換順序要寫入ADC_SQR1~ADC_SQR3
寄存器中,規(guī)則通道的觸發(fā)方式在ADC_CR2
寄存器中的EXTSEL[2:0]位中配置。
2)注入通道
注入通道組最多可以安排4
個通道,如果啟用注入通道,最少要安排1
個通道。注入通道的個數(shù)要寫入ADC_JSQR寄存器的L[1:0]位中,而它們的轉(zhuǎn)換順序要寫入ADC_JSQR
寄存器中,注入通道的觸發(fā)方式在ADC_CR2
寄存器中的JEXTSEL[2:0]位中配置。
3.
單次轉(zhuǎn)換模式
在單次轉(zhuǎn)換模式下,ADC只執(zhí)行一次轉(zhuǎn)換。將ADC_CR2
寄存器中的CONT位置0
可選擇單次轉(zhuǎn)換模式。該模式既可通過軟件啟動(只使用規(guī)則通道),也可以通過外部觸發(fā)啟動(適用于規(guī)則通道和注入通道),啟動一次轉(zhuǎn)換一次,一旦轉(zhuǎn)換完成,則:
(1)如果是規(guī)則通道被轉(zhuǎn)換:轉(zhuǎn)換結(jié)果存儲在16
位的寄存器ADC_DR
中,置轉(zhuǎn)換結(jié)束標(biāo)志位EOC=1,如果使能了中斷EOCIE,則產(chǎn)生中斷,然后ADC停止工作。
(2)如果是注入通道被轉(zhuǎn)換:轉(zhuǎn)換結(jié)果存儲在16
位的寄存器ADC_CRJ1
中,注入轉(zhuǎn)換結(jié)束標(biāo)志位JEOC=1,如果使能了中斷JEOCIE,則產(chǎn)生中斷,然后ADC停止工作。
4.
連續(xù)轉(zhuǎn)換模式
在連續(xù)轉(zhuǎn)換模式中,當(dāng)前面一次ADC轉(zhuǎn)換結(jié)束后,馬上啟動另一次轉(zhuǎn)換。將ADC_CR2
寄存器中的COnT位置1
可選擇連續(xù)轉(zhuǎn)換模式,此模式可通過外部觸發(fā)啟動或軟件觸發(fā)啟動,一旦啟動后,ADC執(zhí)行轉(zhuǎn)換,轉(zhuǎn)換結(jié)果存入ADC_DR
寄存器中,如果使能中斷則產(chǎn)生中斷信號,ADC會繼續(xù)啟動下一次的ADC轉(zhuǎn)換,一直循環(huán)往復(fù)。由于規(guī)則通道共用一個結(jié)果數(shù)據(jù)寄存器,如果規(guī)則通道的ADC_DR
寄存器中的數(shù)據(jù)沒有及時取走,數(shù)據(jù)會被下一次的轉(zhuǎn)換結(jié)果替換。
5.
掃描模式
掃描模式用來掃描一組模擬通道,該模式可通過設(shè)置ADC_CR1
寄存器中SCAN
位設(shè)置,SCAN=0
表示關(guān)閉掃描模式,SCAN=1
表示開啟掃描模式。
6.
間斷模式
間斷模式是對多通道轉(zhuǎn)換序列的一個補充,間隔長度為n(n≤8),它必須由外部事件觸發(fā)。
7.4.3
STM32ADC的轉(zhuǎn)換
1.
ADC數(shù)據(jù)格式
1)規(guī)則通道
在規(guī)則通道模式下,ADC轉(zhuǎn)換結(jié)果存放在ADC_DR
中。
2)注入通道
在注入通道模式下,ADC轉(zhuǎn)換結(jié)果要減去存放在ADC_JOFRx寄存器中定義的偏移量,最終結(jié)果寫入ADC_JDRx寄存器(x=1~4
對應(yīng)選擇的注入通道號)。
2.
可編程采樣時間
ADC使用若干個ADC_CLK
周期對輸入電壓進行采樣,采樣周期數(shù)目可以通過ADC_sMPR1
和ADC_sMPR2
寄存器中的SMP[2:0]位更改。每個通道可以分別用不同的時間采樣??傓D(zhuǎn)換時間計算如下:TCONV
=采樣時間+12.5
個周期。
3.
校準(zhǔn)
ADC有一個內(nèi)置自校準(zhǔn)模式。校準(zhǔn)可大幅減小因內(nèi)部電容器組的變化而造成的準(zhǔn)精度誤差。在校準(zhǔn)期間,每個電容器上都會計算出一個誤差修正碼(數(shù)字值),這個碼用于消除在隨后的轉(zhuǎn)換中每個電容器上產(chǎn)生的誤差。通過設(shè)置ADC_CR2
寄存器的CAL
位啟動校準(zhǔn)。一旦校準(zhǔn)結(jié)束,CAL
位被硬件復(fù)位,可以開始正常轉(zhuǎn)換。建議在上電時執(zhí)行一次ADC校準(zhǔn)。校準(zhǔn)階段結(jié)束后,校準(zhǔn)碼存儲在ADC_DR
中。
4.
轉(zhuǎn)換啟動
ADC啟動可以由軟件觸發(fā),也可以由外部事件觸發(fā)(例如定時器捕獲、EXTI
線)。如果設(shè)置了EXTTRIG
控制位,則外部事件就能夠觸發(fā)轉(zhuǎn)換。EXTTSEL[2:0]和JEXTSEL[2:0]控制位允許應(yīng)用程序選擇8
個可能事件中的某一個,EXTSEL[2:0]位設(shè)置規(guī)則通道組觸發(fā)源,JEXTSEL[2:0]位設(shè)置注入通道組觸發(fā)源的采樣。規(guī)則通道和注入通道觸發(fā)源清單如表7.3
所示,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年企業(yè)用車借用協(xié)議范本3篇
- 2025年度文化旅游融合項目投資借款協(xié)議
- 買賣合同第三方保證擔(dān)保合同(2024版)
- 二零二五年度旅行社旅游培訓(xùn)合作合同4篇
- 2025年度女方婚內(nèi)出軌離婚財產(chǎn)分割及贍養(yǎng)費協(xié)議
- 2025年度個人商鋪租賃合同能源消耗監(jiān)測與管理合同4篇
- 2025年度個人與企業(yè)間特殊用途車輛租賃合同3篇
- 二零二五年度農(nóng)民工勞動保護補貼發(fā)放合同標(biāo)準(zhǔn)
- 2024苗木運輸合同范本全面規(guī)范運輸過程中的風(fēng)險防控3篇
- 二零二五年度加油站LED廣告屏安裝裝修合同3篇
- 北師大版小學(xué)三年級上冊數(shù)學(xué)第五單元《周長》測試卷(含答案)
- DB45T 1950-2019 對葉百部生產(chǎn)技術(shù)規(guī)程
- 資源枯竭型城市的轉(zhuǎn)型發(fā)展 課件 2024-2025學(xué)年高二上學(xué)期地理人教版選擇性必修2
- 2025屆河北省衡水市衡水中學(xué)高考仿真模擬英語試卷含解析
- 新修訂《保密法》知識考試題及答案
- 電工基礎(chǔ)知識培訓(xùn)課程
- 住宅樓安全性檢測鑒定方案
- 廣東省潮州市潮安區(qū)2023-2024學(xué)年五年級上學(xué)期期末考試數(shù)學(xué)試題
- 市政道路及設(shè)施零星養(yǎng)護服務(wù)技術(shù)方案(技術(shù)標(biāo))
- 選擇性必修一 期末綜合測試(二)(解析版)2021-2022學(xué)年人教版(2019)高二數(shù)學(xué)選修一
- 《論語》學(xué)而篇-第一課件
評論
0/150
提交評論