CAN总线详细介绍

这篇具有很好参考价值的文章主要介绍了CAN总线详细介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

介绍CAN总线的特点,协议的组成结构


一、CAN简介

1.1 CAN是什么?

CAN,全称为“Controller Area Network”,即控制器局域网,是一种串行异步数据通信协议。
CAN 最初出现在 80 年代末的汽车工业中,由德国 Bosch 公司最先提出。当时,提出 CAN 总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。于是,他们设计了一个单一的网络总线, 所有的外围器件可以被挂接在该总线上。CAN 最终成为国际标准 ( ISO11898(高速应用)和 ISO11519(低速应用)),是国际上应用最广泛的现场总线之一。

ISO11898 和 11519-2 物理层的主要不同点

can dlc,汽车电子,stm32

1.2 CAN总线特点

  1. 多主方式

可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。

  1. 仲裁总线机制

采用非破坏性位仲裁总线机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。

  1. 数据传送方式
    可以点对点、一点对多点(成组)及全局广播几种传送方式接收数据。
  2. 传输距离
    直接通信距离最远可达10km(速率5Kbps以下)。
  3. 通信速率
    通信速率最高可达1MB/s(此时距离最长40m)。
  4. 节点数
    节点数实际可达110个。
    采用短帧结构,每一帧的有效字节数为8byte。
  5. 错误检测功能
    每帧信息都有CRC校验及其他检错措施,数据出错率极低。
    节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。
  6. 通信介质
    通信介质可采用双绞线,同轴电缆和光导纤维,一般采用廉价的双绞线即可,无特殊要求。

二、CAN协议介绍

2.1 CAN总线物理结构

CAN 控制器根据两根线(CAN_H、CAN_L)上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。显性电平为逻辑 0,隐性电平为逻辑 1。发送方通过使总线电平发生变化,将消息发送给接收方

can dlc,汽车电子,stm32

CAN连接图

2.1.1 高速总线物理层

CAN 物理层的形式主要有两种,图中的 CAN 通讯网络是一种遵循 ISO11898 标准的高速、短距离 “闭环网络”。
它的总线最大长度为 40m,通信速度最高为 1Mbps,总线的两端各有一个“120 欧”的电阻
can dlc,汽车电子,stm32

2.1.2 低速总线物理层

下图是遵循 ISO11519-2 标准的低速、远距离“开环网络”,它的最大传输距离为 1km,最高通讯速率为 125kbps,两根总线是独立的、不形成闭环,每根总线上各串联有一个“2.2千欧”的电阻
can dlc,汽车电子,stm32

2.2 CAN的传输模型

CAN 协议的传输模型是OSI模型,不过只用定义了传输层、数据链路层及物理层
can dlc,汽车电子,stm32

ISO/OSI 基本参照模型

can dlc,汽车电子,stm32

CAN 在OSI模型中的位置

2.3 CAN协议格式

CAN通信是主要靠一帧一帧数据进行传输的,帧的种类有5种,分别为:数据帧遥控帧错误帧过载帧帧间隔

数据帧和遥控帧有标准格式和扩展格式两种格式。 标准格式有 11 位的标识符(Identifier: 称 ID) ,扩展格式有 29 位。

帧种类 帧用途
数据帧 用于发送单元向接收单元传送数据的帧。
遥控帧 用于接收单元向具有相同 ID 的发送单元请求数据的帧。
错误帧 用于当检测出错误时向其它单元通知错误的帧。
过载帧 用于接收单元通知其尚未做好接收准备的帧。
帧间隔 用于将数据帧及遥控帧与前面的帧分离开来的帧。

2.3.1 数据帧组成

数据帧由7个段组成,分别为:帧起始、仲裁段、控制段、数据段、CRC段、ACK段、帧结束

(1) 帧起始 :表示数据帧开始的段。
(2) 仲裁段:表示该帧优先级的段。
(3) 控制段:表示数据的字节数及保留位的段。
(4) 数据段:表示数据的内容的段,可发送 0~8 个字节的数据。
(5) CRC 段:检查帧的传输错误的段。
(6) ACK 段:表示确认正常接收的段。
(7) 帧结束:表示数据帧结束的段。

