肖俊明,劉鵬程,杜迎虎,祝海明
(中原工學院,鄭州 450007)
基于CPLD的多路溫度數據采集系統的設計
肖俊明,劉鵬程,杜迎虎,祝海明
(中原工學院,鄭州 450007)
提出了一種基于CPLD的溫度數據采集系統的設計方案,介紹了系統軟硬件、外圍電路,芯片間電路連接和程序的設計方法,實現了溫度信號采集、A/D轉換、數據運算處理和控制數碼管顯示輸出.仿真結果表明,本系統可將溫度通過電壓轉換為可讀的數字量,并且精度達到±0.5℃,能夠滿足15~50℃的一般溫度采集要求.
CPLD;A/D轉換;數據采集
在數字技術飛速發展的今天,將各種模擬信號轉化為數字信號再進行相應的處理,不僅可以提高系統性能,還可以充分利用現代信號的各種處理算法,提高系統的靈活性和可靠性[1].
CPLD不僅在速度上能滿足高速數字信號處理的要求,而且可編程資源也大大增加,具有在線可編程功能,從而提高了系統的靈活性和適應性.在開發周期較短或對系統靈活性要求較高的場所,CPLD能夠提供比專用高速數字信號處理器件更高的系統速度和更好的解決方案[2].本文提出了一種基于CPLD的多路溫度數據采集系統的設計方案.
本系統采用CPLD作為主控制單元,負責系統采樣通道的巡回、產生工作時鐘和控制ADC0809進行數據采集.系統采集的模擬信號經過A/D轉換器轉換成數字信號,由控制電路將數據送入控制系統,然后對數據進行處理,將數據進行碼制轉換,由七段LED顯示出數值.本系統中 A/D轉換器采用的是ADC0809.ADC0809是CMOS單片型逐次逼近式A/D轉換器,它具有轉換速度快、分辨率高、功耗低以及價格便宜等優點,被廣泛地應用于微電腦的接口設計上.圖1所示為該溫度數據采集系統基本結構框架.

圖1 系統基本結構框架
此模塊采用溫度傳感器AD590作為攝溫元件,將氣溫轉換為模擬電壓量,然后經過LM 324將信號放大.圖2所示為信號調理模塊電路圖.集成溫度傳感器實質上是一種半導體集成電路,它是利用晶體管的b-e結壓降的不飽和值VBE與熱力學溫度T和通過發射極電流I的下述關系實現對溫度的檢測:

圖2 信號調理模塊電路圖

式中:K-波爾茲常數;q-電子電荷絕對值.
由于AD590輸出的信號是電流信號,所以首先要把電流信號轉換成電壓信號.利用AD590設計測量溫度電路時,首先經過一個電阻將AD590的電流值送出,后面再通過10倍放大倍數的電壓跟隨器將其電流信號轉換為電壓信號.
一個溫度數據采集系統(A/D轉換)往往要采集多路模擬信號,通常只用一片A/D轉換芯片輪流選擇輸入信號進行采集,既節省了硬件資源,又不影響對系統的監測與控制.許多A/D轉換芯片內部具備多路轉換開關,一片A/D轉換芯片可以輪流采集多路模擬輸入信號.如果A/D轉換芯片不具有多路轉換功能,要在信號進行A/D轉換之前加上模擬多路轉換開關[3].
本系統中A/D轉換模塊采用ADC0809,它不具備多路轉換功能,因此要采集32路模擬信號,需要進行采集通道的擴展.CD4051是一個八選一模擬開關,此系統采集的是32路信號,因此需要4片CD4051.經傳感器輸出的電壓信號送入CD4051等待被選通;用CPLD控制CD4051的信號選通,經2-4譯碼器分別接到4片CD4051的片選INH,同時控制4片CD4051的A口、B口、C口.經過通道的擴展,并接 4片CD4051,就可以實現三十二選一的功能.
在本模塊的設計中,ADC0809通過 ALE、START、EOC、0E、Data[0 …7]、ADDA、ADDB、ADDC、CL K信號與CPLD相連.A/D轉換模塊電路圖如圖3所示.
系統的CPLD使用MAX+PLUSⅡ軟件進行設計,采用V HDL硬件描述語言進行軟件編程[4].CPLD包含了三大功能模塊,分別是A/D采樣控制模塊、二至十進制轉換及調整模塊和數據輸出顯示模塊.

