点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
01
CAN简介
CAN总线简称Controller Area Network,是ISO国际标准化串行通信协议。CAN总线具有很高的可靠性,广泛应用于汽车电子,工业自动化以及医疗等行业。如图是车载CAN网络的示意图。
CAN总线的特点:
1. 多主控制:总线空闲时,所有单元均可发送消息,通过仲裁机制决定优先级。
2. 传输速度快,传输距离远:最高1Mb(距离小于40M),最远10KM(速率小于5KBps)
3. 具有错误检测,错误通知和错误恢复的功能:所有单元都可以检测错误,并且会立即通知其它单元。检测到错误会立即结束当前发送,并重复发送直至发送成功。
02
CAN的物理层
CAN总线的物理层如下图所示,由CANH和CANL两条线组成,两端各连接有120欧姆电阻。各个节点通过CAN收发器连接在总线上。
CAN总线传输的是差分信号,通过CANH与CANL的电压差表示电平。差分信号具有抗干扰能力强,能有效抑制外部电磁干扰。如图所示,CANH-CANL为2V时,为显性电平即逻辑0,CANH-CANL为0时为隐性电平,即逻辑1。实际使用中,通过CAN收发器将差分信号转换为逻辑电平。
03
CAN帧类型简介
CAN通信具有5种帧类型:
1.数据帧
数据帧用发送单元向接收单元传输数据,其构成如图所示。数据帧共由七个段构成。
(1)帧起始:用于表示帧开始的段。
(2)仲裁段:用于表示优先级的段,通常为ID。
(3)控制段:表示数据的字节数及保留位的段。
(4)数据段:数据的内容 通常为0-8个字节的数据
(5) CRC段:检查帧的传输错误的段。
(6)ACK段:表示确认正常接收的段
(7)帧结束:表示数据帧结束的段
(1)帧起始
表示帧开始的段,由1个位的显性位构成。
(2)仲裁段
表示数据优先级的段,标准帧与拓展帧在此段的构成不同。
ID:高位在前,低位在后
基本ID:禁止高7位都为隐性:ID=1111111XXXX
RTR:远程请求。0 数据帧 1远程帧
SRR:替代远程请求位。设置为1 隐性电平
IDE:标识符选择位:0 标准帧 1拓展帧
(3)控制段
控制段由6个位构成,表示数据段的字节数,标准帧与拓展帧格式构成有所不同。
ro,r1:保留位,必须以显性电平发送,但是接收可以是隐性电平
DLC:数据长度编码。0-8表示数据长度
IDE:标志符选择位。0,标准标识符,1拓展标识符。
(4)数据段
数据段包含0-8个字节的数据。从最高位开始输出。标准帧与拓展帧格式一致。
(5)CRC段
CRC 段是检查帧传输错误的帧。由 15 个位的 CRC 顺序 和 1 个位的 CRC 界定符(用于分隔的位)构成。
(6)ACK段
ACK 段(Acknowledge Bit)用来确认是否正常接收。由 ACK 槽(ACK Slot)和 ACK 界定符 2 个位构成,拓展帧与标准帧格式相同。
发送单元ACK段:发送两个隐性位
接受单元ACK段:接受到正确的消息单元,在ACK槽发送显性位,通知发送单元,正常接收结束。
(7)帧结束
帧结束是表示该该帧的结束的段。由 7 个位的隐性位构成。
2.遥控帧
接收单元向发送单元请求发送数据所用的帧。遥控帧由 6 个段组成。遥控帧没有数据帧的数据段。
遥控帧的构成如图 25 所示。
(1)帧起始:表示帧开始的段。(2)仲裁段:表示该帧优先级的段。(3)控制段:表示数据的字节数及保留位的段。(4)CRC 段:检查帧的传输错误的段。(5)ACK 段:表示确认正常接收的段。(6)帧结束:表示遥控帧结束的段。
遥控帧与数据帧的区别在于:遥控帧的RTR位为隐性位,没有数据段。
3.错误帧
错误标志包括主动错误标志和被动错误标志以及错误界定符构成。
主动错误标志:6个显性位 (0)
被动错误标志:6个隐形位 (1)
4.过载帧
过载帧是用于接收单元通知其尚未完成接收准备的帧。过载帧由过载标志和过载界定符构成。
过载标志:6个位的显性位。
过载帧界定符:8个位的隐性位。
04
CAN总线报文的优先级
当多个单元同时发送数据时,会根据以下两个规则进行仲裁。
1.在总线空闲时,最先开始发送消息的单元获得发送权。
2.多个单元同时发送时,各单元从仲裁段的第一位开始进行仲裁,连续输出显性电平多的单元继续发送。.
3.相同ID和格式的数据帧和遥控帧,数据帧具有更高优先级,因为数据中的RTR位时显性电平,而遥控帧的RTR位时显性电平;
4.对于11位标准ID相同的标志数据帧和扩展数据帧,标准数据帧具有更高的优先级,因为标志数据帧的IDE位时显性电平,而扩展数据帧的IDE位时隐性电平。
05
CAN总线位时序与波特率
CAN通信需要各个节点以相同的波特率进行数据通信。位时序是指一个节点采集CAN总线上一个位数据的时序,通过对位时序的控制,可以进行位同步,以保证数据的准确性。位时间 = 1/波特率。
想要了解位时序,还需要知道位速率,位速率说白了就是每秒发送多少个位。一个位又可以分位4段,分别为:同步段(SS);传播时间段(PTS);相位缓冲段1(PBS1);相位缓冲段2(PBS2),这些段由这些段又由可称为 Time Quantum(以下称为 Tq)的最小时间单位构成。
1 位分为 4 个段,每个段又由若干个 Tq 构成,这称为位时序。
1 位由多少个 Tq 构成、每个段又由多少个 Tq 构成等,可以任意设定位时序。通过设定位时序,多个单元可同时采样,也可任意设定采样点。各段的作用和 Tq 数如表 所示。1 个位的构成如图 所示。
上图的采样点,是指读取总线电平,并将读到的电平作为位值的点。位置在 PBS1 结束处。根据这个位时序,我们就可以计算 CAN 通信的波特率了。
来源:CSDN@Gentleman_Lh
https://blog.csdn.net/qq_17291423/article/details/145717118
end
精品活动推荐
AutoSec系列沙龙
专业社群
部分入群专家来自:
新势力车企:
特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......
二级供应商(500+以上):
Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......
人员占比
公司类型占比
原文始发于微信公众号(谈思实验室):AUTOSAR基础之CAN
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论