0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CAN/CAN FD采样点及其测试简介

汽车电子设计 来源:北汇信息 2023-01-31 16:15 次阅读

作者 | Andrei

当ECU之间使用CAN来进行通信时,总线上发生了什么?我们可以借助示波器来观察总线上的电平,而从示波器上我们可以看到一串连续的高低起伏的“线条”——波形。无论是电磁波或者是总线上变化的电平,这些信息的载波在时间和空间上是连续的。而从这段连续的载波中解读出我们所需要的信息就需要借助一定的采集手段——采样。CAN控制器需要从总线的高低电平中获取到逻辑0和1。那么控制器要在哪个位置采样?要怎样才能实现正确采样呢?这就涉及到了采样点这个概念。

01采样点的定义

采样点是CAN控制器读取总线电平,并解释各个比特的逻辑值的时间点。在我们了解采样点的测试方法之前,我们需要先了解CAN报文的一个位时间是如何组成的。CAN控制器的最小时间周期称作时间份额(Time quantum,简称Tq),它是通过对芯片晶振周期进行分频而得来的。一个位时间由若干个Tq组成(通常为8到25个),同时根据功能分为4个阶段:同步段、传播段、相位缓冲段1和相位缓冲段2。

poYBAGPYzh2AI8uaAAC6mSfBtv0391.png

4个阶段的功能如下

同步段(Sync_Seg):用于实现时序调整,总线上各个节点的跳变沿产生在同步段内,通常为1个Tq;

传播段(Prop_Seg):用于补偿网络上的物理延迟时间。这些延迟时间包含信号在总线上的传输延迟和CAN节点内部的处理延迟。传播段保证了2倍的信号在总线上的延迟时间;

相位缓冲段1(Phase_Seg1)和相位缓冲段2(Phase_Seg2):用于补偿跳变沿的相位误差,其长度会在重同步的实现过程中延长或缩短。

采样点位于相位缓冲段1的结尾。由于相位缓冲段1和相位缓冲段2能够延长或缩短,采样点也能够随之变化。

02为什么需要测试采样点?

合适的采样点位置是CAN控制器正常通信的保证。

对于CAN网络这个整体而言,各个节点应该尽量使用相同的采样点位置,否则容易出现采样错误,进而使整个网络的通信出现故障;

对于单个节点而言,过早的采样使得节点易受位时间初期的电平波动影响,进而导致采样错误;

受限于重同步的要求和相位缓冲段的宽度,CAN控制器无法过晚采样。

03采样点的测试方法

采样点的测试方法:干扰某一位的采样点附近的总线电平,利用CAN错误帧机制,根据ECU是否发送错误帧来判断是否出现采样错误,进而计算ECU的采样点。根据ECU角色的不同,采样点测试的方法可以分为两类:以ECU作为发送节点,干扰它发送的报文;以ECU作为接收节点,干扰它接收的报文。

实际测试环境的总线干扰设备采用VH6501,并以待测ECU作为接收节点,使用VH6501构建仿真报文,然后从后往前逐次翻转仿真报文数据场的时间份额的电平极性,直到总线上出现错误帧。

pYYBAGPYzh2AD3qvAAPhy_Y6M9k964.png

在开始采样点测试之前,我们需要设置VH6501自身的采样点;

VH6501使用一连串的脉冲电平来构建仿真报文;

从后往前逐次翻转仿真报文数据场的各个脉冲的电平极性,直到干扰到待测ECU的采样点,使得待测ECU发送错误帧。

在执行采样点的测试过程中,我们使用示波器截获CAN总线上的波形。样件使用500 Kbps的传统CAN,即位时间为2 μs。示波器时基设置为8 μs,即一个横格可容纳4个位。

poYBAGPYzh2AMfMpAADy7m7ABc4619.png

上图为没有受到干扰的报文的波形图,图中我们可以清晰地看到数据场的每个比特占用均等的1/4横格。而当我们启动干扰(极性翻转),并且成功翻转采样点所在区间的电平极性后,我们将看到示波器上出现了错误帧,并且数据场最后一个字节的最后一个隐性位相较于正常的波形有着明显的缩短。

poYBAGPYzh6AbbCFAADRnK9hDGI137.png

04采样点测试误差产生的原因

采样点测试误差的来源有测试环境、设备和测试方法等等。

VH6501和待测ECU之间的位时间偏差造成的系统误差:理想情况下500 Kbps的传统CAN的位时间长度为2 μs,但实际环境里,待测ECU和VH6501的位时间与标准的位时间之间存在一定的偏差。如果ECU的位时间大于VH6501的位时间,采样点的测量结果会比实际值偏大;当样件的位时间小于CANoe设定的位时间,采样点的测量结果会比实际值偏小。这样的系统误差无法通过改进测量方法来降低。

