SDRAM簡介
SDRAM(synchronous dynamic random-access memory)即同步動態(tài)隨機存取內(nèi)存。在介紹SDRAM前,我們先了解下DRAM(Dynamic random-access memory),DRAR中文譯為動態(tài)隨機存取內(nèi)存,也叫動態(tài)隨機存取器,為什么叫動態(tài)隨機存取器,原因是它的實現(xiàn)原理跟靜態(tài)存儲器SRAM不一樣,DRAM是在芯片里集成很多個陣列的電容,DRAM存儲二進制數(shù)據(jù)0和1就是通過給這些陣充放電荷實現(xiàn)。一個簡單的單個DRAM存儲單元示例圖如下圖所示。
單個DRAM單元實現(xiàn)電容充放電原理
電容C用來存儲電荷,信號WRITE 1、WRITE 0控制開關晶體管Q1和Q2給電容充電和放電,實現(xiàn)二進制1和0存儲。信號READ控制開關晶體管打開把電容C接到數(shù)據(jù)線DATA上,芯片內(nèi)部處理電路通過讀取DATA線上的電壓信號來判斷DRAM存儲單元存儲的數(shù)據(jù)為二進制1還是0。
從原理上去看DRAM實現(xiàn)數(shù)據(jù)存取很完美,但實際芯片按照上面的原理做好電路后,開關晶體管和電容本身都會有漏電流。漏電流會導致一個特別糟糕的情況,電容存儲的電荷會慢慢通過漏電流方式流失掉,當電荷流失到一定的量后,內(nèi)部電路讀取電容的電壓去判斷數(shù)據(jù)時,就不能正確判斷為二進制1了,這種情況下數(shù)據(jù)是錯誤。
這樣的錯誤肯定是不允許發(fā)生的,解決辦法是通過定時刷新方式給電容充電,保證電容存儲的電荷量穩(wěn)定在理想的狀態(tài)。因為這樣的過程是一個一直的動態(tài)過程,動態(tài)隨機存取器的名稱由此而來。而SDRAM是DRAM的一種操作方式,如下圖所示,SDRAM讀寫數(shù)據(jù)時,是通過在時鐘的上升沿同步獲取控制、數(shù)據(jù)信號,所以叫做同步動態(tài)隨機存取器。
SDRAM在時鐘CLK上升沿時同步獲取控制、數(shù)據(jù)信號
DRAM和SRAM優(yōu)缺點:
- SRAM讀寫速度快,DRAM讀寫速度慢。
- SRAM耗電量低,DRAM耗電量大。
- SRAM制造成本高,容量低,DRAM制造成本低,容量大。
SDRAM接口信號
SDRAM主要信號如下(256Mb容量示例):
A0-A11: 地址信號。
BA0-BA1: Bank選擇信號。
DQM0-DQM3: 讀寫數(shù)據(jù)掩碼控制信號。
DQ0-DQ31: 數(shù)據(jù)信號。
CKE: 時鐘使能信號。
CLK: 時鐘信號。
CS: 片選信號。
CAS: 列地址選通控制信號。
RAS: 行地址選通控制信號。
WE: 寫使能信號。
在上述羅列的信號中,A0-A11、BA0-BA1、CKE、CS、CAS、RAS、WE的不同組合,可以構成不同的Command如下圖所示。
DRAM Commad真值表
從上圖可以看到,DQ0-DQ31和DQM0-DQM3不參與組合成Command。這里說明下,DQMx是讀寫數(shù)據(jù)掩碼信號,用于控制數(shù)據(jù)讀寫使能對應Byte的。它們的控制關系是DQM0控制DQ0-DQ7,DQM1控制DQ8-DQ15,以此類推。知道數(shù)據(jù)信號DQ0-DQ31不參與組合成Command后,在硬件設計的Layout階段時,有時數(shù)據(jù)線不好走線,可以通過調(diào)換組內(nèi)數(shù)據(jù)線來解決數(shù)據(jù)線Layout難度大問題。
注意這里說的組內(nèi)調(diào)換是單個Byte內(nèi)的信號,DQ0-DQ7為一組,DQ8-DQ15為一組,以此類推,不能跨組調(diào)換,跨組調(diào)換讀寫數(shù)據(jù)就錯誤了。
這里介紹的組內(nèi)數(shù)據(jù)線調(diào)換不影響數(shù)據(jù)的正確性,可能會有很多人困惑,我做了個圖如下說明解釋。如下圖中,左側為主控信號,右側為DRAM。主控要寫數(shù)據(jù)0x0F到DRAM中,因為數(shù)據(jù)線在DRAM端被調(diào)換了,所以實際到DRAM內(nèi)的數(shù)據(jù)變?yōu)?x1D。這樣看像是數(shù)據(jù)錯了,但我們再看主控從DRAM讀數(shù)據(jù)的情況,主控讀數(shù)據(jù)時,DRAM內(nèi)的0x1D順著信號線原路返回,變成了0x0F,錯錯得正。
所以DRAM信號線組內(nèi)調(diào)線序不影響數(shù)據(jù)讀寫錯誤,但不能跨組調(diào),不能跨組調(diào)的原因是即使有錯錯得正的邏輯,但是如果DQM信號沒有使能對應的Byte,那就會導致數(shù)據(jù)缺失,所以必然出錯。
在DRAM端做數(shù)據(jù)組內(nèi)調(diào)換,不影響主控讀寫數(shù)據(jù)的正確性
當然,組內(nèi)數(shù)據(jù)可調(diào)的這個思路,放在DDR3、DDR4等都可以的,但還是要先看DRAM規(guī)格書,確定數(shù)據(jù)線不參與任何Command組合,如果參與了就不能調(diào),比如有的廠家的LPDDR就用了數(shù)據(jù)線來做Command。
STM32上的SDRAM電路設計
參考ST評估板MB1219的SDRAM部分電路如下,STM32使用SDRAM的目的是擴充芯片內(nèi)存,由FMC接口控制,電路沒什么復雜的,設計時注意了解各個信號的作用,然后參考規(guī)格書把信號一一對應連接上即可。
評估板MB1219使用的主控是STM32F769NI,參考STM32F7xx規(guī)格書第86頁的Table 12. FMC pin definition的SDRAM欄,有詳細的信號定義。下圖中的BA0和BA1接的信號為A14和A15,這里沒有錯,是ST工程師在設計評估板時,F(xiàn)MC總線上還掛了SRAM和Nor Flash,而A14和A15是SRAM和Nor Flash的,但對應SDRAM實際為BA0和BA1。
SDRAM參考設計電路
完成原理圖設計,后面剩下的是大家比較關心的Layout要不要做信號線等長的問題,這個問題在網(wǎng)上一直是很多人熱衷討論的一個問題,各有說法。其實對于SDRAM,只要走線不會長度差得特別離譜,比如差不多十幾個厘米這樣的,不等長影響不會很大,但如果PCB空間資源足夠的話建議按照500mil的規(guī)則做等長。如下圖ST的評估板MB1219就做了等長。
條件允許,推薦SDRAM做500mil約束等長
-
STM32
+關注
關注
2272文章
10925瀏覽量
357732 -
PCB設計
+關注
關注
394文章
4702瀏覽量
86404 -
靜態(tài)存儲器
+關注
關注
0文章
10瀏覽量
7548 -
SDRAM控制器
+關注
關注
0文章
28瀏覽量
8198 -
電容充放電
+關注
關注
0文章
94瀏覽量
5886
發(fā)布評論請先 登錄
相關推薦
SDRAM連接電路設計詳解
![<b class='flag-5'>SDRAM</b>連接<b class='flag-5'>電路設計</b>詳解](https://file1.elecfans.com//web2/M00/A6/7E/wKgZomUMPhWActo-AAAebjSeeDw325.jpg)
怎么成為硬件電路設計高手?
![怎么成為<b class='flag-5'>硬件</b><b class='flag-5'>電路設計</b>高手?](https://file1.elecfans.com/web2/M00/8E/30/wKgaomTDTe2ACI4lAABn_AbqynU686.png)
硬件電路設計之STM32最小系統(tǒng)電路設計
![<b class='flag-5'>硬件</b><b class='flag-5'>電路設計</b>之<b class='flag-5'>STM32</b>最小系統(tǒng)<b class='flag-5'>電路設計</b>](https://file1.elecfans.com/web2/M00/B4/02/wKgZomVpp32Ad_FMAAZW8XAI_bY114.jpg)
STM32F103在電路板上怎樣做配套的電路設計呢?
高速SDRAM存儲器接口電路設計
硬件電路設計的思路分享
高速SDRAM存儲器接口電路設計(Altera FPGA開發(fā)板)
![高速<b class='flag-5'>SDRAM</b>存儲器接口<b class='flag-5'>電路設計</b>(Altera FPGA開發(fā)板)](https://file1.elecfans.com//web2/M00/A6/4D/wKgZomUMPMyASNywAAANPI4h9DM193.jpg)
關于SDRAM電路的設計
![關于<b class='flag-5'>SDRAM</b><b class='flag-5'>電路</b>的設計](https://file.elecfans.com/web1/M00/53/30/pIYBAFseQwGAN4yaAAHuGPNFDPA246.png)
STM32CubeMX | 31-使用硬件FMC讀寫SDRAM(W9825G6KH)
![<b class='flag-5'>STM32</b>CubeMX | 31-使用<b class='flag-5'>硬件</b>FMC讀寫<b class='flag-5'>SDRAM</b>(W9825G6KH)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論