新聞中心

EEPW首頁 > 網(wǎng)絡與存儲 > 設計應用 > SyncFlash存儲器在ARM嵌入式系統(tǒng)中的應用

SyncFlash存儲器在ARM嵌入式系統(tǒng)中的應用

作者:■ 解放軍信息工程大學信息工程學院 孫紅勝 時間:2005-04-27 來源:eaw 收藏

摘    要:本文在簡要介紹(同步Flash)的基礎上,著重敘述了在基于ARM體系微處理器的中的應用,并介紹了采用設計嵌入系統(tǒng)的優(yōu)勢。
關鍵詞:SyncFlash;;; 

隨著嵌入式處理器的迅速發(fā)展,32位RISC處理器的應用越來越廣泛,許多基于ARM核的微處理器都集成了控制器。應用系統(tǒng)中一般都是采用作內(nèi)存、NOR Flash作程序。這種應用存在著缺點,而本文介紹的采用SyncFlash(即同步Flash存儲器)設計嵌入系統(tǒng)的方法能很好地克服這些不足。

SyncFlash存儲器
在嵌入式應用系統(tǒng)中用作程序存儲器的器件一般是EPROM、NOR Flash、EEPROM等。大家都比較熟悉Flash 存儲器,應用也很多,而SyncFlash存儲器相對較陌生,目前應用也較少。SyncFlash存儲器就是在NOR Flash的基礎上增加了同步接口(所有信號均在時鐘上升沿鎖存),且該接口與通用SDRAM控制器接口兼容,并采用了內(nèi)部管道結(jié)構(gòu)以實現(xiàn)高速讀寫操作,如Atmel公司的AT29LS4M16 (1M 16)和Micron公司的MT28S4 M16B1LC,在133MHz時鐘時讀周期僅為5.4ns(CAS等待周期為2)。其簡化的結(jié)構(gòu)框圖如圖1所示。
SyncFlash和ARM嵌入式微處理器(如Cirrus Logic公司的EP7312)的硬件連接很簡單,直接將它連接到SDRAM總線上即可。需注意的是其RP#引腳應和系統(tǒng)的復位信號相連,因為SyncFlash必須先復位(RP#由低變高后100 可完成內(nèi)部初始化),才能正常工作。另外,其VCCP引腳應和VCC相連。微處理器對SyncFlash的讀操作和讀SDRAM完全一樣,非讀操作(如寫、擦除等)須采用SCS(軟件命令序列,Software Command Sequence)來實現(xiàn),SCS由制造商提供。

運用SyncFlash設計ARM
采用Flash設計的ARM嵌入式系統(tǒng)
通常在設計基于的嵌入式系統(tǒng)時,都是采用Flash作為程序存儲器(包括引導程序和應用程序),SDRAM存儲器作系統(tǒng)內(nèi)存。系統(tǒng)中還包括時鐘、復位邏輯等其他電路,結(jié)構(gòu)框圖如圖2所示。
ARM嵌入式系統(tǒng)的啟動過程    
以EP7312為例,上電后EP7312處于等待狀態(tài),由WAKEUP上升沿激活并開始運行引導(BOOT)程序,引導程序包括微處理器外圍設備初始化、SDRAM控制器初始化、MMU(內(nèi)存管理單元)。為了提高應用程序運行速度,應用程序一般都是在SDRAM中執(zhí)行,因為與SDRAM存儲器相比,NOR Flash的讀取速度較慢(一般大于50ns),影響執(zhí)行速度。因此引導程序還應包括將應用程序傳送到SDRAM中的代碼,并將程序指針指向應用程序,應用程序即開始執(zhí)行。
運用SyncFlash設計的ARM嵌入式系統(tǒng)
由上述ARM嵌入式系統(tǒng)的啟動過程可以看出,NOR Flash存儲器僅用作存儲程序,以保證斷電數(shù)據(jù)不丟失。將應用程序傳送到SDRAM中之后,NOR Flash存儲器即閑置,不參與系統(tǒng)執(zhí)行。由于EP7312只具有普通SDRAM控制器,不支持SyncFlash直接啟動,采用SyncFlash來設計時,框圖如圖3所示。由于SyncFlash既具有非易失性,又可直接連接到SDRAM總線,且可高速操作,即具有XIP (eXecute_In_Place)特性,因此可將應用程序直接寫到SyncFlash,將BOOT程序固化在NOR Flash中,執(zhí)行完BOOT程序后,將指針直接指向SyncFlash中的應用程序并執(zhí)行。
另外,有一些微處理器具有能夠直接啟動且支持SyncFlash硬件命令序列的SDRAM控制器,如Motorola的龍珠MX1處理器。它將所有非易失存儲器的功能移植到高速SDRAM/SyncFlash存貯器總線中,且能配置成從標準異步非易失存儲器SyncFlash啟動。采用這種處理器設計時,框圖中的用于固化BOOT程序的ROM芯片也可省去。
運用SyncFlash設計ARM嵌入式系統(tǒng)時需要注意:一是SDRAM和SyncFlash都連接在SDRAM總線上,共用SDRAM控制器,但SyncFlash用作程序存儲器,而SDRAM用作數(shù)據(jù)存儲器,因此在進行系統(tǒng)存儲器映射時,二者應映射到兩個不同的區(qū)域;二是在使用SCS時,必須將Cache禁止。

運用SyncFlash的優(yōu)勢
根據(jù)EP7312嵌入式系統(tǒng)的啟動過程,及應用SyncFlash前后系統(tǒng)的結(jié)構(gòu)框圖比較,不難發(fā)現(xiàn)運用SyncFlash設計系統(tǒng)具有以下優(yōu)勢。
提高啟動速度
由于SyncFlash具有XIP特點,應用程序直接固化在SyncFlash中,在啟動時省去了將應用程序傳送到SDRAM中的過程,因而提高了系統(tǒng)的啟動速度。
節(jié)省系統(tǒng)成本
一般BOOT程序的代碼都極少(幾KBytes),而應用程序較大(可達幾MBytes),如都固化在NOR Flash中,勢必需要大容量的Flash,由上述ARM嵌入式系統(tǒng)的啟動過程可知,只有BOOT程序在Flash中運行,啟動后用于存儲應用程序的Flash實際上是冗余的,因而在運用SyncFlash設計的系統(tǒng)中,可將存儲應用程序的NOR Flash省去,而只用小容量的NOR Flash(或EPROM)來存儲BOOT程序即可,這樣就達到了節(jié)省系統(tǒng)成本的目的?!?/P>

參考文獻
1 EP7312 User誷 Manual. CIRRUS LOGIC, 2000
2 馬忠梅等. ARM嵌入式處理器結(jié)構(gòu)與應用基礎. 北京航空航天大學,2002
3 AT49LS4M16 SyncFlash Data Sheet. ATMEL. 2002
4 SyncFlash Design Guide for Generic SDRAM Controllers. MICRON. 2002



評論


相關推薦

技術專區(qū)

關閉