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

STM32F429之CAN调试分享

[复制链接]
power568 发布时间:2019-3-26 17:55
        最近在调试F429的CAN驱动,愣是折腾了两天,最后总结如下:
* s5 p  g  V0 L3 M* g; ]        1. 驱动没有使能重复发送,在环回模式时输出波特率(10KHz)是正确的,一旦切换到正常模式F429发送另外的板子(MCU为F103,已经验证硬件是OK的)接收时,波形异常,MCU引脚上有重复的波形(56低16高56低124高,单位us),ESR错误代码位隐性错误;移除F1后,数据波特率是正确的;
9 e% `  t9 A: M+ U6 P$ b9 O, n5 @        2. 驱动使能重复发送,F429发送另外的板子(MCU为F103,已经验证可以长时间接收)接收,上电后能正常通讯(10K),一段(时间不等,几分钟到半小时)时间后,通讯异常直接不能通讯,间隔100ms有16个重复的异常波形——MCU引脚上有16个重复的波形(520低2600高,单位us,F429错误状态寄存器显示LEC=5[位显性错误]),移除F1后,F4一直重复发送数据,且数据正确;
8 w! a6 Y. g  n- i        反复查了F429的寄存器及网上的例程(端口时钟未使能等),调试了所有可能的设置,问题任然存在,总是会出现为阴性错误、位显性错误。
9 d" C0 ^$ v* [  z) D- o( J' T0 G        此时怀疑硬件CAN驱动器有问题,最后断开F429 MCU与CAN驱动器,使用F103 MCU的TX/RX来控制F429硬件板上的CAN驱动器,第一个板子收发都可以,这时候有点懵了...
6 K# M6 o6 l( F* W# f& p# \/ {        仍然怀疑有问题,在换一个F429的板子,此时F103 MCU发送,但是CAN总线上的设备已经无法接收到数据了,继续测试了其余的F429的CAN驱动器,同样的是CAN驱动器有问题...* i' ?0 T9 [- V+ L! M  \
               
, g# `- Q9 \9 B" M        悲剧的是居然遇到芯片有问题,两个板子上的CAN驱动器批次确实不一样...
6 G+ c; o8 P' q( \; T# U, s7 A       
) Q0 Z7 h9 q3 b3 `        3. 如何分析CAN差分数据,确认是否发送的数据是否正确:- |5 T8 {; C$ y# F1 i
        知识点:根据CAN标准,当CAN总线上出现5连个连续的相同电平时,会自动插入1个反向电平(如:当出现5个连续的0则插入一个1,反之一样);
, ^* u7 X* D2 n) E2 F* w  P        发送标准帧数据,11位ID,将测试探头地接CANL,信号线接CANH,并且信号反相,抓取波形如下:
, |$ V3 P, Z1 o6 b. J7 u. b 0x11 F1 02.jpg
& y0 v4 V& F; t, g/ A% |# |        从图中读取波形可以看出发送数据二进制如下(有效数据域,CRC数据之前的数据):+ T0 e( F3 ~7 x& w
BB.PNG
. ^- u) P2 M0 M        波形读取的数据与发送的一致。
! T- a  [6 @0 ?9 g# H$ ^$ ^( W+ x! p
+ Y. H; w; l2 S# F4 N" `; B
赞 收藏 2 评论1 发布时间:2019-3-26 17:55

举报

1个回答
jimmy20080105 回答时间:2019-3-27 08:10:11
感谢分享!

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版