第一节、CAN起源于概述
CAN线的起源
汽车控制系统之间的信息交互通过点对点的连接方式,随着信息交换的需求和交换信息范不断增长,各电子设备之间的连接需要较长的线束和大量的连接器,导致物料成本增加、生产时间延长和可靠性降低等问题。
为了解决以上问题,在每个控制单元增加控制接口,制定相应的收发规则,就能实现总线数据交换,这就是CAN总线的雏形。
根据通信速率,面向汽车的CAN通信协议进行以下分类:
CAN总线概述
CAN总线波特率特性
CAN线规范规定了总线通信距离与通信波特率的关系。
波特率越大,通信速率越快,支持的距离越短。
CAN总线速率40k波特/秒时,总线长度可达1000m,CAN总线速率1M波特/秒时,总线长度可达40m.
高速CAN通常应用于对通信实时性要求较高的节点,比如发动机管理单元;
高速CAN通常应用于对通信实时性要求较低的节点,比如空调控制、灯光控制等娱乐单元;
不同类型的CAN设备之间不可以直接连接在同一总线上,需要通过网关进行隔离。
CAN Controller Area Network 控制单元区域网络
CAN网络在汽车领域的应用:
主要分为车身CAN、动力CAN和诊断CAN三类。
CAN网络模型结构
CAN网络底层只采用采样了OSI通信模型中的最低两层,即数据链路层和物理层,
ISO11898-1 定义了数据链路层和信号标准;
ISO11898-2 和ISO11898-3 定义了PMA和PMS,描述了高速CAN物理层和低速CAN物理层;
CiA DS-102 通常用于特定的连接器和特定的引脚分配。
CAN网络实现:需要CAN控制器、CAN收发器、CAN设备的物理介质、CAN总线组成。
各层中CAN定义的事项:
第二节、CAN总线通信介绍
CAN总线网络图
Microcontroller:负责与其他节点应用层的交互,ECU需要传递数据时,Microcontroller会将数据发送给CAN-Controller;
CAN-Controller:负责进行报文的封装,封装后以二进制码的形式发送给CAN-Transceiver;
CAN-Transceiver:负责将二进制信号转换成电信号,将CAN_H和CAN_L拉到对应的阈值;
终端电阻Rr:保证信号在传输过程中的阻抗连续性,消除反射和干扰;
CAN节点:各个不同的ECU;
CAN_H和CAN_L双绞线。
CAN节点内部结构组成图
CAN通信的传递信号
CAN通信的传输信号采用差分信号的模型:
隐性电平 :逻辑 1 ;显性电平 :逻辑 0
使用差分信号和双绞线缠绕的好处:
当CAN受到干扰时,两条线同时受到干扰,相对压差保持不变,可以提高信号的稳定性 。
CAN通信的仲裁
CSMA(carrier Sense Multiple Access/Collision Avoidance)/CA (非破坏性仲的载波侦听多路访问/冲突避免)
CS(载波侦听):总线上的哥哥节点在发送数据前都要侦听总线的通信状态。
MA (多路访问) :网络上所有节点以多点介入的方式连接在同一根总线上,且发送数据是广播式。
CA (数据避免) :节点在发送数据过程中要不停的检测发送的数据,确定是否与其他节点发生数据冲突,