999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的DDR控制器的設計

2017-05-08 13:48:38陳秀英董玉華張亞楠
智能計算機與應用 2016年6期
關鍵詞:數據采集

陳秀英+++董玉華++張亞楠

摘要: DDR SDRAM使用雙倍數據速率結構,憑借其大容量,高數據傳輸速率和低成本優勢,正在被越來越多地應用于高速數據采集系統中[1]。使用Altera公司的Cyclone FPGA芯片設計實現了DDR控制器的功能,敘述了其設計思想,具有一定的實用價值。

關鍵詞: DDR SDRAM; 控制器; FPGA; 數據采集

中圖分類號: TP311

文獻標志碼: A

文章編號: 2095-2163(2016)06-0118-03

0引言

隨著電子技術的快速發展,人們對DDR(全稱DDR SDRAM)[2]的需求越來越緊迫。DDR(Double Data Rate Synchronous Dynamic Random Access Memory,雙倍速率隨機存儲器)在設計上采用的是2.5 V的工作電壓,而且允許在時鐘的上升沿和下降沿進行數據的存取,整體速度已可達到同頻率的2倍,同時還在容量方面也呈現了更佳性能。因而,在諸多對于數據量和帶寬具有較高要求的重要系統中,DDR已然成為獲得廣泛應用的一種功能強大、可拓展的高端存儲器。基于此,為了充分發揮DDR容量和速度的執行優勢,本次研究主要針對DDR讀寫的特點,開發實現了一種基于FPGA讀寫的DDR控制器[3]。

[BT4]1DDR SDRAM控制器的工作解析

[BT5]1.1DDR SDRAM的工作原理

DDR SDRAM是由若干個基本的單管DRAM單元所構成的。內存控制器的主要功能是對DDR3 SDRAM的讀寫進行控制,在內存芯片完成初始化之后,DDR內存處于就緒狀態。DRAM利用MOS管的柵電容上的電荷來實現信息儲存,一個單元儲存的是0還是1取決于電容是否有電荷,有電荷代表1,無電荷代表0。但時間一長,由于柵極漏電,代表1的電容會放電,代表0的電容會吸收電荷,這樣會造成數據流失。

在DDR SDRAM上電后,其內部以及所儲存的數值都為未知狀態,必須對其展開初始化操作,使其進入正常的工作狀態。初始化過程為:系統上電后,保持CKE為低電平,等待電源電壓和時鐘的穩定。待電源電壓和時鐘電壓數值恒穩后,保持復位信號有效。完成初始化步驟之后,DDR3儲存器便進入就緒狀態,等待控制器的訪問命令,可以進行正常的工作,并可根據控制器發出的命令來執行相應的操作。DDR3的工作形式即是不同狀態的轉化的過程,也就是通過狀態機的控制,在不同的狀態間自由轉化。

DDR SDRAM控制器的主要功能是完成對DDR SDRAM的初始化,將DDR SDRAM復雜的讀寫時序轉化為用戶簡單的讀寫時序,以及將DDR SDRAM接口的雙時鐘沿轉換為用戶的單時鐘沿數據,使用戶如同操作普通RAM一樣定制調控DDR SDRAM;同時,控制器還要產生周期性的刷新命令來維持DDR SDRAM內的數據而不需要用戶的干預[4]。

設計實現的工作原理則如圖1所示。

由圖1可知,主控制模塊的處理功能是構建存儲器的初始化,而后接受并解碼用戶信息,憑此來生成讀、寫或刷新等指令,邏輯設計則是由狀態機提供全面管理及實現的。

[BT5]1.2DDR SDRAM的狀態轉換

DDR的狀態轉換如圖2所示。

由圖2可知,DDR SDRAM上電后,必須按照規定的程序啟動初始化過程。在初始化過程中,需要注意普通模式寄存器與擴展模塊寄存器的值是否正確。其中,普通寄存器主要用來設定DDR SDRAM的工作方式,包括突發長度、突發類型和工作模式[5]。

