0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

can总线的工作方式与流程是怎样的?

CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。

分享:

CAN总线(Controller Area Network)是一种高度可靠、分布式、实时性强的串行通信总线系统,广泛应用于汽车、工业自动化、医疗设备等领域。其核心设计目标是在恶劣电气环境中实现低成本、高效率、多节点间的可靠通信

以下是CAN总线的主要工作方式与流程:

一、核心特性与工作方式

  1. 多主多从结构:

    • 没有传统意义上的“主节点”控制总线。总线上的每个节点(ECU - Electronic Control Unit)既是主机也是从机
    • 任何节点都可以在它认为总线空闲时发起通信。节点发送消息的依据是自身的状态变化或设定的调度规则。
  2. 广播式通信:

    • 当一个节点向总线上发送消息(称为“CAN帧”)时,该消息会广播给所有连接到总线上的节点
    • 每个节点都“监听”总线上的所有信息流。
  3. 基于ID的寻址:

    • CAN帧的头部包含一个唯一的标识符(ID)
    • ID决定了该消息的内容含义(即“消息类型”)和其优先级,ID值越小,优先级越高。
    • 节点接收时,通过检查ID来决定是否接收和处理该消息。每个节点可以配置为只接收特定ID的消息(即过滤)。
    • ID不是接收节点的地址,而是消息内容的标签
  4. 非破坏性位仲裁:

    • 这是CAN总线区别于其他总线、实现多主和实时性的核心机制。
    • 原理: 当多个节点同时开始发送消息时,它们在发送ID的同时也在监听着总线。CAN总线协议是“线与”(Wire-AND)逻辑:显性位(逻辑0)会覆盖隐性位(逻辑1)。
    • 仲裁过程:
      • 不同节点在发送ID时,从最高位(MSB)开始一位一位地比较。
      • 当一个节点发送隐性位(1)而检测到总线为显性位(0)时,它立即知道自己在这场竞争中失败了
      • 失败的节点会立刻停止发送,转为接收模式,并且不会破坏赢得仲裁节点发送的数据帧(这就是“非破坏性”的含义)。
      • 最终,ID最小的消息(即优先级最高)赢得仲裁并继续完成其整个帧的发送。失败的节点会在总线再次空闲时自动重试。
  5. 事件驱动型传输:

    • CAN总线的传输通常由节点内部事件触发(例如传感器读数变化、用户输入、定时器到期等)。
    • 这使得通信具有很高的实时性和效率,信息在产生时被及时发送。

二、通信流程(一次消息传输)

以节点A向其他节点发送一条消息为例:

  1. 消息准备(节点A):

    • 节点A内的应用程序将需要发送的数据准备好。
    • 节点A的CAN控制器会根据数据结构将其封装成一个标准的CAN帧(包含ID、数据长度码、数据域、CRC校验码等)。
  2. 总线空闲检测:

    • 节点A的CAN控制器持续监视总线状态
    • 当检测到总线处于连续11个位的隐性电平(逻辑1)时,认为总线空闲
  3. 发送开始与仲裁:

    • 当总线空闲并且节点A有数据要发送时,它开始发送帧起始位(SOF - Start of Frame),一个显性位(0),标志传输开始。
    • 紧接着,节点A开始发送标识符(ID)
    • 如果在发送ID期间(直到ID结束),没有其他更高优先级(更小ID)的节点同时发送,节点A赢得仲裁。
    • 如果有更高优先级节点也尝试发送,节点A在发送ID过程中一旦检测到它发送的是1(隐性)而总线上是0(显性),它就立刻停止发送并转为接收模式
  4. 赢得仲裁后继续发送:

    • 赢得仲裁的节点(比如节点A)继续发送帧的剩余部分:
      • 控制段: 包含数据长度码。
      • 数据段: 实际要传输的数据(0-8字节)。
      • CRC段: 循环冗余校验码,用于接收方检查帧传输错误。
      • 确认段(ACK Slot):
        • 发送节点在此处发送一个隐性位(1)
        • 总线上所有正确接收到该帧(无CRC错误)的节点,都会在这个ACK Slot时间段内,发送一个显性位(0)覆盖掉发送方的隐性位。因此发送节点如果监测到ACK Slot位被拉低为显性位,说明至少有一个节点正确收到(这是主动确认机制)。
        • 如果发送节点在ACK Slot位时间内检测到的还是隐性位(1),则表示没有任何节点确认收到有效帧,将触发错误。
      • 帧结束(EOF): 7个连续的隐性位,标志帧结束。
  5. 错误检测与处理:

    • 全程检测: 发送节点和接收节点会持续检测传输中的错误(位错误、填充错误、帧格式错误、ACK错误、CRC错误)。
    • 错误标志: 一旦任意一个检测到错误的节点(可能是发送节点本身或接收节点),会主动在下一个位时间内发送一个错误帧(由6个显性位和随后的8个隐性位组成),强行中断当前总线上正在进行的错误传输。
    • 错误计数器: 每个CAN控制器内部维护着发送错误计数器接收错误计数器。错误会增加计数器值,成功通信会减少计数器值。当错误计数达到特定阈值时,节点会进入被动错误模式(只能被动发送错误帧)或总线关闭模式(断开通信),防止故障节点持续干扰总线。
  6. 接收消息(所有节点):

    • 总线上的所有节点都在监听。
    • 过滤: 每个节点的CAN控制器会检查接收到的帧的ID,如果该ID在控制器配置的接受过滤列表中,则接收该帧(存入本地接收缓存区)。
    • 校验: 对接收到的帧进行CRC校验。
    • ACK响应: 如上所述,正确接收的节点在ACK Slot位置发送显性位进行确认。
    • 向上层传递: 如果接收成功且消息是给自己的(或需要处理的),CAN控制器将数据帧中的有效数据提取出来,交给节点内部的微处理器或应用程序进行处理。
  7. 总线恢复:

    • 在帧结束(EOF)后或错误帧结束后,总线开始空闲计数(连续11个隐性位),然后新的通信可以开始。

