DDR SDRAM在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
機的動作,通過翻譯控制信號控制內(nèi)部狀態(tài)機產(chǎn)生控制DDR的正確時序信號,這一部分是主控制模塊的關(guān)鍵和難點,能否正確控制DDR的操作完全集中在此模塊
(2)外部刷新模塊是輔助主狀態(tài)機模塊控制DDR處于空閑狀態(tài)時的定時刷新
(3)地址發(fā)生模塊的作用是根據(jù)所接收由主控狀態(tài)機發(fā)送來的內(nèi)部命令產(chǎn)生所對應(yīng)的地址,然后將命令和對應(yīng)的地址同步發(fā)送給命令發(fā)送模塊
(4)命令發(fā)生模塊是與DDR芯片的接口部分,其將從地址模塊發(fā)送來的具體命令解釋成DDR所需的命令信號和控制信號以及所需的地址信號(AO~A12,BA0,BAl)
4 高速數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)設(shè)計
為了能更清楚地了解DDR在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用,這里將對基于CPCI總線的高速數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)進行描述高速數(shù)據(jù)采集系統(tǒng)的設(shè)計框圖如圖3所示
外部信號首先經(jīng)過模擬通道的調(diào)理達(dá)到A/D芯片的輸入要求,再通過A/D芯片將模擬信號轉(zhuǎn)換成數(shù)字信號送人FPGA處理當(dāng)處理器發(fā)出寫命令時,把數(shù)字信號在FIFO內(nèi)部進行緩存再送入DDR進行存儲.如果A/D的采樣速率為200 MSa/s,則可以使用133 MHz時鐘速率的DDR芯片即可達(dá)到要求但是在內(nèi)部進行緩存時存在一個問題,就是寫入F1F()的時鐘速率大于讀取FIFO的時鐘速率,這樣就會導(dǎo)致從A/D采樣過來的信號不能完整地存儲
在這種情況下通常采用數(shù)據(jù)分流的方式進行解決,即把采人FPGA的200 MHz的數(shù)據(jù)流分成2路100 M的數(shù)據(jù)流,分別存入相應(yīng)的FIFO內(nèi)再以133 MHz的時鐘速率讀出送DDR進行存儲,這樣就可以對信號進行完整的存儲當(dāng)然存儲過程還要通過DDR的控制模塊和FPGA內(nèi)部自帶的1P核的配合才能夠完成同理,當(dāng)處理器發(fā)出瀆命令時,在DDR控制模塊的控制下將DDR內(nèi)部數(shù)據(jù)讀回FPGA內(nèi)部,再次通過FIFO進行緩存通常采用40 M的時鐘速率將數(shù)據(jù)送回處理器處理,從DDR寫回FPGA的數(shù)據(jù)流時鐘速率為133 M,而從FIFO讀}IJ數(shù)據(jù)的時鐘速率為40 M;同樣存在著寫入FIFO的時鐘速率大于讀取的時鐘速率的現(xiàn)象,但足這里不仔在數(shù)據(jù)丟火的問題,岡為前端的分流處理已經(jīng)保證了數(shù)據(jù)的完整性這里只需對FIFO及DDR進行控制,即對FIFO的使用率做一個控制,當(dāng)FIFO的使用率大于某一值時,停止從DDR中讀取數(shù)據(jù);當(dāng)小于這個值時,繼續(xù)從DDR中讀取數(shù)據(jù)這樣就有足夠的數(shù)據(jù)可進行分析處理,從而重現(xiàn)信號特征
5 結(jié) 語
DDR在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用有很大的實際意義,他提高了系統(tǒng)的可靠性和數(shù)據(jù)的存儲深度,在一定程度上有效地減小了電路設(shè)計的尺寸DDR已經(jīng)被應(yīng)用于視頻采集、內(nèi)存設(shè)計等多個領(lǐng)域其關(guān)鍵技術(shù)是DDR時序控制模塊的設(shè)計
評論