can dlc,汽车电子,stm32

数据帧的组成
1)帧起始

表示帧开始的段。1 个位的显性位(标准格式、扩展格式都相同)。
can dlc,汽车电子,stm32

2)仲裁帧

决定数据优先级的段
can dlc,汽车电子,stm32

3) 控制段

控制段由 6 个位构成,其中2位保留位,4位表示数据段的字节数。
can dlc,汽车电子,stm32
注意:
*1 保留位(r0、r1)
保留位必须全部以显性电平发送。但接收方可以接收显性、隐性及其任意组合的电平。
*2 数据长度码(DLC)
数据长度码与数据的字节数的对应关系如表 8 所示。
数据的字节数必须为 0~8 字节。但接收方对DLC = 9~15 的情况并不视为错误。

can dlc,汽车电子,stm32

数据长度码和字节数的关系
4)数据段

数据段可包含 0~8 个字节的数据。从MSB(最高位)开始输出
can dlc,汽车电子,stm32

5)CRC段

CRC 段是检查帧传输错误的帧。由15 个位的CRC 顺序 和1 个位的CRC 界定符(用于分隔的位)构成。
can dlc,汽车电子,stm32
CRC 顺序:
CRC 顺序是根据多项式生成的CRC 值,CRC 的计算范围包括帧起始、仲裁段、控制段、数据
段。接收方以同样的算法计算 CRC 值并进行比较,不一致时会通报错误。

6)ACK段

ACK 段用来确认是否正常接收。由ACK 槽(ACK Slot)和ACK 界定符2 个位构成。
can dlc,汽车电子,stm32

7)帧结束

帧结束是表示该该帧的结束的段。由 7 个位的隐性位构成。

2.3.2 遥控帧

接收单元向发送单元请求发送数据所用的帧。遥控帧没有数据帧的数据段。遥控帧由 6 个段(帧起始、仲裁段、控制段、CRC段、ACK段,帧结束)组成。
can dlc,汽车电子,stm32

遥控帧的组成

遥控帧的特点:
1,遥控帧的RTR 位为隐性位,没有数据段
2,遥控帧没有数据段,遥控帧的数据长度码以所请求数据帧的数据长度码表示
3,遥控帧可用于各单元的定期连接确认/应答、或仲裁段本身带有实质性信息的情况

2.3.3 错误帧

用于在接收和发送消息时检测出错误通知错误的帧。错误帧由错误标志错误界定符构成。
can dlc,汽车电子,stm32

错误帧的组成

1, 错误标志:错误标志包括主动错误标志和被动错误标志两种。
主动错误标志:6 个位的显性位。
被动错误标志:6 个位的隐性位。
2, 错误界定符:错误界定符由 8 个位的隐性位构成。

2.3.4 过载帧

过载帧是用于接收单元通知其尚未完成接收准备的帧。过载帧由过载标志过载界定符构成。
can dlc,汽车电子,stm32

过载帧的组成

1, 过载标志:6 个位的显性位。
过载标志的构成与主动错误标志的构成相同。
2, 过载界定符 :8 个位的隐性位。
过载界定符的构成与错误界定符的构成相同。

2.3.5 帧间隔

帧间隔是用于分隔数据帧和遥控帧的帧。数据帧和遥控帧可通过插入帧间隔将本帧与前面的任何帧(数据帧、
遥控帧、错误帧、过载帧)分开。但过载帧和错误帧前不能插入帧间隔。
can dlc,汽车电子,stm32

帧间隔的组成

三、错误的种类

错误共有 5 种。多种错误可能同时发生。
• 位错误
• 填充错误
• CRC 错误
• 格式错误
• ACK 错误

can dlc,汽车电子,stm32
文章来源地址https://www.toymoban.com/news/detail-563197.html

错误的种类

