<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 利用Flash實現DSP對多個程序有選擇的加載

    時間:2024-09-25 09:10:51 理工畢業論文 我要投稿
    • 相關推薦

    利用Flash實現DSP對多個程序有選擇的加載

    摘要:主要介紹一種利用Flash存儲器實現雙DSP系統對多份用戶代碼有選擇的上電加載的方法。其中,重點介紹M29W800AB Flash的使用和編程方法,TMS320VC54X DSP的上電自動引導過程,以及HPI模式和并行模式加載用戶代碼的方法。

    引 言

      在TMS320C54X系列DSP系統的開發中,由于DSP片內只有ROM和RAM存儲器,如要將用戶代碼寫入ROM中,必須要由DSP芯片廠家來完成;但這樣做用戶就不能再更改代碼,很不實用。由于RAM在DSP掉電后不能再保存數據,因此,常常利用EPROM、Flash等一些外部存儲器來存放用戶代碼。在DSP上電工作后,利用DSP提供的boot機制,再將程序下載到DSP RAM中運行。如果使用EPROM外部存儲器存放用戶代碼,需要用代碼轉換工具將用戶代碼轉換為二進制目標文件,然后用編程器將其燒寫進EPROM;而如果使用Flash存儲器存放用戶代碼,則可直接使用DSP仿真器和CCS(Code Composer Studio )仿真環境進行在線編程,使用靈活方便,不再需要其它編程設備。在某一以太網通信系統中,我們就采用Flash存儲器來實現多份用戶代碼的有選擇加載。下面就以此系統為例介紹對TMS320VC54X DSP的一種用戶代碼加載的方法。

    1 系統構架

    ??此通信系統基于802.3以太網標準,用以實現各終端之間的話音和其它數據的通信,以及實現局域網內終端與外界的話音和數據通信。為節約開發成本,提高系統的可擴展性、通用性和靈活性,我們對每個網內終端采用同樣的硬件架構,通過使用不同的軟件代碼而使其實現不同的功能,發揮不同的作用。

    ??每一通信終端由2塊DSP芯片、1塊網卡、1塊CPLD和1塊FPGA以及Flash存儲器等器件組成可擴展的基本結構。其中,以TMS320VC5410 DSP作為主CPU,負責系統的邏輯控制和一般數據傳輸;以MS320VC5416 DSP作為從CPU,負責話音的編解碼和回聲消除、語音檢測等工作。2塊DSP之間通過主機接口(HPI)進行通信。為了實現代碼的有選擇下載,可由FPGA配置一端口作為撥碼開關,使用戶通過調節撥碼開關,可以有選擇地下載存儲于Flash中的用戶代碼,其結構如圖1所示。

    ??配置撥碼開關是為了擴充系統的功能,以實現一個硬件平臺的多種用途。我們可以將實現不同功能的多份用戶代碼都寫入Flash存儲器中存放,通過硬件撥碼開關的設置,選擇其中一份用戶代碼下載執行。在系統上電加載用戶代碼時,系統先從Flash下載FPGA配置程序,然后通過FPGA讀出撥碼開關的值,再根據此值從Flash中選擇對應的5410 DSP用戶代碼加載;而5416 DSP的用戶代碼加載是在5410代碼加載完成,啟動運行后由5410程序從Flash中讀出相應的5416代碼,再通過HPI加載到5416的,以此實現5416 DSP的代碼加載與啟動。

    2 M29W800AB Flash存儲器介紹及使用

    ??在此系統中,我們選用的是M29W800AB Flash存儲器,其容量為512K×16位, 分為16頁,每頁32K。其中,第0頁有4個模塊:0x00~0x1fff、0x2000~0x2fff、0x3000~0x3fff、0x4000~0x7fff。其余各頁,每頁為1個模塊,共有19個模塊。

    ??對Flash的操作要靠寫入一系列特定的地址和數據序列來完成。在每次對Flash寫入之前,要對其原來的內容進行擦除。Flash的擦除包括塊擦除和芯片擦除兩種。塊擦除是對一個模塊進行擦除,芯片擦除是擦除整個Flash的內容。因此,對Flash的操作,是以模塊為基本單元的。對Flash的操作由指令決定,其必須滿足Flash的時序要求,每條指令需要1~6個不等的指令周期。主要操作指令包括讀數據指令、編程指令、復位指令、自動選擇指令和擦除指令。每個指令周期由一個命令構成,每個命令代碼所執行的任務如表1所列。

    表1 Flash的命令說明

    HEX代碼命 令00h有效/保留10h芯片擦除確認20h保留30h模塊擦除繼續/確認80h建立擦除90h讀電平信號/模塊保護狀態A0h編程B0h擦除中止F0h讀陣列/復位

    ??下面以M29W800AB Flash的塊擦除指令為例,具體說明Flash的操作時序:塊擦除指令需要6個總線周期,先以2個解鎖周期開始,然后是1個擦除建立周期,接下來又是2個解鎖周期,最后是1個擦除確認周期,其指令時序如表2所列。

    表2 Flash擦除指令說明

    周期第1周期第2周期第3周期第4周期第5周期第6周期地址5555h2AAAh5555h5555h2AAAh模塊地址數據AAh55h80hAAh55h30h

    ??其C語言程序設計代碼如下:

    #define flash ((volatile unsigned int*)0x8000)

    Block_Erase(ADDR){

    flash[0x5555] = 0x00AA;

    【利用Flash實現DSP對多個程序有選擇的加載】相關文章:

    一種基于CAN總線的DSP程序加載技術03-20

    TMS320C6x DSP的FLASH引導方法研究與實現03-18

    利用DSP實現模擬信號的數字化處理11-22

    利用ISA總線實現對DSP芯片VC5402的軟配置03-19

    FFT算法的研究與DSP實現03-07

    利用進程間通信實現程序自我保護分析03-09

    利用DSP控制直流無刷電機03-18

    CF卡與雙核DSP的實現03-18

    在仿真環境下實現TMS320C6000系列DSP的程序自引導03-20

    主站蜘蛛池模板: 国产在线精品一区二区中文| 欧美一卡2卡3卡四卡海外精品| 无码人妻精品一区二区三区在线| 国产亚洲精品观看91在线| 欧美午夜精品久久久久久浪潮| 国产99久久精品一区二区| 综合在线视频精品专区| 成人伊人精品色XXXX视频| 国内精品51视频在线观看| 欧美精品一区二区三区免费观看| 成人国内精品久久久久影院| 午夜精品久久久内射近拍高清 | 一本色道久久88—综合亚洲精品 | 日韩人妻精品无码一区二区三区| 久久精品免费大片国产大片| 亚洲无删减国产精品一区| 国产精品美女久久久久| 午夜DY888国产精品影院| 久久亚洲国产成人精品无码区| 91精品国产综合久久香蕉| 成人精品综合免费视频| 久久香蕉超碰97国产精品| 亚州日韩精品专区久久久| 久久精品夜色噜噜亚洲A∨| 国产免费久久精品丫丫| 国产精品视频一区二区三区不卡| 久久精品国产亚洲网站| 国产精品电影在线观看| 91精品欧美综合在线观看| 精品一区二区三区自拍图片区| 午夜精品一区二区三区免费视频| 亚洲AV永久无码精品一区二区国产| 久久国产香蕉一区精品| 久久国产午夜精品一区二区三区| 国产欧美日韩综合精品二区| 国产精品无码久久综合网| 91麻豆精品国产91久久久久久| 91久久精品无码一区二区毛片| 99精品人妻少妇一区二区| 亚洲综合精品香蕉久久网97| 亚洲国产精品人久久|