CAN通信协议简述

CAN通信协议简述CAN 是差分总线 根据两根线上的电位差来产生显性电平和隐性电平 实现发送消息的目的 当处于逻辑 1 CAN High 和 CAN Low 的电压差小于 0 5V 时 称为隐性电平 Recessive 当处于逻辑 0 CAN High 和 CAN Low 的

大家好,欢迎来到IT知识分享网。

CAN 是差分总线,根据两根线上的电位差来产生显性电平和隐性电平,实现发送消息的目的。当处于逻辑1,CAN_High和CAN_Low的电压差小于0.5V时,称为隐性电平(Recessive),当处于逻辑0,CAN_High和CAN_Low的电压差大于0.9V,称为显性电平(Dominant)。

一般总线通信都是分主机和从机,但是CAN总线上所有的设备都是对等地位,既可以做主机也可以做从机,但是同一时刻,只允许一个主机存在。所以CAN总线可以认为是多主控制,在总线空闲的时候,所有设备都可以以主机身份发起通信。

但是如果由两个以上的设备同时发起发送怎么办?CAN总线拥有仲裁机制,CAN标识符里面有优先级,总线仲裁高优先级获胜,低优先级失利,获胜方获得发送的权利。

通信速度较快,通信距离远。最高1Mbps(距离小于40M),最远可达10KM(速率低于5Kbps)。

连接节点多。CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加,提高通信速度,可连接的单元数减少。

CAN总线不设定节点的地址,而是通过消息的标识符(Identifier)来区别消息CAN标准格式标识符11位,扩展格式标识符29位。标识符格式一致,这让总线上增删节点变得更加灵活。

CAN通信协议简述

图一,CAN协议格式

CAN控制器大多具有根据ID过滤报文的功能,即只接收某些ID的报文。节点对接收到的报文进行过滤:比较消息ID与选择器(Accepter)中和接受过滤相关位是否相同。如果相同,接收,如果不相同,则过滤。

可以使用中断方式接收,也可以查询接收。

CAN通信协议简述

图二,中断接收

CAN通信协议简述

图三,查询接收

一般使用PCANVIEW进行测试,可以方便的对总线上的CAN消息截胡下来。

CAN通信协议简述

图四,PCANVIEW

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/159113.html

(0)
上一篇 2024-11-28 16:45
下一篇 2024-11-28 17:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信