CAN
跳转到导航
跳转到搜索
说明
控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。
CAN协议广泛用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。
CAN总线是广播类型的总线。这意味着所有节点都可以侦听到所有传输的报文。无法将报文单独发送给指定节点,所有节点都将始终捕获所有报文。但是,CAN硬件能够提供本地过滤功能,让每个节点对报文有选择性地做出响应。
版本
CAN CC
CAN CC主要指经典的CAN总线版本。
- CAN 2.0包含CAN 2.0A与CAN 2.0B,对于CAN 2.0A,可使用11位的标识符,对于CAN 2.0B,可使用29位的标识符。一般情况下,CAN 2.0B可兼容CAN2.0A。
- 数据负载长度0~8字节。
- 标准CAN网络最大带宽1Mbps
CAN FD
博世公司研发,灵活数据速率CAN(CAN FD)是对ISO11898-1规定的原有CAN协议的扩展,用于响应汽车网络中日益增加的对带宽的需求。
- CAN FD的控制器一般能够兼容CAN CC的数据帧,标识符的使用同CAN CC。
- CAN FD可分为CAN FD8或者CAN FD64。
- CAN FD64最高可支持64字节的数据负载 ,CAN FD8仍然最高可支持8字节的数据负载。
- 在传输负载数据时,可使用超过1Mbps的速率(由收发器特性决定),其余帧数据部分最高带宽仍然为1Mbps。
CAN XL
扩展数据域长度CAN,第三代CAN总线标准,类似CAN FD。
- CAN XL可支持1~2048字节的数据负载。
- 在传输负载数据时,可使用超过10Mbps的速率(由收发器特性决定),其余帧数据部分最高带宽仍然为1Mbps。
软件
工具
- can-utils:https://github.com/linux-can/can-utils