999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種配電設(shè)備軟件智能升級(jí)方法研究與實(shí)現(xiàn)

2025-03-02 00:00:00莫文威唐佳楠秦波魏仲志遠(yuǎn)
電腦知識(shí)與技術(shù) 2025年1期

摘要:針對(duì)發(fā)射車載高、低壓配電設(shè)備軟件升級(jí)過程中存在的難題,例如傳統(tǒng)JTAG和串口IAP升級(jí)方式難以滿足頻繁升級(jí)需求,設(shè)備拆裝不便且存在風(fēng)險(xiǎn)等。文章提出了一種基于CDSPF28335N和CAN總線的智能升級(jí)方法。該方法旨在解決產(chǎn)品批量生產(chǎn)軟件燒錄以及列裝后現(xiàn)場(chǎng)在線升級(jí)和軟件維護(hù)問題。文章詳細(xì)闡述了系統(tǒng)組成、工作原理、升級(jí)方法和實(shí)現(xiàn)流程,并驗(yàn)證了該方法的可行性和有效性。

關(guān)鍵詞:智能升級(jí);CAN總線;CDSPF28335N;配電設(shè)備

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2025)01-0065-03 開放科學(xué)(資源服務(wù)) 標(biāo)識(shí)碼(OSID) :

0 引言

發(fā)射車載配電設(shè)備負(fù)責(zé)整車高、低壓電能分配,通常包含多臺(tái)設(shè)備。這些設(shè)備的控制軟件運(yùn)行于基于CDSPF28335N數(shù)字信號(hào)處理器的主控板上。通過軟件升級(jí)或配置更改,可以快速便捷地滿足用戶需求變化和功能擴(kuò)展。然而,傳統(tǒng)的JTAG仿真接口升級(jí)需要拆卸設(shè)備,而串口IAP升級(jí)方式需要將BOOT引腳引出至外部維護(hù)接口。這兩種傳統(tǒng)升級(jí)方式都無法同時(shí)升級(jí)多個(gè)設(shè)備軟件,導(dǎo)致設(shè)備批量燒錄效率較低。

為解決上述問題,本文提出了一種基于CDSPF28335N和CAN總線的智能升級(jí)方法。該方法利用CAN 總線廣播通信實(shí)現(xiàn)總線內(nèi)多個(gè)相同設(shè)備軟件的同時(shí)升級(jí),并利用CAN總線幀ID實(shí)現(xiàn)對(duì)不同設(shè)備軟件的智能識(shí)別和單獨(dú)升級(jí)。此外,該方法還利用FlashAPI 函數(shù)庫實(shí)現(xiàn)設(shè)備不停機(jī)在線升級(jí)。

1 系統(tǒng)簡(jiǎn)介及智能升級(jí)硬件組成

1.1 系統(tǒng)簡(jiǎn)介

高、低壓配電設(shè)備實(shí)現(xiàn)發(fā)射車整車的高壓配電和低壓配電,保證高壓用電設(shè)備和低壓用電設(shè)備的安全可靠,其中低壓配電設(shè)備軟件完全相同,通過讀取存儲(chǔ)的不同配置信息完成不同的電能分配功能。

1.2 硬件組成

配電設(shè)備本身須具備CAN 總線控制器和EEPROM 存儲(chǔ)芯片。因此可將CAN總線和EEPROM作為軟件智能升級(jí)的硬件組成使用。

2 智能升級(jí)的設(shè)計(jì)原理和方法

2.1 CAN 總線

軟件智能升級(jí)CAN總線設(shè)計(jì)需考慮滿足配電設(shè)備CAN通信要求的同時(shí),避免與用戶通信協(xié)議造成重疊和沖突。本研究將軟件升級(jí)標(biāo)識(shí)符“DID”、設(shè)備地址唯一標(biāo)識(shí)符“PID”、功能標(biāo)識(shí)符“FID”編入29位擴(kuò)展幀ID中,并對(duì)數(shù)據(jù)域信息進(jìn)行CRC校驗(yàn)。軟件升級(jí)幀格式定義,如表1所示。

