在线免费观看成年人视频-在线免费观看国产-在线免费观看国产精品-在线免费观看黄网站-在线免费观看精品

產品分類

當前位置: 首頁 > 傳感測量產品 > 數據采集產品 > 工控機

類型分類:
科普知識
數據分類:
工控機

DDR SDRAM在嵌入式系統中的應用

發布日期:2022-04-18 點擊率:103

                   摘  要:給出一種通過FPGA控制將DDR SDRAM應用于嵌入式系統的方法。分析DDR SDRAM的工作方式,對控制囂的控制流程進行詳細介紹,并給出控制流程圖;分析專門4qN-Ahera公司Cyclone系列FPGA來實現存儲囂接口的數據通道的結構。最后,給出控制器在Cyclone EPlC6Q240C6中的實現結果。 
關鍵詞:DDR SDRAM FPGA嵌入式系統
引  言 
  很多嵌入式系統,特別是應用于圖像處理與高速數據采集等場合的嵌入式系統,都需要高速緩存大量的數據。DDR(Double Data Rate,雙數據速率)SDRAM由于其速度快、容量大,而且價格便宜,因此能夠很好地滿足上述場合對大量數據緩存的需求。但DDR SDRAM的接口不能直接與現今的微處理器和DSP的存儲器接口相連,需要在其間插入控制器實現微處理器或DSP對存儲器的控制。
  隨看密度與性能的不斷提升,現場可編程門陣列(FPGA)已被廣泛應用于各種嵌入式系統中。而且,現在很多的FPGAs都提供了針對DDR SDRAM的接口特性:其輸入輸出引腳都與SSTL一II電氣特性相兼容,內部提供了DDR觸發器、鎖相環等硬件資源。使用這些特性,可以更加容易地設計性能可靠的高速DDR SDRAM存儲器控制器。
1 DDR SDRAM在嵌入式系統中的應用 
    圖1是DDR SDRAM在高速信號源系統中的應用實例。

  在該系統中,由FPGA完成各模塊之間的接口控制。FPGA接收從前端傳送過來的高速數字信號,并將其存儲在DDR SDRAM中;13SP通過FPGA讀取DDR中的數據.處理后再送回到DDR SDRAM,最后由FPGA負責將數據分兩路輸出。
  該系統對存儲器的要求是能夠高速地存儲大量的數據,DDR SDRAM正好能滿足這一要求。此時,FPGA是否能對DDR SDRAM進行有效控制就成為影響系統性能的關鍵。最后的試驗結果表明,FPGA是能夠勝任這一任務的。
