當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]摘要:SDRAM的讀寫邏輯復(fù)雜,最高時鐘頻率達(dá)100 MHz以上,普通單片機(jī)無法實現(xiàn)復(fù)雜的SDRAM控制操作,復(fù)雜可編程邏輯器件CPLD具有編程方便,集成度高,速度快,價格低等優(yōu)點(diǎn)。因此選用CPLD設(shè)計SDRAM接口控制模塊,簡化

摘要:SDRAM的讀寫邏輯復(fù)雜,最高時鐘頻率達(dá)100 MHz以上,普通單片機(jī)無法實現(xiàn)復(fù)雜的SDRAM控制操作,復(fù)雜可編程邏輯器件CPLD具有編程方便,集成度高,速度快,價格低等優(yōu)點(diǎn)。因此選用CPLD設(shè)計SDRAM接口控制模塊,簡化主機(jī)對SDRAM的讀寫控制。通過設(shè)計基于CPLD的SDRAM控制器接口,可以在STM系列、ARM系列、STC系列等單片機(jī)和DSP等微處理器的外部連接SDRAM,增加系統(tǒng)的存儲空間。
關(guān)鍵詞:SDRAM;接口;Verilog;CPLD

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

1 SDRAM的基本操作
    SDRAM稱為同步動態(tài)隨機(jī)存儲器,同步是指其時鐘頻率與CPU前端總線的系統(tǒng)時鐘頻率相同,SDRAM可以使所有的輸入輸出信號保持與系統(tǒng)時鐘同步,并且內(nèi)部的命令的發(fā)送與數(shù)據(jù)的傳輸都以它為基準(zhǔn);動態(tài)是指存儲陣列需要不斷刷新來保證數(shù)據(jù)不丟失;隨機(jī)是指數(shù)據(jù)不是線性依次存儲,而是自由指定地址進(jìn)行數(shù)據(jù)的讀寫。由于SDRAM為了提高存儲容量,采用硅片電容來存儲信息,隨著時間的推移,必須給電容重新充電和刷新來保持電容里的數(shù)據(jù)信息。
    在對SDRAM進(jìn)行存取數(shù)據(jù)操作之前,首先要對其初始化,即設(shè)置SDRAM的普通模式寄存器和擴(kuò)展模式寄存器,確定SDRAM的工作方式,這些設(shè)置包括突發(fā)長度、突發(fā)類型、CAS潛伏期和工作模式的設(shè)置。在SDRAM芯片內(nèi)部有一個邏輯控制單元,并且有一個模式寄存器為其提供控制參數(shù)。因此,每次開機(jī)時SDRAM都要先對這個控制邏輯核心進(jìn)行初始化。初始化過程如圖1所示。


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


    Burst Length:決定當(dāng)接受到一個讀寫信號時可以讀取的最大的列數(shù)目,對于連續(xù)讀取模式,其值可以為1,2,4,8或整頁(full page),當(dāng)為隔行讀取模式是,其值為1,2,4,8。
    Burst Type:決定讀取模式為連續(xù)方式還是隔行方式。
    CAS Latency:決定當(dāng)一個讀信號有效到第一個數(shù)值在數(shù)據(jù)線上有效時之間的間隔延遲時間,延遲時間可以設(shè)定為1,2或3個時鐘周期。例如:如果延遲時間為m,讀信號在n時刻有效,那么數(shù)據(jù)將在第m+n個時鐘信號有效,如果相應(yīng)的讀取時間適合的話,而在m+n-1時刻數(shù)據(jù)線傳送數(shù)據(jù)。
    Operation Mode:A7-A8表示操作的模式。
    Write Burst Mode:當(dāng)A9=0時,有A0-A2決定的Burst Length適合于讀和寫兩種操作。而當(dāng)A9=1時,Write只能讀取單一的單元,而不能支持塊操作。
    Reserved:A10,A11是保留位,為以后的擴(kuò)展使用。
1.2 預(yù)充電
    由于SDRAM的尋址具有獨(dú)占性,所以在進(jìn)行完讀寫操作后,如果要對同一L-Bank的另一行進(jìn)行尋址,就要將原來有效(工作)的行關(guān)閉,重新發(fā)送行/列地址。L-Bank關(guān)閉現(xiàn)有工作行,準(zhǔn)備打開新行的操作就是預(yù)充電(Precharge)。預(yù)充電可以通過命令控制,也可以通過輔助設(shè)定讓芯片在每次讀寫操作之后自動進(jìn)行預(yù)充電。實際上,預(yù)充電是一種對工作行中所有存儲體進(jìn)行數(shù)據(jù)重寫,并對行地址進(jìn)行復(fù)位,同時釋放S-AMP(重新加入比較電壓,一般是電容電壓的1/2,以幫助判斷讀取數(shù)據(jù)的邏輯電平,因為S-AMP是通過一個參考電壓與存儲體位線電壓的比較來判斷邏輯值的),以準(zhǔn)備新行的工作。具體而言,就是將S-AMP中的數(shù)據(jù)回寫,即使是沒有工作過的存儲體也會因行選通而使存儲電容受到干擾,所以也需要S-AMP進(jìn)行讀后重寫。此時,電容的電量(或者說其產(chǎn)生的電壓)將是判斷邏輯狀態(tài)的依據(jù)(讀取時也需要),為此要設(shè)定一個臨界值,一般為電容電量的1/2,超過它的為邏輯1,進(jìn)行重寫,否則為邏輯0,不進(jìn)行重寫(等于放電)。為此,現(xiàn)在基本都將電容的另一端接入一個指定的電壓(即1/2電容電壓),而不是接地,以幫助重寫時的比較與判斷。
