DDR SDRAM在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在數(shù)據(jù)處理中為了更好地對被測對象進(jìn)行處理和分析,研究人員們把重點(diǎn)更多的放在高速、高精度、高存儲(chǔ)深度的數(shù)據(jù)采集系統(tǒng)的研究上
由于A/D芯片及高性能的FPGA的出現(xiàn),已經(jīng)可以實(shí)現(xiàn)高速高精度的數(shù)據(jù)處理,則進(jìn)行大批量高存儲(chǔ)深度的數(shù)據(jù)處理成為當(dāng)前要解決的主要問題
l 常用存儲(chǔ)器的比較
現(xiàn)在用于數(shù)據(jù)采集系統(tǒng)的存儲(chǔ)器常見的有先進(jìn)先出存儲(chǔ)器(FIFO)、靜態(tài)RAM和SDRAM等FIFO由于容量和速度的限制,不是實(shí)現(xiàn)大容量存儲(chǔ)的首選目前,最為常見的存儲(chǔ)器就是靜態(tài)存儲(chǔ)器(SRAM),靜態(tài)存儲(chǔ)器有控制簡單、功耗低的優(yōu)點(diǎn)當(dāng)前大容量的SRAM可以達(dá)4 MB,存儲(chǔ)時(shí)鐘速率250 MHz
如果要實(shí)現(xiàn)單通道32 M的存儲(chǔ)深度和200 M的數(shù)據(jù)傳輸速度,就要由8×1片SRAM拼合起來才能實(shí)現(xiàn)但由于每片SRAM都要有獨(dú)立的地址對應(yīng)存儲(chǔ)的數(shù)據(jù),這對設(shè)計(jì)者進(jìn)行制版和布線都是一個(gè)極大的挑戰(zhàn)與靜態(tài)存儲(chǔ)器相比,單數(shù)據(jù)率動(dòng)態(tài)存儲(chǔ)器(SDR SDRAM)具有存儲(chǔ)密度高、速度快等特點(diǎn),數(shù)據(jù)線位寬可最大可以達(dá)到64 b,很適合于高速采樣系統(tǒng)標(biāo)準(zhǔn)的SDR SDRAM可以達(dá)到的時(shí)鐘頻率達(dá)100 MHz以上,如果要滿足系統(tǒng)存儲(chǔ)速率的要求則至少需要有2×12 b的數(shù)據(jù)位寬,而目前并沒有64 b或32 b的SDRSDRAM,則需要使用多片拼合這樣,對應(yīng)于一個(gè)通道的存儲(chǔ)就至少需要有2片12 b的動(dòng)態(tài)存儲(chǔ)器才能滿足存儲(chǔ)的需要,顯然成本比較高
雙速率同步動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(DDR),是在SDRAM存儲(chǔ)技術(shù)上發(fā)展而來的一種新型存儲(chǔ)器件,在計(jì)算機(jī)行業(yè)得到了廣泛的應(yīng)用其特點(diǎn)是采用了雙倍速率結(jié)構(gòu)實(shí)現(xiàn)高速操作,其在同一時(shí)間內(nèi)傳輸?shù)臄?shù)據(jù)量是SDRSDRAM的2倍,最大傳送數(shù)據(jù)的時(shí)鐘速率可達(dá)400 MHz,而存儲(chǔ)一個(gè)通道的數(shù)據(jù)只需要1片16 b的DDR,并且單位存儲(chǔ)成本和SDR SDRAM相比并沒有提高因而,對于高速數(shù)據(jù)采集系統(tǒng),無論從成本還是性能方面考慮,采用DDR作為系統(tǒng)的存儲(chǔ)器件是合適的但DDR卻帶來了相對復(fù)雜的控制工作,不僅需要與SDRSDRAM一樣進(jìn)行定時(shí)刷新,而且較SDRAM增加了新的控制信號和使用了新的電平標(biāo)準(zhǔn)
2 DDR的基本工作原理
所謂DDR的雙倍速率結(jié)構(gòu),即在數(shù)據(jù)隨路時(shí)鐘的上升沿和下升沿各發(fā)送一次數(shù)據(jù),這樣在一個(gè)時(shí)鐘周期內(nèi)可完成雙倍速率的數(shù)據(jù)傳輸由于DDR的控制邏輯比較復(fù)雜,這里只對其"寫模式"下的工作原理進(jìn)行介紹,如圖1所示
3 DDR控制模塊的設(shè)計(jì)
根據(jù)DDR芯片控制要求,在設(shè)計(jì)中將DDR主控制模塊分為5個(gè)子模塊,分別是初始化模塊、外部刷新模塊、主狀態(tài)機(jī)模塊、地址模塊和命令輸出模塊其具體組成如圖2所示
機(jī)的動(dòng)作,通過翻譯控制信號控制內(nèi)部狀態(tài)機(jī)產(chǎn)生控制DDR的正確時(shí)序信號,這一部分是主控制模塊的關(guān)鍵和難點(diǎn),能否正確控制DDR的操作完全集中在此模塊
(2)外部刷新模塊是輔助主狀態(tài)機(jī)模塊控制DDR處于空閑狀態(tài)時(shí)的定時(shí)刷新
(3)地址發(fā)生模塊的作用是根據(jù)所接收由主控狀態(tài)機(jī)發(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è)計(jì)
為了能更清楚地了解DDR在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用,這里將對基于CPCI總線的高速數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)進(jìn)行描述高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)框圖如圖3所示
外部信號首先經(jīng)過模擬通道的調(diào)理達(dá)到A/D芯片的輸入要求,再通過A/D芯片將模擬信號轉(zhuǎn)換成數(shù)字信號送人FPGA處理當(dāng)處理器發(fā)出"寫命令"時(shí),把數(shù)字信號在FIFO內(nèi)部進(jìn)行緩存再送入DDR進(jìn)行存儲(chǔ).如果A/D的采樣速率為200 MSa/s,則可以使用133 MHz時(shí)鐘速率的DDR芯片即可達(dá)到要求但是在內(nèi)部進(jìn)行緩存時(shí)存在一個(gè)問題,就是寫入F1F()的時(shí)鐘速率大于讀取FIFO的時(shí)鐘速率,這樣就會(huì)導(dǎo)致從A/D采樣過來的信號不能完整地存儲(chǔ)
在這種情況下通常采用數(shù)據(jù)分流的方式進(jìn)行解決,即把采人FPGA的200 MHz的數(shù)據(jù)流分成2路100 M的數(shù)據(jù)流,分別存入相應(yīng)的FIFO內(nèi)再以133 MHz的時(shí)鐘速率讀出送DDR進(jìn)行存儲(chǔ),這樣就可以對信號進(jìn)行完整的存儲(chǔ)當(dāng)然存儲(chǔ)過程還要通過DDR的控制模塊和FPGA內(nèi)部自帶的1P核的配合才能夠完成同理,當(dāng)處理器發(fā)出"瀆命令"時(shí),在DDR控制模塊的控制下將DDR內(nèi)部數(shù)據(jù)讀回FPGA內(nèi)部,再次通過FIFO進(jìn)行緩存通常采用40 M的時(shí)鐘速率將數(shù)據(jù)送回處理器處理,從DDR寫回FPGA的數(shù)據(jù)流時(shí)鐘速率為133 M,而從FIFO讀}IJ數(shù)據(jù)的時(shí)鐘速率為40 M;同樣存在著寫入FIFO的時(shí)鐘速率大于讀取的時(shí)鐘速率的現(xiàn)象,但足這里不仔在數(shù)據(jù)丟火的問題,岡為前端的分流處理已經(jīng)保證了數(shù)據(jù)的完整性這里只需對FIFO及DDR進(jìn)行控制,即對FIFO的使用率做一個(gè)控制,當(dāng)FIFO的使用率大于某一值時(shí),停止從DDR中讀取數(shù)據(jù);當(dāng)小于這個(gè)值時(shí),繼續(xù)從DDR中讀取數(shù)據(jù)這樣就有足夠的數(shù)據(jù)可進(jìn)行分析處理,從而重現(xiàn)信號特征
5 結(jié) 語
DDR在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用有很大的實(shí)際意義,他提高了系統(tǒng)的可靠性和數(shù)據(jù)的存儲(chǔ)深度,在一定程度上有效地減小了電路設(shè)計(jì)的尺寸DDR已經(jīng)被應(yīng)用于視頻采集、內(nèi)存設(shè)計(jì)等多個(gè)領(lǐng)域其關(guān)鍵技術(shù)是DDR時(shí)序控制模塊的設(shè)計(jì)