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

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > TMS320F2812外部接口分析與存儲器擴展

          TMS320F2812外部接口分析與存儲器擴展

          ——
          作者: 時間:2007-09-19 來源: 收藏

          是德州儀器(TI)公司專門為工業(yè)應用而設計的新一代處理器,它的性能大大優(yōu)于當前廣泛使用的TMS320LF240x系列。該芯片為32位定點,最高主頻150 MHz,最小指令周期6.67 ns,外部采用低頻時鐘,通過片內鎖相環(huán)倍頻;相對于TMS320LF2407只能尋址192 KB地址空間,該芯片的外部接口最多可尋址4 MB的空間;有3個獨立的片選信號,并且讀/寫時序可編程,兼容不同速率的外設擴展;通過配置外部接口寄存器,在訪問外部設備時不必額外增加延時等待,既提高了程序的實時性又減少了代碼量。因此,靈活掌握和使用外部接口,對于系統(tǒng)開發(fā)有很大幫助。本文結合實際系統(tǒng),分析外部接口的時序,設計了外部擴展電路,根據(jù)所用的芯片設置了接口時序,并提供了相關的電路原理圖和外部接口時序配置的程序。

          外部接口的特點

          TMS320F2812外部接口(XINTF)采用異步非復用模式總線,與C240x外部接口類似,但也作了改進:

          ① TMS320LF240x系列,程序空間、數(shù)據(jù)空間和I/O空間都映射在相同的地址(0000~FFFF),最大可尋址192 KB,對它們的訪問是通過不同的指令來區(qū)分的,例如可用IN或OUT指令訪問外部I/O空間;而在TMS320F2812中,外部接口被映射到5個獨立的存儲空間XZCS0、XZCS1、XZCS2、XZCS6、XZCS7,每個存儲空間具有獨立的地址,最多可尋址4 MB。

          ② TMS320F2812中,有的存儲空間共用1個片選信號,如Zone0和Zone1共用XZCS0AND1,Zone6和Zone7共用XZCS6AND7。各空間均可獨立設置讀、寫信號的建立時間、激活時間及保持時間。

          對任何外部空間讀/寫操作的時序都可以分成3部分:建立、激活和保持,時序如圖1和圖2所示。在建立(lead)階段,訪問存儲空間的片選信號變?yōu)榈碗娖讲⑶业刂繁凰偷降刂房偩€(XA)上。默認情況下該階段的時間設置為最大,為6個XTIMCLK周期。在激活(active)階段,對外部設備進行讀寫,相應的讀寫信號(XRD和XWD)變?yōu)榈碗娖?,同時數(shù)據(jù)被送到數(shù)據(jù)總線(XD)上。默認情況下讀寫該階段的時間均設置為14個XTIMCLK周期。跟蹤(trail)階段是指讀寫信號變?yōu)楦唠娖剑x信號仍保持低電平的一段時間周期,默認情況下該階段時間設置為6個XTIMCLK周期。因此,在編程時要根據(jù)外部設備的接口時序來設置XINTF的時序,從而正確地對外設讀寫。

          2 擴展硬件設計

          2.1 外部存儲器與TMS320F2812的接口電路設計

          TMS320F2812內置18 KB RAM。為了使用方便,本系統(tǒng)又擴展了256 KB SARAM,芯片選用IS61LV25616(256K



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();