初始化進程結束后,將導入正常的工作狀態,此時可對存儲器進行讀寫和刷新操作。在讀寫操作現實發生前則需要執行激活(ACTIVE)命令,與該命令一起被觸發的地址位用來選擇突發起始列單元。在激活前還設有一項預充電操作,而只有在預充電操作關閉后,DDR SDRAM才能對新區或行設定讀寫操作。

DDR 控制器需要用自動刷新命令以保持其內部的數據不致丟失,但必須在所有區都空閑的狀態下才能獲得執行。寫操作是由FPGA向DDR SDRAM寫入數據,只需按照DDR SDRAM的工作要求發出相應的工作指令即可。

[BT4]2DDR的分類

DDR的頻率可以用工作頻率和等效頻率2種方式給出描述和表示。具體來說,工作頻率是內存顆粒實際的工作頻率,但是由于DDR內存可以在脈沖的上升和下降沿都傳輸數據,因此傳輸數據的等效頻率是工作頻率的2倍。基于此,可得DDR的技術分類。分類結果則如表1所示。

3ISE軟件介紹

現如今,Xilinx系統中FPGA系列芯片已然占據了超強市場份額,發展前景開放可觀,種種的情狀均使得ISE發展成為迄今為止使用廣泛首選的FPGA工具軟件。ISE是一種可高效率實現EDA設計的工具集合,又可通過與某些第三方軟件的技能配合、優勢互補,而使得ISE的軟件功能日趨完善,同時更能貼切適應現如今的發展需求。ISE的突出特點是界面友好并且操作簡單。ISE的主要功能包括設計輸入、綜合、仿真、實現和下載,其工作流程不需要任何軟件的輔助支持。

[BT4]4主控制器中各模塊的功能

DDR2控制器是由4個模塊組成:時鐘模塊、控制模塊、數據鏈路模塊、用戶接口模塊。

在此,則針對各模塊的實現功能給出如下闡釋論述。

[BT5]4.1時鐘模塊

時鐘模塊是由Xilinx的DCM核集結設計并實現構成,主要用來接收FPGA外部時鐘,再通過分頻和倍頻產生用戶接口時鐘、數據鏈路模塊使用的時鐘、控制模塊使用的時鐘和DDR2的時鐘。不僅如此,該模塊的另一定制功能就是用復位信號對整個模塊進行全局復位。

[BT5]4.2控制模塊

作為控制器的中樞,控制模塊主要用于執行對DDR2的初始化和命令的操作,因此控制模塊在基本設計上主要是由初始化和命令控制2部分架構形成。對其具體分析闡述如下。

1)初始化。在DDR2上電后經過20μs的穩定期,將時鐘使能信號CKE置高,等待400 ns的時間后進行第一次的預充電,然后對外部寄存器和模式寄存器開啟配置進程,緊接著執行第二次預充電和2次刷新,再判斷DLL是否正確鎖定,配置OCD,最后等待初始化完成。如果初始化結束,將信號initial_done置高表示此時用戶可以對DDR2執行進一步操作。

2)命令控制。命令控制部分主要用作DDR2初始化后,產生控制信號和每個操作中的延時,并分析用戶命令對DDR2設定自動刷新、讀操作、寫操作、預充電等操作。當用戶寫入讀寫命令的時候,狀態機可以自行判斷初始化是否完成、行激活、列尋址、預充電、自動刷新、讀寫命令發布等操作。

[BT5]4.3讀/寫數據鏈路模塊

DDR2是一個時鐘上、下沿均可執行數據采樣的高速芯片,因此對于數據鏈路模塊的時序將會提出精確嚴格要求。為了能夠達到這一設計目的,采用了Xilinx的SPARTAN6的特殊原語模塊IDDR和ODDR對數據進行處理。在數據鏈路模塊中采用讀數據鏈路和寫數據鏈路彼此獨立的方式,使用戶更易于獲得對數據的明晰控制。

