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

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

3天内不再提示

TSMaster采样点配置方法与消除错误帧流程

上海同星智能科技有限公司 2023-11-25 08:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

当通讯节点间采样点参数和波特率参数不匹配造成一些错误帧时,我们如何在TSMaster中设置以及调整波特率参数和采样点参数,来减少以及消除总线上出现的错误帧,进一步提高通信质量。本文着重讲解讲解如何借用TSmaster更加便捷地获取相应的采样点参数以及波特率参数并通过API设置到用户程序中。

本文关键字:采样点、波特率、错误帧、tsapp_configure_canfd_regs

目录

采样点定义

采样点导致的通信问题

如何在TSMaster中调整采样点参数

tsapp_configure_canfd_regs参数配置

Catalog

采样点定义

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

84d0c758-8b28-11ee-9788-92fbcf53809c.png

△ 图1:某个位时间的组成

四个阶段的功能如下

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

● 传播段:用于补偿网络上的物理延迟时间,这些延迟时间包含信号在总线上的传输延迟和CAN节点内部的处理延迟。

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

CAN通信中不同得分波特率时间对应的采样点以及位时间的份额不尽相同。常见的采样点以及相关的参数如下表所示。以波特率为500K为例,一个位时间被分配成16个时间份额,而采样点在第14个时间份额。

84ea597a-8b28-11ee-9788-92fbcf53809c.png

△ 图2:CAN通信中常见采样参数

合适的采样点位置是CAN控制器正常通信的保证,其重要性主要有以下三点:

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

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

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

采样点导致的通信问题

CAN网络采用异步通信的方式,因此需要根据波特率进行采样,采样原理如下图所示。红色箭头则表示采样点的位置,采样得到的数据为“1010 1010”。

850249a4-8b28-11ee-9788-92fbcf53809c.jpg

△ 图3:CAN通信采样原理示意图

若采样点设置提前20%,则采样后得到的数据为“0101 1010”,与图1中数据相比较,图4中采样得到的第五位数据就不相同。因此,在CAN通信网络中,如果传输节点之间的采样点差异不同,则会造成数据传输传输错误,并且随着传输的数据越多,累计的错误数据位就越多。所以在进行CAN网络通信时,需要将各个节点的波特率和采样点设置位相同的。

851b8022-8b28-11ee-9788-92fbcf53809c.jpg

△ 图4:采样点提前20%的采样示意图

在CAN通信网络中,节点之间波特率和采样点设置不匹配导致的问题主要表现是出现错误帧。以波特率500k、采样点80%(相位缓冲段1为63、相位缓冲段2为16)与波特率250k、采样点50%(相位缓冲段1为3、相位缓冲段2为4)为例,使用同星硬件TC1016和TSmaster进行测试,分别将以上波特率和采样点参数部署至短接的CAN1与CAN2通道。

85393b3a-8b28-11ee-9788-92fbcf53809c.png

△ 图5:CAN1通道波特率和采样点参数配置

854afd2a-8b28-11ee-9788-92fbcf53809c.png

△ 图6:CAN2通道波特率和采样点参数配置

在此参数配置条件下,在TSMaster的报文发送窗口发送报文,然后可以在报文信息窗口下看到报文数据在总线上传输的状态。如下图所示,在通信节点之间的波特率和采样点参数配置不相同的情况下,报文信息窗口会出现错误帧。

856add20-8b28-11ee-9788-92fbcf53809c.png

△ 图7:节点间采样点参数不同导致的错误帧

因此,在TSMaster报文信息窗口出现错误帧的时候,检查节点之间的波特率和采样点参数配置是一个重点排查的方向。除此之外,不仅仅是上图所展示的错误帧类型,当报文信息窗口出现其他错误帧类型,诸如bit error、form error等(如图8和图9所示),都需要检查波特率和采样点采样点参数配置。

85802194-8b28-11ee-9788-92fbcf53809c.png

△ 图8:错误帧

8590263e-8b28-11ee-9788-92fbcf53809c.png

△ 图9:错误帧

如何在TSMaster中调整采样点

当因为采样点设置不当,导致在TSMaster的报文信息窗口观测到错误帧时,此时需要重新调整TSMaster中的参数配置,以实现节点之间的正常通信。因此,如何在TSMaster中调整采样点和波特率参数以消除错误帧,提高通信质量尤为重要。但在此之前,需要知道如何计算采样点。

85a13e4c-8b28-11ee-9788-92fbcf53809c.png

其中,TSEG1和TSEG2在TSmaster中分别表示为相位缓冲段1和相位缓冲段2。在知道采样点的计算公式后,可以根据被测件的通信参数准确计算出相应的采样点参数,然后可进一步在TSMaster的总线硬件界面中配置好相应参数,以实现节点间的正常通讯。

调整采样点和波特率参数的步骤

● 步骤一:首先需要在通道需选择界面选择相应的硬件通道,并点击确认。

85b6f462-8b28-11ee-9788-92fbcf53809c.png

