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

2013-08-23 09:29 來源:電子信息網(wǎng) 作者:鈴鐺


一、EMIF總線概述

外部存儲(chǔ)器總線(EMIF, External Memory Interface)總線是京微雅格(CME)的8051硬核與FPGA之間的并行8位總線接口,主要的信號(hào)有6個(gè),分別為:

memaddr[22:0]:23位地址總線,對(duì)應(yīng)8M地址空間;

memdatao[7:0]:8位數(shù)據(jù)輸出總線;

memdatai[7:0]:8位數(shù)據(jù)輸入總線;

memrd:總線讀信號(hào);

memwr:總線寫信號(hào);

memack:總線應(yīng)答信號(hào);

與EMIF操作時(shí)序有關(guān)的8051的內(nèi)部寄存器為CKCON寄存器,一般8051的初始化程序需要在主函數(shù)的初始化更改該寄存器的初始化值,以實(shí)現(xiàn)最快的總線訪問效率。

1、EMIF總線相關(guān)的MCU寄存器:CKCON

CKCON主要作用是設(shè)置存儲(chǔ)器地址總線memaddr[22:0]和讀寫memwr/ memerd信號(hào)的寬度,已實(shí)現(xiàn)對(duì)不同外設(shè)時(shí)序的操作,若寬度仍不夠,也可以通過memack實(shí)現(xiàn)硬件延時(shí),理論上可以實(shí)現(xiàn)任意寬度的地址總線地址和讀寫信號(hào)。

CKCON寄存器的默認(rèn)值為:0x71


1


通過設(shè)置CKCON的第4-6位,可以改變CPU的運(yùn)行效率,最小值是001,不可設(shè)置為000;當(dāng)設(shè)置為111,運(yùn)行的效率最慢;所以推薦客戶在CPU開始運(yùn)行就改變4-6位的值為001,以使CPU運(yùn)行的效率最快。

通過設(shè)置CKCON的第0-2位,可以改變EMIF總線的memrd,memwr,memaddr的寬度,最小值是000,對(duì)應(yīng)memrd,memwr,memaddr的寬度為1個(gè)時(shí)鐘周期;當(dāng)設(shè)置為111時(shí),對(duì)應(yīng)memrd,memwr,memaddr的寬度為8個(gè)時(shí)鐘周期;所以推薦客戶在CPU開始運(yùn)行就改變4-6位的值為000,以使EMIF總線訪問的效率最快。


2


所以推薦用戶在8051主程序程序一開始就改變CKCON的值為0x10。

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

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


3


與外部數(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)地址總線上的memaddr[22:15]的值,即地址總線的高8位地址總線。注意:D_PAGESEL的值不可為0,因?yàn)楫?dāng)為0時(shí),將會(huì)與Common Bank的地址空間重疊(0-7FFFF)。

1 2 > 
CME-M5 EMIF

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門