ARM與不同位寬存儲(chǔ)器的地址線錯(cuò)位接口,外部總線接口深入._第1頁(yè)
ARM與不同位寬存儲(chǔ)器的地址線錯(cuò)位接口,外部總線接口深入._第2頁(yè)
ARM與不同位寬存儲(chǔ)器的地址線錯(cuò)位接口,外部總線接口深入._第3頁(yè)
ARM與不同位寬存儲(chǔ)器的地址線錯(cuò)位接口,外部總線接口深入._第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ARM是 32位,地址空間是2的32次幕,4G地址空間。所有的外設(shè)(FLASH,RAM,SD 卡等等)都映射到這4G的空間上。比如大部分ARM7都把RAM映射到0x40000000, 所以對(duì)RAM勺操作就在0X40000000開(kāi)始的地址上。FLASH從 0X0開(kāi)始。使用FLASH 還要 考慮地址重映射,就是選擇片內(nèi)FLASH或片外FLASHFLASH一般是8位或16位,當(dāng)它接到32位的ARM上時(shí),地址位就會(huì)錯(cuò)位。 對(duì)于 16 位 FLASH FLASH的 A0 要接 ARM的 A1。對(duì)于 8 位 FLASH, FLASH的 A0 要接ARM的 A0。ARM的A0對(duì)應(yīng)8位,ARM勺A1對(duì)應(yīng)16位

2、,ARM的A2對(duì)應(yīng)32 位,如果FLASH是 32位,那么FLASH的 A0接ARM的A232位的FLASH FLASH勺A0要接ARM的A2,因?yàn)?2位地址表示4個(gè)字節(jié), 每次要跳4個(gè)字節(jié)的話,那么就是從A2開(kāi)始才變化,A1 A0不變化16位的FLASH FLASH勺A0要接ARM的A1,因?yàn)?6位地址表示2個(gè)字節(jié), 每次要跳2個(gè)字節(jié)的話,那么就是從A1開(kāi)始才變化,A0不變化8位的FLASH FLASH勺A0要接ARM勺A0,因?yàn)?位地址表示1個(gè)字節(jié),每 次要跳1個(gè)字節(jié)的話,那么就是從A0開(kāi)始才變化。位 A0 省掉了,對(duì)于16位的FLASH,我們可以這樣認(rèn)為:16位存儲(chǔ)器的設(shè)計(jì)者將低 我們只

3、要讀取一次就可以得到兩個(gè)字節(jié),讀取的這個(gè)地址對(duì)應(yīng)于(偶地址是針對(duì)ARM發(fā)出的地址的A21.1,即實(shí)際上是存儲(chǔ)器需要的偶地址 ARM發(fā)出的地址而言的)。LPC2200, S3C2410A,S3C244等都是上述這樣的,當(dāng)然也有不同的。IMX27和BF537這兩款CPI都是不管存儲(chǔ)器是多少位的的,都是直接A0-B0, 沒(méi)有任何考慮錯(cuò)位的情況,是因?yàn)樗麄兊拇鎯?chǔ)控制器已經(jīng)內(nèi)部作了處理 了 ,三星的如S3C2443S3C2450S3C641等后續(xù)的也都是這樣子了再來(lái)看看外部總線配置EMC和外部總線功能引腳的關(guān)系:0E:輸出使能OUT EABLEWE WRITE EABLE寫(xiě)入使能CE:chip EABL

