一、需求
1)上位机选择CAN节点,对CAN节点进行在线升级。
2)升级使用CAN为通信链路
二、需求分析
PC端是不能直接与CAN进行通信的,故需要中间设备进行数据转换,
在设计的时候加上了串口转CAN,并制定通信协议连接上位机(电脑)
和下位机(STM32F103ZE)。
二、前期准备
1)单片机:STM32F103ZET6 * 3(1一个作为UART转CAN,剩余的俩个为CAN节点)
2)开发环境:MDK5.27
3)库函数:CubeMX6.6.1默认的HAL库版本
4)CAN分析仪
5)上位机:LabWindows/CVI 2020
三、上位机效果
四、单片机
五、UART转CAN压力测试
5.1 CAN转UART压力测试
5.2 UART转CAN压力测试
六、上下位机通信之前组包、解包简单框图
七、Bootloader
1)支持升级前备份固件
2)支持失败后回滚固件
3)支持私有协议
4)可扩展其他CAN协议,如CANopen、J1939、UDS等(后续有时间实现)。
5)传统三段式Flash分段,也可以支持AB面升级。
CAN在线升级老文章:https://blog.csdn.net/huazhen1234/article/details/114199023