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

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

3天内不再提示

同星多设备间的时间戳同步机制TSync功能与使用

上海同星智能科技有限公司 2024-10-12 08:05 次阅读

随着汽车网络测试的通道数量不断增加,时常需要多个同星设备同时连接在同一台电脑的同一个TSMaster应用程序,并进行多设备同时执行CAN报文收发和记录等功能,必然有多设备之间的时间戳同步以及设备与电脑上操作系统的时间同步的要求。


为了满足同星多设备之间以及设备与电脑间的时间同步要求,对此,同星TSMaster推出了TSync同步机制功能,本文主要介绍TSync同步机制功能以及相应的使用方法。


本文关键词:TSync同步机制,多设备,设备与电脑,时间戳同步

目录

Catalog

1. 设备间为什么会有同步误差

2.TSync时间同步机制

3.如何激活同星设备的TSync功能

1

设备间为什么会有同步误差

多设备运行环境下,每台设备均有内部时钟源。通常为晶振产生,由控制器对脉冲数量计数,进而为特定事件(例如报文接收、发送完成等)打上时间戳。如图 1 所示。当多台设备收到同一事件时,我们希望获得相同时间戳,但这通常做不到,其误差来源包括:

相位误差:例如不同的设备上电时序,启动顺序等,导致其时间戳存在固定偏差;

频率偏差:即使在启动过程中纠正了相位偏差,但晶振的频率依然存在细微区别。

例如常温温差为±30ppm的晶振,假设实际偏差为10ppm,即百万分之十,则1个小时则会产生60*60*1000*10/10^6 = 36毫秒偏差,这个偏差是由最底层器件带来的,设备无法单独依靠自身进行纠正。

b5fc6b72-882d-11ef-bb4b-92fbcf53809c.jpg

图1 每一台设备拥有独立的时钟模块

2

TSync时间同步机制

TSync时间同步机制功能是针对同星设备,包括TC系列、TP系列等CAN/CAN FD设备,实现设备与设备之间的同步时间戳误差小于500微秒,并保证同星设备与电脑操作系统的时间也是完全同步的功能。如图 2 所示。

b61ecc26-882d-11ef-bb4b-92fbcf53809c.png

图2 支持TSync时间同步机制的TC1013设备

2.1TSync时间同步机制的验证方法

通过两个同星设备进行CAN报文的收发通信来实现TSync时间同步验证,主要验证方法是采用C小程序的CAN报文发送回调事件与CAN报文接收回调事件获取报文时间戳,进一步计算设备A的报文发送时间与设备B的报文接收时间的时间差值“comp_time”,如图 3 所示。同时可以使用图形模块准确观测设备间的时间差值的浮动变化情况,得出设备间的同步效果。

b64ca2a4-882d-11ef-bb4b-92fbcf53809c.jpg

图3TSync时间同步机制的部分验证脚本

如下通过激活和不激活TSync同步机制的参考测试组,对比两组测试的设备间时间同步差异。

2.2 激活TSync时间同步机制的参考测试组

参考测试组1:采用激活TSync机制并运行超过48小时

【项目】

描述

【同星设备】

两个TC1013,以“设备A”和“设备B”为代号

【设备固件编译时间】

V2024-09-21

【软件环境】

TSMaster x64 v2024.9.23.1185

【TSync机制激活】


【测试流程】

►将“设备A”的CAN通道1与“设备B”的CAN通道1物理连接

►由“设备A”通道1发出CAN报文0x123,“设备B”通道1接收

►运行C小程序脚本计算两个设备的收发时间差

►通过图形模块观测时间差的变化情况

►持续运行和观测

【测试运行时长】

178200秒,即超过48小时

参考测试组1的运行结果:

经过2天的连续运行与观测,可以发现两个设备之间的报文收发的时间差值“comp_time”一直保持在220微秒左右。事实上,这200us的差值主要还是因为启动相位误差带来的,因为不同晶振源引起的误差已经被控制在一个非常小的范围内,因此可以满足CAN总线通信的绝大部分同步要求。如图 4 所示。

b67b6f26-882d-11ef-bb4b-92fbcf53809c.png

图4激活TSync时间同步的图形结果

通过系统消息打印出发送报文时间与接收报文时间的实际时间戳,以及相应的差值,如图 5 所示。

b68ddb8e-882d-11ef-bb4b-92fbcf53809c.png

图5 激活TSync时间同步的系统消息

2.3 未激活TSync时间同步机制的参考测试组

参考测试组2:未激活TSync机制

【项目】

描述

【同星设备】

两个TC1013,以“设备A”和“设备B”为代号

【设备固件编译时间】

V2024-09-21

【软件环境】

TSMaster x64 v2024.9.23.1185

【TSync机制激活】

【测试流程】

►将“设备A”的CAN通道1与“设备B”的CAN通道1物理连接

►由“设备A”通道1发出CAN报文0x123,“设备B”通道1接收

►运行C小程序脚本计算两个设备的收发时间差

►通过图形模块观测时间差的变化情况

►持续运行和观测

【测试运行时长】

30分钟左右

参考测试组2的运行结果:

在未激活TSync时间同步功能的提前下,可以发现两个设备之间的报文收发的时间差值“comp_time”随着运行时间的越来越大,对于时间同步要求比较大的应用场合将不太符合。如图 6 所示。

b6b641f0-882d-11ef-bb4b-92fbcf53809c.jpg

图6未激活TSync时间同步的运行结果

3

如何激活同星设备的TSync功能

激活同星设备的TSync功能,主要通过升级设备固件以及在TSMaster软件端进行TSync的控制设置。

3.1 升级更新设备的固件

升级同星设备的固件操作步骤如下:

