《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 基于DDR SDRAM的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

基于DDR SDRAM的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

2009-06-23
作者:方慶山1,林春方2

??? 摘 要:采用DDR SDRAM作為被采集數(shù)據(jù)的存儲(chǔ)體,研究了DDR SDRAM在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用,分析了DDR SDRAM的工作模式,給出了一種基于DDR SDRAM的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)框圖,研究了高速、大容量存儲(chǔ)體的設(shè)計(jì)方案。結(jié)合高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)要求,重點(diǎn)研究了一種DDR SDRAM控制器的FPGA實(shí)現(xiàn)方法,簡(jiǎn)要介紹了控制器設(shè)計(jì)中各個(gè)模塊的功能,最后給出了讀/寫控制模塊對(duì)DDR SDRAM的讀操作仿真時(shí)序圖。
??? 關(guān)鍵詞:數(shù)據(jù)采集; DDR SDRAM; 工作模式; 控制器

?

??? 實(shí)現(xiàn)數(shù)據(jù)的高速大容量存儲(chǔ)是數(shù)據(jù)采集系統(tǒng)中的一項(xiàng)關(guān)鍵技術(shù)。很多數(shù)據(jù)采集系統(tǒng),特別是應(yīng)用于圖像采集處理等領(lǐng)域的高速數(shù)據(jù)采集系統(tǒng),都需要高速緩存大量的數(shù)據(jù)。DDR SDRAM由于速度快、容量大、價(jià)格便宜,能夠很好地滿足上述場(chǎng)合對(duì)大量數(shù)據(jù)緩存的需求。雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器DDR SDRAM(Double Data Rate SDRAM),是在SDRAM的基礎(chǔ)上發(fā)展而來的,能夠在時(shí)鐘上升沿和下降沿各傳輸一次數(shù)據(jù),可以在與SDRAM相同的總線時(shí)鐘頻率下達(dá)到更高的數(shù)據(jù)傳輸率。
1 DDR SDRAM在高速數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
??? 目前,數(shù)據(jù)采集與處理的重點(diǎn)在于高速、高精度、高存儲(chǔ)深度的數(shù)據(jù)采集系統(tǒng)的研究。由于A/D轉(zhuǎn)換芯片及高性能FPGA芯片的出現(xiàn),使得高速、高精度的數(shù)據(jù)處理得以實(shí)現(xiàn),因而大批量、高存儲(chǔ)深度的數(shù)據(jù)處理成為當(dāng)前要解決的主要問題。圖1所示為一種基于CPCI總線的高速數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框圖[1]

?


??? 外部信號(hào)首先經(jīng)過模擬信號(hào)調(diào)理通道達(dá)到A/D芯片的輸入要求,再通過A/D芯片將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送入FPGA進(jìn)行處理。當(dāng)處理器發(fā)出“寫命令”時(shí),將數(shù)字信號(hào)在FIFO內(nèi)部進(jìn)行緩存再送入DDR SDRAM進(jìn)行存儲(chǔ)。考慮到寫入FIFO的時(shí)鐘速率大于讀取FIFO的時(shí)鐘速率會(huì)導(dǎo)致從A/D采樣過來的信號(hào)不能完整地存儲(chǔ),可采用數(shù)據(jù)分流的方式予以解決。即把采入FPGA的數(shù)據(jù)流分成2路數(shù)據(jù)流,分別存入相應(yīng)的FIFO內(nèi),再分別讀出送到DDR SDRAM存儲(chǔ),在存儲(chǔ)過程中通過DDR SDRAM的控制模塊和FPGA內(nèi)部自帶的IP核的配合完成。當(dāng)處理器發(fā)出“讀命令”時(shí),在控制模塊的控制下將DDR SDRAM內(nèi)部數(shù)據(jù)讀回FPGA內(nèi)部,再次通過FIFO進(jìn)行緩存,然后送回處理器處理。在整個(gè)數(shù)據(jù)處理過程中,關(guān)鍵是對(duì)DDR SDRAM的存儲(chǔ)進(jìn)行有效的控制,以保證有足夠的數(shù)據(jù)可進(jìn)行分析處理,從而重現(xiàn)信號(hào)特征。
2 DDR SDRAM的工作模式
??? DDR SDRAM 支持的常用命令有7 種:空操作(NOP)、激活操作(Active)、突發(fā)讀(BurstRead)、突發(fā)寫(BurstWrite)、自動(dòng)刷新(Autorefresh)、預(yù)充電(Precharge)以及模式寄存器配置(Mode Register Set)。所有的操作命令都是通過信號(hào)線RAS_N、CAS_N、WE_N 共同控制來實(shí)現(xiàn)的。在對(duì)DDR SDRAM 進(jìn)行存取數(shù)據(jù)操作之前,首先要對(duì)其初始化,即設(shè)置DDR SDRAM的普通模式寄存器和擴(kuò)展模式寄存器,確定DDR SDRAM 的工作方式。這些設(shè)置包括突發(fā)長(zhǎng)度、突發(fā)類型、CAS潛伏期和工作模式,以及擴(kuò)展模式寄存器中對(duì)DDR SDRAM 內(nèi)部延遲鎖定回路(DLL)的使能與輸出驅(qū)動(dòng)能力的設(shè)置[2]
??? 初始化完成之后,DDR SDRAM 便進(jìn)入正常的工作狀態(tài),此時(shí)可對(duì)存儲(chǔ)器進(jìn)行讀寫和刷新。所謂DDR的雙倍速率結(jié)構(gòu),即在數(shù)據(jù)隨路時(shí)鐘的上升沿和下升沿各發(fā)送一次數(shù)據(jù),這樣在一個(gè)時(shí)鐘周期內(nèi)可完成雙倍速率的數(shù)據(jù)傳輸。圖2是“寫模式”下的工作時(shí)序圖。對(duì)DDR SDRAM進(jìn)行寫操作時(shí),首先通過外部控制模塊(FPGA)對(duì)DDR送寫命令和操作地址,然后第1個(gè)正確的數(shù)據(jù)將在數(shù)據(jù)選取脈沖DQS的上升沿進(jìn)行存儲(chǔ),接下來的數(shù)據(jù)將在DQS的連續(xù)時(shí)鐘沿上進(jìn)行存儲(chǔ),根據(jù)DDR SDRAM的時(shí)序要求在“寫模式”下,寫命令和隨路時(shí)鐘的第1個(gè)上升沿要有一個(gè)固定的時(shí)間間隔tDQSS

