CAN总线错误帧长得啥样?怎么产生?

来源:互联网 发布:icy的衣服怎么样 知乎 编辑:程序博客网 时间:2024/04/27 23:48

 前两天,帮一个客户调试CAN总线,他的板子发数,USBCAN接收,但是总是调试不成。我接上示波器,量一下CANH与CANL之间的波形,发现他板子不连接USBCAN接口卡时,波形是正确的;可是一旦连接上USBCAN以后,波形就成了以下这个样子:

              CAN总线错误帧长得啥样?怎么产生?

    就是刚发了第一个显性位之后,就有个阶梯的电压下降,然后保持几个位后,恢复到隐性电平,过了一会,才有正常的波形出来,可是这个帧只剩下一半了,肯定不可能发送成功。

    我开始以为是收发器不匹配,换了几个收发器都是一样的。突然我想到这个很像错误帧。既然有错误帧,那就说明可能波特率不对。仔细看了程序,发现波特率是12M下算出来的,而晶振却用了16M。立马调整波特率,OK。通讯成功。 那个阶梯的波形也没有了。

    所以可以肯定,那就是一个错误帧。但为什么有个阶梯呢?答案很简单,因为CAN通讯的两个节点的收发器的电源不同,比如,发送节点的电压稍微高点,那么其CANH被拉高时电压也高,故显性位输出时,差分电压也高。所以当发送节点发送的显性位被接收节点接收后,接收节点发现波特率不匹配,则马上发出错误帧(6个位的显性电平),但是接收节点电压稍微低,故差分电压也小一点,所以产生了一个“阶梯”。

    下面为错误帧的定义:

                        CAN总线错误帧长得啥样?怎么产生?

     错误帧是节点收到信息,被认为错误时,而向总线广播的一种帧。比如前面这个错误帧的作用就是:接收节点通知发送节点:你的发送有主动错误,你的发送错误计数器要加8;同时接收节点的接收错误计数器要加1。

     这样,不同波特率的总线下,少数不同波特率的发送节点总是先退出总线(错误计数器达256时,进入总线关闭状态),保证了其他节点的正常通讯。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 英雄联盟新客户端太卡怎么办 win10英雄联盟fps低怎么办 lol登游戏闪退怎么办 lol读取界面很慢怎么办 玩lol卡死黑屏怎么办 lol黑屏退不出来怎么办 电脑分辨率调高了黑屏怎么办 电脑设置分辨率黑屏了怎么办 分辨率调高了黑屏怎么办 电脑调分辨率黑屏了怎么办 科沃斯cr120遥控器丢了怎么办 买了kl色的钻戒怎么办 qq旋风没有蓝钻怎么办 手机桌面短信图标不见了怎么办 手机桌面qq音乐图标不见了怎么办 电脑显示器图标变大了怎么办 手机卡信号好但是网络不好怎么办 陌陌功能被限制怎么办 陌陌设备封了怎么办 荣耀v8手机开机键不灵怎么办 联通积分换的腾讯会员怎么办 小米6手机变卡了怎么办 微信绑定银行卡次数太多怎么办 银行卡绑定太多微信了怎么办 怎样给qq设密码怎么办 吃了心悦胶囊上火怎么办 qq暂时被冻结了怎么办 部落群审核未通过怎么办 qq被限制解封该怎么办 微信提现成功但没到账怎么办 拍拍贷登录不上怎么办 京东店铺出租保证金怎么办 所选地区无货怎么办 闲鱼七天没发货怎么办 续贷密码忘了怎么办 微店商家不发货怎么办 微店商家不退钱怎么办 维修车辆被拍违章停车怎么办 网贷申请平台太多怎么办 所在城市没有网店怎么办信用卡 拍拍贷不放款了怎么办