AD650與單片機(jī)的接口設(shè)計(jì)分析
目前,A/D轉(zhuǎn)換器隨著速度及精度的提高,價格愈趨昂貴,給實(shí)際應(yīng)用帶來困難。但在某些場合被測信號的變化是緩慢的,這時轉(zhuǎn)換速度就不成為主要問題。此時,可以采用低速的雙積分式A/D芯片,如ICL7135(國產(chǎn)型號5G7135)是4又1/2位,分辨率為1/40 000,精度相當(dāng)于14位二進(jìn)制的A/D轉(zhuǎn)換器;MC14433(國產(chǎn)型號5G14433)是3丟位,分辨率為5/10 000。5G7135與5G14433都采用雙斜率工作方式,所以具有很高的抗工頻干擾能力。但其轉(zhuǎn)換速率較低,為2~10次/秒。如果轉(zhuǎn)換速率要求在20次/秒以上或更高,則無現(xiàn)成的雙積分A/D轉(zhuǎn)換集成電路。從原理上講可以用積分器、比較器、計(jì)數(shù)器構(gòu)成速度較高的高精度A/D,但由于受器件性能的限制,如電壓比較器的有限增益和有限轉(zhuǎn)換速率等,實(shí)現(xiàn)起來比較困難。兼顧價格與轉(zhuǎn)換精度的另一種有效方法是,采用V/F技術(shù)構(gòu)成高精度的A/D轉(zhuǎn)換器。近幾年由于集成電路技術(shù)的發(fā)展,V/F芯片價格下降,技術(shù)指標(biāo)進(jìn)一步提高,特別是單片式的V/F芯片在各行業(yè)中得到廣泛的應(yīng)用。AD650是高精度型的單片式V/F變換器,它與單片機(jī)結(jié)合可以構(gòu)成分辨率高、轉(zhuǎn)換速率高于20次/秒的A/D轉(zhuǎn)換器。
1.VFC與單片機(jī)的模/數(shù)轉(zhuǎn)換的基本原理
如圖1所示,轉(zhuǎn)換前,單片機(jī)首先對計(jì)數(shù)器及定時器清零,預(yù)置計(jì)數(shù)及定時初值;隨后通過定時控制端及計(jì)數(shù)控制端,使定時器及計(jì)數(shù)器同時開始工作;到一定時間后,定時器溢出端發(fā)出信號,單片機(jī)檢測到該信號后,停止計(jì)數(shù)器工作,并把計(jì)數(shù)結(jié)果送入存儲器中。這樣便完成了一次模/數(shù)轉(zhuǎn)換。VFC輸出的矩形波的頻率與其輸入電壓成線性關(guān)系,計(jì)數(shù)器的計(jì)數(shù)值等于VFC輸出頻率乘以定時器時間,而定時器時間可以通過單片機(jī)來精確控制。所以此種方法的轉(zhuǎn)換精度主要取決于VFC的精度。
2.AD650與單片機(jī)接口的硬件設(shè)計(jì)
AD650是電荷平衡式單片V/F變換器,圖2為其電原理圖。
AD650的接線不很復(fù)雜,僅須選擇4個元件的數(shù)值:輸入電阻RIN、定時電容Cos、邏輯電阻Ro及積分電容CINT。下面介紹選取原則。
Ro:根據(jù)TTL邏輯電平,晶體管T在導(dǎo)通時約有0.4 V管壓降。為保證有足夠的負(fù)載能力,希望流過Ro的電流為8 mA。這樣R。便近似為0.5 V/8 mA=62.5Ω,一般取1kΩ。如選1MHz為滿量程頻率,則必須采用500 Q左右的上拉電阻,以獲得足夠短的上升時間。
RIN與COs:這兩個參數(shù)決定了滿刻度頻率及相適應(yīng)的輸入信號電壓范圍。RIN與Cos的關(guān)系是非線性的。滿度頻率為1 MHz、輸入信號為0~10 V時,Cos可選51 pF,RIN為16.2 kΩ。
CINT:大多數(shù)情況下,CINT的最佳值按下式計(jì)算得出:
1 MHz時,CINT仍取1000 pF為宜。
模/數(shù)轉(zhuǎn)換所用的定時器及計(jì)數(shù)器選用Intel公司生產(chǎn)的8253芯片來實(shí)現(xiàn)。它內(nèi)部有三個獨(dú)立的可預(yù)置數(shù)的16位遞減計(jì)數(shù)器。每個計(jì)數(shù)器都有一個時鐘輸入端CN、一個門控輸入端GN、一個輸出端ON。時鐘輸入端用于輸入時鐘脈沖或事件計(jì)數(shù)脈沖,計(jì)數(shù)器的值在時鐘脈沖的下降沿變化,門控端可以送入控制或復(fù)位信號。計(jì)數(shù)器減到零時,由輸出端送出標(biāo)志信號。
圖3為接線圖,AD650的輸出接8253計(jì)數(shù)器O的CN端,計(jì)數(shù)器1作定時器用。8253的數(shù)據(jù)線與8031的BUS直接相連,Ai、Ao接8031的地址鎖存器74LS373的輸出。存儲器的分配采用線選法,即8253片選端CS(反相)接8031的P2.7端。由此可知,計(jì)數(shù)器0的地址為7FFCH,計(jì)數(shù)器1的地址為7FFDH,計(jì)數(shù)器地址為7FFEH,方式控制寄存器端口為7FFFH。
3.軟件設(shè)計(jì)
軟件主要包括兩部分:一部分是初始化程序;另一部分是取數(shù)程序。8031的初始化包括中斷系統(tǒng)的初始化、堆棧指針的設(shè)置等,本文從略。8253在使用前須向其方式控制器寫入方式控制字,控制字的格式如下表所列。
控制字的格式表
SC1、SCo組合選擇計(jì)數(shù)器,同時為高電平時非法;RLi、RLo控制讀出/裝入方式.4種方式依次為:①計(jì)數(shù)器中的數(shù)據(jù)鎖存到緩沖器,在此方式下可以進(jìn)行“飛讀”而不影響計(jì)數(shù)操作;
?、谶x計(jì)數(shù)器的低8位字節(jié);③選計(jì)數(shù)器的高8位字節(jié);④對計(jì)數(shù)器分兩次操作,先低8位字節(jié),后高8位字節(jié)。M2、Mi、Mo選擇計(jì)數(shù)器的工作方式,8253的每個計(jì)數(shù)器均有6種工作方式,包括定時計(jì)數(shù)方式、可編程單次脈沖方式、頻率產(chǎn)生器方式、方波發(fā)生器方式、軟件觸發(fā)選通方式和硬件觸發(fā)選通方式。BCD控制二進(jìn)制計(jì)數(shù)或是二一十進(jìn)制計(jì)數(shù)。
假設(shè)要求A/D精度為14位二進(jìn)制,AD650選滿刻度頻率為500 kHz,則定時器定時值應(yīng)為:214 /0.5×106= 32. 77 ms。
8031選用6 MHz晶振,經(jīng)ALE、WR、RD邏輯組合產(chǎn)生的1 MHz的脈沖信號作為計(jì)數(shù)器1的時鐘輸入到CLK1端。因須定時32. 77 ms,所以計(jì)數(shù)器1的初值應(yīng)預(yù)置為(16 384×2)10=8000H,工作于方式0,計(jì)數(shù)結(jié)束。OUTi翻轉(zhuǎn)使計(jì)數(shù)器O停止工作,并申請中斷或接受查詢,將計(jì)數(shù)器O的計(jì)數(shù)結(jié)果取反后送入存儲器待處理。取反的原因是8253采用減法計(jì)數(shù)方式。
下面是8253初始化及取數(shù)子程序:
4.幾點(diǎn)說明
?、賄/F芯片AD650具有精度高,溫度特性好,線性度高等優(yōu)點(diǎn),它與單片機(jī)的接口也較簡單,編程方便。外接定時電容Cos,可控制輸出滿度頻率為10 kHz、100 kHz、500 kHz、1 MHz四檔,為電路設(shè)計(jì)提供很大方便。由本模/數(shù)轉(zhuǎn)換器的工作原理可知:一定的模入電壓,其轉(zhuǎn)換結(jié)果的位數(shù)隨計(jì)數(shù)時間而增加,因此用戶可按要求在16位內(nèi)自己編程選擇模/數(shù)結(jié)果的位數(shù)。當(dāng)滿度頻率為500 kHz時,分辨率為12~16位的定時時間分別為:8. 19 ms、16. 38 ms、32. 76 ms、65. 52 ms、131. 04 ms。此時,本A/D轉(zhuǎn)換速度比一般雙積分A/D轉(zhuǎn)換要高5倍以上。
?、诒続/D轉(zhuǎn)換器具有較強(qiáng)的噪聲抑制能力。因?yàn)橛?jì)數(shù)值等于待轉(zhuǎn)換電壓對計(jì)數(shù)時間的積分,所以轉(zhuǎn)換結(jié)果(即計(jì)數(shù)值)是計(jì)數(shù)時間內(nèi)待轉(zhuǎn)換電壓的平均值。這樣,大的尖峰脈沖干擾就被平均掉,不會出現(xiàn)很大誤差。
另外,若選計(jì)數(shù)時間為工頻周期的整數(shù)倍.則可有效地抑制串模工頻干擾。從理論上講,若計(jì)數(shù)時間是待轉(zhuǎn)換電壓中噪聲信號周期的整數(shù)倍,則其抑制能力是無限的。計(jì)數(shù)時間是由軟件控制的,可十分方便地按抑制最嚴(yán)重的周期性噪聲確定。
?、郛?dāng)AD650滿度輸出頻率為1 MHz時,須采取一些特殊措施,如將模擬地與數(shù)字地隔離,增加去耦電路,對偏置電壓進(jìn)行自動調(diào)整等。