一次测试中,主机日志显示指令已经发出,目标板记录的接收时间却更早,采集设备的波形又落在另一个时刻。这时不能直接按时间排序判断执行先后。本文按LDRA Testbed配合目标板、采集设备的环境说明:测试工具、主机和外部设备可能分别使用不同的时钟,需要先找到时间戳的来源,再进行对时和验证。
一、testbed如何校准测试设备时间
LDRA工具支持主机、目标机和仿真器上的测试,但设备时钟通常由操作系统、仪器或目标端配置管理。具体对时入口取决于硬件及驱动,不能假定Testbed里有统一的设备校时按钮。
1、先确认每份记录使用什么时间
①分别导出主机日志、目标板日志和采集记录,找出时间字段。
②核对字段含义,区分事件发生时间、采样时间、主机接收时间和文件生成时间。
③记录时间单位、时区,以及时间是否从设备启动时开始累计。
④为每台设备注明时间来源,例如系统时钟、板载计数器或外部授时源。
主机收到结果的时刻,包含了通信和缓冲等待,不能直接当作目标板执行时刻。文件修改时间也只能辅助判断结果文件的新旧,不适合用来对齐快速事件。
2、校准运行Testbed的主机时间
以下以Windows主机为例。组织统一管理的授时配置,应沿用管理员指定的时间源。
①打开【开始】→【设置】→【时间和语言】→【日期和时间】。
②检查【自动设置时间】是否启用,核对【时区】。
③在同步区域点击【立即同步】,确认同步是否成功。
④对另一台测试主机重复检查,记录同步时间和使用的授时来源。
⑤若机器受域策略管理,请管理员核查实际时间源,避免仅看桌面时钟判断。
时区相同只代表显示方式一致。两台机器即使都显示北京时间,仍可能存在毫秒或更大的时钟偏差。
3、为设备选择共同时间基准
设备支持哪种同步方式,需要查对应型号的手册。普通日志关联可评估NTP;更严格的采样对齐,则要核查PTP、硬件时间戳或共同参考信号的支持情况。
①在设备配置程序中确认支持的授时协议和接口。
②将设备接入约定的时间源,核对同步状态;使用PTP时,同时检查域和配置文件是否匹配。
③等待同步稳定,再启动测试任务。
④对不支持网络对时的设备,采用其支持的公共触发或参考信号方案。
⑤测试前后各保存一次同步状态,检查运行期间有无失锁。
共同触发能提供事件对齐标记,但不一定校准设备的日期时间或采样频率。需要连续对齐的长时间采集,还应检查设备是否共享频率基准。
二、testbed多设备时间戳不一致导致结果难以关联如何排查
先选一个能够在多端识别的事件,例如带序号的测试指令或公共脉冲。分别找到它在各份记录中的位置,再判断偏差是固定、持续变化还是偶发跳动。
1、检查时区、单位和起算点
①在原始日志中找到同一事件,保留完整时间字段。
②核对秒、毫秒、微秒或计数器刻度,确认换算依据。
③将带日期的时间统一转换到约定时区,同时保留原值。
④对启动后累计时间,记录设备启动或复位位置,建立它与公共事件的对应关系。
⑤检查计数器位宽和回绕处理,排除数值突然变小造成的排序错误。
相差整整数小时,可以先查时区;相差固定倍数,可以先查单位。这些现象只是排查线索,仍需通过字段定义确认。
2、区分固定偏移、漂移和传输延迟
①在测试开始、中间和结束位置,各选取一个共同事件。
②计算各设备相对参考设备的时间差,观察偏差是否随时间增加。
③若偏差基本固定,检查起始对时和固定链路延迟。
④若偏差持续扩大,核对时钟频率、计数器换算及同步是否中断。
⑤若偏差不规则波动,检查网络排队、串口缓存、日志刷新和主机负载。
同一事件经过不同传感器或处理链路,本来也可能有响应延迟。比较前应明确对齐的是触发边沿、采样点还是软件处理完成时刻。
3、检查测试结果是否属于同一轮运行
①对照Testbed相关测试记录,核对用例、测试序列、目标程序版本和执行批次。
②检查外部采集程序的启动、停止与文件命名,确认没有混入上一轮数据。
③核对目标端结果回传配置,检查本轮结果是否完整取回。
④对重试任务保留独立批次标识,不用相同文件名覆盖后继续混合分析。
使用TBrun进行主机与目标机测试时,结果输出和回收方式与目标集成有关。旧版文档中的【Configure】→【Host/Target Options】用于相关输出配置,并不是设备授时入口;实际操作应核对安装版本的说明。
4、用公共标记验证关联结果
①给测试指令增加运行批次号和递增事件序号,并在发送端、接收端分别记录。
②对采集设备,使用能够同时记录的公共触发信号。
③按批次和序号先匹配事件,再检查时间差。
④将允许偏差与测试所需的分辨能力比较,记录无法确定先后顺序的事件。
⑤在正常负载和高负载下重复验证,检查关联是否仍然成立。
三、testbed历史记录如何进行时间对齐
已经采集的数据,应保留原始时间戳。需要修正时,可以增加对齐后的时间列,并说明使用了哪些公共事件。
1、保留原值并记录修正依据
①复制待分析数据,保存设备原始时间、批次号和事件序号。
②根据已确认的公共事件估计偏移;存在漂移时,使用多个锚点检查是否适合分段修正。
③为修正结果记录适用时间段、依据和剩余误差。
④遇到设备复位、时钟跳变或失锁,重新划分区段,不沿用之前的偏移量。
⑤对无法可靠对齐的区段作出标记,补做测试或保留不确定结论。
总结
多设备测试留下的记录,常常要由不同人员共同阅读:有人看目标板运行,有人看通信,有人负责波形采集。统一的事件标识和清楚的时间来源,能让这些资料更容易放到一起讨论。LDRA Testbed的测试结果也可以作为关联依据之一,与外部设备记录相互核对,帮助还原一次测试的过程。希望本文能帮助大家分清记录里的几种时间,减少反复寻找对应事件的工作。后续如有相关需求,欢迎与我们交流。