基于TMS320C6416的遠程升級的設計與實現

摘要:本文在研究了dsp芯片tms320c6416系統結構和dsp程序啟動加載過程的基礎上,結合高性能網絡處理芯片w5300,設計了一套dsp程序遠程升級的流程,通過網絡對dsp程序進行遠程升級,使升級更加穩定可靠。
論文關鍵詞:dsp,tms320c6416,w5300,遠程升級
引言
目前,dsp(digitalsignalprocessing)的應用范圍已經擴展到數字圖像處理、工業控制、醫療、衛星導航等領域。tms320c6416是ti公司推出的一款定點運算芯片,采用了vliw(verylonginstructionword)甚長指令字結構,主頻可達1.1ghz,擁有高性能的外部存儲器接口(emif),得益于其良好的性能,tms320c6416在軍事通信、電子對抗、圖像處理領域具有非常大的應用潛力。搭載dsp芯片的設備投入使用后,隨著系統功能的不斷豐富和完善,程序維護人員需要攜帶編程工具到現場進行更新升級,比較麻煩,一種可以通過網絡或其他通信方式來對嵌入式系統程序進行升級的方法就顯得更加方便可靠。
1二次加載
dsp的加載方式是其設備脫機運行的關鍵。tms320c6416的加載方式有三種,不加載、rom加載和主機加載,rom加載是常用的方式。可以配置引腳bea[19:18]進行選擇。當bea[19:18]被配置成10b時,將進行emifbce1空間的8bitrom加載方式。上電復位時,dsp通過emif將flash的1kb數據自動搬移到內部ram的0地址處并運行該段程序,完成一次加載。由于用戶代碼長度通常大于1kb,因此需要進行二次加載,二次加載程序將用戶程序搬移到內部ram,然后跳轉至c入口函數c_init00。
tms320c6416的內部ram地址范圍是0x00000000~0x000fffff,總大小為1mb,emifbce1空間地址是0x640000000。一般芯片剛上電時,c語言環境還未初始化成功,二次加載程序使用匯編語言編寫。從flash起始地址(0x64000000)拷貝1m長度(0x10000)的代碼到內部ram(起始地址為0x00000400),然后跳轉到_c_int00運行。
2遠程升級的實現方法
2.1硬件連接
tms320c6416通過emif接口與flash連接,實現flash的讀寫操作,dsp連接w5300芯片實現可靠的網絡數據收發,pc端用來傳輸升級包,完成與dsp用戶程序的交互。硬件連接圖如圖2所示。選用存儲容量為2mbyte的flash芯片,前1m空間用于存儲用戶程序,后1m用于存放網絡參數等系統初始化參數。使用高性能網絡芯片w5300與dsp連接,提供可靠、高速的網絡數據通信。
2.2軟件實現
2.2.1軟件組成
1)pc端軟件,主要用于分割升級文件,傳輸升級數據包。
2)用戶軟件,完成flash讀寫操作,網絡功能初始化,網絡數據收發。
將w5300配置為服務器模式,配置ip地址,子網掩碼和默認網關。pc軟件作為客戶端發起連接,連接成功后pc軟件就可以和dsp進行網絡通信。
2.2.2升級文件的生成
幀頭是固定字節0x33,0xcc;長度是從軟件編號字段開始到幀內容為止的所有長度;軟件編號指示dsp軟件,可以對多個dsp進行升級,結束標志指示是否還有后續幀,為0表示沒有后續幀,為1表示還有后續幀;指令編號指示該幀是何種類型0:ready幀,1:earse幀,2:upgrade幀,3:done幀。(幀類型下一節會敘述)幀內容是需要傳輸的hex文件段,校驗使用crc24校驗,幀尾是固定字節0x11,0xaa。
2.2.4遠程升級的步驟
遠程升級主要通過以下的步驟來實現:
a)用戶軟件啟動,初始化網絡,準備接收升級文件。
b)pc軟件加載升級數據文件,發送開始升級指令(ready)。
c)用戶軟件回應開始升級指令。
d)pc軟件發送flash擦除指令(earse)。
e)用戶軟件完成flash擦除動作并回應flash擦除指令。
f)pc軟件發送升級命令包(upgrade)。
g)用戶軟件回應升級命令,寫入到flash。
h)寫入完畢,復位,發送done命令到pc軟件,加載升級后的程序運行,升級完畢。
2.2.5遠程升級的結果驗證
將日期作為軟件版本,通過查看軟件版本可以驗證升級是否成功,可以查看flash相應地址的內容進行驗證。
3結論
利用tms320c6416的emif接口連接flash芯片,使用w5300芯片的網絡通信功能,構造一個c/s結構的系統可以完成在線升級的功能,實現dsp系統的升級,該在線升級方法已經在某平臺上應用,經驗證,穩定可靠。
參考文獻(略)
本文收集整理于網絡,如有侵權請聯系客服刪除!