AVR單片機(學習ing)—(九)、ATMEGA16的模數(shù)轉(zhuǎn)換器—01
4、預(yù)分頻及ADC 轉(zhuǎn)換時序
在默認條件下,逐次逼近電路需要一個從50 kHz到200 kHz的輸入時鐘以獲得最大精度。
如果所需的轉(zhuǎn)換精度低于10 比特,那么輸入時鐘頻率可以高于200 kHz,以達到更高的
采樣率。
ADC 模塊包括一個預(yù)分頻器,它可以由任何超過100 kHz 的CPU 時鐘來產(chǎn)生可接受的
ADC 時鐘。預(yù)分頻器通過ADCSRA 寄存器的ADPS 進行設(shè)置。置位ADCSRA 寄存器的
ADEN 將使能ADC,預(yù)分頻器開始計數(shù)。只要ADEN 為1,預(yù)分頻器就持續(xù)計數(shù),直到
ADEN 清零。
ADCSRA寄存器的ADSC置位后,單端轉(zhuǎn)換在下一個ADC時鐘周期的上升沿開始啟動。差
分轉(zhuǎn)換時序見P197“ 差分增益信道” 。
正常轉(zhuǎn)換需要13 個ADC 時鐘周期。為了初始化模擬電路,ADC 使能(ADCSRA 寄存器
的ADEN 置位) 后的第一次轉(zhuǎn)換需要25 個ADC 時鐘周期。
在普通的ADC 轉(zhuǎn)換過程中,采樣保持在轉(zhuǎn)換啟動之后的1.5 個ADC 時鐘開始;而第一次
ADC轉(zhuǎn)換的采樣保持則發(fā)生在轉(zhuǎn)換啟動之后的13.5 個ADC時鐘。轉(zhuǎn)換結(jié)束后,ADC結(jié)果
被送入ADC 數(shù)據(jù)寄存器,且ADIF 標志置位。ADSC 同時清零( 單次轉(zhuǎn)換模式)。之后軟
件可以再次置位ADSC 標志,從而在ADC 的第一個上升沿啟動一次新的轉(zhuǎn)換。
使用自動觸發(fā)時,觸發(fā)事件發(fā)生將復(fù)位預(yù)分頻器。這保證了觸發(fā)事件和轉(zhuǎn)換啟動之間的延
時是固定的。在此模式下,采樣保持在觸發(fā)信號上升沿之后的2 個ADC 時鐘發(fā)生。為了
實現(xiàn)同步邏輯需要額外的3 個CPU 時鐘周期。如果使用差分模式,加上不是由ADC 轉(zhuǎn)
換結(jié)束實現(xiàn)的自動觸發(fā),每次轉(zhuǎn)換需要25 個ADC 時鐘周期。因為每次轉(zhuǎn)換結(jié)束后都要
關(guān)閉ADC 然后又啟動它。
在連續(xù)轉(zhuǎn)換模式下,當ADSC 為1 時,只要轉(zhuǎn)換一結(jié)束,下一次轉(zhuǎn)換馬上開始。轉(zhuǎn)換時
間請見 Table 81。
5、差分增益信道
當使用差分增益通道,需要考慮轉(zhuǎn)換的確定特征。
差分轉(zhuǎn)換與內(nèi)部時鐘CKADC2 同步等于ADC 時鐘的一半。同步是當ADC 接口在CKADC2
邊沿出現(xiàn)采樣與保持時自動實現(xiàn)的。當CKADC2 為低時,通過用戶啟動轉(zhuǎn)換( 即,所有的
單次轉(zhuǎn)換與第一次連續(xù)轉(zhuǎn)換) 將與單端轉(zhuǎn)換使用的時間( 接著的預(yù)分頻后的13 個 ADC 時
鐘周期)。當 CKADC2 為高時,由于同步機制,將會使用14 個 ADC 時鐘周期。在連續(xù)轉(zhuǎn)
換模式時,一次轉(zhuǎn)換結(jié)束后立即啟動新的轉(zhuǎn)換,而由于CKADC2 此時為高,所有的自動啟
動( 即除第一次外) 將使用14 個 ADC 時鐘周期。
在所有的增益設(shè)置中,當帶寬為4 kHz 時增益級最優(yōu)。更高的頻率可能會造成非線性放
大。當輸入信號包含高于增益級帶寬的頻率時,應(yīng)在輸入前加入低通濾波器。注意,ADC
時鐘頻率不受增益級帶寬限制。比如,不管通道帶寬是多少, ADC 時鐘周期為6 μs,允
許通道采樣率為12 kSPS。
如果使用差分增益通道且通過自動觸發(fā)啟動轉(zhuǎn)換,在轉(zhuǎn)換時ADC 必須關(guān)閉。當使用自動
觸發(fā)時, ADC 預(yù)分頻器在轉(zhuǎn)換啟動前復(fù)位。由于在轉(zhuǎn)換前的增益級依靠穩(wěn)定的ADC 時
鐘,該轉(zhuǎn)換無效。在每次轉(zhuǎn)換( 在寄存器 ADCSRA 的ADEN 位中 寫 “0” 接著為“1”),通
過禁用然后重使能ADC,只執(zhí)行擴展轉(zhuǎn)換。擴展轉(zhuǎn)換結(jié)果有效。
6、改變通道和基準源
ADMUX寄存器中的MUXn及REFS1:0通過臨時寄存器實現(xiàn)了單緩沖。CPU可對此臨時寄
存器進行隨機訪問。這保證了在轉(zhuǎn)換過程中通道和基準源的切換發(fā)生于安全的時刻。在轉(zhuǎn)
換啟動之前通道及基準源的選擇可隨時進行。一旦轉(zhuǎn)換開始就不允許再選擇通道和基準
源了,從而保證ADC 有充足的采樣時間。在轉(zhuǎn)換完成(ADCSRA 寄存器的ADIF 置位) 之
前的最后一個時鐘周期,通道和基準源的選擇又可以重新開始。轉(zhuǎn)換的開始時刻為ADSC
置位后的下一個時鐘的上升沿。因此,建議用戶在置位ADSC 之后的一個ADC 時鐘周期
里,不要操作ADMUX 以選擇新的通道及基準源。
使用自動觸發(fā)時,觸發(fā)事件發(fā)生的時間是不確定的。為了控制新設(shè)置對轉(zhuǎn)換的影響,在更
新ADMUX 寄存器時一定要特別小心。
若ADATE及ADEN都置位,則中斷事件可以在任意時刻發(fā)生。如果在此期間改變ADMUX
寄存器的內(nèi)容,那么用戶就無法判別下一次轉(zhuǎn)換是基于舊的設(shè)置還是最新的設(shè)置。在以下
時刻可以安全地對ADMUX 進行更新:
1. ADATE 或ADEN 為 0
2. 在轉(zhuǎn)換過程中,但是在觸發(fā)事件發(fā)生后至少一個ADC 時鐘周期
3. 轉(zhuǎn)換結(jié)束之后,但是在作為觸發(fā)源的中斷標志清零之前
如果在上面提到的任一種情況下更新ADMUX,那么新設(shè)置將在下一次ADC 時生效。
當改變差分通道時要特別注意。一旦選定差分通道,增益級要用125 μs 來穩(wěn)定該值。因
此在選定新通道后的125 μs 內(nèi)不應(yīng)啟動轉(zhuǎn)換?;蛏釛壴摃r間段內(nèi)的轉(zhuǎn)換結(jié)果。
7、ADC 輸入通道
選擇模擬通道時請注意以下指導方針:
工作于單次轉(zhuǎn)換模式時,總是在啟動轉(zhuǎn)換之前選定通道。在ADSC 置位后的一個ADC 時
鐘周期就可以選擇新的模擬輸入通道了。但是最簡單的辦法是等待轉(zhuǎn)換結(jié)束后再改變通
道。
在連續(xù)轉(zhuǎn)換模式下,總是在第一次轉(zhuǎn)換開始之前選定通道。在ADSC 置位后的一個ADC
時鐘周期就可以選擇新的模擬輸入通道了。但是最簡單的辦法是等待轉(zhuǎn)換結(jié)束后再改變
通道。然而,此時新一次轉(zhuǎn)換已經(jīng)自動開始了,下一次的轉(zhuǎn)換結(jié)果反映的是以前選定的模
擬輸入通道。以后的轉(zhuǎn)換才是針對新通道的。
當切換到差分增益通道,由于自動偏移抵消電路需要沉積時間,第一次轉(zhuǎn)換結(jié)果準確率很
低。用戶最好舍棄第一次轉(zhuǎn)換結(jié)果。
8、ADC 基準電壓源
ADC的參考電壓源(VREF)反映了ADC的轉(zhuǎn)換范圍。若單端通道電平超過了VREF,其結(jié)果將
接近0x3FF。VREF 可以是AVCC、內(nèi)部2.56V 基準或外接于AREF 引腳的電壓。
AVCC通過一個無源開關(guān)與ADC相連。片內(nèi)的2.56V參考電壓由能隙基準源(VBG)通過內(nèi)部
放大器產(chǎn)生。無論是哪種情況,AREF 都直接與ADC 相連,通過在AREF 與地之間外加
電容可以提高參考電壓的抗噪性。VREF 可通過高輸入內(nèi)阻的伏特表在AREF 引腳測得。
由于VREF 的阻抗很高,因此只能連接容性負載。
如果將一個固定電源接到AREF 引腳,那么用戶就不能選擇其他的基準源了,因為這會導
致片內(nèi)基準源與外部參考源的短路。如果AREF 引腳沒有聯(lián)接任何外部參考源,用戶可以
選擇AVCC 或1.1V 作為基準源。參考源改變后的第一次ADC 轉(zhuǎn)換結(jié)果可能不準確,建
議用戶不要使用這一次的轉(zhuǎn)換結(jié)果。
9、相關(guān)寄存器
1)ADMUX
• Bit 7:6 – REFS1:0: 參考電壓選擇
如Table 83 所示,通過這幾位可以選擇參考電壓。如果在轉(zhuǎn)換過程中改變了它們的設(shè)置,
只有等到當前轉(zhuǎn)換結(jié)束(ADCSRA 寄存器的ADIF 置位) 之后改變才會起作用。如果在
AREF 引腳上施加了外部參考電壓,內(nèi)部參考電壓就不能被選用了。
• Bit 5 – ADLAR: ADC 轉(zhuǎn)換結(jié)果 左對齊
ADLAR影響ADC轉(zhuǎn)換結(jié)果在ADC數(shù)據(jù)寄存器中的存放形式。ADLAR置位時轉(zhuǎn)換結(jié)果為左
對齊,否則為右對齊。ADLAR 的改變將立即影響ADC 數(shù)據(jù)寄存器的內(nèi)容,不論是否有
轉(zhuǎn)換正在進行。
• Bits 4:0 – MUX4:0: 模擬通道與增益選擇位
通過這幾位的設(shè)置,可以對連接到ADC 的模擬輸入進行選擇。也可對差分通道增益進行
選擇。細節(jié)見Table 84。如果在轉(zhuǎn)換過程中改變這幾位的值,那么只有到轉(zhuǎn)換結(jié)束
(ADCSRA 寄存器的ADIF 置位) 后新的設(shè)置才有效。
評論