2.2 I2C 總線和EEPROM

本研究中關(guān)于EEPROM讀寫操作,通過EEPROM 存儲(chǔ)設(shè)備地址號(hào)、軟件升級(jí)狀態(tài)字,標(biāo)識(shí)當(dāng)前設(shè)備地址號(hào)及升級(jí)狀態(tài)[1]。詳細(xì)存放地址,如圖1所示。

3 智能升級(jí)的設(shè)計(jì)和實(shí)現(xiàn)

智能升級(jí)主要設(shè)計(jì)實(shí)現(xiàn)包括:

1) 二次Bootloader引導(dǎo)程序設(shè)計(jì);

2) 應(yīng)用程序智能升級(jí)模塊設(shè)計(jì)及目標(biāo)程序轉(zhuǎn)化;

3) 上位機(jī)程序設(shè)計(jì)。

3.1 二次Bootloader 引導(dǎo)程序設(shè)計(jì)

本研究需自行編寫二次Bootloader引導(dǎo)程序。即芯片上電后正常運(yùn)行官方Bootloader,然后運(yùn)行二次Bootloader,“二次Boootloader引導(dǎo)程序”即相當(dāng)于應(yīng)用程序1,用戶“應(yīng)用程序”相當(dāng)于應(yīng)用程序2。

3.1.1 CMD 文件配置

針對(duì)數(shù)字信號(hào)處理器CMD 文件作出了詳細(xì)解釋,本研究通過工程下的CMD文件可知0x33FFF6中存放著codestart函數(shù),然后調(diào)用了RST中的c_int00函數(shù),最后跳轉(zhuǎn)至main函數(shù)執(zhí)行[2]。因此,為避免升級(jí)流程的擦除過程中二次Bootloader引導(dǎo)程序段代碼被擦除,二次Bootloader 程序的CMD 可參照官方CMD 文件,將0x33FFF6依然定義為程序BEGIN段,將其余空間分配到Flash的A和H區(qū)中。

3.1.2 初始化配置

初始化只須對(duì)CAN模塊、I2C模塊以及相應(yīng)的中斷進(jìn)行配置,其余外設(shè)資源的相關(guān)配置及中斷都可關(guān)閉。

3.1.3 FlashAPI 函數(shù)調(diào)用

本研究參考了文獻(xiàn)[3] 針對(duì)FlashAPI庫函數(shù)的詳細(xì)調(diào)用方法,并且根據(jù)芯片官方提供的FlashAPI函數(shù)庫進(jìn)行調(diào)用,API函數(shù)庫包含了:

1) Flash2833x_API_Config. h 和Flash2833x_API_Library.h;

2) Flash2833x_API_V210.lib文件。

3.1.4 跳轉(zhuǎn)函數(shù)

跳轉(zhuǎn)函數(shù)CAN_BOOT_JumpToApplication()主要用于升級(jí)前跳轉(zhuǎn)至二次Bootloader程序入口,執(zhí)行二次Bootloader引導(dǎo)程序,以及升級(jí)成功或失敗后跳轉(zhuǎn)至應(yīng)用程序入口,執(zhí)行應(yīng)用程序。

3.1.5 I2C 讀寫EEPROM

1) ReadData():用于初始化配置后,程序啟動(dòng)I2C 總線模塊,讀取EEPROM地址0x0001FF00存儲(chǔ)的“升級(jí)狀態(tài)字”數(shù)據(jù);

2) WriteData():用于在接收到上位機(jī)升級(jí)指令后,將“升級(jí)狀態(tài)字”數(shù)據(jù)寫入EEPROM的0x0001FF00段地址;此外用于在首次燒錄程序時(shí)將設(shè)備唯一地址號(hào)寫入EEPROM的0x0001FF00段地址。

3.1.6 與上位機(jī)CAN 通信模塊設(shè)計(jì)

