馮錦
關鍵詞:DSP在線升級;軟硬件設計;串口通信;升級方案優(yōu)化
研究發(fā)現(xiàn),數(shù)字信號處理器(DSP)實踐效用較強,應用該處理器可借助合理的方式實現(xiàn)數(shù)字信號的處理、篩選,以及實時高速解算,從而提高信息處理效率。第一代DSP芯片TMS32010的問世.推動了相關行業(yè)發(fā)展。由于其價格低廉,在實踐過程中簡單易用故備受追捧。將數(shù)字信號處理器( DSP)與通用微處理器相比(同等工作頻率的)可以發(fā)現(xiàn),其處理能力強,可實現(xiàn)對電磁波等微弱信息的實日寸智能處理。在DSP應用中,其在線升級技術難度大,為保障有效的DSP處理能力,經(jīng)試驗論證,可借助串口通信的功能,降低在線升級的難度,以保障理想的處理效率。
1基于串口通信的DSP運行原理
我國的DSP研發(fā)雖然時間短,但成效顯著。研究表明,基于串口通信的DSP在線升級是一種有效的嘗試,其原理容易理解。其主要憑借CAN等串口,加入二次引導機制,通過合理的方式完成DSP終端點對點的在線升級,從而消除程序漏洞,高質(zhì)量滿足用戶需求,提高嵌入式設備升級的可行性。傳統(tǒng)的在線升級技術存在缺陷,升級文件在使用中會存在丟包等問題,從而提高了升級失敗的概率。為解決這一問題,經(jīng)研究提出基于CAN總線的高質(zhì)量升級技術,這種多DSP智能節(jié)點的升級手段可保障升級的效率,實現(xiàn)DSP功能最大化。該方法基于CAN總線,利用多節(jié)點自主匹配,以完成相關信息的識別,并在此基礎上處理升級信息[1]。該方法具有擴展性,可適用于各類工程項目,具有安全穩(wěn)定性高且便于控制的優(yōu)點。
2軟設計優(yōu)化
2.1總體設計思路
在具體實踐中采用的是通過CAN總線優(yōu)化的方式,合理化打造一種多智能節(jié)點集成狀態(tài),并在此狀態(tài)下實現(xiàn)軟件升級,并借助智能節(jié)點的識別,保障軟件使用的合理性。其主要思想非常明確,是在分組件狀態(tài)下結(jié)合系統(tǒng)操作形態(tài)和技術參數(shù),為每個智能節(jié)點提供工作路徑,使其有明確的標識信息[2]。事實表明,若要實現(xiàn)在線升級,實現(xiàn)DSP功能最大化,則應進行BOOT引腳配置,以保障DSP運行效果理想,具體如表1所列。
系統(tǒng)在運行中,需依托技術手段,發(fā)揮所有智能節(jié)點創(chuàng)建的價值,保障DSP功能最大化,使其擁有穩(wěn)定的運行效率,并可持續(xù)引導程序數(shù)據(jù)包運動,滿足實際加載需求,進而在為后續(xù)的DSP節(jié)點運行提供保障、引導程序的同時,實現(xiàn)數(shù)據(jù)包的校驗及燒寫。需要注意的是,其余匹配失敗的DSP將在技術指引下退出引導程序,在理想化的流程中等待下電。研究發(fā)現(xiàn),由于引導程序較為特殊,僅貯存并運行于RAM上,基于此,在DSP重新上電后,可以完全忽略引導程序的影響(這里特指對原有程序的影響)[3],從而提高升級操作的針對性,僅對指定節(jié)點進行升級,以實現(xiàn)升級目標且不會影響其他DSP節(jié)點運行的效果。
2.2通信協(xié)議的選擇
以往采用的方法是優(yōu)化系統(tǒng)升級環(huán)境,并在CCS環(huán)境下借助相關的接口操作,輔助Flash加快對DSP的軟件更新。但實踐表明,這種基于JTAG接口的升級改造方案,會限制空間的傳輸距離。與此同時,對于嵌入式設備來說,單純使用JTAG接口操作不便,因為JTAG接口結(jié)構的特性,需將其隱藏于設備內(nèi)部,若要實施升級操作,則需將設備拆裝,相對麻煩。
針對以上不足,設計了基于CAN通信總線,并結(jié)合ARM作為升級主控節(jié)點的升級方法,利用連接器配置文件(DSP控制器的)和精簡的Ymodem協(xié)議,實現(xiàn)DSP在線升級。最終的結(jié)果表明,該方案極為可行,實踐過程簡單,整體的升級速度快,并且升級后的DSP穩(wěn)定性高。借助外部通信接口便可實現(xiàn)對編程文件的綜合處理,其中包括接收、差錯校驗以及執(zhí)行更新等,若接收狀態(tài)并不理想,則會按照流程重新升級,以確保CAN通信總線發(fā)揮作用。由此可見,本次升級方案比較理想,具有參考意義。
2.3應答式通信功能
現(xiàn)實中,為有效防止傳輸階段的參數(shù)泄漏,出現(xiàn)丟包、錯包現(xiàn)象,在本次升級方案改造中,先后設置了3種數(shù)據(jù)幀。數(shù)據(jù)傳輸過程根據(jù)數(shù)據(jù)幀不同的功能,對數(shù)據(jù)進行監(jiān)測,以確保升級數(shù)據(jù)包的完整性[4]。
數(shù)據(jù)幀按照用途可分為LIVE幀(具體應用中,用于確認發(fā)送端的連接狀態(tài),確保其和接收端連接成功,打通數(shù)據(jù)傳輸通道)、UPDA幀(應用過程中,用于將待燒寫程序按科學的比例切割,同時重新科學組包,保障數(shù)據(jù)傳輸品質(zhì))、UPOK幀(核心任務是確保良好的接收狀態(tài)。整個過程中,若接收完整則意味著可執(zhí)行下個指令,開始對內(nèi)容擦除和燒寫,若接收狀態(tài)并不理想,未通過完整性檢驗,則原理上不可進行Flash操作,需要按照流程重新升級)。
2.4數(shù)據(jù)完整性校驗功能
在本次系統(tǒng)優(yōu)化中,因為升級文件被分解傳輸,所以若要實現(xiàn)無誤的傳輸,則需輔助二次引導機制,并進行完整性檢驗[5]。檢驗的對象有:第1級對hex文件進行校驗,以確保該文件的完整性,同時將校驗結(jié)果附加到傳輸文件中;第2級對幀數(shù)據(jù)進行校驗,以確保每一包數(shù)據(jù)傳遞含義的正確性。實踐表明,二級校驗機制較關鍵,可有效避免升級文件不完整,數(shù)據(jù)包丟失等問題,從而避免錯誤數(shù)據(jù)在沒有糾正的情況下燒寫入Flash中。
3硬件升級設計
3.1Flash分塊設計
DSP核復位后可啟動DSP,使其通過自身的CAN總線讀取1KB的數(shù)據(jù),并將讀取結(jié)果存人內(nèi)部SRAM。現(xiàn)實中,芯片固化自動讀取過程是分析的重點,由于其過程較為復雜,需綜合考慮多個因素,整個過程在學術界稱為一級Bootloader。研究表明,一級Bootloader所讀取的數(shù)據(jù)功能性較強,在應用階段主要用于二級Bootloader程序的實現(xiàn),屬于程序運行的基礎。
3.2核間通信設計
在具體實踐中,為實現(xiàn)通信接口的復用,需打造核間互聯(lián)方式。在整個結(jié)果中以DSP1#為主,其他的屬于輔助DSP。DSP1#負責實現(xiàn)精準對接上位機接口的功能,接收到升級文件后,會將文件分發(fā)給其他核,通過不同核的相互作用,實現(xiàn)有效數(shù)據(jù)的傳輸,最終完成升級任務。
4某工程中DSP在線升級方案實踐
4.1引導程序設定
引導程序功能顯著,在實際操作中主要用于指定DSP實施有效的智能節(jié)點匹配,并在此基礎上和應用程序數(shù)據(jù)包進行完整性的交互,以避免數(shù)據(jù)包內(nèi)容丟失。結(jié)合表的BOOT引腳布置方案,在開始上電后可以保障智能節(jié)點的狀態(tài),使其均進入CAN-Bootloader控制體系中,此時發(fā)送引導程序數(shù)據(jù)包,并將其貯存在RAM中。具體如圖1所示。
4.2上位機軟件
上位機軟件至關重要,主要負責引導程序交互的工作,在實踐中需借助程序數(shù)據(jù)包的發(fā)送,實現(xiàn)以下功能。(1)確保程序安全加載。該功能為后續(xù)工作提供了保障,是重要的技術關口。(2)發(fā)揮節(jié)點匹配功能。在引導發(fā)送信息后,需將智能節(jié)點回送的數(shù)據(jù),也就是匹配結(jié)果,完整地傳遞給操作人員,以保障軟件在線升級流程的順暢。
4.3升級結(jié)果驗證
使用JTAG連接DSP后,可精準讀取Flash內(nèi)存地址,同時解析數(shù)據(jù)包。并且在實操中,控制系統(tǒng)集成后DSP智能節(jié)點優(yōu)勢顯著,各組件功能穩(wěn)定,DSP運轉(zhuǎn)效率高,上電運行正常,表明此次升級方案有效。
5結(jié)束語
本文闡述了一種基于CAN協(xié)議實現(xiàn)多DSP智能節(jié)點軟件升級的技術方案。該方法實踐可行性較高,通過在線升級方法的優(yōu)化,可完成DSP功能的強化,具有操作方法簡單,實際應用中擴展性強的優(yōu)勢,值得推廣。從本文研究結(jié)果可看出,以標準CAN總線為依托,增強DSP嵌入式計算機的功能是一種良好的方式。