<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于CPLD的SDRAM控制器的設計

基于CPLD的SDRAM控制器的設計

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

數據采集處理技術(shù)是現代信號處理的基礎,廣泛應用于雷達、聲納、軟件無(wú)線(xiàn)電、瞬態(tài)信號測試等領(lǐng)域。隨著(zhù)信息科學(xué)的飛速發(fā)展,人們面臨的信號處理任務(wù)越來(lái)越繁重,對數據采集處理系統的要求也越來(lái)越高。近年來(lái)復雜可編程邏輯器件(Complex Programable Logic Dev ice,)由于其設計靈活性、更強的適應性及可重構性,結合同步動(dòng)態(tài)隨機訪(fǎng)問(wèn)存儲器(Synchronous Dynamic Random Access Memory,)的高速、大容量、價(jià)格優(yōu)勢,在設計高速實(shí)時(shí)數據采集系統時(shí)受到了廣泛的關(guān)注。(同步動(dòng)態(tài)隨機訪(fǎng)問(wèn)存儲器)具有價(jià)格低廉、密度高、數據讀寫(xiě)速度快的優(yōu)點(diǎn),從而成為數據緩存的首選存儲介質(zhì)。

本文引用地址:http://dyxdggzs.com/article/201706/349072.htm

1 的基本操作

SDRAM稱(chēng)為同步動(dòng)態(tài)隨機存儲器,同步是指其時(shí)鐘頻率與CPU前端總線(xiàn)的系統時(shí)鐘頻率相同,SDRAM可以使所有的輸入輸出信號保持與系統時(shí)鐘同步,并且內部的命令的發(fā)送與數據的傳輸都以它為基準;動(dòng)態(tài)是指存儲陣列需要不斷刷新來(lái)保證數據不丟失;隨機是指數據不是線(xiàn)性依次存儲,而是自由指定地址進(jìn)行數據的讀寫(xiě)。由于SDRAM為了提高存儲容量,采用硅片電容來(lái)存儲信息,隨著(zhù)時(shí)間的推移,必須給電容重新充電和刷新來(lái)保持電容里的數據信息。

在對SDRAM進(jìn)行存取數據操作之前,首先要對其初始化,即設置SDRAM的普通模式寄存器和擴展模式寄存器,確定SDRAM的工作方式,這些設置包括突發(fā)長(cháng)度、突發(fā)類(lèi)型、CAS潛伏期和工作模式的設置。在SDRAM芯片內部有一個(gè)邏輯控制單元,并且有一個(gè)模式寄存器為其提供控制參數。因此,每次開(kāi)機時(shí)SDRAM都要先對這個(gè)控制邏輯核心進(jìn)行初始化。初始化過(guò)程如圖1所示。



1.1 模式寄存器的設置

Mode Register Set:模式寄存器設置,是指對SDRAM的工作方式做一定義,對寄存器的設置,可以在每次系統啟動(dòng)時(shí),也可以在每次存取之間進(jìn)行,當SDRAM掉電時(shí),系統重新啟動(dòng)后必須重寫(xiě)模式寄存器。其空間安排如下表1所示:

Burst Length:決定當接受到一個(gè)讀寫(xiě)信號時(shí)可以讀取的最大的列數目,對于連續讀取模式,其值可以為1,2,4,8或整頁(yè)(full page),當為隔行讀取模式是,其值為1,2,4,8。

Burst Type:決定讀取模式為連續方式還是隔行方式。

CAS Latency:決定當一個(gè)讀信號有效到第一個(gè)數值在數據線(xiàn)上有效時(shí)之間的間隔延遲時(shí)間,延遲時(shí)間可以設定為1,2或3個(gè)時(shí)鐘周期。例如:如果延遲時(shí)間為m,讀信號在n時(shí)刻有效,那么數據將在第m+n個(gè)時(shí)鐘信號有效,如果相應的讀取時(shí)間適合的話(huà),而在m+n-1時(shí)刻數據線(xiàn)傳送數據。

Operation Mode:A7-A8表示操作的模式。

Write Burst Mode:當A9=0時(shí),有A0-A2決定的Burst Length適合于讀和寫(xiě)兩種操作。而當A9=1時(shí),Write只能讀取單一的單元,而不能支持塊操作。

Reserved:A10,A11是保留位,為以后的擴展使用。

1.2 預充電