圖3 A/D轉換模塊電路圖
本模塊采用雙進程有限狀態機產生ADC0809的工作時序,設計st0~st7共8個工作狀態.st0:初始狀態;st1:產生 ALE的上升沿,將地址“001”鎖入ADC0809的地址寄存器中;st2:產生采樣信號START上升沿,開始A/D轉換;st3:START信號延時一個脈沖;st4:A/D轉換未結束,等待;st5:數據轉換結束,開啟輸出允許OE;st6:輸出允許OE延時一個脈沖;st7:開啟數存信號LOCK,數據從ADC0809傳送到EPM 7128SLC84-15[5].
根據ADC0809的工作時序,可以采用查詢信號EOC方式,通過CPLD實現對ADC0809的信號采樣控制.信號采樣控制模塊的流程如圖4所示.

圖4 ADC0809信號采樣控制模塊流程
二進制數為8位,本模塊把二進制數分成高4位和低4位,然后計算出對應的電壓值,再將對應的3位BCD碼列成表格,通過查表將BCD碼相加,最終得到3組BCD碼分別對應的高、中、低3位的輸出顯示[6].
例如:ADC0809的參考電壓(VREF/2)為2.56 V時,ADC0809轉換輸出的8位二進制數為[D7…0]=01111000(78H),高4位0111對應的電壓為2.24 V,用3組壓縮BCD碼表示為 001000100100;低 4位1000對應的電壓為0.16 V,用3組壓縮BCD碼表示為000000010110,于是總的輸入電壓為2.24+0.16=
在進行程序設計時,首先通過查表指令得出高4位和低4位分別所對應電壓的壓縮BCD碼,然后進行十進制加法運算和調整.表1所示為輸入電壓與輸出的8位二進制數之間的對應關系.

表1 模擬輸入電壓與輸出的8位二進制數之間的對應關系
該模塊主要完成系統采樣值的顯示.七段譯碼器采用共陰極接法,程序設計的流程是利用查表指令完成從BCD碼到七段顯示碼的轉換,小數點加在所顯示數據的最高位之后[7].
在MAX+PLUS II平臺下進行系統的仿真,得到如圖6所示結果.

圖6 ADC0809信號采樣控制模塊仿真波形
從仿真波形可以看出,在地址鎖存允許輸入信號ALE有效后,接著輸入啟動轉換信號 START有效,開始A/D轉換.轉換結束后,則停留在st4狀態等待;轉換結束后,輸出轉換信號 EOC出現上升沿,且輸出允許信號 OE有效,在 OE控制下,轉換數字信號D7~D0輸出.系統符合ADC0809的工作時序要求,實現了對ADC089的采樣控制,達到了設計要求.
基于CPLD的多路溫度數據采集系統,以CPLD芯片為核心器件,控制A/D轉化器完成各種時序邏輯、計數、溫度采集,提高了系統的可靠性,縮短了研發的周期,使系統易于升級與擴展.仿真結果表明,此系統可將溫度通過電壓轉換為可讀的數字量,精度達到±0.5℃,能夠滿足15~50℃的一般溫度采集要求,應用前景廣闊.
[1]宋志強,余紅英.CPLD控制ADC0809實現多路數據采集[J].黑龍江科技信息,2009:66.
[2]劉卓夫,彭俠夫,李福義,等.FPGA在高速多通道數據采集中的應用[J].電測與儀表,2002,39(442):42-44.
[3]江小平,劉文杰.基于CPLD/FPGA的A/D轉換控制器的設計[J].蘇州大學學報(工科版),2005,25(4):53-55.
[4]李向舜,劉明慧.基于CPLD技術的A/D轉換器接口電路設計[J].壓電與聲光,2005,27(4):385-388.
[5]陳明明,李忠,鄭華.基于CPLD的A/D自動采樣接口[J].繼電器,2004,32(16):44-46.
[6]馮濤,王程.可編程邏輯器件開發技術[M].北京:人民郵電出版社,2002:179-208.
[7]李宜達.數字邏輯電路設計與實現[M].北京:科學出版社,2004:105-116.
[8]黃正謹,徐堅,章小麗,等.CPLD系統設計技術入門與應用[M].北京:電子工業出社,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-),男,河南衛輝人,副教授.