??? 關(guān)鍵詞:AT89CX051,A/D轉(zhuǎn)換,電阻電容器(RC)
?
1引言
AT89CX051系列單片機(jī)是一種低功耗、高性能的片內(nèi)含有閃速可編程存儲(chǔ)器的8位CMOS微控制器,使用高密度、非易失存儲(chǔ)技術(shù)制造,輸出管腳少,工作電壓范圍寬,內(nèi)部集成了模擬比較器,與80C51引腳和指令系統(tǒng)完全兼容。該系列芯片將具有多種功能的8位CPU與FPEROM結(jié)合在一個(gè)芯片上,為很多嵌入式控制應(yīng)用提供了非常靈活而又價(jià)格便宜的方案,其性價(jià)比遠(yuǎn)高于8751。
由于AT89CX051系列單片機(jī)內(nèi)部不具備A/D轉(zhuǎn)換功能,使一些需要進(jìn)行模擬量處理的應(yīng)用裝置的成本提高,為此,本文介紹一種利用AT89CX051內(nèi)部比較器及RC阻容器件使AT89CX051能夠處理模擬量的簡(jiǎn)單技術(shù)。在這種使用少量元件的轉(zhuǎn)換方法中,分辨率為50mV,精度低于0.1V,轉(zhuǎn)換時(shí)間為7ms或更長(zhǎng),可見它是以損失精度和轉(zhuǎn)換時(shí)間為代價(jià)的。但在精度要求不高的應(yīng)用場(chǎng)合不失為一種有效的方法。
2硬件原理
如圖1所示,實(shí)現(xiàn)A/D轉(zhuǎn)換僅需要兩個(gè)電阻、一個(gè)電容和一片AT89CX051。AT89CX051的輸出引腳P11的電位從地到Vcc之間擺動(dòng),一交替充放電的電容被連接到AT89CX051內(nèi)部比較器的正向輸入引腳P12上,AT89CX051的檢測(cè)時(shí)間為電容上電壓達(dá)到與施加在內(nèi)部比較器反向輸入端P13上的被
測(cè)電壓相等時(shí)所需的時(shí)間。顯然,被測(cè)電壓是測(cè)量時(shí)間的函數(shù)。
可以看出,該轉(zhuǎn)換方法的本質(zhì)就是利用電容的充放電原理。對(duì)于典型的電容充放電,其波形的充放電部分相等并在Vc=Vcc/2處轉(zhuǎn)變,電容上的電壓是一時(shí)間函數(shù):
?
式中,Vc表示時(shí)間t內(nèi)電容上的電壓;Vcc為電源電壓;RC為時(shí)間常數(shù),其大小影響波形的形狀。
基于RC的A/D轉(zhuǎn)換方法中對(duì)元件參數(shù)的變化比較敏感。如圖2所示,由于電阻、電容值的變化引起了電容上電壓的變化。從圖中可以看出,當(dāng)電容容量減小時(shí),電容上電壓也相應(yīng)減小。利用電容充放電的對(duì)稱性可以減小器件參數(shù)變化對(duì)準(zhǔn)確度的影響。理由在于充電周期的測(cè)量電壓<VCC/2,放電周期的測(cè)量電壓>VCC/2,這樣,最大誤差不會(huì)超過VCC/2,所以RC參數(shù)的確定至關(guān)重要。
在確定RC參數(shù)之前,必須確定比較器輸出的采樣間隔。采樣間隔應(yīng)盡可能短,以提高轉(zhuǎn)換精度,縮短轉(zhuǎn)換時(shí)間。采樣間隔主要受執(zhí)行時(shí)間的限制,而程序代碼的執(zhí)行速度取決于單片機(jī)的時(shí)鐘速率。
RC時(shí)間常數(shù)影響充放電波形的形狀,為使波形最陡段的可分辨率達(dá)到希望的值,必須對(duì)時(shí)間常數(shù)進(jìn)行選擇。充電周期波形的最陡處發(fā)生在原點(diǎn)附近,而放電周期的最陡處靠近Vcc。由于波形的對(duì)稱性,在充放電周期性中均采用同一時(shí)間常數(shù)。圖3給出了充電初期電壓和采樣時(shí)間的關(guān)系曲線。在圖中,△V是希望的轉(zhuǎn)換器電壓分辨率;△t為采樣間隔;Vc表示電容上的電壓,在圖示比例下表現(xiàn)為線性。采樣點(diǎn)位于電壓當(dāng)量的中間,曲線的斜率有可能比圖示小,但不可能比圖示大(或降低分辨率)。為了獲得首次采樣要求斜率所需要的最小時(shí)間常數(shù),由(1)式得:
??? 設(shè)△V為小分辨率(0.05V),△t為采樣間(2)隔(5μs),計(jì)算首次采樣點(diǎn)的RC,取Vc=1/2△V,t=1/2△t
R與C的積不能小于最小時(shí)間常數(shù)的計(jì)算值,利用誤差為1%的電阻及誤差為5%的電容,即:
在圖1中,所選電阻值為267kΩ,電容值為2μF則相應(yīng)的時(shí)間常數(shù)近似為5.02×10-4。單片機(jī)的P11連接了一個(gè)5.1kΩ的上拉電阻,該電阻用于補(bǔ)充單片機(jī)內(nèi)部上拉的不足,但它在充放電周期的充放電過程中對(duì)時(shí)間常數(shù)有不利影響,導(dǎo)致充放電周期的非對(duì)稱性,產(chǎn)生轉(zhuǎn)換誤差。為減小這種影響,R標(biāo)稱值的選擇應(yīng)遠(yuǎn)遠(yuǎn)大于上拉電阻值。
時(shí)間常數(shù)是期望轉(zhuǎn)換精度和確定電容充放電持續(xù)時(shí)間的函數(shù),電容充放電的時(shí)間越長(zhǎng),整個(gè)測(cè)量過程要求的采樣次數(shù)也就越大。電容充放電的要求時(shí)間近似于電容上電壓從漸近線上升到最小電壓當(dāng)量的一半所需的時(shí)間。對(duì)于充電,漸近線位于Vcc。由于波形的對(duì)稱性,下面的計(jì)算值適合于充放電兩個(gè)周期,
由(1)式得,假定分辨率為0.05V,則電容上的電壓為:
整個(gè)測(cè)量中,采樣次數(shù)的最小值由電容上電壓由(5)式得:
?
則充電或放電周期的最小采樣次數(shù)為:
? 為增加準(zhǔn)確度,在充放電周期的充電段測(cè)量電壓范圍為0~Vcc/2,放電段為Vcc~Vcc/2,從而使搜索表的數(shù)據(jù)前面對(duì)每個(gè)半周期采樣的兩倍。
4算法
搜索表包含與每個(gè)采樣點(diǎn)相對(duì)應(yīng)的計(jì)算電壓值,對(duì)于每半個(gè)周期,表中第N個(gè)入口(條目)與t=(N-1)時(shí)刻的電壓相對(duì)應(yīng)(△t為采樣間隔),對(duì)充電的半周期,每個(gè)采樣點(diǎn)的電壓通過等式(1)計(jì)算,t取值為充電開始到該采樣點(diǎn)的累計(jì)時(shí)間;對(duì)于放電的半周期,每個(gè)采樣點(diǎn)的電壓通過下式計(jì)算,t的取值為放電開始到該采樣點(diǎn)的累計(jì)時(shí)間,即:
? 表的內(nèi)容大小是變化的,它取決于采樣間隔和轉(zhuǎn)換精度,當(dāng)分辨率增加時(shí),表中的條目就增加,當(dāng)分辨率為0.05V時(shí),表中的條目為158。
對(duì)充電周期,將等式(1)的t用N△t代替,便可計(jì)算出相應(yīng)采樣點(diǎn)的電壓。這里N表示采樣點(diǎn)數(shù)(0~78)。設(shè)△t等于5μs的采樣間隔,R=267kΩ,C=2μF,Vcc=5V,則等式(1)變?yōu)椋?br>
同理,對(duì)于放電周期,將等式(10)中的t用N△t代替,其余同上,則等式(10)變?yōu)椋?br>
在充電周期電壓值為升序,在放電周期為降序,電容上電壓的軌跡即為表的條目順序。
5誤差分析
RC型A/D轉(zhuǎn)換方法的準(zhǔn)確度為±0.1V,但實(shí)際上有可能達(dá)不到,即使采用精密器件,其參數(shù)的變化將會(huì)引起±0.104V的誤差。
當(dāng)Vc=2.5V時(shí),誤差最大,由(5)式:
結(jié)果表明,有0.208的變化,或者說最大誤差為±0.104V這種轉(zhuǎn)換誤差可通過利用更多允許誤差的器件來減小。
2 李大有,姜秀芳.單片微型機(jī)硬件、軟件及應(yīng)用.北京:高等教育出版社,1992
3 吳萬峰,吳萬釗.模糊數(shù)學(xué)與計(jì)算機(jī)應(yīng)用.北京:電子工業(yè)出版社,1998
評(píng)論
查看更多