新聞中心

        EEPW首頁 > 網絡與存儲 > 設計應用 > CME-M5 外部存儲器接口(EMIF)總線使用指南

        CME-M5 外部存儲器接口(EMIF)總線使用指南

        作者: 時間:2013-05-09 來源:電子產品世界 收藏

          2. 基于Data Banking的總線地址擴展規則:

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

          CME的處理器為馮諾依曼結構,即程序總線和數據總線統一編址。地址總線的地址位為23位,對應8M Bytes的地址空間。是通過Data Banking的方式實現地址總線的擴展。每個bank的地址空間為32K Bytes,共有256個bank。地址空間的分布如下圖所示,這里僅對外部數據存儲空間做介紹:  

         

          與外部數據存儲空間有關的寄存器為:

          D_PAGESEL(默認初始值為0x01,即指向Bank 1地址空間)

          因為D_PAGESEL為8位寄存器,所以剛好對應256個bank。D_PAGESEL的值對應地址總線上的memaddr[22:15]的值,即地址總線的高8位地址總線。注意:D_PAGESEL的值不可為0,因為當為0時,將會與Common Bank的地址空間重疊(0-7FFFF)。

          3. 邏輯地址空間與物理地址空間的對應關系

          邏輯地址空間(Logical Address): CME 8051每個bank的低16位邏輯地址的空間范圍為0x8000-0xFFFF,該值和C編譯器里面的地址定義相同。

          物理地址(Physical Address):也叫實際地址或絕對地址,是出現在外部地址總線上的尋址物理內存的地址信號,是地址變換的最終結果。

          邏輯地址空間:  

         
        • memaddr[22:15]:該物理地址段的值由D_PAGESEL寄存器的值決定,范圍為1-255,默認初始化值為0x01;
        • memaddr[14:0]:該物理地址段由C編譯器里面的變量分配的地址決定,注意:需拿C編譯器里面定義的地址(0x8000-0xFFFF)減去偏移地址0x8000,即0x8000對應的物理地址實際是0x0000,0xFFFF對應的物理地址為0x7FFF。

          Keil C51編譯器支持的外部變量定義方法:

          代碼片段1:

          unsigned char xdata PORTA _at_ 0x9000;//對應低16位物理地址:0x1000
          unsigned char xdata DDRA _at_ 0x9001;//對應低16位物理地址:0x1001
          unsigned char xdata PORTB _at_ 0xa000;//對應低16位物理地址:0x2000
          unsigned char xdata DDRB _at_ 0xa001;//對應低16位物理地址:0x2001

          或者如下定義:

          代碼片段2:
          #define PORTA XBYTE[0x9000]



        關鍵詞: EMIF CKCON 8051 CPU

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石泉县| 华容县| 井研县| 密云县| 天柱县| 罗源县| 普定县| 沁阳市| 富民县| 黔西县| 贵州省| 临泽县| 宁城县| 温宿县| 满城县| 砚山县| 册亨县| 郴州市| 北票市| 溧水县| 读书| 大方县| 神农架林区| 莲花县| 塔城市| 佛山市| 兰坪| 鹰潭市| 鹤庆县| 九台市| 营山县| 观塘区| 依兰县| 福安市| 浦北县| 电白县| 广水市| 兴山县| 沂南县| 东莞市| 安阳县|