采用眼图分析实现CAN FD

眼图是一种评价传输网络信号质量的分析方法。眼图分析可以帮助发现can网络的破坏影响。

通过米尔科Donatzer 2017年5月12日

CAN网络可以将信息一点一点地从发送方传输到部分距离的接收方。然而,信息传输很容易受到网络拓扑结构、参与者之间的电缆长度、线路和终端电阻以及外部电气影响的破坏。眼图分析和串行位掩码分析都允许在CAN网络配置阶段早期识别和纠正这些影响。

由于数据相位的更高和灵活的比特率,CAN FD比经典CAN对噪声更加敏感,后者仅对整个帧具有固定的比特率。CAN FD帧的传输总是从仲裁阶段的低比特率开始。在比特率开关(BRS)位的采样点上进行到数据相位较高比特率的切换。在循环冗余校验(CRC)分隔符位的采样点,比特率被切换回较低的比特率。在更快的数据阶段,比特的短持续时间对信号质量有负面影响,这可以用眼图进行最好的分析。信号质量高度依赖于:

  • 总线拓扑结构的设计和复杂性
  • 对电缆布线和/或总线终端选择不利
  • 系统对车辆网络中典型的较高传输速率的敏感性
  • 电缆的特性,如其阻抗或屏蔽。

创建一个经典的眼睛图

在网络设计期间,为仲裁阶段和数据阶段分别创建位的相位段及其采样点的配置。根据CAN协议,一个比特被时间划分为四个段:一个同步段、一个补偿时延段和两个相位段,用来补偿比特边缘的相位误差。相段通常被指定为TSEG1和TSEG2。tseg1总结了第一阶段部分和补偿部分。

图1显示了位的时间划分到上述段。采样点位于相段之间。TSEG2对应于采样点之后开始的相位段。由于叠加位的网格直接显示在眼图中,因此可以立即看出叠加位与网格的匹配程度。

理想情况下,位边应该位于同步段内。这里使用的算法就像一个真正的CAN控制器。由于位边的时间延迟,由CAN收发器延迟和控制单元的抖动引起,CAN控制器必须在接收端从隐性总线电平转换到显性总线电平时重新同步。这是在设定的采样点检测位的逻辑电平的先决条件。

随着相位段的调整,同步机制的鲁棒性会受到影响。这些设置通常使用眼图进行检查,这允许用户可视化他的控制器设置是否实用和有意义。由于CAN FD有两种不同的比特率,建议为仲裁阶段和数据阶段创建单独的眼图。

使用CANoe和CANalyzer软件工具,用户能够配置CAN网络并使用选项范围记录电压信号。测量完成后,用户可以进行眼图分析,对所有接收到的帧进行逐位分析,并在固定的时间窗口内进行图形化叠加。在这个例子中,时间窗口是比特持续时间的一个百分比(图1)。

显示的位段显示已配置的控制器设置。在这个视图中,可以快速识别单个位的可能偏差。在一个好的控制器设置下,所有位的上升边都位于同步段。如果位信号也均匀地达到其显性和隐性电压水平,即没有超调,则可以假设具有鲁棒总线拓扑和正确选择的总线终端。

该图有一个“眼睛”,因为x轴上的所有比特都归一化为理论比特宽度(比特率的倒数),而比特的电压值则绘在y轴上。对于所描述的情况,眼是大开的(图2)。在相反的情况下,眼是闭的,这表明网络结构中存在错误(图3)。在图2和图3中分析数据阶段,采样点设置为70%,数据速率为2000 kbit/s。

进一步细化分析标准

为了缩小可能的误差来源,建议从不同方面创建一个眼图。为此,提供了各种过滤器选项:

  • 帧类型,例如CAN或CAN FD
  • CAN通道号
  • 控制单元名称
  • 已定义的位序列。

检测控制单元的协议错误的另一种方法是分析帧的不同位序列。例如,利用这种方法,可以区分在确认阶段由所有控制单元传输的比特和特定控制单元的比特。

为了进一步细化评估眼图的标准,以位掩码的形式创建预定义的理论眼是有帮助的。为此目的,用户将位掩码生成为一个可自由定义的多边形,从而定义了“良好”区域,该区域不能被任何位的电压信号交叉。为仲裁阶段和数据阶段定义单独的位掩码是很有用的。图4显示了一个带有位掩码的眼图,其中一些位违反了所定义的掩码。背景显示了CAN控制器的配置段。

串行位掩码分析

串行位分析为用户提供了另一种可视化方法。原则上,两种分析程序的执行是相同的。只有在串行位掩码分析的情况下,位是按示波器采样的顺序显示的。

可以定义位掩码,为每个显性和隐性位显示。与经典的眼图相比,它的优点是位误差是直接逐位分配的。也可以只分析比特流的一部分。对于眼图已经讨论过的配置可能性也可以应用于串行位掩码分析。图5显示了已定义的分析区域的所有位。每个位都有一个位掩码,红色掩码表示第一个位有违规。

自动化分析过程

这两种分析方法都可以通过CANoe实现自动化。要做到这一点,用户必须首先定义测试用例。例如,定义一个测试用例来分析所有CAN FD帧的数据阶段,而另一个测试用例只用于仲裁阶段。对于每个测试用例,可以使用特定的位掩码作为测试标准。如果位掩码被位信号违反,测试用例结果将为负。每个测试用例都被自动记录、评估,并存储在测试报告中,这样用户就可以理解为什么测试用例失败了。

所描述的方法旨在帮助快速识别和修复设计错误或负面外部影响。使用CANalyzer和CANoe进行眼图分析也可用于Flexray等其他总线系统。使用CANoe,用户还可以选择通过CAPL测试序列以可重复和自动化的方式执行测试。由于高度自动化和使用合适的工具,可以用最小的努力重复测试。

米尔科DonatzerVector Informatik。本文最初发表于自动化(CAN)通讯杂志.CiA是CFE媒体的内容合作伙伴。由制作编辑克里斯·瓦夫拉编辑,控制工程, CFE传媒,cvavra@cfemedia.com

在线额外

参见CAN在自动化中的其他故事,链接如下。

原始内容可以在can-newsletter.org