您的位置:首页 > 其它

can总线理解

2016-04-04 14:31 232 查看

CAN2.0B

数据传输格式

标准帧格式

标识符为11位,数据最多为8个字节(可以比它少),一帧为:SOF+ID+RTR+r0+DLC+Data+CRC+CRCDel+ACK+ACKDel+EOF=1+11+1+1+1+4+(0~8)*8+15+1+1+1+7=44~108位



扩展帧格式

标识符为29位,数据最多为8个字节(可以比它少),一帧为:SOF+ID+RTR+r0+DLC+Data+CRC+CRCDel+ACK+ACKDel+EOF=1+29+1+1+1+4+(0~8)*8+15+1+1+1+7=62~126位



标识符(ID)

发送数据的结点在发送数据时必然携带本发送站点的ID,即标识符

通常来书,标识符有足够的长度,可以携带包括站点信息在内的很多信息,因此一般它还用于其他的功能,比如说。。。

携带数据节点的信息,比如说数据类型等

指定其他可以接收数据的接收点(可以通过设置后面的过滤器和屏蔽器来选择其他节点是否接收特定ID对应节点发送的数据)产生相应的动作,比如说将反馈信息回传给主节点等

过滤器(Filter)

可以通过设置过滤器的各个位,判断是否接收特定标号(ID)对应节点的信息,相当于硬件滤波

设置某接收滤波寄存器
00000000001
(11 位),接收屏蔽寄存器
11111111101
(11 位),则该对组合会拒绝接收
00000000011
00000000001
之外所有的标识符对应的 CAN 帧,因为屏蔽器规定第二位(为0)以外的所有标识符位要严格匹配(与滤波器值一致),第二位的滤波器值和收到的 CAN 标识符第二位值是否一致都可以。

屏蔽器(Mask)

可以设置让接收器过滤掉某一位的ID,即对ID的该位不予考虑,之与是1还是0时屏蔽,不同的芯片标准不一样,但是原理都是一样的

有些芯片需要设置多个过滤器或者屏蔽器,这是为了从硬件角度提升效率,减少CPU的使用率

错误

CAN总线提供了很多错误提示,具体的话随便上网找一下=。=
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: