你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

CAN 总线多节点环境下进行固件升级

[复制链接]
patch1582 提问时间:2026-6-13 17:40 / 未解决

打算通过 CAN 接口对单个节点进行固件升级。 总共有 3 个节点组网:节点 1 负责下发新版固件,节点 2 接收固件,节点 3 保持待机。CAN 常规通讯波特率为 500kbit/s。 我的设计方案如下: 节点 1 发送一条指令报文,令总线上所有节点暂停自身业务报文发送; 节点 1 再发送指令,让节点 2 进入 Bootloader 模式;同时让节点 3 执行HAL_CAN_DeInit(&hcan2)反初始化 CAN,再调用MX_CAN2_Init_125()将 CAN 重新初始化为 125kbit/s 波特率; 节点 3 配置 CAN 过滤器,屏蔽所有标准帧 ID 报文。 但实际下发同步指令0x80后,节点 2 跳出了 Bootloader,升级流程中断。 总线存在多个节点时,CAN 固件升级的标准实现思路应该是什么?

收藏 评论1 发布时间:2026-6-13 17:40

举报

1个回答
butterflyspring 回答时间:5 小时前
节点需要升级的话,如果这个节点可以接收独立一个ID信息,与其他节点状态无关,那么你定义通讯协议即可。
或者说保证它通讯信息独立既可。


关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版