一种电力授时中的PTP精准时间协议授时模块及实现方法转让专利

申请号 : CN201611226057.9

文献号 : CN106817183B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王健张春岭杨娜史占强

申请人 : 天津七六四通信导航技术有限公司

摘要 :

本发明涉及一种电力授时中的PTP精准时间协议授时模块及实现方法,包括主控芯片、时间戳PHY芯片、JTAG调试芯片、变压器、状态指示灯、时钟、指示灯,ARM芯片通过RS232接口接收主控单元的时间信息,通过解算后得出时间秒信息,在主控单元发出1PPS后,ARM芯片将时间秒信息写入时间戳PHY芯片中,同步本地时间源,时钟分别给ARM芯片提供运行时钟,给时间戳PHY芯片提供RMII通信的时钟源,利用JTAG调试程序的运行和断点的设置,实时分析,通过PC机得到ARM芯片的输出调试信息,在ARM运行PTP协议运行任务时,时间戳PHY芯片通过变压器+RJ45接口向外发送协议报文。技术效果是达到纳秒级精度。

权利要求 :

1.一种电力授时中的PTP精准时间协议授时模块,包括MK60FN1M0VLQ12R主控芯片、DP83640时间戳PHY芯片、JTAG调试芯片、变压器、状态指示灯、时钟、指示灯,其特征在于:主控芯片采用MK60FN1M0VLQ12R芯片,该芯片集成了CPU、RAM、NORFLASH和网络的MAC控制器,时间戳PHY芯片采用DP83640芯片,电路连接为,主控芯片单向连接指示灯、分别双向连接JTAG调试芯片、DP83640(PHY),时间戳PHY芯片双向连接变压器、单向连接状态指示灯,时钟分别单向连接DP83640(PHY)、主控芯片。

2.采用权利要求1所述的一种电力授时中的PTP精准时间协议授时模块的实现方法,其特征在于:采用MQX操作系统进行调度各个任务之间的运行状态,整个PTP网络通信共设置了系统的初始任务、led灯的闪烁任务、串口接收任务、秒脉冲的响应任务、PTP协议运行任务五个任务,实现方法包括以下步骤,

1、系统的初始任务:对系统进行初始化,将以下的任务创建并运行,然后销毁该任务,依次创建网络参数配置任务,跑马灯任务1、2任务,消息列队、信号量和互斥变量任务,网络初始化运行任务,1PPS处理任务,串口接收任务,PTP通信信息任务;

2、led灯的闪烁任务:该任务始终运行,目的是测试系统的运行情况,

2-1、初始化端口,

2-2、判断是否1=true,否,结束,是,端口电平翻转,进行下一步,

2-3、延时,

2-4、返回步骤2-2;

3、串口接收任务:串口UART1的接收任务,接收主控单元发送过来的数据,并将其转换成秒数据,

3-1、打开串口UART1,

3-2、判断是否1=true,否,结束,是,进行下一步,

3-3、读取数据,

3-4、判断是否字头=帧头,否,返回步骤3-2,是,进行下一步,

3-5、读取协议剩余数据,

3-6、判断数据是否有效,否,返回步骤3-2,是,进行下一步,

3-7、设置时间有效位为真,

3-8、根据时间精度数据写入PTP报文数据域,

3-9、按时间信息转换成秒数据信息,时间更改有效为真;

4、秒脉冲的响应任务,捕捉秒脉冲的上升沿,然后将秒数据信息写入时间戳PHY芯片,更新时间戳的生成,该任务的优先级最高,对秒数据的小数部分即纳秒部分清零,提高PTP对时的精度,

4-1、创建信号量,

4-2、初始化端口,

4-3、判断是否1=true,否,结束,是,进行下一步,

4-4、等待信息量释放,

4-5、判断是否时间更改有效,否,返回步骤4-3,是,进行下一步,

4-6、将秒数据信息写入PHY,同步本地时钟源,

4-7、返回步骤4-3;

5、PTP协议运行任务,运行PTP协议,根据运行状态的改变运行不同的处理程序,

