终端时钟测试

[TOC]

问题描述

现场出现的相关问题有:

  • 终端对时不稳定,表现为终端对时完成发送波形会直接出现比较大的相角差;
  • 终端守时不稳定,表现为终端发送波形时会在较短时间内跑偏大相角差;

实验环境描述

  • 终端三台,编号为103、107和110;
  • 主机一台,为现场所使用主机;
  • 实验场地为温箱实验室,用于模拟现场环境;
  • 使用仪器:功率分析仪、时间同步校验仪

实验方案

将三台终端置于温箱内,引出信号输出线与pps输出线。三台终端下入FPGA的监控程序,并将调试口引出用于观测状态。实验时用主机发送50V的信号,然后将温箱温度设置为45度进行加温。

实验现象观察

终端时钟部分

三台终端下入FPGA程序,三台终端用逻辑分析仪看到的参数为:

终端 常规计数值 边界计数值 计数周期
110 999999020 999999040 1
103 999999380 999999400 3
107 999999320 999999300 4

这个为正常的计数值。用时间同步校验仪观测pps信号也是稳定行良好。

加热温箱一段时间后,用功率分析仪发现输出信号的相角出现偏差,然后用时间同步校验仪观测发现是103终端的pps出现问题,用逻辑分析以查看FPGA的晶振参数发现参数是变成了1000020016|1000048859|3。这就是造成相角偏差的原因了。

根据系统的设计,晶振的修正参数只是在液晶的参数校正页面修改的,这个时候进入103终端的这个页面,发现晶振修正参数是正常的,这个时候再看Signal Tap的监测页发现参数已经恢复到正常值1000020016|1000048859|3了。

继续实验,到出现问题的时候一看还是103的问题,出现的错乱参数还是1000020016|1000048859|3

继续实验,这次出现问题的终端是107,出现错乱参数依旧是1000020016|1000048859|3

根据这个现象可以初步认定是DSP的bug导致预期外的写操作,然后修改了晶振参数。

此时用逻辑分析仪去抓取DSP的写触发,在103终端上抓取了记录:
Image Title
值得注意的是这次并没有用温箱加温。

这里可以对比在参数修改页面的时序记录:
Image Title

其他部分

实验中110出现了另外的现象,就是加温时加到将近45度的时候Ua的输出会变为0,然后拿出来冷却一段时间,输出又会恢复。

现象总结与分析

通过实验现象与记录,可以认定是DSP程序出现了bug,晶振参数的改变就是引起现场使用时两个问题的原因。

实验现象不常出现,需要仔细排查。从截图看应该是一个有规律性的操作,目前可以预测应该是外部总线操作XINTF方面的问题。

可用的一个备选解决方案是强化一下晶振参数修改的接口,制造一个软件锁来防止误操作。