4、E 片選ALE :地址鎖存使能(ADRESS LOCK EABLEBLS:字節(jié)選擇信號(hào)重點(diǎn)看 WE BLS 的關(guān)系在LPC2200系列ARM中,為了適應(yīng)外部存儲(chǔ)器組的寬度和類型,EMO供了一組字節(jié)選擇信號(hào),要實(shí)現(xiàn)這些功能,RBLE位進(jìn)行設(shè)定。對(duì)外部存儲(chǔ)器組進(jìn)行寫(xiě)訪問(wèn)時(shí),對(duì)外部存儲(chǔ)器組進(jìn)行讀訪問(wèn)時(shí),需要對(duì)相應(yīng)存儲(chǔ)器配置寄存器中的RBLE位決定WE信號(hào)是否有效;RBLE位決定BLSn信號(hào)是否有效。外部存儲(chǔ)器的接口取決于存儲(chǔ)器組的寬度(32位、16位、8位,由BCFG 的MW位決定)。而且,存儲(chǔ)器芯片的選擇也需要對(duì)BCFG寄存器的RBLE位進(jìn)行 適當(dāng)?shù)脑O(shè)置。選擇8位或者不按字節(jié)區(qū)分的的存儲(chǔ)器的時(shí)候,

5、RBLE位應(yīng)該為0,在讀訪問(wèn)期間EMC將BLS3:0拉高。當(dāng)存儲(chǔ)器組為含有字節(jié)選擇選 擇輸入的16 位或32位存儲(chǔ)器組成的時(shí)候,RBLE位應(yīng)該為1,在讀訪問(wèn)期間EMC各BLS3:0 拉低。注意這里沒(méi)有對(duì) RBLE為0或1的時(shí)候,寫(xiě)訪 問(wèn)期間BLS3:0引腳的電 平作出交代。以16位寬的存儲(chǔ)器組連接16位的存儲(chǔ)器芯片為例(這種情況比較常見(jiàn), 周立功的easyarm2200就是這樣的)。很顯然這里 RBLE位應(yīng)該為1。 BLS1、BLS0分別接到了存儲(chǔ)器芯片的UB LB腳。作為16位的存儲(chǔ)器芯片, 要取得16位寬度的字,無(wú)論是讀訪問(wèn)還是寫(xiě)訪問(wèn),UB和LB位都必須為低電平0。 作為16位的ram,程

6、序中不可避免的存在對(duì)它的寫(xiě)操作。程序能正常運(yùn)行就說(shuō) 明對(duì)它的寫(xiě)操作是成功的。可以進(jìn)一步推斷在寫(xiě)訪問(wèn)期間,BLS1、BLS0是16位或32位存儲(chǔ)器組成的時(shí)低電平的。當(dāng)存儲(chǔ)器組為含有字節(jié)選擇選擇輸入的EMC候,RBLE位應(yīng)該為1,在讀訪問(wèn)期間EMC將BLS3:0拉低。在寫(xiě)訪問(wèn)周期 同樣是將BLS3:0拉低。 這種操作也符合使用8位單片機(jī)時(shí)候的習(xí)慣,Wft&演了“寫(xiě)”的角色。cs -OEWE 一CEOEWEBLS1UBBLSfOLBDi15:D-IO15:0'Aa m;0l.Aa_b:116 bit wide meniory bank interfaced to 16 bit mem

7、ory chipi jRBLE-1)i'.下面是32位寬的存儲(chǔ)器組連接8位的存儲(chǔ)器芯片,很顯然這里 位應(yīng)該為0。網(wǎng)友wag提出這樣的問(wèn)題,能否用 ARM的 WE引腳直接連接到存儲(chǔ)器芯片的 引腳。有這樣的問(wèn)題可能是源于以前的習(xí)慣,也可能是不清楚RBLE位為0時(shí),寫(xiě)訪問(wèn)期間BLS3:0引腳的狀態(tài)。上面介紹了 RBL呂0的時(shí)候的讀寫(xiě)情況。EMC勺WE BLS3:0拉低,將數(shù)據(jù)送到要寫(xiě)入的地址。對(duì)于讀RBLEWELP C2210/2220 User Manual 信號(hào)沒(méi)有被使用。在寫(xiě)周期, 周期,BLS3:0拉高。網(wǎng)友sky421提到“我用的是 化,BLS0在變化”2214,接一片8位的RAM

