摘 要:雙積分型ADC具有轉換精度高,速度慢的特點,因而被廣泛應用于高精度數字儀器儀表中。該設計的主要創新點是以可編程器件(CPLD)為核心,采用積分電路、檢零比較器等組成16位ADC,控制部分采用51單片機,能實現自動量程轉換。由于采用了CPLD技術,減少了外界干擾和所占空間,而且大大提高了系統的響應時間,提高了數字電壓表的性能。
關鍵詞:CPLD; 數字電壓表; 積分電路; OP07
中圖分類號:TP216 文獻標識碼:A
文章編號:1004-373X(2010)11-0164-03
Desing of Digital Voltmeter Based on CPLD
CHEN Shi-xia, JI Ming-xia, QI Fu-feng
(Qingdao Branch, Navy Aeronautical Engineering Academy, Qingdao 266041, China)
Abstract: Since the double integral type of ADC takes on the characteristics of high conversion accuracy and slow speedt, it is widely used in the high-precision digital instruments. The double integral electro circuit, zero-checking comparator and FPGA are adopted in the design to makeup the 16 bit ADC. AT80C51 single chip computer is used in the control section, which is also able to compare zero automatically and carry the transform of capacity rules. Because the interferes from outside and the space occupied by electro circuits are reduced through the employment of FPGA technology, the system response time and the performance of digital voltmeter are improved enormously.
Keywords: CPLD; digital voltmeter; integral circuit; OP07
設計了基于CPLD的數字電壓表,采用CPLD器件作為核心處理電路,用單片機進行控制,能較好地減小外界干擾,提高分辨率。該數字電壓表能夠自動轉換量程,從而可提高數字電壓表的性能。
1 方案論證與比較
雙積分A/D是對輸入取樣電壓和基準電壓進行兩次積分,以獲得與取樣電壓平均值成正比的時間間隔,同時在此時間間隔內,用計數器對CP記數,計數器的輸出結果就是對應的數字量。雙積分A/D有精度高,抗干擾能力強和穩定性好的優點,但轉換速度較低,因而適用于數字直流電壓表等精度較高而轉換速度要求不高的儀器。設計的系統框圖如圖1所示\\。為實現該系統功能,可采用以下兩種方案。
1.1 方案一
用J-K觸發器構成n位二進制異步加法計數器,并采用下降沿觸發器FF。但因J-K觸發器數目與顯示精度有關,若顯示精度較高,則所需觸發器數目較多,需占大量空間,且易受干擾。若2 V檔的最小分辨率為0.1 mV,則有2/(2n-1)=0.1 mV,n≥15,這里取n=16,如圖2所示\\。
圖1 系統設計框圖
圖2 第一種設計方案
1.2 方案二
采用EDA可編程邏輯器件把16位J-K觸發器組成的計數器\\和控制電路集成到系統內部,不僅可以消除外界干擾,減小測量誤差,且大大節省空間,提高系統的響應速度。CPLD使用方便、快捷,性價比很高[4],如圖3所示。
圖3 第二種設計方案
對比兩種方案的性能,本設計選用方案二。
2 系統設計
2.1 硬件部分
2.1.1 濾波電路
濾波電路采用壓控二階低通濾波器[5],如圖4所示。運放采用低溫漂高精度運放OP07,取R1=R2=R=1.592 kΩ,C1=C2=10 μF,則fo=10 Hz。
圖4 壓控二階低通濾波器
傳遞函數為:
Au(s)=AuP/{1+[3- AuP] sRC +(sRC)2}
當AuP<3時,電路才能正常工作,不產生自激振蕩。令:
s=jω,fo=1/(2πRC)
則電壓放大倍數:
Au=AuP/[1+(f/fo)2+j(3- AuP)f/fo]
對直流信號的放大倍數為:
Au=1+R2/R1=2
2.1.2 測量放大器
測量放大器如圖5所示\\。AD620為低功耗高精度儀表放大器,其增益為:
G=49.4/RG+1
即可通過調節引腳1,8間電阻的大小來調節G。
圖5 測量放大器
對于不同大小的信號,單片機通過8選1模擬開關CD4051來選擇電阻R1,R2,R3,R4的接入,實現不同增益值。將0.1 mV~2 V分為4個量程,即0.1~2 mV,2 mV~20 mV,20~200 mV,200 mV~2 V,分別放大1 000,100,10,1.1倍,則可選R1=49.45 Ω,R2=499 Ω,R3=5.489 kΩ,R4=494 kΩ。
2.1.3 雙積分轉換電路[7]
雙積分轉換電路如圖3所示。
(1) 積分器:由R,C和運放組成,分別對輸入電壓和基準電壓進行積分,其輸入接AD620輸出。
(2) 檢零比較器:運放反相端接積分器的輸出UA;運放同相端接地。當UA<0時,輸出C=1; UA≥0時,C=0。根據C的值控制計數是否開始。
(3) 可編程邏輯器件:EPM7128是CPLD MAX7000S系列器件,內部帶有存儲器,不需要外接。內部為門控開關、16位計數器、16位數據寄存器和輔助觸發器\\。門控開關控制計數器開始計數;計數器用來對CP脈沖進行計數,并觸發輔助觸發器;寄存器寄存計數器數值,等待單片機讀取;輔助觸發器通過控制S1來控制對取樣電壓和基準電壓的積分。單片機通過Vs對CPLD進行控制。
第1次積分取樣時,Qc=0,控制S1擲向輸入電壓Vi,L=0,控制S2斷開,電容放電。積分輸出電壓為:
Uo=-1/(RC)∫t0Uidt
積分時間T1=2nTc ,T1時刻積分器輸出:
Uo1=-1/RC∫t10Uidt=-T1U1/(RC)=-2nTcU1/(RC)
計數器計滿2n 后Qc=1,S1擲向-Vref,開始第2次積分。
Uo(t)= Uo1 -1/(RC)∫tT1(-Vref)dt
在t=T1+T2時刻:
Uo(t)=-T1U1/(RC)+T2Vref/(RC)
2.1.4 顯示模塊
用CA1602A液晶模塊顯示所測電壓值。CA1602A字符型液晶是用5×7點陣圖形來顯示字符的液晶顯示器,它微功耗、體積小、帶譯碼和驅動電路使用方便、人機界面也很直觀[8],如圖6所示。
圖6 顯示模塊
2.2 軟件部分
2.2.1 軟件流程圖[4]
(1) 主程序如圖7所示。
圖7 主程序流程圖
(2) 子程序包含量程轉換(見圖8),數據采集(見圖9),自動校準(見圖10),液晶顯示(見圖11)4個子程序。
圖8 量程轉換程序
量程轉換:
BC=01時, 1~20 mV 檔, 放大100倍;
BC=10時, 20~200 mV檔, 放大10倍;
BC=11時, 200 mV~2 V檔,放大1倍。
3 系統測試與分析
3.1 測試工具
測試工具包含GOS-6031 30 MHz雙蹤示波器,Agilent34401A 6位半數字電壓表。
圖9 數據采集程序
圖10 自動校準程序
圖11 液晶顯示程序
3.2 測試結果
3.2.1 積分波形輸出
經測試調整后未發現明顯失真。
3.2.2 電壓測量
采用6位半電壓表進行校準[9],結果如表1所示。
表1 實驗結果
此表測量值 /V6位半測量值 /V
0.018 90.0189 26
0.127 40.127 445
0.176 50.176 512
1.287 41.286 989
1.564 91.559 863
1.873 41.873 433
1.953 41.995 341
由以上數據可以看出,設計已完全達到了誤差小于等于0.05%±5個字和分辨率為0.1 mV的要求。
4 結 語
該設計較好地實現了所要求的功能,從測試結果看,測量誤差較小、分辨率較高。由于采用了CPLD在很大程度上減小了環境干擾。當然該設計還有需要改進的地方,如可增加自動校零功能等。
參考文獻
[1]吳金戌.8051單片機實踐與應用[M].北京:清華大學出版社,2002.
[2]Markus J.電子電路大全[M].北京:中國計量出版社,1985.
[3]何立民.單片機應用系統設計[M].北京:北京航空航天大學出版社,2000.
[4]楊君,孟志華.基于FPGA的嵌入式語音記錄儀的設計[J].電子測量技術,2008(4):190-193.
[5]童詩白.模擬電子技術基礎[M].北京:高等教育出版社,2007.
[6]蔡美琴.MCS-51單片機系統及應用[M].北京:高等教育出版社,1994.
[7]王毓銀.數字電路邏輯設計[M].北京:高等教育出版社,2007.
[8]高吉祥.全國大學生電子設計競賽培訓系列教程[M].北京:電子工業出版社,2007.
[9]蔣煥文.電子測量 [M].北京:高等教育出版社,2005.
[10]全國大學生電子設計競賽組委會.全國大學生電子設計競賽獲獎作品匯編[M].北京:北京理工大學出版社,2006.