首页 » 科学 » 干货分享:CAN总线详解 整车的控制只需要一条线_总线_电平

干货分享:CAN总线详解 整车的控制只需要一条线_总线_电平

落叶飘零 2024-12-18 06:59:49 0

扫一扫用手机浏览

文章目录 [+]

浸染:将整车中各种不同的掌握器连接起来,实现信息的可靠共享,并减少整车线束数量。
可以设想一种极度情形,如下图所示:

如:果整车上所有的用电设备都是一个独立的CAN总线节点,并且每一个节点都向外发送自己当前的状态,并接管来自外部的信息, 那么整车的掌握只须要一条CAN总线掌握线和电源线就可以了!

干货分享:CAN总线详解 整车的控制只需要一条线_总线_电平 科学

CAN总线的基本事情事理

CAN总线的通信通过一种类似于“会议” 的机制实现的,只不过会议的过程并不是由一方(节点)主导,而 是,每一个会议参加职员都可以自由的提出会议议题(多主通信模式),二者对应关系如下:

CAN总线事情流程

CAN总线的上风数据传输速率高1Mbit/s,间隔远抗滋扰能力强(差分数据线)具有自我诊断能力(缺点侦测)

CAN总线网络构造

01 CAN总线网络节点构造

02 为何CAN收发器

照BOSCH CAN总线标准将0或1逻辑旗子暗记转换为标准中规定的电平,同时有反馈功能

CAN总线上的电平

CAN2.0A/B标准规定:总线空闲时,CAN_H和CAN_L上的电压为2.5V

在数据传输时,显性电平(逻辑 0):CAN_H 3.5V CAN_L 1.5V

隐性电平(逻辑 1):CAN_H 2.5V CAN_L 2.5V

03总线长度的思考

影响总线长度的紧张成分:

(1)CAN总线通信的应答机制,即成功吸收到一帧报文的节点必须在 应答场的”应答间隙“期间发送一位“显性位”表示成功吸收到一帧数据

如:通信速率为250Kbit/s,传送一个bit所需韶光为:1/250×1000 = 4μ 那么,该旗子暗记在总线上的延时时间必须小于(2μ?)才能担保发送节点成功的在应答间隙期间吸收到该“显性电平”。

任何一根导线都可以简化为左图所示的电路模型,可以看到,个中既有电感又有电容,因此,电流在个中传输并不是光速,而是须要一定的韶光。

对付双绞线而言,旗子暗记在个中的传播延时时间约为,5ns/m(范例值)。
当通信速率达到1Mbit/s时,40m的总线长度, 延时时间就达到200ns,而许可延时时间为600ns旁边,还是不能不考虑的!

由上面的剖析可知:

总线通信速率越高,通信间隔越短,对物理传输线的哀求就越高,在双绞线、屏蔽线还是其他的传输线选择上,通信速率是一个很关键的参数。

影响总线长度的其他成分:

旗子暗记在节点ECU内部的延时时间振荡器的容差(各个节点ECU内部晶振频率的差别) 这些成分加起来就形成了CAN总线通信中总的旗子暗记延时。

CAN总线的硬件抗滋扰

共模电感浸染:共模电压有较大的感 抗,差模电压感抗为零,相称于电感滤波。
对共模电流有较大的阻碍浸染。

终 端 电阻 120 欧姆并非固定不变,这跟利用的导线有关!

总线长度的限定——位定时、同步

CAN总线掌握器按照韶光片的观点将每一个bit的韶光划分成了n个韶光片。
这样做的目的便是为了实现CAN总线的同步、担保不同节点间韶光的同等性。

如:晶振和CAN CLOCK,频率均为4MHz,那么每一个韶光片最小韶光就为0.25μs,通信波特率为250Kbit/s,那么每一个bit的韶光就为4μs, 因此,每一个bit的总的韶光片数目就为16。
当然可以进一步提高晶振频率,使得每一个bit被划分的更加细致。

CAN2.0A/B将每一个bit的韶光划分成了4段,同步段、传输段、相位段1和相位段2,每一段占用一定的韶光片

Can总线报文帧构造

CAN总线共有四种报文:

1 数据帧

2 远程帧

3 缺点帧

4 过载帧

数据帧定义

