[APM32F1] APM32F103 CAN 丢包元凶:省成本用 HSI,坑哭研发!

[复制链接]
3081|4
gdygn007 发表于 2025-9-19 09:32 | 显示全部楼层 |阅读模式
, 成本, , ,
本帖最后由 gdygn007 于 2025-9-19 13:46 编辑

@21小跑堂
一、概述

  近期有客户在基于 APM32F103 的电动两轮车项目研发中,遭遇了CAN 通信频繁丢包的棘手问题:调试时发现,F103 每发送7-8 帧数据,往往仅能收到 1 帧来自电机控制器的回复。
  经笔者现场排查分析,原因挺典型:为了抠成本,客户CAN的时钟源换成了内部 HSI,没按常规用外部晶振。现在做产品是真卷,成本能省一点是一点,但这细节没把控好就出问题了。
  好在沟通后,客户同意后面评估改版,换成外部晶振。不过眼下这批小批量货得先 救火,所以我用了F103 demo 复现问题,也整理了些解决思路,给大伙儿碰到类似情况时当个参考。
二、问题分析
1、出现问题后客户第一时间进行交叉验证,问题定位到芯片。现场使用逻辑分析仪解析CAN报文无应答。
2556068cced8033636.png
2、现场和客户沟通了解到CAN时钟来源是HSI,初步排查大概率是因为系统时钟偏差导致,后面使用热风枪100多℃在芯片环绕加热,波形有改善,后面CAN波形正常了,进一步证明了是系统时钟偏差导致。
6747368cced8f48e65.png
3、最后的软件解决方案是参考F103用户手册说明,软件系统在发送3CAN报文后,仍没有接收到应答,软件步进调节HSITRM。现±5内扫频式步进,如果还是没有改善,再增大范围至±16
7737468cced9e8e2a9.png
4HSITRM调节方式是芯片CAN发送0x550101 0101b)或0xAA1010 1010b)数据,调节HSITRM值,让一高一低的频率接近250KHz,占空比接近50%
7764968ccedb42fb6f.png
2330568ccedc06f85e.png
三、验证
1、F103 demo使用内部晶振常温下,发送CAN报文——数据正常(注:小编手上的芯片常温特性比较好)
4637268ccedcdec056.png
2、F103 demo 使用内部晶振热风枪100℃吹芯片表面,发送CAN报文——数据异常
2882168ccedd6a0fe5.png
3、F103 demo使用外部晶振常温下,发送CAN报文——数据正常
2744968ccedec4d36d.png
4、F103 demo 使用外部晶振热风枪100℃吹芯片表面,发送CAN报文——数据正常
1615168ccedf8dc54f.png
5、F103 demo使用内部晶振常温下,修改HSITM,发送CAN报文——数据异常
7528068ccee03e0594.png
6、F103 demo使用内部晶振热风枪100℃吹芯片表面,修改HSITM,发送CAN报文——数据正常
3369868ccee112e125.png
四、总结
  通过上面验证的1256点可以发现温度确实会对应HSI频率有影响;通过34点可以发现外部晶振时钟来源,CAN波特率几乎不受外部温度影响;通过56点对比可以发现,微调HSITM值可以让芯片HSISCK时钟频率更加接近目标值,这样芯片CAN正常接收了。
  作为FAE每天都会遇到各种疑难杂症,不是在救火就是在救火的路上,有些是对芯片应用不深入了解使用导致,有些是为了扣成本搞掉了核心关键的器件或外围造成。
  现极海推出了F402系列,性能比F103更好,价格更有优势,助力客户降成。(相关F103移植到F402说明可以参考小编往期文章 https://bbs.21ic.com/icview-3447448-1-1.html

天鹅绒之夜 发表于 2025-9-22 11:17 | 显示全部楼层
HSI的使用场景下一定不能有通讯严格的应用场景。
研发设计人员 还是年轻了一些!
 楼主| gdygn007 发表于 2025-9-23 10:37 | 显示全部楼层
天鹅绒之夜 发表于 2025-9-22 11:17
HSI的使用场景下一定不能有通讯严格的应用场景。
研发设计人员 还是年轻了一些!
...

为了省成本,研发测试2-3个样机觉得没问题就小批,结果出事了...
暖心小太阳 发表于 2025-9-24 22:12 | 显示全部楼层
这个分析很到位,通过调整HSITRM来补偿时钟偏差是个不错的临时解决方案,但长远来看还是得用外部晶振。
亿年回响 发表于 2025-10-5 09:22 | 显示全部楼层
我遇到 过串口分频后波特率偏差导致高速串口通讯异常的情况。
唉,不说了,说多了都是泪
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

18

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部