日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SDRAM控制器詳解

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2022-05-09 10:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SDRAM的基本概念

SDRAM憑借其極高的性價比,廣泛應用于高速數據存儲、實時圖像處理等設計當中,但是相對于SRAM、FIFO等其他存儲器件,SDRAM的控制相對復雜。雖說是復雜,但也不代表沒辦法實現,仔細梳理一下,發(fā)現SDRAM的控制其實也沒這么難。本文就SDRAM的基本概念以及其工作流程做簡要介紹。

SDRAM 的基本信號

SDRAM 的基本信號(電源以及地線在這里不討論)可以分成以下三類,分別是控制信號、地址選擇信號以及數據信號:

(1)控制信號:包括片選(CS)、同步時鐘(CLK)、時鐘有效(CLKE)、讀寫選擇(/WE)、

數據有效(DQM)等;

(2)地址選擇信號:包括行地址選擇(/RAS)、列地址選擇(/CAS)、行/列地址線(A0-A12)分時復用、Bank 塊地址線(BA0-BA1);

(3)數據信號:包括雙向數據端口(DQ0-DQ15)、接收數據有效信號(DQM)控制等。DQM 為低時,寫入/讀出有效。

c65e4cfe-cf3b-11ec-bce3-dac502259ad0.png

圖1 SDRAM 管腳基本信息

SDRAM相關指令以及關鍵參數解析

c67891b8-cf3b-11ec-bce3-dac502259ad0.png

圖2 SDRAM相關指令

上圖中,把SDRAM用到的所有指令都羅列出來了,其實我們在運用SDRAM的時候,只用到其中部分指令。例如其中write/write with autoprecharge,這兩個指令我們都可以對SDRAM進行寫操作,只是說在” writewith autoprecharge”指令,我們每寫完一個突發(fā)長度的數據之后,SDRAM會自動跳出這個狀態(tài)進行刷新,而在”write”指令,是需要給相應的指令之后才會跳出”WRITE”狀態(tài)的,所以為了提高SDRAM的運行速度,我們一般采用write指令來提高速度。當然”read”和”read with autoprecharge”這兩個指令的區(qū)別也是這樣的。

常用指令:

讀(read)

在發(fā)送列讀寫命令時必須要與行有效命令有一個間隔,這個間隔被定義為tRCD,即

RAS to CAS Delay(RAS 至CAS 延遲),大家也可以理解為行選通周期,這應該是根據芯片存儲陣列電子元件響應時間(從一種狀態(tài)到另一種狀態(tài)變化的過程)所制定的延遲。下圖3中給出了,SDRAM讀的相關時序。

c69bc1a6-cf3b-11ec-bce3-dac502259ad0.png

圖3 SDRAM讀時序

SDRAM讀時序,簡單概括起來就是:1.激活行--à2.選通列-à3.預充電,關閉所在行--à下一次指令。

寫(write)

c6bd9042-cf3b-11ec-bce3-dac502259ad0.png

圖4 SDRAM寫時序

預充電(precharge)

由于SDRAM 的尋址具有獨占性,所以在進行完讀寫操作后,如果要對同一L-Bank 的另一行進行尋址,就要將原來有效(工作) 的行關閉,重新發(fā)送行/列地址。L-Bank 關閉現有工作行,準備打開新行的操作就是預充電(Precharge)。在發(fā)出預充電命令之后,要經過一段時間才能允許發(fā)送RAS 行有效命令打開新的工作行,這個間隔被稱為tRP(Precharge command Period,預充電有效周期)。和tRCD、CL 一樣,tRP的單位也是時鐘周期數,具體值視時鐘頻率而定。

自動刷新(auto refresh)

之所以稱為DRAM,就是因為它要不斷進行刷新(Refresh)才能保留住數據,因此它是DRAM 最重要的操作。刷新操作與預充電中重寫的操作一樣,都是用S-AMP 先讀再寫。但為什么有預充電操作還要進行刷新呢?因為預充電是對一個或所有L-Bank 中的工作行操作,并且是不定期的,而刷新則是有固定的周期,依次對所有行進行操作,以保留那些久久沒經歷重寫的存儲體中的數據。