由于SDRAM的尋址具有獨占性,所以在進(jìn)行完讀寫(xiě)操作后,如果要對同一L-Bank的另一行進(jìn)行尋址,就要將原來(lái)有效(工作)的行關(guān)閉,重新發(fā)送行/列地址。L-Bank關(guān)閉現有工作行,準備打開(kāi)新行的操作就是預充電(Precharge)。預充電可以通過(guò)命令控制,也可以通過(guò)輔助設定讓芯片在每次讀寫(xiě)操作之后自動(dòng)進(jìn)行預充電。實(shí)際上,預充電是一種對工作行中所有存儲體進(jìn)行數據重寫(xiě),并對行地址進(jìn)行復位,同時(shí)釋放S-AMP(重新加入比較電壓,一般是電容電壓的1/2,以幫助判斷讀取數據的邏輯電平,因為S-AMP是通過(guò)一個(gè)參考電壓與存儲體位線(xiàn)電壓的比較來(lái)判斷邏輯值的),以準備新行的工作。具體而言,就是將S-AMP中的數據回寫(xiě),即使是沒(méi)有工作過(guò)的存儲體也會(huì )因行選通而使存儲電容受到干擾,所以也需要S-AMP進(jìn)行讀后重寫(xiě)。此時(shí),電容的電量(或者說(shuō)其產(chǎn)生的電壓)將是判斷邏輯狀態(tài)的依據(讀取時(shí)也需要),為此要設定一個(gè)臨界值,一般為電容電量的1/2,超過(guò)它的為邏輯1,進(jìn)行重寫(xiě),否則為邏輯0,不進(jìn)行重寫(xiě)(等于放電)。為此,現在基本都將電容的另一端接入一個(gè)指定的電壓(即1/2電容電壓),而不是接地,以幫助重寫(xiě)時(shí)的比較與判斷。

1.3 刷新

SDRAM之所以稱(chēng)為同步動(dòng)態(tài)隨機存儲器,就是因為它要不斷進(jìn)行刷新(Refresh)才能保留住數據,因此它是SDRAM最重要的操作。刷新操作與預充電中重寫(xiě)的操作一樣,都是用S-AMP先讀再寫(xiě)。進(jìn)行預充電操作還要進(jìn)行刷新的原因:因為預充電是對一個(gè)或所有L-Bank中的工作行操作,并且是不定期的,而刷新則是有固定的周期,依次對所有行進(jìn)行操作,以保留那些久久沒(méi)經(jīng)歷重寫(xiě)的存儲體中的數據。但與所有L-Bank預充電不同的是,這里的行是指所有L-Bank中地址相同的行,而預充電中各L-Bank中的工作行地址并不是一定是相同的。
目前公認的標準是,存儲體中電容的數據有效保存期上限是64 ms,也就是說(shuō)每一行刷新的循環(huán)周期是64 ms,這樣刷新速度就是:行數量/64 ms。內存規格有4096Refresh Cyeles/64 ms或8192 Refresh Cycles/64 ms的標識,這里的4096與8192就代表這個(gè)芯片中每個(gè)L-Bank的行數。刷新命令一次對一行有效,發(fā)送間隔也是隨總行數而變化,4096行時(shí)為0.625 ps,8192行時(shí)就為7.812 5 ps。刷新操作分為兩種:自動(dòng)刷新(Auto Refresh,簡(jiǎn)稱(chēng)AR)與自刷新(Self Refresh,簡(jiǎn)稱(chēng)SR)。不論是何種刷新方式,都不需要外部提供行地址信息,因為這是一個(gè)內部的自動(dòng)操作。

2 系統硬件設計

移動(dòng)SDRAM接口設計包括四個(gè)主要模塊,如圖2所示,即控制接口模塊、CAS延遲、突發(fā)長(cháng)度以及地址生成器。下面對這些模塊進(jìn)行簡(jiǎn)要介紹。



2.1 控制接口模塊

控制接口模塊內部是有限狀態(tài)機(Finite-State Machine,FSM),有限狀態(tài)機解釋來(lái)自微處理器的輸入,把相應的命令和符合時(shí)序要求的地址發(fā)送給移動(dòng)SDRAM設備,然后,移動(dòng)SDRAM設備進(jìn)入相應的狀態(tài),執行命令。
有限狀態(tài)機會(huì )綜合考慮存儲器的時(shí)序要求,以正確的順序產(chǎn)生各種操作指令,在發(fā)出操作指令之前,控制器首先會(huì )給出一個(gè)讀取使能信號,從數據輸入輸出緩存模塊的地址指令中讀取地址指令??刂平涌谀K解碼并寄存主機發(fā)送的命令,把解碼后的空閑、寫(xiě)、讀、刷新、充電和模式設置命令和地址信號送給命令模塊。狀態(tài)機的狀態(tài)轉換如圖3所示。



2.2 CAS延遲模塊

CAS延遲通過(guò)模式寄存器配置,CAS延遲模塊的實(shí)質(zhì)是2位遞增計數器,這一計數器監視CAS延時(shí)時(shí)鐘周期數。它表示讀命令和第一個(gè)輸出數據之間延遲的時(shí)鐘周期數,延時(shí)時(shí)鐘周期數可以是二或三個(gè)時(shí)鐘周期。圖4分別給出CAS=3時(shí)的數據輸出時(shí)序。

