CAN总线协议:CAN消息之“报文类型”

CAN有四种不同的报文类型:数据帧、远程帧、错误指示帧和超载帧。

1、数据帧

CAN协议有两种数据帧类型:标准CAN和扩展CAN(见上文)。

一个数据帧中包括7个主要的域:

帧起始域——标志数据帧的开始,由一个显性位组成。

仲裁域——内容由标示符和远程传输请求位(RTR)组成,RTR用以表明此信息帧是数据帧还是不包含任何数据的远地请求帧。

当标准CAN和扩展CAN的数据帧必须在同一条总线上传输时,首先判断其优先权,如果ID相同,则非扩展数据帧的优先权高于扩展数据帧。

控制域——r0、r1是保留位,作为扩展位,DLC表示一帧中数据字节的数目。

数据域——包含0~8字节的数据。

校验域——检验位错用的循环冗余校验域,共15位。

应答域——包括应答位和应答分隔符。正确接收到有效报文的接收站在应答期间将总线值为显性电平。

帧结束——由七位隐性电平组成。

2、远程帧

远程帧接受数据的节点可通过发远程帧请求源节点发送数据。

它由6个域组成:帧起始、仲裁域、控制域、校验域、应答域、帧结束。

3、错误指示帧

错误指示帧由错误标志和错误分界两个域组成。

接收节点发现总线上的报文有误时,将自动发出“活动错误标志”其他节点检测到活动错误标志后发送“错误认可标志”。

4、超载帧

超载帧由超载标志和超载分隔符组成。

超载帧只能在一个帧结束后开始。当接收方接收下一帧之前,需要过多的时间处理当前的数据,或在帧间空隙域检测到显性电平时,则导致发送超载帧。

帧间空隙位于数据帧和远地帧与前面的信息帧之间,由帧间空隙和总线空闲状态组成。帧间空隙是必要的,在此期间, CAN不进行新的帧发送,为的是CAN控制器在下次信息传递前有时间进行内部处理操作。当总线空闲时CAN控制器方可发送数据。

你可能感兴趣的:(CAN总线,CAN,CAN报文)