快捷搜索:

CAN总线在工业网络方面的需求分析

自1987年出现第一个控制器局域网(CAN)以来,曾经的汽车网络接口现已扩展到工业应用领域。随着占用面积的扩大,对总线长度更长,总线节点更多,数据吞吐量更高,电压隔离度更高的收发器的需求越来越大。

目前有20多家半导体公司提供器件,设计人员有很多决策要做在选择最佳设备之前,需要充分了解规范的细微差别及其最新迭代。为此,我们将深入研究规范和主题,例如不对称,然后让您快速了解一些有趣的CAN设备以及如何充分利用它们。

为什么选择CAN?

控制器局域网(CAN总线)最早是在20世纪80年代初由Robert Bosch GmbH开发的。第一批CAN控制器芯片于1987年在市场上推出,第一辆实现CAN总线的车辆于1988年上市。在此后的近30年里,CAN总线的使用在全世界的车辆中无处不在,包括公共汽车,火车,飞机和轮船在内的各种运输方式。

它还广泛应用于工厂自动化,农业和重型设备,医疗设备,电梯和电梯控制等许多工业环境中。它非常适合作为低成本,低协议开销,具有错误检测和重传功能的确定性网络的许多嵌入式控制应用。

超过20家半导体公司提供支持CAN总线的设备,并且有许多工具供应商以及可用的商业和开源软件版本 - 从驱动程序到中间件和更高级别的协议栈。

让我们来看看CAN总线的一些特性,这些特性使它在许多方面都很有用设置。

CAN架构

CAN是一种多主串行总线,可连接两个或多个电子模块或节点。总线互连(通常)是具有差分信令的双线双绞线。 CAN物理层收发器将CAN协议逻辑1和0转换为总线上的显性和隐性位,如图1所示。

CAN总线在工业网络方面的需求分析

图1 :CAN总线信令。两个CAN引脚(CAN_H和CAN_L)形成差分对。通过收发器开漏驱动器将总线驱动到显性状态(逻辑0)。在隐性状态下,线路不被驱动,因此回落到它们的标称电压。 (来源:Digi-Key Electronics)

CAN收发器驱动器是一种开漏配置,允许多个驱动器一次性作用于总线而不会发生冲突。总线的自然(未驱动)状态是隐性状态(逻辑1)。当节点驱动总线时,隐性状态将被覆盖为显性状态,这表示逻辑0。

CAN消息传递是通过一组称为帧的比特来完成的。有四种帧类型,但主要类型是数据帧,如图2所示。

图2: CAN数据帧的格式。新帧以前一帧的IFS(帧间间隔)之后的SOF(帧开始)开始。 (来源:Digi-Key Electronics)

所有节点都可以尝试同时传输,但一次只允许一条消息在总线上传输。这可以通过仲裁字段实现。

在帧起始同步位之后,所有发送节点在仲裁阶段发送它们的消息标识符。标识符代表消息的优先级 - 数字越小,优先级越高(记住,显性位胜过隐性)。最低标识符赢得仲裁。失败者停止传输并将其消息排队以在下一帧中再次尝试。

获胜者继续发送控制字段(表示要遵循的数据字节数),数据和循环冗余校验(CRC)位。在确认(ACK)字段期间,接收到没有错误消息的所有接收节点都发送0位。

这种直接帧内响应是CAN的强大功能之一:发送节点立即知道如果他们有一个无差错的传输。然而,这对比特率施加了限制,因为总线总长度的双向传播时间不得长于确认主导脉冲。

现在称为经典CAN网络的另一个限制是每条消息的数据位数限制为最多8位。当CAN首次引入时,这对于车辆节点是足够的,但是今天的车辆内部和外部系统通常处理更大的数据尺寸。 8字节限制也会影响总线效率。为了发送64位数据,46个或更多协议位用于仲裁,控制,CRC等。

CAN FD救援

CAN灵活数据,或CAN FD,在2012年推出,以帮助解决古典CAN的一些局限性。 CAN FD允许以两种不同的比特率传输CAN数据帧:仲裁,控制和确认的速率较慢,字段以及数据字段的速率更快。

由于确认包含在数据字段比特率较慢的速率可以更高,因为它不受总线上的双向支持延迟的影响,只有发送器和接收器延迟和总线特性限制了数据速率。该方法还允许与现有CAN控制器向后兼容。此外,CAN FD数据帧支持多达64字节的数据以及额外的CRC位,即使数据字段较长,也可保持汉明距离为6。

CAN收发器规范在ISO 11898-2中有详细说明。该文档的最新版本为收发器的发送器和接收器部分添加了prop延迟规范,并将总环路延迟(TXD至RXD)定义为小于255 ns。由于CAN驱动器不是推挽式,因此发送器和接收器延迟对于显性到隐性和隐性到显性转换是不对称的。

您可能还会对下面的文章感兴趣: