<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

            一、總線概述

          本文引用地址:http://www.ex-cimer.com/article/145142.htm

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

          • memaddr[22:0]:23位地址總線,對應(yīng)8M地址空間;
          • memdatao[7:0]:8位數(shù)據(jù)輸出總線;
          • memdatai[7:0]:8位數(shù)據(jù)輸入總線;
          • memrd:總線讀信號;
          • memwr:總線寫信號;
          • memack:總線應(yīng)答信號;

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

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

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

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

            
           

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

           

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

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


          上一頁 1 2 3 4 下一頁

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

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();