1) 協(xié)議設(shè)計(jì):如本文2.1節(jié)所述,為避免與配電設(shè)備原有通信協(xié)議沖突或重疊,設(shè)計(jì)了如表1所示,以分包號(hào)DF、升級(jí)標(biāo)識(shí)符DID、功能標(biāo)識(shí)符FID、設(shè)備地址唯一標(biāo)識(shí)符PID的幀ID格式標(biāo)識(shí)升級(jí)過程。

2) 郵箱分配:CAN總線控制器擁有32個(gè)可單獨(dú)配置為接收或者發(fā)送的郵箱[4] ,每個(gè)郵箱可獨(dú)立作為發(fā)送或接收郵箱使用。配電設(shè)備使用了其中0~19號(hào)共20 個(gè)郵箱用于外部CAN通信,本研究將用于在線升級(jí)的接收和發(fā)送郵箱分別配置為郵箱30和郵箱31。

3) 狀態(tài)機(jī)設(shè)計(jì):

①狀態(tài)機(jī)進(jìn)入方式:進(jìn)入方式有兩種,一是上電后二次Bootloader 引導(dǎo)程序通過I2C 總線讀取到EEPROM中存儲(chǔ)的“升級(jí)狀態(tài)字”狀態(tài)為需要升級(jí)時(shí),程序等待10s時(shí)間接收上位機(jī)的升級(jí)握手,由此進(jìn)入狀態(tài)機(jī);二是應(yīng)用程序運(yùn)行過程中,接收到上位機(jī)升級(jí)指令,應(yīng)用程序改寫“升級(jí)狀態(tài)字”后跳轉(zhuǎn)至二次Bootloader引導(dǎo)程序入口,執(zhí)行二次Bootloader引導(dǎo)程序,重復(fù)方式一的運(yùn)行步驟,由此進(jìn)入狀態(tài)機(jī)。

②狀態(tài)機(jī)運(yùn)行過程:進(jìn)入狀態(tài)機(jī)后,此時(shí)將狀態(tài)機(jī)分為節(jié)點(diǎn)識(shí)別狀態(tài)、Flash 擦除狀態(tài)、程序固化狀態(tài)、指令反饋狀態(tài)、數(shù)據(jù)校驗(yàn)狀態(tài)以及錯(cuò)誤處理狀態(tài),其正常執(zhí)行成功后返回狀態(tài)機(jī)執(zhí)行成功結(jié)果。而升級(jí)失敗或錯(cuò)誤后均跳轉(zhuǎn)至錯(cuò)誤處理狀態(tài),判斷錯(cuò)誤原因,并將錯(cuò)誤原因代號(hào)反饋至上位機(jī),嘗試3次返回上一執(zhí)行狀態(tài),如連續(xù)超過3次則終止?fàn)顟B(tài)機(jī),返回狀態(tài)機(jī)執(zhí)行失敗結(jié)果。

③狀態(tài)機(jī)返回結(jié)果:若狀態(tài)機(jī)返回成功結(jié)果,則通過I2C總線將EEPROM中“升級(jí)狀態(tài)字”的內(nèi)容更改為“不需要升級(jí)”,然后執(zhí)行程序跳轉(zhuǎn),跳轉(zhuǎn)至應(yīng)用程序入口執(zhí)行應(yīng)用程序;若狀態(tài)機(jī)返回失敗結(jié)果,則直接跳轉(zhuǎn)至應(yīng)用程序入口執(zhí)行應(yīng)用程序。

3.2 應(yīng)用程序智能升級(jí)模塊設(shè)計(jì)及目標(biāo)程序轉(zhuǎn)化

3.2.1 CMD 文件配置

應(yīng)用程序的CMD 文件配置與本文3.1.1 節(jié)中類似,只須將應(yīng)用程序的入口地址定義為0x320000作為程序BEGIN段,還需要將Flash D區(qū)的起始地址改為0x320002,長(zhǎng)度改為0x007FFE。同時(shí)其余空間配置于除了Flash A區(qū)和H區(qū)以外的其他區(qū)段中。

3.2.2 通信模塊設(shè)計(jì)