?


??? 對(duì)DDR SDRAM 的讀操作和寫操作是基于突發(fā)的,DDR SDRAM 提供的可編程讀/寫的突發(fā)長(zhǎng)度為2、4 或8。數(shù)據(jù)的存取以一個(gè)激活命令(Active)開始,接著便是讀(BurstRead)或?qū)?Burst Write)命令。與激活命令一起被觸發(fā)的地址位用來選擇將要存取的區(qū)和頁(yè)(或行),與讀/寫命令一起被觸發(fā)的地址位用來選擇突發(fā)存取的起始列單元。讀命令被觸發(fā)后,數(shù)據(jù)將在1.5~3 個(gè)時(shí)鐘周期之后出現(xiàn)在數(shù)據(jù)總線上,這個(gè)延遲就是所謂的CAS 潛伏期。CAS 潛伏期的大小與SDRAM 的速度和存儲(chǔ)器的時(shí)鐘頻率有關(guān)。當(dāng)要存取一個(gè)不同行的地址單元時(shí),需要通過一個(gè)預(yù)充電(Precharge)操作關(guān)閉當(dāng)前行。自動(dòng)刷新(Autorefresh)命令用來周期性地刷新DDR SDRAM,以保持其內(nèi)部的數(shù)據(jù)不丟失[3]
3 DDR SDRAM 控制器的設(shè)計(jì)
??? DDR SDRAM控制器的功能是初始化DDR SDRAM;簡(jiǎn)化DDR SDRAM復(fù)雜的讀/寫時(shí)序;將DDR SDRAM接口的雙時(shí)鐘沿?cái)?shù)據(jù)轉(zhuǎn)換為單時(shí)鐘沿?cái)?shù)據(jù);產(chǎn)生周期性的刷新命令來維持DDR SDRAM內(nèi)的數(shù)據(jù)不丟失。DDR SDRAM提供了多種命令,整個(gè)控制狀態(tài)機(jī)非常復(fù)雜。但很多應(yīng)用場(chǎng)合中,并不需要用到所有的命令,為了簡(jiǎn)化設(shè)計(jì),同時(shí)兼顧盡可能多的應(yīng)用場(chǎng)合,在控制器的設(shè)計(jì)中實(shí)現(xiàn)了如下幾種功能:DDR SDRAM初始化、可變長(zhǎng)度突發(fā)讀/寫、自動(dòng)刷新功能、預(yù)充電以及模式寄存器的重置。圖3為控制器整個(gè)狀態(tài)轉(zhuǎn)換圖[4]

?


??? 根據(jù)圖3的狀態(tài)轉(zhuǎn)換關(guān)系,DDR SDRAM控制器包含以下幾個(gè)模塊:時(shí)鐘生成模塊、初始化模塊、刷新模塊、讀/寫控制模塊以及地址生成模塊。圖4給出了控制器的結(jié)構(gòu)框圖。

?


