一種高速數(shù)據(jù)采集卡的設(shè)計與實現(xiàn)
4 CPLD在數(shù)據(jù)采集卡中的應用
CPLD作為整個數(shù)據(jù)采集過程的控制核心,負責地址譯碼、多路開關(guān)選通、A/D轉(zhuǎn)換啟動、將轉(zhuǎn)換結(jié)果寫入FIFO以及兩片F(xiàn)IFO之間的切換等一系列操作。它的三個功能模塊分別為:地址譯碼模塊、多路開關(guān)控制模塊、A/D采樣及FIFO控制模塊。
4.1 地址譯碼模塊
該模塊實現(xiàn)了CPLD內(nèi)部與PC/104總線的接口單元。本數(shù)據(jù)采集卡是作為PC/104的標準外設(shè)進行工作的。PC/104規(guī)定,外設(shè)的操作地址為A[9:0],在系統(tǒng)軟件設(shè)計中要防止地址沖突。PC/104中使用A0~A9地址位來表示I/O端口地址,即可有1 024個口地址,前512個供系統(tǒng)板使用,后512個供擴充插槽使用,當A9=O時表示系統(tǒng)板上的口地址;當A9=1時表示擴充插槽接口卡上的口地址。因此本數(shù)據(jù)采集板的基地址由A[9:4]來確定,偏移地址由地址線的A[3:O]確定,選擇該地址就意味著相應的操作,CPLD對地址進行譯碼后就產(chǎn)生相應的控制。在Qu-artusⅡ上設(shè)計的地址譯碼模塊原理圖程序如圖4所示。
地址譯碼的工作過程為:在撥碼開關(guān)上手工設(shè)基地址,在CPLD內(nèi)部劃出一片74LS688地址比較器,比較CPU發(fā)出的基地址與手工設(shè)定的基地址是否一致,若不一致,則地址譯碼電路不工作,進而整個數(shù)據(jù)采集板都不工作;若一致,則74LS688輸出低電平,使得偏移地址譯碼電路中的4-16譯碼器74LS154正常工作,在IOR,IOW信號的作用下產(chǎn)生各種控制信號,使數(shù)據(jù)采集板正常工作。
4.2 多路開關(guān)控制模塊
該模塊實現(xiàn)了對八選一多路選擇開關(guān)ADG508A的選通控制。通過控制使能引腳EN以及CH0~CH2引腳,可對多路開關(guān)的輸入通道進行可編程選擇。PC/104CPU通過地址譯碼選中CSWE[2],并寫入數(shù)據(jù)D0~D7,就可以選擇不同的通道導通。在QuartusⅡ上設(shè)計的多路開關(guān)控制模塊原理圖程序如圖5所示。
4.3 A/D采樣及FIFO控制模塊
該模塊主要負責A/D芯片的轉(zhuǎn)換時序,實現(xiàn)對A/D采樣的合理控制,同時將轉(zhuǎn)換數(shù)據(jù)存入FIFO中,并且控制著兩片F(xiàn)IFO的輪流存儲,實現(xiàn)大量數(shù)據(jù)的采集。PC/104CPU通過地址譯碼選中CSWE[O],寫入數(shù)據(jù)D0~D7,將與門inst15打開,輸出端ENCODE1輸出100 MHz的時鐘信號,PWRDWN1端輸出為低電平,啟動A/D轉(zhuǎn)換,同時,與門inst14被打開,WCLK1端輸出100 MHz時鐘,將轉(zhuǎn)換后的數(shù)據(jù)存入FIFO(1)中。選中CSRD[0],寫人數(shù)據(jù)D0~D7,將與門inst21打開,OE2端輸出低電平,使CY7C4261(2)輸出使能,RCLK2端輸出100 MHz的時鐘信號,將數(shù)據(jù)讀出。當FIFO(1)存儲滿時,CPLD控制由FIFO(2)來進行存儲,同時將FIFO(1)中的數(shù)據(jù)讀出;當FIFO(2)存儲滿時,轉(zhuǎn)由FIFO(1)進行存儲,同時將FIFO(2)中數(shù)據(jù)讀出。如此反復,直至預定的延時時間止,實現(xiàn)了兩片F(xiàn)IFO的輪流存儲和讀取,進而達到了采集大量數(shù)據(jù)的目的。另外,在每次采樣及向FIFO中存儲數(shù)據(jù)之前,都要求選通CSWE[5]或CSWE[6]將FIFO芯片復位,使其讀指針和寫指針都指向第一個物理存儲地址。在QuartusⅡ上設(shè)計的A/D采樣及FIFO控制模塊原理圖程序如圖6所示。
CPLD硬件控制邏輯設(shè)計的關(guān)鍵是分析各個器件的工作時序和采樣保持時間,A/D轉(zhuǎn)換時間以及數(shù)據(jù)存入FIFO的時間等。在設(shè)計的時序處理進程中,要根據(jù)CPLD的工作頻率計算各個等待周期,等器件準備好以后才能進行下一個處理。
5 結(jié)語
采用CPLD和FIFO器件設(shè)計了一種基于PC/104總線的高速數(shù)據(jù)采集卡,它可以作為PC/104總線標準模件使用。該采集板上的大部分控制邏輯被集成到CPLD芯片中,大大減少了擴展卡上的器件數(shù)量,同時降低了系統(tǒng)成本,提高了系統(tǒng)的可靠性。該數(shù)據(jù)采集板非常適合搭建高密度、小體積的便攜式測試設(shè)備,可廣泛應用于武器控制系統(tǒng)的測試等多種場合,對控制系統(tǒng)的模擬量信號進行快速、實時的數(shù)據(jù)采集和分析。
評論