應(yīng)用程序需接收到上位機(jī)升級(jí)握手指令后,二次Bootloader引導(dǎo)程序才開始執(zhí)行,進(jìn)入狀態(tài)機(jī)。同樣地,通信模塊須加入跳轉(zhuǎn)函數(shù)CAN_BOOT_JumpToAp?plication(),用于握手成功后跳轉(zhuǎn)至二次Bootloader引導(dǎo)程序入口。

3.2.3 目標(biāo)程序格式轉(zhuǎn)化

利用TI公司提供的生成工具h(yuǎn)ex2000可以將out 文件轉(zhuǎn)換為可以直接燒寫到Flash的hex文件格式[5] ,具體操作步驟為:

1) 在工程中選擇Propoties,進(jìn)入工程屬性;

2) 在屬性中選擇Build-gt;C2000 Hex Utility,勾選“Enable C2000 Hex Utility”選項(xiàng);

3) 重新編譯工程,即可在工程根目錄Rlease文件中找到生成好的hex文件。

3.3 上位機(jī)程序設(shè)計(jì)

本研究的上位機(jī)程序采用QT Creator進(jìn)行編寫,界面、通信模塊等設(shè)計(jì)[6]。

3.3.1 上位機(jī)界面設(shè)計(jì)

上位機(jī)界面設(shè)計(jì)大致功能為:

1) CAN基本配置:用于選擇CAN波特率;USB轉(zhuǎn)CAN 轉(zhuǎn)換器的設(shè)備號(hào)、通道號(hào);連接、斷開CAN 轉(zhuǎn)換器;

2) 顯示功能:用于顯示當(dāng)前CAN總線上的配電設(shè)備節(jié)點(diǎn),顯示當(dāng)前軟件版本號(hào)信息;

3) 文件格式解析與分發(fā):通過點(diǎn)擊“打開文件”按鈕,打開生成的hex文件,自動(dòng)解析文件數(shù)據(jù),并自動(dòng)按軟件升級(jí)的通信協(xié)議要求分發(fā)文件數(shù)據(jù);

4) 升級(jí)功能按鈕:“下載準(zhǔn)備”與“下載鎖定”用于在線升級(jí)前與處理器程序進(jìn)行通信握手,“更新固件”用于啟動(dòng)軟件升級(jí)。

3.3.2 上位機(jī)CAN 通信設(shè)計(jì)

上位機(jī)CAN 通信驅(qū)動(dòng)部分依據(jù)ZLG 致遠(yuǎn)電子CAN通信二次開發(fā)函數(shù)庫ControlCAN,調(diào)用其庫函數(shù)驅(qū)動(dòng);CAN通信應(yīng)用部分依據(jù)本文3.1.6節(jié)中所述總線協(xié)議進(jìn)行設(shè)計(jì)。

4 試驗(yàn)驗(yàn)證結(jié)果與分析

通過對(duì)高、低壓配電設(shè)備軟件在線升級(jí)進(jìn)行驗(yàn)證,CAN總線波特率為250 kbit/s,升級(jí)文件大小小于500 kB時(shí),單節(jié)點(diǎn)設(shè)備軟件升級(jí)完成時(shí)間大約為70 s,5 個(gè)節(jié)點(diǎn)相同設(shè)備軟件同時(shí)升級(jí)完成時(shí)間大約為80 s。因多節(jié)點(diǎn)時(shí)升級(jí)時(shí),為避免通信握手堵塞,按設(shè)備地址號(hào)由小到大依次間隔10 ms對(duì)上位機(jī)通信握手進(jìn)行回復(fù),因此當(dāng)同時(shí)升級(jí)多節(jié)點(diǎn)設(shè)備時(shí),會(huì)導(dǎo)致整個(gè)升級(jí)完成時(shí)間延長(zhǎng)。

5 結(jié)論

本研究利用基于CDSPF28335N 數(shù)字信號(hào)處理器,CAN總線通信特性以及I2C總線讀寫EEPROM方式實(shí)現(xiàn)了配電設(shè)備軟件智能升級(jí)方法,解決了發(fā)射車載配電設(shè)備傳統(tǒng)升級(jí)方式須拆裝、耗時(shí)長(zhǎng)、操作煩瑣等問題,且解決了設(shè)備大批量生產(chǎn)的軟件燒寫問題。經(jīng)過驗(yàn)證,智能升級(jí)方法穩(wěn)定、可靠,傳輸效率高,具有較高的應(yīng)用價(jià)值。

