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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32上的SDRAM硬件電路設(shè)計(jì)

冬至子 ? 來(lái)源:ecircuitlab ? 作者:ecircuitlab ? 2023-09-27 15:02 ? 次閱讀

SDRAM簡(jiǎn)介

SDRAM(synchronous dynamic random-access memory)即同步動(dòng)態(tài)隨機(jī)存取內(nèi)存。在介紹SDRAM前,我們先了解下DRAM(Dynamic random-access memory),DRAR中文譯為動(dòng)態(tài)隨機(jī)存取內(nèi)存,也叫動(dòng)態(tài)隨機(jī)存取器,為什么叫動(dòng)態(tài)隨機(jī)存取器,原因是它的實(shí)現(xiàn)原理跟靜態(tài)存儲(chǔ)器SRAM不一樣,DRAM是在芯片里集成很多個(gè)陣列的電容,DRAM存儲(chǔ)二進(jìn)制數(shù)據(jù)0和1就是通過(guò)給這些陣充放電荷實(shí)現(xiàn)。一個(gè)簡(jiǎn)單的單個(gè)DRAM存儲(chǔ)單元示例圖如下圖所示。

圖片

單個(gè)DRAM單元實(shí)現(xiàn)電容充放電原理

電容C用來(lái)存儲(chǔ)電荷,信號(hào)WRITE 1、WRITE 0控制開(kāi)關(guān)晶體管Q1和Q2給電容充電和放電,實(shí)現(xiàn)二進(jìn)制1和0存儲(chǔ)。信號(hào)READ控制開(kāi)關(guān)晶體管打開(kāi)把電容C接到數(shù)據(jù)線DATA上,芯片內(nèi)部處理電路通過(guò)讀取DATA線上的電壓信號(hào)來(lái)判斷DRAM存儲(chǔ)單元存儲(chǔ)的數(shù)據(jù)為二進(jìn)制1還是0。

從原理上去看DRAM實(shí)現(xiàn)數(shù)據(jù)存取很完美,但實(shí)際芯片按照上面的原理做好電路后,開(kāi)關(guān)晶體管和電容本身都會(huì)有漏電流。漏電流會(huì)導(dǎo)致一個(gè)特別糟糕的情況,電容存儲(chǔ)的電荷會(huì)慢慢通過(guò)漏電流方式流失掉,當(dāng)電荷流失到一定的量后,內(nèi)部電路讀取電容的電壓去判斷數(shù)據(jù)時(shí),就不能正確判斷為二進(jìn)制1了,這種情況下數(shù)據(jù)是錯(cuò)誤。

這樣的錯(cuò)誤肯定是不允許發(fā)生的,解決辦法是通過(guò)定時(shí)刷新方式給電容充電,保證電容存儲(chǔ)的電荷量穩(wěn)定在理想的狀態(tài)。因?yàn)檫@樣的過(guò)程是一個(gè)一直的動(dòng)態(tài)過(guò)程,動(dòng)態(tài)隨機(jī)存取器的名稱(chēng)由此而來(lái)。而SDRAM是DRAM的一種操作方式,如下圖所示,SDRAM讀寫(xiě)數(shù)據(jù)時(shí),是通過(guò)在時(shí)鐘的上升沿同步獲取控制、數(shù)據(jù)信號(hào),所以叫做同步動(dòng)態(tài)隨機(jī)存取器。

圖片

SDRAM在時(shí)鐘CLK上升沿時(shí)同步獲取控制、數(shù)據(jù)信號(hào)

DRAM和SRAM優(yōu)缺點(diǎn):

  1. SRAM讀寫(xiě)速度快,DRAM讀寫(xiě)速度慢。
  2. SRAM耗電量低,DRAM耗電量大。
  3. SRAM制造成本高,容量低,DRAM制造成本低,容量大。

SDRAM接口信號(hào)

SDRAM主要信號(hào)如下(256Mb容量示例):

A0-A11: 地址信號(hào)。

BA0-BA1: Bank選擇信號(hào)。

DQM0-DQM3: 讀寫(xiě)數(shù)據(jù)掩碼控制信號(hào)。

DQ0-DQ31: 數(shù)據(jù)信號(hào)。

CKE: 時(shí)鐘使能信號(hào)。

