Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
本系列can通信分享内容是对互联网上各种介绍can通信文章的整理,可以让读者更系统的了解can通信。参考的文章见文末。
Controller Area Network(CAN)是ISO国际标准化的串行通信协议,是一种异步半双工通讯。CAN总线协议是建立在OSI七层参考模型的基础上的,但是它的模型结构只有三层,即物理层、数据链路层和应用层。经典CAN是1Mbps,CAN FD最高2Mbps,CAN FD-SiC是5-8Mbps,CAN XL是10Mbps
CAN的组成一般有两种方式:一种是CPU与CAN控制器集成到一起、再外接CAN收发器;另一种是CPU与CAN控制器分开的,使用的时候需要配置CAN接口电路。 CAN收发器:用于TTL电平与差分电压信号相互转换的,TTL电平即单片机引脚直接提供的电平,逻辑0代表低电平,逻辑1代表高电平;而差分电压信号则为固定的电压值。常用的有TJA1050或者82C250。
CAN通信只由两根线完成的,一条称为CAN_High,一条称为CAN_Low,共同构成一组差分信号线。整个过程是以差分信号的形式进行通讯的,即信号的逻辑 0 和逻辑 1 由两根差分信号线的电压差来表示。终端电阻(通常位120欧)为在高速CAN中防止信号反射和振铃现象。 下图所示是闭环总线网络,特点就是高速、短距离、闭环,最高速度可达1Mbps,最长距离40m。

下图所示是开环总线网络,特点就是传输距离远、开环,最高速度125Kbps,最远距离1km。

差分信号的获取如下图所示,差分信号中显性电平比隐性电平优先级要高。

| 信号 | ISO11898(高速) | ISO11519-2(低速) | ||||||||||
| 隐性(逻辑1) | 显性(逻辑0) | 隐性(逻辑1) | 显性(逻辑0) | |||||||||
| 最小值 | 典型值 | 最大值 | 最小值 | 典型值 | 最大值 | 最小值 | 典型值 | 最大值 | 最小值 | 典型值 | 最大值 | |
| CAN_High(V) | 2.0 | 2.5 | 3.0 | 2.75 | 3.5 | 4.5 | 1.6 | 1.75 | 1.9 | 3.85 | 4.0 | 5.0 |
| CAN_Low(V) | 2.0 | 2.5 | 3.0 | 0.5 | 1.5 | 2.25 | 3.10 | 3.25 | 3.4 | 0 | 1.0 | 1.15 |
| High_Low(V) | -0.5 | 0 | 0.05 | 1.5 | 2.0 | 3.0 | -0.3 | -1.5 | – | 0.3 | 3.0 | – |