??? 時(shí)鐘模塊用來產(chǎn)生工作時(shí)鐘提供給整個(gè)DDR SDRAM控制器以及外部的存儲(chǔ)芯片;初始化模塊完成DDR SDRAM初始化過程所需的各項(xiàng)操作,配置相應(yīng)的寄存器,使得在初始化完成后,DDR SDRAM能工作在所期望的模式;刷新模塊用來計(jì)數(shù),定時(shí)向讀/寫控制模塊發(fā)送自動(dòng)刷新請(qǐng)求;讀/寫控制模塊用來控制數(shù)據(jù)在FIFO之內(nèi)讀/寫,并完成激活、刷新、預(yù)充電等命令;地址生成模塊用來提供各種操作所需的地址信息[5]
??? 該控制器針對(duì)16?bit寬512 Mb的DDR SDRAM設(shè)計(jì),在Altera公司的Quartus II4.2環(huán)境中采用CycloneII系列的EP2C35來實(shí)現(xiàn),總共使用了729個(gè)邏輯單元,占FPGA可編程邏輯資源的12%,此外還使用了1個(gè)鎖相環(huán)(PLL)。設(shè)計(jì)中,在Quartus II4.2環(huán)境中分別對(duì)以上各個(gè)組成模塊設(shè)計(jì),并進(jìn)行了最后的時(shí)序仿真驗(yàn)證,使其滿足設(shè)計(jì)的要求。圖5給出了讀/寫控制模塊設(shè)計(jì)時(shí)的讀操作仿真時(shí)序圖。

?


??? 其中clk是時(shí)鐘信號(hào),reset_all是復(fù)位信號(hào),init_end是初始化完成標(biāo)志,ext_ref_cnte是輸出,表示使能外部的刷新模塊,ref_req是外部刷新請(qǐng)求,rd_req是外部讀請(qǐng)求,cmd是響應(yīng)操作的命令代碼,rd_wr表示當(dāng)前的狀態(tài)為讀還是寫,fifo_wr_en是FIFO的寫使能,表明讀操作的數(shù)據(jù)可以寫入到FIFO中。
??? 基于DDR SDRAM的高速數(shù)據(jù)采集系統(tǒng)在應(yīng)用中有很大的實(shí)際意義,它提高了系統(tǒng)的可靠性和數(shù)據(jù)的存儲(chǔ)深度,在一定程度上有效地減小了電路的尺寸。DDR SDRAM已經(jīng)被應(yīng)用于視頻采集、內(nèi)存設(shè)計(jì)等多個(gè)領(lǐng)域,其關(guān)鍵技術(shù)是時(shí)序控制模塊的設(shè)計(jì)。
??? 本文給出了一種通過FPGA實(shí)現(xiàn)對(duì)DDR SDRAM控制的方法。設(shè)計(jì)中采用Altera公司的Cyclone系列FPGA,并充分利用片內(nèi)提供的鎖相環(huán)、DDR觸發(fā)器以及DQS延遲鏈等硬件資源,占用的邏輯資源少。該設(shè)計(jì)可以很容易地移植到Altera公司的其他系列FPGA上,經(jīng)過適當(dāng)?shù)男薷倪€可以用來控制64位寬的DIMM型的DDR SDRAM,因此可以更好地應(yīng)用在需求高速度、大容量存儲(chǔ)器的場(chǎng)合中。

參考文獻(xiàn)
[1] 吳健軍,初建朋,賴宗聲. 基于FPGA的DDR SDRAM控制器的實(shí)現(xiàn)[J]. 微計(jì)算機(jī)信息,2006,22(1-2):164-165.
[2]?李鶯. DDR SDRAM控制器的設(shè)計(jì)及FPGA實(shí)現(xiàn)[J]. 攀枝花學(xué)院學(xué)報(bào),2007,24(6):33-37.
[3]?鄭佳,李永亮,李娜. 基于FPGA的DDR控制器的實(shí)現(xiàn)[J]. 無線電工程,2007,37(10):27-29.
[4]?劉瑰,朱鴻宇. 通用DDR SDRAM控制器的設(shè)計(jì)?[J]. 微型機(jī)與應(yīng)用,2004(8):23-24.
[5]?薛林.高速PCI數(shù)據(jù)采集卡的設(shè)計(jì)與實(shí)現(xiàn)[D] . 南京:南京理工大學(xué),2006.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日本工里番h本无遮拦全彩 日本高清中文字幕在线观穿线视频 | 18以下勿进色禁网站 | 在线免费污视频 | 亚洲欧美综合另类 | 日韩在线操 | 日韩欧美视频二区 | 国内最真实的xxxx人伦 | 国产精品欧美在线不卡 | 欧美三级欧美做a爱 | 午夜精品久久久久久久 | 老色鬼 欧美精品 | 久久厕所精品国产精品亚洲 | 一本大道香蕉久在线不卡视频 | 亚洲伊人色一综合网 | 国产日韩视频在线 | 色婷婷激情五月 | 久色视频在线观看 | 国产91色拍 | 精品伊人久久大线蕉色首页 | 国产三级在线看 | 免费看美女午夜大片 | 日韩毛片在线观看 | 黄色大片在线免费观看 | 国产特黄特色一级特色大片 | 国产欧美日韩不卡在线播放在线 | 91视频免费网站 | 欧美日韩综合一区 | 人人爽人人爽人人片av免费 | 手机国产看片 | 欧美一级h | 午夜激情影院 | 亚洲国产三级 | 中文字幕第九页 | 一级毛片成人免费看a | xxxxx在线视频| 欧美精品日韩一区二区三区 | 大黄香蕉视频 | 窝窝午夜看片成人精品 | 成人午夜精品网站在线观看 | 伦理片免费观看 | 欧美成人在线视频 |