5-1、对PTP协议进行缺省设置,

5-2、对PTP协议软件环境进行初始化设置,

5-3、设置PTP状态为初始化,

5-4、判断PTP状态是否为初始化,否,根据PTP状态进行各种操作,是,初始化和检测PTP协议的硬件环境,

5-5、判断是否为Listening、Passive、Slave、Master, 否,进行下一步,是,运行BMC算法,更改运行状态,进行下一步,

5-6、判断是否为Faulty, 否,进行下一步,是,更改运行状态并变为初始化状态,返回

5-4,

5-7、判断是否为Listening、Passive、Slave、Uncalibrated, 否,进行下一步,是,运行接收网络数据并根据接收数据类型进行分析,返回5-4,

5-8、判断是否为Master, 否,返回5-4,是,进行下一步,

5-9、根据时间间隔的大小分别发送各种类型报文,

5-10、运行接收网络数据,根据接收数据类型进行分析,返回5-4。

说明书 :

一种电力授时中的PTP精准时间协议授时模块及实现方法

技术领域

[0001] 本发明涉及一种电力授时中的授时模块,特别涉及一种电力授时中的PTP精准时间协议授时模块及实现方法。

背景技术

[0002] 现在的许多系统都离不开时间同步的要求,比如测试与测量系统、电力系统、通信系统、工业自动化及分布式系统等,而随着系统范围的扩大及分散控制的发展,各个控制节点的时间同步变得越来越重要,尤其是电力系统,由于地域范围的广泛性和分散性,这要求系统中每个设备的动作按照统一的时序和节拍进行才能保证系统的协调有序。
[0003] 目前的电力系统基本采用GPS时钟系统进行同步和授时,这种方式存在一定的安全隐患,而且后期的升级换代变得很困难和昂贵。采用的NTP协议虽然可以对系统的时间进行同步,但是NTP协议的精度偏差达到毫秒级的能力,对于那些要求微秒级或更高精度的场合就没法使用了。而PTP时间精准协议的出现,为实现特定场所的高精度要求提供了可行的途径。
[0004] 它的主要原理是通过一个同步信号周期性地对网络中多个节点的时间进行同步,通过软硬件的结合,可以得到远远高于NTP的同步精度。PTP的同步精度与PTP协议的实现方式有很大关系,如果使用纯软件来实现,它的精度可能与NTP差不多,如果采用硬件方式在网络协议的数据层增加时间戳,如网络硬件层采用支持IEEE1588协议的PHY(DP83640),时间戳是实时生成的,那么时间同步精度可在微秒级,而采用全硬件实现,利用FPGA实现网络协议栈和PTP协议,它的精度会达到纳秒级。

发明内容

