ZKX's LAB

CAN总线上的错误帧要如何排查? 如何判断一个can帧是不是控制帧

2020-07-26知识10

can总线的帧格式很复杂,包括起始位,仲裁域,控制域,数据域CRC等,那么从协议控制器接收到的数据 仲裁域,控制域,数据域 就可以了。CAN总线的标准帧和扩展帧有什么区别呢? 扩展帧和标准帧2113的区别在于:扩展5261帧的仲裁域有29位,可以出现2^29中报文,且4102在数据链路上是有1653间隙的(对操作者透明)。标准帧的仲裁域是连续的11位,可以出现2^11种报文;控制帧中的DLC(数据长度)完全相同,但保留位不同,标准帧IDE、R0,扩展帧R1、R0,必须以显性电平发送(由数据链路层操作),对程序员透明;其它的都一模一样,所以,其实CAN标准帧和扩展帧只是在ID的长度上不一样,以能扩展更多的CAN节点,更好地支持上层协议而已。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识符可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业。CAN总线上的错误帧要如何排查? 对于CAN总线上的错误帧,普通的CAN设备(例如USBCAN)是无法获取到的,必须使用专用的CAN总线分析仪才能获取到,然后做分析。我手头上有一台叫CANScope的CAN总线分析仪可以直接获取到CAN总线上的错误帧数据和波形,如下图:CAN组成的网络中,CAN控制器、CAN收发器、CAN驱动器的区别是什么,can总线结构中他们都是必须的吗? can总线结构中CAN控制器、CAN收发器、CAN驱动器不是必须的。1,CAN控制器从控制单元中的微处理器接收数据,处理数据并将其传递给CAN收发器。CAN收发器数据发送到总线或从总线接收到控制器。收发器也可以称为驱动器。2,更为重zhidao要的一点是,CAN控制器是实现CAN总线,生成完整的CAN帧并将其以二进制流发送到CAN收发器的协议基础层和数据链路层。您使用的所有操作都在CAN控制器中实现。例如:帧ID,帧数据,版帧格式,帧类型和其他参数的成帧处理,CRC校验,响应检测,硬件过滤等。3,CAN收发器是CAN总线的物理层。工作是将二进制流转换为差分信号。扩展资料:CAN功能:完成通信数据的成帧处理。理论上网络中的节点数不受限制。CAN协议的最大特点之一是取消了传统的站地址编码,并替换了通信数据块。这权种方法的优点是理论上网络中的节点数不受限制。节点之间可以实现自由通信。CAN以消息形式发送数据。结构简单,仅2条线连接到外部。传输距离和速度。通信速率可以高达1Mbps。参考资料:-CAN总线

#can总线协议#通信#二进制#ascii#can总线

qrcode
访问手机版