干货分享 | 同星多设备间的时间戳同步机制TSync功能与使用

news2024/10/17 21:17:34

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

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

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


目录

Catalog

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

2. TSync时间同步机制

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

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

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

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

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

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

图片

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

2、TSync时间同步机制

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

图片

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

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

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

图片

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

如下通过激活和不激活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 所示。

图片

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

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

图片

图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 所示。

图片

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

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

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

3.1 升级更新设备的固件

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

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

图片

图7 升级下载最新版本TSMaster

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

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

图片

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

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

图片

图9  升级固件

3.2 TSMaster软件的TSync控制设置

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

图片

图10 使能TSync时间同步机制


小贴士:

1、软件下载:

点击下方软件下载链接,直接下载安装,建议下载 beta 版本:

https://download.tosun.tech/TOSUNSoftware/TSMaster_Setup_beta.7z

2、软件升级:

在电脑有互联网连接的前提下,可以在软件内检查升级至最新版本。

注:同星智能技术支持邮箱:support@tosunai.cn,欢迎大家前来咨询!(须注明公司及联系方式)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2212842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5G 双卡双通演进

█ 双卡技术的演进历程 前面我有提到,世界上第一台双卡手机,诞生于 2004 年。 之所以会有双卡手机的出现,和当时特殊的历史背景有关。那一时期,中国大陆市场只有两家移动通信运营商,分别是中国移动和中国联通。中国移…

轻松入门:Maven核心功能详解

White graces:个人主页 🙉专栏推荐:Java入门知识🙉 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏 目录 Maven Maven核心功能 1. 项目构建 2. 依赖管…

超材料光子晶体和禁带分析实例_CST电磁仿真教程

光子晶体是由周期性排列的不同折射率的介质制造的光学结构,可被视为广义超材料metamaterial的一种。本期我们演示设计一个基于光频能带(PBG,photonics band gap) 的二维光子晶体波导,能带分析方法也可适用于微波波段(EBG,electromagetic band…

QT事件与网络通信

闹钟 头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QTimer> #include <QTextToSpeech> // 添加此行以引入QTextToSpeech类QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWin…

通信接入技术

一、xDSL 1、xDSL&#xff1a;利用电话线中的高频信息传输数据&#xff0c;高频信号损耗大&#xff0c;容易受噪声干扰。【速率越高&#xff0c;传输距离越近】 1.1 ADSL虚拟拨号&#xff1a;采用专门的协议PPPover Ethernet&#xff0c;拨号后直接由验证服务器进行检验&#…

免费版视频压缩软件:让视频处理更便捷

现在不少人已经习惯通过视频来记录生活、传播信息和进行娱乐的重要方式。但是由于设备大家现在录制的文件都会比较大&#xff0c;这时候就比较需要一些缩小视频的工具了。今天我们一起来探讨视频压缩软件免费版来为我们带来的生动世界。 1.Foxit视频压缩大师 链接直达&#x…

【论文笔记】Adversarial Diffusion Distillation

Abstract 本文提出了一种新的训练方法&#xff0c;在保持较高图像质量的前提下&#xff0c;仅用1~4步就能有效地对大规模传统图像扩散模型进行采样&#xff0c;使用分数蒸馏(score distillation)&#xff0c;来利用大规模现成的图像扩散模型作为教师信号&#xff0c;并结合对抗…

CVE-2022-26965靶机渗透

​ 开启环境 ​ ​ 进入环境 ​ ​ 使用弱口令admin登录 ​ ​ 利用cms主题构造木马 ​ 需要将主题中的info.php文件修改&#xff0c;再打包成zip再上传&#xff0c;通过网络搜索找到Github中的Pluck CMS&#xff0c;进入后随便下载任一主题 https://github.com/sear…

解锁编程的力量:SPL的学习之旅

SPL 一、前言二、集算器应用场景三、下载四、集算器的基本使用 一、前言 一种面向结构化数据的程序计算语言 集算器又称&#xff1a;SPL&#xff08;Structured Process Language&#xff09; 敏捷计算是集算器的主要特征 二、集算器应用场景 数据准备&#xff08;跑批&…

闭着眼学机器学习——决策树分类

引言&#xff1a; 在正文开始之前&#xff0c;首先给大家介绍一个不错的人工智能学习教程&#xff1a;https://www.captainbed.cn/bbs。其中包含了机器学习、深度学习、强化学习等系列教程&#xff0c;感兴趣的读者可以自行查阅。 1. 算法介绍 决策树是一种常用的机器学习算法…

Linux SSH无密码使用私钥远程登录连接详细配置流程

文章目录 前言1. Linux 生成SSH秘钥对2. 修改SSH服务配置文件3. 客户端秘钥文件设置4. 本地SSH私钥连接测试5. Linux安装Cpolar工具6. 配置SSHTCP公网地址7. 远程SSH私钥连接测试8. 固定SSH公网地址9. 固定SSH地址测试 前言 本文将详细介绍如何将Linux SSH服务与cpolar相结合&…

modbus tcp wireshark抓包

Modbus TCP报文详解与wireshark抓包分析_mbap-CSDN博客 关于wireshark无法分析出modbusTCP报文的事情_wireshark 协议一列怎么没有modbus tcp-CSDN博客 使用Wireshark过滤Modbus功能码 - 技象科技 连接建立以后才能显示Modbus TCP报文 modbus.func_code 未建立连接时&…

论文阅读MOE-DAMEX

目录 Abstract 1. Introduction 3. 传统的MOE 4. 方法 题目&#xff1a;DAMEX: Dataset-aware Mixture-of-Experts for visual understanding of mixture-of-datasets数据集感知的专家混合模型&#xff0c;用于混合数据集的视觉理解 Abstract 通用普通的detector的构建提…

使用HTML、CSS和JavaScript创建图像缩放功能

使用HTML、CSS和JavaScript创建图像缩放功能 在这篇博客文章中&#xff0c;我们将介绍如何使用HTML、CSS和JavaScript创建一个简单的图像缩放功能。这个功能可以增强用户体验&#xff0c;让访问者在点击图像时查看更大的版本。 效果 步骤1&#xff1a;设置HTML结构 首先&…

python异常检测 - 随机离群选择Stochastic Outlier Selection (SOS)

python异常检测 - Stochastic Outlier Selection (SOS) 前言 随机离群选择SOS算法全称stochastic outlier selection algorithm. 该算法的作者是jeroen janssens. SOS算法是一种无监督的异常检测算法. 随机离群选择SOS算法原理 随机离群选择SOS算法的输入: 特征矩阵(featu…

架构设计笔记-14-云原生架构设计理论与实践

知识要点 云原生&#xff08;Cloud Native&#xff09;架构原则&#xff1a; 服务化原则&#xff1a;通过微服务架构&#xff0c;小服务&#xff08;MiniService&#xff09;架构把不同生命周期的模块分离出来&#xff0c;分别进行业务迭代&#xff0c;避免迭代频繁模块被慢速…

10 分钟使用豆包 MarsCode 帮我搭建一套后台管理系统

以下是「 豆包MarsCode 体验官」优秀文章&#xff0c;作者把梦想揉碎。 十分钟使用豆包 MarsCode 搭建后台管理项目 在这个快节奏的时代&#xff0c;开发者们总是希望能够快速、高效地完成项目的搭建与开发工作。无论是初创企业还是大型公司&#xff0c;后台管理系统都是必不可…

Java数组总结

这里写目录标题 一、概念二、几个相关的概念三、数组的特点四、复习:变量按照数据类型的分类五、数组的分类六、一维数组的使用(6个基本点)七、数组元素的默认初始值的情况八、一维数组的内存解析九、二维数组十、数组的常用算法1、数组的最大值、最小值、总和、平均值2、数组的…

翻译难题一扫光!2024年精选4款神器,推荐给每一个需要的你

咱们现在生活在一个信息多得跟潮水一样扑过来的时代&#xff0c;翻译可不只是简单地把一种语言换成另一种语言那么简单了。它更像是连接不同文化和国家的坚固桥梁&#xff0c;也是让知识快速传播的超级加速器。随着科技的飞速发展&#xff0c;翻译工具也迎来了翻天覆地的变化。…

python画图|三维动态柱状图绘制

【1】引言 前序已经学习了二维动态柱状图绘制教程&#xff0c;本次尝试探索三维动态柱状图绘制教程&#xff1a; 【2】项目设计 三维和二维的不同&#xff0c;要在一开始就定义。 二维的定义简单粗暴&#xff0c;只需要一行代码&#xff1a; fig, ax plt.subplots() # 定…