2  DDR SDRAM的工作方式 
  在DDR SDRAM能夠被存取數據之前,需要先對其初始化。該初始化流程是預先定義好的,不正確的操作將導致無法預料的結果。初始化的過程中將設置DDRSDRAM的普通模式寄存器和擴展模式寄存器,用來制定DDR SDRAM的工作方式。這些設置包括突發長度、突發類型、CAS潛伏期和工作模式以及擴展模式寄存器中的對DDR SDRAM內部DLL的使能與輸出驅動能力的設置。模式寄存器可以被再編程,這時需要DDRSDRAM的各個區(bank)處于空閑狀態,從而改變存儲器的工作模式。如果操作正確,對模式寄存器的再編程不會改變存儲器內存儲的數據。
  初始化完成之后,DDR SDRAM便進入正常的工作狀態,此時便可對存儲器進行讀寫和刷新。DDR SDRAM在一對差分時鐘(CLK與CLKn;CLK的上升沿與CLKn的下降沿的交點被認為是CLK的上升沿)的控制下工作。命令(地址和控制信號)在每個時鐘(CLK)的上升沿被觸發。隨著數據一起傳送的還包括一個雙向的數據選通信號,接收方通過該信號來接收數據。DQS作為選通信號在讀周期中由DDR SDRAM來產生,在寫周期中由存儲器控制器來產生。該選通信號與數據相關,其作用類似于一個獨立的時鐘,因此也需要滿足相應的時序要求。讀周期中,DQS與數據是邊沿對齊的;寫周期中,DQS與數據是中心對齊的。存儲器輸入的數據在DQS的兩個沿都觸發.輸出的數據也是以DQS的兩個沿作為參考,同時還要以時鐘CLK的兩個沿作為參考。因此,由于接口在時鐘的兩個沿的觸發下工作,其數據寬度(n)是存儲器數據寬度(2n)的一半。圖2描述了DDR SDRAM的工作方式。

  對DDR SDRAM的讀和寫操作是基于突發的:從一個選定的地址單元開始,連續存取設置好長度的地址單元。該長度就是所謂的突發長度。DDR SDRAM提供的可編程的讀或寫的突發長度為2,4或8。數據的存取以一個激活命令(ACTlVE command,RAS_n low)開始,接著便是讀(CAS_n low)或寫(CAS_n low and WE_n low)命令。與激活命令一起被觸發的地址位用來選擇將要存取的區(bank)和頁(或行)}與讀或寫命令一起觸發的地址位用來選擇突發存取的起始列單元。使用控制器讀取DDR SDRAM的仿真波形示意圖如圖2所示。讀命令被觸發后,數據將在1.5~3個時鐘周期之后出現在數據總線上。這個延遲就是所謂的CAS潛伏期(CAS latency),即從DRAM內核讀出數據到數據出現在數據總線上所需要的時間。CAS潛伏期的大小與SDRAM的速度和存儲器的時鐘頻率有關。
  當要存取一個不同行的地址單元時,需要通過一個預充電(PRECHARGE)操作關閉當前行。自動刷新(AUTO-REFRESH)命令用來周期性地刷新DDRSDRAM,以保持其內部的數據不丟失。
3  DDR SDRAM控制器的設計 
  DDR SDRAM控制器的功能就是初始化DDRSDRAM;將DDR SDRAM復雜的讀寫時序轉化為用戶方簡單的讀寫時序,以及將DDR SDRAM接口的雙時鐘沿數據轉換為用戶方的單時鐘沿數據,使用戶像操作普通的RAM一樣控制DDR SDRAM;同時,控制器還要產生周期性的刷新命令來維持DDR SDRAM內的數據而不需要用戶的干預。
3.1  DDR SDRAM控制器的控制流程 
  DDR SDRAM提供了多種命令,整個控制狀態機非常復雜。但很多應用場合中,并不需要用到所有的命令,因此為了簡化設計,但同時又兼顧盡可能多的應用場合,在控制器的設計中制定了如下幾種功能:DDR SDRAM的初始化,可變長度的突發讀寫,自動刷新功能,預充電以及模式寄存器的重置(reload)。圖3是控制器整個狀態轉移圖。

  系統上電后,DDR SDRAM處于空閑狀態(Idle),在對存儲器進行讀寫操作之前,需要先對其進行初始化。初始化的過程中,將設置突發長度,突發類型,CAS潛伏期等參數。DDR SDRAM的初始化有一個固定的步驟,錯誤的操作將導致DDR SDRAM進入不確定狀態。在控制器中使用了一個專門的初始化狀態機來對DDR SDRAM進行初始化。
  初始化完之后便可對DDR SDRAM進行讀、寫或其他操作。在執行讀(寫)命令之前,先要激活(Ac—tive)將要讀(寫)的行,之后便可對該行進行突發讀(寫)。在控制器的設計中,所有的讀寫命令都是不帶預充電的,因此,某一行被激活之后將一直處于激活狀態,直到用戶發送突發終止命令,此時控制器將自動產生一個預充電命令來關閉當前行。這樣,某一行被激活之后用戶便可進行連續的突發讀(寫)操作,從而節省了每次突發讀寫所需要的激活時間,提高了系統的數據吞吐率。
  控制器同時提供了一個自動刷新(auto refresh)計數器,每隔一定的時間間隔(即DDR SDRAM的刷新周期,根據所使用的存儲器而定,可在控制器中設定),便會產生一個刷新請求。如果此時DlDR SDRAM處于空閑狀態,控制器便會發出一個自動刷新命令來對DDR SDRAM進行刷新;如果此時DDR SDRAM正在進行讀(寫)操作,控制器將會等到當前的讀(寫)操作完成之后再發送刷新命令。在刷新過程中,用戶如果有讀(寫)請求,控制器將在當前刷新周期完成之后再響應用戶的請求。
  正常的操作過程中,當DDR SDRAM處于空閑狀態時,用戶還可以根據實際的需要來重置存儲器的控制寄存器,重新設定存儲器的突發長度、突發類型、CAS潛伏期等參數。
