CN110708133B - 一种基于fpga的***内时钟同步和时间同步的方法及装置 - Google Patents
一种基于fpga的***内时钟同步和时间同步的方法及装置 Download PDFInfo
- Publication number
- CN110708133B CN110708133B CN201910936938.7A CN201910936938A CN110708133B CN 110708133 B CN110708133 B CN 110708133B CN 201910936938 A CN201910936938 A CN 201910936938A CN 110708133 B CN110708133 B CN 110708133B
- Authority
- CN
- China
- Prior art keywords
- clock
- time
- subsystem
- reference clock
- synchronization
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本申请公开了一种基于FPGA的***内时钟同步和时间同步的方法及装置,该方法包括:通过FPGA接收主子***发送的参考时钟,并输出与所述参考时钟同频的第一时钟,以更新从子***的***时钟;基于与所述参考时钟同频的第一时钟进行比特信息的采样,并解析所述采样的比特信息对应的数据帧;根据所述解析后的数据帧提取出所述主子***的***时间;在所述主子***的***时间的基础上加上线路延迟时间后,输出与所述主子***的***时间实时同步的第一时间,以更新所述从子***的***时间。本申请实现了***时钟同步和***时间同步,且实现方法简单可靠。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种基于FPGA的***内时钟同步和时间同步的方法及装置。
背景技术
随着通信技术的不断发展,在通信***内部的多个子***之间都需要实现时钟同步和时间同步的功能。目前,有些***内的时钟同步和时间同步是通过不同的路径实现的;还有些***内只能实现时钟同步和时间同步中的其中一种。但是,现有的***内时间同步的实现过程较为复杂,且其内部的子***之间的管脚和连线较多,增加了***设计的硬件成本。
目前,FPGA(Field Programmable Gate Array)技术在通信技术领域已经得到了广泛的应用,很多通信***内均包含有FPGA电路模块,因此,本申请采用FPGA来实现时钟同步和时间同步。
发明内容
本申请实施例提供一种基于FPGA的***内时钟同步和时间同步的方法及装置,以解决现有技术中各个子***之间的管脚和连线较多,且不能同时实现***时钟同步和时间同步的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,本申请实施例提供了一种基于FPGA的***内时钟同步和时间同步的方法,所述方法包括:
通过FPGA接收主子***发送的参考时钟,并输出与所述参考时钟同频的第一时钟,以更新从子***的***时钟;
基于与所述参考时钟同频的第一时钟进行比特信息的采样,并解析所述采样的比特信息对应的数据帧;
根据所述解析后的数据帧提取出所述主子***的***时间;
在所述主子***的***时间的基础上加上线路延迟时间后,输出与所述主子***的***时间实时同步的第一时间,以更新所述从子***的***时间。
优选地,所述参考时钟是以预设码型由所述主子***通过FPGA以预设码型串行发送的***时钟。
优选地,所述通过FPGA接收主子***发送的参考时钟,并输出与所述参考时钟同频的第一时钟,具体包括:
通过D触发器接收所述主子***发送的参考时钟,并通过锁相环PLL倍频后输出与所述参考时钟同频的第一时钟。
优选地,所述基于与所述参考时钟同频的第一时钟进行比特信息的采样,具体包括:
基于与所述参考时钟同频的第一时钟确定所述第一时钟的上升沿以及所述上升沿的相位;
采集所述上升沿的相位后四位的中间位置所对应的比特信息。
优选地,所述解析所述采样的比特信息对应的数据帧,具体包括:
在所述比特信息对应的数据帧中进行帧头的搜索,并基于所述帧头,解析所述帧头对应的帧。
优选地,所述根据所述解析后的数据帧提取出所述主子***的***时间之前,所述方法还包括:
在所述帧的帧尾添加CRC校验码,以判断是否从所述帧中提取出所述主子***的***时间。
第二方面,本申请实施例还提供了一种基于FPGA的***内时钟同步和时间同步的装置,所述装置包括:
时钟同步模块,用于通过FPGA接收主子***发送的参考时钟,并输出与所述参考时钟同频的第一时钟,以更新从子***的***时钟;
时间采样模块,用于基于与所述参考时钟同频的第一时钟进行帧信息的采样,并解析所述采样的帧信息;
时间提取模块,用于根据所述解析后的帧信息提取出所述主子***的***时间;
时间同步模块,用于在所述主子***的***时间的基础上加上线路延迟时间后,输出与所述主子***的***时间实时同步的第一时间,以更新所述从子***的***时间。
优选地,所述时钟同步模块,具体用于:
通过D触发器接收所述主子***发送的参考时钟,并通过锁相环PLL倍频后输出与所述参考时钟同频的第一时钟。
优选地,所述时间采样模块,具体用于:
基于与所述参考时钟同频的第一时钟确定所述第一时钟的上升沿以及所述上升沿的相位;
采集所述上升沿的相位后四位的中间位置所对应的比特信息。
优选地,所述时间采样模块,具体用于:
在所述比特信息对应的数据帧中进行帧头的搜索,并基于所述帧头,解析所述帧头对应的帧。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在本申请实施例中,首先,从子***通过FPGA接收到主子***发送的参考时钟,输出与该参考时钟同频的第一时钟,以更新从子***的***时钟;然后,基于与该参考时钟同频的第一时钟进行帧信息的采样,并解析采样的帧信息;紧接着,从解析后的帧信息中提取出主子***的***时间;最后,在主子***的***时间的基础上加上线路延迟时间后,输出与主子***的***时间实时同步的第一时间,以更新从子***的***时间。本申请通过FPGA发送和接收***时钟和***时间即可同时实现主子***和从子***之间的时钟同步和时间同步,而且时钟同步和时间同步的实现方法也很简单可靠。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种基于FPGA的***内时钟同步和时间同步的方法的流程示意图;
图2为本申请实施例提供的通信***内部主子***和多个从子***之间的连接示意图;
图3为本申请实施例提供的从子***的***时钟生成示意图;
图4为本申请实施例提供的从子***的搜帧示意图;
图5为本申请实施例提供的一种基于FPGA的***内时钟同步和时间同步的装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
为解决现有技术中各个子***之间的管脚和连线较多,且不能同时实现***时钟同步和时间同步的问题,本申请实施例1提供了一种基于FPGA的***内时钟同步和时间同步的方法。
为便于描述本申请实施例1,以下详细说明均以本申请的一种基于FPGA的***内时钟同步和时间同步的方法的执行主体为通信***内部的多个从子***为例,对本申请的一种基于FPGA的***内时钟同步和时间同步的方法进行介绍。
请参见说明书附图1,图1为本申请实施例1提供的一种基于FPGA的***内时钟同步和时间同步的方法的流程示意图,该方法具体包括如下步骤:
步骤11:通过FPGA接收主子***发送的参考时钟,并输出与所述参考时钟同频的第一时钟,以更新从子***的***时钟;
需要说明的是,通信***内部可以有一个主子***和一个/多个从子***。主子***和每个从子***内均包含有FPGA电路模块,该FPGA电路模块可应用于处理***时钟和***时间。
如图2所示为本申请实施例提供的通信***内部主子***和多个从子***之间的连接示意图。
本申请实施例中,主子***与每个从子***之间仅仅通过一根通信连线连接,且主子***仅通过一个管脚便可以将输出信号分成多路信号后分别发送给每个子***,从而能够最大化地减少各个子***之间的管脚和连线的数量,进而能够节省***设计的硬件成本。
需要说明的是,在网络的数据通信中,网络设备先将“位”组成一个个的字节,然后将这些字节封装成帧,最后在网络上以帧为传送单位进行数据传输,可以保证数据传输的可靠性。
其中,“位”也称为“比特(bit)”或“信息量”,是指在网络中传输的数据流。在二进制数***中,每个0或1就是一个位,位是数据存储的最小单位。
字节(Byte)是用于计量存储容量和传输容量的一种计量单位,一个字节等于八位二进制,即1Byte=8bit。八位二进制数最小为00000000,最大为11111111。
帧(Frame)是当计算机进行数据传输时产生的,即数据在网络上是以帧为单位进行传输的。一帧可以为任意字节数,技术人员可以根据实际应用场景进行适应性定义。
本申请实施例中,在一种实施方式中,所述参考时钟是以预设码型由所述主子***通过FPGA以预设码型串行发送的***时钟。
本申请实施例中,若主子***想要发送一bit信息给从子***,首先需要通过一个预设码型发出。在一个例子中,假设一bit信息的预设码型为0011xxxx,则主子***通过FPGA按照从左往右的顺序将以隐含***时钟的码型为0011xxxx的一bit信息串行发送给从子***。
需要说明的是,FPGA内部包含有D触发器、I/O驱动引脚、锁相环PLL(Phase LockedLoop)等。其中,锁相环PLL可以完成时钟高精度、低抖动的倍频和分频等功能。
本申请实施例中,在一种实施方式中,通过FPGA接收主子***发送的参考时钟,并输出与所述参考时钟同频的第一时钟,具体包括:
通过D触发器接收所述主子***发送的参考时钟,并通过锁相环PLL倍频后输出与所述参考时钟同频的第一时钟。
在一个例子中,基于上述例子中一bit信息的预设码型为0011xxxx,为8拍,由于该bit信息的前4拍固定为0011,其中间位置含有一个上升沿(0→1),而后4拍为重复的一个bit x,因此,每8拍的一bit信息中必包含一个上升沿,且该上升沿的频率为***时钟频率的1/8倍。即当***时钟频率为125M时,上升沿的频率为15.625M。
如图3所示为本申请实施例提供的从子***的***时钟生成示意图。
在一个例子中,基于上述例子中一bit信息的预设码型为0011xxxx,从子***通过FPGA的D触发器上的时钟管脚CLK接收主子***以预设码型0011xxxx发送来的一bit信息,D触发器的反向输出端与输入端D相连,那么在该8拍bit信息的上升沿之后,反向输出端Q都会进行一次翻转,这样使得反向输出端输出的时钟频率为15.625M/2=7.8125M,即通过D触发器输出了频率为***时钟频率的1/16倍的时钟。紧接着,将该时钟从FPGA的锁相环PLL的时钟输入管脚CLKIN,由于该锁相环PLL可以实现输出高频且稳定的时钟信号,因此,将该时钟的频率倍频16倍后输出的时钟频率为125M,与主子***的***时钟完全同频,也就是从子***的***时钟更新为主子***发送的参考时钟,即主子***和从子***之间完成了时钟同步。
步骤12:基于与所述参考时钟同频的第一时钟进行比特信息的采样,并解析所述比特信息对应的数据帧。
本申请实施例中,在一种实施方式中,基于与所述参考时钟同频的第一时钟进行比特信息的采样,具体包括:
基于与所述参考时钟同频的第一时钟确定所述第一时钟的上升沿以及所述上升沿的相位;
采集所述上升沿的相位后四位的中间位置所对应的比特信息。
在一个例子中,基于上述例子中一bit信息的预设码型为0011xxxx,当从子***采集到该预设码型中0011中间位置的上升沿时,便可以知晓该上升沿后面必定包含某个bit重复4拍的xxxx信息,而且根据该上升沿可以确定出该上升沿在该比特信息中的相位。基于该上升沿的相位向后延四位,就是xxxx的中间位置,也就是第5拍,这样就可以可靠的采集到该比特信息。其中,该比特信息以帧的形式进行传输。
需要说明的是,所述数据帧(Data frame)是物理网络传输过程中的一种固定模式,所有的待传输的信息都会被封装到有固定格式的帧内,并进行发送。数据帧包括三个部分,分别为帧头、数据部分、帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如用户自定义的任意格式的帧等。
本申请实施例中,在一种实施方式中,解析所述比特信息对应的数据帧,具体包括:
在所述比特信息对应的数据帧中进行帧头的搜索,并基于所述帧头,解析所述帧头对应的帧。
需要说明的是,主子***发送的信息都是按照固定的帧格式发送的,帧格式中有一个特定的帧头,帧头与帧中其它字节有固定的区别标志。
如图4所示为本申请实施例提供的从子***的搜帧示意图。
在一个例子中,帧头为10个bit的固定二进制1(8个bit扩增为10个bit),也即二进制11_1111_1111(其中涉及到的下划线是起分隔作用的,没有其它含义,下述同)。那么,除该帧头以外的其它字节,如原先是8个bit的一字节(b7b6b7b4_b3b2b1b0),在其最高位之上,固定加上两个二进制0,成为00_b7b6b7b4_b3b2b1b0(其中,每一位bn代表1个二进制bit),即加上两个0后,该8个bit的字节就变为了10个bit;其它字节同理。
需要说明的是,这里的每一个bit都是按照前述的8拍预设码型发送的。也即先发送b0,再发送b1,也就是主子***向从子***从左往右发送0011b0b0b0b0,0011b1b1b1b1。这样一来,任何非帧头的地方都不可能出现连续10个bit的二进制1。因此,当从子***在数据帧中搜索到连续10个bit的二进制1时,说明从子***搜索到了该数据帧的帧头,进而能够解析出该帧头对应的帧。
需要说明的是,主子***可以按照低位先发送,高位后发送的串行发送方式将比特信息对应的数据帧发送给从子***。也可以按照相反的顺序发送,只要主、从子***之间传输的信息一致即可,对此本申请实施例中不作具体限定。
步骤13:根据所述解析后的数据帧提取出所述主子***的***时间。
本申请实施例中,根据所述解析后的数据帧提取出所述主子***的***时间,具体包括:从上述解析出的与帧头对应的帧中提取出主子***的***时间。
本申请实施例中,主子***发送数据帧时,在发出帧头的时刻便所存下当时的***时间,并将实时的***时间放入数据帧中一并发送给从子***。因此,当从子***接收完一帧时,可以从该帧中提取出其中的***时间。
本申请实施例中,在一种实施方式中,根据所述解析后的数据帧提取出所述主子***的***时间之前,所述方法还包括:
在所述帧的帧尾添加CRC校验码,以判断是否从所述帧中提取出所述主子***的***时间。
本申请实施例中,为了保证传输数据的可靠性,可以在帧尾加上CRC校验码。若该帧通过了CRC校验,则从子***从该帧中提取出***时间;若该帧没有通过CRC校验,则从子***将该帧丢弃掉。
步骤14:在所述主子***的***时间的基础上加上线路延迟时间后,输出与所述主子***的***时间实时同步的第一时间,以更新所述从子***的***时间。
本申请实施例中,所述线路延迟时间,实际上就是主子***到从子***的连线延迟时间加上一帧数据的发送时间,两者是可以精确计算的,即是固定的。
本申请实施例中,在从子***提取出的***时间的基础上加上线路延迟时间后,即得到了当前主子***真正的***时间,然后用该***时间更新从子***的***时间。也就是从子***的***时间更新为主子***实时的***时间,即主子***和从子***之间完成了时间同步。
本申请实施例中,在***时间更新的时刻,从子***就得到了主子***的***时间。对于***时间更新时刻之外的其余时间,从子***和主子***一样,都可以用***时钟来驱动***时间的自加,由于125M的周期为8ns,故每1拍加8ns。而由于主子***和从子***有同步的***时钟,故***时间的自加也是完全一样的速度,因而主子***和从子***也达到了同步的***时间。
需要说明的是,如果主子***的***时间不是由自身的***时钟自加产生的,而是由上游传送给它的,依然可以按前面描述的方法,通过重复不断的数据帧将***时间发送给从子***,此处不再赘述。在上游没更新***时间时,主子***和从子***也都依靠***时钟自加来维持***时间,从而达到***时间的同步。
由上述实施例可见,本申请实施例中,从子***通过FPGA接收到主子***发送的参考时钟,输出与该参考时钟同频的第一时钟,以更新从子***的***时钟,完成了***时钟的同步。基于与该参考时钟同频的第一时钟进行比特信息的采样,并解析所述比特信息对应的数据帧;再从解析后的数据帧中提取出主子***的***时间;最后,在主子***的***时间的基础上加上线路延迟时间后,输出与主子***的***时间实时同步的第一时间,以更新从子***的***时间,完成了***时间的同步。本申请通过FPGA发送和接收***时钟和***时间即可同时实现主子***和从子***之间的时钟同步和时间同步,而且时钟同步和时间同步的实现方法也很简单可靠。
实施例2
为解决现有技术中各个子***之间的管脚和连线较多,且不能同时实现***时钟同步和时间同步的问题,本申请实施例2提供了一种基于FPGA的***内时钟同步和时间同步的装置50。
请参见说明书附图5,图5为本发明实施例2所提供的一种基于FPGA的***内时钟同步和时间同步的装置的结构示意图。
该装置具体包括如下模块:时钟同步模块51、时间采样模块52、时间提取模块53、时间同步模块54。
以下具体介绍下各模块的功能:
时钟同步模块51,用于通过FPGA接收主子***发送的参考时钟,并输出与所述参考时钟同频的第一时钟,以更新从子***的***时钟;
时间采样模块52,用于基于与所述参考时钟同频的第一时钟进行比特信息的采样,并解析所述采样的比特信息对应的数据帧;
时间提取模块53,用于根据所述解析后的数据帧提取出所述主子***的***时间;
时间同步模块54,用于在所述主子***的***时间的基础上加上线路延迟时间后,输出与所述主子***的***时间实时同步的第一时间,以更新所述从子***的***时间。
本申请实施例中,在一种实施方式中,所述参考时钟是以预设码型由所述主子***通过FPGA以预设码型串行发送的***时钟。
本申请实施例中,在一种实施方式中,所述时钟同步模块51,具体用于:
通过D触发器接收所述主子***发送的参考时钟,并通过锁相环PLL倍频后输出与所述参考时钟同频的第一时钟。
本申请实施例中,在一种实施方式中,所述时间采样模块52,具体用于:
基于与所述参考时钟同频的第一时钟确定所述第一时钟的上升沿以及所述上升沿的相位;
采集所述上升沿的相位后四位的中间位置所对应的比特信息。
本申请实施例中,在一种实施方式中,所述时间采样模块52,具体用于:
在所述比特信息对应的数据帧中进行帧头的搜索,并基于所述帧头,解析所述帧头对应的帧。
本申请实施例中,在一种实施方式中,在所述时间提取模块53用于根据所述解析后的数据帧提取出所述主子***的***时间之前,所述装置还包括:
数据帧校验模块,用于在所述帧的帧尾添加CRC校验码,以判断是否从所述帧中提取出所述主子***的***时间。
由上述实施例可见,本申请实施例中,从子***通过FPGA接收到主子***发送的参考时钟,输出与该参考时钟同频的第一时钟,以更新从子***的***时钟,完成了***时钟的同步。基于与该参考时钟同频的第一时钟进行比特信息的采样,并解析所述比特信息对应的数据帧;再从解析后的数据帧中提取出主子***的***时间;最后,在主子***的***时间的基础上加上线路延迟时间后,输出与主子***的***时间实时同步的第一时间,以更新从子***的***时间,完成了***时间的同步。本申请通过FPGA发送和接收***时钟和***时间即可同时实现主子***和从子***之间的时钟同步和时间同步,而且时钟同步和时间同步的实现方法也很简单可靠。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种基于FPGA的***内时钟同步和时间同步的方法,其特征在于,包括:
通过FPGA接收主子***发送的参考时钟,并输出与所述参考时钟同频的第一时钟,以更新从子***的***时钟;其中,所述参考时钟是由所述主子***通过FPGA以预设码型0011xxxx串行发送的***时钟,所述预设码型0011xxxx用于发送比特信息x;
基于与所述参考时钟同频的第一时钟进行比特信息的采样,并解析所述采样的比特信息对应的数据帧;
根据所述解析后的数据帧提取出所述主子***的***时间;
在所述主子***的***时间的基础上加上线路延迟时间后,输出与所述主子***的***时间实时同步的第一时间,以更新所述从子***的***时间。
2.如权利要求1所述的方法,其特征在于,所述通过FPGA接收主子***发送的参考时钟,并输出与所述参考时钟同频的第一时钟,具体包括:
通过D触发器接收所述主子***发送的参考时钟,并通过锁相环PLL倍频后输出与所述参考时钟同频的第一时钟。
3.如权利要求1所述的方法,其特征在于,所述基于与所述参考时钟同频的第一时钟进行比特信息的采样,具体包括:
基于与所述参考时钟同频的第一时钟确定所述第一时钟的上升沿以及所述上升沿的相位;
采集所述上升沿的相位后四位的中间位置所对应的比特信息。
4.如权利要求3所述的方法,其特征在于,所述解析所述采样的比特信息对应的数据帧,具体包括:
在所述比特信息对应的数据帧中进行帧头的搜索,并基于所述帧头,解析所述帧头对应的帧。
5.如权利要求4所述的方法,其特征在于,所述根据所述解析后的数据帧提取出所述主子***的***时间之前,所述方法还包括:
在所述帧的帧尾添加CRC校验码,以判断是否从所述帧中提取出所述主子***的***时间。
6.一种基于FPGA的***内时钟同步和时间同步的装置,其特征在于,包括:
时钟同步模块,用于通过FPGA接收主子***发送的参考时钟,并输出与所述参考时钟同频的第一时钟,以更新从子***的***时钟;其中,所述参考时钟是由所述主子***通过FPGA以预设码型0011xxxx串行发送的***时钟,所述预设码型0011xxxx用于发送比特信息x;
时间采样模块,用于基于与所述参考时钟同频的第一时钟进行比特信息的采样,并解析所述采样的比特信息对应的数据帧;
时间提取模块,用于根据所述解析后的数据帧提取出所述主子***的***时间;
时间同步模块,用于在所述主子***的***时间的基础上加上线路延迟时间后,输出与所述主子***的***时间实时同步的第一时间,以更新所述从子***的***时间。
7.如权利要求6所述的装置,其特征在于,所述时钟同步模块,具体用于:
通过D触发器接收所述主子***发送的参考时钟,并通过锁相环PLL倍频后输出与所述参考时钟同频的第一时钟。
8.如权利要求6所述的装置,其特征在于,所述时间采样模块,具体用于:
基于与所述参考时钟同频的第一时钟确定所述第一时钟的上升沿以及所述上升沿的相位;
采集所述上升沿的相位后四位的中间位置所对应的比特信息。
9.如权利要求8所述的装置,其特征在于,所述时间采样模块,具体用于:
在所述比特信息对应的数据帧中进行帧头的搜索,并基于所述帧头,解析所述帧头对应的帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910936938.7A CN110708133B (zh) | 2019-09-29 | 2019-09-29 | 一种基于fpga的***内时钟同步和时间同步的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910936938.7A CN110708133B (zh) | 2019-09-29 | 2019-09-29 | 一种基于fpga的***内时钟同步和时间同步的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110708133A CN110708133A (zh) | 2020-01-17 |
CN110708133B true CN110708133B (zh) | 2021-07-27 |
Family
ID=69196915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910936938.7A Active CN110708133B (zh) | 2019-09-29 | 2019-09-29 | 一种基于fpga的***内时钟同步和时间同步的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110708133B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111224734B (zh) * | 2020-04-16 | 2020-07-17 | 成都坤恒顺维科技股份有限公司 | 一种大规模采集阵列的同步*** |
CN113381831A (zh) * | 2021-05-12 | 2021-09-10 | 聚融医疗科技(杭州)有限公司 | 多片fpga的收发同步方法、***和超声控制设备 |
CN113377060B (zh) * | 2021-08-13 | 2021-11-09 | 成都博宇利华科技有限公司 | 信号采集***中获取每个采样点采样时刻的方法 |
CN117812197B (zh) * | 2024-02-27 | 2024-05-28 | 武汉精立电子技术有限公司 | 时间同步方法及图像信号发生装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026448A (zh) * | 2006-02-23 | 2007-08-29 | 中兴通讯股份有限公司 | 一种同步通信***时钟再生方法及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4878648B2 (ja) * | 2010-03-12 | 2012-02-15 | 日本電信電話株式会社 | クライアント信号収容多重装置及び方法 |
CN107171762B (zh) * | 2017-05-09 | 2019-04-02 | 烽火通信科技股份有限公司 | 一种1pps+tod信息单总线传送同步***及方法 |
CN108111245B (zh) * | 2017-09-15 | 2019-05-07 | 浙江大学 | 光纤传输通道时钟同步***及其方法 |
CN108768577B (zh) * | 2018-08-27 | 2020-02-18 | 武汉中元通信股份有限公司 | 一种基于ptp时间同步信号的通信网络授时方法及*** |
-
2019
- 2019-09-29 CN CN201910936938.7A patent/CN110708133B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026448A (zh) * | 2006-02-23 | 2007-08-29 | 中兴通讯股份有限公司 | 一种同步通信***时钟再生方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN110708133A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110708133B (zh) | 一种基于fpga的***内时钟同步和时间同步的方法及装置 | |
US7007208B1 (en) | Systems and methods for data unit modification | |
CN109669899B (zh) | 自适应调节串口通信波特率的方法及串口装置 | |
CN106936531B (zh) | 一种多片基于jesd204b协议adc的同步方法 | |
WO2021238724A1 (zh) | 一种时间戳信息传输方法、装置、设备和存储介质 | |
US20220360350A1 (en) | Method and apparatus for acquiring timestamp of data stream, storage medium, and electronic apparatus | |
CN100354798C (zh) | 预处理公共格式中央处理输入或输出信号的方法及设备 | |
CN116795172B (zh) | 一种用于高速数字传输的跨时钟域处理方法、介质及装置 | |
CN116795765B (zh) | 一种用于高速数据传输的数据对齐方法及装置 | |
CN111988104B (zh) | 多路数据同步传输方法、装置、数据端设备、***和介质 | |
CN112506841A (zh) | 一种串行数据恢复方法、接口及电子设备 | |
CN110868458B (zh) | 一种用于稳定控制***的通信方法及装置 | |
CN113037667B (zh) | 一种基于fpga的数据信号恢复方法 | |
CN112838860B (zh) | 数据输出方法、装置和*** | |
Ronconi et al. | Multi-cobs: A novel algorithm for byte stuffing at high throughput | |
CN114528998B (zh) | 用于量子测控***的多板卡信号同步方法、设备及介质 | |
CN107517094B (zh) | 基于fpga的s模式二次雷达情报服务器及其工作方法 | |
CN102754407B (zh) | 串行接收机及其方法与通信*** | |
CN112114615B (zh) | 一种跨时钟域数据同步电路、方法及设备 | |
CN114301991B (zh) | 通信方法、设备、***及计算机可读存储介质 | |
CN102332975A (zh) | 一种接口自适应采样方法和装置 | |
CN107925557B (zh) | 用于数据流的速率适配版本的识别码字 | |
CN104735824A (zh) | 数据处理*** | |
CN1798014B (zh) | 一种循环冗余编码定帧方法 | |
US7043495B1 (en) | Techniques for JEDEC file information integrity and preservation of device programming specifications |
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 |