利用Flash實(shí)現(xiàn)DSP對多個(gè)程序有選擇的加載

時(shí)間:2023-05-01 12:39:56 電子通信論文 我要投稿
  • 相關(guān)推薦

利用Flash實(shí)現(xiàn)DSP對多個(gè)程序有選擇的加載

摘要:主要介紹一種利用Flash存儲(chǔ)器實(shí)現(xiàn)雙DSP系統(tǒng)對多份用戶代碼有選擇的上電加載的方法。其中,重點(diǎn)介紹M29W800AB Flash的使用和編程方法,TMS320VC54X DSP的上電自動(dòng)引導(dǎo)過程,以及HPI模式和并行模式加載用戶代碼的方法。

    關(guān)鍵詞:Flash存儲(chǔ)器 DSP 主機(jī)接口 Bootloader 引導(dǎo)表

引 言

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

1 系統(tǒng)構(gòu)架

??此通信系統(tǒng)基于802.3以太網(wǎng)標(biāo)準(zhǔn),用以實(shí)現(xiàn)各終端之間的話音和其它數(shù)據(jù)的通信,以及實(shí)現(xiàn)局域網(wǎng)內(nèi)終端與外界的話音和數(shù)據(jù)通信。為節(jié)約開發(fā)成本,提高系統(tǒng)的可擴(kuò)展性、通用性和靈活性,我們對每個(gè)網(wǎng)內(nèi)終端采用同樣的硬件架構(gòu),通過使用不同的軟件代碼而使其實(shí)現(xiàn)不同的功能,發(fā)揮不同的作用。

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

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

2 M29W800AB Flash存儲(chǔ)器介紹及使用

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

??對Flash的操作要靠寫入一系列特定的地址和數(shù)據(jù)序列來完成。在每次對Flash寫入之前,要對其原來的內(nèi)容進(jìn)行擦除。Flash的擦除包括塊擦除和芯片擦除兩種。塊擦除是對一個(gè)模塊進(jìn)行擦除,芯片擦除是擦除整個(gè)Flash的內(nèi)容。因此,對Flash的操作,是以模塊為基本單元的。對Flash的操作由指令決定,其必須滿足F

[1] [2] [3] [4] 

【利用Flash實(shí)現(xiàn)DSP對多個(gè)程序有選擇的加載】相關(guān)文章:

利用RTW和DSP實(shí)現(xiàn)某無人機(jī)飛控測試平臺05-02

采用DSP實(shí)現(xiàn)的神經(jīng)網(wǎng)絡(luò)實(shí)時(shí)仿真系統(tǒng)04-27

基于RTW電控旋翼控制律的DSP實(shí)現(xiàn)04-26

基于FPGA的嵌入式系統(tǒng)FLASH接口設(shè)計(jì)與實(shí)現(xiàn)05-02

DSP硬件算法在捷聯(lián)慣性AHRS系統(tǒng)中的實(shí)現(xiàn)04-29

利用Excel實(shí)現(xiàn)R型聚類分析04-29

利用圖片作為載體實(shí)現(xiàn)信息隱藏05-01

利用MAPGIS數(shù)據(jù)庫統(tǒng)計(jì)土地利用現(xiàn)狀的實(shí)現(xiàn)04-29

選擇商務(wù)英語學(xué)習(xí)的多個(gè)決定要素05-04

基于DSP的微型捷聯(lián)式慣性導(dǎo)航系統(tǒng)的實(shí)現(xiàn)04-29