[0005] 鉴于现有技术存在的问题,本发明提供一种电力授时中的PTP精准时间协议授时模块及实现方法,采用PTP时间精准协议,通过软硬件的结合,达到纳秒级精度,具体技术方案是,一种电力授时中的PTP精准时间协议授时模块,包括主控芯片、时间戳PHY芯片、JTAG调试芯片、变压器、状态指示灯、时钟、指示灯,其特征在于:主控芯片采用MK60FN1M0VLQ12R芯片,该芯片集成了CPU、RAM、NORFLASH和网络的MAC控制器,时间戳PHY芯片采用DP83640芯片,电路连接为,主控芯片单向连接指示灯、分别双向连接JTAG调试芯片、DP83640(PHY),时间戳PHY芯片双向连接变压器、单向连接状态指示灯,时钟分别单向连接DP83640(PHY)、主控芯片。
[0006] 实现方法,采用MQX操作系统进行调度各个任务之间的运行状态,整个PTP网络通信共设置了系统的初始任务、指示灯的闪烁任务、串口接收任务、秒脉冲的响应任务、PTP协议运行任务五个任务,采用MQX操作系统进行调度各个任务之间的运行状态,实现方法包括以下步骤,1、系统的初始任务:对系统进行初始化,将以下的任务创建并运行,然后销毁该任务,依次创建网络参数配置任务,跑马灯任务1、2任务,消息列队任务、信号量和互斥变量任务,网络初始化运行任务,1PPS处理任务,串口接收任务,PTP通信信息任务;2、指示灯的闪烁任务:该任务始终运行,目的是测试系统的运行情况,2-1、初始化端口,2-2、判断是否1=true,否,结束,是,端口电平翻转,进行下一步,2-3、延时,2-4、返回步骤2-2;3、串口接收任务:串口UART1的接收任务,接收主控单元发送过来的数据,并将其转换成秒数据,3-1、打开串口UART1,3-2、判断是否1=true,否,结束,是,进行下一步,3-3、读取数据,3-4、判断是否字头=帧头,否,返回步骤3-2,是,进行下一步,3-5、读取协议剩余数据,3-6、判断数据是否有效,否,返回步骤3-2,是,进行下一步,3-7、设置时间有效位为真,3-8、根据时间精度数据写入PTP报文数据域,3-9、按时间信息转换成秒数据信息,时间更改有效为真;4、秒脉冲的响应任务,捕捉秒脉冲的上升沿,然后将秒数据信息写入时间戳PHY芯片,更新时间戳的生成,该任务的优先级最高,对秒数据的小数部分即纳秒部分清零,提高PTP对时的精度,4-1、创建信号量,4-2、初始化端口,4-3、判断是否1=true,否,结束,是,进行下一步,4-4、等待信息量释放,4-5、判断是否时间更改有效,否,返回步骤4-3,是,进行下一步,4-6、将秒数据信息写入PHY,同步本地时钟源,4-7、返回步骤4-3;5、PTP协议运行任务,运行PTP协议,根据运行状态的改变运行不同的处理程序,5-1、对PTP协议进行缺省设置,5-2、对PTP协议软件环境进行初始化设置,5-3、设置PTP状态为初始化,5-4、判断PTP状态是否为初始化,否,根据PTP状态进行各种操作,是,初始化和检测PTP协议的硬件环境,5-5、判断是否为Listening、Passive、Slave、Master,否,进行下一步,是,运行BMC算法,更改运行状态,进行下一步,5-6、判断是否为Faulty, 否,进行下一步,是,更改运行状态并变为初始化状态,返回步骤5-4,5-7、判断是否为Listening、Passive、Slave、Uncalibrated, 否,进行下一步,是运行接收网络数据并根据接收数据类型进行分析,返回步骤5-4,5-8、判断是否为Master, 否,步骤返回5-4,是,进行下一步,5-9、根据时间间隔的大小分别发送各种类型报文,5-10、运行接收网络数据,根据接收数据类型进行分析,返回步骤5-4。
[0007] 本发明的技术效果是,采用PTP时间精准协议,通过软硬件的结合,达到纳秒级精度。

附图说明

[0008] 图1是本发明的工作原理框图;
[0009] 图2是本发明的系统初始任务流程图;
[0010] 图3是本发明的led灯闪烁任务流程图;
[0011] 图4是本发明的串口的接收任务流程图;
[0012] 图5是本发明的秒脉冲的响应任务流程图;
[0013] 图6是本发明的PTP协议运行任务流程图。

具体实施方式

[0014] 以下结合附图作进一步说明,
[0015] 如图1所示,一种电力授时中的PTP精准时间协议授时模块,包括主控芯片、时间戳PHY芯片、JTAG调试芯片、变压器、状态指示灯、时钟、指示灯,主控芯片采用Freescale公司的MK60FN1M0VLQ12R芯片,该芯片集成了CPU、RAM、NORFLASH和网络的MAC控制器,时间戳PHY芯片采用TI公司的DP83640芯片,电路连接为,主控芯片单向连接指示灯、分别双向连接JTAG调试芯片、DP83640(PHY),时间戳PHY芯片双向连接变压器、单向连接状态指示灯,时钟分别单向连接DP83640(PHY)、主控芯片。
[0016] 如图2、3、4、5、6所示,整个PTP网络通信共设置了系统的初始任务、指示灯的闪烁任务、串口接收任务、秒脉冲的响应任务、PTP协议运行任务五个任务,采用MQX操作系统进行调度各个任务之间的运行状态,实现方法包括以下步骤,
[0017] 1、系统的初始任务:对系统进行初始化,将以下的任务创建并运行,然后销毁该任务,依次创建网络参数配置任务,跑马灯任务1、2任务,消息列队任务、信号量和互斥变量任务,网络初始化运行任务,1PPS处理任务,串口接收任务、PTP通信信息任务;
[0018] 2、指示灯的闪烁任务:该任务始终运行,目的是测试系统的运行情况,[0019] 2-1、初始化端口,
[0020] 2-2、判断是否1=true,否,结束,是,端口电平翻转,进行下一步,
[0021] 2-3、延时,
[0022] 2-4、返回步骤2-2;
[0023] 3、串口接收任务:串口UART1的接收任务,接收主控单元发送过来的数据,并将其转换成秒数据,
[0024] 3-1、打开串口UART1,
[0025] 3-2、判断是否1=true,否,结束,是,进行下一步,
[0026] 3-3、读取数据,
[0027] 3-4、判断是否字头=帧头,否,返回步骤3-2,是,进行下一步,
[0028] 3-5、读取协议剩余数据,
[0029] 3-6、判断数据是否有效,否,返回步骤3-2,是,进行下一步,
[0030] 3-7、设置时间有效位为真,
[0031] 3-8、根据时间精度数据写入PTP报文数据域,
[0032] 3-9、按时间信息转换成秒数据信息,时间更改有效为真;
[0033] 4、秒脉冲的响应任务,捕捉秒脉冲的上升沿,然后将秒数据信息写入时间戳PHY芯片,更新时间戳的生成,该任务的优先级最高,对秒数据的小数部分即纳秒部分清零,提高PTP对时的精度,
[0034] 4-1、创建信号量,
[0035] 4-2、初始化端口,
[0036] 4-3、判断是否1=true,否,结束,是,进行下一步,
[0037] 4-4、等待信息量释放,
[0038] 4-5、判断是否时间更改有效,否,返回步骤4-3,是,进行下一步,
[0039] 4-6、将秒数据信息写入PHY,同步本地时钟源,
[0040] 4-7、返回步骤4-3;
[0041] 5、PTP协议运行任务,运行PTP协议,根据运行状态的改变运行不同的处理程序,[0042] 5-5、判断是否为Listening、Passive、Slave、Master, 否,进行下一步,是,运行BMC算法,更改运行状态,进行下一步,
[0043] 5-6、判断是否为Faulty, 否,进行下一步,是,更改运行状态并变为初始化状态,返回步骤5-4,
[0044] 5-7、判断是否为Listening、Passive、Slave、Uncalibrated, 否,进行下一步,是,运行接收网络数据并根据接收数据类型进行分析,返回步骤5-4,
[0045] 5-8、判断是否为Master, 否,返回步骤5-4,是,进行下一步,
[0046] 5-9、根据时间间隔的大小分别发送各种类型报文,
[0047] 5-10、运行接收网络数据,根据接收数据类型进行分析,返回步骤5-4。
[0048] 工作原理
[0049] 在主控芯片的ARM芯片上电后,将指示灯点亮,预示工作正常,在主控单元能够发送时间信息后,ARM芯片通过RS232接口接收主控单元的时间信息,通过解算后得出时间秒信息,在主控芯片发出1PPS后,ARM芯片将时间秒信息写入DP83640芯片中;同步本地时间源、时钟分别给ARM芯片提供运行时钟,给DP83640提供RMII通信的时钟源,可以利用JTAG调试程序的运行和断点的设置,实时分析;通过PC机得到ARM芯片的输出调试信息,便于程序在运行中向外输出一些系统信息;在ARM运行PTP协议的运行任务时,DP83640通过变压器+RJ45接口向外发送协议报文。
[0050] 该模块可以向外输出PTP协议的同步语句和通告语句,由于使用PTP协议,可以得到较高的同步精度。