摘 要:隨著數(shù)字化生活的到來, 數(shù)據(jù)采集系統(tǒng)在日常生活中的應(yīng)用越來越顯著。模擬信號和數(shù)字信號之間的轉(zhuǎn)換已成為計算機(jī)控制系統(tǒng)中不可缺少的環(huán)節(jié)。較傳統(tǒng)數(shù)據(jù)采集系統(tǒng), 以可編程邏輯器件實(shí)現(xiàn)的數(shù)據(jù)采集系統(tǒng)具有時鐘頻率高,內(nèi)部延時小, 速度快, 效率高, 組成形式靈活等特點(diǎn)。
數(shù)據(jù)采集系統(tǒng)具有極強(qiáng)的通用性, 可廣泛應(yīng)用于軍事、工業(yè)生產(chǎn)、科學(xué)研究和日常生活中。隨著計算機(jī)的普及, 數(shù)據(jù)采集系統(tǒng)在日常生活中的應(yīng)用越來越顯著。
由于基于DSP 芯片的高速電子器件成本和制作工藝,以及高密集的技術(shù)含量, 使得高速數(shù)據(jù)采集卡的價格昂貴。而復(fù)雜可編程邏輯器件( CPLD) 能夠?qū)⒋罅康倪壿嫻δ芗捎谝粋€單片集成電路中, 以其時鐘頻率高,內(nèi)部延時小, 速度快, 效率高, 組成形式靈活等特點(diǎn)在高速數(shù)據(jù)采集方面有著單片機(jī)和DSP 無法比擬的優(yōu)勢。
1 設(shè)計思路
該系統(tǒng)由數(shù)據(jù)輸入單元、數(shù)據(jù)處理單元、數(shù)據(jù)輸出單元三大部分組成。其中數(shù)據(jù)輸入單元是由狀態(tài)機(jī)控制ADC0809 實(shí)現(xiàn)。輸人信號可以是各種形式, 它可以是語音信號、調(diào)制后的電話信號、編碼的數(shù)字信號、壓縮的圖像信號, 也可以是各種傳感器輸出的信號。A/ D能將模擬信號變換成數(shù)字信號, 但必須滿足香農(nóng)采樣定理, 也就是為了保證不丟失信息的所有信息, 采樣頻率必須高于輸入信號最高頻率的2 倍。A/ D 變換后得到的數(shù)字信號輸人到CPLD 芯片; 再由CPLD 芯片對該數(shù)字信號進(jìn)行各種數(shù)字信號算法的處理。經(jīng)過處理后的數(shù)字信號再經(jīng)過數(shù)/ 模轉(zhuǎn)換器ADC0832 將其輸出。
2 系統(tǒng)各部分的功能及實(shí)現(xiàn)
2. 1 數(shù)據(jù)輸入電路
數(shù)據(jù)輸入電路主要是由狀態(tài)機(jī)控制ADC0809 實(shí)現(xiàn)。其中START 為轉(zhuǎn)換控制信號, 高電平有效;ALE 是3 位通道選擇地址( ADDC, ADDB, ADDA ) 信號的鎖存信號, 高電平有效; EOC 是轉(zhuǎn)換情況狀態(tài)信號( 類似于AD574 的STA TU S) , 當(dāng)啟動轉(zhuǎn)換約100 s后, EOC 產(chǎn)生一個高電平, 以示轉(zhuǎn)換結(jié)束, 轉(zhuǎn)換期間一直處于低電平。一旦ST ART 有效后, 狀態(tài)信號EOC即變?yōu)榈碗娖剑?表示進(jìn)入轉(zhuǎn)化狀態(tài)。轉(zhuǎn)換結(jié)束后, EOC將變?yōu)楦唠娖健E 為數(shù)據(jù)輸出允許信號, 當(dāng)OE 為高電平時, 則控制打開三態(tài)緩沖器, 把轉(zhuǎn)換好的8 位數(shù)據(jù)結(jié)果輸至數(shù)據(jù)總線。其工作時序如圖1 所示。
圖1 ADC0809 工作時序圖。
對ADC0809 的工作過程分析可知:其工作處于6 個狀態(tài)。在狀態(tài)St1 中, ALE 高電平將ADC0809 的8 路采樣輸入通道地址存入ADC0809 地址鎖存器中。在狀態(tài)St3 中需要對ADC0809 工作狀態(tài)信號EOC 進(jìn)行循環(huán)檢測, 如果為低電平, 表示轉(zhuǎn)換沒有結(jié)束, 仍需要停留在St3 狀態(tài)中等待, 直到EOC 變成高電平后才說明轉(zhuǎn)換結(jié)束, 在下一時鐘脈沖到來時轉(zhuǎn)向狀態(tài)St4。在狀態(tài)St4, 由狀態(tài)機(jī)向ADC0809 發(fā)出轉(zhuǎn)換好的8 位數(shù)據(jù)輸出命令, 這一狀態(tài)周期同時可作為數(shù)據(jù)輸出穩(wěn)定周期, 以便能在下一狀態(tài)中向鎖存器中鎖入可靠的數(shù)據(jù)。
在狀態(tài)St5, 由狀態(tài)機(jī)向CPLD 中的鎖存信號( LOCK的上升沿) , 將ADC0809 輸出的數(shù)據(jù)進(jìn)行鎖存。其采樣控制狀態(tài)圖如圖2 所示。
圖2 ADC0809 采樣控制狀態(tài)圖。
2. 2 數(shù)據(jù)處理電路
數(shù)據(jù)處理電路通過VHDL 程序?qū)崿F(xiàn), 該電路的主要功能是對外部輸入信號進(jìn)行循環(huán)檢測, 當(dāng)k1 為1時, 該器件處于數(shù)據(jù)采集和處理模式。這里的數(shù)據(jù)處理就是對其輸入的數(shù)字信號進(jìn)行擴(kuò)大2 倍或縮小到原來的1/ 2, 其中fun 用來選擇輸入方式。在采集數(shù)據(jù)的時候還可以選擇所采數(shù)據(jù)是ADC0809 中的哪一路, 并完成在七段數(shù)碼器上顯示。其原理如圖3 所示。
圖3 數(shù)據(jù)處理原理圖。
2. 3 數(shù)據(jù)輸出電路
數(shù)據(jù)輸出電路由數(shù)/ 模轉(zhuǎn)換器DAC0832 實(shí)現(xiàn),ADC0832 為8 位分辨率A/ D 轉(zhuǎn)換芯片, 其內(nèi)部電源輸入與參考電壓的復(fù)用, 使得芯片的模擬電壓輸入在0~5 V之間。D/ A 轉(zhuǎn)換結(jié)果采用電流形式輸出。應(yīng)得到相應(yīng)的模擬電壓信號, 所以通過一個高輸入阻抗的線性運(yùn)算放大器實(shí)現(xiàn)。其連線如圖4 所示。
圖4 DAC0832 連線圖。
3 電路的VHDL描述:
數(shù)據(jù)采集控制電路、數(shù)據(jù)處理電路均是使用硬件描述語言VHDL ( Very High Speed Integr ated Circuit Hardw are Description Languag e) 設(shè)計而成。例如:數(shù)據(jù)采集控制模塊設(shè)計如下:
VHDL 語言具有多層次的電路設(shè)計描述功能, 既可描述系統(tǒng)級電路, 也可以描述門級電路; 描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述, 也可以采用三者的混合描述方式。VHDL 語言的強(qiáng)大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型, 采用VHDL語言描述硬件電路時, 設(shè)計人員并不需要首先考慮選擇進(jìn)行設(shè)計的器件。這樣做的好處是可以使設(shè)計人員集中精力進(jìn)行電路設(shè)計的優(yōu)化, 而不需要考慮其他的問題。當(dāng)硬件電路的設(shè)計描述完成以后, VHDL 語言允許采用多種不同的器件結(jié)構(gòu)來實(shí)現(xiàn) 。
4 系統(tǒng)的波形仿真
在數(shù)據(jù)處理電路中, 當(dāng)gate= ‘1’ , 整個器件處于數(shù)據(jù)采集及處理模式, 選擇不同的工作方式, 即fun 值, 可實(shí)現(xiàn)不同的數(shù)據(jù)處理, 當(dāng)do 為0 時, 其波形仿真如圖5所示。從仿真波形中可以看出輸入數(shù)據(jù)等于輸出數(shù)據(jù),在通過輸出運(yùn)放, 使輸出值增大2 倍, 從而使輸出數(shù)據(jù)為輸入數(shù)據(jù)的2 倍。
圖5 數(shù)據(jù)處理的仿真波形。
在數(shù)據(jù)處理電路中, 當(dāng)gate= ‘0’ , 整個器件處于循環(huán)檢測的模式, 當(dāng)輸入數(shù)據(jù)超出預(yù)設(shè)值時就進(jìn)行報警,即alm= %1 , 當(dāng)無輸入值大于預(yù)設(shè)值時, 就進(jìn)行循環(huán)檢測。其波形仿真如圖6 所示。
圖6 循環(huán)檢測模式仿真波形。
5 結(jié) 語
設(shè)計了基于CPLD 的多路異步數(shù)據(jù)采集系統(tǒng), 系統(tǒng)中使用狀態(tài)機(jī)控制數(shù)據(jù)的采集, 使用ADC0832 進(jìn)行數(shù)/ 模轉(zhuǎn)換。同時利用CPLD 強(qiáng)大的數(shù)字處理功能和高密集成的特點(diǎn), 降低了硬件的成本, 簡化了電路設(shè)計,并配合軟件增加了系統(tǒng)的靈活性和可擴(kuò)充性, 具有很好的經(jīng)濟(jì)效益和社會效益。