到了这里,关于CAN总线详细介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 汽车电子之功能安全介绍

    功能安全介绍 1.什么是功能安全FS? 2.为什么需要功能安全? 3.认识标准《ISO26262》。 4.怎么评估ASIL 等级? 5.功能安全怎么做(措施)? 6.参考资料 (1)功能安全的发展过程 20世纪以来工业革命给人类的生产和生活带来了天翻地覆的变化,尤其是进入70年代,半导体器件的广

    2024年02月02日
    浏览(39)
  • 汽车CAN总线硬件电路原理

    根据ISO 11898的定义,物理层被细分成3 个子层,它们分别是物理信令(位编码定时和同步)、物理媒体连接(驱动器和接收器特性)和媒体相关接口(总线连接器)。 物理信令子层和数据链路层之间的连接是通过集成的协议控制器实现的,而媒体相关接口(CAN收发器)是协议

    2024年02月06日
    浏览(30)
  • CAN总线学习笔记 | CAN基础知识介绍

    1.1 CAN协议简介 CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519以及ISO11898),是国际上应用最广泛的现场总线之一。差异点如下: 1.2 CAN物理层 CAN 通讯不是以时钟信号来进行同步的,它

    2023年04月09日
    浏览(34)
  • 【汽车电子】5分钟了解汽车操作系统(科普篇)

    在智能汽车+电动汽车的浪潮下,「软件定义汽车」的理念已经成为很多厂家的共识,未来决定汽车个性化差异的不再是马力大小、座椅材质、底盘软硬等,而应该是人工智能、大数据和云计算技术的综合体。 要想实现这一切,就要给汽车安装一个或者多个操作系统。 操作系

    2024年02月01日
    浏览(46)
  • CAN总线中Bus Off后快慢恢复时间的测试方法介绍

    距离上次更博以过去数月,今日难得忙里偷闲,有如此时间来对测试中常见的Bus Off问题进行介绍,帮助大家加深对CAN总线的理解。 Bus Off,顾名思义就是总线关闭,那么总线为什么会出现Bus Off?其实这和CAN总线的错误处理机制相关,CAN总线共有三种错误机制,这三种错误之间

    2023年04月15日
    浏览(40)
  • 汽车电子行业入门指南「当下汽车工业的挑战」

    自动驾驶技术是汽车行业目前的热门话题之一,它的发展前景非常广阔,但是也面临着一些挑战和问题。目前,自动驾驶技术已经在一些高端车型上得到了应用,但是在大规模商业化应用方面还存在不少困难。目前自动驾驶技术通常分为以下6个级别: L0级别 :无自动化,驾

    2023年04月09日
    浏览(42)
  • AUTOSAR汽车电子系统架构标准

    目录 AUTOSAR RTE SWC和BSW SWC访问代码实现 ARXML(AUTOSAR XML) Interface Client-Server接口代码实现 AutoSAR OS Application AUTOSAR(Automotive Open System Architecture)正式发布日期是2003年,是一种开放的汽车电子系统架构标准,旨在提供汽车电子系统的 标准化和模块化 解决方案。它由一系列的 规

    2024年02月11日
    浏览(37)
  • 关于汽车电子NVM的笔记

    NVM是英文“Non-Volatile Memory”的缩写,中文翻译为“非易失性存储器”。它是指一种能够在断电情况下依旧保留数据的存储器件。NVM用于存储一些不需要频繁更改的数据,例如汽车电子控制单元(ECU)中的程序代码、校准数据、配置参数以及历史故障码等。 传统的可擦写可编

    2024年02月08日
    浏览(33)
  • 汽车电子Autosar之DTC

    目录 一、DTC基本介绍 1、DTC基本组成 2、DTC故障类型 3、DTC与event区别与联系

    2024年02月08日
    浏览(36)
  • 汽车电子AUTOSAR之EcuM模块

    目录 前言 正文 EcuM模块总体介绍 主要功能 总状态机(Flexible 与 Fixed)

    2024年02月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包