△ 图10:选择通道

●步骤二:确定通道后,在总线硬件界面配置波特率参数。

85c8c44e-8b28-11ee-9788-92fbcf53809c.png

△ 图11:配置波特率和采样点参数

以CAN通信网络为例,波特率的选择范围由125kbps至1000kbps,波特率的选择要参考被测件的通信参数,并且在TSmaster中波特率参数设置应与之对应,若在不清楚被测件波特率参数的情况下,可以询问厂商或者换用其他波特率参数进行通信,看看在其他波特率参数下可否改善出现错误帧的情况。

85d93f7c-8b28-11ee-9788-92fbcf53809c.png

△ 图12:波特率参数选项

●步骤三:配置采样点参数(即仲裁段位时间)


TSMaster提供诸多采样点参数,以供配置使用。参考总线硬件界面中的仲裁段位时间选项,同一个采样点可能对应的相位缓冲段1参数和相位缓冲段2参数不尽相同,因此,在选择采样点时需要用到采样点公式进行计算,根据被测件的的通信参数,选择与之对应的相位缓冲段1参数和相位缓冲段2参数进而计算出采样点参数。

85e99502-8b28-11ee-9788-92fbcf53809c.png

△ 图13:采样点参数选项

此外,当根据被测件计算出来的采样点参数或者相位缓冲段1参数和相位缓冲段2参数在仲裁段位时间参数选项列表中无法找到时,可以在选项列表中选择与之相近的参数进行配置即可。若使用者在不知道被测件的通信参数下,推荐使用TSMaster中默认采样点参数即可。

85f5fe5a-8b28-11ee-9788-92fbcf53809c.png

△ 图14:TSMaster默认采样点参数

tsapp_configure_canfd_regs参数配置

TSMaster提供众多的API函数给用户进行二次开发,通过API函数编写更加符合自己需求的用户程序实现各项功能。当使用二次开发的程序出现通信错误时,可以使用上述方法在TSMaster界面中不断调整采样点和波特率等参数的配置,以改善总线中出现错误帧的情况,进而获取更加符合与被测件之间进行通信的采样点和波特率等参数。

tsapp_configure_canfd_regs函数作用是配置 CANFD 控制器内部寄存器,让控制器的采样点,同步跳变宽度等参数更加精确。函数如图15所示:

86099c30-8b28-11ee-9788-92fbcf53809c.png

△ 图15:tsapp_configure_canfd_regs函数

86236962-8b28-11ee-9788-92fbcf53809c.png

表格:tsapp_configure_canfd_regs函数输入参数表

上面这些参数看起来很繁琐,但是可以通过 TSMaster 的配置器直接查看到对应的参数值。以仲裁场 500k,仲裁采样点 80%,数据场 2000k,数据场采样点 80%为例。进入TSMaster,打开总线硬件配置,如图16所示。

8638e6c0-8b28-11ee-9788-92fbcf53809c.png

△ 图16:总线硬件配置

展开仲裁段位时间选项,精确选择 80%的采样点,如图17所示:

86533764-8b28-11ee-9788-92fbcf53809c.png

△ 图17:仲裁段位时间

因此,可以看到 AArbSEG1 = 31,AArbSEG2 = 8, AArbPrescaler = 2;AArbSJW= 6(<= AArbSEG2 即可),AArbBaudrate = 500。

同理,可以获得数据场的参数配置,如图18所示:

866b2252-8b28-11ee-9788-92fbcf53809c.png

△ 图18: 数据段位时间

