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
主站蜘蛛池模板: 露脸一二三区国语对白| 欧美一级高清片久久99| 天天色天天操综合网| 一级毛片基地| 久久精品丝袜高跟鞋| 国产91小视频在线观看| 欧美成人亚洲综合精品欧美激情| 97视频免费看| 国内精品小视频在线| 精品国产Av电影无码久久久| 中国一级特黄视频| 青青操视频免费观看| 日韩激情成人| 超碰精品无码一区二区| 国产成人精品亚洲77美色| 九色国产在线| 午夜精品一区二区蜜桃| 国产福利在线免费| 国产精品久久自在自线观看| 国产成人亚洲无码淙合青草| 亚洲av无码片一区二区三区| 伊人福利视频| www欧美在线观看| 91精品国产丝袜| 亚洲欧美日韩成人在线| 欧美亚洲香蕉| 国产精品视频系列专区| 91免费观看视频| 亚洲第一页在线观看| 国产成人综合亚洲网址| 亚洲熟妇AV日韩熟妇在线| 日本一本正道综合久久dvd| 中文字幕永久在线观看| 91欧美亚洲国产五月天| 夜夜高潮夜夜爽国产伦精品| 国产成人资源| 手机在线免费毛片| 免费国产不卡午夜福在线观看| 在线观看国产网址你懂的| 2022精品国偷自产免费观看| 潮喷在线无码白浆| 无码有码中文字幕| 国产欧美日韩综合在线第一| 亚洲色图综合在线| a网站在线观看| 99视频免费观看| 中文字幕在线不卡视频| 亚洲AV无码久久天堂| 久久婷婷国产综合尤物精品| 午夜精品久久久久久久99热下载| 国产在线拍偷自揄拍精品| 1769国产精品免费视频| 波多野结衣一区二区三区四区| 91精品小视频| 国产自在线播放| 欧美不卡视频一区发布| 日韩在线播放中文字幕| 国产在线一区视频| 色综合a怡红院怡红院首页| 日韩成人午夜| 伊人久久精品无码麻豆精品 | 亚洲av片在线免费观看| 五月婷婷综合色| 99精品国产高清一区二区| 人妻中文字幕无码久久一区| 97视频在线观看免费视频| 成人无码区免费视频网站蜜臀| 成人av专区精品无码国产| 999精品在线视频| 亚洲天堂精品视频| 色婷婷综合激情视频免费看| 中文字幕无码制服中字| 国产第二十一页| 99热亚洲精品6码| 免费观看无遮挡www的小视频| 国内精品久久久久久久久久影视| 婷婷色一二三区波多野衣| 精品久久蜜桃| 精品成人一区二区| 久操中文在线| 国产精品福利尤物youwu| 四虎综合网|