ADμC812內部ADC的應用
1 ADμC812單片機內部ADC簡(jiǎn)介
1.1 ADC電路
ADμC812內部的ADC轉換塊包含一個(gè)5μs轉換時(shí)間、8通道、12位、單電源的A/D轉換器。A/D轉換器由電容式DAC的常規逐次轉換器組成。ADC具有單獨的模擬電源和參考電壓,可最大限度地減少數字電路的干擾。轉換器接受的模擬電壓輸入范圍為0~+VREF;片內提供高精度、低漂移并經(jīng)廠(chǎng)家校準的2.5 V基準電壓。ADμC812內集成的ADC轉換模塊有其特殊性,如果應用不當,輕則影響ADC的性能,重則電路完全不能工作,甚至燒毀器件。下面對基準電壓和模擬輸入電壓作詳細的介紹。
?。?) 基準電壓
ADμC812內A/D轉換器的2.5 V基準電壓既可由片內提供,也可由外部基準經(jīng)VREF引腳提供。若使用內部基準,則在VREF和CREF引腳與AGND之間都應當連接0.1μF電容以便去耦。這些去耦電容應放在緊靠VREF和CREF引腳處。為了達到規定的性能,建議在使用外部基準時(shí),該基準應當在2.3 V和模擬電源AVDD之間。圖1 給出使用外部基準電源時(shí)的應用電路。
圖1 使用外部基準電源時(shí)的應用電路
由于片內基準高精度、低漂移且經(jīng)工廠(chǎng)校準,并且當ADC使能時(shí),在 VREF引腳會(huì )出現此基準電壓。因此,在進(jìn)行系統擴展時(shí),可將片內基準作為一個(gè)2.5 V的參考電源來(lái)使用。若要把片內基準用到微轉換器之外,則應在 VREF引腳上加以緩沖并應在此引腳與AGND之間連接0.1 μF電容。
圖 2 示出了把片內基準用到微轉換器之外時(shí)的應用電路。
圖2 片內基準用到微轉換器之外時(shí)的應用電路
在實(shí)際應用中應當特別注意,內部VREF將保持掉電直到ADC外圍設備模塊之一被它們各自的使能位上電為止。
?。?) 模擬輸入
與其它ADC芯片相比,ADμC812的ADC模塊有一個(gè)缺點(diǎn),就是ADC正常工作的模擬輸入范圍為0~+2.5 V,而允許輸入的電壓范圍只能為正電壓0~+5V。經(jīng)實(shí)驗證明,若輸入的模擬電壓超過(guò) +2.5 V(最大值為+5 V),ADC的采樣結果為最大值(0FFFH),雖然結果不對,但并沒(méi)有影響 ADμC812正常工作;但是,一旦輸入負的模擬電壓,則會(huì )影響ADμC812正常工作,表現為ADC的基準電壓(VREF = +2.5 V)消失和采樣結果不正確,且若長(cháng)時(shí)間輸入負電壓,將有可能損壞芯片。 因此,在實(shí)際應用中,若發(fā)現啟動(dòng)ADC之后VREF端無(wú)電壓,則應立即將芯片復位,并檢查模擬輸入信號的采集放大部分。在確保進(jìn)入ADμC812的模擬信號在0~+2.5 V范圍內之后,才能再次啟動(dòng)ADC。實(shí)際應用時(shí),應保證輸入的模擬電壓為正電平。
一般情況下,ADC的輸入緩沖放大器采用0~5 V的電源工作,這樣,可以保證ADC的輸入在A(yíng)DμC812的A/D轉換器的安全輸入范圍內,如圖3所示。如果實(shí)際情況不許可,ADC的輸入緩沖放大器的電源超出0~5 V,則應采用圖4所示鉗位電路,可保證ADC的輸入在A(yíng)DμC812 的A/D轉換器的安全輸入范圍內。注意,ADC的輸入端有一個(gè)0.01μF的電容,這個(gè)電容是為了保證ADC的轉換精度。
圖3 ADC輸入緩沖放大器電源 圖4 ADC的輸入鉗位電路
1.2 控制ADC工作的特殊功能寄存器
ADC的工作由三個(gè)特殊功能寄存器控制,即ADCCON1、ADCCON2和ADCCON3。
?、?ADCCON1寄存器控制轉換與采集時(shí)間、硬件轉換模式以及掉電模式。
寄存器地址:FFH;
寄存器缺省值:20H;
位可尋址: 否。
?、?ADCCON2寄存器控制ADC通道選擇和轉換模式。
寄存器地址:D8H;
寄存器上電缺省值: 00H;
位可尋址:是。
?、?ADCCON3寄存器對用戶(hù)軟件給出ADC忙標志指示。
寄存器地址:F5H;
寄存器上電缺省值: 00H;
位可尋址:否。
1.3 ADC的工作模式
?。?) 典型運用
當特殊功能寄存器ADCCON1~3完成設置后,ADC將轉換模擬輸入并在特殊功能寄存器ADCDATAH/L中提供ADC12位結果字。用通道選擇位寫(xiě)寄存器ADCDATAH的高4位以識別通道。
?。?) ADC的DMA模式
ADμC812片內ADC設計成5μs完成一次采樣,在中斷驅動(dòng)子程序中要求用戶(hù)在5μs時(shí)間內完成中斷服務(wù)、讀ADC轉換結果并為進(jìn)一步的后續處理存儲作準備等全部工作。如果沒(méi)有完成,則下一次的ADC采樣可能丟失。因此,在A(yíng)DμC812不能支持中斷速率的應用中,可采用ADC DMA模式。
通過(guò)DMA使能位(ADCCON2.6),使能ADC DMA模式,它允許ADC在每次設置寄存器ADCCON后連續采樣。每次采樣結果被寫(xiě)入外部靜態(tài)RAM,無(wú)需ADμC812內核的任何干預。這種方式確保ADC處于全速更新速率時(shí),ADμC812能捕獲連續的采樣流。
2 使用ADμC812內部ADC的C51驅動(dòng)程序
下面將給出兩個(gè)使用ADμC812內部ADC的C51驅動(dòng)程序。程序“ADC_pol.c”采用查詢(xún)工作方式,程序“ADC_int.c”采用中斷工作方式。
?。?) 查詢(xún)工作方式下ADμC812內部ADC的C51驅動(dòng)程序
使用查詢(xún)工作方式時(shí),通過(guò)測試ADCI位以決定A/D轉換是否結束。由ADμC812擴展的特殊功能寄存器(SFR)ADCCON1、ADCCON2和ADCCON3進(jìn)行配置。典型設置如下:
?、?置ADCCON1.7(MD1) = 0, ADCCON1.6(MD0) = 1,使ADC處于正常工作方式。
?、?置ADCCON1.5(CK1) = 1, ADCCON1.4(CK0)=1,選擇A/D轉換時(shí)鐘寬度為主時(shí)鐘寬度的8倍。
?、?ADCCON1.3(AQ1)=1,ADCCON1.2(AQ0)=1,用于選擇采樣/保持放大器獲取輸入的模擬信號的周期數為8個(gè)ADC時(shí)鐘。
?、?ADCCON2.7(ADC1)=1,A/D轉換中斷允許。
?、?ADCCON2.5(SCONV)=1,連續轉換允許。
?、?ADCCON2.3~2.0用于選擇A/D轉換通道和溫度傳感器。
按上述方法設置好以后,每完成一個(gè)通道的 A/D轉換,轉換后的值就會(huì )存放在A(yíng)DCDATAH的低4位和ADCDATAL中。程序“ADC_pol.c”見(jiàn)本刊網(wǎng)絡(luò )補充版(http://www.dpj.com.cn)。
?。?) 中斷方式下ADμC812內部ADC的C51驅動(dòng)程序
本軟件的數據采集系統為8通道順序采集,ADμC812的時(shí)鐘頻率為11.0592 MHz,CPU用中斷方式管理A/D轉換器。當一個(gè)A/D轉換完成時(shí),向CPU發(fā)請求信號,CPU響應中斷,中斷處理子程序負責對轉換的數據進(jìn)行讀出并送往result_ADC[8]數組中,然后通道號加1。當8個(gè)通道全部轉換結束后,將所有的結果送往UART。程序“ADC_int.c”見(jiàn)本刊網(wǎng)絡(luò )補充版(http://www.dpj.com.cn)。
結語(yǔ)
ADμC812是真正意義上的完整的數據采集系統芯片,是集數據轉換電路、微控制器、閃存于一體的數據采集系統。它的高性能和高精度轉換技術(shù),使數據采集系統實(shí)現高性能和微型化。
評論