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





