<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA 的DDR SDRAM控制器在高速數(shù)據(jù)采集系統(tǒng)中

          基于FPGA 的DDR SDRAM控制器在高速數(shù)據(jù)采集系統(tǒng)中

          作者: 時間:2012-11-05 來源:網(wǎng)絡 收藏

          實現(xiàn)數(shù)據(jù)的高速大容量存儲是數(shù)據(jù)采集系統(tǒng)中的一項關(guān)鍵技術(shù)。本設計采用Altera 公司Cyclone系列的 完成了對 的控制,以狀態(tài)機來描述對 的各種時序操作,設計了 的數(shù)據(jù)與命令接口。用控制核來簡化對DDR SDRAM 的操作,并采用自頂至下模塊化的設計方法,將控制核嵌入到整個數(shù)據(jù)采集系統(tǒng)的控制模塊中,完成了數(shù)據(jù)的高速采集、存儲及上傳。使用開發(fā)軟件Quartus II 中內(nèi)嵌的邏輯分析儀SignalTap II 對的工作流程進行了驗證和調(diào)試。最終采集到的數(shù)據(jù)波形表明,完成了對DDR SDRAM 的突發(fā)讀寫操作,達到了預期設計的目標。

          本文引用地址:http://www.ex-cimer.com/article/189786.htm

          DDR SDRAM 是Double Data Rate SDRAM 的縮寫,即雙倍速率同步動態(tài)隨機存儲器。

          DDR 內(nèi)存是在SDRAM 內(nèi)存基礎上發(fā)展而來的,能夠在時鐘的上升沿和下降沿各傳輸一次數(shù)據(jù),可以在與SDRAM 相同的總線時鐘頻率下達到更高的數(shù)據(jù)傳輸率。本設計中采用Altera 公司Cyclone 系列型號為EP1C6Q240C8 的 實現(xiàn),以Hynix 公司生產(chǎn)的型號為HY5DU121622B(L)TP 的DDR SDRAM 為存儲器,完成了對數(shù)據(jù)的高速大容量存儲。

          1 DDR SDRAM 的控制原理及存儲功能的實現(xiàn)

          DDR SDRAM 支持的常用命令有7 種:空操作(NOP)、激活操作(Active)、突發(fā)讀(BurstRead)、突發(fā)寫(Burst Write)、自動刷新(Autorefresh)、預充電(Precharge)、模式寄存器配置(Mode Register Set)。所有的操作命令都是通過信號線RAS_N、CAS_N、WE_N 共同控制來實現(xiàn)的。在對DDR SDRAM 進行存取數(shù)據(jù)操作之前,首先要對其初始化,即設置DDR SDRAM的普通模式寄存器和擴展模式寄存器,確定DDR SDRAM 的工作方式,這些設置包括突發(fā)長度、突發(fā)類型、CAS 潛伏期和工作模式以及擴展模式寄存器中的對DDR SDRAM 內(nèi)部延遲鎖定回路(DLL)的使能與輸出驅(qū)動能力的設置。

          初始化完成之后,DDR SDRAM 便進入正常的工作狀態(tài),此時便可對存儲器進行讀寫和刷新。DDR SDRAM 在一對差分時鐘的控制下工作。命令(地址和控制信號)在每個時鐘的上升沿被觸發(fā)。隨著數(shù)據(jù)DQ 一起傳送的還包括一個雙向的數(shù)據(jù)選通信號DQS,接收方通過該信號來接收數(shù)據(jù)。DQS 作為選通信號在讀周期中由DDR SDRAM 產(chǎn)生,在寫周期中由存儲器的產(chǎn)生。該選通信號與數(shù)據(jù)相關(guān),其作用類似于一個獨立的時鐘,并滿足相應的時序要求。由于DDR SDRAM 的數(shù)據(jù)接口在時鐘的兩個沿的觸發(fā)下工作,其數(shù)據(jù)寬度是存儲器數(shù)據(jù)寬度的一半。為實現(xiàn)數(shù)據(jù)的大容量存儲,設計時采用的是一個控制核同時對兩片DDR SDRAM 進行操作,外接數(shù)據(jù)線的寬度由單片DDR SDRAM 的16 位擴展到32位。

          對DDR SDRAM 的讀和寫操作是基于突發(fā)的,即從一個選定的地址單元開始,連續(xù)存取已設置長度的地址單元,該長度就是所謂的突發(fā)長度。DDR SDRAM 提供的可編程的讀或?qū)懙耐话l(fā)長度為2,4 或8。數(shù)據(jù)的存取以一個激活命令(Active)開始,接著便是讀(BurstRead)或?qū)?Burst Write)命令。與激活命令一起被觸發(fā)的地址位用來選擇將要存取的區(qū)和頁(或行),與讀或?qū)懨钜黄鸨挥|發(fā)的地址位用來選擇突發(fā)存取的起始列單元。讀命令被觸發(fā)后,數(shù)據(jù)將在1.5~3 個時鐘周期之后出現(xiàn)在數(shù)據(jù)總線上。這個延遲就是所謂的CAS 潛伏期(CAS latency),即從DDR SDRAM 內(nèi)核讀出數(shù)據(jù)到數(shù)據(jù)出現(xiàn)在數(shù)據(jù)總線上所需要的時間。CAS 潛伏期的大小與SDRAM 的速度和存儲器的時鐘頻率有關(guān)。當要存取一個不同行的地址單元時,需要通過一個預充電(Precharge)操作關(guān)閉當前行。

          自動刷新(Autorefresh)命令用來周期性地刷新DDR SDRAM,以保持其內(nèi)部的數(shù)據(jù)不丟失。2 DDR SDRAM 控制器的設計DDR SDRAM 控制器的功能包括:

          (1)初始化DDR SDRAM;

          (2)簡化DDR SDRAM的讀寫時序;

          (3)將DDR SDRAM 接口的雙時鐘沿數(shù)據(jù)轉(zhuǎn)換為單時鐘沿數(shù)據(jù),使得對DDR SDRAM 的操作類似于普通RAM;

          (4)控制器還要產(chǎn)生周期性的刷新命令來維持DDR SDRAM 內(nèi)的數(shù)據(jù)而不丟失。其控制轉(zhuǎn)換圖如圖1 所示。

          在對DDR SDRAM 初始化完成之后,就可進行讀、寫或其他操作。在執(zhí)行讀(寫)命令之前,先要激活將要讀(寫)的行,之后便可對該行進行突發(fā)讀(寫)。在控制器的設計中,所有的讀寫命令都是不帶預充電的,因此,某一行被激活之后將一直處于激活狀態(tài),直到用戶發(fā)送突發(fā)終止命令,此時控制器將自動產(chǎn)生一個預充電命令來關(guān)閉當前行。這樣,某一行被激活之后用戶便可進行連續(xù)的突發(fā)讀(寫)操作,從而節(jié)省了每次突發(fā)讀寫所需要的激活時間,提高了系統(tǒng)的數(shù)據(jù)吞吐率。


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: SDRAM FPGA DDR 控制器

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();