SDRAM在windows CE系統中的應用
隨著(zhù)嵌入式產(chǎn)品的發(fā)展,各種嵌入式操作系統,以及嵌入式上層應用軟件層出不窮。這就對大容量SDRAM的需求日益增強。目前用于嵌入式產(chǎn)品中的存儲器主要有FLASH和SDRAM。FLASH作為靜態(tài)存儲器,被應用于存放啟動(dòng)代碼和操作系統內核,SDRAM作為動(dòng)態(tài)存儲器,被應用于存放實(shí)時(shí)更新的數據信息。在此,采用Intel的PXA255處理器。使用32 MB的NOR FLASH作為放置啟動(dòng)代碼和操作系統的靜態(tài)存儲空間,使用256 MB的SDRAM作為動(dòng)態(tài)存儲空問(wèn),使用2 GB的CF卡作為應用程序和數據的存儲空間,并與液晶顯示屏、音頻、觸摸一起構成一個(gè)功能強大的嵌入式體系。
本文引用地址:http://dyxdggzs.com/article/201610/305917.htm1 隨機存儲器介紹
隨機存儲器主要分為靜態(tài)隨機存儲器(SRAM)、動(dòng)態(tài)隨機存儲器(DRAM)及SDRAM。1個(gè)SRAM單元通常由4~6個(gè)晶體管組成,當這個(gè)SRAM單元被賦予O或者1的狀態(tài)之后,它會(huì )保持這個(gè)狀態(tài)直到下次被賦予新的狀態(tài)或者斷電之后才會(huì )更改或者消失。SRAM的讀寫(xiě)速度相對比較快,而且比較省電,但是存儲1 b的信息需要4~6只晶體管。DRAM和SDRAM必須在一定的時(shí)間內不停地刷新才能保持其中存儲的數據,但存儲1 b的信息只要1只晶體管就可以實(shí)現。在數據讀寫(xiě)的過(guò)程中,SRAM,DRAM及SDRAM均有不同的工作方式。DRAM和SDRAM相對于SRAM增加了多路尋址技術(shù),即利用2個(gè)連續的周期傳輸地址數據,達到使用一半的地址線(xiàn),以完成SRAM同樣功能的目的。SDRAM相對于DRAM不僅提出了多Bank的工作模式,并且SDRAM與CPU和芯片組共享時(shí)鐘,芯片組可以主動(dòng)地在每個(gè)時(shí)鐘的上升沿發(fā)給sDRAM控制命令。
2 硬件設計方案
2.1 SDRAM工作原理
SDRAM本身是由多個(gè)Bank區域構成,對SDRAM的操作實(shí)際上是通過(guò)區域片選信號對單獨Bank進(jìn)行的操作。SDRAM中單個(gè)Bank的讀取過(guò)程如圖1所示。

(1)通過(guò)地址總線(xiàn)將行地址傳輸到地址引腳;
(2)RAS(行地址使能信號)被激活,這樣行地址被傳送到行地址門(mén)閂線(xiàn)路中;
(3)行地址解碼器根據接收到的數據選擇相應的行;
(4)wE(寫(xiě)使能信號)引腳確定不被激活,所以SDRAM知道它不會(huì )進(jìn)行寫(xiě)操作;
(5)列地址通過(guò)地址總線(xiàn)傳輸到地址引腳;
(6)CAS(列地址使能信號)引腳被激活,這樣地址被傳送到列地址門(mén)閂線(xiàn)路中;
(7)DQM(輸出使能)引腳被激活,數據向外輸出。
這就完成了一個(gè)單Bank的讀操作,在讀取數據的過(guò)程中行列地址的尋址過(guò)程是通過(guò)兩個(gè)時(shí)鐘周期實(shí)現的,在第一個(gè)時(shí)鐘周期使能行地址,下一個(gè)時(shí)鐘周期使能列地址,這就實(shí)現了地址線(xiàn)的復用。
SDRAM寫(xiě)入的過(guò)程和讀取過(guò)程是基本一樣的,只需要將wE信號激活。
2.2 硬件設計
對于SDRAM的硬件設計需要確定3個(gè)方面的內容:通過(guò)處理器的特性選擇SDRAM的型號;確定SDRAM地址線(xiàn)、數據線(xiàn)的連接方式;確定SDRAM控制信號線(xiàn)的連接方式。
2.2.1 SDRAM的選擇
該平臺處理器選擇Intel公司XSCALE架構的PXA255,它針對于SDRAM有4根專(zhuān)用的動(dòng)態(tài)片選信號,能夠支持4塊內存區域,如圖2所示。

其中每塊區域所能支持到的最大物理地址為64 MB。并且每一塊內存區域均可使用16 b或32 b的SDRAM。
在硬件設計過(guò)程中考慮到硬件使用的可調節性,采用8片16 b×4 MB×4 Bank的SDRAM,共搭建了256 MB的極限存儲空間。其中,SDRAM選擇型號為三星公司的K4S561632E。
2.2.2 數據線(xiàn)、地址線(xiàn)的分配
PXA255處理器共有32位數據線(xiàn)和26位地址線(xiàn)。故在硬件設計時(shí)需要并行處理2塊16 b的SDRAM,分別連接高位和低位的16根數據線(xiàn)。
對于地址線(xiàn)的連接,首先需要參考SDRAM的數據手冊,確定SDRAM行列地址線(xiàn)的個(gè)數。其次根據處理器數據手冊確定具體地址線(xiàn)的連接方式。
在三星K4S561632E的數據手冊中是這樣給出的,如表1所示。

從表1中可以得出行列復用13根地址線(xiàn),其中行地址13根,列地址9根,共組成22根地址線(xiàn)的尋址空間。在處理器PXA255中,給SDRAM分配的地址線(xiàn)空間是從A10~A22。這樣就可以完全確定地址線(xiàn)和數據線(xiàn)的連接方式,如圖3所示。

2.2.3 控制信號線(xiàn)的連接方式
對于SDRAM需要確定的控制線(xiàn)包括時(shí)鐘信號線(xiàn)、區域片選信號線(xiàn)及Bank片選信號線(xiàn)。對于這三類(lèi)信號線(xiàn)PXA255處理器是這樣給出的,即:
(1)每?jì)山M內存區域使用同一組時(shí)鐘信號線(xiàn),即每128 MB的內存空間使用同一根時(shí)鐘信號線(xiàn),故在設計中使用了2組時(shí)鐘信號線(xiàn)。
(2)共有4根區域片選信號,分別控制64 MB的物理地址空間。最大支持到256 MB的物理地址空間。
(3)地址線(xiàn)的23,24位用來(lái)實(shí)現對SDRAM內部Bank的選擇。
2.3 硬件的移植
針對于PXA27x系列的高端處理器,Intel并沒(méi)有對SDRAM部分做本質(zhì)上的改動(dòng),仍然是4根動(dòng)態(tài)片選信號,故硬件方面的設計可以完全移植到PXA27x系列的處理器中。
3 軟件設計方案
Windows CE操作系統下對內存的驅動(dòng)代碼主要分為兩個(gè)部分,首先在BootLoader中對SDRAM進(jìn)行底層初始化;其次在系統BSP包內需要將SDRAM所對應的物理地址映射為Windows CE下能夠識別的虛擬地址。
控制線(xiàn)的連接方式如圖4所示。

3.1 BootLoader代碼的買(mǎi)現
BootLoader是系統運行的起始點(diǎn),它包含著(zhù)系統運行的第一行代碼。BootLoader本身也是一個(gè)功能完整的微型操作系統,在內部需要實(shí)現任務(wù)調度、內存管理、文件系統,以及各種必要設備驅動(dòng)程序的配置。其中內存管理即是完成SDRAM初始化的工作,包括設置SDRAM工作頻率、設置片選信號寄存器、設置刷新間隔和SDRAM潛伏期、以及配置系統內核的拷貝地址??刂凭€(xiàn)的連接方式如圖4所示。
評論