CLK: 時(shí)鐘信號(hào)。

CS: 片選信號(hào)。

CAS: 列地址選通控制信號(hào)。

RAS: 行地址選通控制信號(hào)。

WE: 寫(xiě)使能信號(hào)。

在上述羅列的信號(hào)中,A0-A11、BA0-BA1、CKE、CS、CAS、RAS、WE的不同組合,可以構(gòu)成不同的Command如下圖所示。

圖片

DRAM Commad真值表

從上圖可以看到,DQ0-DQ31和DQM0-DQM3不參與組合成Command。這里說(shuō)明下,DQMx是讀寫(xiě)數(shù)據(jù)掩碼信號(hào),用于控制數(shù)據(jù)讀寫(xiě)使能對(duì)應(yīng)Byte的。它們的控制關(guān)系是DQM0控制DQ0-DQ7,DQM1控制DQ8-DQ15,以此類(lèi)推。知道數(shù)據(jù)信號(hào)DQ0-DQ31不參與組合成Command后,在硬件設(shè)計(jì)的Layout階段時(shí),有時(shí)數(shù)據(jù)線不好走線,可以通過(guò)調(diào)換組內(nèi)數(shù)據(jù)線來(lái)解決數(shù)據(jù)線Layout難度大問(wèn)題。

注意這里說(shuō)的組內(nèi)調(diào)換是單個(gè)Byte內(nèi)的信號(hào),DQ0-DQ7為一組,DQ8-DQ15為一組,以此類(lèi)推,不能跨組調(diào)換,跨組調(diào)換讀寫(xiě)數(shù)據(jù)就錯(cuò)誤了。

這里介紹的組內(nèi)數(shù)據(jù)線調(diào)換不影響數(shù)據(jù)的正確性,可能會(huì)有很多人困惑,我做了個(gè)圖如下說(shuō)明解釋。如下圖中,左側(cè)為主控信號(hào),右側(cè)為DRAM。主控要寫(xiě)數(shù)據(jù)0x0F到DRAM中,因?yàn)閿?shù)據(jù)線在DRAM端被調(diào)換了,所以實(shí)際到DRAM內(nèi)的數(shù)據(jù)變?yōu)?x1D。這樣看像是數(shù)據(jù)錯(cuò)了,但我們?cè)倏粗骺貜腄RAM讀數(shù)據(jù)的情況,主控讀數(shù)據(jù)時(shí),DRAM內(nèi)的0x1D順著信號(hào)線原路返回,變成了0x0F,錯(cuò)錯(cuò)得正。

所以DRAM信號(hào)線組內(nèi)調(diào)線序不影響數(shù)據(jù)讀寫(xiě)錯(cuò)誤,但不能跨組調(diào),不能跨組調(diào)的原因是即使有錯(cuò)錯(cuò)得正的邏輯,但是如果DQM信號(hào)沒(méi)有使能對(duì)應(yīng)的Byte,那就會(huì)導(dǎo)致數(shù)據(jù)缺失,所以必然出錯(cuò)。

圖片

在DRAM端做數(shù)據(jù)組內(nèi)調(diào)換,不影響主控讀寫(xiě)數(shù)據(jù)的正確性

當(dāng)然,組內(nèi)數(shù)據(jù)可調(diào)的這個(gè)思路,放在DDR3、DDR4等都可以的,但還是要先看DRAM規(guī)格書(shū),確定數(shù)據(jù)線不參與任何Command組合,如果參與了就不能調(diào),比如有的廠家的LPDDR就用了數(shù)據(jù)線來(lái)做Command。

STM32上的SDRAM電路設(shè)計(jì)

參考ST評(píng)估板MB1219的SDRAM部分電路如下,STM32使用SDRAM的目的是擴(kuò)充芯片內(nèi)存,由FMC接口控制,電路沒(méi)什么復(fù)雜的,設(shè)計(jì)時(shí)注意了解各個(gè)信號(hào)的作用,然后參考規(guī)格書(shū)把信號(hào)一一對(duì)應(yīng)連接上即可。

