can总线原理 CAN总线的基本工作原理都是什么该怎么解释 速看

关于can总线原理(CAN总线通信原理) 这个很多人还不知道,今天小编来为大家解答以上的问题,现在让我们一起来看看吧!

Can总线原理(CAN总线通信原理)


(资料图)

功能:连接整车中的各种控制器,实现可靠的信息共享,减少车辆线束数量。想象一个极端的情况,如下图所示:

举个例子,如果整车上所有的电器设备都是一个独立的CAN总线节点,每个节点都向外部发送自己的当前状态,接收来自外部的信息,那么整车的控制只需要一条CAN总线控制线和电源线!

CAN总线的基本工作原理

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

CAN总线工作流程

CAN总线的优势

数据传输速度1Mbit/s,距离远。

抗干扰能力强(差分数据线)

自我诊断能力(错误检测)

CAN总线 *** 结构

01 CAN总线 *** 节点结构

02为什么可以收发信机

根据博世CAN总线标准,0或1逻辑信号被转换为标准中规定的电平,并具有反馈功能。

CAN总线上的电平

2.0A/B标准规定,bus 空空闲时,CAN_H和CAN_L上的电压为2.5V

数据传输中,主导电平(逻辑0): CAN _ H3.5V CAN _ L1.5V。

隐式电平(逻辑1): can _ h2.5v can _ l2.5v。

03公交车长度思考

影响母线长度的主要因素:

(1)1)CAN总线通信的响应机制,即成功接收一帧消息的节点必须在响应字段的“响应间隙”期间发送一个“支配位”来表示成功接收一帧数据。

例如,如果通信速率为250Kbit/s,传输一位所需的时间为1/250×1000 = 4μ,那么信号在总线上的延迟时间必须小于(2μ?)以确保发送节点在响应间隙期间成功接收“主导级别”。

任何导线都可以简化为左图所示的电路模型。可以看到,其中既有电感又有电容。因此,电流在其中传播需要一些时间,而不是光速。

对于双绞线,信号在双绞线中的传播延迟时间约为5ns/m(典型值)。当通信速率达到1Mbit/s时,40米总线长度和延迟时间将达到200ns,允许延迟时间约为600ns,不可忽略!

根据以上分析:

总线速度越高,通信距离越短,对物理传输线路的要求越高。通信速度是选择双绞线、屏蔽线或其他传输线的关键参数。

影响总线长度的其他因素:

节点ECU内部的延迟时间

振荡器的容差(各节点ECU中晶振频率的差异)这些因素加起来形成CAN总线通信中的总信号延迟。

CAN总线的硬件抗干扰

共模扼流圈功能:共模电压电感大,差模电压电感为零,相当于电感滤波。它对共模电流有很大的阻碍。

120欧姆的终端电阻不是固定的,和用的线有关!

总线长度的限制-位定时和同步

CAN总线控制器根据时间片的概念,将每一位的时间分为N个时间片。这样做的目的是实现CAN总线的同步,保证不同节点之间时间的一致性。

例如,如果晶振和CAN时钟的频率为4MHz,每个时间片的最小时间为0.25μs,通信波特率为250Kbit/s,那么每一位的时间为4μs,那么每一位的时间片总数为16。当然,晶振的频率还可以进一步提高,这样每一位都可以划分得更细。

2.0A/B将每个比特的时间分为四段,同步段、传输段、相位段1和相位段2,每段占用一定的时间片。

Can总线消息帧结构

CAN总线中有四种消息:

1个数据帧

2远程框架

3个错误帧

4个过载框架

帧定义

帧开始:1位。从图中可以看出,帧间隙后从逻辑1(至少两位)到逻辑0的跳变被认为是帧的开始,其作用是为了硬同步。

仲裁字段:由29位ID标识符和IDE、SRR和RTR位组成。IDE位用于指示该帧是扩展帧(29位ID)还是标准帧(11位ID);SRR是扩展帧中的隐藏位;R r位是长距离帧标记位。

从上图可以看出,先发送11位基本ID(ID28 ~ ID18),再发送18位扩展ID(ID17~ID0)。

CAN总线的仲裁机制

大意

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

(2)谁来决定公车级别?

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

注意:我们可以人为赋予29位ID一定的含义,以区分不同的消息类型!

邮件过滤

报文过滤可以通过软件编程实现,也可以通过硬件实现(芯片内部的报文过滤寄存器),但两者的原理是一样的,如下图所示:

数据框中的其他场效应

控制字段:包括两个保留位(必须为0)和数据长度位(DLC0~DLC3)。数据字段:包括最多8个字节的数据。

CRC字段:是对数据进行CRC校验的算法,共15位,后面是CRC限定符-1(隐藏级)。

响应字段:两个1(总线电平低),一个是响应间隙,一个是响应限定符。成功接收数据的节点必须发送一个支配位(总线电平为高)。

要回复发送节点,必须注意,在回复间隔期间,即在1位内,主位必须将总线电平拉高。帧结束:7个连续的1(隐藏级别)

支持仲裁和错误检查的CAN总线拦截机制

监听一帧就是把发送的数据采样回来,比较采样的数据和发送的数据是否一致!

CAN总线错误检测

CAN总线通过以下几个方面进行错误检测。

当一个节点赢得总线传输权时,它将检测总线电平,当传输的电平与检测到的总线电平不一致时,它将被视为错误。

当连续出现6个相同的液位时,视为灌装错误。

错误:接收节点以与发送节点相同的方式计算数据的CRC校验值。如果接收节点的计算结果与数据包中CRC字段的数据不一致,则认为是CRC错误。

回答错误,如果在回答字段中没有监控到主导级别,则确定回答错误。

固定位错误,如CRC分隔符等。,有一个固定的水平。当监控到液位不匹配时,确定存在错误。

此外,总线同步机制也是CAN总线容错的一种方式。

注意:通过以上五种错误检测机制,发送节点和接收节点都可以检测到总线上的错误,通过错误的积累,可以关闭总线节点。

CAN总线负载率计算

计算示例:

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

之一步:根据通信波特率计算10ms可以发送多少位(250000/1000) * 10 = 2500位。

步骤2:计算最长的帧消息有多少位。

1 of+29id+1 ide+1 RTR+1 SRR+2r+4 DLC+8 * 8 data

+16 CRC+2 ack+7eof = 128位

第三步:计算10ms内可以支持的消息数量。

2500/128 ≈ 19

从上面的计算可以看出,当10ms间隔的报文数量超过19条时,就会掉帧,总线就会饱和。

在CAN *** 的设计中还考虑了报文数量的计算。可以查阅相关文献,看看什么时候加载速率合适。

\
推荐DIY文章
四年级中秋节手抄报简单漂亮 中秋节的校园手抄报怎么写?
简讯:三年级中秋节画 如果要用彩铅画中秋节 可以先选择这些
姚明十岁女儿身高近一米八 遗传了父母的优秀基因
世界球精选!什么是平衡型基金 另外两种是收益型基金和成长型基金
安史之乱简介经过 这个事件是唐朝由盛转衰的转折点 天天滚动
仑替鸽讲解 养鸽子都需要多长时间 它们会不会飞走_全球今日讯
精彩新闻

超前放送