2位遞增計數器的輸入輸出如下:

clk是輸入的時(shí)鐘信號來(lái)自微控制器,reset輸入的異步復位信號,count_en輸入的計數使能信號,count輸出的CAS延遲數。系統不復位的情況下在計數使能有效時(shí)當時(shí)鐘上升沿到來(lái)CAS延遲增加。

2.3 突發(fā)長(cháng)度模塊

突發(fā)長(cháng)度也使在模式寄存器中設置的,它的內部實(shí)質(zhì)是4位遞增計數器,這一計數器監視讀寫(xiě)突發(fā)工作時(shí)的時(shí)鐘周期數,原理與2位遞增計數器相同。

突發(fā)長(cháng)度可以是1、2、4或者8,突發(fā)(Burst)是指在同一行中相鄰的存儲單元連續進(jìn)行數據傳輸的方式,連續傳輸所涉及到存儲單元(列)的數量就是突發(fā)長(cháng)度。

2.4 地址轉換模塊

地址發(fā)生器將微處理器提供的地址按照要求的格式映射到移動(dòng)SDRAM設備上。命令模塊接收控制接口模塊輸入的解碼后的命令和刷新控制單元發(fā)出的刷新請求命令,產(chǎn)生合適的SDRAM操作命令。
該模塊包含一個(gè)簡(jiǎn)單的仲裁邏輯單元,仲裁主接口和刷新單元發(fā)出的命令,刷新請求的優(yōu)先級最高。當刷新單元和主接口同時(shí)發(fā)出命令時(shí),仲裁單元掛起主接口的命令直到刷新操作執行完畢;若主接口發(fā)出的命令正在執行時(shí),仲裁單元掛起刷新命令直至正在處理的操作執行結束。仲裁單元接收控制接口模塊發(fā)出的命令后,命令產(chǎn)生單元根據接收到的命令產(chǎn)生合適的SDRAM控制信號。命令產(chǎn)生單元基于三個(gè)移位寄存器產(chǎn)生正確的時(shí)序:第一個(gè)寄存器控制SDRAM激活命令的時(shí)序;第二個(gè)寄存器控制SDRAM讀寫(xiě)時(shí)的時(shí)序;第3個(gè)用于產(chǎn)生命令延時(shí),以便決定所請求的命令是否執行完畢。它根據狀態(tài)分別產(chǎn)生塊和行列地址,并傳送到移動(dòng)SDRAM設備上。

地址發(fā)生器的輸入輸出如下:

clk是系統的主時(shí)鐘輸入,addr是輸入的地址信號,pr_state是輸入的當前狀態(tài),這3個(gè)信號均由微控制器提供。地址發(fā)生器接收來(lái)自微控制器的命令,把命令轉換成SDRAM能夠理解的狀態(tài)信號,地址發(fā)生器根據狀態(tài)信號產(chǎn)生相應的地址選擇SDRAM的行或列進(jìn)行操作。

3 系統的設計與實(shí)現

選擇ALTERA公司MAXⅡ系列的EPM1240芯片,用方式實(shí)現SDRAM接口。接口仿真時(shí)序圖如圖5所示。

SDRAM接口仿真波形圖如圖5所示,其中sd_clk_97為操作SDRAM的時(shí)鐘,sd_cke_98,sd_csn_99,sd_casn_103,sd_rasn_105,sd_wen_106分別為時(shí)鐘使能信號,片選信號,列選通信號,行選通信號和讀寫(xiě)使能信號。sd_ba是SDRAM的2位Bank地址線(xiàn),sd_a_是SDRAM的13根地址線(xiàn)。data為SDRAM的16位輸入/輸出雙向數據線(xiàn)。

4 結論

在SDRAM的接口設計中,刷新的實(shí)現一直是一個(gè)關(guān)鍵問(wèn)題。選用產(chǎn)生控制SDRAM的時(shí)序,實(shí)現對SDRAM的各種操作。應用Verilog語(yǔ)言和QuartusⅡ軟件實(shí)現了SDRAM的接口設計,在QuartusⅡ軟件環(huán)境下模擬了STM32系列單片機對SDRAM的讀寫(xiě)操作時(shí)序,讀寫(xiě)速度達到100MHz,可以在STM32系列單片機擴展64 MBit的SDRAM,其中SDRAM的地址線(xiàn)為13根(行地址線(xiàn)13根,列地址線(xiàn)9根),Bank地址線(xiàn)2根,數據線(xiàn)16根。



關(guān)鍵詞: 刷新時(shí)序 CPLD SDRAM

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>