當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 隨著嵌入式產(chǎn)品的發(fā)展,各種嵌入式操作系統(tǒng),以及嵌入式上層應(yīng)用軟件層出不窮。這就對大容量SDRAM的需求日益增強(qiáng)。目前用于嵌入式產(chǎn)品中的存儲器主要有FLASH和SDRAM。FLAS

 隨著嵌入式產(chǎn)品的發(fā)展,各種嵌入式操作系統(tǒng),以及嵌入式上層應(yīng)用軟件層出不窮。這就對大容量SDRAM的需求日益增強(qiáng)。目前用于嵌入式產(chǎn)品中的存儲器主要有FLASH和SDRAM。FLASH作為靜態(tài)存儲器,被應(yīng)用于存放啟動(dòng)代碼和操作系統(tǒng)內(nèi)核,SDRAM作為動(dòng)態(tài)存儲器,被應(yīng)用于存放實(shí)時(shí)更新的數(shù)據(jù)信息。在此,采用Intel的PXA255處理器。使用32 MB的NOR FLASH作為放置啟動(dòng)代碼和操作系統(tǒng)的靜態(tài)存儲空間,使用256 MB的SDRAM作為動(dòng)態(tài)存儲空問,使用2 GB的CF卡作為應(yīng)用程序和數(shù)據(jù)的存儲空間,并與液晶顯示屏、音頻、觸摸一起構(gòu)成一個(gè)功能強(qiáng)大的嵌入式體系。

1 隨機(jī)存儲器介紹

隨機(jī)存儲器主要分為靜態(tài)隨機(jī)存儲器(SRAM)、動(dòng)態(tài)隨機(jī)存儲器(DRAM)及SDRAM。1個(gè)SRAM單元通常由4~6個(gè)晶體管組成,當(dāng)這個(gè)SRAM單元被賦予O或者1的狀態(tài)之后,它會(huì)保持這個(gè)狀態(tài)直到下次被賦予新的狀態(tài)或者斷電之后才會(huì)更改或者消失。SRAM的讀寫速度相對比較快,而且比較省電,但是存儲1 b的信息需要4~6只晶體管。DRAM和SDRAM必須在一定的時(shí)間內(nèi)不停地刷新才能保持其中存儲的數(shù)據(jù),但存儲1 b的信息只要1只晶體管就可以實(shí)現(xiàn)。在數(shù)據(jù)讀寫的過程中,SRAM,DRAM及SDRAM均有不同的工作方式。DRAM和SDRAM相對于SRAM增加了多路尋址技術(shù),即利用2個(gè)連續(xù)的周期傳輸?shù)刂窋?shù)據(jù),達(dá)到使用一半的地址線,以完成SRAM同樣功能的目的。SDRAM相對于DRAM不僅提出了多Bank的工作模式,并且SDRAM與CPU和芯片組共享時(shí)鐘,芯片組可以主動(dòng)地在每個(gè)時(shí)鐘的上升沿發(fā)給sDRAM控制命令。

2 硬件設(shè)計(jì)方案

2.1 SDRAM工作原理

SDRAM本身是由多個(gè)Bank區(qū)域構(gòu)成,對SDRAM的操作實(shí)際上是通過區(qū)域片選信號對單獨(dú)Bank進(jìn)行的操作。SDRAM中單個(gè)Bank的讀取過程如圖1所示。

(1)通過地址總線將行地址傳輸?shù)降刂芬_;

(2)RAS(行地址使能信號)被激活,這樣行地址被傳送到行地址門閂線路中;

(3)行地址解碼器根據(jù)接收到的數(shù)據(jù)選擇相應(yīng)的行;

(4)wE(寫使能信號)引腳確定不被激活,所以SDRAM知道它不會(huì)進(jìn)行寫操作;

(5)列地址通過地址總線傳輸?shù)降刂芬_;

(6)CAS(列地址使能信號)引腳被激活,這樣地址被傳送到列地址門閂線路中;

(7)DQM(輸出使能)引腳被激活,數(shù)據(jù)向外輸出。

這就完成了一個(gè)單Bank的讀操作,在讀取數(shù)據(jù)的過程中行列地址的尋址過程是通過兩個(gè)時(shí)鐘周期實(shí)現(xiàn)的,在第一個(gè)時(shí)鐘周期使能行地址,下一個(gè)時(shí)鐘周期使能列地址,這就實(shí)現(xiàn)了地址線的復(fù)用。

