天天看點

《嵌入式Linux軟硬體開發詳解——基于S5PV210處理器》——2.2 DDR2 SDRAM晶片

本節書摘來自異步社群《嵌入式linux軟硬體開發詳解——基于s5pv210處理器》一書中的第2章,第2.2節,作者 劉龍,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

sdram全稱為同步動态随機存儲器(synchronous dynamic random access memory)。由于sdram內建度高,單片存儲容量大,并且讀寫速度快,在設計嵌入式系統時,經常用其作為主存儲器(或稱為記憶體)。sdram發展至今,經曆了sdram、ddr、ddr2、ddr3等幾代産品,ddr sdram是double data rate sdram的縮寫,是雙倍速率同步動态随機存儲器,較sdram速度更快。在sdram或ddr ram定義中,同步是指其時鐘頻率與cpu前端總線的系統時鐘頻率相同,并且内部指令的發送與資料的傳輸都以它為基準;動态是指存儲陣列需要不斷的重新整理來保證資料不丢失;随機是指資料不是線性依次存儲,而是自由指定位址進行資料的讀寫。

smart210開發闆使用的是ddr2 sdram,型号為k4t1g084qq,單晶片容量設計為16mbit×8bank×8i/os,共128mbyte,闆載一共4片,總計512mb。注意,晶片内部的8bank不是指該晶片需要占用s5pv210晶片的8個存儲塊,而是指sdram晶片内部把128mb容量分成了8塊存儲區,每塊存儲區的容量為16mx8bit。

如圖2-4所示,sdram内部是一個存儲陣列,我們可以把它想象成一個表格,和表格的檢索原理一樣,先指定行,再指定列,就可以準确找到所需要的存儲單元。這個表格的整體則稱為bank。ddr2 sdram具有8個bank。對sdram的通路,我們應該先找到讀寫位址,才能對其進行通路。找到位址的流程為首先指定bank,然後指定行位址,最後指定列位址。

《嵌入式Linux軟硬體開發詳解——基于S5PV210處理器》——2.2 DDR2 SDRAM晶片

k4t1g084qq采用的是fbga球形封裝,不同于普通的貼片封裝。k4t1g084qq的引腳分布及封裝示意圖如圖2-5、圖2-6所示。

《嵌入式Linux軟硬體開發詳解——基于S5PV210處理器》——2.2 DDR2 SDRAM晶片

k4t1g084qq引腳功能如表2-2所示。

《嵌入式Linux軟硬體開發詳解——基于S5PV210處理器》——2.2 DDR2 SDRAM晶片
《嵌入式Linux軟硬體開發詳解——基于S5PV210處理器》——2.2 DDR2 SDRAM晶片

上述引腳中,比較特殊的是odt引腳。odt(on-die termination)的含義為内建核心終結電阻器。所謂的終結,就是讓電路的終端将信号吸收掉,而不會在電路上面形成反射,對後面的信号造成影響。在ddr時代,控制與資料信号的終結在主機闆上面完成,每塊ddr主機闆在記憶體槽的旁邊都會有一個終結電壓部分的設計,它主要由一排終結電阻構成。随着sdram技術的發展,odt技術将終結電阻移植到了晶片内部。主機闆上面不再有終結電路,而且ddr2可以根據自己的特點内建合适的終結電阻,這樣可以保證最佳的信号波形。odt技術允許cpu通過配置ddr2 sdram的内部寄存器以及控制odt信号,來實作對比對電阻的值及其開關狀态的控制,進而實作讀、寫操作時最佳的信号完整性。在smart210開發闆上面,ddr2 ram晶片的odt引腳與s5pv210的odt1引腳連接配接,信号由s5pv210來控制。

ddr2 sdram與s5pv210的位址線、資料線及控制引腳連接配接方式如圖2-7所示。smart210開發闆一共有4片k4t1g084qq,4片dram的連接配接方式不同:第1片的8位資料引腳連接配接至cpu的xm1data0~xm1data7;第2片的8位資料引腳連接配接至cpu的xm1data8~xm1data15;第3片的8位資料引腳連接配接至cpu的xm1data16~xm1data23;第4片的8位資料引腳連接配接至cpu的xm1data24~xm1data31。可以看出,4片ddr2 ram采用的是并接到一起組成32位資料總線的方式。

smart210開發闆具有4片k4t1g084qq,共計512mb。在cpu的内部尋址空間中,位元組byte(8位)是表示存儲容量的唯一機關,而在ddr2 ram中存儲機關為位bit(1位),k4t1g084qq的存儲容量為1gbit,折合成byte為128mb。smart210開發闆設計中k4t1g084qq采用8位的資料輸出方式,是以4片ddr2 sdram的資料引腳并接(4×8bit=32bit),正好組成s5pv210處理器的32位資料總線寬度。

k4t1g084qq的位址總線a0~a13連接配接到s5pv210的xm1addr0~xm1addr13引腳,共14根位址總線,采用的是8位的資料輸出方式,是以位址總線給出的位址範圍為214×8bit=16mb,k4t1g084qq的ba0、ba1和ba2引腳為内部8個bank的選擇引腳(23=8),連接配接到s5pv210的xm1ba0、xm1ba1和xm1csn1/ba2引腳。s5pv210控制對k4t1g084qq内部bank的選擇使用。3條bank選擇引腳和14根位址總線共完成23×214×8bit=128mb記憶體空間的通路。

4片ddr2 sdram的片選信号ncs引腳連接配接的皆為s5pv210的xm1csn0引腳,即s5pv210的dram0控制引腳,從表2-1可以看出,ddr2 sdram的位址應該是從0x20000000開始的連續512mb位址空間。

《嵌入式Linux軟硬體開發詳解——基于S5PV210處理器》——2.2 DDR2 SDRAM晶片

繼續閱讀