1.3 刷新
    SDRAM之所以稱為同步動態(tài)隨機(jī)存儲器,就是因為它要不斷進(jìn)行刷新(Refresh)才能保留住數(shù)據(jù),因此它是SDRAM最重要的操作。刷新操作與預(yù)充電中重寫的操作一樣,都是用S-AMP先讀再寫。進(jìn)行預(yù)充電操作還要進(jìn)行刷新的原因:因為預(yù)充電是對一個或所有L-Bank中的工作行操作,并且是不定期的,而刷新則是有固定的周期,依次對所有行進(jìn)行操作,以保留那些久久沒經(jīng)歷重寫的存儲體中的數(shù)據(jù)。但與所有L-Bank預(yù)充電不同的是,這里的行是指所有L-Bank中地址相同的行,而預(yù)充電中各L-Bank中的工作行地址并不是一定是相同的。
    目前公認(rèn)的標(biāo)準(zhǔn)是,存儲體中電容的數(shù)據(jù)有效保存期上限是64 ms,也就是說每一行刷新的循環(huán)周期是64 ms,這樣刷新速度就是:行數(shù)量/64 ms。內(nèi)存規(guī)格有4096Refresh Cyeles/64 ms或8192 Refresh Cycles/64 ms的標(biāo)識,這里的4096與8192就代表這個芯片中每個L-Bank的行數(shù)。刷新命令一次對一行有效,發(fā)送間隔也是隨總行數(shù)而變化,4096行時為0.625 ps,8192行時就為7.812 5 ps。刷新操作分為兩種:自動刷新(Auto Refresh,簡稱AR)與自刷新(Self Refresh,簡稱SR)。不論是何種刷新方式,都不需要外部提供行地址信息,因為這是一個內(nèi)部的自動操作。

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


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


2.2 CAS延遲模塊
    CAS延遲通過模式寄存器配置,CAS延遲模塊的實質(zhì)是2位遞增計數(shù)器,這一計數(shù)器監(jiān)視CAS延時時鐘周期數(shù)。它表示讀命令和第一個輸出數(shù)據(jù)之間延遲的時鐘周期數(shù),延時時鐘周期數(shù)可以是二或三個時鐘周期。圖4分別給出CAS=3時的數(shù)據(jù)輸出時序。
    2位遞增計數(shù)器的輸入輸出如下:
   
    clk是輸入的時鐘信號來自微控制器,reset輸入的異步復(fù)位信號,count_en輸入的計數(shù)使能信號,count輸出的CAS延遲數(shù)。系統(tǒng)不復(fù)位的情況下在計數(shù)使能有效時當(dāng)時鐘上升沿到來CAS延遲增加。
2.3 突發(fā)長度模塊
    突發(fā)長度也使在模式寄存器中設(shè)置的,它的內(nèi)部實質(zhì)是4位遞增計數(shù)器,這一計數(shù)器監(jiān)視讀寫突發(fā)工作時的時鐘周期數(shù),原理與2位遞增計數(shù)器相同。
    突發(fā)長度可以是1、2、4或者8,突發(fā)(Burst)是指在同一行中相鄰的存儲單元連續(xù)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞?,連續(xù)傳輸所涉及到存儲單元(列)的數(shù)量就是突發(fā)長度。
2.4 地址轉(zhuǎn)換模塊
    地址發(fā)生器將微處理器提供的地址按照要求的格式映射到移動SDRAM設(shè)備上。命令模塊接收控制接口模塊輸入的解碼后的命令和刷新控制單元發(fā)出的刷新請求命令,產(chǎn)生合適的SDRAM操作命令。
    該模塊包含一個簡單的仲裁邏輯單元,仲裁主接口和刷新單元發(fā)出的命令,刷新請求的優(yōu)先級最高。當(dāng)刷新單元和主接口同時發(fā)出命令時,仲裁單元掛起主接口的命令直到刷新操作執(zhí)行完畢;若主接口發(fā)出的命令正在執(zhí)行時,仲裁單元掛起刷新命令直至正在處理的操作執(zhí)行結(jié)束。仲裁單元接收控制接口模塊發(fā)出的命令后,命令產(chǎn)生單元根據(jù)接收到的命令產(chǎn)生合適的SDRAM控制信號。命令產(chǎn)生單元基于三個移位寄存器產(chǎn)生正確的時序:第一個寄存器控制SDRAM激活命令的時序;第二個寄存器控制SDRAM讀寫時的時序;第3個用于產(chǎn)生命令延時,以便決定所請求的命令是否執(zhí)行完畢。它根據(jù)狀態(tài)分別產(chǎn)生塊和行列地址,并傳送到移動SDRAM設(shè)備上。
    地址發(fā)生器的輸入輸出如下:
   
    clk是系統(tǒng)的主時鐘輸入,addr是輸入的地址信號,pr_state是輸入的當(dāng)前狀態(tài),這3個信號均由微控制器提供。地址發(fā)生器接收來自微控制器的命令,把命令轉(zhuǎn)換成SDRAM能夠理解的狀態(tài)信號,地址發(fā)生器根據(jù)狀態(tài)信號產(chǎn)生相應(yīng)的地址選擇SDRAM的行或列進(jìn)行操作。

3 系統(tǒng)的設(shè)計與實現(xiàn)
    選擇ALTERA公司MAXⅡ系列的EPM1240芯片,用CPLD方式實現(xiàn)SDRAM接口。接口仿真時序圖如圖5所示。


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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