本文設(shè)計了一種基于CPLD和USB接口的通用數(shù)據(jù)采集卡,采用AD7606芯片進行數(shù)據(jù)采集,以CPLD作為主控芯片,通過CY7C68013A芯片與計算機完成USB通信,實現(xiàn)數(shù)據(jù)傳輸,上位機程序采用LabVIEW軟件進行開發(fā)。
【關(guān)鍵詞】AD7606 CPLD USB接口 數(shù)據(jù)采集卡 LabVIEW
1 前言
數(shù)據(jù)采集系統(tǒng)一般由由傳感器、數(shù)據(jù)采集卡和帶有可編程軟件的計算機組成?;谟嬎銠C的數(shù)據(jù)采集系統(tǒng)利用行業(yè)標準計算機的處理、顯示和連通能力,能夠靈活方便且低成本地實現(xiàn)滿足用戶需要測量方案。數(shù)據(jù)采集卡就是實現(xiàn)數(shù)據(jù)采集功能的計算機擴展卡,數(shù)據(jù)采集卡接口種類有很多,例如PCI、ISA、PXI、RS-232等。這些都屬于傳統(tǒng)接口,體積較大,不支持熱插拔,缺點比較明顯。USB接口能夠完美解決上述問題,因此本文采用USB接口設(shè)計數(shù)據(jù)采集卡。
2 系統(tǒng)硬件設(shè)計
本文所設(shè)計的USB數(shù)據(jù)采集卡主要包括以下模塊:A/D模塊、主控模塊和USB模塊。A/D模塊主要負責(zé)采集信號,然后將信號發(fā)送給主控模塊。主控模塊主要負責(zé)控制A/D模塊的A/D芯片完成采集,然后將數(shù)據(jù)寫入到USB芯片的FIFO緩存區(qū)中。USB模塊主要負責(zé)與計算機進行通信,當(dāng)FIFO緩存區(qū)滿時,將數(shù)據(jù)發(fā)送給計算機。如圖1所示為USB數(shù)據(jù)采集卡的系統(tǒng)框圖。
3 系統(tǒng)模塊介紹
3.1 A/D模塊
USB數(shù)據(jù)采集卡的A/D模塊采用的是AD7606芯片,AD7606是ADI公司推出的8通道數(shù)據(jù)采集系統(tǒng)(DAS),該芯片具有16位分辨率,采樣頻率達到200K,通過5V單電源進行供電,可以采集±10V或±5V的輸入信號,具有片內(nèi)過壓保護功能。AD7606具有片內(nèi)濾波和高輸入阻抗,因此無需驅(qū)動運算放大器和外部雙極性電源,可簡化電路設(shè)計。
3.2 主控模塊
USB數(shù)據(jù)采集卡的主控模塊采用的是EPM1270芯片,EPM1270芯片是Altera公司MAX II系列的CPLD芯片,CPLD是復(fù)雜可編程邏輯器件的簡稱,傳統(tǒng)的CPLD是由PAL、GAL器件發(fā)展而來。EPM1270采用FLASH工藝,不需要外部存儲器芯片,程序能夠直接保存在芯片中,不需要外接芯片,擁有1270個邏輯單元,只要構(gòu)建好簡單的下載、復(fù)位以及晶振電路即可使用,簡單方便,采用3.3V電源供電。
3.3 USB模塊
本USB數(shù)據(jù)采集卡的USB模塊采用的就是是CY7C68013A芯片,CY68013A芯片是一款高集成、低功耗的USB2.0微控制器,其內(nèi)部主要包括USB2.0收發(fā)器、串行接口引擎(SIE)、增強型8051內(nèi)核、16KB的RAM、4KB的FIFO存儲器、I/O接口、數(shù)據(jù)總線、地址總線和通用可編程接口(GPIF)。其串行接口引擎(SIE)負責(zé)完成串行數(shù)據(jù)的解碼、差錯控制、位填充等與USB協(xié)議有關(guān)的功能。串行接口引擎(SIE)能夠?qū)崿F(xiàn)大部分的功能,從而減輕了嵌入式增強型8051的負擔(dān),簡化了USB固件程序的開發(fā),使開發(fā)者不需要去深入了解USB協(xié)議的內(nèi)容,也能實現(xiàn)USB接口的設(shè)計。
4 軟件設(shè)計
USB數(shù)據(jù)采集卡的軟件設(shè)計包括兩個部分:固件程序和上位機程序。固件程序包括CPLD芯片的固件程序和USB芯片的固件程序。上位機程序包括USB數(shù)據(jù)采集卡驅(qū)動程序和LabVIEW上位機程序。
CPLD芯片內(nèi)部的固件程序分為兩個子程序:A/D采集程序和數(shù)據(jù)傳輸程序。A/D采集程序主要用來控制AD7606芯片,CPLD芯片從AD7606讀取到數(shù)據(jù)后,需要將數(shù)據(jù)寫入CY7C68013A芯片的FIFO緩存區(qū)內(nèi),這一過程由數(shù)據(jù)傳輸程序完成。要實現(xiàn)數(shù)據(jù)傳輸首先需要對CY7C68013A芯片的固件程序進行開發(fā),將該芯片配置為Slave FIFO模式。
USB數(shù)據(jù)采集卡的驅(qū)動程序采用的設(shè)計方法是通過NI-VISA的Driver Wizard工具為數(shù)據(jù)采集卡創(chuàng)建驅(qū)動程序,簡單方便。LabVIEW上位機程序通過前面板的“VISA resource name”控件選取USB數(shù)據(jù)采集卡,然后通過“VISA Open”函數(shù)打開USB數(shù)據(jù)采集卡,打開之后通過“VISA Read”函數(shù)讀取計算機緩存區(qū)中的數(shù)據(jù),然后通過格式轉(zhuǎn)換和數(shù)據(jù)處理得到電感傳感器的位移值。
5 總結(jié)
本文設(shè)計了一種基于CPLD和USB接口的數(shù)據(jù)采集卡,詳細介紹了各模塊的組成,以及上位機軟件的設(shè)計。該設(shè)計能夠降低數(shù)據(jù)采集系統(tǒng)的硬件成本,具有很大的實用價值。
參考文獻
[1]呂洪發(fā).基于USB2.0的膠囊內(nèi)窺鏡圖像數(shù)據(jù)傳輸模塊的設(shè)計[D].南京航空航天大學(xué),2007.
[2]藺守河.USB加密卡的硬件架構(gòu)研究與設(shè)計[D].解放軍信息工程大學(xué),2006.
[3]楊波,劉延波.具有USB2.0接口的高速數(shù)據(jù)采集卡設(shè)計[J].單片機及嵌入式系統(tǒng)應(yīng)用,2004.
作者簡介
黨連春(1990-),男,安徽省天長市人?,F(xiàn)為合肥工業(yè)大學(xué)碩士研究生在讀學(xué)生。研究方向為現(xiàn)代精度理論及其應(yīng)用。
作者單位
合肥工業(yè)大學(xué)儀器科學(xué)與光電工程學(xué)院 安徽省合肥市 230009