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):
- SRAM讀寫(xiě)速度快,DRAM讀寫(xiě)速度慢。
- SRAM耗電量低,DRAM耗電量大。
- 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)
-
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
356046 -
PCB設(shè)計(jì)
+關(guān)注
關(guān)注
394文章
4688瀏覽量
85647 -
靜態(tài)存儲(chǔ)器
+關(guān)注
關(guān)注
0文章
10瀏覽量
7528 -
SDRAM控制器
+關(guān)注
關(guān)注
0文章
28瀏覽量
8141 -
電容充放電
+關(guān)注
關(guān)注
0文章
94瀏覽量
5842
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論