1. 准备一台电脑,并安装好最新版本的TSMaster软件,建议版本是V2024.09.23.1185及以上。软件更新路径:【帮助】-【检查升级】-【下载公测版本】。如图 7 所示。

b6e2c5fe-882d-11ef-bb4b-92fbcf53809c.jpg

图7升级下载最新版本TSMaster

2.将需要升级固件的设备,通过USB连接至电脑

3. 通过【硬件】-【通道映射】-【硬件】,选择设备后,在右方的【设备固件编译时间】处右键,选择【读取最新固件编译时间】,如图 8 所示。

b7042a50-882d-11ef-bb4b-92fbcf53809c.jpg

图8 读取最新固件编译时间


4. 读取完成后,选择【更新设备固件】,下载提示“加载固件完成”后,选择【升级】按钮自动升级。如图 9 所示。升级成功后按提示重新插拔设备的USB端口

b72cc76c-882d-11ef-bb4b-92fbcf53809c.jpg

图9 升级固件

3.2TSMaster软件的TSync控制设置

将设备连接在TSMaster后,通过【硬件】-【通道选择】-【设置】-【TSync控制】,将【使能TSync时间同步机制】激活,并可以在下方的“在线支持TSync技术的设备列表”中,右键进行刷新列表。使能TSync机制过后,支持该机制的设备可以实现硬件时间戳的同步。如图 10 所示。

b7490d46-882d-11ef-bb4b-92fbcf53809c.jpg

图10使能TSync时间同步机制

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

    关注

    57

    文章

    2714

    浏览量

    463322
  • 设备
    +关注

    关注

    2

    文章

    4469

    浏览量

    70524
  • 汽车网络
    +关注

    关注

    0

    文章

    60

    浏览量

    14750
  • 时间同步
    +关注

    关注

    1

    文章

    117

    浏览量

    9938
收藏 人收藏

    评论

    相关推荐

    Linux内核同步机制

    在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制
    发表于 08-06 07:08

    设计时间同步机制关注的主要性能参数

    用这种节能模式的时候,网络节点应该在相同的时间休眠和唤醒,也就是说当数据到来时,节点的接收器并没有关闭。无线传感器网络时间同步机制设计的目的是为网络中所有节点的本地时钟提供共同的时间
    发表于 12-31 17:09

    Vulkan同步机制和图形转换的风险

    Vulkan同步机制和图形-计算-图形转换的风险(一)
    发表于 01-21 06:17

    关于CAN总线位定时和同步机制的简要分析

    关于CAN总线位定时和同步机制的简要分析
    发表于 05-28 06:05

    RTT中的消息同步机制是如何实现的?

    RTT中的消息同步机制是如何实现的
    发表于 11-02 07:00

    域一致性新型锁同步机制的实现

    域一致性新型锁同步机制的实现将软件分布式共享存储系统所使用的基于域一致性协议锁机制以新的方式加以实现。它充分利用SMP 结构所具有的特点,以多级方式实现锁同步机制
    发表于 09-02 10:27 12次下载

    适用于WSN的时间同步方法

    微型无线传感器网络(wireless sensor network,简称WSN)节点之间的高精度时间同步是节点定位和数据融合的基础,现有基于时间
    发表于 01-05 17:12 2次下载

    混合式数据同步机制

    提出混合式数据同步机制,有机融合集中式和ad hoc架构,设置自组织域(SOD,self-organization domain),减少了同步数据通信量和数据同步服务器负载;提出基于节点能力值的数据
    发表于 02-08 16:35 0次下载
    混合式数据<b class='flag-5'>同步机制</b>

    你知道linux 同步机制的complete?

    在Linux内核中,completion是一种简单的同步机制,标志"things may proceed"。 要使用completion,必须在文件中包含,同时创建一个类型为struct completion的变量。
    发表于 04-24 11:45 1251次阅读

    你了解Linux内核的同步机制

    在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制同步各执行单元对共享数据的访问。
    发表于 05-12 08:26 623次阅读

    可以了解并学习Linux 内核的同步机制

    Linux内核同步机制,挺复杂的一个东西,常用的有自旋锁,信号量,互斥体,原子操作,顺序锁,RCU,内存屏障等。
    发表于 05-14 14:10 686次阅读

    Linux内核的同步机制

    在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实像多进程多线程编程一样也需要一些同步机制同步各执行单元对共享数据的访问,尤其是在多处理器系统上,更需要一些同步机制
    的头像 发表于 09-22 09:46 2247次阅读
    Linux内核的<b class='flag-5'>同步机制</b>

    基于有限状态机的FlexRay时钟同步机制

    工作的能力,其信息传输的确定性离不开其内部的时钟同步机制的支持。时钟同步机制可根据该节点启动的不同工作阶段,定义成不同的工作状态,如初始化、等待接收同步帧等。考虑到传统的FSM方法建立模型存在代码难以复用、维护困难等问题,本文基
    的头像 发表于 03-31 10:22 3467次阅读
    基于有限状态机的FlexRay时钟<b class='flag-5'>同步机制</b>

    浅谈Linux kernel中的同步机制

    同步就是进程与进程之间,进程与系统资源之间的交互。由于 Linux内核采用的是多任务,所以在多个进程之间,必须要有同步机制来保证彼此协调。
    的头像 发表于 05-04 17:06 865次阅读

    车载时钟同步can_tsync同步原理

    can_tsync同步原理 整体来说,can的时间同步还是比较简单的,如下图所示,整个过程如下(tips:时间
    的头像 发表于 10-27 14:32 2265次阅读
    车载时钟<b class='flag-5'>同步</b>can_<b class='flag-5'>tsync</b><b class='flag-5'>同步</b>原理