CAN总线的概念/工作原理/组成/结构

文章内容:
什么是can总线
can总线的工作原理
can总线帧组成
can总线结构
can总线协议结构
can总线解析的实测案例
什么是can总线
控制器局域网总线(can,controller area network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。can协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。
汽车can总线由can控制器、can收发器、数据传输线、数据传输终端等组成。cb311的ecu(发动机控制单元)、tcu(变速器控制单元)、feps(无钥匙进入和无钥匙启动系统)、组合仪表四个电控单元通过can总线连接,can控制器、can收发器均集成在电控单元中。can总线的结构如图1所示。
图1 can总线的总体结构
can协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1mb/s、同时具有11位的寻址以及检错能力。
can总线的工作原理
can总线使用串行数据传输方式,可以1mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。
can与i2c总线的许多细节很类似,但也有一些明显的区别。当can总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。
当一个站要向其它站发送数据时,该站的cpu将要发送的数据和自己的标识符传送给本站的can芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。
can芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。由于can总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在can总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。
现代汽车的电控单元主要有主控制器、发动机控制系统、悬架控制系统、制动防抱死控制系统(abs牵引力控制系统、asr控制系统、仪表管理系统、故障诊断系统、中央门锁系统、座椅调节系统等)。
所有这些子控制系统连接起来构成1个实时控制系统,即:指令发出去之后,必须保证在一定时间内得到响应,否则,就有可能发生重大事故。这就要求汽车上的can通信网络有较高的波特率设置。另外,汽车在实际运行过程中,众多节点之间需要进行大量的实时数据交换。若整个汽车的所有节点都挂在1个can网络上,众多节点can总线进行通信,信息管理配置稍有不当,就很容易出现总线负荷过大,导致系统实时响应速度下降。
这在实时系统中是不允许的,因此在对汽车上各节点的实性进行了分析之后,根据各节点对实时性的要求,设计了高、中、低速3个速率不同的can通信网络,将实时性要求严格的节点组成高速can通信网络,将其它实时性要求相对较低的节点组成中速can通信网络,将剩下实时性要求不是很严格的节点组成低速can通信网络。并架设网关将这3个速率不同的3个通信网络连接起来,实现全部节点之间的数据共享。
can总线帧组成
can总线信号就是can总线中传输的帧,can总线中的帧类型分为5种,分别是数据帧、远程帧、错误帧、过载帧、帧间隔。
1.数据帧:用于发送节点向接收节点传送数据的帧。
2.远程帧:用于接收节点向具有相同id的发送节点传送数据的帧。
3.错误帧:用于当检测出错误时向其他节点通知错误的帧。
4.过载帧:用于接收节点通知其尚未做好准备的帧。
5.帧间隔:用于将数据帧及远程帧与前面的帧分隔开来。
标准帧和扩展帧:
数据帧和远程帧都可以使用标准帧格式或者扩展帧格式
rtr:远程发送请求位,数据帧为显性,远程帧为隐性。
srr:代替远程请求位(在扩展格式中在rtr位置,所以得此名),该位为隐性位。在这个地方占个位以保持标准帧和扩展帧ide对齐,便可以判断标准帧优先于扩展帧。
ide:标识符扩展位,标准帧为显性,扩展帧为隐性。
r0、r1:保留位。
dlc:数据长度位。
crc:校验位。
crc分隔符:隐性位
ack:应答位和应答界定位。在应答域中,发送器发出两个隐性位。接收器接收到报文后,在应答位期间,用显性位填充应答位作为回应,应答界定则为保持隐性。
帧结束:由7个隐性位组成。
数据帧:
sof帧起始:数据帧开始的段。
仲裁场:该帧优先级的段。
控制场:数据的字节数以及保留位。
数据场:数据内容。
crc场:校验数据。
应答场:确认正常接收的段。
帧结尾:数据帧结束的段。
远程帧:
通过发送远程帧,作为数据接收器的节点可以发起各自数据源的数据传送请求,即向数据发送器请求发送具有相同id的数据帧。远程帧没有数据段。
错误帧:
错误类型:应答错误,填充错误,crc错误,格式错误
错误帧由错误标志的叠加和结束符组成。错误标志有主动(积极)错误标志和被动(消极)错误标志。主动(积极)错误标志为6个显性位,被动(消极)错误标志为6个隐性位。
错误积极节点:如果检测到一个错误条件,就会发送积极错误标志。这将引起其它节点检测到填充错误,并开始发送错误标志。因此错误标志叠加在6~12位之间。节点发送完错误标志之后就发送一个隐性位,并监控总线,直到总线上出现一个隐性位,然后再发送7个隐性位。这样一个错误帧就发送完毕了。
消极错误节点:如果检测到一个错误条件,会试图发送一个消极错误标志进行指示。这个消极错误节点会一直等待6个具有相同极性的连续位,等待从消极错误标志起始开始,当检测到6个相同极性的连续位时,消极错误标志发送完成。
过载帧:
过载条件:接收器要求延迟下一次数据帧或远程帧的到达;在帧间隔间歇场的第一位和第二位检测到显性位;如果can节点在错误界定符或过载界定符的第8位采样到一个显性位,则节点会发送一个过载帧,错误计数器不会增加。
帧间空间:
数据帧和远程帧的前面必然有帧间空间。对于主动错误节点和被动错误节点,帧间空间的结构稍有不同。对于主动错误节点,帧空间由3个显性位的间歇字段和总线空闲组成。在间歇字段不允许发送数据帧和远程帧。总线空闲的长度任意,当有显性位时就被认为是帧起始。被动错误标志除了上边两部分外,在间歇字段后还有8个显性位的挂起传输。在挂起传输阶段被动错误节点不可以发送数据帧与远程帧。
can总线结构
下图中,左边是高速can总线的拓扑结构,右边是低速can总线的拓扑结构。
如图中所示,can总线包括can_h 和 can_l 两根线。节点通过can控制器和can收发器连接到can总线上。
can总线协议结构
can标准分为底层标准(物理层和数据链路层)和上层标准(应用层)两大类。can底层标准主要是iso 11898系列的国际标准,也就是说不同厂商在can总线的物理层和数据链路层定义基本相同;而上层标准,不同应用领域或制造商会有不同的做法,所以在这一块没有统一的国际标准。
根据osi参照机型,定义数据链路层与物理层。
osi规格化以外,sae j2284, j2411等规格也有类似分层。
can总线解析的实测案例
汽车控制系统测试案例
ecu(electronic control unit)电子控制单元,又称“行车电脑”、“车载电脑”等。从用途上讲则是汽车专用微机控制器。它和普通的电脑一样,由微处理器(mcu)、存储器(rom、ram)、输入/输出接口(i/o)、模数转换器(a/d)以及整流、驱动等大规模集成电路组成。用一句简单的话来形容“ecu就是汽车的大脑”。为保证车辆运行通畅,在汽车的开发与检测中,一般需要进行以下项目的测试:
• 多路ecu控制信号的时序关系• 多路转速、喷油脉冲、曲轴转角等传感器信号• 进行can总线的解码分析


2023CESIS千人峰会 共话电子行业智能化
应急灯电路的工作原理
用LCR表测试无线充电系统中的线圈
2017年会爆红黑科技,这几个一定要知道(雷蛇三屏互联笔记本)
基于三菱FX3U大小物件分拣案例
CAN总线的概念/工作原理/组成/结构
基于STM32点亮LED灯
魅族PRO 6s经典评测:6个月的磨砺,缔造不一样的经典!
英特尔推新一代Horse Ridge低温量子控制芯片
如何知道AI建议是否仅出于业务需要而不是出于其他原因而被调整呢?
智能快递柜组网用工业路由器功能优势的说明
小辣椒V9怎么样?小辣椒V9值得购买吗?小辣椒V9外观、配置、续航喜人,价格仅需1599
瑞芯微RK3568|SDK开发之Kernel编译
MEMS加速度传感器在生活中的普遍应用
基于实例的智能工艺设计系统
首日开盘大涨61.88%!安防CIS芯片龙头思特威科创板上市
生产型企业在选择机器视觉检测设备的注意事项
AI自主意识开始觉醒?
tb-gateway网关的设备接入实例
苹果手机陌陌删除的消息怎么恢复?详细教程演示