随着汽车网络测试的通道数量不断增加,时常需要多个同星设备同时连接在同一台电脑的同一个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.1TSync时间同步机制的验证方法
通过两个同星设备进行CAN报文的收发通信来实现TSync时间同步验证,主要验证方法是采用C小程序的CAN报文发送回调事件与CAN报文接收回调事件获取报文时间戳,进一步计算设备A的报文发送时间与设备B的报文接收时间的时间差值“comp_time”,如图 3 所示。同时可以使用图形模块准确观测设备间的时间差值的浮动变化情况,得出设备间的同步效果。
图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 所示。
图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.2TSMaster软件的TSync控制设置
将设备连接在TSMaster后,通过【硬件】-【通道选择】-【设置】-【TSync控制】,将【使能TSync时间同步机制】激活,并可以在下方的“在线支持TSync技术的设备列表”中,右键进行刷新列表。使能TSync机制过后,支持该机制的设备可以实现硬件时间戳的同步。如图 10 所示。
图10使能TSync时间同步机制