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