多节点can系统级测试解决方案

接口/总线/驱动

1125人已加入

描述

  本文解释了评估控制器局域网(CAN)收发器的正确系统级测试方法。它通过展示在多节点can系统中执行从一个CAN节点到另一个CAN节点的数据传输时如何避免实际数据传输问题,解释了为什么这种方法更优越。阅读本文后,读者将对CAN系统有更好的理解,并将能够为特定的多节点CAN系统选择正确的CAN收发器。

  CAN是一种强大的通信标准,用于允许不同的传感器、机器或控制器相互通信。CAN接口广泛用于工业自动化、家庭自动化和汽车领域,因为它更加稳定,能够有效处理总线争用。

  传统CAN2.0提供8字节有效载荷,支持最高2 Mbps的数据速率。有时,2 Mbps的数据速率对于关键通信事件是不够的,因此CAN.org提出了一种新的通信协议CAN-FD,允许高达10 Mbps的高数据速率通信。

  CAN-FD灵活的数据速率

  传统CAN和CAN-FD的主要区别在于灵活数据(FD)。在CAN-FD中,数据速率(即每秒传输的位数)比传统CAN快5倍(仅数据有效载荷为10 Mbps为了兼容性,仲裁比特率仍然被限制为1 Mbps)。CAN-FD中的消息有效载荷大小从传统的8字节增加到64字节。

  利用CAN-FD,传感器可以根据更大或更小的有效载荷来改变数据速率。与现代工厂中的传统CAN相比,更快的数据速度和更大的有效载荷容量带来了许多系统级操作优势。

  CAN通信—基础知识

  CAN通信由两个主要部件组成:(a)CAN控制器和(b)CAN收发器,如图1所示。

微控制器

  图一。单个CAN节点。

  CAN控制器处理CAN通信的数据链路层,而CAN收发器处理物理层。稍后让我们简单了解一下CAN收发器的物理特性。

  在CAN协议中,逻辑0称为显性位,逻辑1称为隐性位。由于CAN是一种差分协议,CANH和CANL之间的电压差决定了发送和接收信号的逻辑电平。如果CANH-CANL电压大于1.5 V,CAN接收器会将该位识别为逻辑0。然而,如果CANH-CANL电压低于200 mV,CAN接收器会将该位识别为逻辑1。图2显示了CAN收发器的TXD引脚上数字逻辑1和逻辑0位的连续传输,以及CANH和CANL引脚上的等效CAN总线电平。基于CANH和CANL电压之间的差异,接收器在RXD引脚上回送信号。

微控制器

  图二。CAN协议物理层。

  现在让我们来看看CAN数据链路层,它为该位流的受控传输制定了数据帧。它还有助于错误检测和总线争用解决方案。图3显示了标准CAN帧格式。

微控制器

  图3。CAN协议数据链路层。

  每个节点以帧起始(SOF)开始数据帧,这是第一个支配位。11位标识符是每个节点的唯一地址。IDE指示帧格式。该位域中的逻辑0表示标准CAN格式,而该位域中的逻辑1表示扩展CAN格式。r0是保留位。DLC字段指示要传输的数据字节数。在标准CAN2.0帧中,最多可以传输8个字节。接收节点通过在总线上发送主位来确认该数据帧。最后,帧尾(EOF)是一个隐性位,它标志着一个数据帧的结束。

  大多数情况下,在选择CAN收发器时,客户通过函数发生器在CAN收发器的TXD引脚上发送位流来评估CAN收发器。虽然这种方法非常适合评估单节点CAN,但在开发多节点、远距离CAN系统时,这种方法似乎存在缺陷。因此,新的CAN控制器和收发器测试是为您的系统选择正确的CAN收发器所必需的。这种方法论背后的原因是什么?

  仲裁方法

  这种系统级测试方法的主要原因是CAN协议的仲裁特性。如果两个节点试图同时占用总线,则通过非破坏性的逐位仲裁来实现访问。发送第一个标识符位为0(显性)的节点,而其他节点发送1(隐性)的节点,保持对CAN总线的控制,继续完成其消息。图4显示了两个节点之间的仲裁方案。 

微控制器

  图4。2节点系统中的CAN仲裁。

  在该图中,节点1和节点2通过CAN总线相互连接。因此,CANH和CANL信号是两个节点共用的。TXD1和RXD1是节点1的信号,而TXD2和RXD2是节点2的信号。如您所见,节点1和节点2的前三位是相同的:分别为1、0和1。节点2的第四位是1,而节点1是0。由于节点1有一个支配位,它赢得了仲裁并继续发送完整的消息。该消息由节点2确认。一旦节点1完成传输,节点2就开始发送消息。节点1确认该消息。

  每个节点都有一个唯一的标识符ID。因此,这个11位标识符ID用于仲裁过程。这些位将由控制器回读,以确定消息传输的优先级。在CAN-FD中,仲裁比特率可以与数据比特率保持相同或不同。在CAN2.0中,仲裁和数据比特率相同。

  在传统CAN2.0系统中,有时比特率会从标准CAN2.0推荐的1 Mbps提高,以实现更快的数据传输。在CAN-FD系统中,仲裁比特率限于1 Mbps数据速率,数据比特率最高可达10 Mbps。在仲裁阶段,包括11位标识符和SOF位,每个发送的位都被回读以实现同步。

  CAN节点在CAN总线上观察到的边沿上同步,但总线上的信号传播时间会在节点之间引入相移。CAN用于媒体访问控制的非破坏性仲裁机制要求任意两个节点之间的相移小于一位时间的一半。标称比特时间的下限定义了标称比特率以及总线长度的上限。因此,RXD的上升时间和下降时间、CAN收发器的环路延迟以及电缆都会出现。在更高的比特率下,例如10 Mbps,传播延迟和上升时间/下降时间需要小于50 ns。

  因此,CAN-FD中的仲裁比特率限制为1 Mbps,允许许多可能节点的同步有更高的裕量。然而,CAN-FD是一种新技术,尚未在所有CAN系统中实施。在某些情况下,CAN-FD控制器不可用,或者被认为是系统的一个昂贵的附加物,因此客户继续使用标准CAN控制器。在这些系统中,由于关键的传感器信息和节点之间可能较短的电缆长度,CAN节点需要以更高的比特率(》 2 Mbps)进行通信。在这种情况下,收发器的上升时间/下降时间对称性和传播延迟可能会限制可允许的数据通信的上限。

  CAN收发器需要进行系统级测试

  让我们以CAN收发器为例MAX33012E,在20米长的电缆上的测试速度高达13.3 Mbps。如图5所示,TXD2位宽为75 ns(对应13.3 Mbps),RXD2位宽为72 ns。当控制器以80%的TXD位宽采样时,包括RXD上升时间/下降时间和环路延迟在内的最小RXD位宽为60 ns。在图5中,可以看到接收的位宽为72 ns。因此,MAX33012E满足条件,并且足够稳定,可以在更高的比特率下工作。在这种情况下,CAN控制器不会检测到任何错误,并继续执行数据通信。

微控制器

  图5。一个MAX33012E可以传输数据。

  图6显示了竞争产品的示波器截图,也是以13.3 Mbps的速率测试的。该器件的发送位宽为75 ns(相当于13.3 Mbps),接收位宽小于发送位宽的80%(48 ns)。于是,仲裁阶段位传输失败,导致通信出错,最终系统停止工作。

微控制器

  图6。竞争对手的CAN数据传输。

  这类数据传输错误只能通过执行完整的系统级测试来发现,包括多个can控制器、CAN收发器和一条长电缆。

  结论

  CAN收发器的系统级测试有助于发现系统中未来可能出现的数据传输问题。这些问题可以通过评估带有can控制器的CAN收发器和满足所需时序和电压规格的电缆来避免。CAN系统的鲁棒性是CAN系统中每个组件的累积性能。仅评估一个器件或CAN收发器并不能准确衡量系统功能。对系统进行预先验证比更换故障系统更具成本效益。因此,我们强烈建议在选择CAN控制器之前进行系统级测试。

  审核编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分