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