評(píng)估板MB1219使用的主控是STM32F769NI,參考STM32F7xx規(guī)格書(shū)第86頁(yè)的Table 12. FMC pin definition的SDRAM欄,有詳細(xì)的信號(hào)定義。下圖中的BA0和BA1接的信號(hào)為A14和A15,這里沒(méi)有錯(cuò),是ST工程師在設(shè)計(jì)評(píng)估板時(shí),F(xiàn)MC總線上還掛了SRAM和Nor Flash,而A14和A15是SRAM和Nor Flash的,但對(duì)應(yīng)SDRAM實(shí)際為BA0和BA1。

圖片

SDRAM參考設(shè)計(jì)電路

完成原理圖設(shè)計(jì),后面剩下的是大家比較關(guān)心的Layout要不要做信號(hào)線等長(zhǎng)的問(wèn)題,這個(gè)問(wèn)題在網(wǎng)上一直是很多人熱衷討論的一個(gè)問(wèn)題,各有說(shuō)法。其實(shí)對(duì)于SDRAM,只要走線不會(huì)長(zhǎng)度差得特別離譜,比如差不多十幾個(gè)厘米這樣的,不等長(zhǎng)影響不會(huì)很大,但如果PCB空間資源足夠的話建議按照500mil的規(guī)則做等長(zhǎng)。如下圖ST的評(píng)估板MB1219就做了等長(zhǎng)。

圖片

