亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CAN通信的電動汽車驅(qū)動電機控制器主芯片固件升級系統(tǒng)設(shè)計

        2023-09-19 05:58:12劉寶巖李軍偉許金鵬汪志瑩李連強
        內(nèi)燃機與動力裝置 2023年4期
        關(guān)鍵詞:固件校驗上位

        劉寶巖 李軍偉 許金鵬 汪志瑩 李連強

        摘要:為解決電動汽車驅(qū)動電機控制器主控芯片TMS320F28377S應(yīng)用程序升級維護操作困難的問題,設(shè)計開發(fā)一種基于控制器局域網(wǎng)絡(luò)(controller area network,CAN)通信技術(shù)的固件升級系統(tǒng)。通過配置CAN模塊及Flash模塊,解析HEX文件,結(jié)合漢明碼校驗算法,實現(xiàn)對引導(dǎo)程序及應(yīng)用程序的設(shè)計;選用PyQt應(yīng)用架構(gòu)設(shè)計上位機操作界面,制定通信協(xié)議,實現(xiàn)對上位機軟件的設(shè)計;在新能源汽車電機測試臺架上,將開發(fā)的固件升級系統(tǒng)應(yīng)用到電機控制器,進行電機電流加載閉環(huán)控制試驗驗證。試驗結(jié)果表明:基于CAN通信的TMS320F28377S芯片固件升級系統(tǒng)能完成上位機和電機控制器的數(shù)據(jù)傳輸,系統(tǒng)快捷方便、穩(wěn)定性高,可廣泛應(yīng)用于電機控制器應(yīng)用程序的升級。

        關(guān)鍵詞:電機控制器;TMS320F28377S芯片;固件升級;CAN通信

        中圖分類號:U463.67文獻標志碼:A文章編號:1673-6397(2023)04-0101-06

        引用格式:劉寶巖,李軍偉,許金鵬,等.基于CAN通信的電動汽車驅(qū)動電機控制器主芯片固件升級系統(tǒng)設(shè)計[J].內(nèi)燃機與動力裝置,2023,40(4):101-106.

        LIU Baoyan, LI Junwei, XU Jinpeng,et al.Design of the firmware upgrade system for the main chip of the electric vehicle motor controller based on CAN communication[J].Internal Combustion Engine & Powerplant, 2023,40(4):101-106.

        0 引言

        電機控制器是電動汽車電控系統(tǒng)的重要組成部件[1-2],電機控制器通過控制器局域網(wǎng)絡(luò)(controller area network,CAN)技術(shù)實現(xiàn)與整車之間的通信[3]。CAN通信具有可靠性高、實時性和靈活性強等優(yōu)點[4]。主控芯片為TMS320F28377S的電機控制器傳統(tǒng)的程序更新方式是利用聯(lián)合測試工作組(joint test action group,JTAG)調(diào)試接口,連接仿真器進行程序下載更新[5]。但是電機控制器外部JTAG調(diào)試接口較少,應(yīng)用程序維護更新時,需拆開電機控制器外殼才能進行,費時費力,且影響控制器防塵防水效果,增加使用風險[6]。

        本文中設(shè)計開發(fā)了一套

        基于電動汽車驅(qū)動電機控制器TMS320F28377S主芯片(以下簡稱為“主芯片”)的固件升級系統(tǒng),通過CAN通信將應(yīng)用程序的HEX文件燒寫到主芯片,結(jié)合漢明碼的校驗和糾錯功能實現(xiàn)上位機與電機控制器的數(shù)據(jù)傳輸,實現(xiàn)電機控制器程序更新。相比傳統(tǒng)更新方式,該固件升級系統(tǒng)可簡化上位機開發(fā)過程,降低上位機語言開發(fā)難度,方便迅速,提高升級效率,可廣泛應(yīng)用于電機控制器程序更新[7-9]。

        1 總體方案

        基于CAN通信的固件升級系統(tǒng)以上位機軟件為人機接口,CAN卡為通信媒介,通過引導(dǎo)程序?qū)崿F(xiàn)應(yīng)用程序更新。固件升級系統(tǒng)總體方案如圖1所示,分為軟硬件調(diào)試階段及升級應(yīng)用程序階段。在軟硬件調(diào)試階段,通過JTAG仿真器,利用代碼調(diào)試器(code composer studio,CCS)向控制器主芯片存放引導(dǎo)程序的Flash扇區(qū)燒寫引導(dǎo)程序;在升級應(yīng)用程序階段,由于主芯片的編譯環(huán)境支持HEX文件生成,基于CAN通信,使用上位機軟件將待燒寫應(yīng)用程序的HEX文件發(fā)送給主芯片的引導(dǎo)程序,引導(dǎo)程序接收解析HEX文件,并將解析后的數(shù)據(jù)寫入存放應(yīng)用程序的Flash扇區(qū)后,主芯片運行新的應(yīng)用程序,實現(xiàn)控制器程序升級。

        2 系統(tǒng)設(shè)計

        基于CAN通信的固件升級系統(tǒng)設(shè)計包括3個部分:引導(dǎo)程序、應(yīng)用程序和上位機。

        2.1 引導(dǎo)程序

        2.1.1 劃分Flash存儲空間

        主芯片的Flash存儲空間為512 Kibyte,劃分為FlashA~FlashAB共28個扇區(qū),存儲地址為0x080000~0x0FFFFF。

        為了實現(xiàn)固件升級,將TMS32F28377S芯片的Flash空間分成2部分:一部分地址為0x080000~0x083FFF,占用FlashA和FlashB 2個扇區(qū),用于存放引導(dǎo)程序;另一部分地址為0x084000~0x0FFFF,占用扇區(qū)FlashC~FlashAB,用于存放應(yīng)用程序。存放不同類型的程序時,需將芯片定義好的段(如存放所有可執(zhí)行代碼和常數(shù)的段.text、存放初始化的全局變量和靜態(tài)變量的段.cinit、存放全局構(gòu)造器列表的段.pinit等)映射到對應(yīng)扇區(qū),以便程序調(diào)用。

        2.1.2 配置CAN模塊

        主芯片有2路CAN通信(CANA、CANB),每路CAN通信有32個郵箱,通過配置CANA模塊實現(xiàn)控制器與上位機的通信。CANA模塊的波特率為250 Kibit/s,傳輸數(shù)據(jù)的幀格式為標準幀,定義1、2、3號郵箱標識符(identification,ID)分別為0x123、0x124、0x125,使1號郵箱向上位機發(fā)送ID為0x123的報文,2號郵箱接收上位機下發(fā)ID為0x124的報文,3號郵箱接收上位機下發(fā)ID為0x125的報文,此時CAN通信中斷,處理接收到的報文。

        為確保CAN通信傳輸HEX文件的準確性,選用漢明碼進行數(shù)據(jù)校驗與單比特數(shù)據(jù)糾錯,漢明碼能準確校驗傳輸數(shù)據(jù),并可糾正單比特錯誤數(shù)據(jù)。

        上位機每發(fā)送1行HEX文件前生成1次漢明碼,假設(shè)上位機(發(fā)送節(jié)點)原始數(shù)據(jù)為m位的二進制碼序列,需添加k位校驗位,由2k≥m+k+1計算得出k后,將原始數(shù)據(jù)分成k組,每組數(shù)據(jù)按配偶原則做異或運算得出一個校驗位(共k個校驗位),將校驗位依次附在原始數(shù)據(jù)后面,即m+k位數(shù)據(jù)從左到右依次編號為1,2,3,…,m+k,并進行傳輸;控制器(接收節(jié)點)以行為單位接收解析文件,并按同樣的方法分組、計算校驗,判斷解碼結(jié)果,如果發(fā)現(xiàn)某幾個校驗位不對,則根據(jù)分組的特性找出對應(yīng)數(shù)據(jù)組,確定錯誤數(shù)據(jù)的地址后,取反糾正相應(yīng)的錯誤[10]。

        2.1.3 配置Flash模塊

        主芯片F(xiàn)lash驅(qū)動包括擦除和寫入Flash程序,先擦除Flash對應(yīng)扇區(qū)后,再執(zhí)行寫入Flash程序命令,擦除或?qū)懭隖lash時需將相關(guān)程序復(fù)制到隨機存取寄存器(random access memory,RAM)中,并分別調(diào)用Flash API函數(shù)庫的擦除函數(shù)Fapi_issue Async Comm and With Address、寫入函數(shù)Fapi_issue Programming Comm and Flash以及部分校驗函數(shù)完成相應(yīng)操作[11-12]。

        擦除命令、寫入命令執(zhí)行流程如圖2所示。由圖2a)可知:根據(jù)擦除程序的類型(引導(dǎo)程序或應(yīng)用程序)擦除相應(yīng)扇區(qū),設(shè)置PUMPREQUEST寄存器,完成Flash控制權(quán)分配;調(diào)用Flash API初始化函數(shù),以芯片頻率完成Flash API中的操作;初始化后,調(diào)用Flash庫激活函數(shù),調(diào)用Flash擦除函數(shù)擦除相關(guān)扇區(qū);待Flash空閑時,檢驗扇區(qū)是否被擦除;檢驗通過則退出擦除命令執(zhí)行流程,檢驗不通過則報錯退出。由圖2b)可知:擦除命令執(zhí)行流程與寫入命令執(zhí)行流程大致相同,但寫入命令調(diào)用Flash寫入函數(shù)應(yīng)將數(shù)據(jù)寫入相應(yīng)的地址,且等待Flash空閑時檢驗寫入的數(shù)據(jù)是否正確,其余流程與擦除命令執(zhí)行流程相同。

        2.1.4 解析HEX文件

        HEX文件以十六進制表示ASCII信息,以行為單位,每行以“:”開頭,可以直接燒錄到主芯片中。HEX文件每行包含5個域:數(shù)據(jù)長度域、數(shù)據(jù)地址域、數(shù)據(jù)記錄類型域、數(shù)據(jù)域及校驗和域[13-14]。數(shù)據(jù)長度域占用1個字節(jié),表示該行包含數(shù)據(jù)的字節(jié)數(shù);數(shù)據(jù)地址域占用2個字節(jié),表示該行首個數(shù)據(jù)的偏移地址;數(shù)據(jù)記錄類型域占用1個字節(jié),有00、01、02、03、04、05等6種記錄類型,其中00為記錄數(shù)據(jù),01為文件結(jié)束,02為記錄擴展段地址,03為記錄開始段地址,04為記錄擴展段線性地址,05為記錄開始線性地址[15-16]。由于05類型不用于嵌入式程序,本系統(tǒng)無需解析05類型;數(shù)據(jù)域占用n個字節(jié)(1≤n≤32),表示具體數(shù)據(jù);校驗和域占用1個字節(jié),用于校驗數(shù)據(jù)。

        HEX文件解析與校驗流程如圖3所示。如圖3可知:解析HEX文件時先判斷數(shù)據(jù)的首字符是否為“:”,若是,則繼續(xù)解析后面的數(shù)據(jù);若不是,則報錯;依次解析數(shù)據(jù)長度、數(shù)據(jù)偏移地址、數(shù)據(jù)記錄類型,判斷數(shù)據(jù)記錄類型,若為00,則繼續(xù)解析數(shù)據(jù);若為01,則結(jié)束指令;若為02或04,則解析HEX文件基礎(chǔ)地址;若為03,則解析開始段地址。00解析數(shù)據(jù)完成后進行數(shù)據(jù)校驗,若數(shù)據(jù)校驗通過,則寫入主芯片相應(yīng)的Flash地址中;校驗不通過,則報錯,并結(jié)束流程。

        2.1.5 運行流程

        1)主芯片上電后,執(zhí)行RESET指令,該指令對應(yīng)的Flash地址是0x3FFFC0,執(zhí)行啟動系統(tǒng)程序,完成底層寄存器及堆棧等的環(huán)境配置。

        2)執(zhí)行引導(dǎo)加載程序的main函數(shù),對必要模塊(如時鐘模塊、CAN模塊、Flash模塊等)初始化,在主循環(huán)里設(shè)置等待時間為5 s,如果5 s內(nèi)收到來自上位機的升級指令,則進入用戶升級程序;如果未收到來自上位機的升級指令,則跳出升級程序,執(zhí)行原應(yīng)用程序。

        3)控制器收到來自上位機的升級指令執(zhí)行用戶升級程序后,擦除舊的應(yīng)用程序,等待上位機發(fā)送新應(yīng)用程序的HEX文件。

        4)上位機以行為單位發(fā)送HEX文件數(shù)據(jù),控制器接收數(shù)據(jù)并保存到自定義的數(shù)組中,同時向上位機應(yīng)答。

        5)控制器接收完1行數(shù)據(jù)后,對自定義數(shù)組中整行的數(shù)據(jù),按照HEX的格式,解析出該行的數(shù)據(jù)長度、數(shù)據(jù)地址、數(shù)據(jù)內(nèi)容及校驗碼,并寫入到對應(yīng)的Flash地址。

        6)重復(fù)上一步,直至整個HEX文件數(shù)據(jù)寫入對應(yīng)的Flash地址中。

        7)跳轉(zhuǎn)至新用戶程序的開始地址執(zhí)行程序。

        2.2 應(yīng)用程序存儲

        由于FlashA和FlashB已劃分給引導(dǎo)程序,應(yīng)用程序只能占用扇區(qū)FlashC~FlashAB,文中應(yīng)用程序主要占用扇區(qū)FlashC~FlashJ。

        2.3 上位機軟件

        通過調(diào)用CAN卡,上位機實現(xiàn)與控制器之間的信息交互,結(jié)合漢明碼校驗和糾錯功能實現(xiàn)上位機與電機控制器的數(shù)據(jù)傳輸。上位機主要包括操作界面設(shè)計、通信協(xié)議制定。

        2.3.1 操作界面設(shè)計

        PyQt是Python和Qt的結(jié)合,能夠高效地編寫各類圖形用戶界面應(yīng)用程序[17],利用PyQt的設(shè)計工具Qt Designer搭建圖形化操作界面,操作界面主要包含CAN卡配置操作、升級過程操作和窗口顯示。CAN卡配置操作可實現(xiàn)波特率的選擇功能,CAN卡打開、關(guān)閉及復(fù)位功能;升級過程操作包括準備升級操作、加載文件操作和開始升級操作;窗口顯示分為2部分,一個用于顯示運行狀態(tài),另一個用于顯示HEX文件傳輸數(shù)據(jù)流。

        2.3.2 通信協(xié)議制定

        為了實現(xiàn)上位機與控制器之間的CAN通信,通過不同ID和不同報文數(shù)據(jù)交互不同的程序指令實現(xiàn)自定義通信協(xié)議,直到HEX文件傳輸結(jié)束。HEX數(shù)據(jù)幀與命令幀的的數(shù)據(jù)長度不同,命令幀數(shù)據(jù)長度固定為1,具體通信協(xié)議如表1所示。

        3 試驗驗證

        在新能源汽車電機測試臺架上,基于CAN通信的固件升級系統(tǒng),進行電機電流加載閉環(huán)控制試驗,試驗流程示意如圖4所示。試驗過程如下。

        1)基于CCS集成開發(fā)環(huán)境,配置生成電機電流閉環(huán)控制的HEX文件,作為升級文件。

        2)將引導(dǎo)程序燒寫到控制器主板后,打開上位機,使用CAN卡連接控制器主板和上位機。

        3)配置上位機CAN卡波特率為250 Kibit/s,打開CAN卡進行通信;點擊“準備升級”按鍵,上位機與控制器主板實現(xiàn)通信握手。

        4)上位機操作界面顯示“請加載程序”后,點擊“加載文件”按鍵,選擇要升級的HEX文件,點擊“開始更新”按鍵,程序開始更新;HEX文件以行為單位傳輸,每傳輸完一行數(shù)據(jù),運行狀態(tài)顯示框顯示“寫入一行Flash”,數(shù)據(jù)流顯示框顯示實時傳輸數(shù)據(jù)。

        5)當整個HEX文件順利傳送完成后,上位機操作界面顯示“更新完成”,應(yīng)用程序升級完成。

        6)將升級后的電機控制器安裝到新能源汽車電機測試臺架上,檢查直流側(cè)高壓線、三相高壓線、旋變信號線、散熱水路等是否正確連接,進行電機電流閉環(huán)控制試驗,驗證電機控制器的工作狀態(tài)。

        通過臺架配套測試軟件中的電流閉環(huán)控制指令,驗證電機正常工作,升級程序各項功能正常。

        4 結(jié)論

        1)基于CAN通信的TMS320F28377S固件升級系統(tǒng),可實現(xiàn)電機控制器應(yīng)用程序升級,提高了后期軟件維護工作的便利性。

        2)固件升級系統(tǒng)完成對引導(dǎo)程序、應(yīng)用程序及上位機軟件的設(shè)計,其中,引導(dǎo)程序設(shè)計包括CAN模塊、Flash模塊的配置及HEX文件解析,并采用漢明碼進行數(shù)據(jù)校驗與單比特數(shù)據(jù)糾錯,確保CAN通信傳輸HEX文件的準確性。

        3)自定義通信協(xié)議通過不同ID和不同報文數(shù)據(jù)實現(xiàn)上位機與控制器之間的CAN通信,電機電流加載閉環(huán)控制試驗可實現(xiàn)對固件升級系統(tǒng)的有效驗證。

        參考文獻:

        [1]張棟,范濤,溫旭輝,等.電動汽車用高功率密度碳化硅電機控制器研究[J].中國電機工程學報,2019,39(19):5624-5634.

        [2]梁文遠,易晨.FPGA在電動汽車電機控制器中的應(yīng)用[J].機電工程技術(shù),2020,49(11):231-232.

        [3]李亞運,孫耀杰.基于IS015765的電動汽車診斷系統(tǒng)設(shè)計[J].計算機測量與控制,2017,25(1):24-26.

        [4]趙大偉.電機控制器與上位機通信協(xié)議轉(zhuǎn)換工具設(shè)計[D].長春:吉林大學,2018.

        [5]劉浩,李榮冰,劉建業(yè),等.基于串口通信的DSP在線燒寫技術(shù)研究[J].電子測量技術(shù),2017,40(7):184-187.

        [6]文豐,溫倩,武慧軍.基于IAP的嵌入式系統(tǒng)在線編程設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2022,22(12):37-41.

        [7]倪慶生,倪云龍,潘曉陽,等.基于CAN總線的TMS320F28335遠程在線升級方法設(shè)計[J].電子與封裝,2021,21(11):34-38.

        [8]楊斌,呂偉,馬慧斌,等.基于RS485的多DSP系統(tǒng)在線升級程序方法研究[J].電子設(shè)計工程,2019,27(13):118-123.

        [9]陳彤,黃立梅.一種用于汽車電控單元CAN Bootloader的設(shè)計與實現(xiàn)[J].汽車實用技術(shù),2016(9):156-160.

        [10]王全福.漢明碼校驗位取值的教學分析[J].現(xiàn)代計算機,2020(13):77-78.

        [11]么居標,宋建桐,呂江毅,等.基于CAN總線的電機控制器Bootloader開發(fā)[J].測控技術(shù),2018,37(10):124-126.

        [12]許金鵬,李軍偉,李連強,等.基于S32K144的電控制動系統(tǒng)固件升級系統(tǒng)開發(fā)[J].內(nèi)燃機與動力裝置,2022,39(6):55-59.

        [13]劉浩,李榮冰,劉建業(yè),等.基于串口通信的DSP在線燒寫技術(shù)研究[J].電子測量技術(shù),2017,40(7):184-187.

        [14]汪志瑩,李軍偉,李興坤,等.基于UDP的混動商用車巡航控制器OTA系統(tǒng)開發(fā)[J].內(nèi)燃機與動力裝置,2023,40(2):42-49.

        [15]張海濤.CAN總線在新能源汽車電機控制器程序升級中的應(yīng)用[J].上海汽車,2014(6):38-42.

        [16]高世皓.利用HEX文件實現(xiàn)TMS320F28335的程序升級方法[J].單片機與嵌入式系統(tǒng)應(yīng)用,2017,17(7):13-18.

        [17]陶文玲,侯冬青.PyQt5與Qt設(shè)計師在GUI開發(fā)中的應(yīng)用[J].湖南郵電職業(yè)技術(shù)學院學報,2020,19(1):19-21.

        Design of the firmware upgrade system for the main chip of

        the electric vehicle motor controller based on

        CAN communication

        LIU Baoyan1, LI Junwei1*, XU Jinpeng1, WANG Zhiying1, LI Lianqiang2

        Abstract:In order to solve the problem of the application program upgrade and maintenance of the main motor controller chip TMS320F28377S of the electric vehicle driver, a firmware upgrade system based on controller area network CAN communication technology is developed. Through configuring CAN module and Flash module, parsing HEX file and combining Hamming code checking algorithm, the design of boot program and application program is realized, the firmware upgrade system is applied to the new energy vehicle motor test bench, and the motor controller current loading closed-loop control experiment is carried out. The test results show that the TMS320F28377S firmware upgrade system based on CAN communication can complete the data transmission between PC and motor controller, and the system is fast, convenient and stable, widely used for motor controller application upgrades.

        Keywords:motor controllor;TMS320F28377S chip;firmware upgrade;CAN communication

        (責任編輯:臧發(fā)業(yè))

        收稿日期:2023-03-05

        基金項目:青島市關(guān)鍵技術(shù)攻關(guān)及產(chǎn)業(yè)化示范類項目(22-3-2-qljh-7-gx)

        第一作者簡介:劉寶巖(1995—),男,山東滕州人,碩士研究生,主要研究方向為電動汽車控制技術(shù),E-mail: 792225723@qq.com。

        通信作者簡介:李軍偉(1964—),男,河南平頂山人,工學博士,教授,主要研究方向為電動汽車關(guān)鍵控制技術(shù),E-mail:ljwhitt@163.com。

        猜你喜歡
        固件校驗上位
        特斯拉 風云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
        基于固件的遠程身份認證
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        學習月刊(2015年3期)2015-07-09 03:51:04
        大型電動機高阻抗差動保護穩(wěn)定校驗研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗方法
        提取ROM固件中的APP
        電腦愛好者(2015年7期)2015-04-09 08:54:02
        鍋爐安全閥在線校驗不確定度評定
        av网站在线观看大全| 少妇人妻偷人精品无码视频| 欧洲亚洲视频免费| 国产精品亚洲精品日产久久久| 中文字幕人妻av一区二区| 国产精品女直播一区二区| 国产三级av在线播放| 亚洲欧洲无码一区二区三区 | 国产亚洲综合一区二区三区| 色 综合 欧美 亚洲 国产| 1000部拍拍拍18勿入免费视频下载| 亚洲AV秘 片一区二区三区 | 中文字幕亚洲欧美日韩2019| 国产精品玖玖玖在线资源| 日本无吗一区二区视频| 成人自拍小视频在线看| 人人做人人爽人人爱| 久久精品国产亚洲av蜜臀| 国产视频在线一区二区三区四区 | 日本一区二区三区小视频| 精品老熟女一区二区三区在线| 欧美熟妇另类久久久久久多毛| 97高清国语自产拍| 樱花AV在线无码| 玩弄极品少妇被弄到高潮| 一本色道久在线综合色| 久久精品www人人爽人人| 区久久aaa片69亚洲| 久九九久视频精品网站| 天堂一区二区三区精品| 欲求不満の人妻松下纱荣子| 亚洲av无码潮喷在线观看| 91精品国产91| 久久久精品人妻一区二区三区免费| 极品人妻少妇av免费久久| 亚洲国产成人精品无码区二本 | 丰满少妇人妻无码专区| 免费做爰猛烈吃奶摸视频在线观看| 亚洲一二三四五区中文字幕| 亚洲国产人成综合网站| 久热re这里精品视频在线6|