• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于EPM 1240的SDRAM控制器的設(shè)計(jì)

    2012-06-09 10:25:26徐振國(guó)
    電子設(shè)計(jì)工程 2012年2期
    關(guān)鍵詞:預(yù)充電寄存器時(shí)序

    徐振國(guó),李 欣

    (哈爾濱理工大學(xué) 測(cè)控技術(shù)與通信工程學(xué)院,黑龍江 哈爾濱 150080)

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

    1 SDRAM的基本操作

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

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

    圖1 初始化過程Fig.1 Initialization process

    1.1 模式寄存器的設(shè)置

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

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

    表1 模式寄存器的配置Tab.1 M ode register configuration

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

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

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

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

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

    1.2 預(yù)充電

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

    1.3 刷新

    SDRAM之所以稱為同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,就是因?yàn)樗粩噙M(jìn)行刷新 (Refresh)才能保留住數(shù)據(jù),因此它是SDRAM最重要的操作。刷新操作與預(yù)充電中重寫的操作一樣,都是用S-AMP先讀再寫。進(jìn)行預(yù)充電操作還要進(jìn)行刷新的原因:因?yàn)轭A(yù)充電是對(duì)一個(gè)或所有L-Bank中的工作行操作,并且是不定期的,而刷新則是有固定的周期,依次對(duì)所有行進(jìn)行操作,以保留那些久久沒經(jīng)歷重寫的存儲(chǔ)體中的數(shù)據(jù)。但與所有L-Bank預(yù)充電不同的是,這里的行是指所有L-Bank中地址相同的行,而預(yù)充電中各L-Bank中的工作行地址并不是一定是相同的[4]。

    目前公認(rèn)的標(biāo)準(zhǔn)是,存儲(chǔ)體中電容的數(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)識(shí),這里的4096與8192就代表這個(gè)芯片中每個(gè)L-Bank的行數(shù)。刷新命令一次對(duì)一行有效,發(fā)送間隔也是隨總行數(shù)而變化,4096行時(shí)為0.625 ps,8192行時(shí)就為 7.812 5 ps。刷新操作分為兩種:自動(dòng)刷新(Auto Refresh,簡(jiǎn)稱 AR)與自刷新(Self Refresh,簡(jiǎn)稱SR)。不論是何種刷新方式,都不需要外部提供行地址信息,因?yàn)檫@是一個(gè)內(nèi)部的自動(dòng)操作。

    2 系統(tǒng)硬件設(shè)計(jì)

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

    圖2 移動(dòng)SDRAM接口框圖Fig.2 Mobile SDRAM Interface Block Diagram

    2.1 控制接口模塊

    控制接口模塊內(nèi)部是有限狀態(tài)機(jī) (Finite-State Machine,F(xiàn)SM),有限狀態(tài)機(jī)解釋來自微處理器的輸入,把相應(yīng)的命令和符合時(shí)序要求的地址發(fā)送給移動(dòng)SDRAM設(shè)備,然后,移動(dòng)SDRAM設(shè)備進(jìn)入相應(yīng)的狀態(tài),執(zhí)行命令。

    有限狀態(tài)機(jī)會(huì)綜合考慮存儲(chǔ)器的時(shí)序要求,以正確的順序產(chǎn)生各種操作指令,在發(fā)出操作指令之前,控制器首先會(huì)給出一個(gè)讀取使能信號(hào),從數(shù)據(jù)輸入輸出緩存模塊的地址指令中讀取地址指令??刂平涌谀K解碼并寄存主機(jī)發(fā)送的命令,把解碼后的空閑、寫、讀、刷新、充電和模式設(shè)置命令和地址信號(hào)送給命令模塊。狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換如圖3所示。

    2.2 CAS延遲模塊

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

    圖3 狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖Fig.3 State transition diagram of state machine

    圖4 CAS=3時(shí)的數(shù)據(jù)輸出時(shí)序Fig.4 Data of output timing when CAS=3

    2位遞增計(jì)數(shù)器的輸入輸出如下:

    clk是輸入的時(shí)鐘信號(hào)來自微控制器,reset輸入的異步復(fù)位信號(hào),count_en輸入的計(jì)數(shù)使能信號(hào),count輸出的CAS延遲數(shù)。系統(tǒng)不復(fù)位的情況下在計(jì)數(shù)使能有效時(shí)當(dāng)時(shí)鐘上升沿到來CAS延遲增加。

    2.3 突發(fā)長(zhǎng)度模塊

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

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

    2.4 地址轉(zhuǎn)換模塊

    地址發(fā)生器將微處理器提供的地址按照要求的格式映射到移動(dòng)SDRAM設(shè)備上。命令模塊接收控制接口模塊輸入的解碼后的命令和刷新控制單元發(fā)出的刷新請(qǐng)求命令,產(chǎn)生合適的SDRAM操作命令[5]。

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

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

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

    3 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    選擇ALTERA公司MAXⅡ系列的EPM1240芯片,用CPLD方式實(shí)現(xiàn)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í)鐘使能信號(hào),片選信號(hào),列選通信號(hào),行選通信號(hào)和讀寫使能信號(hào)。sd_ba是SDRAM的2位Bank地址線,sd_a_是SDRAM的13根地址線。data為SDRAM的16位輸入/輸出雙向數(shù)據(jù)線。

    4 結(jié) 論

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

    [1]嚴(yán)來金,李明,王夢(mèng).RS(255,223)譯碼器的設(shè)計(jì)與FPGA實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2005(1):148-150.YAN Lai-jin,LI Ming,WANG Meng.RS (255,223)Decoder design and FPGA implementation[J].Computer Information,2005(1):148-150

    [2]Carroll J.Making use:scenario-based design of human computer Interaction[M].Cambridge,MA:MIT Press,2000.

    圖5 SDRAM接口波形圖Fig.5 Waveform of SDRAM Interface

    [3]Vredenburg K,Isensee S,mshl C.User-centered design:an integrated approach[M].New Jersey:Prentice HalI,2001.

    [4]江先陽.計(jì)算密集型體系集成DDR SDRAM控制器設(shè)計(jì)[J].計(jì)算機(jī)工程與科學(xué),2006,28(3):96-97,101.JIANG Xian-yang.Compute-intensive system integration DDR SDRAM design of controller[J].Computer Engineering and Science,2005,28(3):96-97,101.

    [5]樊建平,陳明宇.網(wǎng)格化的動(dòng)態(tài)自組織高性能計(jì)算機(jī)體系結(jié)構(gòu)(DSAG)[J].計(jì)算機(jī)研究與發(fā)展,2003,40(12):1737-1742.FAN Jian-ping,CHEN Ming-yu.The dynamic self-organizing grid of high-performance computer architecture (DSAG)[J].Research and Development of Computer,2003,40 (12):1737-1742.

    [6]Imelligent User Interface Introduction and Survey[R].Ehlert:Patrick Research Report DKS03-01/ICE 01 Version 0.9,2003.

    猜你喜歡
    預(yù)充電寄存器時(shí)序
    時(shí)序坐標(biāo)
    動(dòng)力電池預(yù)充設(shè)計(jì)及溫升特性研究
    基于Sentinel-2時(shí)序NDVI的麥冬識(shí)別研究
    電動(dòng)汽車預(yù)充電保護(hù)設(shè)計(jì)
    電動(dòng)汽車分級(jí)預(yù)充電回路及預(yù)充電阻選型匹配方法研究
    汽車電器(2021年2期)2021-03-05 07:12:04
    Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
    分簇結(jié)構(gòu)向量寄存器分配策略研究*
    一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
    電子制作(2016年15期)2017-01-15 13:39:08
    基于變頻器的新型預(yù)充電電路的研究
    DPBUS時(shí)序及其設(shè)定方法
    河南科技(2014年15期)2014-02-27 14:12:36
    永川市| 马山县| 德化县| 巩留县| 湖州市| 卢龙县| 金寨县| 汕尾市| 闽侯县| 湖口县| 林西县| 灵台县| 淮阳县| 阿巴嘎旗| 汉阴县| 阜平县| 册亨县| 通化市| 海原县| 平顶山市| 新津县| 郓城县| 云林县| 射阳县| 洛浦县| 鄂尔多斯市| 景泰县| 永城市| 台东市| 丹阳市| 宜昌市| 琼结县| 抚宁县| 吉首市| 绥宁县| 南充市| 丰都县| 柞水县| 阳城县| 翁牛特旗| 彰武县|