测试方法引起的误差:前文介绍采样点测试方法中提到,采样点测试是通过VH6501翻转待测ECU采样点附近的电平极性实现的。但是采样点是一个“时间点”,而VH6501干扰的是时间段。因此每次干扰的时间段的长度将直接影响采样点测试的误差大小。常用的测试方法中,每个位时间由16个Tq组成,每次翻转一个Tq。最终的实际结果相对于正确结果可能存在±6.25%的偏差。但是在介绍采样点测试方法中我们提到,VH6501使用脉冲序列来构建报文,每个位时间由320个脉冲组成。那么通过缩小每次翻转的电平长度,可以将±6.25%的误差缩减至±0.3125%。

05CAN FD采样点测试复杂原因的分析

CAN FD报文的结构更复杂且位速率可变。这使得CAN FD采样点测试相较于传统CAN更复杂。CAN FD在位速率较小的仲裁场和位速率较大的数据场分别采用了两个不同的采样点。

pYYBAGPYzh2AUWWsAABesfZ6WVs382.png

CAN FD数据场的位速率视报文的BRS位(Bit rate switch)而调整-当BRS位检测为隐性时,CAN FD的位速率将从仲裁场的最小位速率切换为数据场的数据位速率,这一位速率将持续至CRC界定符的采样点。因此在测量CAN FD采样点时应避免对BRS和CRC界定符进行干扰。同时由于位时间的差异,使用VH6501构造脉冲序列时应考虑到BRS和CRC界定符采样点前后的位速率的切换以及位时间4个阶段的长度变化。

06CAN FD的第二采样点

不同于采样点,第二采样点在CAN FD控制器接收其他节点发送报文的过程中并不会起到任何作用。第二采样点的作用,是在不改变传输延迟补偿的情况下,实现CAN FD在数据场的位错误检测要求。

位错误的检测要求发送节点对总线状态进行回读。传统CAN总线在设计之初考虑到了信号在总线上的传播时延以及发送节点TXD和RXD之间的处理时延,这两种时延通过位时间的传播段实现补偿,进而保证了发送节点在发送一个比特期间也能从总线上回读到这个比特。

ISO 11898-5规定传输时延的上限为255 ns。位速率为8 Mbps的CAN FD节点的位时间为125 ns。以极限状态下1个位时间由8个Tq组成来计算,单位Tq为15.625 ns。即传输时延需要17个Tq来补偿。显然一个位时间完全不够来补偿传输时延。

解决方法有两种。一是增大位时间,增大传播段的Tq组成数量,但是这种方法会降低位速率,因此和CAN FD高速目标相冲突。二是采用传输时延补偿,即在发送节点回读总线状态时引入一段传输时延补偿,进而保证位错误检测的需要。而引入这段传播时延补偿的结果即为第二采样点(secondary sample point,缩写 SSP)。

SSP对于CAN FD控制器的重要性不言而喻,它是保证控制器在数据段实现位错误检测功能的关键。使用SSP的发送节点会忽略它在采样点检测到的位错误。但是如果在SSP检测到位错误,发送节点将会在下一个采样点对检测到的位错误发出错误帧。

07小结

ECU采样点的位置设计是否得当对于通信有着相当大的影响。本文重点介绍了传统CAN采样点的测试方法,并简要分析采样点测试的误差产生原因,同时就CAN FD采样点测试的复杂性和第二采样点进行了介绍。

北汇信息专注于汽车电子测试,后续将会为大家带来更多的科普文章,介绍汽车电子及测试相关的知识。同时,也包括本文中所提到的CAN FD第二采样点SSP的测试实践经验。

审核编辑:汤梓红

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

    关注

    113

    文章

    6240

    浏览量

    184808
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2744

    浏览量

    463630
  • ecu
    ecu
    +关注

    关注

    14

    文章

    886

    浏览量

    54485
  • CAN控制器
    +关注

    关注

    3

    文章

    74

    浏览量

    15031
  • CAN FD
    +关注

    关注

    0

    文章

    78

    浏览量

    12899

原文标题:科普系列: CAN/CAN FD采样点及其测试简介

文章出处:【微信号:QCDZSJ,微信公众号:汽车电子设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何实现CANCAN FD的升级?

    自动驾驶技术迅速发展,车辆中的CAN总线已经无法满足数据吞吐量和传输速度的要求,CAN总线的加速升级版——CAN FD技术正在逐渐替代现有网络。为了进一步了解
    的头像 发表于 09-20 09:31 9048次阅读

    CANCAN FD快速升级的实现方案

    自动驾驶技术迅速发展,车辆中的CAN总线已经无法满足数据吞吐量和传输速度的要求,CAN总线的加速升级版——CAN FD技术正在逐渐替代现有网络,为了进一步了解
    的头像 发表于 09-19 16:56 1.3w次阅读

    CAN FD的七个技术问题资料总结

    CAN FD的七个技术问题资料总结包括了:1.CAN FD的数据帧格式变化?2.CAN FD
    发表于 09-27 08:00 29次下载
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>的七个技术问题资料总结

    如何利用CAN采样测试方案提高CAN网络通信成功率

    CAN总线的每一帧可以看作一连串的电平信号。大多数设备使用单点采样,也就是在一个位时间内从采样的位置读取一个电平信号,以此确定这个“位”的显隐性。在
    的头像 发表于 03-30 15:54 1.4w次阅读
    如何利用<b class='flag-5'>CAN</b><b class='flag-5'>采样</b><b class='flag-5'>点</b><b class='flag-5'>测试</b>方案提高<b class='flag-5'>CAN</b>网络通信成功率

    can总线一帧多少字节多少位_MCU扩展CAN/CAN FD接口方案MCP2518FD+ATA6563

    “本文介绍MCU通过SPI串口扩展CAN/CAN FD接口扩展方案,该方案基于MCP2518FD+ATA6563,可快速部署应用于实际项目。”1.C
    发表于 10-29 11:21 18次下载
    <b class='flag-5'>can</b>总线一帧多少字节多少位_MCU扩展<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>接口方案MCP2518<b class='flag-5'>FD</b>+ATA6563

    STM32设备上的CAN FD

    本文件的目的如下所述: •概述具有灵活数据速率(CAN-FD)协议的控制器局域网(CAN)。 •描述CAN-FD相对于经典CANCAN
    发表于 08-28 10:34 8次下载

    CANCAN FD如何解决彼此的通讯

    因为受制于产品的稳定性考验,改造成本等问题,没法快速全面普及CAN FD。另外,在2012年底提出CAN FD到2015年中成为ISO CAN
    发表于 10-18 14:20 3179次阅读

    可以混合使用Classical CAN格式和CAN FD格式的诊断报文吗?

    Unexpected N_PDU的处理只适用于相同N_AI的诊断报文。Classical CANCAN FD的N_AI本就不同,所以,互不干扰,可以并行处理;单个Message中不要混用Classical
    发表于 12-05 10:06 1362次阅读

    科普系列: CAN/CAN FD采样及其测试简介

    或者是总线上变化的电平,这些信息的载波在时间和空间上是连续的。而从这段连续的载波中解读出我们所需要的信息就需要借助一定的采集手段——采样CAN控制器需要从总线的高
    的头像 发表于 01-29 13:56 1763次阅读
    科普系列: <b class='flag-5'>CAN</b>/<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b><b class='flag-5'>采样</b><b class='flag-5'>点</b><b class='flag-5'>及其</b><b class='flag-5'>测试</b><b class='flag-5'>简介</b>

    CAN FD是什么意思 优点有哪些

    日益增加的需求。 什么是CAN FDCAN FD协议是由Bosch以及行业专家预研开发的,并于2012年发布。通过标准化对其进行了改进,现已纳入ISO 11898-1:2015。一
    的头像 发表于 07-18 10:40 2802次阅读

    CAN FD帧结构介绍

    CAN FD帧结构 CAN FD节点可以正常收、发CAN报文,但CAN节点不能正确收、发
    的头像 发表于 07-18 10:42 7610次阅读
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>帧结构介绍

    经典CAN网络加入CAN FD节点需要注意什么?

    目前,整车的网络拓扑中,CAN FD的使用已经非常普遍。当然,带来的问题也非常的多。CAN FD在设计之初,就考虑了向后兼容Classic CAN
    的头像 发表于 08-22 09:11 1708次阅读
    经典<b class='flag-5'>CAN</b>网络加入<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>节点需要注意什么?

    CAN FD的降噪措施

    CAN FD的降噪措施
    的头像 发表于 12-07 10:48 642次阅读
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>的降噪措施

    汽车CAN FD总线测试原理及应用

    CAN FD总线报文周期一致性测试方法,可自动实现监控测试并快速生成测试报告,主要根据CAPL语言设计建立
    发表于 04-01 12:53 901次阅读
    汽车<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>总线<b class='flag-5'>测试</b>原理及应用

    CAN FD与传统CAN的区别是什么

    随着汽车电子、工业自动化的蓬勃发展,CAN总线上的设备数量、数据量都大大增加,给CAN总线带来了极大的挑战。为满足更高的带宽及数据吞吐量,CAN FD
    的头像 发表于 10-22 10:47 390次阅读
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>与传统<b class='flag-5'>CAN</b>的区别是什么