APP下载

一种适用于RS485总线时钟同步协议*

2015-03-14付道俊陈源宝

舰船电子工程 2015年5期
关键词:时钟总线线路

付道俊 刘 巍 陈源宝

(武汉第二船舶设计研究所 武汉 430064)



一种适用于RS485总线时钟同步协议*

付道俊 刘 巍 陈源宝

(武汉第二船舶设计研究所 武汉 430064)

RS485总线被广泛应用于分布式控制领域,随着对控制精度需求地不断提高,分布式控制系统时钟同步成为一项核心技术。论文在IEEE 1588协议的基础上,提出了一种适用于RS485总线的时钟同步协议,定义了协议主要帧结构,并经过试验平台的验证,验证了协议的正确性。

时间同步; RS485; IEEE 1588

Class Number TP273

1 引言

RS485总线网络凭借组建成本低、可靠性高、分布范围较大等特点[1~3],在分布式控制系统中得到广泛应用。随着近年来对控制精度要求不断地提升,时钟同步技术成为分布式控制系统的核心技术,如何保留投资,在原有RS485总线网络上增加时钟同步服务,具有积极的意义。

本文在IEEE 1588协议[4~5]的基础上提出一种适用于RS485总线的时钟同步协议,由于协议运行于应用层,可以很好地兼容现有系统,便于在现有系统上实现时钟同步服务地升级。

2 IEEE 1588协议

IEEE1588协议的全称是“网络测量和控制系统的精密时钟同步协议(IEEE 1588 Precision Clock Synchronization Protocol)”,简称PTP(Precision Timing Protocol)。其主要原理,是通过一个同步信号周期性的对网络中所有节点的时钟进行校正同步,可以使基于以太网的分布式系统达到精确同步[6~10]。

3 协议

在RS485总线网络中选取一个节点作为主钟节点,其余节点时钟与主钟节点进行时钟同步。如图1所示。

时钟同步协议主要包括五类数据帧,分别是时钟快速同步帧,时钟偏移计算参考帧,时钟偏移计算帧,线路延迟计算请求帧,线路延迟计算回应帧。时钟同步方法如下:

时钟同步流程如下:

1) RS485总线主钟节点将时间信息(时间记为TZ1)通过时钟快速同步帧向所有RS485总线从钟节点进行广播;

图1 RS485总线时钟同步原理图

2) RS485总线从钟节点接收时钟快速同步帧,并将本地时间(时间记为TC1)调整至与时钟快速同步帧一致,即TC1=TZ1,实现时钟粗同步;

3) RS485总线主钟节点向所有RS485总线从钟节点广播时钟偏移计算参考帧,并记录下发送帧的时间(时间记为TZ2);

5) RS485总线从钟节点接收时钟偏移计算参考帧,记录该帧到达时间(时间记为TC2);

6) RS485总线主钟节点将时间信息TZ2通过时钟偏移计算帧向所有RS485总线从钟节点进行广播;

7) RS485总线从钟节点接收时钟偏移计算帧,存储该帧时间信息TZ2;

8) RS485总线从钟节点,如从钟节点1,向RS485总线主钟节点发送线路延迟计算请求帧,并记录下发送该帧的时间(时间记为TC3);

9) RS485总线主钟节点接收线路延迟计算请求帧,记录该帧到达时间(时间记为TZ3);

知识的积累和消化的过程,也是思想理论创造者生成即成长的过程。这种创造能力是在接受、理解和反思已有思想理论的历程中实现的,相应的人的认知结构是“T”型的。在这里,总体上说,人的认知的广度是与认知的深度成正比的。知识的储备既要有广度,又要有深度,能够较好地结合二者。所以,广博的知识、不羁的想象、丰富的经验、批判的反思、抽象的概括、逻辑的分析等等,都是要着力加以培养的。打下广阔而又全面的知识基础,将为未来专业发展提供扎实而又充分的前提。如何处理好这“一横”“一纵”关系,形成适当的知识结构,需要学者审时度势的智慧。

10) RS485总线主钟节点将时间信息TZ3通过线路延迟计算回应帧发送至RS485总线从钟节点1;

11) RS485总线从钟节点1接收线路延迟计算回应帧,存储该帧时间信息TZ3;

12) RS485总线从钟节点1,已知时间信息TC2、TZ2、TC3,TZ3,则:

TC2=TZ2+Toffset+Tdelay1

(1)

TZ3=TC3-Toffset+Tdelay2

(2)

其中Toffset为RS485总线从钟节点1与RS485总线主钟节点的时钟偏差,Tdelay1为RS485总线主钟节点至RS485总线从钟节点1线路延迟,Tdelay2为RS485总线从钟节点1至RS485总线主钟节点的线路延迟;鉴于在同一RS485总线中,Tdelay1与Tdelay2为近似相同,故:

Toffset=(TC2-TZ2+TC3-TZ3)/2

(3)

其它RS485总线从钟节点时钟过程与RS485总线从钟节点1时钟同步过程类似。

4 协议实现

4.1 帧结构

时钟同步协议包括的五类数据帧均采用9字节,其中时钟快速同步帧结构定义如表1所示。

表1 时钟快速同步帧定义表

其中:EQ[8:1]表明节点号,主钟节点为0xff;FD1为1表明该帧为时钟快速同步帧;FD2为1表明该帧为时钟偏移计算参考帧;FD3为1表明该帧为时钟偏移计算帧;FD4为1表明该帧为线路延迟计算请求帧;FD5为1表明该帧为线路延迟计算回应帧;TY[8:1]表明2000年以后的年份,取值范围[0,255],表明年份[2000,2255];TM[8:1]表明月数,取值范围[1,12];TD[8:1]表明天数,取值范围[1,31];TH[8:1]表明小时数,取值范围[0:23];TM[8:1]表明分钟数,取值范围[0:59];TS[8:1]表明秒数,取值范围[0:59];TMS[8:1]表明10毫秒数,取值范围[0:100]。

表2 时钟偏移计算参考帧,时钟偏移计算帧,线路延迟计算请求帧,线路延迟计算回应帧定义表

其中:EQ[8:1]表明节点号,主钟节点为0xff;FD1为1表明该帧为时钟快速同步帧;FD2为1表明该帧为时钟偏移计算参考帧;FD3为1表明该帧为时钟偏移计算帧;FD4为1表明该帧为线路延迟计算请求帧;FD5为1表明该帧为线路延迟计算回应帧;TD[8:1]表明天数,取值范围[1,31];TH[8:1]表明小时数,取值范围[0:23];TM[8:1]表明分钟数,取值范围[0:59];TS[8:1]表明秒数,取值范围[0:59];TN[32:1]表明一秒以内的纳秒数,取值范围[0,1000000000)。

4.2 测试环境与结果

采用三台PC机配置三块RS485接口卡作为协议运行环境,采用C语言编程搭建协议验证环境。经过测试,时钟同步精度优于1ms,验证了协议正确性和可行性。

5 结语

本文在IEEE 1588协议的基础上提出了一种适用于RS485总线时钟同步协议,定义了五类同步帧的帧结构,并通过实验验证了本协议的正确性和可行性。

[1] 冯子陵,俞建新.RS485总线通信协议的设计与实现[J].计算机工程,2012,38(20):215-218.

[2] 徐敏航,叶蓓.多路RS485板的开发与应用[J].中国修船,2013,26(5):33-37.

[3] 王新刚,朱彬若,王梦溪,等.提高低压电力用户用电信息采集系统本地通信成功率的探讨[J].电测与仪表,2013,50(573):17-20.

[4] IEEE Std 1588 TM-2002 Standard for a precision clock synchronization protocol for networked measurement and control systems[S]. 2002.

[5] IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control System. IEEE Instrumentation and Measurement Society[C].2008.

[6] 曾庆华.精确时钟同步协议分析及实现[J].微型电脑应用,2012,28(10):41-44.

[7] RYAN Z, MIKKEL H, RADIM B. The impact of Network Latency on the Synchronization of Real-World IEEE1588-2008 Devices[J]. ISPCS 2010 international IEEE Symposiumon Precision Clock Synchronization for Measurement, Control and Communication,2010,10:12-16.

[8] Jiho Han, Deog-Kyoon Jeong. Practical Considerations in the Design and Implementation of Time Synchronization Systems Using IEEE-1588[J]. IEEE Applications & Practice Magazine,2009,47(11):82-86.

[9] Liu X Q, Chen Y, Liang S. Improvement of precise time synhronization algorithm based on IEEE 1588[C]//International Conference on Computer, Mechatronics, Control and Electronic Engineering,2010:70-73.

[10] Sungwon Lee. An Enhanced IEEE 1588 Time Synchronization Algorithm for Asymmetric Communication Link using Block Brust Transmission[J]. IEEE Communication Letters,2008,12(9):687-689.

A Time Synchronization Protocol for RS485 Bus

FU Daojun LIU Wei CHEN Yuanbao

(Wuhan Second Ship Design and Research Institute, Wuhan 430064)

The RS485 bus is widely used in the field of distributed control. As the precision demand enhanced, the time synchronization of the control system becomes a key technology. Based on the IEEE 1588 protocol, a method is presented for the time synchronization for RS485 bus. This paper defines the main frame structure and the protocol, and the protocol is verified through the test on verification platform.

time synchronization, RS485, IEEE 1588

2014年11月11日,

2014年12月28日

付道俊,男,硕士,工程师,研究方向:舰船测控技术。刘巍,男,工程师,研究方向:舰船控制。陈源宝,男,博士,工程师,研究方向:舰船信息。

TP273

10.3969/j.issn1672-9730.2015.05.026

猜你喜欢

时钟总线线路
别样的“时钟”
古代的时钟
输电线路工程造价控制
一种基于CAN总线的误码测试方法
10kV线路保护定值修改后存在安全隐患
10kV线路保护定值修改后存在安全隐患
DCOM在混合总线自动测试系统的应用
基于AVR单片机的RS485工业总线开发设计
有趣的时钟
电力拖动控制线路在安装中的应用