因此采样点和波特率等参数的获取和调整都可以在TSMaster中完成,通过这样的调试方式可以让TSMaster的功能充分发挥出来,更加便捷地帮助使用者完成开发所需。

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

    关注

    14

    文章

    8130

    浏览量

    93084
  • MASTER
    +关注

    关注

    0

    文章

    110

    浏览量

    12110
  • CAN控制器
    +关注

    关注

    3

    文章

    76

    浏览量

    15559
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞萨RL78F24系列微控制器中的LIN总线从机配置方法

    在汽车电子领域,LIN总线是RL78F24系列微控制器的核心外设之一。为简化LIN通信的配置流程,瑞萨电子提供了专用的RLIN3配置工具,该工具能够高效定义LIN信号的格式与内容。本
    的头像 发表于 12-02 14:11 2839次阅读
    瑞萨RL78F24系列微控制器中的LIN总线从机<b class='flag-5'>配置</b><b class='flag-5'>方法</b>

    干货分享 | TSMaster安全管理模块用户手册:一站式配置SecOC与MACSec

    的困扰?为此,我们整理了这份TSMaster安全管理模块用户手册,为您提供一站式的安全协议配置与激活解决方案。本文关键词:安全管理,SecOC协议,PDU、MAC
    的头像 发表于 11-07 20:04 140次阅读
    干货分享 | <b class='flag-5'>TSMaster</b>安全管理模块用户手册:一站式<b class='flag-5'>配置</b>SecOC与MACSec

    CANFD节点的采样如何测量?

    本文导读为提升CAN/CANFD网络的通信可靠性,各节点需尽可能配置合适且一致的采样。然而在设备CAN通信采样参数未知的情况下,如何验证
    的头像 发表于 07-31 11:34 935次阅读
    CANFD节点的<b class='flag-5'>采样</b><b class='flag-5'>点</b>如何测量?

    告别摸索!TSMaster官方最全学习路径整理

    在汽车电子和总线通信领域,TSMaster已成为工程师们不可或缺的利器。作为一款功能强大的总线分析、仿真、测试和诊断工具,TSMaster广泛应用于CAN、LIN、FlexRay等总线系统的开发
    的头像 发表于 06-13 20:06 761次阅读
    告别摸索!<b class='flag-5'>TSMaster</b>官方最全学习路径整理

    CAN总线采样不一致的危害

    采样不一致是CAN总线网络中常见的配置错误,可能导致位错误、同步问题、错误
    发表于 06-07 08:55

    采样不一致:总线通信的隐形杀手

    在CAN、CANFD信号波形不稳定或非理想环境下,采样不一致成为总线通信中的关键隐患,本文分析了采样偏移对总线的影响,并提出优化同步策略以提高通信可靠性,为总线设计提供重要参考。为
    的头像 发表于 05-19 11:44 827次阅读
    <b class='flag-5'>采样</b><b class='flag-5'>点</b>不一致:总线通信的隐形杀手

    Denebola RDK上配置大小与实际大小不一致是怎么回事?

    我目前正在使用配置2048x1200 RAW10 30FPS测试Denebola RDK板,并且遇到了有关大小和数据包大小的问题。 以下是详细信息: DMA 缓冲区大小:0x5FF0 输出日志
    发表于 05-19 08:09

    干货分享 | TSMaster用户必看:以太网通信仿真用户手册

    TSMaster的以太网通信配置、报文收发、协议仿真及自动化测试技巧,助您快速上手并提升开发效率。本文关键词:TSMaster,以太网通信仿真目录Catalog1.符号说
    的头像 发表于 03-28 20:04 787次阅读
    干货分享 | <b class='flag-5'>TSMaster</b>用户必看:以太网通信仿真用户手册

    如何在SJA1110中配置IEEE802.1CB复制和冗余消除 (FRER)?

    嗨,我如何在 SJA1110 中配置 IEEE802.1CB 复制和冗余消除 (FRER),我需要实施进入端口 1 的数据的复制需要反映在端口 2 中,以及如何禁用进入端口 1 的
    发表于 03-26 08:02

    解锁TSMaster fifo函数:报文读取的高效方法

    前言:TSMaster目前有两种读取报文的模式:回调函数模式和fifo模式。fifo函数是TSMaster近期新增的函数,本文将重点介绍fifo模块。关于回调函数的使用方法可以参考帮助模块的《快速
    的头像 发表于 03-14 20:04 938次阅读
    解锁<b class='flag-5'>TSMaster</b> fifo函数:报文读取的高效<b class='flag-5'>方法</b>

    ADS850采样低频干扰怎么消除

    设计要求。 当我将视频中随机两相减输出其差值,此时得到的应该是均值为零,方差2倍于单次采样低噪的白噪声。具体可详见附件中的图片。但此时发现视频信号在水平方向出现较大的相关性,可以判断结果中出现了
    发表于 02-13 06:45

    基于Vector工具进行CAN协议错误的分析实践

    广播发送的短结构,还体现在其错误检测机制上。通过总线数据以及总线波形来分析总线故障时,CAN协议错误检测机制中丰富的错误类型能让定位问题
    的头像 发表于 01-15 10:03 993次阅读
    基于Vector工具进行CAN协议<b class='flag-5'>错误</b><b class='flag-5'>帧</b>的分析实践

    GPIO错误排查与解决

    在嵌入式系统和微控制器编程中,通用输入输出(GPIO)是最常见的接口之一。然而,在使用GPIO时,我们可能会遇到各种错误。 1. 理解GPIO GPIO是微控制器上的一组引脚,可以被配置为输入或输出
    的头像 发表于 01-09 09:46 3716次阅读

    DCS控制系统的配置与实施流程

    DCS(分布式控制系统)控制系统的配置与实施流程是一个复杂但有序的过程,涉及多个步骤和环节。以下是一个典型的DCS控制系统配置与实施流程: 一、筹备工作 确定需求 :明确控制系统的控制
    的头像 发表于 12-27 16:47 2722次阅读

    ADS6149采样率250Mhz,后级接Xilinx FPGA,输入1Mhz正弦波,在FPGA接口采样得到异常采样,为什么?

    ADS6149采样率250Mhz,后级接Xilinx FPGA,输入1Mhz正弦波,在FPGA接口采样得到异常采样,如图1,图2所示。 图1 异常值出现 图2异常值局部放大 2
    发表于 12-25 07:57