[BT5]4.4用戶接口模塊

作為和用戶直接連接的重點模塊,用戶接口模塊的功能完備與否將直接影響用戶對IP核控制的難易度。為了使用戶很容易把控制器的IP核運用到工程項目中,整個模塊中包含了READ FIFO、WRITE FIFO、COMMAND FIFO、命令子模塊、用戶數據鏈路子模塊,用戶控制子模塊。其中,READ FIFO、WRITE FIFO、 COMMAND FIFO 使用戶可以全面控制命令和數據連續的輸入和輸出。而命令子模塊則可以翻譯用戶輸入的命令,用戶只需要發送讀或寫命令、命令要操作的首地址和總共讀/寫多少個數據,命令子模塊就可以根據情況給用戶控制子模塊發送命令控制。用戶控制子模塊再以狀態機的形式控制COMMAND FIFO、WRITE FIFO、READ FIFO,對與用戶接口模塊相連的主控制模塊和數據鏈路模塊提供功能控制,并對DDR2發出讀/寫等操作指示信息。

[BT4]5時序圖及串口顯示

DDR SDRAM在一對差分時鐘的控制下展開工作,指令設定在每個時鐘的上升沿觸發,隨著數據一起傳送的還包括一個DQS(雙向的數據選通信號),接收方可通過此選通信號來接收定制發送的一些數據。這個DQS選通信號與數據有一定關聯,其功能相當于一個獨立工作的時鐘。DQS作為一種選通信號在讀周期的過程中是由DDR SDRAM所構建生成。進行讀操作時,DDR控制器捕獲數據是通過直接獲取時鐘的方式來具體實現的。讀命令在采集到時鐘觸發信號后,數據會在觸發讀寫延遲之后在數據總線上獲得展現。在寫周期的過程中,DQS(雙向的數據選通信號)的產生是由DDR控制器來設計實現的[6]。在寫周期持續過程中,數據選通信號將與數據呈現出中心對齊的狀態。讀/寫操作時序如圖3所示。

在系統的硬件設計和仿真建立后,可將編譯后的文件下載到系統的硬件中,對DDR SDRAM控制器的讀信號進行實時的采集與顯示。可以使用單步執行程序,再到memory窗口觀察DDR SDRAM地址空間的當前內容[7]。展示效果如圖4所示。

6結束語

DDR控制器設計總共利用了751個4輸入LUT,該數值僅為總LUT資源的2%。另外,設計還使用了3個DCM。DDR控制器在Xilinx ISE編程環境下獲得實現,結合chipscope進行實時觀察。板上調試時最終選用的時鐘為100 MHz,經測試可知,數據傳輸及捕獲準確無誤。該DDR控制器的工作切實可行、穩定可靠,占用的邏輯資源較少,不僅呈現較高的可移植性,而且具有簡單方便的用戶接口。也就是在使用時更趨方便快捷,同時也無需復雜的修改就可以控制其他型號的DDR SDRAM芯片,因此可以顯著提升信號處理板的存儲容量,能夠高效優質地應用在高速信號處理系統中。

[HS1*2][HT5H]參考文獻:[HT]

