摘要:地铁的北极星时钟系统为地铁公司控制中心调度员、车站值班员、各部门的工作人员及乘客提供统一的标准时间信息,为地铁其它系统的设备提供统一的标准时间信号。北极星时钟系统的设置保证了地铁运行计时准确,同时也极大提高了运营服务质量。为加深对北极星时钟系统的认知,在发生时间突变时能够分辨出是Server标准时间故障还是Client系统自身故障,需根据接口协议,对时钟系统Server发送的报文进行分析,确认标准时间正确与否。对RS-422和NTP协议的研究有助于协助其他系统进行授时。
关键词:地铁;北极星时钟系统;RS-422;NTP;报文分析
1研究背景
2018年3月17日,机场线时钟系统GPS天线故障,失去GPS标准时间信号,信号泰雷兹系统开始使用本系统内NTP服务器作为授时源。3月18日,GPS天线维修完毕,开始为信号泰雷兹系统授时,此时,信号系统发生时间突变(见图1),所有列车发生瞬时车载故障。
图1信号系统时间突变
时钟系统平时不显眼,但是极为重要,没有时钟系统,信号系统会出现紊乱导致列车无法准确行驶,乘客无法得知候车和乘车时间,视频录像无法准确还原,话费账单统计错误等等。因此,有必要通过接口协议和报文,对时间信号进行深入剖析。
2RS-422及NTP接口协议
机场线北极星时钟系统一级母钟接收GPS信号,采用RS-422接口向传输、公务电话、专用电话、广播、PIS、电源、集中告警、FAS等系统和外专业提供标准时间信号。
同时,本系统一级母钟与二级母钟之间采用NTP协议校时,通过共线的10M/100M以太网传输通道进行校时和网管信息传递。
2.1RS-422接口协议和报文
2.1.1RS-422接口协议
RS-422接口的最大传输距离约为1219米,其最大传输速率为10Mb/s。其传输速率与平衡双绞线的长度成反比,在100kb/s的速率以下时,才可能达到最大传输距离。因此,只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。本系统使用的RS-422接口参数设置为
①输出接口:标准RS-422端口
②波特率:9600bit/s
③数据位:8位④起始位:1位⑤停止位:1位
⑥校验位:无
⑦工作方式:异步
⑧传输距离:不大于1200米
2.1.2RS-422接口报文报文详述:
时钟系统在整秒时刻向负载系统发送10毫秒级精度的时间信号。报文格式:
2.2NTP接口协议和报文
2.2.1NTP接口协议
时钟系统采用10M/100M以太网接口向专用无线、视频监控、信号、AFC、ISCS、SCADA等系统和外专业提供标准时间信号。通信协议采用国际通用的网络时间协议,即NTP协议。
随着网络拓扑的日益复杂,整个网络内设备的时间同步将变得十分重要。如果仅依靠网络管理员手动修改系统时间,不仅工作量巨大,而且也无法保证时间的准确性。网络时间协议(NTP)的出现就是为了解决网络内设备系统时钟的同步问题。NTP协议是一种通过Internet服务于计算机时钟的时间同步协议。它提供了一种时间同步机制,能在庞大而復杂多样的Internet中用光速调整时间分配。它使用的是可返回时间设计,分布式子网内的时间服务器能自我组织操作、分层管理配置,经过有线或无线的方式同步子网内的逻辑时钟达到国家标准时间。此外,通过本地路由选择运算法则及时间后台程序,服务器可以重新分配标准时间。
2.2.2NTP接口报文
NTP报文格式如上图所示,它的字段含义参考如下:
1)LI:闰秒标识器,占用2个bits,值为0表示无leap秒调整;1表示一天的最后一分钟为61秒;2表示一天的最后一分钟为59秒;3表示时钟未被同步;为其他值时NTP本身不做处理。
2)VN:占用3个bits,表示NTP的版本号,现在为4。
3)Mode:工作模式,占用3个bits,表示设备的NTP工作模式。不同的值所表示的含义分别是:
0:未定义
1:主动对等体模式
2:被动对等体模式
3:客户模式
4:服务器模式
5:广播模式或组播模式
6:此报文为NTP控制报文
7:预留给内部使用。
4)stratum(层):系统时钟的层数,占用8个bits。取值范围为0~255,它代表着时钟的准确度。层数值的含义分别是
0:未指定或无效
1-16:1表示时钟准确度最高,准确度从1到16依次递减,层数为16的时钟处于未同步状态,不能作为参考时钟
17-255:保留。
1)Poll:NTP报文轮询间隔,占用8个bits,表示连续的NTP报文之间的时间间隔。
2)Precision:NTP时钟精度,占用8个bits。
3)RootDelay:根时延,占用8个bits,表示在主参考源之间往返的总共时延。
4)RootDispersion:根离散,占用8个bits,表示系统时钟相对于主参考时钟的最大误差。
5)ReferenceIdentifier:时钟源标识,占用8个bits,用来标识特殊的时钟参考源。
6)参考时间戳:占用64个bits,表示上次设置或纠正系统时钟的时间。
7)原始时间戳:占用64个bits,表示请求离开服务器客户端的时间,。