CAN基础信息
车载网络概述
1、车联网
按范围:车内网,车外网,车云网
按速率:低速网、中速网、高速网
2、为什么使用数据总线:
减少线束
电子信息代替机械传动
3、主要车载网络协议
CAN:车身/控制系统用LAN协议 1Mbit/s
LIN:车身控制系统用LAN协议 20kbit/s
FlexRay:重视安全、按用途分类的LAN协议 10Mbit/s
MOST:信息通信协议 225Mbit/s
IDB-C:以CAN为基础的LAN协议 250Kbit/s
4、现场总线:
双向、串行、多节点、开发
要求:实时性强、可靠性高、安全性好
特点:
多维短帧传输
速率较低
5、总线:
拓扑结构:星形、总线、环形
传输介质:双绞线、同轴电缆、光纤
通信方式:单工、半双工、全双工
6、车载网络要求:
1、采用串行总线拓扑
2、节点数量可以动态改变
3、有良好的抗干扰
4、差错检测和处理
5、实时性
6、故障检测和处理能力
其中CAN(ISO-11898)可以满足以上要求
7、CAN 采用双线差分信号,
对节点数量无限制,可动态改变
支持广播发送
多主站结构,各节点平等
优先级&相关性过滤,依赖于帧ID
短帧结构
通信介质灵活(使用双绞线)
8、CAN节点结构
图略,待补充
9、差分信号:存在差分电压时定义为”0“显性
不存在差分电压时定义为”1“隐性
10、双线差分电压:2V
11、拓扑结构:
从第一个节点到其最远节点的线路称为总线(干线) min:0m max:40m
其余线路称为支线`` min:0m max:1m
节点之间的距离称为节点距 min:0.1m max:40m
终端电阻 min:100 max:130 常用:120欧姆
12、双绞线:
屏蔽、非屏蔽
特征阻抗:min:95欧姆 名义:120欧姆 max:140欧姆
单位延迟: 名义:5ns/
13、终端发射的概念:
终端发射的发生原因:电流变化过大,产生磁场,感应生成了一个电场,产生发射电信号
电流突变为0,导线有一个电感,电感保持电流不变,会产生一个反向电流
反射问题需要使用终端电阻解决,终端电阻接法:
CANH:---------------------------------------------------
| |
| |
60欧姆---------------------60欧姆
| |
(避免地飘)GND | |-----GND
| |
60欧姆----------------------60欧姆
CANL:--------------------------------------------------------
地漂移:CAN采用差分信号来传递信号,不同节点的地电位存在较大差异
14、反射率计算
15、CAN DB9接法:CANL:PIN2 CANH:PIN7 PIN3:GND PIN6:GND PIN9:V+
CAN的数据链路层:
16、通信机制
16.1 发送报文
检测总线状态 --> 总线空闲 --> 发送报文且回读
(回读OK,发送成功,回读结果异常,回到只听状态,待总线空闲时再发送)
16.2 线与机制
当存在A、B两个CAN节点同时发送报文时,使用ID进行仲裁(ID值小)-->0位越小越向前
ID值越小,优先级越高
当仲裁失利后,退出仲裁,该节点转为只听状态
16.3 数据帧比远程帧先发送
16.4报文接收
检查报文相关性(根据报文ID进行判断,需求ID一致即为相关),相关则接受,反之则过滤
编码使用NRZ编码(即使用0为低,1为高,不使用曼彻斯特编码)
16.5 NRZ与位填充
NRZ编码边沿较少,定时较差,需要使用位填充
CAN发送连续5个相同位时,补充一个极性相反位
CAN接受连续5个相同位时,去除一个极性相反位
17、CAN数据帧
数据帧:标准帧 拓展帧
远程帧:只有ID,需要数据(DLC为0)
错误帧:主动错误 被动错误
超载帧
帧间空间
17.1 数据帧
标准帧:
---------------------------------------------------------------------------------------------
B | | | R | | | | | | | | | | | B
U | S | | | I | | D | | | D | | R | | | U
S | | I | | | | | | | | A | | | | S
I | O | | T | | R| L | DATA Filed | CRC | E | | F |EOF|ITM| I
D | | D | | D | | | | | | C | | | | D
L | F | | R | | | C | | | L | | | | | L
E | | | | E | | | | | | K | C | | |
------------------------------------------------------------------------------------------------
SOF:帧起始:显性位"0",在总线空闲时,发送SOF,标志该帧开始发送
ID :11位(对应拓展帧的ID)
RTR:区分远程帧(1)&数据帧(0)
IDE:区分标准帧(0)&扩展帧(1)
r:保留,为0
DLC:占用4bit(0~15,9~15均为8Byte)表示数据存在多少Byte
DataFiled:0~64位,高字节先发or低字节先发
CRC冗余校验:15bit
DEL:1bit(固定为1)
ACK:1bit(正确为0,错误为1)
ACKDEL:1bit(固定为1)
EOF:7bit(7个1)
TIM:3bit(3个1)
拓展帧
---------------------------------------------------------------------------------------------
B | | | S | | E | | | | | | | | | | | | B
U | S | | | I | X | R | | | D | | | D | | R | | | U
S | | I | | | | | | | | | | | A | | | | S
I | O | | R | | I | T |r1 |r0| L | DATA Filed | CRC | E | | F |EOF|ITM| I
D | | D | | D | D | | | | | | | | C | | | | D
L | F | | R | | | R | | | C | | | L | | | | | L
E | | | | E | | | | | | | | | K | C | | |
------------------------------------------------------------------------------------------------
SOF:帧起始:显性位"0",在总线空闲时,发送SOF,标志该帧开始发送
ID :11位(对应标准的ID)
SRR:无意义,默认为1
ExendedID:28位
RTR为区分远程帧(1)&数据帧(0)
r1&r0:保留,为0
DataFiled:0~64位
CEC冗余校验:15bit
DEL:1bit(固定为1)
ACK:1bit(接收正确为0,错误为1) 发送时ACK为1,接收时被拉高为0
ACKDEL:1bit(固定为1)
EOF:7bit(7个1)
TIM:3bit(3个1)
当总线发送连续11个隐形位1(ACKDEL+EOF+TIM)时,总线认为此时总线空闲
在CRCDEL之前会进行位填充,之后固定,不允许位填充
CRC:
[SOF--->DataFiled(最后一位)]/16bit多项式系数 =>得到余数R
18、错误帧
位错误:发送节点在发送后回读发送位时,发现发送与回读不一致时,检测到位错误,仅在发送节点出现
填充错误:当出现6个连续的相同极性时,报错;发送&接收节点均可检查到
ACK错误:发送节点回读ACK未被接收节点置高(从1置0), 发送节点检查
格式错误:从CRC后固定的格式发送错误;发送&接收均可检查到
CRC错误:接收节点
当CAN总线开始运行时,会自动进入主动错误(TEC:发送错误计数器,REC:接收错误计数器)
开机--------------->主动错误
/ \
/ \用户请求&发送128个连续隐形位
/ REC>127 \
/ or TEC>127 \
\/_ \
被动错误 ------------> 将节点从总线拿下
TEC>256
18.1 主动错误帧
-----------------------------------------------------
| |
6个显性位 | |
(主动错误标志) |0~6 bit 错误标志叠加 | 8bit 错误界定符
| |
------------------------------------------------------
错误标志叠加:由非错误帧发送者发出,将错误标志叠加上
18.2 被动错误帧
-----------------------------------------------------
| |
6个隐性位 | |
(主动错误标志) |0~6 bit 错误标志叠加 | 8bit 错误界定符
| |
------------------------------------------------------
错误叠加
总线上同一时刻只会体现一位的状态。
收发节点的错误帧会在某一时间段发生重合
重合部分显性覆盖隐性
19 位定时与同步
位时间有多个Tq 组成
波特率:1/位时间
一个位的组成:
同步段 + (传播段+相位缓冲段1)+相位缓冲段2
同步段:跳变沿存在于同步段中 时长为Tq
传播段:满足2倍的信号总线延迟(为抵消ACK在总线传输延时)
采样点一般在相位缓冲段1与相位缓冲段2之间进行
CAN FD的组成:
待画出
SAE J1939
浙公网安备 33010602011771号