《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于CPLD 的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
基于CPLD 的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
電子市場(chǎng)
摘要: 隨著數(shù)字化生活的到來(lái), 數(shù)據(jù)采集系統(tǒng)在日常生活中的應(yīng)用越來(lái)越顯著。模擬信號(hào)和數(shù)字信號(hào)之間的轉(zhuǎn)換已成為計(jì)算機(jī)控制系統(tǒng)中不可缺少的環(huán)節(jié)。較傳統(tǒng)數(shù)據(jù)采集系統(tǒng), 以可編程邏輯器件實(shí)現(xiàn)的數(shù)據(jù)采集系統(tǒng)具有時(shí)鐘頻率高,內(nèi)部延時(shí)小, 速度快, 效率高, 組成形式靈活等特點(diǎn)。
關(guān)鍵詞: CPLD 多路數(shù)據(jù)采集
Abstract:
Key words :

     摘 要:隨著數(shù)字化生活的到來(lái), 數(shù)據(jù)采集系統(tǒng)在日常生活中的應(yīng)用越來(lái)越顯著。模擬信號(hào)和數(shù)字信號(hào)之間的轉(zhuǎn)換已成為計(jì)算機(jī)控制系統(tǒng)中不可缺少的環(huán)節(jié)。較傳統(tǒng)數(shù)據(jù)采集系統(tǒng), 以可編程邏輯器件實(shí)現(xiàn)的數(shù)據(jù)采集系統(tǒng)具有時(shí)鐘頻率高,內(nèi)部延時(shí)小, 速度快, 效率高, 組成形式靈活等特點(diǎn)。

  數(shù)據(jù)采集系統(tǒng)具有極強(qiáng)的通用性, 可廣泛應(yīng)用于軍事、工業(yè)生產(chǎn)、科學(xué)研究和日常生活中。隨著計(jì)算機(jī)的普及, 數(shù)據(jù)采集系統(tǒng)在日常生活中的應(yīng)用越來(lái)越顯著。

  由于基于DSP 芯片的高速電子器件成本和制作工藝,以及高密集的技術(shù)含量, 使得高速數(shù)據(jù)采集卡的價(jià)格昂貴。而復(fù)雜可編程邏輯器件( CPLD) 能夠?qū)⒋罅康倪壿嫻δ芗捎谝粋€(gè)單片集成電路中, 以其時(shí)鐘頻率高,內(nèi)部延時(shí)小, 速度快, 效率高, 組成形式靈活等特點(diǎn)在高速數(shù)據(jù)采集方面有著單片機(jī)和DSP 無(wú)法比擬的優(yōu)勢(shì)。

  1  設(shè)計(jì)思路

  該系統(tǒng)由數(shù)據(jù)輸入單元、數(shù)據(jù)處理單元、數(shù)據(jù)輸出單元三大部分組成。其中數(shù)據(jù)輸入單元是由狀態(tài)機(jī)控制ADC0809 實(shí)現(xiàn)。輸人信號(hào)可以是各種形式, 它可以是語(yǔ)音信號(hào)、調(diào)制后的電話信號(hào)、編碼的數(shù)字信號(hào)、壓縮的圖像信號(hào), 也可以是各種傳感器輸出的信號(hào)。A/ D能將模擬信號(hào)變換成數(shù)字信號(hào), 但必須滿足香農(nóng)采樣定理, 也就是為了保證不丟失信息的所有信息, 采樣頻率必須高于輸入信號(hào)最高頻率的2 倍。A/ D 變換后得到的數(shù)字信號(hào)輸人到CPLD 芯片; 再由CPLD 芯片對(duì)該數(shù)字信號(hào)進(jìn)行各種數(shù)字信號(hào)算法的處理。經(jīng)過(guò)處理后的數(shù)字信號(hào)再經(jīng)過(guò)數(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)換控制信號(hào), 高電平有效;ALE 是3 位通道選擇地址( ADDC, ADDB, ADDA ) 信號(hào)的鎖存信號(hào), 高電平有效; EOC 是轉(zhuǎn)換情況狀態(tài)信號(hào)( 類似于AD574 的STA TU S) , 當(dāng)啟動(dòng)轉(zhuǎn)換約100 s后, EOC 產(chǎn)生一個(gè)高電平, 以示轉(zhuǎn)換結(jié)束, 轉(zhuǎn)換期間一直處于低電平。一旦ST ART 有效后, 狀態(tài)信號(hào)EOC即變?yōu)榈碗娖剑?表示進(jìn)入轉(zhuǎn)化狀態(tài)。轉(zhuǎn)換結(jié)束后, EOC將變?yōu)楦唠娖?。OE 為數(shù)據(jù)輸出允許信號(hào), 當(dāng)OE 為高電平時(shí), 則控制打開三態(tài)緩沖器, 把轉(zhuǎn)換好的8 位數(shù)據(jù)結(jié)果輸至數(shù)據(jù)總線。其工作時(shí)序如圖1 所示。

ADC0809 工作時(shí)序圖

圖1 ADC0809 工作時(shí)序圖。

  對(duì)ADC0809 的工作過(guò)程分析可知:其工作處于6 個(gè)狀態(tài)。在狀態(tài)St1 中, ALE 高電平將ADC0809 的8 路采樣輸入通道地址存入ADC0809 地址鎖存器中。在狀態(tài)St3 中需要對(duì)ADC0809 工作狀態(tài)信號(hào)EOC 進(jìn)行循環(huán)檢測(cè), 如果為低電平, 表示轉(zhuǎn)換沒有結(jié)束, 仍需要停留在St3 狀態(tài)中等待, 直到EOC 變成高電平后才說(shuō)明轉(zhuǎn)換結(jié)束, 在下一時(shí)鐘脈沖到來(lái)時(shí)轉(zhuǎn)向狀態(tài)St4。在狀態(tài)St4, 由狀態(tài)機(jī)向ADC0809 發(fā)出轉(zhuǎn)換好的8 位數(shù)據(jù)輸出命令, 這一狀態(tài)周期同時(shí)可作為數(shù)據(jù)輸出穩(wěn)定周期, 以便能在下一狀態(tài)中向鎖存器中鎖入可靠的數(shù)據(jù)。

  在狀態(tài)St5, 由狀態(tài)機(jī)向CPLD 中的鎖存信號(hào)( LOCK的上升沿) , 將ADC0809 輸出的數(shù)據(jù)進(jìn)行鎖存。其采樣控制狀態(tài)圖如圖2 所示。

ADC0809 采樣控制狀態(tài)圖

圖2 ADC0809 采樣控制狀態(tài)圖。

  2. 2  數(shù)據(jù)處理電路

  數(shù)據(jù)處理電路通過(guò)VHDL 程序?qū)崿F(xiàn), 該電路的主要功能是對(duì)外部輸入信號(hào)進(jìn)行循環(huán)檢測(cè), 當(dāng)k1 為1時(shí), 該器件處于數(shù)據(jù)采集和處理模式。這里的數(shù)據(jù)處理就是對(duì)其輸入的數(shù)字信號(hào)進(jìn)行擴(kuò)大2 倍或縮小到原來(lái)的1/ 2, 其中fun 用來(lái)選擇輸入方式。在采集數(shù)據(jù)的時(shí)候還可以選擇所采數(shù)據(jù)是ADC0809 中的哪一路, 并完成在七段數(shù)碼器上顯示。其原理如圖3 所示。

數(shù)據(jù)處理原理圖

圖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)的模擬電壓信號(hào), 所以通過(guò)一個(gè)高輸入阻抗的線性運(yùn)算放大器實(shí)現(xiàn)。其連線如圖4 所示。

DAC0832 連線圖

圖4 DAC0832 連線圖。

  3  電路的VHDL描述:

  數(shù)據(jù)采集控制電路、數(shù)據(jù)處理電路均是使用硬件描述語(yǔ)言VHDL ( Very High Speed Integr ated Circuit Hardw are Description Languag e) 設(shè)計(jì)而成。例如:數(shù)據(jù)采集控制模塊設(shè)計(jì)如下:

  VHDL 語(yǔ)言具有多層次的電路設(shè)計(jì)描述功能, 既可描述系統(tǒng)級(jí)電路, 也可以描述門級(jí)電路; 描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述, 也可以采用三者的混合描述方式。VHDL 語(yǔ)言的強(qiáng)大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型, 采用VHDL語(yǔ)言描述硬件電路時(shí), 設(shè)計(jì)人員并不需要首先考慮選擇進(jìn)行設(shè)計(jì)的器件。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化, 而不需要考慮其他的問(wèn)題。當(dāng)硬件電路的設(shè)計(jì)描述完成以后, VHDL 語(yǔ)言允許采用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn) 。

  4  系統(tǒng)的波形仿真

  在數(shù)據(jù)處理電路中, 當(dāng)gate= ‘1’ , 整個(gè)器件處于數(shù)據(jù)采集及處理模式, 選擇不同的工作方式, 即fun 值, 可實(shí)現(xiàn)不同的數(shù)據(jù)處理, 當(dāng)do 為0 時(shí), 其波形仿真如圖5所示。從仿真波形中可以看出輸入數(shù)據(jù)等于輸出數(shù)據(jù),在通過(guò)輸出運(yùn)放, 使輸出值增大2 倍, 從而使輸出數(shù)據(jù)為輸入數(shù)據(jù)的2 倍。

數(shù)據(jù)處理的仿真波形

圖5  數(shù)據(jù)處理的仿真波形。

  在數(shù)據(jù)處理電路中, 當(dāng)gate= ‘0’ , 整個(gè)器件處于循環(huán)檢測(cè)的模式, 當(dāng)輸入數(shù)據(jù)超出預(yù)設(shè)值時(shí)就進(jìn)行報(bào)警,即alm= %1 , 當(dāng)無(wú)輸入值大于預(yù)設(shè)值時(shí), 就進(jìn)行循環(huán)檢測(cè)。其波形仿真如圖6 所示。

循環(huán)檢測(cè)模式仿真波形

圖6  循環(huán)檢測(cè)模式仿真波形。

  5  結(jié) 語(yǔ)

  設(shè)計(jì)了基于CPLD 的多路異步數(shù)據(jù)采集系統(tǒng), 系統(tǒng)中使用狀態(tài)機(jī)控制數(shù)據(jù)的采集, 使用ADC0832 進(jìn)行數(shù)/ 模轉(zhuǎn)換。同時(shí)利用CPLD 強(qiáng)大的數(shù)字處理功能和高密集成的特點(diǎn), 降低了硬件的成本, 簡(jiǎn)化了電路設(shè)計(jì),并配合軟件增加了系統(tǒng)的靈活性和可擴(kuò)充性, 具有很好的經(jīng)濟(jì)效益和社會(huì)效益。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。