• 【CAN】CAN基础概念1


    摘自VECTOR官网E-Learning的资料

    1. 标准化

    CAN 协议(CAN protocol)

    从1994年开始,ISO启动CAN技术标准化工作,并最终形成4份标准规范。其中,ISO 11898-1描述了CAN协议。
    除了数据通信的参考模型,CAN协议仅包括数据链路层(介质访问控制子层 MAC-Medium Access Control和逻辑链路控制子层 LLC-Logical Link Control)和物理层(物理信号 PLS-Physical Signaling)。

    CAN控制器(CAN Controller)

    CAN协议是基于硬件实现的。
    目前有多种不同的CAN控制器,其唯一区别在于对CAN报文的处理方式,具体体现在对象层中:具有对象存储的CAN控制器(即完整CAN控制器-Full CAN Controller)与不具有对象存储的CAN控制器(即基础CAN控制器-Basic CAN Controller)

    高速CAN和低速CAN

    ISO 11898-2和ISO11898-3介绍了数据通信参考模型的两个子层:PMA(Physical Medium Attachment,物理介质适配层)和PMS(Physical Medium Specification,物理介质规范)。
    它们描述了两种不同的CAN物理层:高速CAN物理层和低速CAN物理层,主要区别在于对总线电平和数据传输速率(波特率)的定义。

    波特率

    ISO 11898-3规定最大的波特率为125kbit/s,主要用于汽车的舒适系统领域。ISO 11898-2规定最大波特率为1Mbit/s,主要用于汽车的动力系统和底盘系统领域。

    事件驱动通信

    ISO 11898-1定义了事件驱动通信。总线负载较高可能会导致延迟,对优先级较低的CAN报文来说尤其如此。
    若要确保在CAN网络中实现确定性通信,可以使用ISO 11898-4。ISO 11898-4是数据链路层的扩展,为CAN网络增加了时间触发的通信选项。

    2. CAN网络

    结构

    CAN网络由若干个经物理传输介质(CAN总线-CAN Bus)连接的CAN节点组成。实际上,CAN网络通常采用线性拓扑结构,每个ECU经CAN接口连接到总线。也有少数CAN网络采用被动星形拓扑。

    物理层

    非屏蔽双绞线(UTP,Unshielded Twisted Pair)是传输对称信号时最常用的物理传输介质。通常,UTP的线横截面介于0.34 mm2 和0.6 mm2 之间。线路电阻应小于60 mΩ。

    边界条件

    在最高传输速率1Mbit/s的情况下,允许的最大长度是40米。在CAN网络的末端,总线终端电阻(termination resistor)有助于抑制信号反射现象。
    ISO 11898规定CAN节点的最大数量为32。

    3. CAN节点

    节点

    在CAN网络中执行任务的ECU称为CAN节点。

    复杂度升高

    在ECU联网的初期,一个简单的CAN驱动程序(该驱动程序为应用程序提供与硬件无关的简单接口)、一个CAN控制器和一个CAN收发器(CAN transceiver)足以实现CAN接口。如今,ECU网络离不开操作系统、网络管理和诊断功能。同时,软件已变得极其复杂,因此有必要对ECU基础软件进行标准化。

    AUTOSAR

    AUTOSAR(AUTomotive Open System ARchiteture,汽车开放系统架构)为ECU软件提供了参考架构,其核心是AUTOSAR实时运行环境(RTE),负责将网络与应用程序的软件组件完全分离。AUTOSAR以基础软件的形式为软件组件提供统一的服务,从低到高分别为:微控制器抽象层、ECU抽象层、服务层。

    CAN节点结构

    CAN Node图描述了新式CAN节点的结构。最值得关注的是“通信服务”领域。AUTOSAR COM(通信)提供标准通信服务、诊断服务(诊断COM管理器)和网络管理服务(通用NM/CAN NM)。
    PDU路由器(PDU:协议数据单元)处理各个通信层之间的内部节点通信,并协调AUTOSAR COM、诊断COM管理器和CAN TP(传输协议)之间的通信。

    4. CAN控制器

    CAN接口

    ECU需要CAN接口才能参与CAN通信。CAN接口由CAN控制器和CAN收发器组成。CAN控制器执行CAN协议规定的通信功能,从而大大减轻了主机的负担。

    CAN收发器

    CAN收发器将CAN控制器连接到物理传输介质。通常,控制器和收发器之间采用光耦隔离或磁耦隔离,因此尽管CAN总线上的过电压可能会损坏CAN收发器,但CAN控制器和底层主机仍可受到保护。

    发送/接收

    在CAN网络中,CAN节点的不同之处在于每个节点发送或接收的CAN报文的数量。发送和接收的频率也存在很大差异。
    例如,一个CAN节点可能要接收五条不同的CAN报文,且每隔10毫秒接收一条,而另一个CAN节点只需每隔100毫秒接收一条CAN报文。这些明显的差异导致产生了两种基本的CAN控制器架构:完整CAN控制器和基础CAN控制器

    集成

    不论CAN控制器类型如何,CAN控制器都可集成在微控制器中,也可以作为独立的芯片存在(如图所示)。在这种情况下,微控制器会将CAN控制器视为存储芯片
    虽然独立CAN控制器更加灵活,但集成CAN控制器具有所需空间更少的优势,并且微控制器和CAN控制器之间的通信更快、更可靠。
    图片.png

    5. CAN收发器

    总线连接

    以前,CAN控制器经常通过离散电路连接到通信介质(CAN总线)。但现在,CAN收发器可以处理总线连接CAN收发器有两个总线引脚:一个用于连接CAN高信号线(CANH),另一个用于连接CAN低信号线(CANL)。这是因为CAN采用对称的物理信号传输以满足电磁兼容性,而且CAN网络中的物理传输介质是由两根线(非屏蔽双绞线)构成。

    高/低速率

    通常,高速CAN收发器和低速CAN收发器的物理电平不同,支持的数据传输速率也不同。高速CAN收发器支持的波特率高达1 Mbit/s。低速CAN收发器支持的波特率最高仅为125 kbit/s。但低速CAN收发器可确保总线接口的容错布局(例如,两条通信线路之中的某一条故障不会导致总体通信故障)。

    收发器布局

    CAN Transceiver Layout图显示了高速CAN收发器的基本布局。两个输出晶体管都处于截止状态时,CANH和CANL均具有相同的电位(0.5*Vcc),且差分电压为零。两个晶体管导通时会在CANH和CANL之间产生一个随负载电阻变化的差分电压。根据ISO 11898-2,该差分应为2V。因此,会产生约35 mA的电流。
    图片.png

    抗噪能力

    通常,CAN收发器的电磁辐射极低且共模工作范围广,具有较高的抗噪能力。此外,目前的CAN收发器可提供高达8 kV的ESD(Electro-Static discharge,防静电)保护。尽管CAN收发器在某些应用领域中具有很高的共模抑制,但在输出附近插入共模扼流圈(CMC)仍有助于进一步减少辐射。
    图片.png

    限制

    ISO 11898中规定CAN节点的最大数量为32。实际上,CAN节点的最大数量在很大程度上取决于所使用的CAN收发器的性能以及CAN网络是高速还是低速。
    例如,如果在高速CAN网络中使用TJA1050高速CAN收发器,则在一个CAN网络中最多可以连接110个CAN节点。

    6. CAN总线电平

    总线连接

    CAN网络中的物理信号基于差分信号进行传输,具体的差分电压取决于所使用的总线接口。高速CAN总线接口(ISO 11898-2)和低速CAN总线接口(ISO 11898-3)有所不同。

    电压等级

    在ISO 11898-2中,逻辑“1”对应差分电压0V,逻辑“0”对应差分电压2V。高速CAN收发器将超过0.9V的差分电压当做共模工作范围(通常为-12V到12V之间)内的显性(dominant)电平。低于0.5V的差分电压被当做隐性(recessive)电平。磁滞电路提高了抵抗干扰电压的能力。
    在ISO 11898-3中,逻辑“1”对应差分电压-5V,逻辑“0”对应差分电压2V。
    “High-Speed CAN Bus Levels”图和“Low-Speed CAN Bus Levels”图说明了不同CAN总线上的电压关系。
    图片.png
    图片.png

    7. CAN总线逻辑

    显性/隐性

    在CAN网络中实现通信顺畅(尤其是总线访问、故障指示和应答)的基本前提是总线显性电平和总线隐性电平之间存在明显差别。总线显性电平对应于逻辑“0”,总线隐性电平对应于逻辑“1”
    显性电平优先级高于隐性电平。当不同CAN节点同时发送显性和隐性总线电平时,CAN总线将呈现显性总线电平。只有当所有CAN节点都发送隐性电平时,CAN总线才呈现隐性总线电平。

    与逻辑

    从逻辑上说,上述行为是与逻辑。从物理上讲,与逻辑由集电极开路电路实现。通过“Bus Logic”图可以了解CAN网络的线与(wired-AND)逻辑。
    图片.png

    8. 通信原理

    事件驱动

    CAN网络基于多主架构与总线型拓扑的原因是:每个CAN节点都可以发送报文至CAN总线上。CAN报文的传输不遵循任何预定的时间顺序,而是由事件驱动。
    当传输信息时,通信通道才会处于繁忙状态,因此CAN节点可以非常快速地访问总线。理论上,由于可以快速响应异步事件且波特率高达1 Mbit/s,因此在CAN网络中完全可以实现毫秒级的实时数据传输。

    接收方(receiver)选择寻址(addressing)

    在CAN网络中,接收方选择寻址防止总线节点之间产生依赖,从而提高配置的灵活性:CAN报文是广播发送的,网络中所有CAN节点都可以接收到所有CAN报文。每个节点中都有过滤器,可以通过报文的标识符(ID)来筛选实际所需的CAN报文。虽然这会增加开销,但却可以在不修改CAN网络的情况下集成其他CAN节点。

    CAN通信

    “Typical CAN Communication”图显示了典型的通信顺序,包括构成CAN网络基础的通信矩阵,以及最终的接收和发送情况。 图片.png

  • 相关阅读:
    ipad有必要用手写笔吗?性价比电容笔排行榜
    python录制屏幕小工具,已调试成功运行
    Linux——补充点(进程切换及页表映射)
    MySQL - WITH RECURSIVE AS 递归查询
    Redis 分布式锁
    【腾讯云云上实验室-向量数据库】TAI时代的数据枢纽-向量数据库 VectorDB
    手机自动化测试工具Auto.js学习使用(附一个自动刷抖音类短视频的demo)
    npm——整理前端包管理工具(cnpm、yarn、pnpm)
    基于Bézier曲线的三维造型与渲染
    [附源码]计算机毕业设计JAVAjsp体检中心健康管理系统
  • 原文地址:https://blog.csdn.net/CrazyRabbit1989/article/details/125495421