關鍵參數:

tRCD:

從行有效到讀/寫命令發(fā)出之間的間隔被定義為tRCD,即RAS to CAS Delay(RAS至CAS延遲,RAS就是行地址選通脈沖,CAS就是列地址選通脈沖),大家也可以理解為行選通周期。廣義的tRCD以時鐘周期(tCK,Clock Time)數為單位,比如tRCD=2,就代表延遲周期為兩個時鐘周期,具體到確切的時間,則要根據時鐘頻率而定。

c6d540f2-cf3b-11ec-bce3-dac502259ad0.png

圖5 tRCD=3

CL:

相關的列地址被選中之后,將會觸發(fā)數據傳輸,但從存儲單元中輸出到真正出現在內存芯片的 I/O 接口之間還需要一定的時間(數據觸發(fā)本身就有延遲,而且還需要進行信號放大),這段時間就是非常著名的 CL(CAS Latency,列地址脈沖選通潛伏期)。CL 的數值與 tRCD 一樣,以時鐘周期數表示。如DDR-400,時鐘頻率為 200MHz,時鐘周期為 5ns,那么 CL=2 就意味著 10ns 的潛伏期。不過,CL 只是針對讀取操作,對于 SDRAM,寫入是沒有潛伏期的。

c6eac71a-cf3b-11ec-bce3-dac502259ad0.png

圖6 CL=2

BL:

突發(fā)(Burst)是指在同一行中相鄰的存儲單元連續(xù)進行數據傳輸的方式,連續(xù)傳輸的周期數就是突發(fā)長度(Burst Lengths,簡稱BL)。在進行突發(fā)傳輸時,只要指定起始列地址與突發(fā)長度,內存就會依次地自動對后面相應數量的存儲單元進行讀/寫操作而不再需要控制器連續(xù)地提供列地址(SDRAM與DDR SDRAM的突發(fā)傳輸對列尋址的操作數量有所不同,在此不再細說)。這樣,除了第一筆數據的傳輸需要若干個周期(主要是之前的延遲,一般的是tRCD+CL)外,其后每個數據只需一個周期的即可獲得。

c6ff6ff8-cf3b-11ec-bce3-dac502259ad0.png

圖7 突發(fā)BL=4

tRP:

由于SDRAM 的尋址具有獨占性,所以在進行完讀寫操作后,如果要對同一L-Bank 的另一行進行尋址,就要將原來有效(工作) 的行關閉,重新發(fā)送行/列地址。L-Bank 關閉現有工作行,準備打開新行的操作就是預充電(Precharge)。在發(fā)出預充電命令之后,要經過一段時間才能允許發(fā)送RAS 行有效命令打開新的工作行,這個間隔被稱為tRP(Precharge command Period,預充電有效周期)。

c717fe60-cf3b-11ec-bce3-dac502259ad0.png

圖8 tRP=2

SDRAM的工作流程

c7338a4a-cf3b-11ec-bce3-dac502259ad0.png

圖9 SDRAM基本工作流程

啟動初始化:

1、同時啟動設備核心電源VDD和設備I/O電源VDDQ。聲明并維持CKE引腳為高電平(CKE引腳為Clock Enable,時鐘使能信號,高電平表示啟動內部時鐘信號)。

2、等到VDD和VDDQ穩(wěn)定后并且CKE設為高電平,應用穩(wěn)定時鐘。

3、等待200μs執(zhí)行空操作命令。

4、precharge:預充電命令。SDRAM執(zhí)行一條預充電命令后,要執(zhí)行一條空操作命令,這兩個操作會使所有的存儲單元進行一次預充電,從而使所有陣列中的器件處于待機狀態(tài)。引腳A10(=AP Auto Precharge)可以對預充電的模式進行選擇,當A10=LOW時,給單個bank pre-charge,bank由BA0和BA1引腳進行選擇;當A10=HIGH時,給所有的bank進行precharge。

5、auto-refresh:自刷新命令。SDRAM要執(zhí)行兩條自刷新命令,每一條刷新命令之后,都需要執(zhí)行一條空操作命令。這些操作會使 SDRAM內部的刷新及計數器進入正常運行狀態(tài),以便為SDRAM模式寄存器編程做好準備。

6、load mode register:設置模式寄存器。Mode Register一般被用于定義SDRAM運行的模式,寄存器里一般設置了讀取延遲,burst長度,CAS,burst類型,操作模式,還有是設置SDRAM是工作在單個讀寫操作還是burst操作下。Mode Register通過LOAD MODE REGISTER命令進行編程,這組信息將會一直保存在Mode Register中直到內存掉電之后才會消失。而這個寄存器的設置也是通過地址線來設置的,所以在發(fā)出Load Mode Register命令后要做一個操作是使得在SDRAM的地址線上的值就是你要設置的值。注意!這個操作是8位的操作。Mode Register中的M0-M2是用來定義突發(fā)長度(burst length)的,M3定義突發(fā)類型(sequential或者interleaved),M4-M6定義CAS延遲,M7和M8定義運行模式,M9定義寫入突發(fā)模式(write burst mode),M10和 M11目前保留。Mode Register必須在所有的bank都處于idle狀態(tài)下才能被載入,在所有初始化工組都進行完畢之前,控制器必須等待一定的時間。在初始化過程中發(fā)生了任何非法的操作都可能導致初始化失敗從而導致整個計算機系統(tǒng)不能啟動。

設置完模式寄存器之后就進入了正常讀寫操作模式。

c74f35d8-cf3b-11ec-bce3-dac502259ad0.png

圖10SDRAM初始化

SDRAM的基本讀寫操作

SDRAM的基本讀操作需要控制線和地址線相配合地發(fā)出一系列命令來完成。先發(fā)出BANK激活命令(ACTIVE),并鎖存相應的BANK地址(BA0、 BA1給出)和行地址(A0~A12給出)。BANK激活命令后必須等待大于tRCD(SDRAM的RAS到CAS的延遲指標)時間后,發(fā)出讀命令字。CL(CAS延遲值)個工作時鐘后,讀出數據依次出現在數據總線上。在讀操作的最后,要向SDRAM發(fā)出預充電(PRECHARGE)命令,以關閉已經激活的頁。等待tRP時間(PRECHAREG命令后,相隔tRP時間,才可再次訪問該行)后,可以開始下一次的讀、寫操作。SDRAM的讀操作只有突發(fā)模式(Burst Mode),突發(fā)長度為1、2、4、8可選。

c717fe60-cf3b-11ec-bce3-dac502259ad0.png

圖11SDRAM基本讀操作

SDRAM的基本寫操作也需要控制線和地址線相配合地發(fā)出一系列命令來完成。先發(fā)出BANK激活命令(ACTIVE),并鎖存相應的BANK地址(BA0、BA1給出)和行地址(A0~A12給出)。BANK激活命令后必須等待大于tRCD的時間后,發(fā)出寫命令字。寫命令可以立即寫入,需寫入數據依次送到DQ(數據線)上。在最后一個數據寫入后延遲tWR時間。發(fā)出預充電命令,關閉已經激活的頁。等待tRP時間后,可以展開下一次操作。寫操作可以有突發(fā)寫和非突發(fā)寫兩種。突發(fā)長度同讀操作。

SDRAM刷新過程:

由于SDRAM是利用其內部的電容來存儲數據,所以需要不斷進行刷新(Refresh)才能保留住數據。刷新操作有固定的周期,以行為單位進行刷新,依次對所有行進行操作,以保留那些久久沒經歷重寫的存儲體中的數據。與所有L-Bank預充電不同的是,這里的行是指所有L-Bank中地址相同的行,而預充電中各L-Bank中的工作行地址并不是一定是相同的。存儲體中電容的數據有效保存期上限是64ms(毫秒,1/1000秒),也就是說每一行刷新的循環(huán)周期是64ms。這樣刷新速度就是:行數量/64ms。刷新命令一次對一行有效,發(fā)送間隔也是隨總行數而變化。

刷新操作分為兩種:自動刷新(Auto Refresh,簡稱AR)與自刷新(Self Refresh,簡稱SR)。不論是何種刷新方式,都不需要外部提供行地址信息,因為這是一個內部的自動操作。

對于AR,SDRAM內部有一個行地址生成器(也稱刷新計數器)用來自動的依次生成行地址。由于刷新是針對一行中的所有存儲體進行,所以無需列尋址,或者說CAS在RAS之前有效。所以,AR又稱CBR(CAS Before RAS,列提前于行定位)式刷新。由于刷新涉及到所有L-Bank,因此在刷新過程中,所有L-Bank都停止工作,而每次刷新所占用的時間為9個時鐘周期(PC133標準),之后就可進入正常的工作狀態(tài),也就是說在這9個時鐘期間內,所有工作指令只能等待而無法執(zhí)行。64ms之后則再次對同一行進行刷新,如此周而復始進行循環(huán)刷新。顯然,刷新操作肯定會對SDRAM的性能造成影響,也是DRAM相對于SRAM(靜態(tài)內存,無需刷新仍能保留數據)取得成本優(yōu)勢的同時所付出的代價。

SR則主要用于休眠模式低功耗狀態(tài)下的數據保存,這方面最著名的應用就是STR(Suspend to RAM,休眠掛起于內存)。在發(fā)出AR命令時,將CKE置于無效狀態(tài),就進入了SR模式,此時不再依靠系統(tǒng)時鐘工作,而是根據內部的時鐘進行刷新操作。在 SR期間除了CKE之外的所有外部信號都是無效的(無需外部提供刷新指令),只有重新使CKE有效才能退出自刷新模式并進入正常操作狀態(tài)。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    17890

    瀏覽量

    195335
  • SDRAM
    +關注

    關注

    7

    文章

    459

    瀏覽量

    57868

原文標題:FPGA學習-細說SDRAM控制器

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Si9145低電壓開關模式控制器:特性、參數與應用詳解

    Si9145低電壓開關模式控制器:特性、參數與應用詳解 在電子設備的電源管理領域,低電壓開關模式控制器扮演著至關重要的角色。今天,我們就來深入探討Vishay Siliconix的Si9145低電壓
    的頭像 發(fā)表于 04-27 10:05 ?81次閱讀

    56F8322/56F8122數字信號控制器技術詳解

    56F8322/56F8122數字信號控制器技術詳解 在電子工程領域,數字信號控制器(DSC)扮演著至關重要的角色。今天,我們就來深入探討飛思卡爾(Freescale)的56F8322
    的頭像 發(fā)表于 04-09 10:20 ?201次閱讀

    SDRAM工業(yè)動態(tài)隨機存儲在可編程邏輯控制器(PLC)的應用

    在工業(yè)自動化控制系統(tǒng)中,可編程邏輯控制器(PLC)承擔著數據采集、邏輯運算與執(zhí)行控制的核心任務。隨著生產現場對實時性和穩(wěn)定性的要求不斷提高,PLC對內部存儲的性能也提出了更嚴苛的需求
    的頭像 發(fā)表于 04-07 14:10 ?176次閱讀

    Z8 Encore! XP 64K 系列閃存微控制器產品詳解

    Z8 Encore! XP 64K 系列閃存微控制器產品詳解 一、引言 在微控制器的世界里,Zilog 的 Z8 Encore! XP MCU 系列一直占據著重要的位置。今天我們要深入探討的是 Z8
    的頭像 發(fā)表于 04-07 11:35 ?230次閱讀

    ATmega16(L)微控制器:功能、特性與應用詳解

    ATmega16(L)微控制器:功能、特性與應用詳解 在電子設計領域,微控制器是核心組件之一,它能為各種嵌入式系統(tǒng)提供強大的控制能力。ATmega16(L)作為Atmel公司推出的一款
    的頭像 發(fā)表于 04-06 12:30 ?828次閱讀

    AT89LV55微控制器:特性、功能與應用詳解

    AT89LV55微控制器:特性、功能與應用詳解 在嵌入式控制應用領域,微控制器扮演著至關重要的角色。今天,我們就來深入了解一款經典的微控制器
    的頭像 發(fā)表于 04-06 11:40 ?751次閱讀

    IA8044/IA8344 SDLC通信控制器:功能特性與設計要點詳解

    IA8044/IA8344 SDLC通信控制器:功能特性與設計要點詳解 在電子設計領域,通信控制器的性能和兼容性對系統(tǒng)的整體表現起著關鍵作用。IA8044/IA8344 SDLC通信控制器
    的頭像 發(fā)表于 04-02 09:05 ?428次閱讀

    探索S1D13517 SVGA外部SDRAM LCD控制器:卓越性能與豐富特性

    探索S1D13517 SVGA外部SDRAM LCD控制器:卓越性能與豐富特性 在電子設計領域,LCD控制器是實現高質量顯示的關鍵組件。今天,我們將深入探討愛普生的S1D13517 SVGA外部
    的頭像 發(fā)表于 03-30 14:05 ?202次閱讀

    探索愛普生S1D13515 XGA外部SDRAM顯示控制器

    探索愛普生S1D13515 XGA外部SDRAM顯示控制器 在嵌入式市場的顯示控制領域,愛普生的S1D13515 XGA外部SDRAM顯示控制器
    的頭像 發(fā)表于 03-30 14:05 ?213次閱讀

    Epson S1D13513 XGA 外部 SDRAM 顯示控制器:嵌入式顯示的理想之選

    Epson S1D13513 XGA 外部 SDRAM 顯示控制器:嵌入式顯示的理想之選 在嵌入式市場中,顯示控制器扮演著至關重要的角色。今天,我們就來深入了解一下 Epson 的 S1D13513
    的頭像 發(fā)表于 03-30 14:05 ?163次閱讀

    PIC16C62X系列微控制器:設計與應用詳解

    PIC16C62X系列微控制器:設計與應用詳解 在電子工程領域,微控制器是各種電子設備的核心大腦。Microchip的PIC16C62X系列微控制器憑借其高性能、低功耗和豐富的功能,在
    的頭像 發(fā)表于 03-25 17:10 ?639次閱讀

    LM25069:正低壓功率限制熱插拔控制器詳解

    LM25069:正低壓功率限制熱插拔控制器詳解 在電子設計領域,熱插拔控制器是保障系統(tǒng)穩(wěn)定運行和安全的關鍵組件。今天,我們就來深入探討德州儀器(TI)推出的 LM25069 正低壓功率限制
    的頭像 發(fā)表于 02-28 14:35 ?264次閱讀

    詳解MAX25601C:同步升壓與降壓LED控制器的卓越之選

    詳解MAX25601A/B/C/D:同步升壓與降壓LED控制器的卓越之選 一、產品概述 MAX25601A/B/C/D是一款集成了同步升壓控制器和同步降壓LED控制器的芯片,其升壓
    的頭像 發(fā)表于 01-30 16:10 ?314次閱讀

    基于FPGA的DDR控制器設計

    DDR控制協議 DDR3讀寫控制器主要用于生成片外存儲DDR3 SDRAM進行讀寫操作所需要的時序,繼而實現對片外存儲的讀寫訪問。由攝像
    發(fā)表于 10-21 14:30

    車載整機控制器 工程機械主機控制器#碩博電子#國產控制器

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2025年05月26日 09:09:02
    奎屯市| 松阳县| 辉南县| 阿巴嘎旗| 十堰市| 三江| 邢台县| 郯城县| 施秉县| 清丰县| 英山县| 普宁市| 阿尔山市| 富平县| 沂源县| 专栏| 漠河县| 卢湾区| 灵川县| 木里| 阿拉善右旗| 新平| 开鲁县| 台州市| 法库县| 金华市| 南城县| 贵阳市| 满洲里市| 无锡市| 太仆寺旗| 朝阳区| 淮安市| 沽源县| 镇坪县| 永修县| 英吉沙县| 三明市| 理塘县| 永和县| 万年县|