CAN 控制器通讯故障
来源:互联网 发布:淘宝u站平台 编辑:程序博客网 时间:2024/05/17 17:15
CAN总线简介:
CAN-bus(Controller Area Network) 即控制器局域网,是国际上应用最广泛的现场总线之一。起先,CAN-bus 被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU 之间交换信息,形成汽车电子控制网络。比如发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN 控制装置。在我们的旋挖钻机中,CAN总线主要用于控制器、显示器、倾角传感器、GPS通信控制器、发动机ECM等各种电器元件之间的数据交换。
CAN-bus是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km 时,CAN-bus 仍可提供高达5Kbps 的数据传输速率。由于CAN 串行通讯总线具有这些特性,它很自然地在汽车、制造业、以及航空工业中受到广泛应用。
工作原理:
CAN总线通讯能够使用很多物理介质,例如双绞线、光纤等。只要物理驱动器是在“开集电极”而且每个节点都能够监听到它自己以及其他所有节点,那么CAN 就能够工作。最常用的就是双绞线。一个信号能够使用差分电压传送,CAN 驱动器能够因此而避免噪声和容错,这两条信号线被称为“CAN_H” 和“CAN_L”,静态时是2.5V。
总线总是处于两种逻辑状态,即隐性和显性的其中之一。在隐性状态CAN_H和CAN_L 固定在一个中值电压电平。在带终端电阻的总线上,隐性电平时,CAN_H和CAN_L之间电压差接近于零。
CAN 实现的信号:
使用非屏蔽的双绞线:
CAN_H: 隐性为2.5V,显性为3.5V
CAN_L: 隐性为2.5V,显性为1.5V
物理位示意图
物理信号:
总线电平 0 = 显性
总线电平 1 = 隐性
总线闲置 = 隐性
显性电平将覆盖隐性电平如下例所示:
节点1
节点2
节点3
最终总线电平
0
0
0
0
0
0
1
0
0
1
0
0
1
1
1
1
必须所有节点电平为1,总线电平才为1,否则1 被0 覆盖。显性状态由大于最小门限的差动电压表示。显性状态覆盖隐性状态并在显性位中传输。
显性位为“0”,隐形为“1”
总线故障:
在正常操作中,由于发生一些总线故障而导致了非正常的操作。故障导致可能发生的网络行为如下:
1、 网络连接失败
如果一个节点从总线网络脱开而导致连接失败,剩下的其它节点之间应能够继续通信。
2、节点电源断开或节点接地断开
如果某个节点与电源断开,或者处于低电压状态下,网络不会被拉低,剩下的节点应能够继续通信。
如果某节点与接地点断开,网络不会被拉高,剩下的节点应能够继续通信。
3、屏蔽接地断开
万一某个节点的屏蔽接地断开,则会在屏蔽层与双绞线的任一根线之间产生共模干扰电压。虽然通信是可能的,但电磁干扰会增加。
4、开路和短路故障
原则上,由电子控制单元来分析重要消息的毁坏率故障是可以察觉的。以旋挖钻机通讯系统为例,一些意外事件引起的故障示例如下:
旋挖钻机通讯总线连接示意图:
例1:CAN-H或者CAN-L总线 断开
在CAN-H(CAN-L) 断开点的不同边节点之间,数据通信是不可能的。而在CAN-H 断开点的相同边节点之间,数据通信是可能的。但是数据信号的信噪比(S/N)随之降低。
例如显示器和绝对式编码器之间的CANH-33和CANL-33线路某一条或者两条短路,那么在控制器和显示器之间的元器件之间还可以建立CAN总线通信的连接,但可能线号的信噪比会下降。但是,在断点的两侧,如控制器和倾角传感器之间是不能再利用CAN总线进行通信。
例2: CAN总线短路故障
如果电源电压比最大允许的总线正常电压范围还大,数据通信是不可能的。
在旋挖钻机CAN总线通信系统中,所有的电器元件连接在总线上时表示显性状态的总线电压参数CAN-H最大值为7V,所以当CAN-H对5V电源短路时,通信有可能可以进行,但是信号信噪比下降;当对7V以上(12V、24V)电源线电路时,数据通信是不可能的。
2、CAN-L对地短路
在旋挖钻机CAN总线通信系统中,CAN-L对地短路时,由于总线电压在允许的正常电压范围内,所以通信是可能的。但是数据信号的信噪比(S/N)下降,抗电磁辐射能力减弱。
3、其它短路形式
在旋挖钻机CAN总线通信系统中,CAN-H对地线短路、CAN-L对电源线短路、CAN-H对CAN-L短路则数据通信是不能进行的。
例3:总线匹配终端的丢失
虽然通过总线的数据通信是可能的,但是数据信号的信噪比(S/N)会随之降低。
- CAN 控制器通讯故障
- CAN通讯
- 串行通讯控制器8250
- STM32F407之CAN控制器
- STM32 CAN 控制器
- CAN控制器-配置过滤器
- STM32之CAN控制器
- can控制器SJA1000详解
- CAN通讯电路设计
- CAN通讯协议简介
- can总线通讯协议
- can总线通讯协议
- CAN通讯二
- CAN通讯的总结
- CAN通讯总结2
- CAN—通讯实验
- CAN—通讯实验
- 4. 控制器区域网络(CAN)
- SQL语句优化
- 20个实用的webApp前端开发技巧
- 自动装箱1.5新特性一个享元模式
- 多进程读写一个缓冲区的机制
- linux下广播的写法
- CAN 控制器通讯故障
- 共享内存实现进程间数据的交换(VC)
- Linux下Android ADB驱动安装详解
- SQLSERVER数据库附加失败(系统错误5)
- 晚上打电话对身体有哪些坏处?
- Linux学习之--Linux最核心的命令
- uva_10617_Again Palindrome(普通DP, 记忆化搜索)
- MFC HDC CDC的区别(其实我真心不乐意写MFC)
- LDAP介绍