本文介绍: 是控制器局域网Controller Area Network 的缩写,1986年,由德国Bosch公司为汽车开发的网络技术,主要用于汽车的监测与控制,目的为适应汽车“减少线束的数量”“通过多个网络进行大量数据的高速传输”的需求。汽车网络是将汽车上所有电子传感器、执行器和电子控制单元(ECU)连接组网的通信形式。根据通信速率,汽车工程师协会(SAE)定义了如下类别的汽车网络。并接到同一总线时,只要其中一个节点输出低电平,总线就为低电平;定义:CAN收发器逻辑信号和物理信号之间的转换采用。

汽车CAN总线简述

CAN 是控制器局域网Controller Area Network 的缩写,1986年,由德国Bosch公司为汽车开发的网络技术,主要用于汽车的监测与控制,目的为适应汽车“减少线束的数量”“通过多个网络进行大量数据的高速传输”的需求。

在这里插入图片描述

CAN发展时间线

  • 1983年,Bosch开始研究汽车网络技术
  • 1986年,Bosch在SAE大会正式公布CAN协议
  • 1987年,Intel和Philips先后推出CAN控制器芯片
  • 1991年,Bosch颁布CAN 2.0技术规范,CAN总线最先在Benz S系列轿车上实现
  • 1993年,ISO颁布CAN国际标准ISO-11898
  • 1994年,由CiA组织举办第一届国际CAN大会(iCC)
  • 2005年,CiA在中国的第一场CAN研讨会
  • 2013年,虹科与CiA正式深入合作致力CAN推广
  • 2015年,CAN FD的 ISO标准化
  • 2020年,CAN XL即将登场第十七届iCC大会

汽车网络是将汽车上所有电子传感器、执行器和电子控制单元(ECU)连接组网的通信形式。根据通信速率,汽车工程师协会(SAE)定义了如下类别的汽车网络。

在这里插入图片描述

当前的车用总线:

  • CAN(CANFD)
  • LIN
  • MOST
  • FlexRay
  • 车载以太网

在这里插入图片描述

通常汽车CAN网络细分

  • 动力CAN网络
  • 车身CAN网络
  • 组合仪表CAN网络
  • 诊断CAN网络

在这里插入图片描述

汽车网络典型应用

GLOF整车CAN网络拓扑

在这里插入图片描述

在这里插入图片描述


CAN总线在汽车网络中脱颖而出的“秘密”

曾经的车用总线

  • SAE J1850(Class2)
  • SAE J1708
  • K-Line
  • BEAN
  • Byte flight
  • D2B…

CAN通信特性的“公开秘密”

  1. 节点间采用多主通信方式
  2. 采用短帧结构,报文帧的有效字节数为8个,可达汽车实时响应要求
  3. 报文ID值越小,优先级越高。报文ID可分成不同的优先级,进一步满足汽车网络报文的实时性要求。
  4. 非破坏性总线仲裁处理机制。
  5. 可靠的CRC校验方式,传输数据出错率极低,满足汽车数据传输的可靠性要求。
  6. 报文帧仲裁失败或传输期间被破坏有自动重发(机制)。
  7. 节点在错误严重的情况下,具有自动脱离总线的功能,切断它与总线的联系,不影响总线的正常工作。
  8. 通信距离最远达10km(速率5Kbps以下)
  9. 通信速率最高1MB/s(此时距离最长40m)
  10. 节点数实际可达110个
  11. CAN节点设计成本较低,通信介质采用双绞线

OSI模型与CAN的关系

在这里插入图片描述


CAN收发器

定义:CAN收发器逻辑信号和物理信号之间的转换采用差分电平方式

  1. 将逻辑数字信号转换成物理信号
  2. 将物理信号转换成逻辑数字信号
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

CAN信号电平

CAN总线有ISO11898和ISO11519(低速容错CAN)两个标准

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


CAN编码方式 -> NRZ(非归零)

CAN编码采用NRZ非归零编码,相同带宽情况下,NRZ编码方式的信息量更大

在这里插入图片描述

CAN信号电平 -> 双绞线

问题:为什么要采用两根线(双绞线)的差分电平信号?

原因:双绞线传输差分信号时受到共模信号干扰后,电平差值不变,信号解码正常。

在这里插入图片描述

在这里插入图片描述

CAN信号电平 -> 线与原理

多个CAN节点并接到同一总线时,只要其中一个节点输出低电平,总线就为低电平;当所有节点输出高电平时,总线才为高电平。

在这里插入图片描述


CAN -> 异步串行通信

同步串行通信

在这里插入图片描述

异步串行通信

在这里插入图片描述
异步串行通信省去了时钟信号线,但遇到一个问题是:根据波特率做采样,波特率的误差会产生通信错误!


CAN -> 波特率误差带来的错误

在这里插入图片描述

问题:如何减少波特率的误差带来的通信错误?

解决:CAN总线规定信号的跳变沿时刻进行同步,将误差累计限制在两个跳变沿。

原文地址:https://blog.csdn.net/xuexiwd/article/details/135745790

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_63259.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注