本發明涉及一種基于CAN總線的多DSP智能節點軟件在線升級方法,該方法可在產品集成狀態下(無法使用JTAG口和仿真器)實現多DSP智能節點的在線識別及軟件升級,具有操作方法簡單、擴展性強、安全穩定性高等優點,適用于以標準CAN總線、DSP嵌入式計算機為基礎的分布式測控系統。
背景技術:
根據多年的產品研制和使用維護經驗,分布式測控系統在產品集成后內部各嵌入式智能節點仍具有較高的軟件修改和升級頻次,傳統方式是拆解產品后直接對各DSP智能節點進行升級,或將DSP的JTAG仿真接口引出產品以實現軟件升級,上述方法在增加工作量和時間消耗的同時,對產品可靠性也會產生一定影響;無法實現在系統集成狀態下,通過一條標準總線實現對多DSP分布式系統中指定DSP的軟件升級。
多DSP分布式測控系統在產品集成后無法通過一條標準總線實現對系統中指定DSP的軟件升級,需要將產品拆解后直接對各節點進行單獨升級,該方法在增加工作量和時間消耗的同時,對產品可靠性也會產生一定影響。
技術實現要素:
要解決的技術問題
為了避免現有技術的不足之處,本發明提出一種基于CAN總線的多DSP智能節點軟件在線升級方法。
技術方案
一種基于CAN總線的多DSP智能節點軟件在線升級方法,其特征在于步驟如下:
步驟1:產品集成前將各DSP智能節點的編程標識寫入其片內FLASH特定地址上;
步驟2:產品集成后上電前將產品內所有DSP智能節點的XA14管腳配置為低電平,使所有DSP智能節點進入在線編程模式;
步驟3:通過產品外部的CAN接口連接用于執行在線編程的上位機;
步驟4:產品上電后各DSP智能節點識別XA14管腳配置為低電平后進入CAN通道軟件在線升級模式,使用上位機在線升級軟件按照Bootloader要求的CAN接口需求向各DSP智能節點發送引導程序;
步驟5:各DSP智能節點接收引導程序后退出Bootloader模式,加載運行RAM中的引導程序,此時上位機發送智能節點匹配信息至各DSP智能節點,DSP引導程序根據接收到的匹配信息與讀取的各DSP片內FLASH特定地址上的編程標識進行匹配,匹配成功的DSP進入下一步,其余DSP退出該流程;
步驟6:上位機接收到DSP發送的匹配成功信息后開始向下位機發送用戶程序,上位機對用戶程序中的每段數據進行解析發送,對于數據量較大的數據段進行分包解析及地址重新分配后交互發送至下位機,直至完成整個程序的發送,下位機接收到的FLASH地址分配要求后將程序固化至相應的片內FLASH地址上,完成程序燒寫后斷電。
有益效果
本發明提出的一種基于CAN總線的多DSP智能節點軟件在線升級方法,該方法基于Bootloader引導系統的CAN總線軟件在線升級方法,通過多節點自主匹配識別模式,實現了通過一條CAN總線對多個DSP的自動選擇識別和軟件燒寫;同時,實現了分包交互的軟件升級模式,突破原有方式對軟件規模的限制。減少了軟件升級過程中由于拆裝產品造成的工作量和時間消耗,具有擴展性強,操作方法簡單,安全穩定性高等優點,適用于所有可使用CAN總線進行軟件在線升級的DSP嵌入式計算機。
本發明的特點:
1、通過多節點自主匹配識別模式實現了通過一條CAN總線對產品集成狀態下的多DSP智能節點的識別和軟件升級;
2、通過上下位機分包交互式的軟件升級模式,突破了DSP智能節點CAN總線Bootloader方式下對軟件規模的限制;
3、在完成軟件升級后,所有未經匹配成功的DSP智能節點用戶軟件不會被更改,保證了產品的可靠性。
附圖說明
圖1基于CAN總線的多DSP智能節點軟件在線升級方法硬件接口圖
圖2基于CAN總線的多DSP智能節點軟件在線升級方法流程圖
具體實施方式
現結合實施例、附圖對本發明作進一步描述:
在進行DSP多智能節點軟件在線升級前,需要完成以下三項準備工作:
a)產品集成前將各DSP智能節點特有的編程標識寫入其片內FLASH特定地址上;
b)產品集成后上電前將產品內所有DSP智能節點的XA14管腳配置為低電平,使所有DSP智能節點進入在線編程模式;
c)通過產品外部的CAN接口連接用于執行在線編程的上位機。
其硬件連接如圖1所示。
完成準備工作后,按照下述步驟進行軟件設計,流程圖如圖2所示:
步驟一、產品上電后各DSP智能節點識別已設置的硬件狀態(XA14管腳配置為低電平)進入CAN通道軟件在線升級模式,使用上位機在線升級軟件按照Bootloader要求的CAN接口需求向各DSP智能節點發送引導程序;
步驟二、各DSP智能節點完成引導程序的接收后退出Bootloader模式,加載運行RAM中的引導程序,此時上位機發送智能節點匹配信息至各DSP智能節點,DSP引導程序根據接收到的匹配信息與讀取的各DSP片內FLASH特定地址上的編程標識進行匹配,匹配成功的DSP進入下一步軟件在線升級流程,其余DSP退出該流程;
步驟三、上位機接收到DSP發送的匹配成功信息后開始向下位機發送用戶程序,上位機對用戶程序中的每段數據進行解析發送,對于數據量較大的數據段進行分包解析及地址重新分配后交互發送至下位機,直至完成整個程序的發送,下位機接收到的FLASH地址分配要求后將程序固化至相應的片內FLASH地址上,完成程序燒寫后斷電。