Spartan-3A的DDR2接口數據采集

發(fā)布時(shí)間:2010-11-8 11:12    發(fā)布者:eetech
關(guān)鍵詞: DDR2 , Spartan , 接口 , 數據采集
1 引言

DDR2(Double Data Rate2)SDRAM是由JEDEC(電子設備工程聯(lián)合委員會(huì ))制定的新生代內存技術(shù)標準,它與上一代DDR內存技術(shù)標準最大的不同:雖然采用時(shí)鐘的上升/下降沿同時(shí)傳輸數據的基本方式,但DDR2卻擁有2倍的DDR預讀取能力(即4位預存取技術(shù))。此外,DDR2還增加ODT(內建核心終結電阻器)功能,內建合適的終結電阻,避免了以往因片外連接大片終結電阻帶來(lái)的制板成本增加。

基于FPGA的SDRAM控制器,以高可靠性、強可移植性、易于集成的特點(diǎn),逐漸取代以往的專(zhuān)用控制器而成為主流解決方案。本文采用Xilinx公司的Spartan-3A系列FPGA和Hynix公司的DDR2 SDRAM器件HY5PS121621實(shí)現DDR2控制器的設計。

2 FPGA與DDR2存儲器接口

圖1所示為DDR2與FPGA的外圍接口連接圖,DDR2的信號線(xiàn)分為:時(shí)鐘信號線(xiàn)CK/CK ;數據信號線(xiàn)Data/DQS/DM;地址信號線(xiàn)Address/BA1/BA0;命令信號線(xiàn)RAS/CAS/WE;控制信號線(xiàn)CS/CKE/ODT。FPGA除與DDR2的所有信號線(xiàn)相連外,還引出外部環(huán)回信號線(xiàn)(圖中虛線(xiàn)所示),此信號輸出送至輸入輸出模塊(IOB),以補償FPGA與存儲器之間的IOB、器件和跡線(xiàn)的延遲。





差分時(shí)鐘線(xiàn)CK/CK為DDR2數據傳輸提供時(shí)鐘,在CK的上升沿和下降沿均有數據被觸發(fā);雙向差分線(xiàn)DQS/DQS看作數據的同步信號,寫(xiě)入時(shí)由控制器發(fā)出,讀取時(shí)由DDR2產(chǎn)生DQS向控制器發(fā)送,它與讀數據邊沿對齊而與寫(xiě)數據中心對齊。DN為數據信號屏蔽位在突發(fā)寫(xiě)傳輸時(shí)屏蔽不存儲的數據;RAS/CAS/WE作為命令信號線(xiàn)向DDR2發(fā)出讀取、寫(xiě)人、刷新或預充電命令;片內終結信號線(xiàn)ODT控制是否需要DDR2進(jìn)行片內終結。

3 DDR2控制器的設計原理

基于FPGA的DDR2控制器設計是由時(shí)鐘生成模塊、存儲控制模塊和讀寫(xiě)數據接口模塊組成如圖2所示。





控制器中所有模塊時(shí)鐘均來(lái)自于時(shí)鐘生成模塊,它由數字時(shí)鐘管理器(DCM)控制,輸出90°、180°和270°時(shí)鐘。該模塊還包含延遲校準監視器,用于校準讀取數據(DQ)對讀取數據選通脈沖(DQS)的延遲,以便讀取數據選通脈沖邊沿能夠正確對齊DQ有效窗口的中間位置。
讀寫(xiě)數據接口模塊是整個(gè)控制器設計的關(guān)鍵,它負責將用戶(hù)寫(xiě)入的數據DQ和DOS按照DDR2 SDRAM時(shí)序要求發(fā)送給DDR2,DDR2在DQS的每一個(gè)時(shí)鐘沿采集寫(xiě)數據。在讀取數據時(shí),DDR2 SDRAM將DQS和相關(guān)數據發(fā)送到與DQ對齊邊沿的FPGA。FPGA將接收到的DQS信號經(jīng)過(guò)延遲校準,作為內部存儲讀數據的FIFO的寫(xiě)時(shí)鐘。FPGA為DDR2的每個(gè)數據位配置一對讀寫(xiě)異步的FIFO,每個(gè)數據位都輸入到上升沿(FIFO0)和下降沿(FIFO1)的FIFO中,實(shí)現原理如圖3所示。





存儲控制模塊用于產(chǎn)生DDR2所需的地址和命令信號。DDR2在正常的讀寫(xiě)操作前要初始化,因此需向DDR2發(fā)送初始化命令,待初始化完成后才能發(fā)送讀寫(xiě)命令。對DDR2 SDRAM的讀寫(xiě)訪(fǎng)問(wèn)為突發(fā)模式。突發(fā)寫(xiě)操作需向DDR2提供寫(xiě)命令(User_command)、寫(xiě)數據(User_input_data)和寫(xiě)地址(User_address)信號,在最后一個(gè)寫(xiě)地址發(fā)送突發(fā)操作完成信號(User_burst_done),并保持2個(gè)時(shí)鐘周期有效下終止寫(xiě)操作,突發(fā)寫(xiě)時(shí)序如圖4所示。突發(fā)讀操作需向DDR2提供讀命令(User_comm-and)和讀地址(User-address),在最后一讀地址發(fā)送突發(fā)完成信號(User-burst_done),并保持2個(gè)周期有效下終止讀操作,突發(fā)讀時(shí)序如圖5所示。



4 DDR2控制器的設計及應用

為了縮短開(kāi)發(fā)周期,采用Xilinx的MIG軟件工具直接生成DDR2控制器設計模塊,包括HDL代碼和約束文件。用戶(hù)可在MIG的GUI圖形界面選擇對應模板、總線(xiàn)寬度和速度級別,并設置CAS延遲、突發(fā)長(cháng)度、引腳分配等關(guān)鍵參數。如果設計者所選器件與MIG所列模板不相符,可在代碼生成后靈活修改代碼,達到系統要求。代碼添加到工程前需硬件驗證,采用MIG自動(dòng)生成的測試模塊進(jìn)行驗證。該模塊向存儲器發(fā)出一系列的寫(xiě)入命令和讀取命令,并對寫(xiě)入數據和讀回數據進(jìn)行比較,通過(guò)比較信號(led_error)驗證控制器的正確與否。用ChipScope抓取的讀數據和相關(guān)控制信號時(shí)序分別如圖6和圖7所示,讀寫(xiě)比較信號(led_error)在檢測到讀寫(xiě)數據相等時(shí)輸出'0'電平。

在硬件驗證通過(guò)后,把控制器代碼導入到系統工程中,設計者只需輸入相應命令(包括讀、寫(xiě)和初始化命令),控制器模塊將自動(dòng)產(chǎn)生命令和控制信號并按照DDR2的時(shí)序要求送至DDR2,命令發(fā)送完畢提供給用戶(hù)一個(gè)命令應答信號(User_cmd_ack),設計者根據這一信號判斷是否可以發(fā)送下一個(gè)命令。至于自動(dòng)刷新、激活和預充電命令則由控制器自動(dòng)完成,無(wú)需用戶(hù)干涉。

5 結束語(yǔ)

通過(guò)MIG工具輔助設計,實(shí)現500 M/s帶寬的DDR2接口數據采集,占用FPGA資源分別為15%IOB資源,17%邏輯Slice資源和2個(gè)DCM。在FPGA中實(shí)現DDR2控制器,節省功耗和空間,并縮短系統開(kāi)發(fā)周期,滿(mǎn)足大多數低成本系統設計要求。
本文地址:http://selenalain.com/thread-37284-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页