8、寫(xiě)的時(shí)候WE腳不會(huì)有變我個(gè)人理解,如果RBLE= 0, BLS引腳就取代了 WR的功能,WR腳就不可以使用 了。有心的朋友可以用邏輯分析儀測(cè)一下,實(shí)際情況如何,驗(yàn)證一把。csOEBLS3CE0E WEOEBLS21 V WEoeBLSf l I WEBLSJO 一OEWE0131:24 一A3b:210(701 -j 10(7 03 _rai) 32 bit wde mefpory bank mterfaced to 8 bit niemOfy chips (RE悴?發(fā)牟更了 產(chǎn)"號(hào)IIOI7 01Aanr01D23 16iO7 0JI A3 _m:00(15 8 - tO7 0J

9、r- Ala.m O總結(jié),當(dāng)RBL呂1, WR有效,BLS充當(dāng)字節(jié)選擇,其隨 WR OE的變化而變化, 讀、寫(xiě)操作時(shí)BLS都是低電平,此時(shí)用于有字節(jié)選擇的外部設(shè)備。當(dāng)RBLE=0 WRt效,此時(shí)用于當(dāng)WF信號(hào),而WR無(wú)效。無(wú)字節(jié)選擇的外部設(shè)備,BLS可以充不是ARM9 S3C2440的,但是有相似之處!存儲(chǔ)器映射:0-1G(0x0000,0000 - 0x3fff,ffff):1- 2G(0x4000,0000 - 0x7fff,ffff):2- 3.5G(0x8000,0000 - 0xbfff,ffff - 0xdfff,ffff):3.5G - 3.75G(0xe000,0000 - 0

10、xefff,ffff): VPB3.75G - 4G(0xf000,0000 - 0xffff,ffff): AHB雖然ARM7的尋址空間為 4G,但是LPC2200片內(nèi)片內(nèi)Flash.RAM.系列只提供CS0 - CS3 是A24和A25的譯碼輸岀, 為 bank。- bank3,共 16M*4=64M.復(fù)位時(shí),bank0 的總線寬度由為8位。字節(jié)定位信號(hào)(BLS0 - BLS3)當(dāng)Memory由字節(jié)寬度器件Boot1:0片外存儲(chǔ)器。 外設(shè)。外設(shè)。A0A23總共16M的地址。片選信號(hào) 劃分 位總線寬度。16 位,bank3將片外存儲(chǔ)區(qū)這4個(gè)bank可以被分別配置為 8/16/32 引腳決定,

11、bank1 為32位,bank2 為0x8000,0000 - 0x83ff,ffff協(xié)調(diào)總線寬度和外存芯片數(shù)據(jù)線寬度?!?如62256 )或者朱按照字節(jié)區(qū)分的多字節(jié)器件”組成時(shí),應(yīng)將RBLE設(shè)置為"0"。此時(shí),讀訪問(wèn)時(shí) EMC將BLS0BLS3 拉高。當(dāng)Memory由含有字節(jié)選擇輸入的16位或32位器件”組成時(shí),應(yīng)將RBLE設(shè)置為"1"。此時(shí),讀訪問(wèn)時(shí)EMC將BLS0BLS3拉低。所以,當(dāng)Memory由62256組成時(shí),由于不需要片內(nèi)字節(jié)選擇輸入”,故令RBLE = '0',則BLS0BLS3只會(huì)與nWR同步,可以代替 nWR使用。但是,當(dāng)Memory由IS61LV25616AL組成時(shí),由于該芯片有 "nLB"和"nUB"控制低/高8位 的輸入,故令 RBLE = '1' ,則 BLS0BLS3 與 nRD 和 nWR 都會(huì)同步,此時(shí),不可以使用 BLS0BLS3 代替 nWR 信號(hào)。地址數(shù)據(jù)總線: D0 - D31, A0 - A23, OE, WE, CS0 - CS3, BLS0 - BLS3啟動(dòng)后由P 2.7/P 2.6控制引導(dǎo)方式,然后由程序設(shè)置MEMMAP決定中斷向量的映射。BCFG0 - BCFG3 控制讀寫(xiě)延時(shí)和總線寬度。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論