重型拖拉机控制器的引导加载程序与上位机设计
发布时间:2022-01-22 20:03
针对重型拖拉机控制器的升级维护问题,采用32位微控制器MPC5744P,开发基于控制器局域网络总线技术的引导加载程序,设计上位机。依据引导加载程序的需求开发FlexCAN模块、Flash模块的底层驱动程序及S19文件的解析代码。为了实现对程序的在线更新,利用Python的外部工具PyQt5设计相应的上位机。为验证系统性能,通过上位机对MPC5744P开发板进行程序升级,对引导加载程序进行测试。测试结果表明:设计的引导加载程序能够通过与上位机的交互准确实现应用程序的在线升级,符合设计要求。
【文章来源】:内燃机与动力装置. 2020,37(06)
【文章页数】:7 页
【部分图文】:
上位机与BootLoader通信原理图
2.1 FlexCAN通信模块的设计通过对FlexCAN模块进行初始化配置与通信协议的制定,实现重型拖拉机控制器的引导加载程序与上位机的通信[4-5]。本文中MPC5744P控制器的CAN模块使用的是8 MHz的时钟,500 kbit/s的波特率。使用CAN0通道的消息缓存区0(message buffer 0,MB[0])作为发送数据缓存区给上位机发送代码,设置其发送MB的身份标识符(identity document,ID)为0x520。使用CAN0通道的MB[4]\\MB[8]\\MB[31]作为接收数据缓存区接收上位机的命令与S19文件,分别设置其MB只接收ID为0x521、0x550、0x555的报文。FlexCAN的初始化配置如图2所示。
对MPC5744P的Flash写入过程如图4所示。对Flash进行写入操作同样通过LOCK寄存器解锁对应的Flash,MCR寄存器的PGM位由0变为1,启动一个写入序列,由1变为0结束一个写入序列,然后为对应地址写入数据。在此需注意MPC5744P的Flash只支持4 byte或8 byte对齐写入,并且只能使用一种方式,本文中采用4 byte对齐方式写入数据;MCR寄存器的EHV位与DONE位与擦除时作用一致。图4 Flash模块的写入配置
【参考文献】:
期刊论文
[1]一种适用于MCU的通用Bootloader设计与实现[J]. 刘荣. 电子技术与软件工程. 2020(10)
[2]基于PowerPC架构的二级启动设计[J]. 杨露,张荣,张梅娟,葛秀梅,何佩佩. 电子与封装. 2020(03)
[3]PyQt5与Qt设计师在GUI开发中的应用[J]. 陶文玲,侯冬青. 湖南邮电职业技术学院学报. 2020(01)
[4]基于Power PC系列处理器的BootLoader设计与应用[J]. 李兴国,周荣,李旭. 铁路通信信号工程技术. 2020(01)
[5]基于dsPIC30F的BootLoader设计[J]. 雒拓,程威,陈博凯,杜浪东. 汽车实用技术. 2019(10)
[6]基于CAN总线的车载VCU在线程序升级设计[J]. 冯海明,王波,张健,陈强,李海海,黄玉鹏. 客车技术与研究. 2019(01)
[7]基于CAN总线的电机控制器Bootloader开发[J]. 么居标,宋建桐,吕江毅,王谷娜. 测控技术. 2018(10)
[8]基于MC9S12XEP100的BootLoader设计与实现[J]. 王志强. 汽车实用技术. 2018(17)
[9]基于TC1766的动力换挡拖拉机电控系统Bootloader软件开发[J]. 胡友耀,李金广,雷军,杨卫平,张晓超,王海风,刘泉. 拖拉机与农用运输车. 2018(02)
[10]多节点软件触发式Bootloader设计与实现[J]. 郭帅,李军伟,高松. 现代电子技术. 2017(18)
本文编号:3602818
【文章来源】:内燃机与动力装置. 2020,37(06)
【文章页数】:7 页
【部分图文】:
上位机与BootLoader通信原理图
2.1 FlexCAN通信模块的设计通过对FlexCAN模块进行初始化配置与通信协议的制定,实现重型拖拉机控制器的引导加载程序与上位机的通信[4-5]。本文中MPC5744P控制器的CAN模块使用的是8 MHz的时钟,500 kbit/s的波特率。使用CAN0通道的消息缓存区0(message buffer 0,MB[0])作为发送数据缓存区给上位机发送代码,设置其发送MB的身份标识符(identity document,ID)为0x520。使用CAN0通道的MB[4]\\MB[8]\\MB[31]作为接收数据缓存区接收上位机的命令与S19文件,分别设置其MB只接收ID为0x521、0x550、0x555的报文。FlexCAN的初始化配置如图2所示。
对MPC5744P的Flash写入过程如图4所示。对Flash进行写入操作同样通过LOCK寄存器解锁对应的Flash,MCR寄存器的PGM位由0变为1,启动一个写入序列,由1变为0结束一个写入序列,然后为对应地址写入数据。在此需注意MPC5744P的Flash只支持4 byte或8 byte对齐写入,并且只能使用一种方式,本文中采用4 byte对齐方式写入数据;MCR寄存器的EHV位与DONE位与擦除时作用一致。图4 Flash模块的写入配置
【参考文献】:
期刊论文
[1]一种适用于MCU的通用Bootloader设计与实现[J]. 刘荣. 电子技术与软件工程. 2020(10)
[2]基于PowerPC架构的二级启动设计[J]. 杨露,张荣,张梅娟,葛秀梅,何佩佩. 电子与封装. 2020(03)
[3]PyQt5与Qt设计师在GUI开发中的应用[J]. 陶文玲,侯冬青. 湖南邮电职业技术学院学报. 2020(01)
[4]基于Power PC系列处理器的BootLoader设计与应用[J]. 李兴国,周荣,李旭. 铁路通信信号工程技术. 2020(01)
[5]基于dsPIC30F的BootLoader设计[J]. 雒拓,程威,陈博凯,杜浪东. 汽车实用技术. 2019(10)
[6]基于CAN总线的车载VCU在线程序升级设计[J]. 冯海明,王波,张健,陈强,李海海,黄玉鹏. 客车技术与研究. 2019(01)
[7]基于CAN总线的电机控制器Bootloader开发[J]. 么居标,宋建桐,吕江毅,王谷娜. 测控技术. 2018(10)
[8]基于MC9S12XEP100的BootLoader设计与实现[J]. 王志强. 汽车实用技术. 2018(17)
[9]基于TC1766的动力换挡拖拉机电控系统Bootloader软件开发[J]. 胡友耀,李金广,雷军,杨卫平,张晓超,王海风,刘泉. 拖拉机与农用运输车. 2018(02)
[10]多节点软件触发式Bootloader设计与实现[J]. 郭帅,李军伟,高松. 现代电子技术. 2017(18)
本文编号:3602818
本文链接:https://www.wllwen.com/nykjlw/nygclw/3602818.html