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