总结关键点

  • 多主竞争: 所有节点平等竞争总线,ID小的消息胜出。
  • 非破坏仲裁: 仲裁失败者自动退出不破坏成功者。
  • 广播过滤: 消息广播发送,接收者按ID决定是否接收。
  • 强健错误处理: 内置多种错误检测机制(CRC、ACK、格式等)和自动处理(中断传输、错误计数)。
  • 事件驱动: 消息传输由节点事件触发。
  • 高可靠性: 差分信号抗干扰,完善的错误处理,使其适用于苛刻环境。

这种工作方式使CAN总线非常适合于需要多个子系统之间进行高速、可靠、优先级分明的实时通信的应用场景,例如汽车内部各个控制单元(引擎控制、刹车控制、门窗控制等)之间的信息交互。

SPI总线工作方式是什么?

SPI总线具有哪些特点?SPI总线工作方式是什么?

感谢相遇 2022-01-25 06:57:09

CAN总线的基本工作原理是什么?优势是什么?

CAN总线的基本工作原理是什么?CAN总线工作流程怎样的?CAN总线的优势是什么?如何计算CAN总线负载率?

站长2014 2021-12-27 07:39:55

SPI是什么?SPI总线有哪几种工作方式

SPI是什么?SPI总线有哪几种工作方式

jhdfs 2021-05-21 06:12:30

汽车控制系统的工作方式

电路原理图如下:首先交代下新能源汽车的电源状态,共有6个状态:在每个状态下BCM(车身域控制器)都会发送相关的报文到can总线上。在这里再补充一下汽车控制系统的工作方式,它是由硬件和软件以及机械

闷~~ 2022-03-01 07:33:53

can总线工作原理是什么

CAN是一种用于实时应用的串行通讯协议总线CAN能够使用双绞线来传输信号,是国际上应用最广泛的现场总线之一。 can总线工作原理 CAN总线的传输方式是串行数据传输,能够在1Mb/s的速率40m

2021-08-07 17:07:43

STM32 CAN接收流程怎样

STM32 CAN有何功能?STM32 CAN接收流程怎样的?STM32 bxCAN有哪几种主要的工作模式?

niu!kf 2021-10-27 07:29:19

CAN控制器总线错误分析之CAN节点BusOff恢复过程分析与测试

总线关闭(bus off)是CAN节点比较重要的错误处理机制。那么,在总线关闭状态下,CAN节点的恢复流程怎样的?又该如何理解节点恢复流程的“快恢复”和“慢恢复”机制?本文将为大家详细分析总线

2020-08-04 11:16:00

ups不间断电源工作方式

本视频主要详细介绍了ups不间断电源工作方式,分别是正常运行方式、电池工作方式、旁路运行方式以及旁路维护方式

2019-06-26 14:38:12

最常见的直流负载工作方式

最常见的直流负载工作方式  直流负载工作方式是指在直流电路中使用的各种负载方式。直流负载是用于测试和测量直流电源输出能力和能效的设备,可以模拟真实负载条件下的电流和功率需求。本文将详细介绍最常

2024-01-18 15:12:36

RS485和CAN总线的比较分析

RS485总线CAN总线都是工业现场通信中常用的总线技术,它们各自具有独特的特点和优势,适用于不同的应用场景。以下是对这两种总线的比较分析: 一、通信方式 RS485总线 : 采用半双工工作方式

2024-11-28 15:35:22

什么是CAN总线通信?CAN总线工作原理

这意味着变送器通过CAN收发器改变总线电平,并将其信息传输到CAN总线。接收器通过监测总线电平将总线上的信息读取到自己的CAN收发器中。

