肖俊明,劉鵬程,杜迎虎,祝海明
(中原工學(xué)院,鄭州 450007)
基于CPLD的多路溫度數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
肖俊明,劉鵬程,杜迎虎,祝海明
(中原工學(xué)院,鄭州 450007)
提出了一種基于CPLD的溫度數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案,介紹了系統(tǒng)軟硬件、外圍電路,芯片間電路連接和程序的設(shè)計(jì)方法,實(shí)現(xiàn)了溫度信號(hào)采集、A/D轉(zhuǎn)換、數(shù)據(jù)運(yùn)算處理和控制數(shù)碼管顯示輸出.仿真結(jié)果表明,本系統(tǒng)可將溫度通過電壓轉(zhuǎn)換為可讀的數(shù)字量,并且精度達(dá)到±0.5℃,能夠滿足15~50℃的一般溫度采集要求.
CPLD;A/D轉(zhuǎn)換;數(shù)據(jù)采集
在數(shù)字技術(shù)飛速發(fā)展的今天,將各種模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)再進(jìn)行相應(yīng)的處理,不僅可以提高系統(tǒng)性能,還可以充分利用現(xiàn)代信號(hào)的各種處理算法,提高系統(tǒng)的靈活性和可靠性[1].
CPLD不僅在速度上能滿足高速數(shù)字信號(hào)處理的要求,而且可編程資源也大大增加,具有在線可編程功能,從而提高了系統(tǒng)的靈活性和適應(yīng)性.在開發(fā)周期較短或?qū)ο到y(tǒng)靈活性要求較高的場(chǎng)所,CPLD能夠提供比專用高速數(shù)字信號(hào)處理器件更高的系統(tǒng)速度和更好的解決方案[2].本文提出了一種基于CPLD的多路溫度數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案.
本系統(tǒng)采用CPLD作為主控制單元,負(fù)責(zé)系統(tǒng)采樣通道的巡回、產(chǎn)生工作時(shí)鐘和控制ADC0809進(jìn)行數(shù)據(jù)采集.系統(tǒng)采集的模擬信號(hào)經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號(hào),由控制電路將數(shù)據(jù)送入控制系統(tǒng),然后對(duì)數(shù)據(jù)進(jìn)行處理,將數(shù)據(jù)進(jìn)行碼制轉(zhuǎn)換,由七段LED顯示出數(shù)值.本系統(tǒng)中 A/D轉(zhuǎn)換器采用的是ADC0809.ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它具有轉(zhuǎn)換速度快、分辨率高、功耗低以及價(jià)格便宜等優(yōu)點(diǎn),被廣泛地應(yīng)用于微電腦的接口設(shè)計(jì)上.圖1所示為該溫度數(shù)據(jù)采集系統(tǒng)基本結(jié)構(gòu)框架.
圖1 系統(tǒng)基本結(jié)構(gòu)框架
此模塊采用溫度傳感器AD590作為攝溫元件,將氣溫轉(zhuǎn)換為模擬電壓量,然后經(jīng)過LM 324將信號(hào)放大.圖2所示為信號(hào)調(diào)理模塊電路圖.集成溫度傳感器實(shí)質(zhì)上是一種半導(dǎo)體集成電路,它是利用晶體管的b-e結(jié)壓降的不飽和值VBE與熱力學(xué)溫度T和通過發(fā)射極電流I的下述關(guān)系實(shí)現(xiàn)對(duì)溫度的檢測(cè):
圖2 信號(hào)調(diào)理模塊電路圖
式中:K-波爾茲常數(shù);q-電子電荷絕對(duì)值.
由于AD590輸出的信號(hào)是電流信號(hào),所以首先要把電流信號(hào)轉(zhuǎn)換成電壓信號(hào).利用AD590設(shè)計(jì)測(cè)量溫度電路時(shí),首先經(jīng)過一個(gè)電阻將AD590的電流值送出,后面再通過10倍放大倍數(shù)的電壓跟隨器將其電流信號(hào)轉(zhuǎn)換為電壓信號(hào).
一個(gè)溫度數(shù)據(jù)采集系統(tǒng)(A/D轉(zhuǎn)換)往往要采集多路模擬信號(hào),通常只用一片A/D轉(zhuǎn)換芯片輪流選擇輸入信號(hào)進(jìn)行采集,既節(jié)省了硬件資源,又不影響對(duì)系統(tǒng)的監(jiān)測(cè)與控制.許多A/D轉(zhuǎn)換芯片內(nèi)部具備多路轉(zhuǎn)換開關(guān),一片A/D轉(zhuǎn)換芯片可以輪流采集多路模擬輸入信號(hào).如果A/D轉(zhuǎn)換芯片不具有多路轉(zhuǎn)換功能,要在信號(hào)進(jìn)行A/D轉(zhuǎn)換之前加上模擬多路轉(zhuǎn)換開關(guān)[3].
本系統(tǒng)中A/D轉(zhuǎn)換模塊采用ADC0809,它不具備多路轉(zhuǎn)換功能,因此要采集32路模擬信號(hào),需要進(jìn)行采集通道的擴(kuò)展.CD4051是一個(gè)八選一模擬開關(guān),此系統(tǒng)采集的是32路信號(hào),因此需要4片CD4051.經(jīng)傳感器輸出的電壓信號(hào)送入CD4051等待被選通;用CPLD控制CD4051的信號(hào)選通,經(jīng)2-4譯碼器分別接到4片CD4051的片選INH,同時(shí)控制4片CD4051的A口、B口、C口.經(jīng)過通道的擴(kuò)展,并接 4片CD4051,就可以實(shí)現(xiàn)三十二選一的功能.
在本模塊的設(shè)計(jì)中,ADC0809通過 ALE、START、EOC、0E、Data[0 …7]、ADDA、ADDB、ADDC、CL K信號(hào)與CPLD相連.A/D轉(zhuǎn)換模塊電路圖如圖3所示.
系統(tǒng)的CPLD使用MAX+PLUSⅡ軟件進(jìn)行設(shè)計(jì),采用V HDL硬件描述語言進(jìn)行軟件編程[4].CPLD包含了三大功能模塊,分別是A/D采樣控制模塊、二至十進(jìn)制轉(zhuǎn)換及調(diào)整模塊和數(shù)據(jù)輸出顯示模塊.
圖3 A/D轉(zhuǎn)換模塊電路圖
本模塊采用雙進(jìn)程有限狀態(tài)機(jī)產(chǎn)生ADC0809的工作時(shí)序,設(shè)計(jì)st0~st7共8個(gè)工作狀態(tài).st0:初始狀態(tài);st1:產(chǎn)生 ALE的上升沿,將地址“001”鎖入ADC0809的地址寄存器中;st2:產(chǎn)生采樣信號(hào)START上升沿,開始A/D轉(zhuǎn)換;st3:START信號(hào)延時(shí)一個(gè)脈沖;st4:A/D轉(zhuǎn)換未結(jié)束,等待;st5:數(shù)據(jù)轉(zhuǎn)換結(jié)束,開啟輸出允許OE;st6:輸出允許OE延時(shí)一個(gè)脈沖;st7:開啟數(shù)存信號(hào)LOCK,數(shù)據(jù)從ADC0809傳送到EPM 7128SLC84-15[5].
根據(jù)ADC0809的工作時(shí)序,可以采用查詢信號(hào)EOC方式,通過CPLD實(shí)現(xiàn)對(duì)ADC0809的信號(hào)采樣控制.信號(hào)采樣控制模塊的流程如圖4所示.
圖4 ADC0809信號(hào)采樣控制模塊流程
二進(jìn)制數(shù)為8位,本模塊把二進(jìn)制數(shù)分成高4位和低4位,然后計(jì)算出對(duì)應(yīng)的電壓值,再將對(duì)應(yīng)的3位BCD碼列成表格,通過查表將BCD碼相加,最終得到3組BCD碼分別對(duì)應(yīng)的高、中、低3位的輸出顯示[6].
例如:ADC0809的參考電壓(VREF/2)為2.56 V時(shí),ADC0809轉(zhuǎn)換輸出的8位二進(jìn)制數(shù)為[D7…0]=01111000(78H),高4位0111對(duì)應(yīng)的電壓為2.24 V,用3組壓縮BCD碼表示為 001000100100;低 4位1000對(duì)應(yīng)的電壓為0.16 V,用3組壓縮BCD碼表示為000000010110,于是總的輸入電壓為2.24+0.16=
在進(jìn)行程序設(shè)計(jì)時(shí),首先通過查表指令得出高4位和低4位分別所對(duì)應(yīng)電壓的壓縮BCD碼,然后進(jìn)行十進(jìn)制加法運(yùn)算和調(diào)整.表1所示為輸入電壓與輸出的8位二進(jìn)制數(shù)之間的對(duì)應(yīng)關(guān)系.
表1 模擬輸入電壓與輸出的8位二進(jìn)制數(shù)之間的對(duì)應(yīng)關(guān)系
該模塊主要完成系統(tǒng)采樣值的顯示.七段譯碼器采用共陰極接法,程序設(shè)計(jì)的流程是利用查表指令完成從BCD碼到七段顯示碼的轉(zhuǎn)換,小數(shù)點(diǎn)加在所顯示數(shù)據(jù)的最高位之后[7].
在MAX+PLUS II平臺(tái)下進(jìn)行系統(tǒng)的仿真,得到如圖6所示結(jié)果.
圖6 ADC0809信號(hào)采樣控制模塊仿真波形
從仿真波形可以看出,在地址鎖存允許輸入信號(hào)ALE有效后,接著輸入啟動(dòng)轉(zhuǎn)換信號(hào) START有效,開始A/D轉(zhuǎn)換.轉(zhuǎn)換結(jié)束后,則停留在st4狀態(tài)等待;轉(zhuǎn)換結(jié)束后,輸出轉(zhuǎn)換信號(hào) EOC出現(xiàn)上升沿,且輸出允許信號(hào) OE有效,在 OE控制下,轉(zhuǎn)換數(shù)字信號(hào)D7~D0輸出.系統(tǒng)符合ADC0809的工作時(shí)序要求,實(shí)現(xiàn)了對(duì)ADC089的采樣控制,達(dá)到了設(shè)計(jì)要求.
基于CPLD的多路溫度數(shù)據(jù)采集系統(tǒng),以CPLD芯片為核心器件,控制A/D轉(zhuǎn)化器完成各種時(shí)序邏輯、計(jì)數(shù)、溫度采集,提高了系統(tǒng)的可靠性,縮短了研發(fā)的周期,使系統(tǒng)易于升級(jí)與擴(kuò)展.仿真結(jié)果表明,此系統(tǒng)可將溫度通過電壓轉(zhuǎn)換為可讀的數(shù)字量,精度達(dá)到±0.5℃,能夠滿足15~50℃的一般溫度采集要求,應(yīng)用前景廣闊.
[1]宋志強(qiáng),余紅英.CPLD控制ADC0809實(shí)現(xiàn)多路數(shù)據(jù)采集[J].黑龍江科技信息,2009:66.
[2]劉卓夫,彭俠夫,李福義,等.FPGA在高速多通道數(shù)據(jù)采集中的應(yīng)用[J].電測(cè)與儀表,2002,39(442):42-44.
[3]江小平,劉文杰.基于CPLD/FPGA的A/D轉(zhuǎn)換控制器的設(shè)計(jì)[J].蘇州大學(xué)學(xué)報(bào)(工科版),2005,25(4):53-55.
[4]李向舜,劉明慧.基于CPLD技術(shù)的A/D轉(zhuǎn)換器接口電路設(shè)計(jì)[J].壓電與聲光,2005,27(4):385-388.
[5]陳明明,李忠,鄭華.基于CPLD的A/D自動(dòng)采樣接口[J].繼電器,2004,32(16):44-46.
[6]馮濤,王程.可編程邏輯器件開發(fā)技術(shù)[M].北京:人民郵電出版社,2002:179-208.
[7]李宜達(dá).數(shù)字邏輯電路設(shè)計(jì)與實(shí)現(xiàn)[M].北京:科學(xué)出版社,2004:105-116.
[8]黃正謹(jǐn),徐堅(jiān),章小麗,等.CPLD系統(tǒng)設(shè)計(jì)技術(shù)入門與應(yīng)用[M].北京:電子工業(yè)出社,2002.
Design of Multi-channel Data Acquisition System Based on CPLD
XIAO Jun-ming,L IU Peng-cheng,DU Ying-hu,ZHU Hai-ming
(Zhongyuan University of Technology,Zhengzhou 450007,China)
A designmethod of data acquisition system based on CPLD(complex programmable logic device)was introduced in this paper.The hardware circuit buildup,connection of periphery circuits,and the codes of programs and graphs are also described.This system realizes whole circuit signal acquisition,A/D conversion,data operation process and controlled digital tube display output.The experimental result shows that this system can read the temperature conversion for the digital quantity through the voltage,and its accuracy reaches±0.5℃,which can satisfy the temperature measurement requirements between 15℃to 50℃.
CPLD;A/D conversion;data acquisition
TN919
A
10.3969/j.issn.1671-6906.2011.03.0014
1671-6906(2011)03-0059-04
2011-04-28
肖俊明(1959-),男,河南衛(wèi)輝人,副教授.