(ISO 11898-1-2015)CAN 总线协议详解1- 基本概念描述

1 基本概念描述

1.1 can总线的性质

CAN(Controller Area Network)总线具有以下特性:

  • 多主控优先级基础的总线访问: CAN网络允许多个设备(主控)同时尝试发送数据,但是通过优先级仲裁机制确保一次只有一个设备能够发送数据,这避免了数据冲突。

  • 非破坏性基于内容的仲裁: 当多个设备同时发送数据时,数据帧会根据标识符(ID)进行仲裁。ID越低的帧优先级越高,这样可以确保高优先级的消息不会被低优先级的消息破坏或延迟。

  • 所有帧传输均作为广播进行: 在CAN网络中,每个发送的帧都被所有节点接收,但只有那些通过过滤器检查的节点会处理接收到的帧。

  • 通过接受过滤的多播帧传输: 节点可以设置过滤器,只接收和处理感兴趣的特定标识符的帧,这允许节点只关注与其相关的数据。

  • 远程数据请求: CAN支持远程帧,允许节点请求其他节点发送特定的数据帧,这增强了网络的交互性和灵活性。

  • 配置灵活性: CAN网络的拓扑结构可以非常灵活,节点可以动态加入或离开网络,网络的大小和布局可以轻松调整。

  • 全网络数据一致性: 所有节点都能接收并同步网络上的数据,确保所有节点的数据视图是一致的。

  • 错误检测和错误信号: CAN帧包含校验位,可以检测传输错误。如果检测到错误,节点会发送错误标志,以便其他节点知道发生了错误。

  • 自动重传未被确认、仲裁失败或传输中被错误破坏的帧: CAN协议会自动重传那些因仲裁失败、未被接收方确认或在传输过程中被错误破坏的帧,以提高数据传输的可靠性。

  • 区分临时错误和节点永久故障,并自动隔离故障节点: CAN能够区分是暂时的网络问题还是节点的永久故障,对于永久故障的节点,网络会自动将其隔离,以防止其影响整个网络的正常运行。

这些特性使得CAN总线成为汽车、工业自动化和其他需要高可靠性和实时通信的领域中广泛使用的通信标准。

1.2 帧

在CAN(Controller Area Network)总线上,信息是以固定格式的帧来发送的,这些帧长度不同但有限制。当总线处于空闲状态时,任何连接的节点都被允许开始传输数据帧(DF)或远程帧(RF)。总线被认为是空闲的,当没有任何帧正在传输时。

此外,任何连接的节点都可以通过专用帧(分别是错误帧EF和过载帧OF)开始指示错误和过载信息。:

  • 固定格式帧:CAN总线上的数据是以具有特定结构的帧来传输的,这种结构确保了所有节点能够解析和理解信息。帧类型包括数据帧、远程帧、错误帧和过载帧,每种帧都有其独特的用途和格式。

  • 有限长度:CAN帧的长度是有限的,这意味着单个帧不能无限长,以确保总线的有效利用率和及时的通信。数据帧和远程帧的长度受到限制,一般数据帧最大可以携带8字节的数据。

  • 总线空闲状态:当没有任何节点在总线上发送数据时,总线被认为是空闲的。这是基于CAN总线的非破坏性仲裁机制,允许多个节点在任意时刻尝试发送数据,但只有具有最高优先级的节点能够成功发送。

  • 错误帧和过载帧:在CAN总线中,任何节点都可以发送错误帧(EF)来指示在数据传输过程中检测到的错误,以及过载帧(OF)来表示接收节点无法跟上数据的传输速度。这些专用帧帮助维护总线的稳定性和数据的完整性。

这种设计确保了CAN总线的可靠性和实时性,使其成为汽车工业、工业自动化和许多其他领域中广泛应用的网络通信标准。通过限定帧的长度和格式,以及允许节点在检测到问题时发送专门的帧,CAN总线能够高效、准确地传输数据,同时能够快速响应和处理潜在的通信错误。

1.3 总线访问方法

如果两个或更多的节点在同一时间开始传输数据帧(DF)或远程帧(RF),总线访问冲突将通过使用标识符(ID)的内容基仲裁来解决。仲裁机制确保了既不会丢失信息也不会浪费时间。具有最高优先级的数据帧(DF)或远程帧(RF)的发送者将获得总线访问权。具有相同ID的数据帧和远程帧,数据帧将在总线仲裁中胜出。

在CAN(Controller Area Network)总线系统中,节点(设备)之间的通信是通过共享总线进行的。为了避免多个节点同时传输数据而导致的冲突,CAN采用了基于内容的仲裁机制,具体是基于消息的标识符(ID)进行仲裁。

1.3.1 冲突解决与仲裁机制:

  • 标识符优先级:每个消息都由一个标识符(ID)来唯一标识,ID越低,优先级越高。当多个节点同时尝试发送消息时,优先级最高的消息将获得总线的访问权。

  • 非破坏性仲裁:CAN的仲裁过程是非破坏性的,这意味着如果一个节点发现另一个节点发送的消息的优先级更高,它将停止传输自己的消息,而不是试图覆盖或破坏其他节点的消息。这样可以确保优先级高的消息能够无损地传输。

  • 数据帧与远程帧的仲裁:如果一个数据帧(DF)和一个远程帧(RF)具有相同的ID,数据帧将优先于远程帧获得总线访问权。这是因为数据帧通常携带实际数据,而远程帧用于请求数据,所以数据帧具有更高的传输优先级。

这种机制确保了总线的高效利用和数据的有序传输,避免了数据包的碰撞和信息的丢失。由于仲裁过程是基于标识符的,因此可以精确控制哪个节点在什么时间传输数据,从而提高了网络的可靠性和实时性能。在多主控系统中,这种机制尤为关键,因为它允许多个节点在没有中央控制器的情况下自主管理和协调总线的访问。

1.4 信息路由

节点不会利用任何关于网络配置的信息(例如,节点地址)。相反,接收器基于一个称为帧接受过滤的过程来决定是否接受信息,这个过程判断接收到的信息是否相关。接收器没有必要知道信息的发送者,反之亦然。

在CAN总线中,

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

s多情公子s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值