can总线是什么(汽车can线是哪根怎么找)
CAN总线的汽车
CAN概念
CAN是控制器域网 (Controller Area Network, CAN) 的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898),是ISO国际标准化的串行通信协议。是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。
CAN的两个ISO国际标准:
1)ISO11898 :定义了通信速率为 125 kbps~1 Mbps 的高速 CAN 通信标准,属于闭环总线,传输速率可达1Mbps,总线长度 ≤ 40米。
2)ISO11519:定义了通信速率为 10~125 kbps 的低速 CAN 通信标准,属于开环总线,传输速率为40kbps时,总线长度可达1000米。CAN种类
1)高速CAN:
a.根据线缆的长度提供从5Kbit/s到1Mbit/s的波特率。
b.高速CAN网络在每个网络端点端接一个120欧姆的电阻。
c.电平静默为2.5V,上下限是3.5V和1.5V。
2) 容错CAN:
a.提供5Kbit/s到125Kbits/s的波特率。
b.显性时则为1V和4V。
3)单线CAN:
a.提供5Kbit/s到125Kbits/s的波特率。
b.单线CAN的波特率一般为33.3KHz。汽车CAN网络
汽车CAN网络
汽车CAN总线CAN组成
CAN总线的一个帧主要由帧信息,帧ID和帧数据组成。
1)帧信息:分四类,标准数据帧(汽油车、电机)、标准远程帧(少见)、扩展数据帧(广大柴油车、部分汽油车)、扩展远程帧(少见)。
2)帧ID:是CAN的一种"地址"。CAN有个特点是竞争机制,帧ID越小越有占用总线资源的权利,越会优先发送。
CAN ID
DBC文件:车辆行业中,如果对车辆CAN总线上的每个帧ID及每个帧数据都做出了标准的解释,形成了的文件就是DBC文件。
3)帧数据:和串口相比,CAN的帧数据只有8个字节,即64个位,不会再多了。但CAN FD作为新型总线解决了仅有8字节这个问题。
4)终端电阻:CAN和RS485一样,要在终端减少差分信号的反射,如不在两个终端加电阻,信号会反弹回来影响通讯。终端电阻在CAN总线上要有两个,阻值为120欧姆,并联,最远的终端一边一个。如果有多个节点的话,终端电阻应适当加大。
5)波特率:常见的车辆波特率有500K,250K,125K,100K。CAN总线标准
ISO标准
CAN标准分为底层标准(物理层和数据链路层)和上层标准(应用层)两大类ISO 11898-1 – CAN协议ISO 11898-2 – CAN高速物理层ISO 11898-3 – CAN低速可容错物理层ISO 11898-4 – 时间触发CANISO 11898-5 – "低功率模式高速介质存取单元" – 目前处于起草阶段ISO 11519-2 – 已过时,被11898-3取代。ISO 14230 – "关键字协议2000" – 定义非CAN串行线路诊断的若干部分。ISO 15765 – CAN总线上定义诊断的标准 – 本质上是CAN总线上的关键字协议2000。J1939 – 卡车和客车领域应用最广泛的基于CAN的高层协议,由SAE定义。J1939分成几个部分,描述物理层、数据链路层、网络管理和大量预定义的报文。ISO 11783 – 与J1939相似,但用于农业领域(诸如拖拉机)ISO 11992 – 定义卡车和拖车之间的接口NMEA 2000 – 基于J1939的协议,用于海事领域。由NMEA委员会定义。
如果没有详细说明谈论中所使用哪种标准,通常其默认是指ISO 11898-1定义的数据链路层协议和ISO 11898-2定义的物理层。
底层标准:
CAN底层标准都基本一样,涵盖OSI模型中的物理层和数据链路层,与ISO/OSI模型的对应关系如下图所示:
对应关系
ISO 11898-1:数据链路层协议,描述CAN总线的基本架构,定义不同CAN总线设备在数据链路层通信方式ISO 11898-2:高速CAN总线物理层协议,最高数据传输速率 1Mbps,应用为两线平衡式信号(CAN_H, CAN_L)ISO 11898-3:定义低速CAN总线(LS-CAN, Fault-Tolerant CAN)物理层标准,数据传输速率在 5Kbps ~ 125Kbps 。Fault-Tolerant是指总线上一根传输信号失效时,依靠另外的单根信号也可以通信ISO 11898-4:定义CAN总线中的时间触发机制(Time-Triggered CAN, TTCAN),定义与ISO 11898-1 配合的帧同步实体,实现汽车ECU之间基于时间触发的通信方式。
上层标准:
不同应用领域或制造商有不同的做法,没有统一的国际标准
上层协议对比CAN的帧种类(四种帧类型)
1)数据帧
用于发送单元向接收单元传送数据的帧。
数据帧的帧结构图:
数据帧
SOF:表示数据帧开始;(1 bit),发出一个显性位边沿,网络节点以此开始同步
ID:标准格式11 bit,扩展格式29 bit包括Base ID(11 bit)和Extended IDr(18 bit),该区段标识数据帧的优先级,数值越小,优先级越高;
RTR:远程传输请求位,0时表示为数据帧,1表示为远程帧,也就是说RTR=1时,消息帧的Data Field为空;(1 bit)
IDE:(1 bit)标识符扩展位,0时表示为标准格式,1表示为扩展格式;扩展帧和标准帧格式不同,不能存在于同一can网络
DLC:数据长度代码,0-8表示数据长度为0~8 Byte;(4 bit)
Data Field:数据域;(0~8 Byte)
CRC (15 bit):校验域,从sof到数据场的所有数据进行encode由发送方填校验算法G(x) = x15 x14 x10 x8 x7 x4 x3 1;(15 bit)
DEL:校验域和应答域的隐性界定符;(1 bit)
ACK:(1 bit)应答域,确认数据是否正常接收,所谓正常接收是指不含填充错误、格式错误、 CRC 错误。发送节点将此位为1,由接收方进行确认,收到消息给出一个显性位0如果一个节点都没有确认收到消息,发送方监听此位为隐形位就会报错
SRR:替代远程请求位,在扩展格式中占位用,必须为1;(1 bit)
EOF:连续7个隐性位(1)表示帧结束;(7 bit)
ITM(3 bit):帧间空间,Intermission (ITM),又称Interframe Space (IFS),连续3个隐性位,但它不属于数据帧。帧间空间是用于将数据帧和远程帧与前面的帧分离开来的帧。数据帧和远程帧可通过插入帧间空间将本帧与前面的任何帧(数据帧、遥控帧、错误帧、过载帧)分开。过载帧和错误帧前不能插入帧间空间。
2)远程帧
用于接收单元向具有相同标识符的发送单元请求数据的帧。
远程帧与数据帧的帧结构类似,区别:1、数据帧的 RTR 值为"0",远程帧的 RTR 值为"1"。2、远程帧没有数据块。3、远程帧的 DLC 块表示请求发送单元发送的数据长度。
格式图
远程帧
当总线上具有相同标识符的数据帧和远程帧同时发送时,由于数据帧的 RTR 位是显性的,数据帧将在仲裁中赢得总线控制权。
3)错误帧
用于当检测出错误时向其它单元通知错误的帧。
错误帧的帧结构由错误标志和错误界定符构成。
错误标志:6bit,
错误标志
错误界定符:由8bit的隐性位构成。
4)过载帧
接收单元通知发送单元它尚未完成接收准备。
发送过载帧的两种情况:
1、接收单元条件的制约,要求发送节点延缓下一个数据帧或远程帧的传输。
2、帧间空间(Intermission)的 3 bit 内检测到显性位。
每个节点最多连续发送两条过载帧,过载帧由过载标志和过载界定符(8 个隐性位)构成。
过载帧
数据帧和远程帧比较:
比较CAN总线仲裁
仲裁优先级:标识符值越小,消息的优先级越高
线与逻辑:只有节点发送的全是隐性,总线电平才表现为隐性
所有发送节点在发送数据的同时,也检测总线上的电平状态,逐位对比总线上电平与自身发送的电平。1)发 0 出现 1 :报错。2)发 0 出现 0 :继续。3)发 1 出现 1: 继续。4)发 1 出现 0: 竞争失败,转为接收方。
发送自检
如下图,竞争失败的C节点会自动在检测到总线空闲的第一时间再次尝试发送。
CAN 节点A和C同时发送数据帧,CAN总线根据优先级仲裁,C失去权力
CAN条件接收
在CAN总线上消息是广播式的,节点可以通过设置控制器中过滤码(Filter Code )和掩码(Mask Code),再检验总线上消息的标识符,来判断是否接收该消息,对于掩码,"1"表示该位与本节点相关,"0"表示该位与本节点不相关。
CAN-BUS数据流程
STM32的can过滤码位填充
CAN总线采用NRZ编码,没有单独时钟线,优点是效率高,但却不易区分哪里是bit开始,哪里是bit结束。因此为确保在同步通信过程中有足够的电平跳变,规范中应用到位填充机制,即在每连续 5个相同电平后插入1个反相电平,接收节点在收到消息后自动将填充位删除。
数据帧位填充比较图
在帧内除了CRC界定符、ACK域和EOF外,其余部分均应用到位填充机制,在应用到位填充的域,检测到连续6个显性位或隐性位均视为报错。
CAN错误检验
CRC错误
1)在发送消息时,发送节点会根据特定的多项式计算出由数据帧SOF位到数据域最末位的Checksum值,并将该值放在数据帧的CRC域,随着数据帧广播到总线上。
2)接收节点在收到数据后,应用同样的多项式计算Checksum值,并与收到的Checksum值对比。如果两者一致,正常接收;如果不一致,则舍弃该消息,并发送错误帧请求发送节点重传消息。
应答错误(ACK Error)
接收方会在收到消息后在ack应答位给出一个显性电平,如果发送方检测到该位为隐性,则报错。
格式错误(Form Error)
检测出与固定格式的位段相反的格式时所检测到的错误,如检测crc界定符和ack界定符以及eof区域是否出现显性位。
位错误(Bit Error)
比较输出电平和总线电平(不含填充位),当两电平不一样时所检测到的错误。如发送显性位,但总线是隐性位就报错。
填充错误(Stuff Error)
在需要位填充的段内,连续检测到 6 位相同的电平时所检测到的错误。CAN总线错误检测机制
CAN总线上的每个节点控制器都会检测消息是否出错,如果节点发现消息出错,它将发送错误标志,从而打断总线上正常的数据传输。总线上其它没有发现原始消息错误的节点,在收到错误标志后将采取必要的措施,比如舍弃当前总线上的消息。
CAN节点内部有两种错误状态计数器 :1)TEC /Transmit Error Counter,发送错误状态计数器,出现一次错误该计数器值 82)REC /Receive Error Counter,接收错误状态计数器,出现一次错误该计数器值 13)消息成功发送或接收一次,对应的 TEC 或 REC 值相应 -1
错误计数
CAN规范定义了节点的 3 种错误状态:1) 主动错误:正常状态,在此状态下,节点可以发送所有类型的帧,包括错误帧;发现错误后会很积极主动地上报错误。2)被动错误:节点可以发送除错误帧以外的所有帧;TEC or REC 计数超过127就进入此状态;此时,该节点发现错误后只会发送6个隐性位,不会把错误广播出去。并且,发送连续帧时,中间必须间隔8bit的延缓时间。3)总线关闭:节点被控制器从总线上隔离;或者TEC大于255,就会进入这个状态,需要重启,或者等待128个11位隐性位电平。
CAN总线错误检测机制
诸葛亮为什么要北伐(刘备晚年为什么想除掉诸葛亮)先帝深虑,汉,贼不两立,王业不偏安,故托臣以讨贼也。以先帝之明,量臣之才,固知臣以伐贼,才弱敌强也。然不伐贼,王业亦亡。唯坐而待亡,孰与伐之?是故托臣而弗疑也。臣鞠躬尽瘁,死而后已
诸葛亮北伐(诸葛亮为什么坚持要北伐?)诸葛亮北伐(诸葛亮为什么坚持要北伐?)诸葛亮为什么坚持要北伐?真的是因为要报刘备的知遇之恩吗?诸葛亮与刘备,虽然有鱼水之说,但是刘备并没有像三国演义所描写的那样,把一切都交给诸葛亮
刘德华最新消息(最近刘德华)刘德华最新消息(最近刘德华)6日,刘德华官方后援会公开了刘德华1999年红馆演唱会排练的绝密视频,引发回忆杀。歌迷透露,这是刘德华兑现30年前对粉丝许下的承诺,而且公开99年演唱会
刘德华的恭喜发财(刘德华的恭喜发财2021春晚)刘德华的恭喜发财(刘德华的恭喜发财2021春晚)我恭喜你发财我恭喜你精彩恭喜发财恭喜发财才是刘德华的第一金曲,传唱度秒杀所有天王巨星最近,刘德华登陆第一个社交平台抖音,结果连续几天
刘德华电影国语(6部电影才是刘德华最棒的电影)刘德华电影国语(6部电影才是刘德华最棒的电影)对于一个演员来说最大的幸运就是碰上一个好的剧本,遇见一位好的导演。在这方面刘德华是幸运的,他从出道到现在拍过150多部电影,他几乎合作
相川步美(相川步最终娶了几个人)相川步美(相川步最终娶了几个人)不知道诸位朋友是否喜欢看后宫动漫呢?一般在后宫类的动漫作品里面,女性角色都挺多的,而且妹子们的脾气性格相貌特点各有各的特色,有傲娇的,有温柔的,有可
秦始皇叫什么名字(秦始皇一生最爱的女人)中国统一的鼻祖秦始皇一生中有20多个儿女,但是历史记载中却很少有关于后宫嫔妃的故事,秦始皇一生存在太多的谜团,其中最引考古学家感兴趣的就是他的那些嫔妃们了。虽然史记中相关记载很少,
黄飞鸿系列(黄飞鸿大电影总共有六部)黄飞鸿系列(黄飞鸿大电影总共有六部)黄飞鸿这个人物角色,总共衍生出了上百部电影,可以说堪称华语电影第一大IP也不过。然而在众多黄飞鸿电影中,传播度最高的无疑是徐克导演或监制的黄飞鸿
邓婕有孩子吗?(张国立和邓婕有孩子吗?)邓婕有孩子吗?(张国立和邓婕有孩子吗?)张国立和邓婕有孩子吗?他们是娱乐圈少见的甜蜜中年夫妻,而且在生活中也是相濡以沫,互相给予温暖。但是,美好的婚姻背后是藏不住的秘密,或许是张国
应采儿晒小儿子照关于到现在应采儿晒小儿子照这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道应采儿晒小儿子照,小编也是到网上收集了一些与应采
应采儿晒小儿子照关于到现在应采儿晒小儿子照这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道应采儿晒小儿子照,小编也是到网上收集了一些与应采
教大家sk2神仙水功效近日有关于教大家sk2神仙水功效的问题受到了很多网友们的关注,大多数网友都想要知道教大家sk2神仙水功效的具体情况,那么关于到教大家sk2神仙水功效的相关信息,小编也是在网上进行了
教大家sk2神仙水好用吗近日有关于教大家sk2神仙水好用吗的问题受到了很多网友们的关注,大多数网友都想要知道教大家sk2神仙水好用吗的具体情况,那么关于到教大家sk2神仙水好用吗的相关信息,小编也是在网上
教大家sk2神仙水价格近日有关于教大家sk2神仙水价格的问题受到了很多网友们的关注,大多数网友都想要知道教大家sk2神仙水价格的具体情况,那么关于到教大家sk2神仙水价格的相关信息,小编也是在网上进行了
教大家sk2神仙水使用方法近日有关于教大家sk2神仙水使用方法的问题受到了很多网友们的关注,大多数网友都想要知道教大家sk2神仙水使用方法的具体情况,那么关于到教大家sk2神仙水使用方法的相关信息,小编也是
教大家sk2神仙水真假辨别近日有关于教大家sk2神仙水真假辨别的问题受到了很多网友们的关注,大多数网友都想要知道教大家sk2神仙水真假辨别的具体情况,那么关于到教大家sk2神仙水真假辨别的相关信息,小编也是
华为保修多久(华为手机怎么看激活日期查询)近日,花部长发现有很多粉粉在后台留言了很多关于手机操作的问题,想必这些问题可能也是其他粉粉经常会遇到的,于是花部长就整理出了10个常见的疑问,在这里统一给大家解答了哈Q1熄屏状态下
教大家夏天要擦面霜吗近日有关于教大家夏天要擦面霜吗的问题受到了很多网友们的关注,大多数网友都想要知道教大家夏天要擦面霜吗的具体情况,那么关于到教大家夏天要擦面霜吗的相关信息,小编也是在网上进行了一系列
教大家资生堂五合一面霜金色怎么样适合年龄近日有关于教大家资生堂五合一面霜金色怎么样适合年龄的问题受到了很多网友们的关注,大多数网友都想要知道教大家资生堂五合一面霜金色怎么样适合年龄的具体情况,那么关于到教大家资生堂五合一
教大家资生堂五合一面霜怎么使用近日有关于教大家资生堂五合一面霜怎么使用的问题受到了很多网友们的关注,大多数网友都想要知道教大家资生堂五合一面霜怎么使用的具体情况,那么关于到教大家资生堂五合一面霜怎么使用的相关信
教大家资生堂五合一面霜红色和金色哪个好用近日有关于教大家资生堂五合一面霜红色和金色哪个好用的问题受到了很多网友们的关注,大多数网友都想要知道教大家资生堂五合一面霜红色和金色哪个好用的具体情况,那么关于到教大家资生堂五合一
教大家资生堂五合一面霜怎么样近日有关于教大家资生堂五合一面霜怎么样的问题受到了很多网友们的关注,大多数网友都想要知道教大家资生堂五合一面霜怎么样的具体情况,那么关于到教大家资生堂五合一面霜怎么样的相关信息,小