基于C8051F060內置高精度模/數轉換器的使用方法
1 引言
在混合信號單片機中,美國Cygnal公司新推出的C8051F06X系列高集成度混合信號單片機可謂一枝獨秀。C8051F06X是高度集成的片上系統單片機,它有多達59個(gè)數字I/O口,采用與8051兼容的內核CIP-51,速度高達25MI/s。該系列單片機有C8051F060/2型和C8051F061/3型,與同家族的其他單片機相比,其模擬外設性能優(yōu)異,除有一個(gè)帶可編程放大器和多路選擇器的8路10位ADC外,還有兩路采樣速度可達1 MS/s的16位ADC,兩路12位DAC,3個(gè)電壓比較器,1個(gè)片內溫度傳感器和參考電壓源等。本文僅以C8051F060型為例,著(zhù)重介紹其高速、高精度模/數轉換器的使用方法。
2 高精度模/數轉換器
模/數轉換接口由2路16位逐次逼近式ADC、集成采樣保持器、一個(gè)可編程窗口檢測器、一個(gè)DMA接口組成。ADC0/ADC1可配置成單端或差分輸入方式。模/數轉換的工作方式,窗口檢測器和DMA接口均可通過(guò)特殊功能寄存器由軟件控制,模/數轉換器及其采樣保持電路也可通過(guò)特殊功能寄存器單獨設置,如圖1所示。顯然,轉換啟動(dòng)方式靈活,軟件事件、外部硬件信號和周期性的定時(shí)溢出都能用作觸發(fā)信號,轉換結束后,16位的結果鎖存在SFR中,可由DMA接口將其存入片內或片外RAM。
2.1 單端/差分輸入方式
ADCO和ADC1既可編程為單端輸入方式獨立工作,也可以設置為互相配合接收差分輸入信號。采用單端輸入方式時(shí),ADC可配置為同步采樣,或采用不同的轉換速度。采用差分輸入時(shí),ADC1服從于A(yíng)DC0,除零點(diǎn)和增益校準外,它的配置均基于ADC0。通道選擇寄存器AMXOSL的DIFFSEL位用于選擇單端和差分輸入方式。差分輸入時(shí),輸入到ADC的是一個(gè)偽差分信號,每個(gè)ADC的實(shí)際測量電壓等于引腳AIN和引腳AINDG之間的電壓。AINDG必須在-0.2V~0.6V之間,在大多數系統中,AINDG接到AGND,否則,AINDG信號會(huì )產(chǎn)生一個(gè)微小的負向偏置,建議用內部的校準功能解決。AINOG和AIN1G要可靠連接在一起,為了得到精確的轉換結果,在兩種方式下,AINn電位均應高于A(yíng)INnG。
2.2 參考電壓
ADC0和ADC1可以配置不同的參考電壓電路,既可以使用片內精密參考電壓源,也可以使用片外參考電壓源。片內參考電壓源電路由一個(gè)獨立的溫度穩定式帶隙參考電壓發(fā)生器產(chǎn)生1.25 V電壓,再由一個(gè)緩沖放大器將其放大2倍,其最大負載電流不能大于100μA,建議在VREF端和VRGND端外接0.1μF和47 μF的旁路電容器。每個(gè)參考電壓電路可由參考電壓控制寄存器(REFnCN)分別控制,其中,BIASEn位控制參考電壓發(fā)生器的使能,REFBEn位控制乘2緩沖器的使能。當禁止時(shí),內部參考電壓電路的耗電量為1μA,緩沖放大器呈高阻抗狀態(tài);當使用內部參考電壓源時(shí),這兩個(gè)控制位均須置l;當使用外部參考電壓源時(shí),控制位REFBEn應置0。應該注意,不論使用何種參考電壓源,當使用模/數轉換器時(shí),BIASEn位必須置1,不使用模/數轉換器時(shí),BIASEn位置0,以有利于降低能耗。
2.3 工作方式
ADC0和ADC1的最大轉換速度為1 MS/s,轉換時(shí)鐘由系統時(shí)鐘分頻產(chǎn)生,并由ADCnCF型寄存器的ADCnSC位設定。
2.3.1 轉換啟動(dòng)方式
對于A(yíng)DC0,模/數轉換的啟動(dòng)方法有4種,由ADC0CN型寄存器中的轉換啟動(dòng)方式位AD0CMl/AD0CM0決定,這4種方式分別是給ADC0CN的AD0BUSY位寫(xiě)1;定時(shí)器2的溢出;定時(shí)器3的溢出;檢測到外部ADC轉換啟動(dòng)信號CNVSTR0的上跳沿。對于A(yíng)DC1,模/數轉換的啟動(dòng)方法有5種,由寄存器ADC1CN中的轉換啟動(dòng)方式位AdlCM12-AD1CM0決定,這5種方式分別是給ADC1CN的AD1BUSY位寫(xiě)l;定時(shí)器2的溢出;定時(shí)器3的溢出;檢測到外部ADC轉換啟動(dòng)信號CNVSTR的上跳沿;給ADC0CN的AD0BUSY位寫(xiě)1。
在模/數轉換過(guò)程中,ADnBUSY位被置1,轉換結束后,該位被清零,如果允許中斷,ADnBUSY信號的下降沿將觸發(fā)中斷,并置位ADnINT的中斷標志位ADCnON.5。在單端方式,模/數轉換的結果數據存放在A(yíng)DCnH和ADCnL中;在差分方式,模/數轉換的結果數據是ADC0與ADC1之和,存放在A(yíng)DC0H和ADC0L中。當用給ADC0CN的AD0BUSY位寫(xiě)1的方法啟動(dòng)模/數轉換時(shí),應該查詢(xún)ADnINT位,以便確定模/數轉換何時(shí)完成,建議查詢(xún)步驟為給ADnINT寫(xiě)0;給ADnBUSY寫(xiě)1;查詢(xún)ADnINT位是否為l;處理ADC數據,當在差分方式且以外部信號啟動(dòng)模/數轉換時(shí),應將引腳CNVSTR0和引腳CNVSTR1連接起來(lái)。
2.3.2 采樣保持方式
模/數轉換的采樣保持方式由ADCnCN型寄存器的ADCnTM位控制,一旦ADCn被啟動(dòng),其輸入將被連續采樣,而這時(shí)轉換尚未開(kāi)始,當AdnTM位為1,轉換開(kāi)始進(jìn)行,一個(gè)采樣周期由18個(gè)SAR時(shí)鐘組成。當用CNVSTRn信號啟動(dòng)轉換時(shí),ADC一直采樣,直到引腳CNVSTRn上出現一個(gè)上跳沿為止。將AdnTM位置為1,就能保證在模擬輸入端接外部多路選擇器時(shí),滿(mǎn)足必要的建立時(shí)間。
評論