2024-02-19 14:53:54

斩波器的定频调宽工作方式

斩波器的定频调宽工作方式是一种电力电子控制技术,用于调节输出电压或电流。

2024-05-24 16:12:39

CAN协议的发送流程与接收流程怎样

CAN控制器的特点有哪些呢?CAN协议仲裁功能该如何去实现呢?CAN协议的发送流程与接收流程怎样的?

宜家 2021-11-08 07:59:06

SPI总线工作方式怎样

SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。

2019-08-30 16:56:00

GPIO基本结构和工作方式介绍

GPIO的8种工作方式一、GPIO基本结构和工作方式1、战舰/精英板2、Min板3、基本结构4、工作方式二、GPIO寄存器说明1、GPIO相关寄存器2、端口配置低寄存器(GPIOx_CRL)、端口

斗地主之神 2022-01-11 07:02:29

SPI总线工作方式及原理详解

SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO;用于 CPU与各种外围器件进行全双工、同步串行通讯

2019-05-22 15:51:34

DC电源模块的原理及工作方式

BOSHIDA  DC电源模块的原理及工作方式 DC电源模块是一种将交流电转换为直流电的设备,它将交流电输入端转换为稳定的直流电输出,以供电子设备使用。DC电源模块的工作原理及工作方式如下。  DC

2024-04-24 10:37:10

CAN发送接收流程怎样的?

CAN协议具有哪些特点?STM32F4的bxCAN的主要特点是什么?CAN发送接收流程怎样的?

wufan931111 2021-10-22 09:31:58

CAN总线收发器的工作原理和应用

CAN(Controller Area Network)总线收发器是CAN总线通信中的关键组件,其工作原理和应用对于理解现代汽车电子、工业自动化等领域的通信系统至关重要。以下将详细阐述CAN总线收发器的主要工作原理及其应用。

2024-08-26 15:23:00

CAN通讯的配置流程怎样的?

CAN通讯的配置流程怎样的?

hgimtk 2021-11-16 07:59:00

PLC的CPU工作方式详解

Processing Unit,中央处理器)作为其核心组件,其工作方式直接影响到PLC的性能和稳定性。本文将详细探讨PLC的CPU工作方式,包括其工作原理、主要模式以及实际应用中的注意事项,以期为相关技术人员提供参考和借鉴。

2024-06-13 18:20:19

如何实现Protothread这种工作方式

如何实现Protothread这种工作方式呢?

ldliu 2022-02-25 07:56:34

CAN总线控制器的工作原理

CAN(Controller Area Network,控制器局域网)总线控制器的工作原理涉及多个方面,包括消息传输、冲突检测与解决、总线仲裁等关键机制。以下是对CAN总线控制器工作原理的详细解析,旨在全面阐述其工作原理和机制。

2024-09-30 11:33:12

小编科普STM32的GPIO工作方式有哪几种

GPIO的工作原理是什么?GPIO的基本结构是由哪些部分组成的?STM32的GPIO工作方式有哪几种?在STM32中怎样选择I/O模式?

Jade799153347 2021-08-06 09:13:30

CAN总线系统测试技术总结的太棒了

CAN总线开发流程怎样的?CAN总线测试规范和内容有哪些?CAN总线测试方法是什么?

小马哥996 2021-05-27 06:41:30

放大器的非线性工作方式

放大器的非线性工作方式是一个复杂而广泛的主题,它涉及到电子学、信号处理以及电路设计等多个领域。在非线性工作方式下,放大器的输出信号不再是输入信号的简单线性放大,而是会引入各种非线性效应,如失真、频率变换、谐波产生等。

2024-08-08 17:32:06

测量系统结构及工作方式是什么?

测量系统结构及工作方式是什么?如何选用图像传感器?

zsqzsqzs 2021-06-02 06:06:22

STM32的GPIO有哪几种工作方式设置呢

GPIO:每个连接到I/O总线上的设备都有自己的I/O地址集,即所谓的I/O端口,类似51单片机的P0~P3.而STM32 的每个 IO 端口都有 7 个寄存器来控制其工作方式的。端口位基本结构

山中老虎 2022-02-28 07:17:25

RAID 的工作方式

)磁盘上,借此来提高性能或建立数据冗余以防驱动器发生故障。您可以通过设定设备的 RAID 模式来决定设备以何种方式处理数据。 为更好地了解 RAID 的工作方式,首先应熟悉以下术语: 条带化是指将数据分到多个驱动器上。条带 RAID 阵列通常用于

2023-06-25 14:56:01

探讨一下矩阵键盘的工作方式与扫描思路

矩阵键盘的工作方式有哪几种?矩阵键盘的扫描思路是怎样的?

muwersddg 2022-02-23 07:52:02

加载更多
can总线,通信,现场总线相关专题
相关标签