CN104834622B - 通过rs232接口进行多个设备时间同步的方法及装置 - Google Patents
通过rs232接口进行多个设备时间同步的方法及装置 Download PDFInfo
- Publication number
- CN104834622B CN104834622B CN201510148206.3A CN201510148206A CN104834622B CN 104834622 B CN104834622 B CN 104834622B CN 201510148206 A CN201510148206 A CN 201510148206A CN 104834622 B CN104834622 B CN 104834622B
- Authority
- CN
- China
- Prior art keywords
- time
- equipment
- control module
- local clock
- clock
- 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
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
- 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/0002—Serial port, e.g. RS232C
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
Abstract
本发明提出了一种通过RS232接口进行多个设备时间同步的方法及装置,方法包括:初始化;时间同步控制模块每隔第一设定时间发送时钟时间校正命令,将其内的时间设置为本地时钟时间;再次命令,分别记录各设备的本地时间与当前时钟时间校正命令的时间差值,设置本地时钟时间;计算各设备的中断补偿时间和本地时钟时间;每隔第二设定时间发送本地时钟时间命令,将其内的本地时钟时间与时间同步控制模块的时钟对比,得到各设备的时间偏差调整值;重设本地时钟时间,当本地时钟时间与时间同步控制模块的时钟方向一致时,同步完成。实施本发明的通过RS232接口进行多个设备时间同步的方法及装置,具有以下有益效果:线路结构简单、使用方便。
Description
技术领域
本发明涉及设备同步领域,特别涉及一种通过RS232接口进行多个设备时间同步的方法及装置。
背景技术
在生产自动化、测量、控制过程以及通讯等应用中,多个设备之间需要进行时间同步才能正常工作。目前,常用的时间同步方法有两种:一种是通过全球定位系统(GPS,Global Positioning System)进行时间同步,另一种是通过以太网接口,使用IEEE1588协议进行时间同步。如果通过GPS进行时间同步,则设备需要相应的GPS接口及GPS接收设备。如果通过IEEE1588协议进行时间同步,则设备需要具有网络接口。在一些情况下,例如:无法接收到GPS信号,或者设备对价格敏感,无法配置GPS接口及GPS接口设备,或者不具有网络接口,则需要其他方法进行设备之间的时间同步。这样就会造成线路结构复杂,造成使用不便。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述线路结构复杂、使用不便的缺陷,提供一种线路结构简单、使用方便的通过RS232接口进行多个设备时间同步的方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种通过RS232接口进行多个设备时间同步的方法,应用于时间同步系统,所述时间同步系统包括时间同步控制模块和多个设备,所述时间同步控制模块设有多个RS232接口,所述时间同步控制模块通过所述RS232接口与每个设备连接,所述方法包括如步骤:
A)启动所述时间同步控制模块和各个设备;
B)所述时间同步控制模块同时向各个设备发送初始化命令,所述各个设备初始化后向所述时间同步控制模块发送初始化完成命令;
C)所述时间同步控制模块每隔第一设定时间同时向所述各个设备发送时钟时间校正命令,所述各个设备接收所述时钟时间校正命令后,将所述时钟时间校正命令内包含的时间设置为本地时钟时间;
D)所述各个设备再次接收所述时钟时间校正命令,同时分别记录各个设备的本地时间与当前时钟时间校正命令内包含的时间之间的差值,然后将所述当前时钟时间校正命令内包含的时间设置为本地时钟时间;
E)判断所述各个设备接收所述时钟时间校正命令的次数是否达到设定次数,如是,执行步骤F);否则,返回步骤D);
F)根据所述差值计算所述各个设备的中断补偿时间,并计算所述各个设备的本地时钟时间;
G)所述各个设备每隔第二设定时间分别向所述时间同步控制模块发送本地时钟时间命令,所述时间同步控制模块将所述本地时钟时间命令内包含的所述各个设备的本地时钟时间与其自身的时钟时间进行对比,得到所述各个设备的时间偏差调整值并将其发送给相应的设备;
H)所述各个设备依据其时间偏差调整值,重新设置其本地时钟时间并将其发送给所述时间同步控制模块,当所述时间同步控制模块检测到各个设备的本地时钟时间与所述时间同步控制模块的时钟方向一致时,则时间同步过程完成。
在本发明所述的通过RS232接口进行多个设备时间同步的方法中,在所述步骤B)中,所述各个设备初始化是对时间同步相关参数进行初始化。
在本发明所述的通过RS232接口进行多个设备时间同步的方法中,所述步骤F)进一步包括:
F1)所述各个设备根据记录的所有所述差值,计算各个设备的中断补偿时间;
F2)将所述各个设备的中断补偿时间与当前时钟时间校正命令内包含的时间相加,得到所述各个设备的本地时钟时间。
在本发明所述的通过RS232接口进行多个设备时间同步的方法中,所述步骤G)进一步包括:
G1)所述各个设备每隔第二设定时间读取其本地时钟时间,将其包含在本地时钟时间命令内,并将所述本地时钟时间命令发送给所述时间同步控制模块;
G2)所述时间同步控制模块接收所述各个设备的本地时钟时间命令,并取出所述本地时钟时间命令内包含的各个设备的本地时钟时间;
G3)将所述各个设备的本地时钟时间与所述时间同步控制模块的时钟时间相比,检测所述各个设备的本地时钟时间是超前或者滞后所述时间同步控制模块的时钟时间;
G4)所述时间同步控制模块根据对所述各个设备的本地时钟时间命令的检测,计算各个设备的时间偏差调整值,同时将所述各个设备的时间偏差调整值包含在时钟偏差方向调整命令中,并将所述时钟偏差方向调整命令发送给相应的设备。
在本发明所述的通过RS232接口进行多个设备时间同步的方法中,所述步骤H)进一步包括:
H1)所述各个设备接收到所述时钟偏差方向调整命令后,从中取出所述各个设备的时间偏差调整值,根据所述时间偏差调整值重新设置其本地时钟时间,并将本地时钟时间命令发送给所述时间同步控制模块;
H2)所述时间同步控制模块接收所述本地时钟时间命令后,检测到各个设备的本地时钟时间和所述时间同步控制模块的时钟超前或滞后的方向一致,则时间同步过程完成。
本发明还涉及一种实现上述通过RS232接口进行多个设备时间同步的方法的装置,应用于时间同步系统,所述时间同步系统包括时间同步控制模块和多个设备,所述时间同步控制模块设有多个RS232接口,所述时间同步控制模块通过所述RS232接口与每个设备连接,所述装置包括:
启动单元:用于启动所述时间同步控制模块和各个设备;
初始化单元:用于使所述时间同步控制模块同时向各个设备发送初始化命令,所述各个设备初始化后向所述时间同步控制模块发送初始化完成命令;
时钟时间校正单元:用于使所述时间同步控制模块每隔第一设定时间同时向所述各个设备发送时钟时间校正命令,所述各个设备接收所述时钟时间校正命令后,将所述时钟时间校正命令内包含的时间设置为本地时钟时间;
差值记录单元:用于使所述各个设备再次接收所述时钟时间校正命令,同时分别记录各个设备的本地时间与当前时钟时间校正命令内包含的时间之间的差值,然后将所述当前时钟时间校正命令内包含的时间设置为本地时钟时间;
命令接收次数判断单元:用于判断所述各个设备接收所述时钟时间校正命令的次数是否达到设定次数;
本地时钟时间计算单元:用于根据所述差值计算所述各个设备的中断补偿时间,并计算所述各个设备的本地时钟时间;
时间偏差调整单元:用于使所述各个设备每隔第二设定时间分别向所述时间同步控制模块发送本地时钟时间命令,所述时间同步控制模块将所述本地时钟时间命令内包含的所述各个设备的本地时钟时间与其自身的时钟时间进行对比,得到所述各个设备的时间偏差调整值并将其发送给相应的设备;
时钟方向检测单元:用于使所述各个设备依据其时间偏差调整值,重新设置其本地时钟时间并将其发送给所述时间同步控制模块,当所述时间同步控制模块检测到各个设备的本地时钟时间与所述时间同步控制模块的时钟方向一致时,则时间同步过程完成。
在本发明所述的装置中,在所述初始化单元中,所述各个设备初始化是对时间同步相关参数进行初始化。
在本发明所述的装置中,所述本地时钟时间计算单元进一步包括:
中断补偿时间计算模块:用于使所述各个设备根据记录的所有所述差值,计算各个设备的中断补偿时间;
相加模块:用于将所述各个设备的中断补偿时间与当前时钟时间校正命令内包含的时间相加,得到所述各个设备的本地时钟时间。
在本发明所述的装置中,所述时间偏差调整单元进一步包括:
本地时钟时间命令发送模块:用于使所述各个设备每隔第二设定时间读取其本地时钟时间,将其包含在本地时钟时间命令内,并将所述本地时钟时间命令发送给所述时间同步控制模块;
本地时钟时间命令接收模块:用于使所述时间同步控制模块接收所述各个设备的本地时钟时间命令,并取出所述本地时钟时间命令内包含的各个设备的本地时钟时间;
对比模块:用于将所述各个设备的本地时钟时间与所述时间同步控制模块的时钟时间相比,检测所述各个设备的本地时钟时间是超前或者滞后所述时间同步控制模块的时钟时间;
时钟偏差方向调整命令发送模块:用于使所述时间同步控制模块根据对所述各个设备的本地时钟时间命令的检测,计算各个设备的时间偏差调整值,同时将所述各个设备的时间偏差调整值包含在时钟偏差方向调整命令中,并将所述时钟偏差方向调整命令发送给相应的设备。
在本发明所述的装置中,所述时钟方向检测单元进一步包括:
本地时钟时间设置模块:用于使所述各个设备接收到所述时钟偏差方向调整命令后,从中取出所述各个设备的时间偏差调整值,根据所述时间偏差调整值重新设置其本地时钟时间,并将本地时钟时间命令发送给所述时间同步控制模块;
方向检测模块:用于当所述时间同步控制模块接收所述本地时钟时间命令后,检测到各个设备的本地时钟时间和所述时间同步控制模块的时钟超前或滞后的方向一致,则时间同步过程完成。
实施本发明的通过RS232接口进行多个设备时间同步的方法及装置,具有以下有益效果:由于时间同步控制模块使用RS232接口连接设备,这样就使得在无法访问GPS信号、无GPS接收接口及设备、以及没有网络接口的设备上,可以方便的使用实现设备时间同步,同于由于仅使用时间同步控制模块,其实现所需要的硬件简单,所以其线路结构简单、使用方便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明通过RS232接口进行多个设备时间同步的方法及装置一个实施例中时间同步系统的结构示意图;
图2为所述实施例中通过RS232接口进行多个设备时间同步的方法的流程图;
图3为所述实施例中根据差值计算所述各个设备的中断补偿时间,并计算各个设备的本地时钟时间的具体流程图;
图4为所述实施例中各个设备每隔第二设定时间分别向时间同步控制模块发送本地时钟时间命令,时间同步控制模块将本地时钟时间命令内包含的各个设备的本地时钟时间与其自身的时钟时间进行对比,得到各个设备的时间偏差调整值并将其发送给相应的设备的具体流程图;
图5为所述实施例中各个设备依据其时间偏差调整值,重新设置其本地时钟时间并将其发送给时间同步控制模块,当时间同步控制模块检测到各个设备的本地时钟时间与时间同步控制模块的时钟方向一致时,则时间同步过程完成的具体流程图;
图6为所述实施例中装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明通过RS232接口进行多个设备时间同步的方法及装置实施例中,该通过RS232接口进行多个设备时间同步的方法应用于时间同步系统,图1为本实施例中时间同步系统的结构示意图。图1中,该时间同步系统包括时间同步控制模块和多个设备,时间同步控制模块设有多个RS232接口,时间同步控制模块通过RS232接口与每个设备连接。时间同步控制模块与设备之间的RS232连接仅使用TX、RX信号从时间同步控制模块传输数据到设备,或从设备接收数据到时间同步控制模块。RS232接口简单、使用方便,广泛存在于各种设备上。本发明使用一个时间同步控制模块通过RS232接口与多个设备连接,进行通讯,可达到多个设备的时间同步。
图2为本实施例中通过RS232接口进行多个设备时间同步的方法的流程图。图2中,该通过RS232接口进行多个设备时间同步的方法包括如下步骤:
步骤S01启动时间同步控制模块和各个设备:本步骤中,启动时间同步控制模块和各个设备。值得一提的是,本实施例中涉及到五个命令,用于在时间同步控制模块和设备之间通讯:这五个命令分别为初始化命令、初始化完成命令、时钟时间校正命令、时钟偏差方向调整命令和本地时钟时间命令,其中,对于初始化命令来说,时间同步控制模块将初始化命令发送给设备,设备接收到此命令后,初始化所有时间同步相关参数;对于初始化完成命令来说,由各设备将初始化完成命令发送给时间同步模块,指示设备时间同步初始化完成;对于时钟时间校正命令来说,时间同步控制模块将时钟时间校正命令发送给设备,设备根据此命令中包含的信息对自己本地时钟的时间进行校正;对于时钟偏差方向调整命令来说,时间同步控制模块将时钟偏差方向调整命令发送给设备,设备根据此命令中包含的信息对自己的本地时钟进行校正,以调整本地时钟相对时间同步控制模块内时钟的偏差的方向,即超前或滞后时间同步控制模块内的时钟;对于本地时钟时间命令来说,各个设备将本地时钟时间命令发送给时间同步控制模块,本地时钟时间命令中包含各设备校正后的本地时钟时间。
步骤S02时间同步控制模块同时向各个设备发送初始化命令,各个设备初始化后向时间同步控制模块发送初始化完成命令:本步骤中,时间同步控制模块同时向各个设备发送初始化命令,各个设备收到初始化命令后,进行初始化,各个设备初始化后向时间同步控制模块发送初始化完成命令。值得一提的是,本实施例中,各个设备初始化是对时间同步相关参数进行初始化。
步骤S03时间同步控制模块每隔第一设定时间同时向各个设备发送时钟时间校正命令,各个设备接收时钟时间校正命令后,将时钟时间校正命令内包含的时间设置为本地时钟时间:本步骤中,时间同步控制模块接收到所有设备发送的初始化完成命令后,时间同步控制模块每隔第一设定时间同时向各个设备发送若干个时钟时间校正命令,各个设备通过中断方式接收时钟时间校正命令后,将时钟时间校正命令内包含的时间设置为本地时钟时间。值得一提的是,第一设定时间是事先设定好的,其大小根据实际情况可进行相应调整。
步骤S04各个设备再次接收时钟时间校正命令,同时分别记录各个设备的本地时间与当前时钟时间校正命令内包含的时间之间的差值,然后将当前时钟时间校正命令内包含的时间设置为本地时钟时间:本步骤中,从第二个时钟时间校正命令开始,各设备在接收到时钟时间校正命令之后,先读取本地时间,再与时钟时间校正命令内包含的时间进行对比,并记录下两者的差值,设为ΔTint,然后再将时钟时间校正命令内包含的时间设置为本地时间。
步骤S05判断各个设备接收时钟时间校正命令的次数是否达到设定次数:本步骤中,判断各个设备接收时钟时间校正命令的次数是否达到设定次数,如果判断的结果为是,则执行步骤S06;否则,返回步骤S04。
步骤S06根据差值计算各个设备的中断补偿时间,并计算各个设备的本地时钟时间:如果上述步骤S05的判断结果为是,则执行本步骤。本步骤中,根据差值计算各个设备的中断补偿时间,并计算各个设备的本地时钟时间,后续会对本步骤进行详细描述。执行完本步骤,执行步骤S07。
步骤S07各个设备每隔第二设定时间分别向时间同步控制模块发送本地时钟时间命令,时间同步控制模块将本地时钟时间命令内包含的各个设备的本地时钟时间与其自身的时钟时间进行对比,得到各个设备的时间偏差调整值并将其发送给相应的设备:本步骤中,各个设备每隔第二设定时间分别向时间同步控制模块发送本地时钟时间命令,时间同步控制模块将本地时钟时间命令内包含的各个设备的本地时钟时间与其自身的时钟时间进行对比,得到各个设备的时间偏差调整值并将其发送给相应的设备。
步骤S08各个设备依据其时间偏差调整值,重新设置其本地时钟时间并将其发送给时间同步控制模块,当时间同步控制模块检测到各个设备的本地时钟时间与时间同步控制模块的时钟方向一致时,则时间同步过程完成:本步骤中,各个设备依据其时间偏差调整值,重新设置其本地时钟时间,并将重新设置的本地时钟时间发送给时间同步控制模块,当时间同步控制模块检测到各个设备的本地时钟时间与时间同步控制模块的时钟方向一致时,则时间同步过程完成。由于仅使用时间同步控制模块,其实现所需要的硬件简单,所以其线路结构简单、使用方便。
对于本实施例而言,上述步骤S06还可进一步细化,其细化后的流程图如图3所示。图3中,上述步骤S06进一步包括:
步骤S61各个设备根据记录的所有差值,计算各个设备的中断补偿时间:本步骤中,连续若干个时钟时间校正命令之后,各个设备根据记录的所有ΔTint,计算各个设备的中断补偿时间Tcomp。
步骤S62将各个设备的中断补偿时间与当前时钟时间校正命令内包含的时间相加,得到各个设备的本地时钟时间:本步骤中,将各个设备的中断补偿时间与当前时钟时间校正命令内包含的时间相加,得到各个设备的本地时钟时间。具体的,设此时时钟时间校正命令内包含的时间为Tmaster,各个设备的本地时钟时间为Tlocal,则Tlocal被设置为Tlocal=Tmaster+Tcomp。
对于本实施例而言,上述步骤S07还可进一步细化,其细化后的流程图如图4所示。图4中,上述步骤S07进一步包括:
步骤S71各个设备每隔第二设定时间读取其本地时钟时间,将其包含在本地时钟时间命令内,并将本地时钟时间命令发送给时间同步控制模块:本步骤中,各个设备每隔第二设定时间读取其本地时钟时间,将其包含在本地时钟时间命令内,并将本地时钟时间命令发送给时间同步控制模块。各个设备读取本地时钟时间,将其包含在本地时钟时间命令内,并将本地时钟时间命令发送给时间同步控制模块。此动作以一定的时间间隔(即第二设定时间),被各个设备连续重复若干次。
步骤S72时间同步控制模块接收各个设备的本地时钟时间命令,并取出所本地时钟时间命令内包含的各个设备的本地时钟时间:本步骤中,时间同步控制模块接收各个设备的本地时钟时间命令,并取出该命令内包含的各个设备的本地时钟时间。
步骤S73将各个设备的本地时钟时间与时间同步控制模块的时钟时间相比,检测各个设备的本地时钟时间是超前或者滞后时间同步控制模块的时钟时间;本步骤中,将各个设备的本地时钟时间与时间同步控制模块的时钟时间相比,检测各个设备的本地时钟时间是超前或者滞后时间同步控制模块的时钟时间。
步骤S74时间同步控制模块根据对各个设备的本地时钟时间命令的检测,计算各个设备的时间偏差调整值,同时将各个设备的时间偏差调整值包含在时钟偏差方向调整命令中,并将时钟偏差方向调整命令发送给相应的设备:本步骤中,时间同步控制模块根据对本地时钟时间命令的检测,计算各个设备的时间偏差调整值Tdev,同时将各个设备的时间偏差调整值Tdev包含在时钟偏差方向调整命令中,并将时钟偏差方向调整命令发送给相应的设备。
对于本实施例而言,上述步骤S08还可进一步细化,其细化后的流程图如图5所示。图5中,上述步骤S08进一步包括:
步骤S81各个设备接收到时钟偏差方向调整命令后,从中取出各个设备的时间偏差调整值,根据时间偏差调整值重新设置其本地时钟时间,并将本地时钟时间命令发送给时间同步控制模块:本步骤中,各个设备接收到时钟偏差方向调整命令后,从中取出各个设备的时间偏差调整值Tdev,根据时间偏差调整值Tdev重新设置其本地时钟时间Tlocal=Tlocal+Tdev,并将本地时钟时间命令发送给时间同步控制模块。
步骤S82时间同步控制模块接收本地时钟时间命令后,检测到各个设备的本地时钟时间和时间同步控制模块的时钟超前或滞后的方向一致,则时间同步过程完成:本步骤中,时间同步控制模块通过接收本地时钟时间命令,检测到各个设备的本地时钟时间和时间同步控制模块的时钟超前或滞后的方向一致,即全部超前,或全部滞后,则时间同步过程完成。
本实施例还涉及一种实现上述通过RS232接口进行多个设备时间同步的方法的装置,其应用于时间同步系统,时间同步系统包括时间同步控制模块和多个设备,时间同步控制模块设有多个RS232接口,时间同步控制模块通过RS232接口与每个设备连接。图6为本实施例中装置的结构示意图。图6中,该装置包括启动单元1、初始化单元2、时钟时间校正单元3、差值记录单元4、命令接收次数判断单元5、本地时钟时间计算单元6、时间偏差调整单元7和时钟方向检测单元8;其中,启动单元1用于启动时间同步控制模块和各个设备;初始化单元2用于使时间同步控制模块同时向各个设备发送初始化命令,各个设备初始化后向时间同步控制模块发送初始化完成命令;时钟时间校正单元3用于使时间同步控制模块每隔第一设定时间同时向各个设备发送时钟时间校正命令,各个设备接收时钟时间校正命令后,将时钟时间校正命令内包含的时间设置为本地时钟时间;差值记录单元4用于使各个设备再次接收时钟时间校正命令,同时分别记录各个设备的本地时间与当前时钟时间校正命令内包含的时间之间的差值,然后将当前时钟时间校正命令内包含的时间设置为本地时钟时间;命令接收次数判断单元5用于判断各个设备接收时钟时间校正命令的次数是否达到设定次数;本地时钟时间计算单元6用于根据差值计算各个设备的中断补偿时间,并计算各个设备的本地时钟时间;时间偏差调整单元7用于使各个设备每隔第二设定时间分别向时间同步控制模块发送本地时钟时间命令,时间同步控制模块将本地时钟时间命令内包含的各个设备的本地时钟时间与其自身的时钟时间进行对比,得到各个设备的时间偏差调整值并将其发送给相应的设备;时钟方向检测单元8用于使各个设备依据其时间偏差调整值,重新设置其本地时钟时间并将其发送给时间同步控制模块,当时间同步控制模块检测到各个设备的本地时钟时间与时间同步控制模块的时钟方向一致时,则时间同步过程完成。值得一提的是,本实施例中,在初始化单元2中,各个设备初始化是对时间同步相关参数进行初始化。由于仅使用时间同步控制模块,其实现所需要的硬件简单,所以其线路结构简单、使用方便。
本实施例中,本地时钟时间计算单元6进一步包括中断补偿时间计算模块61和相加模块62;其中,中断补偿时间计算模块61用于使各个设备根据记录的所有差值,计算各个设备的中断补偿时间;相加模块62用于将各个设备的中断补偿时间与当前时钟时间校正命令内包含的时间相加,得到各个设备的本地时钟时间。
本实施例中,时间偏差调整单元7进一步包括本地时钟时间命令发送模块71、本地时钟时间命令接收模块72、对比模块73和时钟偏差方向调整命令发送模块74;其中,本地时钟时间命令发送模块71用于使各个设备每隔第二设定时间读取其本地时钟时间,将其包含在本地时钟时间命令内,并将本地时钟时间命令发送给时间同步控制模块;本地时钟时间命令接收模块72用于使时间同步控制模块接收各个设备的本地时钟时间命令,并取出本地时钟时间命令内包含的各个设备的本地时钟时间;对比模块73用于将各个设备的本地时钟时间与时间同步控制模块的时钟时间相比,检测各个设备的本地时钟时间是超前或者滞后时间同步控制模块的时钟时间;时钟偏差方向调整命令发送模块74用于使时间同步控制模块根据对各个设备的本地时钟时间命令的检测,计算各个设备的时间偏差调整值,同时将各个设备的时间偏差调整值包含在时钟偏差方向调整命令中,并将时钟偏差方向调整命令发送给相应的设备。
本实施例中,时钟方向检测单元8进一步包括本地时钟时间设置模块81和方向检测模块82;其中,本地时钟时间设置模块81用于使各个设备接收到时钟偏差方向调整命令后,从中取出各个设备的时间偏差调整值,根据时间偏差调整值重新设置其本地时钟时间,并将本地时钟时间命令发送给时间同步控制模块;方向检测模块82用于当时间同步控制模块接收本地时钟时间命令后,检测到各个设备的本地时钟时间和时间同步控制模块的时钟超前或滞后的方向一致,则时间同步过程完成。
总之,在本实施例中,使用一个时间同步控制模块,仅通过RS232接口与多个设备连接,进行通讯,其实现多个设备时间同步所需要的硬件结构简单,节省成本。另外,使用的时间同步协议简单,且可达到较高的时间精度≤1ms。在无法访问GPS信号、无GPS接收接口及设备、以及没有网络接口的设备上,可以方便地实现设备时间同步。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种通过RS232接口进行多个设备时间同步的方法,其特征在于,应用于时间同步系统,所述时间同步系统包括时间同步控制模块和多个设备,所述时间同步控制模块设有多个RS232接口,所述时间同步控制模块通过所述RS232接口与每个设备连接,所述方法包括如步骤:
A)启动所述时间同步控制模块和各个设备;
B)所述时间同步控制模块同时向各个设备发送初始化命令,所述各个设备初始化后向所述时间同步控制模块发送初始化完成命令;
C)所述时间同步控制模块每隔第一设定时间同时向所述各个设备发送时钟时间校正命令,所述各个设备接收所述时钟时间校正命令后,将所述时钟时间校正命令内包含的时间设置为本地时钟时间;
D)所述各个设备再次接收所述时钟时间校正命令,同时分别记录各个设备的本地时间与当前时钟时间校正命令内包含的时间之间的差值,然后将所述当前时钟时间校正命令内包含的时间设置为本地时钟时间;
E)判断所述各个设备接收所述时钟时间校正命令的次数是否达到设定次数,如是,执行步骤F);否则,返回步骤D);
F)根据所述差值计算所述各个设备的中断补偿时间,并计算所述各个设备的本地时钟时间;
G)所述各个设备每隔第二设定时间分别向所述时间同步控制模块发送本地时钟时间命令,所述时间同步控制模块将所述本地时钟时间命令内包含的所述各个设备的本地时钟时间与其自身的时钟时间进行对比,得到所述各个设备的时间偏差调整值并将其发送给相应的设备;
H)所述各个设备依据其时间偏差调整值,重新设置其本地时钟时间并将其发送给所述时间同步控制模块,当所述时间同步控制模块检测到各个设备的本地时钟时间与所述时间同步控制模块的时钟超前或滞后相一致时,则时间同步过程完成;
所述步骤F)进一步包括:
F1)所述各个设备根据记录的所有所述差值,计算各个设备的中断补偿时间;
F2)将所述各个设备的中断补偿时间与当前时钟时间校正命令内包含的时间相加,得到所述各个设备的本地时钟时间。
2.根据权利要求1所述的通过RS232接口进行多个设备时间同步的方法,其特征在于,在所述步骤B)中,所述各个设备初始化是对时间同步相关参数进行初始化。
3.根据权利要求1所述的通过RS232接口进行多个设备时间同步的方法,其特征在于,所述步骤G)进一步包括:
G1)所述各个设备每隔第二设定时间读取其本地时钟时间,将其包含在本地时钟时间命令内,并将所述本地时钟时间命令发送给所述时间同步控制模块;
G2)所述时间同步控制模块接收所述各个设备的本地时钟时间命令,并取出所述本地时钟时间命令内包含的各个设备的本地时钟时间;
G3)将所述各个设备的本地时钟时间与所述时间同步控制模块的时钟时间相比,检测所述各个设备的本地时钟时间是超前或者滞后所述时间同步控制模块的时钟时间;
G4)所述时间同步控制模块根据对所述各个设备的本地时钟时间命令的检测,计算各个设备的时间偏差调整值,同时将所述各个设备的时间偏差调整值包含在时钟偏差方向调整命令中,并将所述时钟偏差方向调整命令发送给相应的设备。
4.根据权利要求3所述的通过RS232接口进行多个设备时间同步的方法,其特征在于,所述步骤H)进一步包括:
H1)所述各个设备接收到所述时钟偏差方向调整命令后,从中取出所述各个设备的时间偏差调整值,根据所述时间偏差调整值重新设置其本地时钟时间,并将本地时钟时间命令发送给所述时间同步控制模块;
H2)所述时间同步控制模块接收所述本地时钟时间命令后,检测到各个设备的本地时钟时间和所述时间同步控制模块的时钟超前或滞后的方向一致,则时间同步过程完成。
5.一种实现如权利要求1所述的通过RS232接口进行多个设备时间同步的方法的装置,其特征在于,应用于时间同步系统,所述时间同步系统包括时间同步控制模块和多个设备,所述时间同步控制模块设有多个RS232接口,所述时间同步控制模块通过所述RS232接口与每个设备连接,所述装置包括:
启动单元:用于启动所述时间同步控制模块和各个设备;
初始化单元:用于使所述时间同步控制模块同时向各个设备发送初始化命令,所述各个设备初始化后向所述时间同步控制模块发送初始化完成命令;
时钟时间校正单元:用于使所述时间同步控制模块每隔第一设定时间同时向所述各个设备发送时钟时间校正命令,所述各个设备接收所述时钟时间校正命令后,将所述时钟时间校正命令内包含的时间设置为本地时钟时间;
差值记录单元:用于使所述各个设备再次接收所述时钟时间校正命令,同时分别记录各个设备的本地时间与当前时钟时间校正命令内包含的时间之间的差值,然后将所述当前时钟时间校正命令内包含的时间设置为本地时钟时间;
命令接收次数判断单元:用于判断所述各个设备接收所述时钟时间校正命令的次数是否达到设定次数;
本地时钟时间计算单元:用于根据所述差值计算所述各个设备的中断补偿时间,并计算所述各个设备的本地时钟时间;
时间偏差调整单元:用于使所述各个设备每隔第二设定时间分别向所述时间同步控制模块发送本地时钟时间命令,所述时间同步控制模块将所述本地时钟时间命令内包含的所述各个设备的本地时钟时间与其自身的时钟时间进行对比,得到所述各个设备的时间偏差调整值并将其发送给相应的设备;
时钟方向检测单元:用于使所述各个设备依据其时间偏差调整值,重新设置其本地时钟时间并将其发送给所述时间同步控制模块,当所述时间同步控制模块检测到各个设备的本地时钟时间与所述时间同步控制模块的时钟超前或滞后相一致时,则时间同步过程完成;
所述本地时钟时间计算单元进一步包括:
中断补偿时间计算模块:用于使所述各个设备根据记录的所有所述差值,计算各个设备的中断补偿时间;
相加模块:用于将所述各个设备的中断补偿时间与当前时钟时间校正命令内包含的时间相加,得到所述各个设备的本地时钟时间。
6.根据权利要求5所述的装置,其特征在于,在所述初始化单元中,所述各个设备初始化是对时间同步相关参数进行初始化。
7.根据权利要求5或6所述的装置,其特征在于,所述时间偏差调整单元进一步包括:
本地时钟时间命令发送模块:用于使所述各个设备每隔第二设定时间读取其本地时钟时间,将其包含在本地时钟时间命令内,并将所述本地时钟时间命令发送给所述时间同步控制模块;
本地时钟时间命令接收模块:用于使所述时间同步控制模块接收所述各个设备的本地时钟时间命令,并取出所述本地时钟时间命令内包含的各个设备的本地时钟时间;
对比模块:用于将所述各个设备的本地时钟时间与所述时间同步控制模块的时钟时间相比,检测所述各个设备的本地时钟时间是超前或者滞后所述时间同步控制模块的时钟时间;
时钟偏差方向调整命令发送模块:用于使所述时间同步控制模块根据对所述各个设备的本地时钟时间命令的检测,计算各个设备的时间偏差调整值,同时将所述各个设备的时间偏差调整值包含在时钟偏差方向调整命令中,并将所述时钟偏差方向调整命令发送给相应的设备。
8.根据权利要求7所述的装置,其特征在于,所述时钟方向检测单元进一步包括:
本地时钟时间设置模块:用于使所述各个设备接收到所述时钟偏差方向调整命令后,从中取出所述各个设备的时间偏差调整值,根据所述时间偏差调整值重新设置其本地时钟时间,并将本地时钟时间命令发送给所述时间同步控制模块;
方向检测模块:用于当所述时间同步控制模块接收所述本地时钟时间命令后,检测到各个设备的本地时钟时间和所述时间同步控制模块的时钟超前或滞后的方向一致,则时间同步过程完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510148206.3A CN104834622B (zh) | 2015-03-31 | 2015-03-31 | 通过rs232接口进行多个设备时间同步的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510148206.3A CN104834622B (zh) | 2015-03-31 | 2015-03-31 | 通过rs232接口进行多个设备时间同步的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104834622A CN104834622A (zh) | 2015-08-12 |
CN104834622B true CN104834622B (zh) | 2017-10-24 |
Family
ID=53812523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510148206.3A Active CN104834622B (zh) | 2015-03-31 | 2015-03-31 | 通过rs232接口进行多个设备时间同步的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104834622B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105790756B (zh) * | 2016-03-17 | 2019-02-12 | 杭州晟元数据安全技术股份有限公司 | 一种利用uart通讯校准时钟的方法及装置 |
CN110824237B (zh) * | 2019-11-09 | 2021-09-14 | 许继集团有限公司 | 一种脉冲采样时间间隔调整方法及装置 |
CN111030909B (zh) * | 2020-03-03 | 2021-03-26 | 南京科远智慧科技集团股份有限公司 | 一种应用于can总线多主设备通讯间时间同步的方法 |
CN112540641B (zh) * | 2020-10-29 | 2024-04-12 | 珠海格力电器股份有限公司 | 一种时钟精度修正方法、装置及存储介质 |
CN113258148A (zh) * | 2021-04-02 | 2021-08-13 | 深圳拓邦股份有限公司 | Bms并机实现控制方法、装置及电源 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834712A (zh) * | 2010-04-19 | 2010-09-15 | 浙江大学 | 利用ieee1588协议实现精确时间同步的方法 |
CN103532652A (zh) * | 2013-10-18 | 2014-01-22 | 杭州华三通信技术有限公司 | 一种时间同步装置和方法 |
CN103546270A (zh) * | 2013-10-22 | 2014-01-29 | 航天科工深圳(集团)有限公司 | 一种配电终端的时钟同步方法以及系统 |
CN103944660A (zh) * | 2013-01-18 | 2014-07-23 | 中国科学院上海高等研究院 | 时钟同步设备及方法 |
-
2015
- 2015-03-31 CN CN201510148206.3A patent/CN104834622B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834712A (zh) * | 2010-04-19 | 2010-09-15 | 浙江大学 | 利用ieee1588协议实现精确时间同步的方法 |
CN103944660A (zh) * | 2013-01-18 | 2014-07-23 | 中国科学院上海高等研究院 | 时钟同步设备及方法 |
CN103532652A (zh) * | 2013-10-18 | 2014-01-22 | 杭州华三通信技术有限公司 | 一种时间同步装置和方法 |
CN103546270A (zh) * | 2013-10-22 | 2014-01-29 | 航天科工深圳(集团)有限公司 | 一种配电终端的时钟同步方法以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104834622A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104834622B (zh) | 通过rs232接口进行多个设备时间同步的方法及装置 | |
US7330777B2 (en) | Robot coordinated control method and system | |
CN106130681B (zh) | 用于授时系统的高精度时钟同步方法、模块、设备及系统 | |
CN109905194A (zh) | 一种车载终端系统和同步数据获取方法、装置 | |
CN101478358B (zh) | 一种优化时间同步校正的方法和装置 | |
JP6649475B2 (ja) | 無線通信システム、無線端末及び時刻同期方法 | |
CN101227246A (zh) | 一种主从时钟同步的方法及装置 | |
KR101121153B1 (ko) | 영상신호와 센서신호의 동기화 시스템 및 방법 | |
TW200807008A (en) | Associating a universal time with a received signal | |
CN110784783B (zh) | 基于光纤网络的时钟同步方法及装置 | |
CN105553594B (zh) | 一种pet时钟同步方法和装置 | |
CN104320240A (zh) | 一种提供系统内全局时钟的方法和装置 | |
US20170276474A1 (en) | Optical measurement device | |
CN109769223A (zh) | 一种噪声信号无线同步的采集方法和数据采集系统 | |
CN113645686B (zh) | 一种带运动补偿的无线自组织网络时间同步方法 | |
US20150334302A1 (en) | Object Exterior Photographing System | |
JP2005110314A (ja) | 無線システムおよびそのサーバーならびにその基地局 | |
CN107483136A (zh) | 一种固定通信设备间的时钟同步方法 | |
CN116684028B (zh) | 一种多传感器时间同步方法、装置、设备及存储介质 | |
CN106131461A (zh) | 一种多图像传感器同步控制系统及图像处理模块 | |
CN109525352B (zh) | 一种地下管网设备时间同步方法 | |
CN105208647B (zh) | 基于fpga的无线传输延时控制系统及控制方法 | |
KR101521893B1 (ko) | 광대역 무선접속 시스템에서 기지국과 원격 무선 주파수 유닛 간 지연 시간 측정 및 지연 보상을 위한 장치 및 방법 | |
CN115604402A (zh) | 一种无线智能可穿戴装置及其图像采集方法 | |
JP6456787B2 (ja) | 時刻同期装置および時刻同期方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |