黃河
【摘 要】本文在研究了DSP芯片TMS320C6416系統(tǒng)結(jié)構(gòu)和DSP程序啟動加載過程的基礎(chǔ)上,結(jié)合高性能網(wǎng)絡(luò)處理芯片W5300,設(shè)計了一套DSP程序遠(yuǎn)程升級的流程,通過網(wǎng)絡(luò)對DSP程序進行遠(yuǎn)程升級,使升級更加穩(wěn)定可靠。
【關(guān)鍵詞】DSP;TMS320C6416;W5300;遠(yuǎn)程升級
【Abstract】Based on studies of the system architecture of TMS320C6416 and its boot loader course, combined with W5300, which is a high-performance network solution chip, this paper designed a remote upgrade process for DSP,this process could upgrade DSP program thought the Ethernet, Which made it more stable and reliable for upgrade.
【Key words】DSP; TMS320C6416; W5300; Remote upgrade
0 引言
目前,DSP(digital signal processing)的應(yīng)用范圍已經(jīng)擴展到數(shù)字圖像處理、工業(yè)控制、醫(yī)療、衛(wèi)星導(dǎo)航等領(lǐng)域[1]。TMS320C6416是TI公司推出的一款定點運算芯片,采用了VLIW(Very Long Instruction Word)甚長指令字結(jié)構(gòu),主頻可達(dá)1.1GHZ,擁有高性能的外部存儲器接口(EMIF),得益于其良好的性能,TMS320C6416在軍事通信、電子對抗、圖像處理領(lǐng)域具有非常大的應(yīng)用潛力[1]。搭載DSP芯片的設(shè)備投入使用后,隨著系統(tǒng)功能的不斷豐富和完善,程序維護人員需要攜帶編程工具到現(xiàn)場進行更新升級,比較麻煩,一種可以通過網(wǎng)絡(luò)或其他通信方式來對嵌入式系統(tǒng)程序進行升級的方法就顯得更加方便可靠。
1 二次加載
DSP的加載方式是其設(shè)備脫機運行的關(guān)鍵。TMS320C6416的加載方式有三種,不加載、ROM加載和主機加載,ROM加載是常用的方式[2]??梢耘渲靡_BEA[19:18]進行選擇。當(dāng)BEA[19:18]被配置成10b時,將進行EMIFB CE1空間的8bit ROM加載方式。上電復(fù)位時,DSP通過EMIF將FLASH的1KB數(shù)據(jù)自動搬移到內(nèi)部RAM的0地址處并運行該段程序,完成一次加載。由于用戶代碼長度通常大于1KB,因此需要進行二次加載,二次加載程序?qū)⒂脩舫绦虬嵋频絻?nèi)部RAM,然后跳轉(zhuǎn)至C入口函數(shù)c_init00。二次加載的流程圖如圖1所示。
TMS320C6416的內(nèi)部RAM地址范圍是0x0000 0000~0x000F FFFF,總大小為1MB,EMIFB CE1空間地址是0x64000 0000。一般芯片剛上電時,C語言環(huán)境還未初始化成功,二次加載程序使用匯編語言編寫。從FLASH起始地址(0x6400 0000)拷貝1M長度(0x10000)的代碼 到內(nèi)部RAM(起始地址為0x0000 0400),然后跳轉(zhuǎn)到_c_int00運行。
2 遠(yuǎn)程升級的實現(xiàn)方法
2.1 硬件連接
TMS320C6416通過EMIF接口與FLASH連接,實現(xiàn)FLASH的讀寫操作,DSP連接W5300芯片實現(xiàn)可靠的網(wǎng)絡(luò)數(shù)據(jù)收發(fā),PC端用來傳輸升級包,完成與DSP用戶程序的交互。硬件連接圖如圖2所示。選用存儲容量為2M Byte的FLASH芯片,前1M空間用于存儲用戶程序,后1M用于存放網(wǎng)絡(luò)參數(shù)等系統(tǒng)初始化參數(shù)。使用高性能網(wǎng)絡(luò)芯片W5300與DSP連接,提供可靠、高速的網(wǎng)絡(luò)數(shù)據(jù)通信。
2.2 軟件實現(xiàn)
2.2.1 軟件組成
1)PC端軟件,主要用于分割升級文件,傳輸升級數(shù)據(jù)包。
2)用戶軟件,完成FLASH讀寫操作,網(wǎng)絡(luò)功能初始化,網(wǎng)絡(luò)數(shù)據(jù)收發(fā)。
將W5300配置為服務(wù)器模式,配置IP地址,子網(wǎng)掩碼和默認(rèn)網(wǎng)關(guān)。PC軟件作為客戶端發(fā)起連接,連接成功后PC軟件就可以和DSP進行網(wǎng)絡(luò)通信。
2.2.2 升級文件的生成
幀頭是固定字節(jié)0x33,0xCC;長度是從軟件編號字段開始到幀內(nèi)容為止的所有長度;軟件編號指示DSP軟件,可以對多個DSP進行升級,結(jié)束標(biāo)志指示是否還有后續(xù)幀,為0表示沒有后續(xù)幀,為1表示還有后續(xù)幀;指令編號指示該幀是何種類型 0:READY幀,1:EARSE幀,2:UPGRADE幀,3:DONE幀。(幀類型下一節(jié)會敘述)幀內(nèi)容是需要傳輸?shù)腍ex文件段,校驗使用CRC24校驗,幀尾是固定字節(jié)0x11,0xAA。
2.2.4 遠(yuǎn)程升級的步驟
遠(yuǎn)程升級主要通過以下的步驟來實現(xiàn):
a)用戶軟件啟動,初始化網(wǎng)絡(luò),準(zhǔn)備接收升級文件。
b)PC軟件加載升級數(shù)據(jù)文件,發(fā)送開始升級指令(READY)。
c)用戶軟件回應(yīng)開始升級指令。
d)PC軟件發(fā)送FLASH擦除指令(EARSE)。
e)用戶軟件完成FLASH擦除動作并回應(yīng)FLASH擦除指令。
f)PC軟件發(fā)送升級命令包(UPGRADE)。
g)用戶軟件回應(yīng)升級命令,寫入到FLASH。
h)寫入完畢,復(fù)位,發(fā)送DONE命令到PC軟件,加載升級后的程序運行,升級完畢。
2.2.5 遠(yuǎn)程升級的結(jié)果驗證
將日期作為軟件版本,通過查看軟件版本可以驗證升級是否成功,可以查看FLASH相應(yīng)地址的內(nèi)容進行驗證。
3 結(jié)論
利用TMS320C6416的EMIF接口連接FLASH芯片,使用W5300芯片的網(wǎng)絡(luò)通信功能,構(gòu)造一個C/S結(jié)構(gòu)的系統(tǒng)可以完成在線升級的功能,實現(xiàn)DSP系統(tǒng)的升級,該在線升級方法已經(jīng)在某平臺上應(yīng)用,經(jīng)驗證,穩(wěn)定可靠。
【參考文獻】
[1]李方慧,王飛,何佩琨.TMS320C6000 系列DSPs 原理與應(yīng)用[M].2版.北京:電子工業(yè)出版社,2003.
[2]江思敏,劉暢,主編.TM S320C6000 DSP 應(yīng)用開發(fā)教程[M].機械工業(yè)出版社, 2005,2.
[3]Texas Instruments.TMS320C6000 系列DSP 編程工具與指南[M].北京:清華大學(xué)出版社,2006.
[4]王敏志,曹元將,陳行湖.基于FLASH 的T MS320C6416ROM 加載方法[J].雷達(dá)與對抗,2004(3):62-66.
[責(zé)任編輯:楊玉潔]