重型拖拉機(jī)控制器的引導(dǎo)加載程序與上位機(jī)設(shè)計(jì)
發(fā)布時(shí)間:2022-01-22 20:03
針對(duì)重型拖拉機(jī)控制器的升級(jí)維護(hù)問題,采用32位微控制器MPC5744P,開發(fā)基于控制器局域網(wǎng)絡(luò)總線技術(shù)的引導(dǎo)加載程序,設(shè)計(jì)上位機(jī)。依據(jù)引導(dǎo)加載程序的需求開發(fā)FlexCAN模塊、Flash模塊的底層驅(qū)動(dòng)程序及S19文件的解析代碼。為了實(shí)現(xiàn)對(duì)程序的在線更新,利用Python的外部工具PyQt5設(shè)計(jì)相應(yīng)的上位機(jī)。為驗(yàn)證系統(tǒng)性能,通過上位機(jī)對(duì)MPC5744P開發(fā)板進(jìn)行程序升級(jí),對(duì)引導(dǎo)加載程序進(jìn)行測(cè)試。測(cè)試結(jié)果表明:設(shè)計(jì)的引導(dǎo)加載程序能夠通過與上位機(jī)的交互準(zhǔn)確實(shí)現(xiàn)應(yīng)用程序的在線升級(jí),符合設(shè)計(jì)要求。
【文章來(lái)源】:內(nèi)燃機(jī)與動(dòng)力裝置. 2020,37(06)
【文章頁(yè)數(shù)】:7 頁(yè)
【部分圖文】:
上位機(jī)與BootLoader通信原理圖
2.1 FlexCAN通信模塊的設(shè)計(jì)通過對(duì)FlexCAN模塊進(jìn)行初始化配置與通信協(xié)議的制定,實(shí)現(xiàn)重型拖拉機(jī)控制器的引導(dǎo)加載程序與上位機(jī)的通信[4-5]。本文中MPC5744P控制器的CAN模塊使用的是8 MHz的時(shí)鐘,500 kbit/s的波特率。使用CAN0通道的消息緩存區(qū)0(message buffer 0,MB[0])作為發(fā)送數(shù)據(jù)緩存區(qū)給上位機(jī)發(fā)送代碼,設(shè)置其發(fā)送MB的身份標(biāo)識(shí)符(identity document,ID)為0x520。使用CAN0通道的MB[4]\\MB[8]\\MB[31]作為接收數(shù)據(jù)緩存區(qū)接收上位機(jī)的命令與S19文件,分別設(shè)置其MB只接收ID為0x521、0x550、0x555的報(bào)文。FlexCAN的初始化配置如圖2所示。
對(duì)MPC5744P的Flash寫入過程如圖4所示。對(duì)Flash進(jìn)行寫入操作同樣通過LOCK寄存器解鎖對(duì)應(yīng)的Flash,MCR寄存器的PGM位由0變?yōu)?,啟動(dòng)一個(gè)寫入序列,由1變?yōu)?結(jié)束一個(gè)寫入序列,然后為對(duì)應(yīng)地址寫入數(shù)據(jù)。在此需注意MPC5744P的Flash只支持4 byte或8 byte對(duì)齊寫入,并且只能使用一種方式,本文中采用4 byte對(duì)齊方式寫入數(shù)據(jù);MCR寄存器的EHV位與DONE位與擦除時(shí)作用一致。圖4 Flash模塊的寫入配置
【參考文獻(xiàn)】:
期刊論文
[1]一種適用于MCU的通用Bootloader設(shè)計(jì)與實(shí)現(xiàn)[J]. 劉榮. 電子技術(shù)與軟件工程. 2020(10)
[2]基于PowerPC架構(gòu)的二級(jí)啟動(dòng)設(shè)計(jì)[J]. 楊露,張榮,張梅娟,葛秀梅,何佩佩. 電子與封裝. 2020(03)
[3]PyQt5與Qt設(shè)計(jì)師在GUI開發(fā)中的應(yīng)用[J]. 陶文玲,侯冬青. 湖南郵電職業(yè)技術(shù)學(xué)院學(xué)報(bào). 2020(01)
[4]基于Power PC系列處理器的BootLoader設(shè)計(jì)與應(yīng)用[J]. 李興國(guó),周榮,李旭. 鐵路通信信號(hào)工程技術(shù). 2020(01)
[5]基于dsPIC30F的BootLoader設(shè)計(jì)[J]. 雒拓,程威,陳博凱,杜浪東. 汽車實(shí)用技術(shù). 2019(10)
[6]基于CAN總線的車載VCU在線程序升級(jí)設(shè)計(jì)[J]. 馮海明,王波,張健,陳強(qiáng),李海海,黃玉鵬. 客車技術(shù)與研究. 2019(01)
[7]基于CAN總線的電機(jī)控制器Bootloader開發(fā)[J]. 么居標(biāo),宋建桐,呂江毅,王谷娜. 測(cè)控技術(shù). 2018(10)
[8]基于MC9S12XEP100的BootLoader設(shè)計(jì)與實(shí)現(xiàn)[J]. 王志強(qiáng). 汽車實(shí)用技術(shù). 2018(17)
[9]基于TC1766的動(dòng)力換擋拖拉機(jī)電控系統(tǒng)Bootloader軟件開發(fā)[J]. 胡友耀,李金廣,雷軍,楊衛(wèi)平,張曉超,王海風(fēng),劉泉. 拖拉機(jī)與農(nóng)用運(yùn)輸車. 2018(02)
[10]多節(jié)點(diǎn)軟件觸發(fā)式Bootloader設(shè)計(jì)與實(shí)現(xiàn)[J]. 郭帥,李軍偉,高松. 現(xiàn)代電子技術(shù). 2017(18)
本文編號(hào):3602818
【文章來(lái)源】:內(nèi)燃機(jī)與動(dòng)力裝置. 2020,37(06)
【文章頁(yè)數(shù)】:7 頁(yè)
【部分圖文】:
上位機(jī)與BootLoader通信原理圖
2.1 FlexCAN通信模塊的設(shè)計(jì)通過對(duì)FlexCAN模塊進(jìn)行初始化配置與通信協(xié)議的制定,實(shí)現(xiàn)重型拖拉機(jī)控制器的引導(dǎo)加載程序與上位機(jī)的通信[4-5]。本文中MPC5744P控制器的CAN模塊使用的是8 MHz的時(shí)鐘,500 kbit/s的波特率。使用CAN0通道的消息緩存區(qū)0(message buffer 0,MB[0])作為發(fā)送數(shù)據(jù)緩存區(qū)給上位機(jī)發(fā)送代碼,設(shè)置其發(fā)送MB的身份標(biāo)識(shí)符(identity document,ID)為0x520。使用CAN0通道的MB[4]\\MB[8]\\MB[31]作為接收數(shù)據(jù)緩存區(qū)接收上位機(jī)的命令與S19文件,分別設(shè)置其MB只接收ID為0x521、0x550、0x555的報(bào)文。FlexCAN的初始化配置如圖2所示。
對(duì)MPC5744P的Flash寫入過程如圖4所示。對(duì)Flash進(jìn)行寫入操作同樣通過LOCK寄存器解鎖對(duì)應(yīng)的Flash,MCR寄存器的PGM位由0變?yōu)?,啟動(dòng)一個(gè)寫入序列,由1變?yōu)?結(jié)束一個(gè)寫入序列,然后為對(duì)應(yīng)地址寫入數(shù)據(jù)。在此需注意MPC5744P的Flash只支持4 byte或8 byte對(duì)齊寫入,并且只能使用一種方式,本文中采用4 byte對(duì)齊方式寫入數(shù)據(jù);MCR寄存器的EHV位與DONE位與擦除時(shí)作用一致。圖4 Flash模塊的寫入配置
【參考文獻(xiàn)】:
期刊論文
[1]一種適用于MCU的通用Bootloader設(shè)計(jì)與實(shí)現(xiàn)[J]. 劉榮. 電子技術(shù)與軟件工程. 2020(10)
[2]基于PowerPC架構(gòu)的二級(jí)啟動(dòng)設(shè)計(jì)[J]. 楊露,張榮,張梅娟,葛秀梅,何佩佩. 電子與封裝. 2020(03)
[3]PyQt5與Qt設(shè)計(jì)師在GUI開發(fā)中的應(yīng)用[J]. 陶文玲,侯冬青. 湖南郵電職業(yè)技術(shù)學(xué)院學(xué)報(bào). 2020(01)
[4]基于Power PC系列處理器的BootLoader設(shè)計(jì)與應(yīng)用[J]. 李興國(guó),周榮,李旭. 鐵路通信信號(hào)工程技術(shù). 2020(01)
[5]基于dsPIC30F的BootLoader設(shè)計(jì)[J]. 雒拓,程威,陳博凱,杜浪東. 汽車實(shí)用技術(shù). 2019(10)
[6]基于CAN總線的車載VCU在線程序升級(jí)設(shè)計(jì)[J]. 馮海明,王波,張健,陳強(qiáng),李海海,黃玉鵬. 客車技術(shù)與研究. 2019(01)
[7]基于CAN總線的電機(jī)控制器Bootloader開發(fā)[J]. 么居標(biāo),宋建桐,呂江毅,王谷娜. 測(cè)控技術(shù). 2018(10)
[8]基于MC9S12XEP100的BootLoader設(shè)計(jì)與實(shí)現(xiàn)[J]. 王志強(qiáng). 汽車實(shí)用技術(shù). 2018(17)
[9]基于TC1766的動(dòng)力換擋拖拉機(jī)電控系統(tǒng)Bootloader軟件開發(fā)[J]. 胡友耀,李金廣,雷軍,楊衛(wèi)平,張曉超,王海風(fēng),劉泉. 拖拉機(jī)與農(nóng)用運(yùn)輸車. 2018(02)
[10]多節(jié)點(diǎn)軟件觸發(fā)式Bootloader設(shè)計(jì)與實(shí)現(xiàn)[J]. 郭帥,李軍偉,高松. 現(xiàn)代電子技術(shù). 2017(18)
本文編號(hào):3602818
本文鏈接:http://sikaile.net/nykjlw/nygclw/3602818.html
最近更新
教材專著