<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 一種高速數據采集卡的設計與實(shí)現

一種高速數據采集卡的設計與實(shí)現

作者: 時(shí)間:2011-03-16 來(lái)源:網(wǎng)絡(luò ) 收藏

4 CPLD在數據卡中的應用
CPLD作為整個(gè)數據過(guò)程的控制核心,負責地址譯碼、多路開(kāi)關(guān)選通、A/D轉換啟動(dòng)、將轉換結果寫(xiě)入FIFO以及兩片FIFO之間的切換等一系列操作。它的三個(gè)功能模塊分別為:地址譯碼模塊、多路開(kāi)關(guān)控制模塊、A/D采樣及FIFO控制模塊。
4.1 地址譯碼模塊
該模塊實(shí)現了CPLD內部與PC/104總線(xiàn)的接口單元。本數據卡是作為PC/104的標準外設進(jìn)行工作的。PC/104規定,外設的操作地址為A[9:0],在系統軟件設計中要防止地址沖突。PC/104中使用A0~A9地址位來(lái)表示I/O端口地址,即可有1 024個(gè)口地址,前512個(gè)供系統板使用,后512個(gè)供擴充插槽使用,當A9=O時(shí)表示系統板上的口地址;當A9=1時(shí)表示擴充插槽接口卡上的口地址。因此本數據采集板的基地址由A[9:4]來(lái)確定,偏移地址由地址線(xiàn)的A[3:O]確定,選擇該地址就意味著(zhù)相應的操作,CPLD對地址進(jìn)行譯碼后就產(chǎn)生相應的控制。在Qu-artusⅡ上設計的地址譯碼模塊原理圖程序如圖4所示。

地址譯碼的工作過(guò)程為:在撥碼開(kāi)關(guān)上手工設基地址,在CPLD內部劃出一片74LS688地址比較器,比較CPU發(fā)出的基地址與手工設定的基地址是否一致,若不一致,則地址譯碼電路不工作,進(jìn)而整個(gè)數據采集板都不工作;若一致,則74LS688輸出低電平,使得偏移地址譯碼電路中的4-16譯碼器74LS154正常工作,在IOR,IOW信號的作用下產(chǎn)生各種控制信號,使數據采集板正常工作。
4.2 多路開(kāi)關(guān)控制模塊
該模塊實(shí)現了對八選一多路選擇開(kāi)關(guān)ADG508A的選通控制。通過(guò)控制使能引腳EN以及CH0~CH2引腳,可對多路開(kāi)關(guān)的輸入通道進(jìn)行可編程選擇。PC/104CPU通過(guò)地址譯碼選中CSWE[2],并寫(xiě)入數據D0~D7,就可以選擇不同的通道導通。在QuartusⅡ上設計的多路開(kāi)關(guān)控制模塊原理圖程序如圖5所示。

d.JPG


4.3 A/D采樣及FIFO控制模塊
該模塊主要負責A/D芯片的轉換時(shí)序,實(shí)現對A/D采樣的合理控制,同時(shí)將轉換數據存入FIFO中,并且控制著(zhù)兩片FIFO的輪流存儲,實(shí)現大量數據的采集。PC/104CPU通過(guò)地址譯碼選中CSWE[O],寫(xiě)入數據D0~D7,將與門(mén)inst15打開(kāi),輸出端ENCODE1輸出100 MHz的時(shí)鐘信號,PWRDWN1端輸出為低電平,啟動(dòng)A/D轉換,同時(shí),與門(mén)inst14被打開(kāi),WCLK1端輸出100 MHz時(shí)鐘,將轉換后的數據存入FIFO(1)中。選中CSRD[0],寫(xiě)人數據D0~D7,將與門(mén)inst21打開(kāi),OE2端輸出低電平,使CY7C4261(2)輸出使能,RCLK2端輸出100 MHz的時(shí)鐘信號,將數據讀出。當FIFO(1)存儲滿(mǎn)時(shí),CPLD控制由FIFO(2)來(lái)進(jìn)行存儲,同時(shí)將FIFO(1)中的數據讀出;當FIFO(2)存儲滿(mǎn)時(shí),轉由FIFO(1)進(jìn)行存儲,同時(shí)將FIFO(2)中數據讀出。如此反復,直至預定的延時(shí)時(shí)間止,實(shí)現了兩片FIFO的輪流存儲和讀取,進(jìn)而達到了采集大量數據的目的。另外,在每次采樣及向FIFO中存儲數據之前,都要求選通CSWE[5]或CSWE[6]將FIFO芯片復位,使其讀指針和寫(xiě)指針都指向第一個(gè)物理存儲地址。在QuartusⅡ上設計的A/D采樣及FIFO控制模塊原理圖程序如圖6所示。

e.JPG


CPLD硬件控制邏輯設計的關(guān)鍵是分析各個(gè)器件的工作時(shí)序和采樣保持時(shí)間,A/D轉換時(shí)間以及數據存入FIFO的時(shí)間等。在設計的時(shí)序處理進(jìn)程中,要根據CPLD的工作頻率計算各個(gè)等待周期,等器件準備好以后才能進(jìn)行下一個(gè)處理。

5 結語(yǔ)
采用CPLD和FIFO器件設計了一種基于PC/104總線(xiàn)的采集卡,它可以作為PC/104總線(xiàn)標準模件使用。該采集板上的大部分控制邏輯被集成到CPLD芯片中,大大減少了擴展卡上的器件數量,同時(shí)降低了系統成本,提高了系統的可靠性。該數據采集板非常適合搭建高密度、小體積的便攜式測試設備,可廣泛應用于武器控制系統的測試等多種場(chǎng)合,對控制系統的模擬量信號進(jìn)行快速、實(shí)時(shí)的數據采集和分析。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 高速數據 采集 卡的設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>