[WTBZ][ST6BZ][HT6SS][1] [ZK(#〗

[HJ*2]

劉云清,佟首峰,姜會林. 利用FPGA實現SDRAM控制器的設計[J]. 長春理工大學學報, 2005,28(4):47-50.

[2] 宋一鳴,謝煜,李春茂. 基于FPGA的SDRAM控制器設計[J]. 電子工程師, 2003,29(9):10-13.

[3] 馬其琪,鮑愛達. 基于DDR3 SDRAM的高速大容量數據緩存設計[J]. 計算機測量與控制,2015,23(9):3112-3113,3118.

[4] 丁寧,馬游春,秦麗,等. 基于FPGA的DDR3-SDRAM控制器用戶接口設計[J]. 科學技術與工程,2014,14(17):225-229.

[5] 王小嬌,張治中. 高速數據采集卡DDR 控制器的設計與實現[J]. 電視技術,2013,37(5):64-67.

[6] 姚清華. 基于測繪相機大面陣CCD壓縮技術的研究[D]. 長春:中國科學院長春光學精密機械與物理研究所, 2009.

[7] 王維平,張正炳,賀東芹. 基于FPGA的DDR控制器的設計[J]. 長江大學學報(自然科學版),2011,8(2):90-93.

猜你喜歡
數據采集
Web網絡大數據分類系統的設計與改進
CAN總線通信技術在電梯監控系統中的應用
基于大型嵌入式系統的污水檢測系統設計
社會保障一卡通數據采集與整理技巧
基于AVR單片機的SPI接口設計與實現
CS5463在植栽用電子鎮流器老化監控系統中的應用
大數據時代高校數據管理的思考
科技視界(2016年18期)2016-11-03 22:51:40
鐵路客流時空分布研究綜述
基于廣播模式的數據實時采集與處理系統
軟件工程(2016年8期)2016-10-25 15:54:18
通用Web表單數據采集系統的設計與實現
軟件工程(2016年8期)2016-10-25 15:52:53
主站蜘蛛池模板: 亚洲自拍另类| 亚洲精品视频免费| 日韩国产 在线| 毛片免费视频| 国产欧美日韩另类| 国产自产视频一区二区三区| 中文字幕久久亚洲一区| 亚洲国产日韩视频观看| 欧美日韩国产成人在线观看| 91久久性奴调教国产免费| 亚洲成网站| 日韩天堂在线观看| 亚洲黄色片免费看| 国产精品女熟高潮视频| 2019国产在线| 亚洲综合专区| 日韩一区二区在线电影| 色婷婷成人网| 91久久偷偷做嫩草影院精品| 黄色在线网| 亚洲AV电影不卡在线观看| 国产丝袜91| 国产欧美视频在线| 国产精品短篇二区| 国产精品林美惠子在线观看| 欧美精品v欧洲精品| 国产主播福利在线观看| 日韩欧美中文| 在线观看视频99| 国产乱人伦AV在线A| 伊人久热这里只有精品视频99| 黄色片中文字幕| 无码乱人伦一区二区亚洲一| 欧美成人手机在线视频| 成人国产一区二区三区| 日韩国产无码一区| 东京热av无码电影一区二区| 国产乱子伦精品视频| 亚洲欧美不卡视频| 国产精品视频a| 在线精品视频成人网| 国产精品欧美日本韩免费一区二区三区不卡| 亚洲免费毛片| 欧美日韩精品一区二区视频| 国产69精品久久久久孕妇大杂乱| 国产成人精品高清不卡在线| 三级毛片在线播放| 国产精品精品视频| 亚洲欧美另类中文字幕| 国产资源免费观看| 国产精品永久免费嫩草研究院 | 欧美精品综合视频一区二区| 日本国产精品一区久久久| 98超碰在线观看| 亚洲精选高清无码| 国内精品视频区在线2021| 在线观看网站国产| 久久午夜夜伦鲁鲁片无码免费| 毛片网站观看| 在线免费看片a| 亚洲狠狠婷婷综合久久久久| 女人18毛片水真多国产| 美女一级毛片无遮挡内谢| 欧美天堂久久| 国产永久免费视频m3u8| 中文字幕自拍偷拍| 伊人91视频| 日本黄色不卡视频| 亚洲日本在线免费观看| 国产乱子伦视频在线播放| 999精品色在线观看| 午夜视频在线观看区二区| 欧美高清国产| 免费黄色国产视频| 国产毛片高清一级国语| 精品国产自| 亚洲Av综合日韩精品久久久| 国产在线观看一区精品| 五月天综合婷婷| 97av视频在线观看| 亚洲精品在线影院| a天堂视频|