SDRAM寫入的過程和讀取過程是基本一樣的,只需要將wE信號激活。

2.2 硬件設(shè)計(jì)

對于SDRAM的硬件設(shè)計(jì)需要確定3個(gè)方面的內(nèi)容:通過處理器的特性選擇SDRAM的型號;確定SDRAM地址線、數(shù)據(jù)線的連接方式;確定SDRAM控制信號線的連接方式。

2.2.1 SDRAM的選擇

該平臺處理器選擇Intel公司XSCALE架構(gòu)的PXA255,它針對于SDRAM有4根專用的動(dòng)態(tài)片選信號,能夠支持4塊內(nèi)存區(qū)域,如圖2所示。

其中每塊區(qū)域所能支持到的最大物理地址為64 MB。并且每一塊內(nèi)存區(qū)域均可使用16 b或32 b的SDRAM。

在硬件設(shè)計(jì)過程中考慮到硬件使用的可調(diào)節(jié)性,采用8片16 b×4 MB×4 Bank的SDRAM,共搭建了256 MB的極限存儲空間。其中,SDRAM選擇型號為三星公司的K4S561632E。

2.2.2 數(shù)據(jù)線、地址線的分配

PXA255處理器共有32位數(shù)據(jù)線和26位地址線。故在硬件設(shè)計(jì)時(shí)需要并行處理2塊16 b的SDRAM,分別連接高位和低位的16根數(shù)據(jù)線。

對于地址線的連接,首先需要參考SDRAM的數(shù)據(jù)手冊,確定SDRAM行列地址線的個(gè)數(shù)。其次根據(jù)處理器數(shù)據(jù)手冊確定具體地址線的連接方式。

在三星K4S561632E的數(shù)據(jù)手冊中是這樣給出的,如表1所示。

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

2.2.3 控制信號線的連接方式

對于SDRAM需要確定的控制線包括時(shí)鐘信號線、區(qū)域片選信號線及Bank片選信號線。對于這三類信號線PXA255處理器是這樣給出的,即:

(1)每兩組內(nèi)存區(qū)域使用同一組時(shí)鐘信號線,即每128 MB的內(nèi)存空間使用同一根時(shí)鐘信號線,故在設(shè)計(jì)中使用了2組時(shí)鐘信號線。

(2)共有4根區(qū)域片選信號,分別控制64 MB的物理地址空間。最大支持到256 MB的物理地址空間。

(3)地址線的23,24位用來實(shí)現(xiàn)對SDRAM內(nèi)部Bank的選擇。

2.3 硬件的移植

針對于PXA27x系列的高端處理器,Intel并沒有對SDRAM部分做本質(zhì)上的改動(dòng),仍然是4根動(dòng)態(tài)片選信號,故硬件方面的設(shè)計(jì)可以完全移植到PXA27x系列的處理器中。

3 軟件設(shè)計(jì)方案

Windows CE操作系統(tǒng)下對內(nèi)存的驅(qū)動(dòng)代碼主要分為兩個(gè)部分,首先在BootLoader中對SDRAM進(jìn)行底層初始化;其次在系統(tǒng)BSP包內(nèi)需要將SDRAM所對應(yīng)的物理地址映射為Windows CE下能夠識別的虛擬地址。

控制線的連接方式如圖4所示。

3.1 BootLoader代碼的買現(xiàn)

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

(1)頻率設(shè)置

完成寄存器的復(fù)值,其中r3的選擇為F即就是0x1111,打開4片內(nèi)存區(qū)域。

(3) 刷新間隔設(shè)置。關(guān)于刷新間隔值(DIR)的計(jì)算在手冊中是這樣給出的:

目前公認(rèn)的標(biāo)準(zhǔn)是,存儲體中電容的數(shù)據(jù)有效保存期上限是64 ms,也就是說每一行刷新的循環(huán)周期是64 ms。這樣刷新速度為:64 ms/行數(shù)量。由于行地址有13位(在MDCNFG寄存器的DRACO[1:0]中設(shè)置,需要與硬件一致),所以每行的的刷新時(shí)間為64 ms/213=64 ms/8 192=7.812 5/μs,則7.812 5μs×100 MHz/32=0x18,這樣就得到了系統(tǒng)的DRI值。

(4) 潛伏期的設(shè)置。潛伏期是指SDRAM在讀寫過程中所存在的延遲,潛伏期的時(shí)間長度是由以下幾個(gè)參數(shù)共同決定的:

CL:在選定列地址后,就已經(jīng)確定了具體的存儲單元,剩下的事情就是數(shù)據(jù)通過數(shù)據(jù)I/O通道(數(shù)據(jù)總線)輸出到內(nèi)存總線上。但是在CAS發(fā)出之后,仍要經(jīng)過一定的時(shí)間才能有數(shù)據(jù)輸出,從CAS與讀取命令發(fā)出到第一筆數(shù)據(jù)輸出的這段時(shí)間被稱為讀取潛伏期。tRP:在發(fā)出預(yù)充電命令之后,要經(jīng)過一段時(shí)間才能允許發(fā)送行有效命令打開新的工作行,這個(gè)間隔被稱為預(yù)充電有效周期(Precharge command Period)。tRCD:在發(fā)送列讀寫命令時(shí)必須要與行有效命令有一個(gè)間隔,這個(gè)間隔被定義為tRCD,即RAS to CASDelay(RAS至CAS延遲),也可以理解為行選通周期。tRAS:行有效至預(yù)充電命令間隔周期。tRC:包括行單元開啟和行單元刷新在內(nèi)的整個(gè)過程所需要的時(shí)間。

所有參數(shù)可以從SDRAM數(shù)據(jù)手冊得到,計(jì)算出理論潛伏期時(shí)長為200/μs。

(5)其他設(shè)置

設(shè)置操作系統(tǒng)的入口點(diǎn),這里用到的虛擬地址需要與系統(tǒng)中建立的映射表相對應(yīng)。

3.2 BSP內(nèi)代碼的實(shí)現(xiàn)

Windows cE系統(tǒng)啟動(dòng)中,對SDRAM的操作分為兩個(gè)部分:首先對SDRAM的物理空間進(jìn)行分配;其次將SDRAM所對應(yīng)的物理地址轉(zhuǎn)換為虛擬地址。

3.2.1 地址的分配

地址的分配和系統(tǒng)加載的順序有著密切的關(guān)系。首先要在內(nèi)存中開辟一段空間用來存放啟動(dòng)代碼BootLoader,它被存放在sDRAM的第一個(gè)區(qū)域空間內(nèi)。當(dāng)發(fā)生外部復(fù)位中斷時(shí)系統(tǒng)會(huì)從這里重新開始運(yùn)行。其次分配操作系統(tǒng)內(nèi)核空間,它被存放在SDRAM的第二個(gè)區(qū)域,以便使BootLoader能夠順利加載操作系統(tǒng)內(nèi)核。分配地址空間根據(jù)所建立系統(tǒng)內(nèi)核來確定。剩余的內(nèi)存空間用來存放系統(tǒng)下的應(yīng)用程序。

3.2.2 地址的映射

在操作系統(tǒng)中,需要把SDRAM的空間連續(xù)起來并作為首地址,不僅方便內(nèi)存管理,而且當(dāng)應(yīng)用程序申請大塊內(nèi)存時(shí),操作系統(tǒng)內(nèi)核也可方便的分配。這就引入了將不連續(xù)的物理地址空間映射為連續(xù)的虛擬地址空間。PXA255的SDRAM起始物理地址OxA0000000,可將其映射為0x80000000,這里0x80000000將作為系統(tǒng)虛擬空間的起始地址,當(dāng)有IRQ中斷發(fā)生時(shí),系統(tǒng)PC指針會(huì)重新指向這個(gè)地址。需要注意的是這里分配的虛擬地址要與啟動(dòng)代碼中BootLoader中所使用的虛擬地址對應(yīng)起來。

3.2.3 軟件的移植

針對于PXA27x系列的高端處理器,微軟在Plat-Build 5.0中給出了相對應(yīng)的內(nèi)核代碼雖然在內(nèi)核代碼的架構(gòu)上有了很大的變化,但對于擴(kuò)展SDRAM的思想并沒有改變,首先在BootLoader中初始化所使用的SDRAM,其次在BSP內(nèi)建立地址映射表。

4 結(jié) 語

介紹了在嵌入式Windows CE系統(tǒng)平臺上,使用大容量SDRAM作為動(dòng)態(tài)存儲設(shè)備的方案。詳細(xì)介紹了sDRAM硬件連接方案以及軟件接口的實(shí)現(xiàn)。該方案已經(jīng)在工程設(shè)計(jì)中投入使用,其可以在同類的嵌入式高端產(chǎn)品中推廣使用。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