《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > DSP芯片(TMS320C6711D)的Flash存儲器
DSP芯片(TMS320C6711D)的Flash存儲器
單片機與嵌入式系統
摘要: 在嵌入式系統中,為了實現程序的脫機自動運行,程序往往固化在電可擦除的Flash存儲器中。要實現一個嵌入式系統...   本文以TI公司的DSP芯片TMS320C6711D和AMD公司的4 Mb Flash存儲器AM29LV400B為例來介紹兩種在線編程方式。
關鍵詞: DSP TMS320C6711D Flash
Abstract:
Key words :

    在嵌入式系統中,為了實現程序的脫機自動運行,程序往往固化在電可擦除的Flash存儲器中。要實現一個嵌入式系統的帶電脫機運行,在線編程就成為嵌入式系統開發過程的必經之路。由于在線編程涉及到硬件和軟件方面的內容,因此要從頂層設計和系統的角度來考慮在線編程。硬件設計要為軟件設計作鋪墊,盡可能簡化軟件設計。

  本文以TI公司的DSP芯片TMS320C6711D和AMD公司的4 Mb Flash存儲器AM29LV400B為例來介紹兩種在線編程方式。

  1 DSP與Flash存儲器的兩種硬件連接關系

  1.1 以Ready信號作為硬件握手

  帶有Ready信號的TMS320C6711D的EMIF(Exterhal Memory InteRFace)接口與Flash存儲器AM29LV400B的硬件連接如圖1所示。由于AM29LV-400B輸出的就緒信號/忙信號()為OD(漏極開路)輸出,需要在該信號上加上拉電阻并連接到VCC。  


  1.2 采用無Ready硬件連接的軟件握手

  不帶Ready信號的TMS320C6711D與Flash存儲器AM29LV400B的硬件連接如圖2所示。

  

 

  2 軟件設計

  2.1 帶有硬件握手的軟件設計

  帶有Ready信號連接的Flash存儲器編程時序如圖3所示。Flash的就緒信號/忙信號()輸出為低電平時,表明Flash正忙,處于編程或擦除狀態。由于DSP與Flash存儲器采用Ready/Busy信號作為硬件握手信號,當Ready/Busy信號為低電平時,CPU在總線時序上插入等待周期,直到Ready/Busy信號解除(為高電平)。在Ready信號為低電平期間,由于CPU處于等待狀態,程序被暫停執行,因此不需要通過軟件來判斷Flash存儲器的編程或擦除狀態。

  

 

  

程序

 

  

程序

 

  2.2 帶有軟件握手的軟件設計

  Flash的就緒信號/忙信號()輸出為低電平時,表明Flash正忙,處于編程或擦除狀態,此時寫入或讀出的數據是無效的,不是程序員需要的數據;當該信號輸出為高電平時,表明Flash已處于就緒狀態,可對其進行寫入或讀出數據的操作。

  由于DSP與Flash存儲器的接口采用軟件握手,在對Flash存儲器進行編程或擦除時,DSP的總線周期中不會由硬件自動插入等待周期,如果此時仍采用2.1節的Flash編程函數對Flash存儲器進行編程,則會得到錯誤的編程結果。編程結束后會發現Flash存儲器中有一部分內容仍然是0xFFFF,處于編程前的狀態。雖然對Flash存儲器進行了編程操作,但由于Flash存儲器上一次編程操作還未完成,本次的編程操作無效,數據根本寫不進Flash存儲器。在CCS3.1中用“View/Memery”功能查看Flash存儲器,就會發現Flash存儲器中的數據等間隔地出現編程正確和編程不正確的現象。筆者在自己設計的TMS320C6711D-250嵌入式模塊(帶有AM29LV400B Flash存儲器)上,通過斷開DSP與Flash存儲器的硬件Ready信號進行編程測試,無等待狀態的測試結果見表1,有等待狀態的測試結果見表2。

  

無等待狀態的測試結果見表1

 

  可見,在沒有硬件握手的情況下,需要通過軟件來判斷當前Flash存儲器編程或擦除的狀態來進行編程操作。如果Flash存儲器正處于編程或擦除過程中,則無法繼續對Flash存儲器進行編程,需等到Flash存儲器上一次數據編程(寫入)完成時才能進行下一次數據編程(寫入)。否則,會得到錯誤的編程結果,造成編程后數據校驗失敗。

  大多數Flash存儲器都提供了一個或幾個狀態位來表示當前Flash存儲器編程或擦除的狀態,大多支持通過其數據總線D7數據位的狀態來判斷Flash存儲器當前編程或擦除的狀態。這是大多數Flash存儲器數據手冊推薦的編程輪詢算法,但經過筆者測試,這種算法比較繁瑣,會造成部分編程內容不正確,可采用將編程數據讀出、與寫入數據進行比較的簡單方法,實現軟件等待狀態的插入。

  說明:TMS320C6711D與AM29LV400B Flash存儲器采用16位數據連接,DSP EMIF CEl存儲器空間初始化為32位總線寬度(CEl端口連接16位Flash存儲器),讀取/寫入Flash存儲器的32位數據中高16位無效。

  帶有軟握手的Flash存儲器編程函數如下:

  

 

  3 兩種在線編程方式的區別

  在硬件上加入硬件握手的Flash存儲器在線編程方式設計簡單,在應用中只須考慮擦除和編程,而無須考慮Flash存儲器的當前狀態。當Flash存儲器正處于擦除和編程狀態而未完成時,Flash存儲器產生的忙信號通過Flash存儲器與DSP之間的硬件連接直接送入DSP,由DSP硬件在其總線訪問周期中自動插入等待周期,暫停DSP處理器的執行;當Flash擦除和編程狀態完成時,由Flash存儲器產生的就緒信號通過Flash存儲器與DSP之間的直接硬件連接將就緒信號送入DSP,解除DSP的等待狀態,繼續程序的執行。而采用軟件握手的Flash在線編程方式需要程序員在軟件中判斷Flash存儲器的當前狀態。只有當Flash存儲器擦除過程完成時,才能對其進行編程;當Flash存儲器的一次編程(數據寫入)過程完成時,才能進行下一次的編程(數據寫入)。軟件設計繁瑣,且要經過多次調試。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产商场真空露出在线观看| 天天干天天插天天| 国产真实乱子伦精品视手机观看 | 亚洲成人免费电影| 欧美另类xxxx图片| 无码国产精品一区二区免费vr | 晚上看b站直播软件| 亚洲精品视频在线观看视频| 美妇岳的疯狂迎合| 图片区网友自拍另类图区| 亚洲一区二区三区国产精华液 | 成年人在线免费看| 亚洲av永久无码精品网站| 渣男渣女抹胸渣男渣女| 国产手机在线αⅴ片无码观看 | 欧美日韩一区二区三区自拍| 国产午夜精品理论片| 一级毛片在播放免费| 日韩视频第一页| 亚洲欧美综合国产精品一区| 精品国产免费观看一区| 国产草草影院ccyycom| 下面一进一出好爽视频| 欧美日韩国产一区二区三区欧| 午夜时刻免费实验区观看| 91成人免费在线视频| 小说区综合区首页| 亚洲中久无码永久在线观看同| 男人j进女人p免费动态图| 国产成人涩涩涩视频在线观看 | 国产精品高清一区二区三区不卡 | 日本高清护士xxxxx| 伊人色综合久久天天网| 激情五月婷婷网| 国模吧一区二区三区精品视频| 久久婷婷五月综合色国产香蕉| 秋霞理论最新三级理论最| 国产精品亚洲二区在线观看| caoporn国产精品免费| 成人性一级视频在线观看| 亚洲国产精品无码久久青草|