2026/1/14 1:03:48
网站建设
项目流程
大型门户网站核心技术,wordpress讨论群,互联网公司招聘信息,找人做网站需要什么软件一、概述近期有客户在基于 APM32F103 的电动两轮车项目研发中#xff0c;遭遇了CAN 通信频繁丢包的棘手问题#xff1a;调试时发现#xff0c;F103 每发送7-8 帧数据#xff0c;往往仅能收到 1 帧来自电机控制器的回复。经笔者现场排查分析#xff0c;原因挺典型#xff…一、概述近期有客户在基于 APM32F103 的电动两轮车项目研发中遭遇了CAN 通信频繁丢包的棘手问题调试时发现F103 每发送7-8 帧数据往往仅能收到 1 帧来自电机控制器的回复。经笔者现场排查分析原因挺典型为了抠成本客户把CAN的时钟源换成了内部 HSI没按常规用外部晶振。现在做产品是真卷成本能省一点是一点但这细节没把控好就出问题了。好在沟通后客户同意后面评估改版换成外部晶振。不过眼下这批小批量货得先 “救火”所以我用了F103 的 demo 复现问题也整理了些解决思路给大伙儿碰到类似情况时当个参考。二、问题分析1、出现问题后客户第一时间进行交叉验证问题定位到芯片。现场使用逻辑分析仪解析CAN报文无应答。2、现场和客户沟通了解到CAN时钟来源是HSI初步排查大概率是因为系统时钟偏差导致后面使用热风枪100多℃在芯片环绕加热波形有改善后面CAN波形正常了进一步证明了是系统时钟偏差导致。3、最后的软件解决方案是参考F103用户手册说明软件系统在发送3次CAN报文后仍没有接收到应答软件步进调节HSITRM。现±5内扫频式步进如果还是没有改善再增大范围至±16。4、HSITRM调节方式是芯片CAN发送0x550101 0101b或0xAA1010 1010b数据调节HSITRM值让一高一低的频率接近250KHz占空比接近50%。三、验证1、F103 demo使用内部晶振常温下发送CAN报文——数据正常注小编手上的芯片常温特性比较好2、F103 demo 使用内部晶振热风枪100℃吹芯片表面发送CAN报文——数据异常3、F103 demo使用外部晶振常温下发送CAN报文——数据正常4、F103 demo 使用外部晶振热风枪100℃吹芯片表面发送CAN报文——数据正常5、F103 demo使用内部晶振常温下修改HSITM发送CAN报文——数据异常6、F103 demo使用内部晶振热风枪100℃吹芯片表面修改HSITM发送CAN报文——数据正常四、总结通过上面验证的1、2、5、6点可以发现温度确实会对应HSI频率有影响通过3和4点可以发现外部晶振时钟来源CAN波特率几乎不受外部温度影响通过5和6点对比可以发现微调HSITM值可以让芯片HSISCK时钟频率更加接近目标值这样芯片CAN正常接收了。作为FAE每天都会遇到各种疑难杂症不是在救火就是在救火的路上有些是对芯片应用不深入了解使用导致有些是为了扣成本搞掉了核心关键的器件或外围造成。现极海推出了F402系列性能比F103更好价格更有优势助力客户降成。相关F103移植到F402说明可以参考小编往期文章https://bbs.21ic.com/icview-3447448-1-1.html。---------------------作者gdygn007链接https://bbs.21ic.com/icview-3488334-1-1.html来源21ic.com此文章已获得原创/原创奖标签著作权归21ic所有任何人未经允许禁止转载。