新聞中心

EEPW首頁(yè) > 網(wǎng)絡(luò)與存儲(chǔ) > 設(shè)計(jì)應(yīng)用 > CME-M5 外部存儲(chǔ)器接口(EMIF)總線(xiàn)使用指南

CME-M5 外部存儲(chǔ)器接口(EMIF)總線(xiàn)使用指南

作者: 時(shí)間:2013-05-09 來(lái)源:電子產(chǎn)品世界 收藏

  2. 基于Data Banking的總線(xiàn)地址擴(kuò)展規(guī)則:

本文引用地址:http://2s4d.com/article/145142.htm

  CME的處理器為馮諾依曼結(jié)構(gòu),即程序總線(xiàn)和數(shù)據(jù)總線(xiàn)統(tǒng)一編址。地址總線(xiàn)的地址位為23位,對(duì)應(yīng)8M Bytes的地址空間。是通過(guò)Data Banking的方式實(shí)現(xiàn)地址總線(xiàn)的擴(kuò)展。每個(gè)bank的地址空間為32K Bytes,共有256個(gè)bank。地址空間的分布如下圖所示,這里僅對(duì)外部數(shù)據(jù)存儲(chǔ)空間做介紹:  

 

  與外部數(shù)據(jù)存儲(chǔ)空間有關(guān)的寄存器為:

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

  因?yàn)镈_PAGESEL為8位寄存器,所以剛好對(duì)應(yīng)256個(gè)bank。D_PAGESEL的值對(duì)應(yīng)地址總線(xiàn)上的memaddr[22:15]的值,即地址總線(xiàn)的高8位地址總線(xiàn)。注意:D_PAGESEL的值不可為0,因?yàn)楫?dāng)為0時(shí),將會(huì)與Common Bank的地址空間重疊(0-7FFFF)。

  3. 邏輯地址空間與物理地址空間的對(duì)應(yīng)關(guān)系

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

  物理地址(Physical Address):也叫實(shí)際地址或絕對(duì)地址,是出現(xiàn)在外部地址總線(xiàn)上的尋址物理內(nèi)存的地址信號(hào),是地址變換的最終結(jié)果。

  邏輯地址空間:  

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

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

  代碼片段1:

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

  或者如下定義:

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



關(guān)鍵詞: EMIF CKCON 8051 CPU

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