CN107943736A - 时间处理设备及包括时间处理设备的数据处理系统 - Google Patents
时间处理设备及包括时间处理设备的数据处理系统 Download PDFInfo
- Publication number
- CN107943736A CN107943736A CN201710781010.7A CN201710781010A CN107943736A CN 107943736 A CN107943736 A CN 107943736A CN 201710781010 A CN201710781010 A CN 201710781010A CN 107943736 A CN107943736 A CN 107943736A
- Authority
- CN
- China
- Prior art keywords
- time
- register
- triggered protocol
- data
- time data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
Abstract
提供了一种数据处理系统和一种时间处理设备。在一个实施方式中,专用时间处理设备插入联接到或嵌入有数据处理系统的其余系统组件(例如,处理器、存储器)中的至少一部分的外围总线中,以同步数据处理系统的系统时钟。外围总线可以是外围组件接口(PCI)总线、PCI Express(PCIe)链路、PCI扩展(PCI‑X)总线等。时间处理设备从例如全球定位系统(GPS)时间源等的高精度时间源接收高精度时间。时间处理设备对所接收的时间进行解码和处理,并将时间存储在内部时间寄存器中。时间处理设备还包括允许外部组件(例如,处理器)出于同步系统时钟的目的在低延迟的情况下检索时间寄存器中所存储的时间的接口。
Description
技术领域
本发明实施方式大体涉及数据处理系统的时间同步。更具体地,本发明实施方式涉及数据处理系统的高精度时间同步。
背景技术
嵌入式世界中的难题之一是保持追踪极为精确的时间。遍及地球上或靠近地球的所有设备,时间是通用且恒定的。保持精确地追踪时间将允许分布式系统自然地维持同步。网络时间协议(NTP)是允许通过网络连接的计算机或设备横跨网络从NTP服务器检索时间的机制。如果NTP服务器可以维持在微秒级别的精度,则由于不可预测的网络延迟,计算机将达到毫秒的精度。
专用设备,诸如用于实现NTP服务器的那些不具备一般用途。这种专用设备通常非常昂贵。大多数方法需要将被设计成传播时间的软件。遗憾的是,必须执行的指令越多,则将导致的延迟越多,由此导致准确性降低。此外,涉及软件越多,则越容易受到操作系统(OS)调度器的抢占,从而导致进一步延迟。诸多这样的设备基于通常较慢的低带宽串行接口(例如,RS-232)。
发明内容
本申请第一方面提供了一种数据处理系统,可包括:处理器;PCIe链路;以及时间处理设备,经由PCIe链路联接到处理器,时间处理设备可包括时间处理逻辑和时间寄存器,其中,时间处理逻辑从时间数据源接收表示日期和时间的时间数据并将时间数据存储在时间寄存器中,其中处理器通过PCIe总线经由单个读取指令从时间寄存器检索时间数据,并基于时间数据更新数据处理系统的系统时钟。
根据实施方式,时间处理设备可包括:第一输入部,从时间数据源接收第一信号,第一信号指示能够从时间数据源获得时间数据的更新;以及第二输入部,从时间数据源接收具有经更新的时间数据的消息。
根据实施方式,第一信号可包括每秒脉冲信号,消息是GPRMC兼容消息。
根据实施方式,时间处理逻辑可:检测从第一输入部接收的信号,响应于信号,对从第二输入部接收的时间数据进行解码,以及将经解码的时间数据存储在时间寄存器中。
根据实施方式,时间寄存器可包括:第一寄存器,存储日期信息;第二寄存器,存储时、分和秒信息;以及第三寄存器,存储毫秒、微秒和纳秒信息。
根据实施方式,时间处理设备还可包括锁定逻辑,锁定逻辑响应于从第三寄存器进行读取的读取请求,锁定第一寄存器或第二寄存器中的至少一个,以防止第一寄存器或第二寄存器中所存储的数据发生改变。
根据实施方式,响应于对更新时间的读取请求,时间处理逻辑可从第三寄存器进行读取而不从第一寄存器和第二寄存器进行读取;第一寄存器和第二寄存器中所存储的数据在接收读取请求之前可被预取,其中接收读取请求在操作系统调度器被禁用之前进行。
根据实施方式,第二寄存器可在秒边界被访问,第一寄存器可在日边界被访问。
根据实施方式,数据处理系统还可包括代管操作系统的存储器以及由处理器在操作系统的内核内执行的时间处理驱动器,其中时间处理驱动器:暂停操作系统的调度器;经由单个指令从时间寄存器进行读取;恢复操作系统的调度器;以及更新系统时钟。
根据实施方式,时间数据源可以是提供全球定位系统时间的全球定位系统兼容源。
本申请第二方面提供了一种时间处理设备,可包括:PCIe链路接口,能够通过PCIe链路联接到处理器;时间寄存器;以及时间处理逻辑,联接到时间寄存器,其中,时间处理逻辑从时间数据源接收表示日期和时间的时间数据并将时间数据存储在时间寄存器中,处理器通过PCIe链路经由单个读取指令从时间寄存器检索时间数据并基于时间数据更新与处理器相关联的系统时钟。
根据实施方式,时间处理设备还可包括:第一输入部,从时间数据源接收第一信号,第一信号指示能够从时间数据源获得时间数据的更新;以及第二输入部,从时间数据源接收具有所更新的时间数据的消息。
根据实施方式,第一信号可包括每秒脉冲信号,消息是GPRMC兼容消息。
根据实施方式,时间处理逻辑可:检测从第一输入部接收的信号,响应于信号,对从第二输入部接收的时间数据进行解码,以及将经解码的时间数据存储在时间寄存器中。
根据实施方式,时间寄存器可包括:第一寄存器,存储日期信息;第二寄存器,存储时、分和秒信息;以及第三寄存器,存储毫秒、微秒和纳秒信息。
根据实施方式,时间处理设备还可包括锁定逻辑,锁定逻辑响应于从第三寄存器进行读取的读取请求,锁定第一寄存器和第二寄存器中的至少一个,以防止第一寄存器和第二寄存器中所存储的数据发生改变。
根据实施方式,响应于对更新时间的读取请求,时间处理逻辑可从第三寄存器进行读取而不从第一寄存器和第二寄存器进行读取;第一寄存器和第二寄存器中所存储的数据在接收读取请求之前被预取。
根据实施方式,第二寄存器可在秒边界上被访问,第一寄存器可在日边界上被访问。
根据实施方式,时间数据源可以是提供全球定位系统时间的全球定位系统兼容源。
附图说明
在附图的图形中以示例和非限制的方式示出本发明的实施方式,在附图中相同的引用物表示相同的元件。
图1是示出可与本发明实施方式一起使用的数据处理系统的框图。
图2是示出根据本发明一个实施方式数据处理系统的架构的框图。
图3是示出根据本发明一个实施方式的高精度时间同步机制的框图。
图4是示出根据本发明一个实施方式的时间处理设备的时间寄存器的示例的框图。
图5是示出根据本发明一个实施方式的从高精度时间源同步时间的过程的流程图。
图6是示出根据本发明另一个实施方式从高精度时间源同步时间的过程的流程图。
具体实施方式
将参考以下讨论的细节描述本发明各实施方式和方面,并且附图将示出各实施方式。以下描述和附图对本发明是说明性的,而不被解释为限制本发明。描述诸多具体细节,以提供对本发明各实施方式的透彻理解。然而,在某些情况下,为了对本发明的实施方式提供简明的讨论,不对公知的或常规的细节进行描述。
说明书中提及“一个实施方式”或“实施方式”意味着:结合该实施方式描述的特定特征、结构或特性可以包括在本发明的至少一个实施方式中。在说明书中的各处,短语“在一个实施方式中”的出现并不一定全部指相同的实施方式。
根据一些实施方式,专用时间处理设备插入联接到或者嵌入有数据处理系统的其余系统组件(例如,处理器、存储器)中的至少一部分的外围总线中,以同步数据处理系统的系统时钟。外围总线可以是外围组件接口(PCI)总线、PCI Express(PCIe)链路、PCI扩展(PCI-X)总线等。时间处理设备从例如全球定位系统(GPS)时间源等的高精度时间源接收高精度时间。时间处理设备对所接收的时间进行解码和处理,并将时间存储在一个或多个内部时间寄存器的集合中。时间处理设备还包括允许外部组件(例如,处理器)出于同步系统时钟的目的在低延迟的情况下检索存储在时间寄存器中的时间的接口。
在一个实施方式中,作为时间处理设备操作的装置包括:能够通过PCIe总线联接到处理器的PCIe接口、时间寄存器以及联接到时间寄存器的时间处理逻辑。时间处理逻辑从时间数据源接收表示日期和时间的时间数据,并且将时间数据解码并存储在时间寄存器中。处理器可以经由PCIe总线通过单个读取指令从时间寄存器检索时间数据,并根据时间数据更新与处理器相关联的系统时钟。时间数据源可以是GPS数据源,并且时间数据可以从自GPS数据源接收的GPS信号中被提取。
图1是示出可与本发明实施方式一起使用的数据处理系统的框图。参考图1,在本示例中,系统100是PCIe兼容系统。PCIe是一种高速串行计算机扩展总线标准。PCI Express基于点到点拓扑,并且单独的串行链路将每个设备连接到根组件(主机)。PCIe链路支持任何两个端点之间的全双工通信,并且对于跨多个端点的并行存取没有固有的限制。PCIe通过称为互连或链路的逻辑连接进行通信。链路是两个PCIe端口之间的点对点通信信道,从而允许它们双方发送和接收普通PCI请求(配置、I/O或存储器读取/写入)和中断。
在本实施方式中,一个或多个处理器101和存储器103联接到根组件102。在PCIe系统中,根组件102将处理器101和存储器103连接到由一个或多个交换设备组成的PCIe交换结构,诸如交换机104。类似于PCI系统中的主机桥,根组件102代表通过本地总线互连的处理器101生成交易请求。根组件可以被实现为分离的设备,或者可以与处理器集成。根组件102可以包括多于一个的PCIe端口,并且多个交换设备可以连接到根组件上的端口或者可被级联。
PCIe端点设备(例如,任何输入/输出或IO设备)可插入联接到交换机104或根组件102中任一者的PCIe总线。在本示例中,PCIe端点设备111-112联接到交换机104的下行链路端口,其中交换机104的上行链路端口联接到根组件102。另外,诸如PCIe端点设备114的附加端点设备可以联接到根组件102。
在一个实施方式中,系统100包括联接到PCIe总线的时间处理设备。这一时间处理设备可以联接到交换机104或根组件102。出于说明的目的,时间处理设备是联接到交换机104的时间处理设备113的一部分。时间处理设备113还联接到高精度时间源120(例如,GPS时间源),以周期性地接收诸如日期和时间的时间信息。在一个实施方式中,时间处理设备113包括用于从高精度时间源120(也称为时间数据源)接收时间信息、对该时间信息进行解码并将该时间信息存储在时间处理设备113内的时间寄存器中的时间处理逻辑。此外,时间处理软件115可以被加载到存储器103中并由处理器101执行。时间处理软件115在由处理器101执行时,使处理器101向时间处理设备113发出用于检索其中存储的时间信息以及更新(例如,同步)本地系统时钟110的命令(例如,单个命令)。由于PCIe总线的延迟低,处理器101可以在非常短的时间段中例如以微秒级别检索时间信息。
图2是示出根据本发明的一个实施方式的数据处理系统的架构的框图。系统200可以实现为系统100的一部分。参考图2,系统200包括在OS的用户空间运行的时间处理应用201、在OS的内核空间运行的时间处理驱动器202以及作为硬件和/或固件的一部分的时间处理设备210。时间处理设备210可以表示图1的PCIe端点设备111-112、114中的任何一个。时间处理设备210可以实现为现场可编程门阵列(FPGA)、专用集成电路(ASIC)或处理器。
时间处理设备210联接到高精度时间源120,其中高精度时间源120周期性地向时间处理设备210发送时间信息。高精度时间源120可以是GPS时间源、BEIDOU导航系统时间源、GLONASS时间源或任何其他原子钟。在一个实施方式中,时间处理设备210包括时间处理逻辑215和时间寄存器220。响应于从高精度时间源120接收的时间信息,时间处理逻辑215对一个或多个时间寄存器220中的时间信息进行解码、处理、同步并且还基于它的本地时钟将亚秒级值维持秒间边界(in-between seconds boundary)。时间处理应用201可以周期性地或响应于用户请求向时间处理驱动器202发送时间更新请求。
响应于该请求,时间处理驱动器202向时间处理设备210发出用于从时间寄存器220检索时间信息的读取请求。在发出读取请求之前,时间处理驱动器202可以与OS的内核通信以停止或暂停OS调度器203调度其他任务,使得时间处理驱动器202可在没有延迟的情况下在获取当前时间之后更新系统。注意,时间寄存器220可以是映射到与时间处理设备210相关联的PCI配置空间的IO寄存器或存储器映射IO寄存器。可以经由处理器的单个指令来检索存储在时间寄存器220中的时间信息。基于从时间寄存器220检索的时间信息,时间处理驱动器202更新或同步系统时钟110。由于PCIe架构的低延迟,可以以微秒精度级别检索时间信息。
图3是示出根据本发明的一个实施方式的高精度时间同步机制的框图。参考图3,系统300可实现为图1的系统100或图2的系统200的一部分。在本实施方式中,时间处理设备210实现为插入PCIe总线中的PCIe设备(例如,FPGA、ASIC或处理器)。其结果是,时间处理设备210经由PCIe链路301通信地联接到处理器101。另一方面,时间处理设备210联接到高精度时间源120,在本示例中为GPS时间源。在一个实施方式中,高精度时间源120可以是周期性地从基站或卫星接收时间数据的GPS接收器。
在一个实施方式中,时间处理设备210包括:用于经由路径302从高精度时间源120接收指示时间数据可用的信号的第一接口或输入部,以及用于经由路径303接收包括时间数据的消息的第二接口或输入部。从第一输入部接收的信号可以是每秒脉冲(PPS)兼容信号。从第二输入部接收到的消息可以是GPRMC兼容消息,其可以是国家海洋电子协会(NMEA)标准的推荐最小特定GPS/中转数据的一部分。PPS信号是宽度小于1秒且急剧上升或突然下降边缘每秒精确重复一次的电信号。PPS信号由无线电信标、频率标准、其他类型的精密振荡器和一些GPS接收器输出。PPS信号不指定时间,而仅仅是秒的开始并且通常在纳秒精度级别。GPRMC消息包括日期和时间信息。
在一个实施方式中,时间寄存器220包括:用于提供日期信息的日期寄存器311;用于提供时、分、秒时间信息的低精度寄存器312;以及用于提供毫秒、微秒和纳秒时间信息的高精度寄存器313。响应于在第一输入部处经由路径302检测到的PPS信号,时间处理逻辑215经由路径303从第二输入部接收GPRMC消息。时间处理逻辑215对GPRMC消息解码以提取日期和时间信息,同步寄存器311-313中的日期和时间信息,并且在寄存器313中基于本地时钟使亚秒级值维持秒间边界。
随后,当从客户端例如时间处理软件115接收到用于读取时间信息的读取请求时,时间处理逻辑215从寄存器311-313中检索时间信息,并出于更新系统时钟110的目的将时间信息返回给客户端。在一个实施方式中,根据读取请求如何被接收,有时对高精度寄存器313的读取动作即可足够。例如,如果在先前请求之后不到一秒接收到当前读取请求,则不需要读取日期寄存器311和低精度寄存器312,因为在两个读取请求之间秒、分、时和日期信息不会发生变化。
可以通过监视经由路径302接收的PPS信号来确定秒的边界。高精度寄存器313的内容在秒边界上复位,并且在秒边界之间基于本地时钟以它的时间段的增量进行更新。基于PPS信号,低精度寄存器312的内容每秒更新一次。类似地,日期寄存器311的内容每天更新一次。因此,可以例如以每秒为基础预取日期寄存器311和/或低精度寄存器312的数据,以进一步减少从高精度寄存器313检索时间信息的时间。高精度寄存器313可以以系统的内部时钟的频率被访问,并以零点几微秒的速度终止(complete)。在一个实施方式中,当访问高精度寄存器313时,日期寄存器311和低精度寄存器312被自动锁定,以防止存储在其中的内容发生任何改变。对低精度寄存器312的读取可以解锁日期寄存器311和高精度寄存器313。
图4是示出根据本发明的一个实施方式的时间处理设备的时间寄存器的示例的框图。参考图4,时间寄存器311-313中的每一个均为4字节(32位)寄存器。在一个实施方式中,日期寄存器311的0-23位用于存储例如“mmddyy”格式的日期信息。低精度寄存器312的0-7位用于存储秒信息(例如,0-59秒)。低位寄存器312的8-15位用于存储分信息(例如,0-59分)。低精度寄存器312的24-31位用于存储时信息(例如,0-23时)。高精度寄存器313的1-7位用于存储纳秒计数,其中一个计数表示10纳秒。高精度寄存器313的8-19位用于存储微秒信息(例如,0-999微秒)。高精度寄存器313的20-31位用于存储毫秒信息(例如,0-999毫秒)。0位用于指示存储在寄存器311-313中的时间和日期是否有效,其中,如果所接收的GPRMC消息指示时间源,则时间处理逻辑215设置0位,例如已经获取GPS锁定并且GPRMC消息的内容有效。注意,仅为了说明的目的示出和描述寄存器311-313。其他形式也可以在本文中应用。例如,寄存器311-313可以由两个64位寄存器或一个128位寄存器替代。
图5是示出根据本发明的一个实施方式从高精度时间源开始同步时间的过程的流程图。过程500可以由如图2所示的时间处理设备210的时间处理逻辑215执行。参考图5,在框501处,处理逻辑从联接到高精度时间源(例如,GPS时间源)的第一接口/输入部接收指示新的时间数据可用的第一信号(例如,PPS信号)。响应于第一信号,在框502处,处理逻辑从联接到高精度时间源的第二接口/输入部接收消息(例如,GPRMC消息)。在框503处,处理逻辑对时间数据进行解码以从消息中提取日期和时间数据。在框504处,处理逻辑同步一个或多个时间寄存器(例如,时间寄存器311-313)中的日期和时间数据,并且基于本地时钟将亚秒级值维持秒间边界。在框505处,处理逻辑提供用于允许客户端(例如,处理器、应用或驱动器)从时间寄存器检索日期和时间数据的IO接口。
图6是示出根据本发明的另一个实施方式从高精度时间源同步时间的过程的流程图。过程600可以由处理逻辑执行,处理逻辑可以包括软件、硬件或其组合。例如,过程600可以由图1的时间处理软件115执行。参考图6,在框601处,响应于更新从客户端接收的时间的请求,处理逻辑暂停OS调度器以减少读取时间和更新系统时钟的延迟。在框602处,处理逻辑通过PCIe链路从时间处理设备的高精度寄存器进行读取以检索低阶时间值。在框603处,处理逻辑从低精度寄存器进行读取以检索高阶时间值。在框604处,处理逻辑组合低阶时间值和高阶时间值以生成单个时间值。在框605处,处理逻辑基于单个时间值更新本地系统时钟。在框606处,处理逻辑恢复OS调度器。
上述技术可以应用于需要高精度时间同步的各种数据处理系统。在一个实施方式中,上面描述和图1至图4中所示的系统可以被实现为控制自主车辆的计算机系统的一部分。自主车辆是指可以配置为处于车辆在少有或没有来自驾驶员的输入的情况下导航通过环境的自主模式的车辆。这种自主车辆可以包括传感器系统,所述传感器系统具有配置为检测与车辆在其中操作的环境有关的信息的一个或多个传感器。车辆及它的相关控制器使用所检测的信息导航通过该环境。
已经根据对计算机存储器内的数据位运算的算法和符号表示提出前面详细描述的一部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的方式。算法在这里通常被认为是引起期望结果的自相一致的操作顺序。这些操作是需要对物理量进行物理操控的操作。
然而应考虑到,所有这些以及类似的术语都与适当的物理量相关联,并且仅仅是适用于这些量的便利标记。除非另有明确说明,否则通过以上讨论显而易见,应理解在说明书通篇,使用术语(诸如所附权利要求中提出的术语)的讨论是指计算机系统或类似电子计算设备的、将计算机系统的寄存器和存储器内表示为物理(电子)量的数据操纵和变换为类似地表示为计算机系统存储器或寄存器或其他此类信息存储装置、传输或显示设备内的物理量的其他数据的动作和过程。
本发明的实施方式还涉及用于执行本文中的操作的计算机程序。这样的计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备)。
前面附图中描述的过程或方法可以由包括硬件(例如电路、专用逻辑等)、软件(例如,在非暂时性计算机可读介质上实现)或两者的组合的处理逻辑来执行。虽然以上根据一些顺序操作描述了过程或方法,但是应意识到,所描述的一些操作可以以不同的顺序执行。此外,一些操作可以并行而不是顺序执行。
本发明实施方式没有参考任何特定的编程语言进行描述。应理解,可以使用各种编程语言来实现如本文所述的本发明实施方式的教导。
在前述说明书中,已经参照本发明的具体示例性实施方式描述了本发明的实施方式。显而易见,在不脱离如所附权利要求中阐述的本发明的更广泛的精神和范围的情况下,可以对本发明的实施方式进行各种修改。因此,说明书和附图要以说明性而非限制性意义来考虑。
Claims (19)
1.一种数据处理系统,包括:
处理器;
PCIe链路;以及
时间处理设备,经由所述PCIe链路联接到所述处理器,所述时间处理设备包括时间处理逻辑和时间寄存器,其中,所述时间处理逻辑从时间数据源接收表示日期和时间的时间数据并将所述时间数据存储在所述时间寄存器中,
其中,所述处理器通过所述PCIe总线经由单个读取指令从所述时间寄存器检索所述时间数据,并基于所述时间数据更新所述数据处理系统的系统时钟。
2.根据权利要求1所述的系统,其中所述时间处理设备包括:
第一输入部,从所述时间数据源接收第一信号,所述第一信号指示能够从所述时间数据源获得所述时间数据的更新;以及
第二输入部,从所述时间数据源接收具有经更新的时间数据的消息。
3.根据权利要求2所述的系统,其中,所述第一信号包括每秒脉冲信号,所述消息是GPRMC兼容消息。
4.根据权利要求2所述的系统,其中所述时间处理逻辑:
检测从所述第一输入部接收的信号,
响应于所述信号,对从所述第二输入部接收的时间数据进行解码,以及
将经解码的时间数据存储在所述时间寄存器中。
5.根据权利要求1所述的系统,其中所述时间寄存器包括:
第一寄存器,存储日期信息;
第二寄存器,存储时、分和秒信息;以及
第三寄存器,存储毫秒、微秒和纳秒信息。
6.根据权利要求5所述的系统,其中所述时间处理设备还包括锁定逻辑,所述锁定逻辑响应于从所述第三寄存器进行读取的读取请求,锁定所述第一寄存器或所述第二寄存器中的至少一个,以防止所述第一寄存器或所述第二寄存器中所存储的数据发生改变。
7.根据权利要求5所述的系统,其中,响应于对更新时间的读取请求,所述时间处理逻辑从所述第三寄存器进行读取而不从所述第一寄存器和所述第二寄存器进行读取;所述第一寄存器和所述第二寄存器中所存储的数据在接收所述读取请求之前被预取,其中接收所述读取请求在操作系统调度器被禁用之前进行。
8.根据权利要求7所述的系统,其中所述第二寄存器在秒边界被访问,所述第一寄存器在日边界被访问。
9.根据权利要求1所述的系统,还包括代管操作系统的存储器以及由所述处理器在所述操作系统的内核内执行的时间处理驱动器,其中所述时间处理驱动器:
暂停所述操作系统的调度器;
经由单个指令从所述时间寄存器进行读取;
恢复所述操作系统的调度器;以及
更新所述系统时钟。
10.根据权利要求1所述的系统,其中所述时间数据源是提供全球定位系统时间的全球定位系统兼容源。
11.一种时间处理设备,包括:
PCIe链路接口,能够通过PCIe链路联接到处理器;
时间寄存器;以及
时间处理逻辑,联接到所述时间寄存器,其中,所述时间处理逻辑从时间数据源接收表示日期和时间的时间数据并将所述时间数据存储在所述时间寄存器中,所述处理器通过所述PCIe链路经由单个读取指令从所述时间寄存器检索所述时间数据并基于所述时间数据更新与所述处理器相关联的系统时钟。
12.根据权利要求11所述的设备,还包括:
第一输入部,从所述时间数据源接收第一信号,所述第一信号指示能够从所述时间数据源获得所述时间数据的更新;以及
第二输入部,从所述时间数据源接收具有所更新的时间数据的消息。
13.根据权利要求12所述的设备,其中,所述第一信号包括每秒脉冲信号,所述消息是GPRMC兼容消息。
14.根据权利要求12所述的设备,其中所述时间处理逻辑:
检测从所述第一输入部接收的信号,
响应于所述信号,对从所述第二输入部接收的时间数据进行解码,以及
将经解码的时间数据存储在所述时间寄存器中。
15.根据权利要求11所述的设备,其中所述时间寄存器包括:
第一寄存器,存储日期信息;
第二寄存器,存储时、分和秒信息;以及
第三寄存器,存储毫秒、微秒和纳秒信息。
16.根据权利要求15所述的设备,还包括锁定逻辑,所述锁定逻辑响应于从所述第三寄存器进行读取的读取请求,锁定所述第一寄存器和所述第二寄存器中的至少一个,以防止所述第一寄存器和所述第二寄存器中所存储的数据发生改变。
17.根据权利要求15所述的设备,其中,响应于对更新时间的读取请求,所述时间处理逻辑从所述第三寄存器进行读取而不从所述第一寄存器和所述第二寄存器进行读取;所述第一寄存器和所述第二寄存器中所存储的数据在接收所述读取请求之前被预取。
18.根据权利要求17所述的设备,其中所述第二寄存器在秒边界上被访问,所述第一寄存器在日边界上被访问。
19.根据权利要求11所述的设备,其中所述时间数据源是提供全球定位系统时间的全球定位系统兼容源。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/292,921 | 2016-10-13 | ||
US15/292,921 US10162792B2 (en) | 2016-10-13 | 2016-10-13 | Method and system for high precision time synchronization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107943736A true CN107943736A (zh) | 2018-04-20 |
CN107943736B CN107943736B (zh) | 2021-04-23 |
Family
ID=61904470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710781010.7A Active CN107943736B (zh) | 2016-10-13 | 2017-09-01 | 时间处理设备及包括时间处理设备的数据处理系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10162792B2 (zh) |
CN (1) | CN107943736B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587405A (zh) * | 2018-10-24 | 2019-04-05 | 科大讯飞股份有限公司 | 时间同步方法和装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021019791A1 (ja) * | 2019-08-01 | 2021-02-04 | 日本電信電話株式会社 | パケット転送装置、パケット転送方法およびパケット転送プログラム |
US11449456B2 (en) | 2020-06-02 | 2022-09-20 | Microchip Technology Inc. | System and method for scheduling sharable PCIe endpoint devices |
CN112653533B (zh) * | 2020-12-17 | 2022-09-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种复杂系统智能授时管理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201177750Y (zh) * | 2008-04-22 | 2009-01-07 | 杭州电子科技大学 | 一种深海数据采集控制装置 |
CN102023565A (zh) * | 2010-12-15 | 2011-04-20 | 中兴通讯股份有限公司 | 一种输出时间信息的装置及方法 |
CN102591196A (zh) * | 2012-03-30 | 2012-07-18 | 上海鸿晔电子科技有限公司 | 卫星授时系统的网络时钟守时装置 |
CN103076737A (zh) * | 2013-01-04 | 2013-05-01 | 西北工业大学 | 基于乒乓缓冲和消息机制的高精度gps分布式授时方法 |
US20130307724A1 (en) * | 2011-01-31 | 2013-11-21 | Agency For Defense Development | Apparatus And Method For Generating GPS Time |
WO2014062924A1 (en) * | 2012-10-19 | 2014-04-24 | Schweitzer Engineering Laboratories, Inc. | Time distribution device with multi-band antenna |
CN104865824A (zh) * | 2015-04-30 | 2015-08-26 | 苏州科技学院 | 一种基于pci-e总线的北斗b码授时同步装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724316A (en) * | 1995-09-26 | 1998-03-03 | Delco Electronics Corporation | GPS based time determining system and method |
KR100876776B1 (ko) * | 2007-04-17 | 2009-01-09 | 삼성전자주식회사 | 통신 시스템에서 gps 정보를 이용한 시간 동기화 방법및 장치 |
US8009519B2 (en) * | 2008-02-28 | 2011-08-30 | Hewlett-Packard Development Company, L.P. | Apparatus and methods for maintaining a reliable time clock on a mobile computing device supporting satellite based position determination capability |
FR2945400B1 (fr) * | 2009-05-05 | 2012-02-17 | St Ericsson Sa St Ericsson Ltd | Procede et dispositif de mise a jour de la date et de l'heure d'un systeme electronique, en particulier un telephone mobile cellulaire |
US8385333B2 (en) * | 2009-06-30 | 2013-02-26 | Intel Corporation | Mechanism for clock synchronization |
WO2012119385A1 (zh) * | 2011-08-11 | 2012-09-13 | 华为技术有限公司 | 对pcie设备进行时间同步的方法、装置和系统 |
JP6205188B2 (ja) * | 2013-06-26 | 2017-09-27 | セイコークロック株式会社 | 電波時計 |
JP6435762B2 (ja) * | 2013-12-26 | 2018-12-12 | カシオ計算機株式会社 | 電子機器、プログラム、及び、日時情報の取得方法 |
-
2016
- 2016-10-13 US US15/292,921 patent/US10162792B2/en active Active
-
2017
- 2017-09-01 CN CN201710781010.7A patent/CN107943736B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201177750Y (zh) * | 2008-04-22 | 2009-01-07 | 杭州电子科技大学 | 一种深海数据采集控制装置 |
CN102023565A (zh) * | 2010-12-15 | 2011-04-20 | 中兴通讯股份有限公司 | 一种输出时间信息的装置及方法 |
US20130307724A1 (en) * | 2011-01-31 | 2013-11-21 | Agency For Defense Development | Apparatus And Method For Generating GPS Time |
CN102591196A (zh) * | 2012-03-30 | 2012-07-18 | 上海鸿晔电子科技有限公司 | 卫星授时系统的网络时钟守时装置 |
WO2014062924A1 (en) * | 2012-10-19 | 2014-04-24 | Schweitzer Engineering Laboratories, Inc. | Time distribution device with multi-band antenna |
CN103076737A (zh) * | 2013-01-04 | 2013-05-01 | 西北工业大学 | 基于乒乓缓冲和消息机制的高精度gps分布式授时方法 |
CN104865824A (zh) * | 2015-04-30 | 2015-08-26 | 苏州科技学院 | 一种基于pci-e总线的北斗b码授时同步装置 |
Non-Patent Citations (1)
Title |
---|
唐彬: "基于PCI-E的嵌入式B码时统终端研究与设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587405A (zh) * | 2018-10-24 | 2019-04-05 | 科大讯飞股份有限公司 | 时间同步方法和装置 |
CN109587405B (zh) * | 2018-10-24 | 2021-03-05 | 科大讯飞股份有限公司 | 时间同步方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107943736B (zh) | 2021-04-23 |
US20180107626A1 (en) | 2018-04-19 |
US10162792B2 (en) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621025B2 (en) | Methods for data acquisition systems in real time applications | |
CN107943736A (zh) | 时间处理设备及包括时间处理设备的数据处理系统 | |
EP3073381A2 (en) | Virtual intelligent platform management interface (ipmi) satellite controller and method | |
US11226745B2 (en) | Optimizing data writes in a distributed computing system | |
US9218199B2 (en) | Identifying thread progress information by monitoring transitions between interesting states | |
CN110352588A (zh) | 用于收集遥测数据的简档 | |
CN110825731A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN110460653A (zh) | 自动驾驶车辆数据传输的方法及装置 | |
CN107636630A (zh) | 中断控制器 | |
US9600232B2 (en) | Aligning FIFO pointers in a data communications lane of a serial link | |
CN101529404B (zh) | 用于时间戳消息的方法 | |
EP3486780A1 (en) | Instruction processing alignment system | |
CA2965283C (en) | Systems and methods of subject state change notification | |
CN112653533A (zh) | 一种复杂系统智能授时管理方法 | |
US8352645B2 (en) | Single point, device driven data transmission for a real time application | |
CN101421791A (zh) | 用于主机和外围设备之间通信的队列深度管理 | |
CN109471862A (zh) | 数据处理方法及装置、电子设备、存储介质 | |
US20120131404A1 (en) | Providing An On-Die Logic Analyzer (ODLA) Having Reduced Communications | |
US9678852B2 (en) | Tracing the operations of a data processing apparatus using trace data source identifiers to respond to flush requests | |
US10396944B2 (en) | Low latency corrupt data tagging on a cross-chip link | |
EP3486777A1 (en) | Message synchronization system | |
US8156295B2 (en) | Four-slot asynchronous communication mechanism with decreased latency | |
CN102770818A (zh) | 用于存档网络数据的方法、系统和设备 | |
Meyer et al. | Design and implementation of Linux drivers for National Instruments IEEE 1588 Timing and General I/O cards | |
JP2010257035A (ja) | コンピュータ |
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 |