新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于CY7CO9449的高速PCI數(shù)據(jù)采集卡設(shè)計

基于CY7CO9449的高速PCI數(shù)據(jù)采集卡設(shè)計

作者: 時間:2010-09-01 來源:網(wǎng)絡(luò) 收藏


A/D控制模塊產(chǎn)生A/D器件的控制信號,從A/D讀取數(shù)據(jù),然后寫入FIFO。AD控制模塊的功能相對比較簡單,也比較容易實現(xiàn)。
因為在數(shù)據(jù)采集的過程中A/D采樣速度數(shù)據(jù)是固定的,但是數(shù)據(jù)傳輸有時速度很快而有時因為等待出現(xiàn)短時的阻塞。所以必須要有FIFO來緩沖采集的數(shù)據(jù)。FIFO模塊是用Quatus6.0的向?qū)傻?,只需要設(shè)定有關(guān)參數(shù)即可。FIFO的寫入和讀取使用同步接口邏輯,F(xiàn)IFO的存儲寬度是32位,其深度是512。
局部總線控制模塊從FIFO中讀取數(shù)據(jù)然后寫入C0的SRAM中。C0的局部總線支持同步數(shù)據(jù)傳輸,雖然它也兼容異步數(shù)據(jù)傳輸,但FPGA的局部總線控制模塊選用了同步數(shù)據(jù)傳輸邏輯,因為這樣可以獲得更高的數(shù)據(jù)傳輸速度。C0的局部總線支持最高的時鐘速度是50MHz,一次同步的突發(fā)數(shù)據(jù)傳輸在給出讀或?qū)懙钠鹗嫉刂分螅總€時鐘周期可以傳送一次數(shù)據(jù)。CY7C09449局部總線的數(shù)據(jù)總線寬度是32位,這使得局部總線的最高傳輸速度達200Mb/s。
在CY7C09449的局部總線上,F(xiàn)PGA處于類似于微處理器的地位,控制著局部總線數(shù)據(jù)傳輸?shù)闹鲃訖?quán)。FPGA的邏輯設(shè)計中,局部總線控制模塊的邏輯設(shè)計是獲得高速數(shù)據(jù)傳輸?shù)年P(guān)鍵。同步數(shù)據(jù)傳輸要比異步數(shù)據(jù)傳輸?shù)倪壿嫃碗s得多。在局部總線控制模塊的邏輯設(shè)計中使用了狀態(tài)
機,其設(shè)計的關(guān)鍵在于狀態(tài)機的狀態(tài)的定義和在各種條件下狀態(tài)的轉(zhuǎn)換。為了簡單起見這里不對多塊數(shù)據(jù)傳輸控制、中斷信號產(chǎn)生邏輯作討論而只介紹傳送一個數(shù)據(jù)塊的邏輯。
狀態(tài)機共定義了7個狀態(tài),各種狀態(tài)的轉(zhuǎn)換關(guān)系見圖3。

5c.jpg


在論述狀態(tài)機的工作過程之前,先就影響狀態(tài)機狀態(tài)轉(zhuǎn)換的一些信號作說明。
Reset信號就是CY7C09449的引腳RSOUTD輸出的信號,它由低到高的轉(zhuǎn)變將啟動FPGA進行一次數(shù)據(jù)采集。
FifoEmpty信號是由FIFO模塊提供的,用來指示FIFO是否為空,它為1時表示FIFO是空的,沒有數(shù)據(jù)要傳輸,否則表示FIFO內(nèi)有數(shù)據(jù)等待傳輸。
RdyOut信號是CY7C09449的引腳RDY OUT提供的信號,它用來指示CY7C09449的局部總線是否準備好數(shù)據(jù)傳輸。當RdyOut為高電平,表示CY7C09449的局部總線已經(jīng)準備好數(shù)據(jù)傳輸,反之表示CY7C09449的局部總線未準備好數(shù)據(jù)傳輸。
Last信號是用來指示將要寫的數(shù)據(jù)是否為本次突發(fā)傳輸要寫的最后一個數(shù)據(jù)。這個信號由局部總線控制模塊內(nèi)部產(chǎn)生。局部總線控制模塊內(nèi)部有一個計數(shù)器,當準備一次突發(fā)傳輸?shù)臅r候,就將要傳送的數(shù)據(jù)長度放入這個計數(shù)器內(nèi),每傳送一個雙字數(shù)據(jù)計數(shù)器的值就減去1,當且僅當計數(shù)器的值等于l的時候Last就為高電平。



關(guān)鍵詞: 9449 7CO CY7 PCI

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