3.2控制器數據通道的結構  
 
    圖4是DDR SDRAM控制器數據通道的結構圖。

  圖4中完整地顯示了控制器讀和寫數據通道上DQ與DQS的結構關系。前面提到過,Cyclone系列FPGA沒有帶DDR觸發器的輸入輸出單元,但完全可以用靠近輸入輸出引腳處的邏輯資源來實現DDR觸發器,而且最后的結果表明,這種實現方式可以滿足時序要求。
  從圖4中也可以看到,控制器內部有兩個時鐘,clk和clk_90,兩者之間的相位差為90°。圖中將面向存儲器的時鐘命名為clk。它是clk_90時鐘的90°相位延遲后的信號。clk_90作為系統時鐘來驅動整個FPGA,clk時鐘驅動存儲器接口電路。
3.2.1  DQS相位延遲電路 
  在讀周期中,DDR SDRAM輸出的DQ和DQS信號是邊沿對齊的。為了使用DQS作為選通信號來捕獲DQ,DQS信號需要在FPGA內部相對于DQ信號作90°的相位延遲。但是這個延遲不能使用鎖相環(PLL)來完成,因為DQS信號不具有時鐘的特性。因此,需要在DQS和讀數據時鐘之間加一個延遲鏈(delay chain),如圖4中所示。
  前面提到過,Cyclone系列FPGA在其DQS輸入引腳上有一個專用的延遲單元,用來使DQS相對于DQ信號產生一個90°的相移。因此,可以使用該硬核資源來完成對DQS的相移,而不必通過內部的邏輯來搭建這樣一個延遲電路。從而可以獲得更好的時序性能。
3.2.2再同步 
  讀周期中,從DDR SDRAM來的數據信號首先通過延遲后的DQS鎖存到DDR觸發器中。為了在FPGA內部能夠使用該數據,還要將其同步到FPGA內部的時鐘域上,這個過程稱為再同步(resynchronization)。如圖4所示,對于前一級DQS延遲后的信號鎖存的數據再通過clk-90同步之后才送到內部數據總線上。
  在寫周期中,DQS與DQ必須是中心對齊的(centerahgn)。我們用clk_90時鐘觸發的DDR觸發器產生DQS信號,因此,為了滿足時序要求,從內部來的數據通過clk_90時鐘鎖存后再由clk觸發的DDR觸發器將其輸出,從而保證DQs與DQ是中心對齊的。
4  控制器的實現 
  該控制器針對16位寬512 Mb的DDR SDRAM設計,在Altera公司的Quartus II4.2環境中采用Cyclone系列的EPlC6Q2410C6來實現,總共使用了729個邏輯單元,占FPGA可編程邏輯資源的12%,此外還使用了1個鎖相環(PLL)。最后,在Modelsim5.8中對整個工程進行布局一布線后仿真(Post-P1ace&RouteSimulation),采用的模型為Micron公司的512 Mb的DDR SDRAMMT46V32M16的仿真模型,時鐘為133 MHz,圖2是控制器讀取DDR SDRAM的時序仿真波形。 
5  結  論 
  本文給出了一種通過FPGA控制將DDR SDRAM應用在嵌入式系統中的方法。設計中采用Altera公司性價比較高的Cyclone系列FPGA,并充分利用片內提供的鎖相環、DDR觸發器以及DQS延遲鏈等硬件資源,占用的邏輯資源少。該設計可以很容易地移植到Altera公司其他系列的FPGA上,經過適當的修改還可以用來控制64位寬的DIMM型的DDR SDRAM,因此可以很好地應用在需求高速度、大容量存儲器的場合中。           

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

18款夜间禁用粉色短视频软件| 23部禽女乱小说内| 中国熟妇内谢69XXXXX| Chinese国产HD精品实拍| 大明荫蒂女人毛茸茸| 国产在线无码一区二区三区 | 国产香蕉97碰碰久久人人| 久久久精品中文字幕乱码18| 人妻丰满AV中文久久不卡| 五十路○の豊満な肉体| 一二三四在线观看免费中文| 国产乱码一卡二卡3卡4卡网站| 国精产品999一区二区三区有限| 久久久亚洲欧洲日产国码ΑV| 欧美日韩在线视频| 无人区码一码二码三码是| 亚洲中文无码AV永久不收费| 边做边爱边吃奶叫床的动态图| 国产精品怡红院在线观看| 浪荡女天天不停挨CAO日常视频| 日本老肥婆BBBWBBBWZR| 亚洲成av人无码| FREE性满足VIDE0SHD| 国产欧美日韩精品丝袜高跟鞋| 伦人伦XXXX国语对白| 四川少妇BBW搡BBBB槡BBBB| 亚洲性夜夜综合久久7777| 别揉我奶头~嗯~啊~免费视频| 黑人巨大精品欧美久久| 欧美最猛激情性AAAAA| 性生生活大片又黄又| 18SCHOOL第一次破苞摘花| 国产精品国产三级国产A| 久久久亚洲熟妇熟女| 舌头伸进去里面吃小豆豆| 亚洲中文字幕日产无码| 东京热一区二区三区无码视频| 久久AV无码精品人妻出轨| 日韩乱码人妻无码中文字幕久久| 亚洲精品无码永久电影在线| 苍井空电影在线观看| 久久99精品久久久大学生| 色噜噜噜亚洲男人的天堂| 一本大道一卡2卡三卡4卡国产| 公和熄小婷乱中文字幕| 美女高潮20分钟视频在线观看| 无码激情亚洲一区| CAOPOREN超碰最新地址| 精品国产免费人成网站| 少妇伦子伦情品无吗| 中文字日产幕码三区的做法步骤 | 久久香蕉国产线看观看亚洲小说| 少妇做爰免费视频网站| 中文字幕人妻色偷偷久久| 国产熟妇与子伦HD| 人人妻人人澡人人爽人人爱看| 亚洲综合AV在线在线播放| 国产精品国三级国产AV| 欧洲熟妇色XXXXX欧美老妇伦| 亚洲色偷拍区另类无码专区| 亚洲综合一区自偷自拍| 国产乱码卡二卡三卡老狼| 人人妻人人狠人人爽| 呦交小U女国产精品视频| 国精产品一品二品国精破解| 日韩在线视频一区二区三区 | 吃了继兄给我开的药我做的梦| 快拨出天我是你母亲| 亚洲AV无码乱码国产精品久久| 吃奶呻吟打开双腿做受视频| 老师掀起裙子让我挺进| 亚洲AV无码麻豆一区二区三区| 成人综合婷婷国产精品久久蜜臀 | 人人妻熟妇中年乱子伦A| 一本大道香蕉在线资源| 狠狠色丁香久久婷婷综合五月| 熟妇内射在线二区| а天堂中文在线官网| 久久亚洲国产成人精品无码区| 亚洲AV无码久久久久网站蜜桃| 粉嫩虎白女P虎白女在线| 欧美一性一交一免费看| 中文成人无码精品久久久不卡| 教室停电了校草挺进我体内| 无码人妻AⅤ一区二区三区水密桃| 波多野无码中文字幕AV专区| 内地丰满浓密老熟女露脸对白| 亚洲人成人网站色WWW| 国内A级毛片免费观看| 窝窝人体色WWW聚色窝魅惑| 成人毛片100免费观看| 欧美人与动牲交A免费观看| 真人无码作爱免费视频网站| 久久精品蜜芽亚洲国产AV| 亚洲第一综合天堂另类专| 国产人成无码视频在线软件| 我和公GONG在厨房日本电影| 大象成品W灬源码1| 日本丰满护士爆乳XXⅩ| ZOOM与人性ZOOM怎么同步| 性色av无码人妻少妇肥臀| 青青青国产免A在线观看| 无码人妻丝袜在线视频| 国产99久久亚洲综合精品| 久久久久亚洲AV无码网站| 天天综合网天天综合色| 一本久道综合在线中文无码| 国产精品情侣呻吟对白视频| 免费无码的AV片在线观看| 少妇高潮惨叫喷水在线观看| 国产丰满美女A级毛片| 侵犯美人妻中出中文字幕| 国产成人拍精品视频午夜网站| 亚洲AV无码国产精品色午友在线| 精品人妻少妇一区二区三区在线| 亚洲国产欧美在线成人| 精品国产三级A∨在线无码| 亚洲国产精品久久久久制服| 久久精品亚洲日本波多野结衣| 亚洲一区二区三区无码影院| 蜜臀AV无码国产精品色午夜麻豆| 亚洲欧洲日韩综合色天使| 久久99精品久久久久久不卡| 亚洲精品AⅤ无码精品| 久热爱精品视频线路一| FREE国产粉嫩熟妇XXXHD| 人人爽人人模人人人爽人人爱| А√天堂资源地址在线下载| 久久国产精品久久精品国产| 亚洲国产成人精品青青草原导航| 黑人巨大跨种族VIDEO| 亚洲国产精品一区二区成人片不卡| 激情综合婷婷丁香五月情| 亚洲精品无码AV人在线播放| 久久久久精品国产三级美国美女 | 51CG吃瓜网热心朝阳群众| 蜜桃传媒一区二区亚洲AV| 91人妻人人做人碰人人爽蜜闫| 欧美最猛黑人XXXⅩ猛男欧| 成人无码精品1区2区3区免费看| 四虎永久在线精品免费网址 | 精品久久久中文字幕人妻| 亚洲伊人成无码综合影院| 么公的好大好硬好深好爽视频 | 丰满熟妇人妻中文字幕| 无码人妻丰满熟妇区五十路在线| 国内揄拍国内精品少妇| 亚洲综合久久成人AV| 秘书在办公室被躁到高潮| WRITEAS前后双插头| 神里凌华被焯出白水视频| 国产深夜男女无套内射| 亚洲中文字幕人成乱码| 欧美成人高清WW| 夫目前侵犯一区二区三区| 亚欧免费无码AⅤ在线观看蜜桃| 久久99国产精品久久99软件| 18禁无码无遮挡H动漫免费看| 日本熟妇毛茸茸XXXX| 国产免费AV片在线观看麻豆| 亚洲色丰满少妇高潮| 欧美极品少妇XXXXⅩ高跟鞋| 丰满熟妇VIDEOSXXXX| 亚洲丰满熟妇浓毛XXXX| 蜜桃一区二区hd视频网站| 成人亚洲一区二区三区在线| 亚洲AV成人无码精品网站老司机| 久久午夜夜伦鲁鲁片无码免费 | 日韩欧美视频一区二区| 国产人成高清在线视频99最全资| 亚洲在AV极品无码天堂手机版| 欧美午夜成人精品| 国产精品三级在线观看无码| 亚洲熟妇无码AⅤ在线播放| 欧美日韩XXOO无码专区| 国产精品久久国产精麻豆99网站| 亚洲一区二区三区AV无码蜜桃 | 精品国产亚洲AV麻豆尤物| 99久久国产福利自产拍| 调教后把奶头拴在跑步机上虐 | 国产精品美女久久久| 一本一道色欲综合网中文字幕| 日本丰满熟妇乱XXXXX故事| 国内最真实的XXXX人伦| 97SE狠狠狠狠狼亚洲综合网| 无码精品国产一区二区免费 | 一区二区三区乱码在线 | 中文| 日本无吗无卡V免费清高清| 国产一区二区无码蜜芽精品| 77色午夜成人影院综合网| 无码一区二区三区| 男女无遮挡高清视频免费看| 国产精品久久久久久久久爆乳| 一个上面一个下面嘴巴| 试看120秒男女啪啪免费| 久久伊人精品一区二区三区| 国产成人精品白浆久久69| 中国农村真实BBWBBWBBW| 无码丰满熟妇浪潮一区二区AV| 裸体丰满白嫩大尺度尤物 |