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