can通信系列(一)

前言

本系列can通信分享内容是对互联网上各种介绍can通信文章的整理,可以让读者更系统的了解can通信。参考的文章见文末。

CAN

Controller Area Network(CAN)是ISO国际标准化的串行通信协议,是一种异步半双工通讯。CAN总线协议是建立在OSI七层参考模型的基础上的,但是它的模型结构只有三层,即物理层、数据链路层和应用层。

物理层总线网络

CAN控制器及CAN收发器

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。

差分信号

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

CAN通讯协议中差分信号的数值如下表所示。

信号 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 -

参考

参考文献
https://blog.csdn.net/xwwwj/article/details/105372234
https://blog.csdn.net/g498912529/article/details/126248130

发表回复