條件允許,推薦SDRAM做500mil約束等長(zhǎng)

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10900

    瀏覽量

    356046
  • PCB設(shè)計(jì)
    +關(guān)注

    關(guān)注

    394

    文章

    4688

    瀏覽量

    85647
  • 靜態(tài)存儲(chǔ)器

    關(guān)注

    0

    文章

    10

    瀏覽量

    7528
  • SDRAM控制器
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    8141
  • 電容充放電
    +關(guān)注

    關(guān)注

    0

    文章

    94

    瀏覽量

    5842
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SDRAM連接電路設(shè)計(jì)詳解

    介紹SDRAM電路設(shè)計(jì)之前先了解下SDRAM的尋址原理。SDRAM內(nèi)部是一個(gè)存儲(chǔ)陣列,可以把它想象成一個(gè)表格,和表格的檢索原理一樣,先指定行,再指定列,就可以準(zhǔn)確找到所需要的存儲(chǔ)單元。
    發(fā)表于 01-26 09:49 ?4942次閱讀
    <b class='flag-5'>SDRAM</b>連接<b class='flag-5'>電路設(shè)計(jì)</b>詳解

    怎么成為硬件電路設(shè)計(jì)高手?

    ▼關(guān)注公眾號(hào): 工程師看海▼ ? 在現(xiàn)代科技快速發(fā)展的時(shí)代,電子設(shè)備無(wú)處不在,而硬件電路設(shè)計(jì)是實(shí)現(xiàn)這些設(shè)備功能的基礎(chǔ)。無(wú)論是智能手機(jī)、電腦、家用電器,還是工業(yè)控制系統(tǒng),都需要經(jīng)過(guò)精密的電路設(shè)計(jì)來(lái)實(shí)現(xiàn)
    的頭像 發(fā)表于 07-28 13:10 ?5244次閱讀
    怎么成為<b class='flag-5'>硬件</b><b class='flag-5'>電路設(shè)計(jì)</b>高手?

    硬件電路設(shè)計(jì)之DDR電路設(shè)計(jì)(1)

    電路設(shè)計(jì)中常見(jiàn)的DDR屬于SDRAM,中文名稱(chēng)是同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。
    的頭像 發(fā)表于 11-24 17:28 ?4881次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>電路設(shè)計(jì)</b>之DDR<b class='flag-5'>電路設(shè)計(jì)</b>(1)

    硬件電路設(shè)計(jì)STM32最小系統(tǒng)電路設(shè)計(jì)

    今天主要來(lái)談?wù)凪CU的設(shè)計(jì),我使用過(guò)的MCU的型號(hào)包括意法半導(dǎo)體的STM32、華大GD32、Infineon的CY8C5868LTI-LP039以及MicroChip的ATSAME70,今天的主角是意法半導(dǎo)體的STM32最小系統(tǒng)設(shè)計(jì),其它MCU
    發(fā)表于 12-01 17:31 ?8951次閱讀
    <b class='flag-5'>硬件</b><b class='flag-5'>電路設(shè)計(jì)</b>之<b class='flag-5'>STM32</b>最小系統(tǒng)<b class='flag-5'>電路設(shè)計(jì)</b>

    STM32F103在電路怎樣做配套的電路設(shè)計(jì)呢?

    新手求助: 小弟正在用STM32F103做一個(gè)開(kāi)發(fā),現(xiàn)在正在做硬件部分的電路設(shè)計(jì),想求助一下大嬸們?nèi)绻绦蛴肑Link來(lái)下載的話,在電路
    發(fā)表于 05-11 08:14

    硬件電路設(shè)計(jì)流程系列

    一、硬件電路設(shè)計(jì)流程系列--硬件電路設(shè)計(jì)規(guī)范 二、硬件電路設(shè)計(jì)流程系列--方案設(shè)計(jì)(1) :主芯
    發(fā)表于 10-17 17:16

    高速SDRAM存儲(chǔ)器接口電路設(shè)計(jì)

    高速SDRAM存儲(chǔ)器接口電路設(shè)計(jì)SDRAM可作為軟嵌入式系統(tǒng)的(NIOSII)的程序運(yùn)行空間,或者作為大量數(shù)據(jù)的緩沖區(qū)。SDRAM是通用的存儲(chǔ)設(shè)備,只要容量和數(shù)據(jù)位寬相同,不同公司生產(chǎn)
    發(fā)表于 06-03 05:00

    高速SDRAM存儲(chǔ)器接口電路設(shè)計(jì)(Altera FPGA開(kāi)發(fā)板)

    高速SDRAM存儲(chǔ)器接口電路設(shè)計(jì)(Altera FPGA開(kāi)發(fā)板)如下圖所示:
    發(fā)表于 08-15 14:33 ?3463次閱讀
    高速<b class='flag-5'>SDRAM</b>存儲(chǔ)器接口<b class='flag-5'>電路設(shè)計(jì)</b>(Altera FPGA開(kāi)發(fā)板)

    硬件電路設(shè)計(jì)與實(shí)踐

    硬件電路設(shè)計(jì)與實(shí)踐,非常實(shí)用的教材 有需要的朋友下來(lái)看看
    發(fā)表于 12-08 14:48 ?0次下載

    硬件電路設(shè)計(jì)具體詳解

    硬件電路設(shè)計(jì)具體詳解。
    發(fā)表于 04-05 11:51 ?76次下載

    基于STM32的智能循跡往返小車(chē)電路設(shè)計(jì)

    基于STM32的智能循跡往返小車(chē)電路設(shè)計(jì)
    發(fā)表于 04-10 09:30 ?62次下載

    關(guān)于SDRAM電路的設(shè)計(jì)

    介紹SDRAM電路設(shè)計(jì)之前先了解下SDRAM的尋址原理。SDRAM內(nèi)部是一個(gè)存儲(chǔ)陣列,可以把它想象成一個(gè)表格,和表格的檢索原理一樣,先指定行,再指定列,就可以準(zhǔn)確找到所需要的存儲(chǔ)單元,
    的頭像 發(fā)表于 06-11 17:11 ?3893次閱讀
    關(guān)于<b class='flag-5'>SDRAM</b><b class='flag-5'>電路</b>的設(shè)計(jì)

    STM32電路設(shè)計(jì)之最小系統(tǒng)

    STM32電路設(shè)計(jì)之最小系統(tǒng)(F1篇)
    發(fā)表于 11-06 09:35 ?22次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>電路設(shè)計(jì)</b>之最小系統(tǒng)

    STM32CubeMX | 31-使用硬件FMC讀寫(xiě)SDRAM(W9825G6KH)

    本篇詳細(xì)的記錄了如何使用STM32CubeMX配置 STM32F767IGT6 的硬件FMC外設(shè)與 SDRAM 通信(W9825G6KH)。1. 準(zhǔn)備工作
    發(fā)表于 12-08 13:21 ?24次下載
    <b class='flag-5'>STM32</b>CubeMX | 31-使用<b class='flag-5'>硬件</b>FMC讀寫(xiě)<b class='flag-5'>SDRAM</b>(W9825G6KH)

    stm32復(fù)位電路設(shè)計(jì)

    stm32復(fù)位電路設(shè)計(jì)
    發(fā)表于 06-26 09:26 ?8次下載