CN117220817B - 一种多核处理器的时间同步监测的方法和*** - Google Patents
一种多核处理器的时间同步监测的方法和*** Download PDFInfo
- Publication number
- CN117220817B CN117220817B CN202311471402.5A CN202311471402A CN117220817B CN 117220817 B CN117220817 B CN 117220817B CN 202311471402 A CN202311471402 A CN 202311471402A CN 117220817 B CN117220817 B CN 117220817B
- Authority
- CN
- China
- Prior art keywords
- ntp
- monitoring
- time
- core
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000006870 function Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 3
- 238000012806 monitoring device Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002255 enzymatic effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种多核处理器的时间同步监测的方法和***,通过在裸核中断中拦截NTP监测请求报文和回复报文,配合FPGA的纳秒计时器,重新给报文打上时标,提高报文的精确度,避免了NTP监测应用运行核心负载高低和协议栈缓存等环节的影响,最终实现提高NTP同步监测的精度的目的。
Description
技术领域
本发明属于电力***时间同步的技术领域,具体涉及一种多核处理器的时间同步监测的方法和***。
背景技术
NTP(Network Time Procotol,网络时间协议)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,在电力***中也有大量的应用。除了时间同步的应用外,利用NTP报文的Reference Identifier字段,标识固定为“TSSM”,此时NTP报文可以用作电力***时间同步监测的用途。电力***中,运行的装置、设备、服务器等数量校多,导致时间同步监测任务负载较高,同时由于NTP协议工作在OSI模型的应用层,时间戳的准确度会受到***负载、协议栈缓存、收发包中断时序的影响,导致监测精度较低。
目前对NTP精度的优化有以下方案:
专利CN115801170A公开时钟对时方法、控制装置、存储介质及***,该方案采用多核心CPU,选用两个负载最低的CPU核心,分别用于绑定网卡的收包中断线程和发包线程,避免发包流程执行过程中被收包中断流程打断引起的发包延时,进而造成时间不稳定的问题,提高对时精度的方案。此方案对CPU核心的负载有限制,在CPU全核心高负载时,可能无法完全达到预期效果。
专利CN216526795U公开一种被授时设备网络时间精度监测方法的接口电路,该方案利用主控FPGA实现NTP协议栈功能,配合主控MCU实现硬件时标写入,提高监测精度。此方案可实现较高精度的时标写入,但由于需要使用FPGA实现协议栈功能,对FPGA的逻辑门数量需求较高,同时限制了协议栈的扩展性,在FPGA器件选型时增加了成本。
发明内容
本发明的目的在于克服上述现有技术的不足,提供一种多核处理器的时间同步监测的方法和***,可以对大量设备进行高精度的NTP时间同步监测。
为实现上述目的,本发明采用如下技术方案:
一种多核处理器的时间同步监测方法,包括:
使多核CPU在AMP模式下运行,任选两个核心,分别作为裸核和***核运行;裸核与FPGA通讯并以中断的方式运行,***核上运行NTP监测应用并具备协议栈功能;不同核心间共享内容;
报文发送时,NTP监测应用发送NTP监测请求报文,裸核通过共享内容获取并监视以太网包,拦截NTP监测请求报文,利用裸核维护的当前时间更新NTP监测请求报文的发送时标后发送至FPGA;
报文接收时,FPGA的拓展网口接收以太网包,记录每个以太网包接收的纳秒时刻t0,并将纳秒时刻和以太网包打包后传给裸核;裸核监视收到的以太网包,拦截NTP监测回复报文,从FPGA读取此时的纳秒时刻t1,将此时的完整时间向前回推t1-t0,利用回推后的完整时间更新NTP监测回复报文的接收时标后将NTP监测回复报文发送至***核;NTP监测应用利用接收的NTP监测回复报文中的相关字段计算监测的时间差。
作为一种优选的实施方式,所述裸核与FPGA通过千兆以太网通讯。
作为一种优选的实施方式,NTP监测应用发送NTP监测请求报文,经过***核协议栈后,通过共享内存将以太网包发送至裸核。
作为一种优选的实施方式,将裸核维护的当前时间替换NTP监测请求报文中的Transmit Timestamp字段,从而更新NTP监测请求报文的发送时标。
作为一种优选的实施方式,在更新NTP监测请求报文的发送时标后,重新计算NTP监测请求报文的UDP校验和并填入报文。
作为一种优选的实施方式,将回推后的完整时间填入NTP监测回复报文的Reference Timestamp字段,从而更新NTP监测回复报文的接收时标。
作为一种优选的实施方式,在更新NTP监测回复报文的接收时标后,重新计算NTP监测回复报文的UDP校验和并填入报文。
作为一种优选的实施方式,将更新接收时标后的NTP监测回复报文通过共享内存传至***核,经协议栈处理后传递给NTP监测应用。
作为一种优选的实施方式,NTP监测应用接收的NTP监测回复报文中的相关字段,基于下式计算监测的时间差:
式中,T0为Origin Timestamp字段时标,T1为Receive Timestamp字段时标,T2为Transmit Timestamp字段时标,T3为Reference Timestamp字段时标。
本发明的另一目的在于提供一种多核处理器的时间同步监测***,包括FPGA模块、嵌入式多核CPU模块和网络接口模块;
所述FPGA模块维护纳秒计时器,所述嵌入式多核CPU模块在AMP模式下运行,嵌入式多核中的任两个核心分别作为裸核和***核运行;裸核与FPGA通讯并以中断的方式运行,***核上运行NTP监测应用并具备协议栈功能;不同核心间共享内容;
报文发送时,NTP监测应用发送NTP监测请求报文,裸核通过共享内容获取并监视以太网包,拦截NTP监测请求报文,利用裸核维护的当前时间更新NTP监测请求报文的发送时标后发送至FPGA;
报文接收时,FPGA的拓展网口接收以太网包,记录每个以太网包接收的纳秒时刻t0,并将纳秒时刻和以太网包打包后传给裸核;裸核监视收到的以太网包,拦截NTP监测回复报文,获取从FPGA读取此时的纳秒时刻t1,将此时的完整时间向前回推t1-t0,利用回推后的完整时间更新NTP监测回复报文的接收时标后将NTP监测回复报文发送至***核;NTP监测应用利用接收的NTP监测回复报文中的相关字段计算监测的时间差。
本发明提出了一种多核处理器的时间同步监测的方法和***,可实现高精度的NTP时间监测。FPGA无需实现网络协议栈,降低了器件选型的逻辑门资源需求。多核心CPU中***核运行操作***,可方便的实现协议栈的扩展,对硬件资源限制较小。裸核以中断的方式运行,同时读取FPGA维护的纳秒计时器,具有较高的时间精度。在裸核处理监测请求报文和回复报文的时标,可以有效排除NTP监测应用所在CPU核负载以及协议栈缓存的影响,大大提高了监测请求报文发送和回复报文接收时标的准确度,并且可进一步提高监测设备的数量,最终提升了NTP监测的精度和性能。
附图说明
图1是本发明方法架构图。
图2是监测请求报文发送处理流程图。
图3是监测回复报文接收处理流程图。
实施方式
下面结合附图说明和具体实施例对本发明的技术方案作进一步阐述。
实施例中完整时间指年月日时分秒,以及秒以下的微秒;纳秒时刻为FPGA维护的纳秒计时器记录的时刻,是完整时间中精确至纳秒的部分。
本发明所述的时间同步监测装置包括FPGA模块、嵌入式多核CPU模块和网络接口模块。
FPGA模块实现网络接口的扩展、纳秒计时器维护和网络风暴抑制。纳秒计时器由FPGA编程实现,为秒以下的精确时间,实时更新,可被裸核读取。
嵌入式多核CPU模块使用AMP(Asymmetric Multi-processing)模式,任选两个核心。一个核心作为裸核运行,通过GMAC(千兆以太网)与FPGA通讯,负责整个装置的时间管理以及NTP监测的报文拦截和时标跟新。另一个核心作为***核运行操作***(例如翼辉SylixOS),具有完整的协议栈功能。NTP监测应用运行在***核上。不同的核心之间使用共享内存实现高速、可靠的核间交互。
网络接口模块实现与外部设备的网络物理连接。
本实施例中,NTP监测报文(包括监测回复报文和监测请求报文)格式与NTP报文相同,区别在于在Reference Identifier字段填写“TSSM”字符,表明报文用于监测钟差。
NTP监测应用至少实现NTP监测的计算钟差,也可增加NTP授时功能,或仅具备钟差监测功能,在其他模块完成NTP授时。
本发明的时间同步监测方法对报文发送和报文接收流程分别进行时间校正。
请求报文发送处理流程如下:
(1)NTP监测应用发送NTP监测请求报文,经过***核协议栈后,通过共享内存将以太网包发送到裸核;
(2)裸核监视要发出的以太网包,当筛选到NTP监测请求报文时,拦截此报文;
(3)获取由裸核维护的当前时间Time0,将此时间作为发送时标填入NTP监测请求报文(替换原本报文里的发送时间,即Transmit Timestamp字段);
重新计算NTP监测请求报文的UDP校验和并填入报文;
(4)将修改了发送时标和UDP校验和的NTP监测请求报文,经GMAC传送给FPGA,从FPGA扩展的网口发送出去。
回复报文接收处理流程如下:
(1)FPGA扩展网口接收以太网包,FPGA记录每一个以太网包接收的纳秒时刻,将纳秒时刻和以太网包内容打包后经过GMAC传给裸核;
(2)裸核监视收到的以太网包,当筛选到NTP监测回复报文时,拦截此报文;
(3)获取FPGA记录的纳秒时刻t0,从FPGA读取此时的纳秒时刻t1,读取此时的完整时间Time1,将Time1往前回推(t1-t0)纳秒,即收到NTP监测回复报文的准确时间Time2,用于替代原始的回复报文接收时间;
(4)将Time2填入NTP监测回复报文的Reference Timestamp字段(NTP监测中此字段未使用),重新计算监测回复报文的UDP校核和并填入报文;
(5)将修改了接收时标和UDP校验和的NTP监测回复报文,通过共享内存传给***核,经操作***协议栈处理后,传递给NTP监测应用;
(6)NTP监测应用解析收到的回复报文,Origin Timestamp字段为时标T0(发送NTP监测请求报文的设备1的Transmit Timestamp字段),Receive Timestamp字段为时标T1(设备2收到设备1发送的NTP监测请求报文的时间),Transmit Timestamp字段为时标T2(NTP监测回复报文的发送时间),Reference Timestamp字段为时标T3;
(7)按公式 计算得出监测的时间差。
Claims (10)
1.一种多核处理器的时间同步监测方法,其特征在于,包括:
使多核CPU在AMP模式下运行,任选两个核心,分别作为裸核和***核运行;裸核与FPGA通讯并以中断的方式运行,***核上运行NTP监测应用并具备协议栈功能;不同核心间共享内容;
报文发送时,NTP监测应用发送NTP监测请求报文,裸核通过共享内容获取并监视以太网包,拦截NTP监测请求报文,利用裸核维护的当前时间更新NTP监测请求报文的发送时标后发送至FPGA;
报文接收时,FPGA的拓展网口接收以太网包,记录每个以太网包接收的纳秒时刻t0,并将纳秒时刻和以太网包打包后传给裸核;裸核监视收到的以太网包,拦截NTP监测回复报文,从FPGA读取此时的纳秒时刻t1,将此时的完整时间向前回推t1-t0,利用回推后的完整时间更新NTP监测回复报文的接收时标后将NTP监测回复报文发送至***核;NTP监测应用利用接收的NTP监测回复报文中的相关字段计算监测的时间差。
2.根据权利要求1所述的方法,其特征在于,裸核与FPGA通过千兆以太网通讯。
3.根据权利要求1所述的方法,其特征在于,NTP监测应用发送NTP监测请求报文,经过***核协议栈后,通过共享内存将以太网包发送至裸核。
4. 根据权利要求1所述的方法,其特征在于,将裸核维护的当前时间替换NTP监测请求报文中的Transmit Timestamp字段,从而更新NTP监测请求报文的发送时标。
5.根据权利要求1所述的方法,其特征在于,在更新NTP监测请求报文的发送时标后,重新计算NTP监测请求报文的UDP校验和并填入报文。
6. 根据权利要求1所述的方法,其特征在于,将回推后的完整时间填入NTP监测回复报文的Reference Timestamp字段,从而更新NTP监测回复报文的接收时标。
7.根据权利要求1所述的方法,其特征在于,在更新NTP监测回复报文的接收时标后,重新计算NTP监测回复报文的UDP校验和并填入报文。
8.根据权利要求1所述的方法,其特征在于,将更新接收时标后的NTP监测回复报文通过共享内存传至***核,经协议栈处理后传递给NTP监测应用。
9.根据权利要求1所述的方法,其特征在于,NTP监测应用接收的NTP监测回复报文中的相关字段,基于下式计算监测的时间差:
;
式中,T0为Origin Timestamp字段时标,T1为Receive Timestamp字段时标,T2为Transmit Timestamp字段时标,T3为Reference Timestamp字段时标。
10.一种多核处理器的时间同步监测***,其特征在于,包括FPGA模块、嵌入式多核CPU模块和网络接口模块;
所述FPGA模块维护纳秒计时器,所述嵌入式多核CPU模块在AMP模式下运行,嵌入式多核中的任两个核心分别作为裸核和***核运行;裸核与FPGA通讯并以中断的方式运行,***核上运行NTP监测应用并具备协议栈功能;不同核心间共享内容;
报文发送时,NTP监测应用发送NTP监测请求报文,裸核通过共享内容获取并监视以太网包,拦截NTP监测请求报文,利用裸核维护的当前时间更新NTP监测请求报文的发送时标后发送至FPGA;
报文接收时,FPGA的拓展网口接收以太网包,记录每个以太网包接收的纳秒时刻t0,并将纳秒时刻和以太网包打包后传给裸核;裸核监视收到的以太网包,拦截NTP监测回复报文,获取从FPGA读取此时的纳秒时刻t1,将此时的完整时间向前回推t1-t0,利用回推后的完整时间更新NTP监测回复报文的接收时标后将NTP监测回复报文发送至***核;NTP监测应用利用接收的NTP监测回复报文中的相关字段计算监测的时间差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311471402.5A CN117220817B (zh) | 2023-11-07 | 2023-11-07 | 一种多核处理器的时间同步监测的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311471402.5A CN117220817B (zh) | 2023-11-07 | 2023-11-07 | 一种多核处理器的时间同步监测的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117220817A CN117220817A (zh) | 2023-12-12 |
CN117220817B true CN117220817B (zh) | 2024-01-05 |
Family
ID=89039272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311471402.5A Active CN117220817B (zh) | 2023-11-07 | 2023-11-07 | 一种多核处理器的时间同步监测的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117220817B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949129A (zh) * | 2006-11-27 | 2007-04-18 | 杭州华为三康技术有限公司 | 时间同步方法及装置 |
US8762951B1 (en) * | 2007-03-21 | 2014-06-24 | Oracle America, Inc. | Apparatus and method for profiling system events in a fine grain multi-threaded multi-core processor |
CN108667547A (zh) * | 2018-08-10 | 2018-10-16 | 电信科学技术第五研究所有限公司 | 一种网络时间协议转换方法及*** |
CN111107586A (zh) * | 2019-12-24 | 2020-05-05 | 广东机电职业技术学院 | 一种bbu前传数据的处理方法及*** |
CN111726185A (zh) * | 2019-03-20 | 2020-09-29 | 北京米文动力科技有限公司 | 外部设备与本地计算设备的***时钟的同步方法 |
CN216526795U (zh) * | 2021-10-14 | 2022-05-13 | 上海泰坦通信工程有限公司 | 一种被授时设备网络时间精度监测方法的接口电路 |
CN114546680A (zh) * | 2022-02-18 | 2022-05-27 | 江苏金智科技股份有限公司 | 一种继电保护装置裸核程序日志记录方法和*** |
CN115150223A (zh) * | 2022-06-24 | 2022-10-04 | 广西电网有限责任公司电力科学研究院 | 一种高效多核异构***数据同步方法 |
CN115801170A (zh) * | 2022-11-02 | 2023-03-14 | 北京东土科技股份有限公司 | 时钟对时方法、控制装置、存储介质及*** |
CN116346272A (zh) * | 2023-01-12 | 2023-06-27 | 中国电子科技集团公司第五十八研究所 | 一种基于Xilinx的PS端和PL端协同的IEEE802.1AS时钟同步*** |
CN116566533A (zh) * | 2023-05-24 | 2023-08-08 | 北京无线电计量测试研究所 | 一种纳秒级ntp网络时间同步方法及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BRPI1101401A2 (pt) * | 2011-03-29 | 2013-06-04 | Inst Alberto Luiz Coimbra De Pos Graduacao E Pesquisas De Engenharia Coppe Ufrj | relàgio virtual estritamente crescente para temporizaÇço de alta precisço de programas em sistemas de multiprocessamento |
KR20230116903A (ko) * | 2020-12-03 | 2023-08-04 | 에스와이엔지, 인크. | 클럭 동기화를 위한 방법 및 이종 컴퓨팅 시스템 |
-
2023
- 2023-11-07 CN CN202311471402.5A patent/CN117220817B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949129A (zh) * | 2006-11-27 | 2007-04-18 | 杭州华为三康技术有限公司 | 时间同步方法及装置 |
US8762951B1 (en) * | 2007-03-21 | 2014-06-24 | Oracle America, Inc. | Apparatus and method for profiling system events in a fine grain multi-threaded multi-core processor |
CN108667547A (zh) * | 2018-08-10 | 2018-10-16 | 电信科学技术第五研究所有限公司 | 一种网络时间协议转换方法及*** |
CN111726185A (zh) * | 2019-03-20 | 2020-09-29 | 北京米文动力科技有限公司 | 外部设备与本地计算设备的***时钟的同步方法 |
CN111107586A (zh) * | 2019-12-24 | 2020-05-05 | 广东机电职业技术学院 | 一种bbu前传数据的处理方法及*** |
CN216526795U (zh) * | 2021-10-14 | 2022-05-13 | 上海泰坦通信工程有限公司 | 一种被授时设备网络时间精度监测方法的接口电路 |
CN114546680A (zh) * | 2022-02-18 | 2022-05-27 | 江苏金智科技股份有限公司 | 一种继电保护装置裸核程序日志记录方法和*** |
CN115150223A (zh) * | 2022-06-24 | 2022-10-04 | 广西电网有限责任公司电力科学研究院 | 一种高效多核异构***数据同步方法 |
CN115801170A (zh) * | 2022-11-02 | 2023-03-14 | 北京东土科技股份有限公司 | 时钟对时方法、控制装置、存储介质及*** |
CN116346272A (zh) * | 2023-01-12 | 2023-06-27 | 中国电子科技集团公司第五十八研究所 | 一种基于Xilinx的PS端和PL端协同的IEEE802.1AS时钟同步*** |
CN116566533A (zh) * | 2023-05-24 | 2023-08-08 | 北京无线电计量测试研究所 | 一种纳秒级ntp网络时间同步方法及*** |
Non-Patent Citations (3)
Title |
---|
"A Method and System for Time Synchronization in Nanoseconds Order, by Multi-Core Satellite Receiver Architecture";Shubham Kumar等;《2023 International Conference on Network, Multimedia and Information Technology (NMITCON)》;全文 * |
"基于多核处理器的NTP服务器设计";刘岩等;《时间频率学报》;第43卷(第1期);全文 * |
"电力信息化***时间同步技术研究与应用";马涛等;《电力信息与通信技术》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117220817A (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101404618B (zh) | 实现精确时钟同步协议中透传时钟的***、装置及方法 | |
US8370675B2 (en) | Precise clock synchronization | |
US8738792B2 (en) | Server time protocol messages and methods | |
CN108650051B (zh) | 通用全硬件一步式1588的时钟同步装置及方法 | |
EP2448168A1 (en) | Method and system for bearing time synchronization protocol in optical transport network | |
JP6449430B2 (ja) | ネットワーク装置用の時刻同期方法、装置及び時刻同期サーバ | |
US20220360350A1 (en) | Method and apparatus for acquiring timestamp of data stream, storage medium, and electronic apparatus | |
JP2009182659A (ja) | タイミング同期方法、同期装置、同期システム及び同期プログラム | |
WO2022052609A1 (zh) | 时延补偿方法、装置、设备及计算机可读存储介质 | |
CN104243079A (zh) | 一种实时以太网的微秒级时钟同步方法 | |
CN113489563B (zh) | 一种虚拟机的时钟同步方法和云平台 | |
CN117220817B (zh) | 一种多核处理器的时间同步监测的方法和*** | |
CN104202137A (zh) | 一种基于e1链路的ieee1588时钟同步方法、***及装置 | |
CN101420281A (zh) | 用于在网络要素之间传送日内时间值的方法和装置 | |
CN106656395A (zh) | 基于自学习改进的电网时间同步测量***和方法 | |
CN113573403B (zh) | 一种用于5g rru的从时钟同步***及方法 | |
Moreira et al. | IEEE 1588 Transparent Clock architecture for FPGA-based network devices | |
CN102394740B (zh) | 时间同步方法及装置 | |
CN102571252B (zh) | 高精度ntp授时***的授时方法 | |
CN214480655U (zh) | 一种兼容可定义确定性通信以太网的嵌入式设备 | |
CN116961808A (zh) | 一种时钟同步方法和相关设备 | |
WO2020132834A1 (zh) | 一种打戳处理方法及装置 | |
WO2022028716A1 (en) | Ue based time synchronization in 5gs with gm clock on the ue side | |
CN111865467A (zh) | 用于时延测试的分布式机箱板卡间时钟同步***及方法 | |
Xueqiao et al. | Implementation and research of hardware time stamping techniques based on IEEE1588 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |