新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM與不同位寬存儲器的地址線錯位接口

        ARM與不同位寬存儲器的地址線錯位接口

        作者: 時間:2016-11-24 來源:網絡 收藏
        ARM是32位,地址空間是2的32次冪,4G地址空間。所有的外設(FLASH,RAM,SD卡等等)都映射到這4G的空間上。比如大部分ARM7都把RAM映射到0x40000000,所以對RAM的操作就在0X40000000開始的地址上。FLASH從0X0開始。使用FLASH還要考慮地址重映射,就是選擇片內FLASH或片外FLASH。

        FLASH一般是8位或16位,當它接到32位的ARM上時,地址位就會錯位。對于16位FLASH,FLASH的A0要接ARM的A1。對于8位FLASH,FLASH的A0要接ARM的A0。ARM的A0對應8位,ARM的A1對應16位,ARM的A2對應32位,如果FLASH是32位,那么FLASH的A0接ARM的A2


        32位的FLASH,FLASH的A0要接ARM的A2,因為32位地址表示4個字節,每次要跳4個字節的話,那么就是從A2開始才變化,A1 A0不變化

        本文引用地址:http://www.104case.com/article/201611/321046.htm

        16位的FLASH,FLASH的A0要接ARM的A1,因為16位地址表示2個字節,每次要跳2個字節的話,那么就是從A1開始才變化,A0不變化

        8位的FLASH,FLASH的A0要接ARM的A0,因為8位地址表示1個字節,每次要跳1個字節的話,那么就是從A0開始才變化。

        對于 16位的FLASH ,我們可以這樣認為:16位存儲器的設計者將低位A[0]省掉了,我們只要讀取一次就可以得到兩個字節,讀取的

        這個地址對應于ARM發出的地址的A[21..1],即實際上是存儲器需要的偶地址(偶地址是針對ARM發出的地址而言的)。
        LPC2200,S3C2410A,S3C2440等都是上述這樣的,當然也有不同的。
        IMX27和BF537這兩款CPU都是不管存儲器是多少位的的,都是直接A0-B0,沒有任何考慮錯位的情況,是因為他們的存儲控制器已經內部作了處理
        了,三星的如S3C2443S3C2450S3C6410等后續的也都是這樣子了
        再來看看外部總線配置EMC和外部總線功能引腳的關系:
        OE:輸出使能 OUT EABLE
        WE:WRITE EABLE 寫入使能
        CE:chip EABLE 片選
        ALE:地址鎖存使能(ADRESS LOCK EABLE)
        BLS:字節選擇信號
        重點看 WE BLS 的關系
        在LPC2200系列ARM中,為了適應外部存儲器組的寬度和類型,EMC提供了一組字節選擇信號,要實現這些功能,需要對相應存儲器配置寄存器中的RBLE位進行設定。
        對外部存儲器組進行寫訪問時,RBLE位決定WE信號是否有效;
        對外部存儲器組進行讀訪問時,RBLE位決定BLSn信號是否有效。
        外部存儲器的接口取決于存儲器組的寬度(32位、16位、8位,由BCFG的MW位決定)。而且,存儲器芯片的選擇也需要對BCFG寄存器的RBLE位進行適當的設置。選擇8位或者不按字節區分的的存儲器的時候,RBLE位應該為0,在讀訪問期間EMC將BLS[3:0]拉高。當存儲器組為含有字節選擇選擇輸入的16位或32位存儲器組成的時候,RBLE位應該為1,在讀訪問期間EMC將BLS[3:0]拉低。注意這里沒有對RBLE為0或1的時候,寫訪問期間BLS[3:0]引腳的電平作出交代。
        以16位寬的存儲器組連接16位的存儲器芯片為例(這種情況比較常見,周立功的easyarm2200就是這樣的)。很顯然這里RBLE位應該為1。
        BLS[1]、BLS[0]分別接到了存儲器芯片的UB、LB腳。作為16位的存儲器芯片,要取得16位寬度的字,無論是讀訪問還是寫訪問,UB和LB位都必須為低電平0。作為16位的ram,程序中不可避免的存在對它的寫操作。程序能正常運行就說明對它的寫操作是成功的。可以進一步推斷在寫訪問期間,BLS[1] 、BLS[0]是低電平的。當存儲器組為含有字節選擇選擇輸入的16位或32位存儲器組成的時候,RBLE位應該為1,在讀訪問期間EMC將BLS[3:0]拉低。在寫訪問周期EMC同樣是將BLS[3:0]拉低。
        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 盱眙县| 时尚| 四平市| 蒙山县| 苍溪县| 佛坪县| 吉安市| 满洲里市| 阜康市| 华池县| 县级市| 毕节市| 常熟市| 琼结县| 乌海市| 江华| 开江县| 集贤县| 沙洋县| 长顺县| 昭苏县| 莫力| 景谷| 彩票| 宁武县| 乐清市| 双城市| 永和县| 张家川| 军事| 峨眉山市| 尼玛县| 惠来县| 盘山县| 板桥市| 徐闻县| 五寨县| 县级市| 宁河县| 淅川县| 喜德县|