1、 理解模擬信號(hào) & 數(shù)字信號(hào)
在開(kāi)發(fā)中,信號(hào)中最常關(guān)注的是模擬信號(hào)和數(shù)字信號(hào),這兩者之間也是可以互相轉(zhuǎn)換的。所以需要理解模擬信號(hào)和數(shù)字信號(hào)的區(qū)別。
1)模擬信號(hào):模擬信號(hào)是指信息參數(shù)在給定范圍內(nèi)表現(xiàn)為連續(xù)的信號(hào)。
也可以理解為在一段連續(xù)的時(shí)間間隔內(nèi),其代表信息的特征量可以在任意瞬間呈現(xiàn)為任意數(shù)值(變動(dòng)的)的信號(hào)。像那些電壓/電流與聲音這些都是模擬信號(hào)。
2)數(shù)字信號(hào):數(shù)字信號(hào)指信號(hào)幅度的取值是離散的,幅值范圍被限制在有限個(gè)數(shù)值之內(nèi)。
比如,二進(jìn)制就是一種數(shù)字信號(hào)。大多數(shù)情況下,二進(jìn)制碼受噪聲的影響小,易于由數(shù)字電路進(jìn)行處理,所以現(xiàn)在也是被廣泛的應(yīng)用在很多的產(chǎn)品和領(lǐng)域中。
ADC英文名稱 - Analog-to-Digital Converter(模數(shù)轉(zhuǎn)換器),從字面理解,A 稱為模擬信號(hào)(Analog signal),D 稱為數(shù)字信號(hào)(digital signal)。
A/D 轉(zhuǎn)換器也就是把模擬信號(hào)(A)轉(zhuǎn)換成數(shù)字信號(hào)(D)的器件。
DAC英文名稱- Digital-to- Analog Converter(數(shù)模轉(zhuǎn)換器),D/A 轉(zhuǎn)換器剛好與 A/D 功能相反,它是把數(shù)字信號(hào)(D)轉(zhuǎn)換為模擬信號(hào)(A)。
3、常用ADC 種類介紹
A/D與D/A 轉(zhuǎn)換器的發(fā)展有較長(zhǎng)的歷史了,經(jīng)歷了多次的技術(shù)革新和改進(jìn),目前常見(jiàn)的模數(shù)、數(shù)模轉(zhuǎn)換器(A/D、D/A)有:
1.逐次逼近型
2.積分型 ADC
3.壓頻變換型 ADC
說(shuō)明:
逐次逼近型、積分型、壓頻變換型等,主要應(yīng)用于中速或較低速、中等精度的數(shù)據(jù)采集和智能儀器中。
1.流水線型 ADC
說(shuō)明:
流水線型 ADC主要應(yīng)用于高速情況下的瞬態(tài)信號(hào)處理、快速波形存儲(chǔ)與記錄等領(lǐng)域。
1.∑-Δ 型 ADC
說(shuō)明:
∑-Δ 型 ADC 主應(yīng)用于高精度數(shù)據(jù)采集特別是數(shù)字音響系統(tǒng)、多媒體、地震勘探儀器、聲納等電子測(cè)量領(lǐng)域。
此外還有:
1.并行比較 A/D 轉(zhuǎn)換器
這些轉(zhuǎn)換器各有其優(yōu)缺點(diǎn),不同的應(yīng)用場(chǎng)合需要根據(jù)實(shí)際的使用情況進(jìn)行選擇,基本各種應(yīng)用
場(chǎng)合都有滿足條件的ADC可選擇使用。
4、ADC 的工作原理
在芯片內(nèi),模擬信號(hào)傳輸進(jìn)去的時(shí)候,通過(guò)和芯片內(nèi)部的模擬信號(hào)部件進(jìn)行比對(duì)之后,從而轉(zhuǎn)換為數(shù)字信號(hào)保存到數(shù)字信號(hào)寄存器中,從而把一段模擬信號(hào)用數(shù)字的方式表達(dá)出來(lái)(0和1)的方式表達(dá)出來(lái)。
以逐次逼近型AD轉(zhuǎn)換為例。
逐次逼近型模數(shù)轉(zhuǎn)換器原理框圖可以表示如下:
上圖中,Ui為需要進(jìn)行轉(zhuǎn)換的模擬量,Uo為AD比較器的輸出電壓,通過(guò)AD轉(zhuǎn)換器的逐漸比較不斷的逼近Ui,最終得到一個(gè)與Ui匹配的數(shù)字值。(注意:AD轉(zhuǎn)換一般都是需要一個(gè)參考電壓 Vrf 的)
為了更好的說(shuō)明逐次逼近型AD轉(zhuǎn)換的大致原理,舉個(gè)例子說(shuō)明一下:
逐次逼近轉(zhuǎn)換過(guò)程可以用天平稱物重進(jìn)行比擬。
假如一開(kāi)始我們并不能知道物體的重量,用天平稱量這個(gè)重物過(guò)程時(shí),我們可以先從最重的砝碼開(kāi)始試放,與被稱物體行進(jìn)比較,若物體重于砝碼,則該砝碼保留,否則移去。再加上第二個(gè)次重的砝碼,由物體的重量是否大于砝碼的重量決定第二個(gè)砝碼是留下還是移去,就是這樣反復(fù)多次的比較,最終得出物體的重量。
總而言之,逐次逼近型 A/D 轉(zhuǎn)換器,就是將輸入模擬信號(hào)與不同的參考電壓作多次比較,使轉(zhuǎn)換所得的數(shù)字量在數(shù)值上逐次逼近輸入模擬量對(duì)應(yīng)值。
所以上面的框圖就可以詳細(xì)理解為:
1)轉(zhuǎn)換開(kāi)始前先將所有寄存器清零。
2)開(kāi)始轉(zhuǎn)換以后,時(shí)鐘脈沖首先將寄存器最高位置成 1,使輸出數(shù)字為 100…0。
這個(gè)數(shù)被數(shù)模轉(zhuǎn)換器轉(zhuǎn)換成相應(yīng)的模擬電壓 Uo,送到比較器中與 Ui 進(jìn)行比較。
若 Uo>Ui,說(shuō)明數(shù)字過(guò)大了,故將最高位的 1 清除;
若 Uo
3)反復(fù)如此,再按同樣的方式將次高位置成 1,并且經(jīng)過(guò)比較以后確定這個(gè) 1 是否應(yīng)該保留。
4)最終就可以得到一個(gè)逼近Ui的數(shù)值。
因此,逐次逼近型ADC的工作流程,可以總結(jié)為:
(1)采樣
(2)保持
(3)量化
5、STM32的ADC的介紹
目前市場(chǎng)上流行的單片機(jī)幾乎都有ADC功能,精度有高有低,使用的較多的,當(dāng)屬STM32了。下面以STM32F1為例。
STM32F1的ADC是12位的逐次逼近型的模數(shù)轉(zhuǎn)換器。
它的AD的基本特點(diǎn):
5.1、STM32F1的 ADC 開(kāi)關(guān)控制
通過(guò)設(shè)置ADC_CR2寄存器的ADON位可給ADC上電。當(dāng)?shù)谝淮卧O(shè)置ADON位時(shí),它將ADC從斷電狀態(tài)下喚醒。
ADC上電延遲一段時(shí)間后(t STAB ),再次設(shè)置ADON位時(shí)開(kāi)始進(jìn)行轉(zhuǎn)換。通過(guò)清除ADON位可以停止轉(zhuǎn)換,并將ADC置于斷電模式。在這個(gè)模式中,ADC幾乎不耗電(僅幾個(gè)μA)。
5.2、STM32F1的 ADC 時(shí)鐘
由時(shí)鐘控制器提供的ADCCLK時(shí)鐘和PCLK2(APB2時(shí)鐘)同步。RCC控制器為ADC時(shí)鐘提供一個(gè)專用的可編程預(yù)分頻器。
5.3、STM32F1的 ADC 通道
有16個(gè)多路通道。可以把轉(zhuǎn)換組織成兩組:規(guī)則組和注入組。在任意多個(gè)通道上以任意順序進(jìn)行的一系列轉(zhuǎn)換構(gòu)成成組轉(zhuǎn)換。例如,可以如下順序完成轉(zhuǎn)換:通道3、通道8、通道2、通道2、通道0、通道2、通道2、通道15。
如果ADC_SQRx或ADC_JSQR寄存器在轉(zhuǎn)換期間被更改,當(dāng)前的轉(zhuǎn)換被清除,一個(gè)新的啟動(dòng)脈沖將發(fā)送到ADC以轉(zhuǎn)換新選擇的組。
5.4、ADC轉(zhuǎn)換模式
1)單次轉(zhuǎn)換模式下,ADC只執(zhí)行一次轉(zhuǎn)換。該模式既可通過(guò)設(shè)置ADC_CR2寄存器的ADON位(只適用于規(guī)則通道)啟動(dòng)也可通過(guò)外部觸發(fā)啟動(dòng)(適用于規(guī)則通道或注入通道),這時(shí)CONT位為0。
2)在連續(xù)轉(zhuǎn)換模式中,當(dāng)前面ADC轉(zhuǎn)換一結(jié)束馬上就啟動(dòng)另一次轉(zhuǎn)換。此模式可通過(guò)外部觸發(fā)啟動(dòng)或通過(guò)設(shè)置ADC_CR2寄存器上的ADON位啟動(dòng),此時(shí)CONT位是1。
5.5、ADC校準(zhǔn)
ADC有一個(gè)內(nèi)置自校準(zhǔn)模式。校準(zhǔn)可大幅減小因內(nèi)部電容器組的變化而造成的準(zhǔn)精度誤差。在校準(zhǔn)期間,在每個(gè)電容器上都會(huì)計(jì)算出一個(gè)誤差修正碼(數(shù)字值),這個(gè)碼用于消除在隨后的轉(zhuǎn)換中每個(gè)電容器上產(chǎn)生的誤差。
通過(guò)設(shè)置ADC_CR2寄存器的CAL位啟動(dòng)校準(zhǔn)。一旦校準(zhǔn)結(jié)束,CAL位被硬件復(fù)位,可以開(kāi)始正常轉(zhuǎn)換。建議在上電時(shí)執(zhí)行一次ADC校準(zhǔn)。校準(zhǔn)階段結(jié)束后,校準(zhǔn)碼儲(chǔ)存在ADC_DR中。
注意:
1 建議在每次上電后執(zhí)行一次校準(zhǔn)。
2 啟動(dòng)校準(zhǔn)前, ADC 必須處于關(guān)電狀態(tài) (ADON=’0’) 超過(guò)至少兩個(gè) ADC 時(shí)鐘周期。
5.6、ADC通道的采樣時(shí)間
ADC使用若干個(gè)ADC_CLK周期對(duì)輸入電壓采樣,采樣周期數(shù)目可以通過(guò)ADC_SMPR1和ADC_SMPR2寄存器中的SMP[2:0]位更改。每個(gè)通道可以分別用不同的時(shí)間采樣。
總轉(zhuǎn)換時(shí)間如下計(jì)算:
T CONV = 采樣時(shí)間+ 12.5個(gè)周期
例如:
當(dāng)ADCCLK=14MHz,采樣時(shí)間為1.5周期
T CONV = 1.5 + 12.5 = 14周期 = 1μs
評(píng)論