參考文獻(xiàn):

[1] 王典洪,李東峰,劉兵.EEPROM與DSP的接口技術(shù)[J].微處理機(jī),2008,29(2):30-32.

[2] 路帥,郭勇.DSP的CMD文件詳解[J].信息通信,2019,32(1):105-106.

[3] 黃浩,楊靖宇,徐杰,等.基于JDSPF28335的電子控制器在線加載軟件設(shè)計(jì)[J].信息技術(shù)與信息化,2023(5):51-54.

[4] 尹良鏡,王東升.基于TMS320F28335的CAN總線的在線升級(jí)[J].機(jī)械工程與自動(dòng)化,2018(4):84-86.

[5] 姚秀娟,王德勝.基于TMS320F2812的遠(yuǎn)程在線升級(jí)設(shè)計(jì)與實(shí)現(xiàn)[J].電子世界,2013(12):121-122.

[6] 霍亞飛.Qt Creator快速入門[M].4版.北京:北京航空航天大學(xué)出版社,2022.

【通聯(lián)編輯:聞翔軍】

主站蜘蛛池模板: 日韩精品免费一线在线观看| 国产精品手机视频一区二区| 日本人又色又爽的视频| 日韩av高清无码一区二区三区| 四虎国产成人免费观看| 日韩免费毛片| 免费中文字幕在在线不卡| 操美女免费网站| 国产精品成人观看视频国产 | av在线手机播放| 91青青草视频| 中文无码精品A∨在线观看不卡| vvvv98国产成人综合青青| AV网站中文| 欧美亚洲第一页| www.亚洲天堂| 亚洲欧洲综合| 国产人人干| 国产精品自在拍首页视频8| 中文字幕欧美日韩| 97久久精品人人做人人爽| 伊大人香蕉久久网欧美| 在线看片国产| 久久香蕉国产线| 亚洲AⅤ无码国产精品| a毛片在线播放| 中文字幕首页系列人妻| 婷婷五月在线| 亚洲AV无码久久精品色欲| 国产欧美日韩91| 91精品在线视频观看| 视频一本大道香蕉久在线播放| 国产精品久久久久婷婷五月| 国产成人午夜福利免费无码r| 2019年国产精品自拍不卡| 男女男精品视频| 女人av社区男人的天堂| 特黄日韩免费一区二区三区| 欧美三级不卡在线观看视频| 日本一本在线视频| 亚洲美女久久| 中日无码在线观看| 在线观看无码av免费不卡网站| 99热这里只有精品5| 欧美97欧美综合色伦图| 欧美第九页| 色综合天天综合中文网| 亚洲精品无码AⅤ片青青在线观看| 无码久看视频| 成人国产精品2021| 国产白浆在线观看| 中国国产高清免费AV片| 国产九九精品视频| 亚洲国产第一区二区香蕉| 日韩国产精品无码一区二区三区| 久久青草视频| 六月婷婷激情综合| 夜夜操国产| 男人天堂亚洲天堂| 在线网站18禁| 亚洲综合天堂网| 天天摸天天操免费播放小视频| 亚洲欧美综合另类图片小说区| 中文字幕人妻av一区二区| 沈阳少妇高潮在线| 中文字幕精品一区二区三区视频| 青青草欧美| 国产欧美视频在线| 99久久亚洲综合精品TS| 黄色网址手机国内免费在线观看| 久久国产精品电影| 成人午夜免费观看| 成人福利在线视频| 免费激情网址| 日本黄色不卡视频| 亚洲天堂视频在线免费观看| 伊人久热这里只有精品视频99| 欧美精品亚洲精品日韩专区va| 日本www色视频| 毛片基地视频| 91在线一9|永久视频在线| 国产精品v欧美|