AVR M16 ADC應用設計要點
在通常情況下,ADC的逐次比較轉換電路要達到最大精度時,需要50kHz~200kHz之間的采樣時鐘。在要求轉換精度低于10位的情況下,ADC的采樣時鐘可以高于200kHz,以獲得更高的采樣率。
本文引用地址:http://m.butianyuan.cn/article/201611/321756.htmADC模塊中包含一個預分頻器的ADC時鐘源,它可以對大于100KHz的系統(tǒng)時鐘進行分頻,以獲得合適的ADC時鐘提供ADC使用。預分頻器的分頻系數(shù)由ADCSRA寄存器中的ADPS位設置的。一旦寄存器ADCSRA中的ADEN位置“1”(ADC開始工作),預分頻器就啟動開始計數(shù)。ADEN位為“1”時,預分頻器將一直工作;ADEN位為“0”時,預分頻器一直處在復位狀態(tài)。
AVR的ADC完成一次轉換的時間見表6.2.5。從表中可以看出,完成一次ADC轉換通常需要13-14個ADC時鐘。而啟動ADC開始第一次轉換到完成的時間需要25個ADC時鐘,這是因為要對ADC單元的模擬電路部分進行初始化。
當ADCSRA寄存器中的ADSC位置位,啟動ADC轉換時,A/D轉換將在隨后ADC時鐘的上升沿開始。一次正常的A/D轉換開始時,需要1.5個ADC時鐘周期的采樣保持時間(ADC首次啟動后需要13.5個ADC時鐘周期的采樣保持時間)。當一次A/D轉換完成后,轉換結果寫入ADC數(shù)據寄存器,ADIF(ADC中斷標志位)將被置位。在單次轉換模式下,ADSC也同時被清零。用戶程序可以再次置位ADSC位,新的一次轉換將在下一個ADC時鐘的上升沿開始。
當ADC設置為自動觸發(fā)方式時,觸發(fā)信號的上升沿將啟動一次ADC轉換。轉換完成的結果將一直保持到下一次觸發(fā)信號的上升沿出現(xiàn),然后開始新的一次ADC轉換。這就保證了使ADC每隔一定的時間間隔進行一次轉換。在這種方式下,ADC需要2個ADC時鐘周期的采樣保持時間。
在自由連續(xù)轉換模式下,一次轉換完畢后馬上開始一次新的轉換,此時,ADSC位一直保持為“1”。
2、ADC輸入通道和參考電源的選擇
寄存器ADMUX中的MUXn和REFS1、REFS0位實際上是一個緩沖器,該緩沖器與一個MCU可以隨機讀取的臨時寄存器相連通。采用這種結構,保證了ADC輸入通道和參考電源只能在ADC轉換過程中的安全點被改變。在ADC轉換開始前,通道和參考電源可以不斷被更新,一旦轉換開始,通道和參考電源將被鎖定,并保持足夠時間,以確保ADC轉換的正常進行。在轉換完成前的最后一個ADC時鐘周期(ADCSRA的ADIF位置“1”時),通道和參考電源又開始重新更新。
注意:由于A/D轉換開始于置位ADSC后的第一個ADC時鐘的上升沿,因此,在置位ADSC后的一個ADC時鐘周期內不要將一個新的通道或參考電源寫入到ADMUX寄存器中。
改變差分輸入通道時需特別當心。一旦確定了差分輸入通道,增益放大器需要125µs的穩(wěn)定時間。所以在選擇了新的差分輸入通道后的125µs內不要啟動A/D轉換,或將這段時間內轉換結果丟棄。通過改變ADMUX中的REFS1、REFS0來更改參考電源后,第一次差分轉換同樣要遵循以上的時間處理過程。
1)當要改變ADC輸入通道時,應該遵守以下方式,以保證能夠選擇到正確的通道:
在連續(xù)轉換模式下,總是在啟動ADC開始第一次轉換前改變通道設置。盡管輸入通道改變發(fā)生在ADSC位被寫入“1”后的1個ADC時鐘周期內,然而,最簡單的方法是等到第一次轉換完成后再改變通道的設置。然而由于此時新一次的轉換已經自動開始,所以,當前這次的轉換結果仍反映前一通道的轉換值,而下一次的轉換結果將為新設置通道的值。
2)ADC電壓參考源
ADC的參考電壓(VREF)決定了A/D轉換的范圍。如果單端通道的輸入電壓超過VREF,將導致轉換結果接近于0x3FF(1023)。ADC的參考電壓VREF可以選擇為AVCC或芯片內部的2.56V參考源,或者為外接在AREF引腳上的參考電壓源。
如果將一個外部固定的電壓源連接到AREF引腳,那就不能使用任何的內部參考電源,否則就會使外部電壓源短路。外部參考電源的范圍應在2.0V到AVCC-0.2V之間。參考電源改變后的第一次ADC轉換結果可能不太準確,建議拋棄該次轉換結果。
評論