flash接口電路的實現(xiàn)
1.3 以HY29LV160為例的Flash接口電路的使用方法
下面,我們使用HY29LV160來構(gòu)建存儲系統(tǒng)。由于ARM微處理器的體系結(jié)構(gòu)支持8位/16位/32位的存儲器系統(tǒng),對應(yīng)的可以構(gòu)建8位、16位、32位的Flash存儲器系統(tǒng)。32位的存儲器系統(tǒng)具有較高的性能,而16位的存儲器系統(tǒng)則在成本及功耗方面占有優(yōu)勢,而8位的存儲器系統(tǒng)現(xiàn)在已經(jīng)很少使用。下面主要介紹16位和32位的Flash存儲器系統(tǒng)的構(gòu)建。
1.3.1.16位的FLASH存儲器系統(tǒng)
在大多數(shù)的系統(tǒng)中,選用一片16位的Flash存儲器芯片(常見單片容量有1 MB 、2MB 、4MB 、8MB 等)構(gòu)建16位Flash的存儲系統(tǒng)已經(jīng)足夠,在此采用一片HY29LV160構(gòu)建16位的Flash存儲器系統(tǒng),其存儲容量為2MB。Flash存儲器在系統(tǒng)中通常用于存放程序代碼,系統(tǒng)上電或復(fù)位后從此處獲取指令并開始執(zhí)行,因此,應(yīng)將存有程序代碼的Flash存儲器配置到ROM/SRAM/FLASH Bank0,即將S3C4510B的nRCS0>(Pin75)接至HY29LV160的CE#端。
HY29LV160的RESET#端接系統(tǒng)復(fù)位信號;
OE#端接S3C4510B的nOE(Pin72);
WE#端S3C4510B的nWBE0>(Pin100);
BYTE#上拉,使HY29LV160工作在字模式(16位數(shù)據(jù)寬度);
RY/BY#指示HY29LV160編程或擦除操作的工作狀態(tài),但其工作狀態(tài)也可通過查詢片內(nèi)的相關(guān)寄存器來判斷,因此可將該引腳懸空;
地址總線[A19~A0]與S3C4510B的地址總線[ADDR19~ADDR0]相連;
16位數(shù)據(jù)總線[DQ15~DQ0]與S3C4510B的低16位數(shù)據(jù)總線[XDATA15~XDATA0]相連。
注意此時應(yīng)將S3C4510B的B0SIZE[1:0]置為“10”,選擇ROM/SRAM/FLASH Bank0為16位工作方式。
1.3.2. 32位的FLASH存儲器系統(tǒng)
作為一款32位的微處理器,為充分發(fā)揮S3C4510B的32性能優(yōu)勢,有的系統(tǒng)也采用兩片16位數(shù)據(jù)寬度的Flash存儲器芯片并聯(lián)(或一片32位數(shù)據(jù)寬度的Flash存儲器芯片)構(gòu)建32位的Flash存儲系統(tǒng)。其構(gòu)建方式與16位的Flash存儲器系統(tǒng)相似。
采用兩片HY29LV16并聯(lián)的方式構(gòu)建32位的FLASH存儲器系統(tǒng),其中一片為高16位,另一片為低16位,將兩片HY29LV16作為一個整體配置到ROM/SRAM/FLASH Bank0,即將S3C4510B的nRCS0>(Pin75)接至兩片HY29LV16的CE#端;
兩片HY29LV160的RESET#端接系統(tǒng)復(fù)位信號;
兩片HY29LV160的OE#端接S3C4510B的nOE(Pin72);
低16位片的WE#端接S3C4510B的nWBE0>(Pin100),高16位片的WE#端接S3C4510B的nWBE2>(Pin102);
兩片HY29LV160的BYTE#均上拉,使之均工作在字模式;
兩片HY29LV160的地址總線[A19~A0]均與S3C4510B的地址總線[ADDR19~ADDR0]相連;
低16位片的數(shù)據(jù)總線與S3C4510B的低16位數(shù)據(jù)總線[XDATA15~XDATA0]相連,高16位片的數(shù)據(jù)總線與S3C4510B的高16位數(shù)據(jù)總線[XDATA31~XDATA16]相連。
注意此時應(yīng)將S3C4510B的B0SIZE[1:0]置為“11”,選擇ROM/SRAM/FLASH Bank0為32位工作方式。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評論