了解 CAN:控制器局域网络协议初学者指南

介绍

CAN 代表控制器局域网络。它由罗伯特·博世于 1986 年开发,是一种灵活、可靠且强大的汽车内部通信解决方案。它是一种串行、半双工和异步通信协议,遵循分散式通信基础设施。分散式协议的好处是没有可以控制总线的中央实体,使节点可热插拔,即我们可以在总线上添加或删除节点,而不会中断其他节点之间的通信。

它具有高数据传输速度(高达 1 Mbps)、出色的错误处理、自动重新传输错误消息以及对电气噪声的高容忍度。它标准化了物理层和数据链路层,即 OSI 模型的最低层。让我们首先讨论 CAN 协议的物理层。

物理层

物理层与通过物理介质传输原始比特流有关。CAN 总线的物理层有多种规范,下面提到其中一些:

  1. 高速 CAN(ISO 11898-2)
  2. 低速 CAN(ISO 11898-3)
  3. 单线 CAN(SAE J2411)

本教程将重点介绍高速 CAN(ISO 11898-2)。它使用两根线进行通信:CANH(CAN High)和 CANL(CAN Low)。这些线是双绞线,两端均有 120 Ω 终端电阻,可防止总线上的信号反射,并且这些线没有接地屏蔽。通常,在汽车中,总线上的节点由同一电源供电,并具有相同的地电位。否则,使用接地线为总线上的节点设置公共接地。

CAN总线硬件接口

该图简要介绍了 CAN 总线的硬件接口,它可能看起来与任何其他协议一样。然而,就其电气特性而言,它利用差分模式信号而不是数字信号进行数据传输。要了解 CAN 为何使用差分信号模式,我们首先需要讨论单端信号(数字信号)因电磁干扰而面临的挑战。

假设一条传输数字信号的线路受到噪声源的干扰,导致线路上出现电压尖峰。接收器通过监控线路上的电压水平来接收数据,并将电压尖峰视为“1”,从而破坏比特流。

单线干扰导致的尖峰
上图显示了理想的比特流应该是“00011000”,但由于电压尖峰,接收器读取“01011011”并收到损坏的数据。实际上,可以使用某些方法过滤电压尖峰,但这是有代价的!相反,CAN 协议使用差分信号几乎免费处理这些问题。

在差分模式信号中࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值