帧起始:1bit。
从图中看出,在帧间隙后由逻辑1(至少两个bit)向逻辑 0 的跳变就被认为是帧起始,它的浸染便是为了硬同步。

仲裁场:由29bit的ID标示符和IDE、SRR、RTR位构成。
IDE位用于标示该帧是扩展帧(29bit ID)还是标准帧(11bit ID);SRR在扩展帧 中 为 一 隐 性 位 ; R T R 位 为 远 程 帧 标 志 位 。

由上图可以看出,11bit的基本ID首先被发送(ID28~ID18),然后在发送18bit的扩展ID(ID17~ID0)

CAN总线的仲裁机制

要点

(1)首先发送ID的29位,优先级问题

(2)总线电平由谁决定

CAN总线总裁机制的实现也就实现了CAN总线的多主机模式,总线节点不存在谁主谁从的观点

把稳:我们可以人为的给29位的ID授予一定的意义从而区分不同的报文类型!

报文滤波

报文滤波可以通过软件编程的办法实现,也可以通过硬件(芯片内部的报文滤波寄存器)实现,但二者实现的事理是相同的,如下图所示:

数据帧中的其他场浸染

掌握场:包括两位保留位(必须为0),和数据长度位(DLC0~DLC3) 数据场:包括最多8个字节的数据

CRC场:是一种算法,对数据进行CRC校验,共15bit,其后跟了一位CRC界定符——为1(隐性电平)

应答场:为两个1(总线电平为低电平),个中一位为应答间隙,另一位为应答界定符。
成功吸收到数据的节点必须发送一位显性位(总线电平为高电平)

来应答该发送节点,必须把稳:该显性位必须在应答间隙期间, 即1bit的韶光内将总线电平拉高。
帧结尾:7个连续的1组成(隐性电平)

CAN总线的侦听机制—支持仲裁及缺点检讨

帧听便是发出去的数据再采样回来,比较采样回来的数据是否和发出的数据同等!

CAN总线缺点检测

CAN总线通过如下几个方面进行缺点检测

当节点赢得总线发送权后,会对总线电平进行检测,当发送的电平和检测到的总线电平不一致时,认为缺点涌现6个连续相同的电平时,认为是添补缺点CRC缺点,吸收数据的节点按照与发送数据的节点相同的方法打算数据的CRC校验值,如果吸收节点的打算结果与数据包中CRC场的数据不一致, 认为是CRC缺点应答缺点,在应答场如果没有监控到一个显性电平,那么就认定一个应答缺点固定位缺点,例如:CRC界定符等,其电平是固定的,当监控到该电平不符合时,认定一个缺点

另:总线同步机制也是CAN总线容错的一种办法

把稳:通过上面5种缺点检测机制,发送节点和吸收节点均可以检测到总线上的缺点,并通过缺点的累加来实现总线节点的关闭等操作

CAN总线负载率打算

打算例子:

假设CAN总线波特率为250Kbit/s,总线报文发送韶光间隔为10ms, 报文为数据帧(8个字节数据),那么10ms内总线能够支持的最大报文数量为多少?

第一步:根据通信波特率打算10ms统共可以发送多少bit (250000/1000)10 = 2500bit

第二步:打算最长的一帧报文有多少个bit

1sof + 29id + 1ide + 1rtr + 1srr + 2r + 4dlc + 88data

+ 16crc + 2ack + 7eof = 128bit

第三步:打算10ms内可以支持的报文数目

2500/128 ≈ 19

由上面的打算可知,当10ms间隔的报文数量超过19条时,就会涌现丢帧,总线饱和。

打算报文数量也是设计CAN网络所要考虑的,可以查阅干系文献看负载率在多少时得当

标签:

相关文章

中国IT支出持续增长,驱动数字经济的引擎

随着信息技术的飞速发展,数字经济的浪潮席卷全球。在中国,信息技术(IT)支出已经成为推动经济增长的重要引擎。本文将分析中国IT支出...

科学 2024-12-30 阅读0 评论0

中国IT行业,身价倍增的产业新贵

近年来,随着我国经济的快速发展,信息技术(IT)行业呈现出蓬勃发展的态势。在这个充满活力的产业中,无数企业如雨后春笋般崛起,成为我...

科学 2024-12-30 阅读0 评论0