KR101847366B1 - Time synchronization device and time synchronization system - Google Patents
Time synchronization device and time synchronization system Download PDFInfo
- Publication number
- KR101847366B1 KR101847366B1 KR1020177031526A KR20177031526A KR101847366B1 KR 101847366 B1 KR101847366 B1 KR 101847366B1 KR 1020177031526 A KR1020177031526 A KR 1020177031526A KR 20177031526 A KR20177031526 A KR 20177031526A KR 101847366 B1 KR101847366 B1 KR 101847366B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- time
- unit
- master device
- synchronization
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
- Computer And Data Communications (AREA)
Abstract
시각 동기 장치(300)에 있어서, 수신부(310)는, 마스터 장치(200)로부터 제 1 데이터(401)를 수신한다. 그 후, 송신부(320)는, 마스터 장치(200)에 제 2 데이터(402)를 송신한다. 보정부(340)는, 소프트웨어 클록인 슬레이브 클록(301)을 이용하여 기록된 제 1 데이터(401)의 수신 시각과 제 2 데이터(402)의 송신 시각을 보정한다. 동기부(350)는, 적어도 마스터 장치(200)로부터 통지되는 제 1 데이터(401)의 송신 시각과 보정부(340)에 의해 보정된 제 1 데이터(401)의 수신 시각과 보정부(340)에 의해 보정된 제 2 데이터(402)의 송신 시각과 마스터 장치(200)로부터 통지되는 제 2 데이터(402)의 수신 시각으로부터, 마스터 클록(201)과 슬레이브 클록(301)의 시각의 어긋남인 오프셋(405)을 계산한다.In the time synchronization device 300, the receiving unit 310 receives the first data 401 from the master device 200. [ After that, the transmitting unit 320 transmits the second data 402 to the master device 200. [ The correcting unit 340 corrects the reception time of the first data 401 and the transmission time of the second data 402 recorded using the slave clock 301 which is a software clock. The synchronizing unit 350 receives at least the transmission time of the first data 401 notified from the master device 200 and the reception time of the first data 401 corrected by the correcting unit 340, Which is a shift of the time between the master clock 201 and the slave clock 301 from the transmission time of the second data 402 corrected by the master device 200 and the reception time of the second data 402 notified from the master device 200, (405).
Description
본 발명은, 시각 동기 장치 및 시각 동기 시스템 및 시각 동기 방법에 관한 것이다.The present invention relates to a time synchronization device, a time synchronization system, and a time synchronization method.
PA(Process Automation) 분야에 있어서, 클로즈드 네트워크 구성으로부터 오픈 네트워크 구성으로의 시프트, 및, 새로운 정보 기술의 적용 등에 의해, 광역적인 스마트 통신을 실현하는 것이 추진되고 있다. 구체적인 예로서, 스마트 그리드를 들 수 있다. 다수의 디바이스의 계측 및 제어에 있어서, 이벤트 동기와 데이터 상관을 간이화하기 위해, 정밀한 시각 동기가 요구되고 있다.In the PA (Process Automation) field, it has been promoted to realize wide-area smart communication by shifting from a closed network configuration to an open network configuration and applying new information technology. A concrete example is a smart grid. Precise time synchronization is required in order to simplify event synchronization and data correlation in the measurement and control of a plurality of devices.
클로즈드 네트워크 구성에서는, 수십 대라고 하는 비교적 소수의 디바이스의 시각이 독자적인 시각 동기 방식을 이용하여 동기된다. 시각 동기 정밀도는, 마이크로초 단위이다. 시각 동기 정밀도를 높이기 위해, 시각 동기 방식은, 주로 하드웨어 베이스로 실장된다.In the closed network configuration, the time of a relatively small number of devices, such as several tens, is synchronized using a unique time synchronization method. The time synchronization precision is in microseconds. In order to increase the time synchronization accuracy, the time synchronization method is mainly implemented on a hardware basis.
오픈 네트워크 구성에서 이용 가능한 시각 동기 방식으로서, IEEE(Institute of Electrical and Electronics Engineers)는, 이더넷(등록상표)을 이용한 시각 동기 규격 IEEE 1588을 책정하고 있다. IEEE 1588에서는, 네트워크를 통해서 시각을 기록한 동기 프레임을 송수신함으로써 시각을 동기하는 방법이 정해져 있다. IEEE 1588의 실장은, 하드웨어 베이스 실장과 소프트웨어 베이스 실장의 2종류로 나누어진다.As a time synchronization method that can be used in an open network configuration, the Institute of Electrical and Electronics Engineers (IEEE) has established a time synchronization standard IEEE 1588 using Ethernet (registered trademark). IEEE 1588 specifies a method of synchronizing the time by transmitting and receiving a synchronous frame in which time is recorded via a network. The IEEE 1588 implementation is divided into two types, hardware base implementation and software base implementation.
하드웨어 베이스 실장에서는, OSI(Open Systems Interconnection) 참조 모델의 물리층의 처리를 행하는 PHY의 하드웨어 타임 스탬프 기능을 이용하여 시각이 기록된다(예컨대, 특허 문헌 1 참조). 따라서, 시각 송신측은, PHY가 동기 프레임을 송신할 때의 타임 스탬프를 송신 시각으로서 기록하고, 기록한 송신 시각을 송신한다. 마찬가지로, 시각 수신측은, PHY가 동기 프레임을 수신했을 때의 타임 스탬프를 수신 시각으로서 기록하고, 기록한 수신 시각을 애플리케이션 프로그램에서 이용한다. 시각 동기 정밀도는, 이론상은 1나노초이지만, 실제로는 최고 100나노초 정도이다.In the hardware base implementation, the time is recorded using the hardware time stamp function of the PHY that processes the physical layer of the OSI (Open Systems Interconnection) reference model (see, for example, Patent Document 1). Therefore, the time transmitter side records the time stamp when the PHY transmits the synchronous frame as the transmission time, and transmits the recorded transmission time. Similarly, the time receiver side records the time stamp when the PHY receives the synchronous frame as the reception time, and uses the recorded reception time in the application program. The time synchronization accuracy is theoretically 1 nanosecond, but actually it is up to 100 nanoseconds.
소프트웨어 베이스 실장에서는, OSI 참조 모델의 애플리케이션층의 처리를 행하는 애플리케이션 프로그램의 소프트웨어 타임 스탬프 기능을 이용하여 시각이 기록된다. 따라서, 시각 송신측은, 애플리케이션 프로그램이 하위 처리에 동기 프레임의 송신을 지시했을 때의 타임 스탬프를 송신 시각으로서 기록하고, 기록한 송신 시각을 송신한다. 마찬가지로, 시각 수신측은, 애플리케이션 프로그램이 하위 처리로부터 동기 프레임의 수신을 통지받았을 때의 타임 스탬프를 수신 시각으로서 기록하고, 기록한 수신 시각을 애플리케이션 프로그램에서 이용한다. 시각 동기 정밀도는, 최악의 경우 100밀리초 정도까지 열화된다. 또, 소프트웨어 베이스 실장의 시각 동기 정밀도는, 애플리케이션 프로그램이 동작하는 OS(Operating System), 및, 통신 기능의 계층 구조에 따라 큰 폭으로 변동한다.In the software base implementation, the time is recorded using the software time stamp function of the application program that performs processing of the application layer of the OSI reference model. Therefore, the time transmitter side records the time stamp when the application program instructs transmission of the synchronous frame to the lower process, as the transmission time, and transmits the recorded transmission time. Similarly, the time receiver side records the time stamp when the application program is notified of the reception of the synchronization frame from the lower process, as the reception time, and uses the recorded reception time in the application program. The time synchronization precision is degraded to about 100 milliseconds in the worst case. In addition, the time synchronization precision of the software base implementation greatly fluctuates depending on the OS (Operating System) in which the application program operates and the hierarchical structure of the communication function.
(선행 기술 문헌)(Prior art document)
(특허 문헌)(Patent Literature)
(특허 문헌 1) 일본 특허 공개 2012-256965호 공보(Patent Document 1) Japanese Unexamined Patent Publication No. 256965
시스템을 클로즈드 네트워크 구성으로부터 오픈 네트워크 구성으로 변경할 때에는, 그 시스템을 다른 시스템과 접속하게 된다. 자산 유용의 관점으로부터, 시스템 내부에서의 시각 동기에는 기존의 시각 동기 방식을 계속하여 이용하고, 시스템 외부와의 시각 동기에는 IEEE 1588을 이용하는 것을 생각할 수 있다. 그러나, 그 경우, 기존의 시각 동기 방식과 IEEE 1588의 양쪽에 대응하는 단말이 필요하다. IEEE 1588을 새롭게 도입하는 경우, 하드웨어 베이스 실장을 채용하면, 높은 시각 동기 정밀도를 얻을 수 있지만, 방대한 비용이 든다. 따라서, 비용 절약의 관점으로부터, 소프트웨어 베이스 실장을 채용하는 것이 바람직하다.When a system is changed from a closed network configuration to an open network configuration, the system is connected to another system. From the viewpoint of asset utilization, it is conceivable to use the existing time synchronization method for time synchronization in the system, and to use IEEE 1588 for time synchronization with the outside of the system. However, in this case, a terminal corresponding to both of the existing time synchronization method and IEEE 1588 is required. When IEEE 1588 is newly introduced, high-speed synchronization accuracy can be obtained by adopting hardware base mounting, but it is costly. Therefore, from the viewpoint of cost saving, it is preferable to employ a software base mounting.
본 발명은, 소프트웨어 베이스 실장에 의한 시각 동기 방식의 시각 동기 정밀도를 향상시키는 것을 목적으로 한다.An object of the present invention is to improve the time synchronization precision of the time synchronization method by software base implementation.
본 발명의 일 태양과 관련되는 시각 동기 장치는, 마스터 클록을 갖는 마스터 장치로부터 제 1 데이터를 수신하는 수신부와, 상기 수신부에 의해 상기 제 1 데이터가 수신된 후에, 상기 마스터 장치에 제 2 데이터를 송신하는 송신부와, 소프트웨어 클록인 슬레이브 클록을 이용하여, 상기 수신부에서의 상기 제 1 데이터의 수신 시각과 상기 송신부에서의 상기 제 2 데이터의 송신 시각을 기록하는 기록부와, 상기 기록부에 의해 기록된 상기 제 1 데이터의 수신 시각과 상기 제 2 데이터의 송신 시각을 보정하는 보정부와, 적어도 상기 마스터 장치로부터 통지되는 상기 마스터 장치에서의 상기 제 1 데이터의 송신 시각과 상기 보정부에 의해 보정된 상기 제 1 데이터의 수신 시각과 상기 보정부에 의해 보정된 상기 제 2 데이터의 송신 시각과 상기 마스터 장치로부터 통지되는 상기 마스터 장치에서의 상기 제 2 데이터의 수신 시각으로부터, 상기 마스터 클록과 상기 슬레이브 클록의 시각의 어긋남인 오프셋을 계산하는 동기부를 구비한다.A clock synchronizing apparatus according to an aspect of the present invention includes: a receiving unit that receives first data from a master device having a master clock; and a second synchronizing unit that synchronizes the second data with the master device after the first data is received by the receiving unit A recording section for recording the reception time of the first data and the transmission time of the second data in the transmission section using a slave clock which is a software clock; And a control unit configured to control at least the transmission time of the first data at the master device notified from the master device and the transmission time of the first data corrected by the correcting unit 1 < / RTI > data, the transmission time of the second data corrected by the correction section, From the reception time of the second data in the master device that is notified from, and comprising a synchronizing master clock and calculating the deviation of the time offset of the slave clock.
본 발명에서는, 소프트웨어 클록을 이용하여 기록되는 시각이 보정되기 때문에, 소프트웨어 베이스 실장에 의한 시각 동기 방식의 시각 동기 정밀도가 향상된다.In the present invention, since the time recorded using the software clock is corrected, the time synchronization precision of the time synchronization method by software base implementation is improved.
도 1은 실시의 형태 1과 관련되는 시각 동기 시스템의 구성의 예를 나타내는 도면.
도 2는 실시의 형태 1과 관련되는 마스터 장치 및 시각 동기 장치의 구성을 나타내는 블록도.
도 3은 실시의 형태 1과 관련되는 시각 동기 시스템의 동작을 나타내는 플로차트.
도 4는 실시의 형태 1과 관련되는 시각 동기 시스템의 동작을 나타내는 플로차트.
도 5는 실시의 형태 1과 관련되는 시각 동기 시스템의 동작을 나타내는 플로차트.
도 6은 실시의 형태 1과 관련되는 마스터 장치 및 시각 동기 장치의 실장의 예를 나타내는 블록도.
도 7은 실시의 형태 1과 관련되는 마스터 장치 및 시각 동기 장치 사이의 통신 수순을 나타내는 시퀀스도.
도 8은 실시의 형태 2와 관련되는 시각 동기 시스템의 구성의 예를 나타내는 도면.
도 9는 실시의 형태 3과 관련되는 시각 동기 시스템의 구성의 예를 나타내는 도면.
도 10은 본 발명의 실시의 형태와 관련되는 시각 동기 장치의 하드웨어 구성의 예를 나타내는 도면.1 is a diagram showing an example of a configuration of a time synchronization system according to a first embodiment;
2 is a block diagram showing a configuration of a master device and a time synchronization device according to a first embodiment;
3 is a flowchart showing the operation of the time synchronization system according to the first embodiment;
4 is a flowchart showing the operation of the time synchronization system according to the first embodiment;
5 is a flowchart showing the operation of the time synchronization system according to the first embodiment;
6 is a block diagram showing an example of mounting of a master device and a time synchronization device according to the first embodiment;
7 is a sequence diagram showing a communication procedure between a master device and a time synchronization device according to the first embodiment;
8 is a diagram showing an example of the configuration of a time synchronization system according to the second embodiment;
9 is a diagram showing an example of a configuration of a time synchronization system according to a third embodiment;
10 is a diagram showing an example of a hardware configuration of a time synchronization device according to an embodiment of the present invention;
이하, 본 발명의 실시의 형태에 대하여, 도면을 이용하여 설명한다. 또, 각 도면 중, 동일 또는 상당하는 부분에는, 동일 부호를 붙이고 있다. 실시의 형태의 설명에 있어서, 동일 또는 상당하는 부분에 대해서는, 그 설명을 적당히 생략 또는 간략화한다.BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or equivalent parts are denoted by the same reference numerals. In the description of the embodiments, the same or corresponding parts are appropriately omitted or simplified.
실시의 형태 1.Embodiment Mode 1.
종래의 소프트웨어 베이스 실장에 의한 시각 동기 방식에는, 전술한 바와 같은 시각 동기 정밀도의 열화라고 하는 과제가 있다. 이 과제의 요인은, 소프트웨어 타임 스탬프의 변동, 및, 시각 동기가 실장되는 단말의 내부 처리 지연의 비대칭성이다. 본 실시의 형태에서는, 시각의 기록치를 보정함으로써, 이러한 요인의 적어도 일부를 제거 또는 억제한다.In the conventional time synchronization method based on software base mounting, there is a problem of deterioration of the time synchronization accuracy as described above. The cause of this problem is the asymmetry of the software timestamp fluctuation and the internal processing delay of the terminal in which the time synchronization is implemented. In the present embodiment, at least part of such factors are removed or suppressed by correcting the recorded value of time.
본 실시의 형태는, 복수 대의 디바이스가 존재하는 분산 시스템에 있어서의 시각 동기를 소프트웨어 베이스 실장에 의해 실현하는 것이다. 본 실시의 형태와 관련되는 소프트웨어 베이스 실장에 의한 시각 동기 방식에서는, IEEE 1588의 원리가 이용된다. 이 시각 동기 방식은, 분산 시스템에 존재하는 임의의 단말에 실장 가능하다. 단말에 인스톨되는 OS는, 리얼타임 OS이다. 시각 송신측의 단말은, 마스터이다. 시각 수신측의 단말은, 슬레이브이고, 시각 동기를 실시하는 단말이다.The present embodiment realizes time synchronization in a distributed system in which a plurality of devices exist by software base implementation. In the time synchronization method based on software base implementation according to the present embodiment, the principle of IEEE 1588 is used. This time synchronization method can be implemented in any terminal existing in the distributed system. The OS installed in the terminal is a real-time OS. The terminal on the time transmitting side is the master. The terminal on the visual receiving side is a slave and is a terminal for performing time synchronization.
이하, 본 실시의 형태와 관련되는 시스템의 구성, 본 실시의 형태와 관련되는 시스템의 동작, 본 실시의 형태의 효과를 차례로 설명한다.Hereinafter, the configuration of the system according to the present embodiment, the operation of the system according to the present embodiment, and the effect of the present embodiment will be described in turn.
***구성의 설명****** Description of configuration ***
도 1을 참조하여, 본 실시의 형태와 관련되는 시스템인 시각 동기 시스템(100)의 구성의 예를 설명한다.An example of the configuration of the
시각 동기 시스템(100)은, 분산 시스템이다. 시각 동기 시스템(100)은, 1대의 GM(110)(Grand Master)과, 복수 대의 PLC(120)(Programmable Logic Controller)와, 복수 대의 필드 디바이스(130)를 구비한다,The
본 예에서는, 트리 형태의 네트워크 토폴로지가 채용되고 있다. GM(110)이 루트로 되어 있고, 루트의 하위 노드로서 적어도 3대의 PLC(120)가 GM(110)에 접속되어 있다. 더 하위의 노드로서 적어도 1대의 PLC(120) 또는 적어도 3대의 필드 디바이스(130)가 접속되어, 서브네트워크가 구성되어 있다.In this example, a network topology in the form of a tree is employed. The GM 110 is the root and at least three
GM(110)은, 시각 기준을 제공한다. GM(110)과, GM(110)에 접속된 PLC(120)의 사이의 시각 동기에는, 제 1 시각 동기 방식(101)이 적용된다. 제 1 시각 동기 방식(101)은, 본 실시의 형태와 관련되는 소프트웨어 베이스 실장에 의한 시각 동기 방식이고, IEEE 1588의 원리를 이용한 것이다. 제 1 시각 동기 방식(101)에 의한 시각 동기의 수순에 대해서는 후술한다.The GM 110 provides a time reference. The first
각 서브네트워크 내부의 시각 동기에는, 제 2 시각 동기 방식(102)이 적용된다. 제 2 시각 동기 방식(102)은, 각 서브네트워크의 독자적인 시각 동기 방식이다. 제 2 시각 동기 방식(102)에 의한 시각 동기의 수순에 대해서는, 임의의 수순을 적용할 수 있기 때문에, 설명을 생략한다.The second
GM(110)에 접속된 PLC(120)는, 각 서브네트워크의 제 2 시각 동기 방식(102)에 대응함과 아울러, 제 1 시각 동기 방식(101)에 대응한다.The
또, GM(110)에 접속된 PLC(120)의 대수, 및, 각 서브네트워크의 구성은, 적당히 변경할 수 있다. PLC(120)는, NC(Numerical Controller) 등, 다른 종류의 기기로 대체되더라도 좋다.In addition, the number of
도 2를 참조하여, 본 실시의 형태와 관련되는 마스터 장치(200) 및 시각 동기 장치(300)의 구성을 설명한다.The configuration of the
마스터 장치(200)는, 마스터 클록(201)을 갖는다. 마스터 클록(201)은, 하드웨어 클록이 아니고, 소프트웨어 클록이다. 하드웨어 클록이란, 하드웨어에 탑재되는 시계이다. 하드웨어 클록은, 하드웨어 타임 스탬프 기능에 이용된다. 소프트웨어 클록이란, 소프트웨어에 의해 관리되는 시계이다. 소프트웨어 클록은, 소프트웨어 타임 스탬프 기능에 이용된다.The
마스터 장치(200)는, 송신부(210)와, 수신부(220)와, 기록부(230)와, 보정부(240)를 구비한다.The
도 1에 나타낸 GM(110)은, 제 1 시각 동기 방식(101)에 있어서의 시각 송신측의 단말이고, 마스터 장치(200)에 상당한다.The
시각 동기 장치(300)는, 슬레이브 클록(301)을 갖는다. 슬레이브 클록(301)은, 마스터 클록(201)과 동일하게, 하드웨어 클록이 아니고, 소프트웨어 클록이다.The
시각 동기 장치(300)는, 수신부(310)와, 송신부(320)와, 기록부(330)와, 보정부(340)와, 동기부(350)를 구비한다.The
도 1에 나타낸, GM(110)에 접속된 PLC(120)는, 제 1 시각 동기 방식(101)에 있어서의 시각 수신측의 단말이고, 시각 동기 장치(300)에 상당한다.The
마스터 장치(200)와 시각 동기 장치(300)는, 이하에 설명하는 제 1 시각 동기 방식(101)의 통신 수순에 따라, 네트워크(400)를 통해서 서로 데이터를 송수신한다. 이것에 의해, 시각 동기 장치(300)가, 슬레이브 클록(301)의 시각을 마스터 클록(201)의 시각에 맞출 수 있다.The
마스터 장치(200)의 송신부(210)는, 시각 동기 장치(300)에 제 1 데이터(401)를 송신한다.The transmitting
시각 동기 장치(300)의 수신부(310)는, 마스터 장치(200)로부터 제 1 데이터(401)를 수신한다.The receiving
시각 동기 장치(300)의 송신부(320)는, 수신부(310)에 의해 제 1 데이터(401)가 수신된 후에, 마스터 장치(200)에 제 2 데이터(402)를 송신한다.The transmitting
마스터 장치(200)의 수신부(220)는, 시각 동기 장치(300)로부터 제 2 데이터(402)를 수신한다.The receiving
마스터 장치(200)의 기록부(230)는, 마스터 클록(201)을 이용하여, 송신부(210)에서의 제 1 데이터(401)의 송신 시각과 수신부(220)에서의 제 2 데이터(402)의 수신 시각을 기록한다.The
마스터 장치(200)의 보정부(240)는, 기록부(230)에 의해 기록된 제 1 데이터(401)의 송신 시각과 제 2 데이터(402)의 수신 시각을 보정한다.The
마스터 장치(200)의 송신부(210)는, 시각 동기 장치(300)에, 적어도 보정부(240)에 의해 보정된 제 1 데이터(401)의 송신 시각을 통지하기 위한 제 3 데이터(403)와 적어도 보정부(240)에 의해 보정된 제 2 데이터(402)의 수신 시각을 통지하기 위한 제 4 데이터(404)를 송신한다. 이것에 의해, 송신부(210)는, 시각 동기 장치(300)에, 적어도 보정부(240)에 의해 보정된 제 1 데이터(401)의 송신 시각과 제 2 데이터(402)의 수신 시각을 통지한다.The
시각 동기 장치(300)의 수신부(310)는, 마스터 장치(200)로부터 제 3 데이터(403)와 제 4 데이터(404)를 수신한다.The receiving
시각 동기 장치(300)의 기록부(330)는, 슬레이브 클록(301)을 이용하여, 수신부(310)에서의 제 1 데이터(401)의 수신 시각과 송신부(320)에서의 제 2 데이터(402)의 송신 시각을 기록한다.The
시각 동기 장치(300)의 보정부(340)는, 기록부(330)에 의해 기록된 제 1 데이터(401)의 수신 시각과 제 2 데이터(402)의 송신 시각을 보정한다.The
시각 동기 장치(300)의 동기부(350)는, 적어도 마스터 장치(200)로부터 통지되는 마스터 장치(200)에서의 제 1 데이터(401)의 송신 시각과 보정부(340)에 의해 보정된 제 1 데이터(401)의 수신 시각과 보정부(340)에 의해 보정된 제 2 데이터(402)의 송신 시각과 마스터 장치(200)로부터 통지되는 마스터 장치(200)에서의 제 2 데이터(402)의 수신 시각으로부터, 오프셋(405)을 계산한다. 오프셋(405)은, 마스터 클록(201)과 슬레이브 클록(301)의 시각의 어긋남이다. 동기부(350)는, 오프셋(405)을 계산할 때에, 수신부(310)에 의해 수신된 제 3 데이터(403)와 제 4 데이터(404)를 참조한다. 즉, 동기부(350)는, 수신부(310)에 의해 수신된 제 3 데이터(403)로부터, 마스터 장치(200)에서의 제 1 데이터(401)의 송신 시각을 얻는다. 동기부(350)는, 수신부(310)에 의해 수신된 제 4 데이터(404)로부터, 마스터 장치(200)에서의 제 2 데이터(402)의 수신 시각을 얻는다.The synchronizing
본 실시의 형태에 있어서, 제 3 데이터(403)는, 마스터 장치(200)의 보정부(240)에 의해 보정된 제 1 데이터(401)의 송신 시각뿐만 아니라, 마스터 장치(200)의 기록부(230)에 의해 기록된 제 1 데이터(401)의 송신 시각도 통지하기 위한 데이터이다. 제 4 데이터(404)는, 보정부(240)에 의해 보정된 제 2 데이터(402)의 수신 시각뿐만 아니라, 기록부(230)에 의해 기록된 제 2 데이터(402)의 수신 시각도 통지하기 위한 데이터이다. 즉, 본 실시의 형태에서는, 마스터 장치(200)의 송신부(210)가, 시각 동기 장치(300)에, 기록부(230)에 의해 기록된 제 1 데이터(401)의 송신 시각과 제 2 데이터(402)의 수신 시각을 더 통지한다. 이 때문에, 시각 동기 장치(300)의 동기부(350)는, 오프셋(405)을 계산할 때에, 마스터 장치(200)의 기록부(230)에 의해 기록된 제 1 데이터(401)의 송신 시각과 마스터 장치(200)의 보정부(240)에 의해 보정된 제 1 데이터(401)의 송신 시각의 양쪽을, 마스터 장치(200)로부터 통지되는 마스터 장치(200)에서의 제 1 데이터(401)의 송신 시각으로서 이용한다. 또한, 시각 동기 장치(300)의 동기부(350)는, 오프셋(405)을 계산할 때에, 마스터 장치(200)의 기록부(230)에 의해 기록된 제 2 데이터(402)의 수신 시각과 마스터 장치(200)의 보정부(240)에 의해 보정된 제 2 데이터(402)의 수신 시각의 양쪽을, 마스터 장치(200)로부터 통지되는 마스터 장치(200)에서의 제 2 데이터(402)의 수신 시각으로서 이용한다.In this embodiment, the third data 403 includes not only the transmission time of the first data 401 corrected by the
본 실시의 형태에 있어서, 동기부(350)는, 오프셋(405)을 계산할 때에, 보정부(340)에 의해 보정된 제 1 데이터(401)의 수신 시각뿐만 아니라, 기록부(330)에 의해 기록된 제 1 데이터(401)의 수신 시각도 이용한다. 또한, 동기부(350)는, 오프셋(405)을 계산할 때에, 보정부(340)에 의해 보정된 제 2 데이터(402)의 송신 시각뿐만 아니라, 기록부(330)에 의해 기록된 제 2 데이터(402)의 송신 시각도 이용한다.In this embodiment, when calculating the offset 405, the synchronizing
다시 말해, 본 실시의 형태에서는, 동기부(350)가, 마스터 장치(200)에서 기록된 제 1 데이터(401)의 송신 시각과 마스터 장치(200)에서 보정된 제 1 데이터(401)의 송신 시각과 기록부(330)에 의해 기록된 제 1 데이터(401)의 수신 시각과 보정부(340)에 의해 보정된 제 1 데이터(401)의 수신 시각과 기록부(330)에 의해 기록된 제 2 데이터(402)의 송신 시각과 보정부(340)에 의해 보정된 제 2 데이터(402)의 송신 시각과 마스터 장치(200)에서 기록된 제 2 데이터(402)의 수신 시각과 마스터 장치(200)에서 보정된 제 2 데이터(402)의 수신 시각으로부터, 오프셋(405)을 계산한다.In other words, in this embodiment, the synchronizing
구체적으로는, 동기부(350)는, 마스터 장치(200)에서 기록된 제 1 데이터(401)의 송신 시각과 마스터 장치(200)에서 보정된 제 1 데이터(401)의 송신 시각의 합계와, 기록부(330)에 의해 기록된 제 1 데이터(401)의 수신 시각과 보정부(340)에 의해 보정된 제 1 데이터(401)의 수신 시각의 합계의 차이, 및, 기록부(330)에 의해 기록된 제 2 데이터(402)의 송신 시각과 보정부(340)에 의해 보정된 제 2 데이터(402)의 송신 시각의 합계와, 마스터 장치(200)에서 기록된 제 2 데이터(402)의 수신 시각과 마스터 장치(200)에서 보정된 제 2 데이터(402)의 수신 시각의 합계의 차이로부터, 오프셋(405)을 계산한다.More specifically, the
또, 제 3 데이터(403)는, 마스터 장치(200)의 기록부(230)에 의해 기록된 제 1 데이터(401)의 송신 시각만을 통지하기 위한 데이터이더라도 좋다. 제 4 데이터(404)는, 기록부(230)에 의해 기록된 제 2 데이터(402)의 수신 시각만을 통지하기 위한 데이터이더라도 좋다. 따라서, 마스터 장치(200)는, 보정부(240)를 구비하지 않더라도 좋다.The third data 403 may be data for notifying only the transmission time of the first data 401 recorded by the
마스터 장치(200)가 보정부(240)를 구비하지 않거나, 또는, 보정부(240)가 기록부(230)에 의해 기록된 제 1 데이터(401)의 송신 시각을 보정하지 않는 경우, 시각 동기 장치(300)의 보정부(340)는, 마스터 장치(200)로부터 통지되는 마스터 장치(200)에서의 제 1 데이터(401)의 송신 시각을 보정하더라도 좋다. 그 경우, 시각 동기 장치(300)의 동기부(350)는, 오프셋(405)을 계산할 때에, 마스터 장치(200)로부터 통지되는 마스터 장치(200)에서의 제 1 데이터(401)의 송신 시각과 함께, 보정부(340)에 의해 보정된 제 1 데이터(401)의 송신 시각을 이용할 수 있다.If the
마스터 장치(200)가 보정부(240)를 구비하지 않거나, 또는, 보정부(240)가 기록부(230)에 의해 기록된 제 2 데이터(402)의 수신 시각을 보정하지 않는 경우, 시각 동기 장치(300)의 보정부(340)는, 마스터 장치(200)로부터 통지되는 마스터 장치(200)에서의 제 2 데이터(402)의 수신 시각을 보정하더라도 좋다. 그 경우, 시각 동기 장치(300)의 동기부(350)는, 오프셋(405)을 계산할 때에, 마스터 장치(200)로부터 통지되는 마스터 장치(200)에서의 제 2 데이터(402)의 수신 시각과 함께, 보정부(340)에 의해 보정된 제 2 데이터(402)의 수신 시각을 이용할 수 있다.If the
***동작의 설명****** Description of operation ***
도 3 및 도 4 및 도 5를 참조하여, 시각 동기 시스템(100)의 동작을 설명한다. 시각 동기 시스템(100)의 동작은, 본 실시의 형태와 관련되는 시각 동기 방법에 상당한다.The operation of the
도 3은 제 1 데이터(401)의 송수신에 관련되는 동작을 나타내고 있다. 본 실시의 형태에서는, 제 1 데이터(401)의 송수신이 반복된다.Fig. 3 shows an operation related to transmission and reception of the first data 401. Fig. In the present embodiment, transmission and reception of the first data 401 are repeated.
스텝 S11에 있어서, 마스터 장치(200)의 송신부(210)는, 시각 동기 장치(300)에 제 1 데이터(401)를 반복하여 송신한다.In step S11, the transmitting
스텝 S12에 있어서, 시각 동기 장치(300)의 수신부(310)는, 마스터 장치(200)로부터 제 1 데이터(401)를 반복하여 수신한다.In step S12, the receiving
스텝 S13에 있어서, 마스터 장치(200)의 기록부(230)는, 송신부(210)에 의해 제 1 데이터(401)가 송신될 때마다, 마스터 클록(201)을 이용하여, 송신부(210)에서의 제 1 데이터(401)의 송신 시각을 기록한다.In step S13, the
스텝 S14에 있어서, 마스터 장치(200)의 보정부(240)는, 기록부(230)에 의해 제 1 데이터(401)의 송신 시각이 기록될 때마다, 난수를 생성하고, 생성한 난수를 이용하여, 기록부(230)에 의해 기록된 제 1 데이터(401)의 송신 시각의 보정치를 계산한다.In step S14, the correcting
스텝 S15에 있어서, 마스터 장치(200)의 송신부(210)는, 시각 동기 장치(300)에, 보정부(240)에 의해 계산된 제 1 데이터(401)의 송신 시각의 보정치를 통지하기 위한 데이터를 제 3 데이터(403)로서 송신한다.The transmitting
스텝 S16에 있어서, 시각 동기 장치(300)의 수신부(310)는, 마스터 장치(200)로부터 제 3 데이터(403)를 반복하여 수신한다.In step S16, the receiving
스텝 S17에 있어서, 시각 동기 장치(300)의 기록부(330)는, 수신부(310)에 의해 제 1 데이터(401)가 수신될 때마다, 슬레이브 클록(301)을 이용하여, 수신부(310)에서의 제 1 데이터(401)의 수신 시각을 기록한다.In step S17, the
스텝 S18에 있어서, 시각 동기 장치(300)의 보정부(340)는, 기록부(330)에 의해 제 1 데이터(401)의 수신 시각이 기록될 때마다, 난수를 생성하고, 생성한 난수를 이용하여, 기록부(330)에 의해 기록된 제 1 데이터(401)의 수신 시각의 보정치를 계산한다.In step S18, the correcting
후술하는 바와 같이, 시각 동기 장치(300)의 동기부(350)는, 오프셋(405)을 계산할 때에, 보정부(340)에 의해 계산된 제 1 데이터(401)의 수신 시각의 보정치를 제 1 데이터(401)의 수신 시각으로서 이용한다.The synchronizing
도 4는 제 2 데이터(402)의 송수신에 관련되는 동작을 나타내고 있다. 본 실시의 형태에서는, 제 2 데이터(402)의 송수신도 반복된다.Fig. 4 shows an operation related to transmission and reception of the
스텝 S21에 있어서, 시각 동기 장치(300)의 송신부(320)는, 수신부(310)에 의해 제 1 데이터(401)가 수신될 때마다, 마스터 장치(200)에 제 2 데이터(402)를 송신한다.The transmitting
스텝 S22에 있어서, 마스터 장치(200)의 수신부(220)는, 시각 동기 장치(300)로부터 제 2 데이터(402)를 반복하여 수신한다.The receiving
스텝 S23에 있어서, 마스터 장치(200)의 기록부(230)는, 수신부(220)에 의해 제 2 데이터(402)가 수신될 때마다, 마스터 클록(201)을 이용하여, 수신부(220)에서의 제 2 데이터(402)의 수신 시각을 기록한다.In step S23, the
스텝 S24에 있어서, 마스터 장치(200)의 보정부(240)는, 기록부(230)에 의해 제 2 데이터(402)의 수신 시각이 기록될 때마다, 난수를 생성하고, 생성한 난수를 이용하여, 기록부(230)에 의해 기록된 제 2 데이터(402)의 수신 시각의 보정치를 계산한다.In step S24, the correcting
스텝 S25에 있어서, 마스터 장치(200)의 송신부(210)는, 시각 동기 장치(300)에, 보정부(240)에 의해 계산된 제 2 데이터(402)의 수신 시각의 보정치를 통지하기 위한 데이터를 제 4 데이터(404)로서 송신한다.The
스텝 S26에 있어서, 시각 동기 장치(300)의 수신부(310)는, 마스터 장치(200)로부터 제 4 데이터(404)를 반복하여 수신한다.In step S26, the receiving
스텝 S27에 있어서, 시각 동기 장치(300)의 기록부(330)는, 송신부(320)에 의해 제 2 데이터(402)가 송신될 때마다, 슬레이브 클록(301)을 이용하여, 송신부(320)에서의 제 2 데이터(402)의 송신 시각을 기록한다.The
스텝 S28에 있어서, 시각 동기 장치(300)의 보정부(340)는, 기록부(330)에 의해 제 2 데이터(402)의 송신 시각이 기록될 때마다, 난수를 생성하고, 생성한 난수를 이용하여, 기록부(330)에 의해 기록된 제 2 데이터(402)의 송신 시각의 보정치를 계산한다.In step S28, the correcting
후술하는 바와 같이, 시각 동기 장치(300)의 동기부(350)는, 오프셋(405)을 계산할 때에, 보정부(340)에 의해 계산된 제 2 데이터(402)의 송신 시각의 보정치를 제 2 데이터(402)의 송신 시각으로서 이용한다.The synchronizing
본 실시의 형태에서는, 상기와 같이, 제 1 데이터(401)와 제 2 데이터(402)와 제 3 데이터(403)와 제 4 데이터(404)를 1개씩 순서대로 송수신하는 통신 수순이 반복된다.In this embodiment, as described above, the communication procedure for transmitting and receiving the first data 401, the
도 5는 오프셋(405)을 계산하는 동작을 나타내고 있다.FIG. 5 shows an operation for calculating the offset 405. FIG.
스텝 S31에 있어서, 시각 동기 장치(300)의 동기부(350)는, 수신부(310)에 의해 제 1 데이터(401)가 수신될 때마다, 오프셋(405)을 계산한다. 즉, 동기부(350)는, 1회의 통신 수순에 대하여, 1개의 오프셋(405)을 계산한다.In step S31, the
스텝 S32에 있어서, 시각 동기 장치(300)의 동기부(350)는, 오프셋(405)의 복수의 계산치를 축적한다. 즉, 동기부(350)는, 2회 이상의 통신 수순에 대응하는 2개 이상의 오프셋(405)을 축적한다.In step S32, the
스텝 S33에 있어서, 시각 동기 장치(300)의 동기부(350)는, 축적한 복수의 계산치의 통계 처리를 행한다. 동기부(350)는, 그 통계 처리의 결과에 따라, 슬레이브 클록(301)의 시각을 조정한다. 구체적으로는, 동기부(350)는, 축적한 복수의 계산치의 평균을 통계 처리의 결과로서 이용하여, 슬레이브 클록(301)의 시각을 조정한다. 이것에 의해, 마스터 클록(201)의 시각과 슬레이브 클록(301)의 시각이 동기된다.In step S33, the
본 실시의 형태에서는, 전술한 바와 같이, IEEE 1588의 원리가 이용된다. 즉, 제 1 데이터(401)와 제 2 데이터(402)와 제 3 데이터(403)와 제 4 데이터(404)가 동기 프레임으로서 송수신된다. 구체적으로는, 제 1 데이터(401)가 Sync 메시지로서 송수신되고, 제 2 데이터(402)가 Follow_Up 메시지로서 송수신되고, 제 3 데이터(403)가 Delay_Req 메시지로서 송수신되고, 제 4 데이터(404)가 Delay_Resp 메시지로서 송수신된다.In this embodiment, as described above, the principle of IEEE 1588 is used. That is, the first data 401, the
마스터 장치(200)와 시각 동기 장치(300)의 사이의 편도의 지연이 왕복의 지연의 반이라고 가정하면, 기록부(330)에 의해 기록된 제 1 데이터(401)의 수신 시각과 보정부(340)에 의해 보정된 제 1 데이터(401)의 수신 시각의 합계로부터, 제 3 데이터(403)에 의해 통지된, 마스터 장치(200)에서 기록된 제 1 데이터(401)의 송신 시각과 마스터 장치(200)에서 보정된 제 1 데이터(401)의 송신 시각의 합계를 뺀 값과, 제 4 데이터(404)에 의해 통지된, 마스터 장치(200)에서 기록된 제 2 데이터(402)의 수신 시각과 마스터 장치(200)에서 보정된 제 2 데이터(402)의 수신 시각의 합계로부터, 기록부(330)에 의해 기록된 제 2 데이터(402)의 송신 시각과 보정부(340)에 의해 보정된 제 2 데이터(402)의 송신 시각의 합계를 뺀 값의 합계를 4로 나눈 값이, 편도의 지연이 된다. 그리고, 기록부(330)에 의해 기록된 제 1 데이터(401)의 수신 시각과 보정부(340)에 의해 보정된 제 1 데이터(401)의 수신 시각의 합계로부터, 마스터 장치(200)에서 기록된 제 1 데이터(401)의 송신 시각과 마스터 장치(200)에서 보정된 제 1 데이터(401)의 송신 시각의 합계를 뺀 값을 2로 나눈 값과, 마스터 장치(200)에서 기록된 제 2 데이터(402)의 수신 시각과 마스터 장치(200)에서 보정된 제 2 데이터(402)의 수신 시각의 합계로부터, 기록부(330)에 의해 기록된 제 2 데이터(402)의 송신 시각과 보정부(340)에 의해 보정된 제 2 데이터(402)의 송신 시각의 합계를 뺀 값을 2로 나눈 값 중 어느 한쪽으로부터, 편도의 지연을 뺀 값이, 오프셋(405)이 된다.Assuming that the delay of the one-way between the
즉, 오프셋(405)을 T_offset, 마스터 장치(200)의 기록부(230)에 의해 기록된 제 1 데이터(401)의 송신 시각을 T_m1, T_m1의 보정치를 T_m1', 시각 동기 장치(300)의 기록부(330)에 의해 기록된 제 1 데이터(401)의 수신 시각을 T_s1, T_s1의 보정치를 T_s1', 시각 동기 장치(300)의 기록부(330)에 의해 기록된 제 2 데이터(402)의 송신 시각을 T_s2, T_s2의 보정치를 T_s2', 마스터 장치(200)의 기록부(230)에 의해 기록된 제 2 데이터(402)의 수신 시각을 T_m2, T_m2의 보정치를 T_m2'로 했을 때, T_offset=((T_s1+T_s1')-(T_m1+T_m1'))/2-(((T_s1+T_s1')-(T_m1+T_m1'))+((T_m2+T_m2')-(T_s2+T_s2')))/4=(((T_s1+T_s1')-(T_m1+T_m1'))-((T_m2+T_m2')-(T_s2+T_s2')))/4, 또는, T_offset=((T_m2+T_m2')-(T_s2+T_s2'))/2-(((T_s1+T_s1')-(T_m1+T_m1'))+((T_m2+T_m2')-(T_s2+T_s2')))/4=-(((T_s1+T_s1')-(T_m1+T_m1'))-((T_m2+T_m2')-(T_s2+T_s2')))/4가 된다. 스텝 S31에서는, 이와 같은 계산식을 이용하여 오프셋(405)을 구할 수 있다.That is, the offset 405 is T_offset, the transmission time of the first data 401 recorded by the recording unit 230 of the master device 200 is T_m1, the correction value of T_m1 is T_m1 ' The reception time of the first data 401 recorded by the time synchronization unit 330 is T_s1, the correction value of T_s1 is T_s1 ', the transmission time of the second data 402 recorded by the recording unit 330 of the time synchronization device 300 T_m2 ', and the correction value of T_m2 is T_m2', the correction value of T_s2 and T_s2 is T_s2 ', the reception time of the second data 402 recorded by the recording unit 230 of the master device 200 is T_m2, T_s1 + T_s1 ') - (T_m1 + T_m1')) / 2 - ((T_s1 + T_s1 ') - (T_m1 + T_m1')) + T_m2 + T_m2 ' (T_m2 + T_m2 ') - (T_s2 + T_s2')) / 4 or T_offset = ((T_m2 + T_m2 ') - (T_s2 + T_s2 ')) / 2 - (((T_s1 + T_s1') - (T_m1 + T_m1 ')) + ((T_m2 + T_m2' T_s1 + T_s1 ') - (T_m1 + T_m1')) - ((T_m2 + T_m2 ') - (T_s2 + T_s2')) / 4. In step S31, the offset 405 can be obtained by using such a calculation formula.
또, 보정부(340)에 의해 보정된 제 1 데이터(401)의 수신 시각으로부터, 제 3 데이터(403)에 의해 통지된 제 1 데이터(401)의 송신 시각을 뺀 값과, 제 4 데이터(404)에 의해 통지된 제 2 데이터(402)의 수신 시각으로부터, 보정부(340)에 의해 보정된 제 2 데이터(402)의 송신 시각을 뺀 값의 합계를 2로 나눈 값이, 편도의 지연이 된다고 간주하더라도 좋다. 이 경우, 보정부(340)에 의해 보정된 제 1 데이터(401)의 수신 시각으로부터, 제 3 데이터(403)에 의해 통지된 제 1 데이터(401)의 송신 시각을 뺀 값과, 제 4 데이터(404)에 의해 통지된 제 2 데이터(402)의 수신 시각으로부터, 보정부(340)에 의해 보정된 제 2 데이터(402)의 송신 시각을 뺀 값 중 어느 한쪽으로부터, 편도의 지연을 뺀 값이, 오프셋(405)이 된다.A value obtained by subtracting the transmission time of the first data 401 notified by the third data 403 from the reception time of the first data 401 corrected by the
즉, 스텝 S31에서는, T_offset=(T_s1'-T_m1')-((T_s1'-T_m1')+(T_m2'-T_s2'))/2=((T_s1'-T_m1')-(T_m2'-T_s2'))/2, 또는, T_offset=(T_m2'-T_s2')-((T_s1'-T_m1')+(T_m2'-T_s2'))/2=-((T_s1'-T_m1')-(T_m2'-T_s2'))/2라고 하는 계산식을 이용하여 오프셋(405)을 구하더라도 좋다.That is, in step S31, T_offset = (T_s1'-T_m1 ') - ((T_s1'-T_m1') + T_m2'-T_s2 ') / 2 = T_m1 '- (T_m1' - T_m2 ') / 2 or T_offset = (T_m2'-T_s2') - ((T_s1'-T_m1 ') + '-T_s2')) / 2, the offset 405 may be obtained.
도 6을 참조하여, 마스터 장치(200) 및 시각 동기 장치(300)의 실장의 예를 설명한다.An example of mounting of the
시각 동기 장치(300)의 수신부(310) 및 송신부(320)의 기능은, PHY(302) 및 MAC(303)(Media Access Control)에 실장된다. PHY(302) 및 MAC(303)는, 시각 동기 장치(300)에 내장되는 하드웨어이다. 구체적으로는, PHY(302)는, OSI 참조 모델의 물리층의 처리를 행하는 칩이고, MAC(303)는, OSI 참조 모델의 데이터 링크층의 처리를 행하는 칩이다. 또, PHY(302) 및 MAC(303)는, 동일한 칩에 통합되어 있더라도 좋다.The functions of the receiving
동일하게, 마스터 장치(200)의 송신부(210) 및 수신부(220)의 기능도, PHY(202) 및 MAC(203)에 실장된다. PHY(202)는, 물리층의 처리를 행하는 칩이고, MAC(203)는, 데이터 링크층의 처리를 행하는 칩이다.Similarly, the functions of the transmitting
시각 동기 장치(300)의 기록부(330)의 기능은, MAC 드라이버(304)에 실장된다. MAC 드라이버(304)는, 시각 동기 장치(300)에 탑재되는 소프트웨어이다. 구체적으로는, MAC 드라이버(304)는, MAC(303)를 제어 및 조작하기 위해 OS(305)에 의해 이용되는 미들웨어이다. MAC 드라이버(304)는, 슬레이브 클록(301)을 이용하여 타임 스탬프를 생성하는 소프트웨어 타임 스탬프 기능을 갖는다.The function of the
동일하게, 마스터 장치(200)의 기록부(230)의 기능도, MAC 드라이버(204)에 실장된다. MAC 드라이버(204)는, MAC(203)를 제어 및 조작하기 위해 OS(205)에 의해 이용되는 미들웨어이다. MAC 드라이버(204)는, 마스터 클록(201)을 이용하여 타임 스탬프를 생성하는 소프트웨어 타임 스탬프 기능을 갖는다.Similarly, the function of the
시각 동기 장치(300)의 보정부(340) 및 동기부(350)의 기능은, 시각 동기 애플리케이션(306)에 실장된다. 시각 동기 애플리케이션(306)은, 시각 동기 장치(300)에 탑재되는 소프트웨어이다. 구체적으로는, 시각 동기 애플리케이션(306)은, 다른 애플리케이션(307)과 함께 OS(305) 상에서 동작하는 애플리케이션 프로그램이다. 시각 동기 애플리케이션(306)은, MAC 드라이버(304)에 의해 생성되는 타임 스탬프의 변동을 보정하기 위한 보정 테이블(308)을 관리한다.The functions of the
동일하게, 마스터 장치(200)의 보정부(240)의 기능도, 시각 동기 애플리케이션(206)에 실장된다. 시각 동기 애플리케이션(206)은, 다른 애플리케이션(207)과 함께 OS(205) 상에서 동작하는 애플리케이션 프로그램이다. 시각 동기 애플리케이션(206)은, MAC 드라이버(204)에 의해 생성되는 타임 스탬프의 변동을 보정하기 위한 보정 테이블(208)을 관리한다.Likewise, the function of the
시각을 송신하는 마스터 장치(200)와, 시각을 동기시키는 시각 동기 장치(300)는, 시각 동기에 관하여, 동일한 계층 구조를 갖는다. 이 계층 구조는, OS(205, 305) 및 시각 동기 애플리케이션(206, 306)에 대응하는 애플리케이션층, MAC 드라이버(204, 304) 및 MAC(203, 303)에 대응하는 데이터 링크층, PHY(202, 302)에 대응하는 물리층이라고 하는 3층 구조이다. 이와 같이, 본 실시의 형태와 관련되는 시각 동기 프로토콜에서는, 애플리케이션층으로부터, OSI 참조 모델의 트랜스포트층 및 네트워크층을 거치치 않고, 데이터 링크층이 직접 액세스된다.The
도 7을 참조하여, 도 6에 나타낸 예에 있어서의 마스터 장치(200) 및 시각 동기 장치(300)의 동작을 설명한다.Operations of the
마스터 장치(200)가 동기 프레임으로서 Sync 메시지를 송신하는 스텝 S41에 있어서, 시각 동기 애플리케이션(206)은, Sync 메시지인 동기 프레임을 생성한다. 시각 동기 애플리케이션(206)은, 이 동기 프레임에는 시각을 저장하지 않는다. OS(205)는, 시각 동기 애플리케이션(206)에서 동기 프레임이 생성된 것을 검지하면, 우선적 인터럽트를 기동하고, 이 동기 프레임을 다른 프레임보다 먼저 MAC 드라이버(204)에 입력한다. MAC 드라이버(204)는, 동기 프레임이 입력된 시점에 소프트웨어 타임 스탬프를 생성함으로써, 동기 프레임의 송신 시각 T_m1을 기록한다. 그 후, MAC 드라이버(204)는, MAC(203)에 동기 프레임을 입력한다. MAC(203)는, PHY(202)로부터 동기 프레임을 송신한다. MAC 드라이버(204)는, 기록한 송신 시각 T_m1을 시각 동기 애플리케이션(206)에 피드백한다. 시각 동기 애플리케이션(206)은, MAC 드라이버(204)로부터 피드백된 송신 시각 T_m1을 보정 테이블(208)의 1행째의 비어 있는 열 중 최초의 열에 저장한다. 시각 동기 애플리케이션(206)은, 정규 분포에 따르는 난수를 생성하고, 생성한 난수를 보정 테이블(208)의 2행째의 동일한 열에 저장한다. 시각 동기 애플리케이션(206)은, 보정 테이블(208)의 1행째에 저장한 송신 시각 T_m1로부터, 보정 테이블(208)의 2행째에 저장한 난수를 뺌으로써, 송신 시각 T_m1의 변동을 보정한다. 시각 동기 애플리케이션(206)은, 보정된 송신 시각 T_m1'를 보정 테이블(208)의 3행째의 동일한 열에 저장한다. 또, 송신 시각 T_m1은, 송신 시각 T_m1로부터 난수를 빼는 대신에, 송신 시각 T_m1에 난수를 더하는 등, 다른 방법으로 보정되더라도 좋다. 또한, 송신 시각 T_m1, 난수, 보정된 송신 시각 T_m1'를 보정 테이블(208)의 몇 행째의 몇 열째에 저장할지는 적당히 변경할 수 있다.In step S41 in which the
시각 동기 장치(300)가 동기 프레임으로서 Sync 메시지를 수신하는 스텝 S51에 있어서, PHY(302)는, 마스터 장치(200)로부터 동기 프레임을 수신한다. PHY(302)는, 수신한 동기 프레임을 MAC(303)에 입력한다. MAC 드라이버(304)는, MAC(303)에 동기 프레임이 입력된 것을 검지한 시점에 소프트웨어 타임 스탬프를 생성함으로써, 동기 프레임의 수신 시각 T_s1을 기록한다. 그 후, MAC 드라이버(304)는, 기록한 수신 시각 T_s1을 시각 동기 애플리케이션(306)에 즉시 입력한다. 시각 동기 애플리케이션(306)은, MAC 드라이버(304)로부터 입력된 수신 시각 T_s1을 보정 테이블(308)의 1행째의 비어 있는 열 중 최초의 열에 저장한다. 시각 동기 애플리케이션(306)은, 정규 분포에 따르는 난수를 생성하고, 생성한 난수를 보정 테이블(308)의 2행째의 동일한 열에 저장한다. 시각 동기 애플리케이션(306)은, 보정 테이블(308)의 1행째에 저장한 수신 시각 T_s1로부터, 보정 테이블(308)의 2행째에 저장한 난수를 뺌으로써, 수신 시각 T_s1의 변동을 보정한다. 시각 동기 애플리케이션(306)은, 보정된 수신 시각 T_s1'를 보정 테이블(308)의 3행째의 동일한 열에 저장한다. 또, 수신 시각 T_s1은, 수신 시각 T_s1로부터 난수를 빼는 대신에, 수신 시각 T_s1에 난수를 더하는 등, 다른 방법으로 보정되더라도 좋다. 또한, 수신 시각 T_s1, 난수, 보정된 수신 시각 T_s1'를 보정 테이블(308)의 몇 행째의 몇 열째에 저장할지는 적당히 변경할 수 있다.In step S51 in which the
마스터 장치(200)가 동기 프레임으로서 Follow_Up 메시지를 송신하는 스텝 S42에 있어서, 시각 동기 애플리케이션(206)은, Follow_Up 메시지인 동기 프레임을 생성한다. 시각 동기 애플리케이션(206)은, 이 동기 프레임에, 보정 테이블(208)의 1행째 및 3행째에 저장한 보정 전 및 보정된 송신 시각 T_m1, T_m1'의 세트 중 마지막의 열에 저장한 보정 전 및 보정된 송신 시각 T_m1, T_m1'의 세트, 즉, 직전의 Sync 메시지의 보정 전 및 보정된 송신 시각 T_m1, T_m1'를 저장한다. OS(205)는, 시각 동기 애플리케이션(206)에서 동기 프레임이 생성된 것을 검지하면, 우선적 인터럽트를 기동하고, 이 동기 프레임을 다른 프레임보다 먼저 MAC 드라이버(204)에 입력한다. MAC 드라이버(204)는, 동기 프레임이 입력된 시점에 소프트웨어 타임 스탬프를 생성한다. 그러나, MAC 드라이버(204)는, 동기 프레임이 Follow_Up 메시지인 것을 검지하고, 생성한 타임 스탬프를 버퍼 등에 일정 시간 유지할 뿐 시각 동기 애플리케이션(206)에는 피드백하지 않는다. 그 후, MAC 드라이버(204)는, MAC(203)에 동기 프레임을 입력한다. MAC(203)는, PHY(202)로부터 동기 프레임을 송신한다.In step S42, in which the
시각 동기 장치(300)가 동기 프레임으로서 Follow_Up 메시지를 수신하는 스텝 S52에 있어서, PHY(302)는, 마스터 장치(200)로부터 동기 프레임을 수신한다. PHY(302)는, 수신한 동기 프레임을 MAC(303)에 입력한다. MAC 드라이버(304)는, MAC(303)에 동기 프레임이 입력된 것을 검지한 시점에 소프트웨어 타임 스탬프를 생성한다. 그러나, MAC 드라이버(304)는, 동기 프레임이 Follow_Up 메시지인 것을 검지하고, 생성한 타임 스탬프를 버퍼 등에 일정 시간 유지할 뿐 시각 동기 애플리케이션(306)에는 입력하지 않는다. 그 후, MAC 드라이버(304)는, 동기 프레임을, OS(305)를 통해서 시각 동기 애플리케이션(306)에 입력한다. 시각 동기 애플리케이션(306)은, MAC 드라이버(304)로부터 입력된 동기 프레임이 Follow_Up 메시지인 것을 검지하고, 동기 프레임에 저장된 보정 전 및 보정된 송신 시각 T_m1, T_m1'를 추출한다.In step S52 at which the
시각 동기 장치(300)가 동기 프레임으로서 Delay_Req 메시지를 송신하는 스텝 S53에 있어서, 시각 동기 애플리케이션(306)은, Delay_Req 메시지인 동기 프레임을 생성한다. 시각 동기 애플리케이션(306)은, 이 동기 프레임에는 시각을 저장하지 않는다. OS(305)는, 시각 동기 애플리케이션(306)에서 동기 프레임이 생성된 것을 검지하면, 우선적 인터럽트를 기동하고, 이 동기 프레임을 다른 프레임보다 먼저 MAC 드라이버(304)에 입력한다. MAC 드라이버(304)는, 동기 프레임이 입력된 시점에 소프트웨어 타임 스탬프를 생성함으로써, 동기 프레임의 송신 시각 T_s2를 기록한다. 그 후, MAC 드라이버(304)는, MAC(303)에 동기 프레임을 입력한다. MAC(303)는, PHY(302)로부터 동기 프레임을 송신한다. MAC 드라이버(304)는, 기록한 송신 시각 T_s2를 시각 동기 애플리케이션(306)에 피드백한다. 시각 동기 애플리케이션(306)은, MAC 드라이버(304)로부터 피드백된 송신 시각 T_s2를 보정 테이블(308)의 4행째의 비어 있는 열 중 최초의 열에 저장한다. 시각 동기 애플리케이션(306)은, 정규 분포에 따르는 난수를 생성하고, 생성한 난수를 보정 테이블(308)의 5행째의 동일한 열에 저장한다. 시각 동기 애플리케이션(306)은, 보정 테이블(308)의 4행째에 저장한 송신 시각 T_s2로부터, 보정 테이블(308)의 5행째에 저장한 난수를 뺌으로써, 송신 시각 T_s2의 변동을 보정한다. 시각 동기 애플리케이션(306)은, 보정된 송신 시각 T_s2'를 보정 테이블(308)의 6행째의 동일한 열에 저장한다. 또, 송신 시각 T_s2는, 송신 시각 T_s2로부터 난수를 빼는 대신에, 송신 시각 T_s2에 난수를 더하는 등, 다른 방법으로 보정되더라도 좋다. 또한, 송신 시각 T_s2, 난수, 보정된 송신 시각 T_s2'를 보정 테이블(308)의 몇 행째의 몇 열째에 저장할지는 적당히 변경할 수 있다.In step S53 in which the
마스터 장치(200)가 동기 프레임으로서 Delay_Req 메시지를 수신하는 스텝 S43에 있어서, PHY(202)는, 시각 동기 장치(300)로부터 동기 프레임을 수신한다. PHY(202)는, 수신한 동기 프레임을 MAC(203)에 입력한다. MAC 드라이버(204)는, MAC(203)에 동기 프레임이 입력된 것을 검지한 시점에 소프트웨어 타임 스탬프를 생성함으로써, 동기 프레임의 수신 시각 T_m2를 기록한다. 그 후, MAC 드라이버(204)는, 기록한 수신 시각 T_m2를 시각 동기 애플리케이션(206)에 즉시 입력한다. 시각 동기 애플리케이션(206)은, MAC 드라이버(204)로부터 입력된 수신 시각 T_m2를 보정 테이블(208)의 4행째의 비어 있는 열 중 최초의 열에 저장한다. 시각 동기 애플리케이션(206)은, 정규 분포에 따르는 난수를 생성하고, 생성한 난수를 보정 테이블(208)의 5행째의 동일한 열에 저장한다. 시각 동기 애플리케이션(206)은, 보정 테이블(208)의 4행째에 저장한 수신 시각 T_m2로부터, 보정 테이블(208)의 5행째에 저장한 난수를 뺌으로써, 수신 시각 T_m2의 변동을 보정한다. 시각 동기 애플리케이션(206)은, 보정된 수신 시각 T_m2'를 보정 테이블(208)의 6행째의 동일한 열에 저장한다. 또, 수신 시각 T_m2는, 수신 시각 T_m2로부터 난수를 빼는 대신에, 수신 시각 T_m2에 난수를 더하는 등, 다른 방법으로 보정되더라도 좋다. 또한, 수신 시각 T_m2, 난수, 보정된 수신 시각 T_m2'를 보정 테이블(208)의 몇 행째의 몇 열째에 저장할지는 적당히 변경할 수 있다.In step S43, in which the
마스터 장치(200)가 동기 프레임으로서 Delay_Resp 메시지를 송신하는 스텝 S44에 있어서, 시각 동기 애플리케이션(206)은, Delay_Resp 메시지인 동기 프레임을 생성한다. 시각 동기 애플리케이션(206)은, 이 동기 프레임에, 보정 테이블(208)의 4행째 및 6행째에 저장한 보정 전 및 보정된 수신 시각 T_m2, T_m2'의 세트 중 마지막의 열에 저장한 보정 전 및 보정된 수신 시각 T_m2, T_m2'의 세트, 즉, 직전의 Delay_Req 메시지의 보정 전 및 보정된 수신 시각 T_m2, T_m2'를 저장한다. OS(205)는, 시각 동기 애플리케이션(206)에서 동기 프레임이 생성된 것을 검지하면, 우선적 인터럽트를 기동하고, 이 동기 프레임을 다른 프레임보다 먼저 MAC 드라이버(204)에 입력한다. MAC 드라이버(204)는, 동기 프레임이 입력된 시점에 소프트웨어 타임 스탬프를 생성한다. 그러나, MAC 드라이버(204)는, 동기 프레임이 Delay_Resp 메시지인 것을 검지하고, 생성한 타임 스탬프를 버퍼 등에 일정 시간 유지할 뿐 시각 동기 애플리케이션(206)에는 피드백하지 않는다. 그 후, MAC 드라이버(204)는, MAC(203)에 동기 프레임을 입력한다. MAC(203)는, PHY(202)로부터 동기 프레임을 송신한다.In step S44, in which the
시각 동기 장치(300)가 동기 프레임으로서 Delay_Resp 메시지를 수신하는 스텝 S54에 있어서, PHY(302)는, 마스터 장치(200)로부터 동기 프레임을 수신한다. PHY(302)는, 수신한 동기 프레임을 MAC(303)에 입력한다. MAC 드라이버(304)는, MAC(303)에 동기 프레임이 입력된 것을 검지한 시점에 소프트웨어 타임 스탬프를 생성한다. 그러나, MAC 드라이버(304)는, 동기 프레임이 Delay_Resp 메시지인 것을 검지하고, 생성한 타임 스탬프를 버퍼 등에 일정 시간 유지할 뿐 시각 동기 애플리케이션(306)에는 입력하지 않는다. 그 후, MAC 드라이버(304)는, 동기 프레임을, OS(305)를 통해서 시각 동기 애플리케이션(306)에 입력한다. 시각 동기 애플리케이션(306)은, MAC 드라이버(304)로부터 입력된 동기 프레임이 Delay_Resp 메시지인 것을 검지하고, 동기 프레임에 저장된 보정 전 및 보정된 수신 시각 T_m2, T_m2'를 추출한다.In step S54 in which the
스텝 S54 후, 시각 동기 애플리케이션(306)은, 스텝 S51에서 보정 테이블(308)의 1행째 및 3행째에 저장한 보정 전 및 보정된 수신 시각 T_s1, T_s1'와, 스텝 S52에서 추출한 보정 전 및 보정된 송신 시각 T_m1, T_m1'와, 스텝 S53에서 보정 테이블(308)의 4행째 및 6행째에 저장한 보정 전 및 보정된 송신 시각 T_s2, T_s2'와, 스텝 S54에서 추출한 보정 전 및 보정된 수신 시각 T_m2, T_m2'를 이용하여, 오프셋(405)을 계산한다. 계산식으로서는, 전술한 바와 같이, T_offset=(((T_s1+T_s1')-(T_m1+T_m1'))-((T_m2+T_m2')-(T_s2+T_s2')))/4, 또는, T_offset=-(((T_s1+T_s1')-(T_m1+T_m1'))-((T_m2+T_m2')-(T_s2+T_s2')))/4를 이용할 수 있지만, 다른 식이 이용되더라도 좋다.After step S54, the
이후, 스텝 S41로부터 스텝 S44까지의 수순과 스텝 S51로부터 스텝 S54까지의 수순이 반복하여 실행된다.Thereafter, the procedure from step S41 to step S44 and the procedure from step S51 to step S54 are repeated.
***효과의 설명****** Explanation of effects ***
본 실시의 형태에서는, 소프트웨어 클록을 이용하여 기록되는 시각이 보정되기 때문에, 소프트웨어 베이스 실장에 의한 시각 동기 방식의 시각 동기 정밀도가 향상된다.In this embodiment, since the time recorded using the software clock is corrected, the time synchronization accuracy of the time synchronization method by the software base implementation is improved.
실시의 형태 2.Embodiment 2:
본 실시의 형태에 대하여, 주로 실시의 형태 1과의 차이를 설명한다.The difference from the first embodiment will mainly be described with respect to this embodiment.
도 8을 참조하여, 본 실시의 형태와 관련되는 시각 동기 시스템(100)의 구성의 예를 설명한다.An example of the configuration of the
본 예에서는, 도 1에 나타낸 예와 동일한 트리 형태의 네트워크 토폴로지가 채용되고 있다.In this example, the same network topology as the example shown in Fig. 1 is adopted.
실시의 형태 1에서는, 모든 서브네트워크 내부의 시각 동기에 제 2 시각 동기 방식(102)이 적용되지만, 본 실시의 형태에서는, 일부의 서브네트워크 내부의 시각 동기에 제 1 시각 동기 방식(101)이 적용된다.In the first embodiment, the second
따라서, GM(110)에 접속된 PLC(120) 중, 일부의 PLC(120)는, 제 1 시각 동기 방식(101)에 있어서의 시각 송신측의 단말이기도 하고, 마스터 장치(200) 및 시각 동기 장치(300)의 양쪽에 상당한다. 또한, 그 일부의 PLC(120)에 접속된 필드 디바이스(130)는, 제 1 시각 동기 방식(101)에 있어서의 시각 수신측의 단말이고, 시각 동기 장치(300)에 상당한다.Therefore, some
본 실시의 형태와 관련되는 마스터 장치(200) 및 시각 동기 장치(300)의 구성 및 동작에 대해서는, 실시의 형태 1의 것과 동일하다.The configuration and operation of the
실시의 형태 3.Embodiment 3
본 실시의 형태에 대하여, 주로 실시의 형태 1과의 차이를 설명한다.The difference from the first embodiment will mainly be described with respect to this embodiment.
도 9를 참조하여, 본 실시의 형태와 관련되는 시각 동기 시스템(100)의 구성의 예를 설명한다.An example of the configuration of the
본 예에서는, 라인 형태의 네트워크 토폴로지가 부분적으로 채용되고 있다. GM(110)에 3대의 PLC(120)가 직렬로 접속되어 있다. 이들 3대의 PLC(120)의 하위에는, 적어도 1대의 PLC(120) 또는 적어도 2대의 필드 디바이스(130)가 접속되고, 트리 형태의 서브네트워크가 구성되어 있다.In this example, a network topology in the form of a line is partially adopted. Three
GM(110)과, GM(110)에 직렬로 접속된 PLC(120)의 사이의 시각 동기에는, 제 1 시각 동기 방식(101)이 적용된다. GM(110)에 직렬로 접속된 PLC(120)끼리의 시각 동기에도, 제 1 시각 동기 방식(101)이 적용된다.The first
따라서, GM(110)에 직렬로 접속된 PLC(120) 중, 중간의 2대의 PLC(120)는, 제 1 시각 동기 방식(101)에 있어서의 시각 송신측의 단말이기도 하고, 마스터 장치(200) 및 시각 동기 장치(300)의 양쪽에 상당한다. 이와 같이, 본 실시의 형태는, 마스터 기능을 GM(110)과 2대의 PLC(120)에 분산한 형태로 되어 있다.Therefore, among the
또, GM(110)에 직렬로 접속된 PLC(120) 중, 중간의 2대의 PLC(120)는, 제 1 시각 동기 방식(101)에 있어서의 시각 송신측의 단말이 되지 않고, GM(110)과 다른 PLC(120)의 사이에서 송수신되는 동기 프레임을 단지 전송할 뿐이더라도 좋다. 그 경우, 중간의 2대의 PLC(120)는, 시각 동기 장치(300)에만 상당한다. 이와 같이, 본 실시의 형태는, 마스터 기능을 GM(110)에 집약한 형태로 변경할 수 있다.Of the
본 실시의 형태와 관련되는 마스터 장치(200) 및 시각 동기 장치(300)의 구성 및 동작에 대해서는, 실시의 형태 1의 것과 동일하다.The configuration and operation of the
이하에서는, 도 10을 참조하여, 본 발명의 실시의 형태와 관련되는 시각 동기 장치(300)의 하드웨어 구성의 예를 설명한다.Hereinafter, an example of the hardware configuration of the
시각 동기 장치(300)는, 컴퓨터이다. 시각 동기 장치(300)는, 프로세서(901), 보조 기억 장치(902), 메모리(903), 통신 장치(904), 입력 인터페이스(905), 디스플레이 인터페이스(906)라고 하는 하드웨어를 구비한다. 프로세서(901)는, 신호선(910)을 통해서 다른 하드웨어와 접속되고, 이러한 다른 하드웨어를 제어한다. 입력 인터페이스(905)는, 입력 장치(907)에 접속되어 있다. 디스플레이 인터페이스(906)는, 디스플레이(908)에 접속되어 있다.The
프로세서(901)는, 프로세싱을 행하는 IC(Integrated Circuit)이다. 프로세서(901)는, 예컨대, CPU(Central Processing Unit), DSP(Digital Signal Processor), 또는, GPU(Graphics Processing Unit)이다.The
보조 기억 장치(902)는, ROM(Read Only Memory), 플래시 메모리, 또는, HDD(Hard Disk Drive) 등의 기록 매체이다.The
메모리(903)는, 예컨대, RAM(Random Access Memory)이다.The
통신 장치(904)는, 데이터를 수신하는 리시버(921) 및 데이터를 송신하는 트랜스미터(922)를 포함한다. 통신 장치(904)는, 예컨대, 통신 칩 또는 NIC(Network Interface Card)이다.The
입력 인터페이스(905)는, 입력 장치(907)의 케이블(911)이 접속되는 포트이다. 입력 인터페이스(905)는, 예컨대, USB(Universal Serial Bus) 단자이다.The
디스플레이 인터페이스(906)는, 디스플레이(908)의 케이블(912)이 접속되는 포트이다. 디스플레이 인터페이스(906)는, 예컨대, USB 단자 또는 HDMI(등록상표)(High Definition Multimedia Interface) 단자이다.
입력 장치(907)는, 예컨대, 마우스, 터치 펜, 키보드, 또는, 터치 패널이다.The
디스플레이(908)는, 예컨대, LCD(Liquid Crystal Display)이다.The
보조 기억 장치(902)에는, 수신부(310), 송신부(320), 기록부(330), 보정부(340), 동기부(350)라고 하는 「부」의 기능을 실현하는 프로그램이 기억되어 있다. 이 프로그램은, 메모리(903)에 로드되고, 프로세서(901)에 읽히고, 프로세서(901)에 의해 실행된다. 보조 기억 장치(902)에는, OS도 기억되어 있다. OS의 적어도 일부가 메모리(903)에 로드되고, 프로세서(901)는 OS를 실행하면서, 「부」의 기능을 실현하는 프로그램을 실행한다.The
도 10에서는, 1개의 프로세서(901)가 나타내어지고 있지만, 시각 동기 장치(300)가 복수의 프로세서(901)를 구비하고 있더라도 좋다. 그리고, 복수의 프로세서(901)가 「부」의 기능을 실현하는 프로그램을 협동하여 실행하더라도 좋다.In Fig. 10, one
「부」의 처리의 결과를 나타내는 정보나 데이터나 신호치나 변수치는, 보조 기억 장치(902), 메모리(903), 또는, 프로세서(901) 내의 레지스터 또는 캐시 메모리에 기억된다.Information indicating the result of the processing of " part " and data and signal values and variable values are stored in the
「부」를 「서킷트리」로 제공하더라도 좋다. 또한, 「부」를 「회로」 또는 「공정」 또는 「수순」 또는 「처리」로 바꾸어 읽더라도 좋다. 「회로」 및 「서킷트리」는, 프로세서(901)뿐만 아니라, 로직 IC, GA(Gate Array), ASIC(Application Specific Integrated Circuit), FPGA(Field-Programmable Gate Array)라고 하는 다른 종류의 처리 회로도 포함하는 개념이다.Quot; part " may be provided as a " circuit tree ". Also, the term " part " may be read by switching to " circuit " or " process " Circuit " and " circuit tree " include not only the
또, 도 10에 나타낸 하드웨어 구성은, 본 발명의 실시의 형태와 관련되는 마스터 장치(200)에도 적용할 수 있다.The hardware configuration shown in Fig. 10 can also be applied to the
이상, 본 발명의 실시의 형태에 대하여 설명했지만, 이러한 실시의 형태 중, 몇몇을 조합하여 실시하더라도 상관없다. 혹은, 이러한 실시의 형태 중, 어느 1개 또는 몇몇을 부분적으로 실시하더라도 상관없다. 예컨대, 이러한 실시의 형태의 설명에 있어서 「부」로서 설명하는 것 중, 어느 1개만을 채용하더라도 좋고, 몇몇의 임의의 조합을 채용하더라도 좋다. 또, 본 발명은, 이러한 실시의 형태로 한정되는 것이 아니고, 필요에 따라서 다양한 변경이 가능하다.Although the embodiment of the present invention has been described above, some of these embodiments may be combined. Alternatively, any one or several of these embodiments may be partially implemented. For example, in the description of the embodiment, any one of the components described as " part " may be employed, or any combination of several may be employed. The present invention is not limited to these embodiments, and various modifications are possible as needed.
100 : 시각 동기 시스템
101 : 제 1 시각 동기 방식
102 : 제 2 시각 동기 방식
110 : GM
120 : PLC
130 : 필드 디바이스
200 : 마스터 장치
201 : 마스터 클록
202 : PHY
203 : MAC
204 : MAC 드라이버
205 : OS
206 : 시각 동기 애플리케이션
207 : 다른 애플리케이션
208 : 보정 테이블
210 : 송신부
220 : 수신부
230 : 기록부
240 : 보정부
300 : 시각 동기 장치
301 : 슬레이브 클록
302 : PHY
303 : MAC
304 : MAC 드라이버
305 : OS
306 : 시각 동기 애플리케이션
307 : 다른 애플리케이션
308 : 보정 테이블
310 : 수신부
320 : 송신부
330 : 기록부
340 : 보정부
350 : 동기부
400 : 네트워크
401 : 제 1 데이터
402 : 제 2 데이터
403 : 제 3 데이터
404 : 제 4 데이터
405 : 오프셋
901 : 프로세서
902 : 보조 기억 장치
903 : 메모리
904 : 통신 장치
905 : 입력 인터페이스
906 : 디스플레이 인터페이스
907 : 입력 장치
908 : 디스플레이
910 : 신호선
911 : 케이블
912 : 케이블
921 : 리시버
922 : 트랜스미터100: Time synchronization system
101: First time synchronization method
102: Second time synchronization method
110: GM
120: PLC
130: Field device
200: Master device
201: Master Clock
202: PHY
203: MAC
204: MAC driver
205: OS
206: Time Synchronization Application
207: Other applications
208: correction table
210:
220:
230:
240:
300: time synchronization device
301: Slave clock
302: PHY
303: MAC
304: MAC driver
305: OS
306: Time Synchronization Application
307: Another application
308: correction table
310:
320:
330:
340:
350: Synchronization
400: Network
401: first data
402: second data
403: Third data
404: fourth data
405: Offset
901: Processor
902: Auxiliary storage
903: Memory
904: Communication device
905: input interface
906: Display Interface
907: Input device
908: Display
910: Signal line
911: Cable
912: Cable
921: Receiver
922: Transmitter
Claims (11)
상기 수신부에 의해 상기 제 1 데이터가 수신된 후에, 상기 마스터 장치에 제 2 데이터를 송신하는 송신부와,
소프트웨어 클록인 슬레이브 클록을 이용하여, 상기 수신부에서의 상기 제 1 데이터의 수신 시각과 상기 송신부에서의 상기 제 2 데이터의 송신 시각을 기록하는 기록부와,
정규 분포에 따른 난수를 이용하여, 상기 기록부에 의해 기록된 상기 제 1 데이터의 수신 시각을 보정하고, 정규 분포에 따른 난수를 이용하여, 상기 기록부에 의해 기록된 상기 제 2 데이터의 송신 시각을 보정하는 보정부와,
상기 마스터 장치로부터 통지되는 상기 마스터 장치에서 기록된 상기 제 1 데이터의 송신 시각과 상기 마스터 장치에서 정규 분포에 따른 난수를 이용하여 보정된 상기 제 1 데이터의 송신 시각의 합계와, 상기 기록부에 의해 기록된 상기 제 1 데이터의 수신 시각과 상기 보정부에 의해 보정된 상기 제 1 데이터의 수신 시각의 합계의 차이, 및, 상기 기록부에 의해 기록된 상기 제 2 데이터의 송신 시각과 상기 보정부에 의해 보정된 상기 제 2 데이터의 송신 시각의 합계와, 상기 마스터 장치로부터 통지되는 상기 마스터 장치에서 기록된 상기 제 2 데이터의 수신 시각과 상기 마스터 장치에서 정규 분포에 따른 난수를 이용하여 보정된 상기 제 2 데이터의 수신 시각의 합계의 차이로부터, 상기 마스터 클록과 상기 슬레이브 클록의 시각의 어긋남인 오프셋을 계산하는 동기부
를 구비하는 시각 동기 장치.
A receiver for receiving first data from a master device having a master clock;
A transmitting unit that transmits second data to the master device after the first data is received by the receiving unit;
A recording unit for recording the reception time of the first data and the transmission time of the second data in the transmission unit using the slave clock which is a software clock,
Corrects the reception time of the first data recorded by the recording unit using a random number according to the normal distribution and corrects the transmission time of the second data recorded by the recording unit using a random number according to the normal distribution However,
A sum of a transmission time of the first data recorded in the master device notified from the master device and a transmission time of the first data corrected using a random number in accordance with a normal distribution in the master device, A difference between a reception time of the first data and a reception time of the first data corrected by the correction unit and a difference between a transmission time of the second data recorded by the recording unit and a correction time The second data being corrected using the sum of the transmission time of the second data transmitted from the master device and the reception time of the second data recorded by the master device notified from the master device, From the difference between the master clock and the time of the slave clock, Calculating synchronization
And a time synchronization unit.
상기 수신부는, 상기 마스터 장치로부터 상기 제 1 데이터를 반복하여 수신하고,
상기 기록부는, 상기 수신부에 의해 상기 제 1 데이터가 수신될 때마다, 상기 수신부에서의 상기 제 1 데이터의 수신 시각을 기록하고,
상기 보정부는, 상기 기록부에 의해 상기 제 1 데이터의 수신 시각이 기록될 때마다, 상기 정규 분포에 따른 난수를 생성하고, 생성한 난수를 이용하여, 상기 기록부에 의해 기록된 상기 제 1 데이터의 수신 시각의 보정치를 계산하고,
상기 동기부는, 상기 오프셋을 계산할 때에, 상기 보정부에 의해 계산된 상기 제 1 데이터의 수신 시각의 보정치를 상기 제 1 데이터의 수신 시각으로서 이용하는
시각 동기 장치.
The method according to claim 1,
Wherein the receiving unit repeatedly receives the first data from the master device,
Wherein the recording unit records the reception time of the first data at the reception unit every time the first data is received by the reception unit,
Wherein the correction section generates a random number according to the normal distribution every time the reception time of the first data is recorded by the recording section and uses the generated random number to receive the first data recorded by the recording section The correction value of the time is calculated,
Wherein the synchronizing unit uses the correction value of the reception time of the first data calculated by the correcting unit as the reception time of the first data when calculating the offset
Time synchronization device.
상기 송신부는, 상기 수신부에 의해 상기 제 1 데이터가 수신될 때마다, 상기 마스터 장치에 상기 제 2 데이터를 송신하고,
상기 기록부는, 상기 송신부에 의해 상기 제 2 데이터가 송신될 때마다, 상기 송신부에서의 상기 제 2 데이터의 송신 시각을 기록하고,
상기 보정부는, 상기 기록부에 의해 상기 제 2 데이터의 송신 시각이 기록될 때마다, 상기 정규 분포에 따른 난수를 생성하고, 생성한 난수를 이용하여, 상기 기록부에 의해 기록된 상기 제 2 데이터의 송신 시각의 보정치를 계산하고,
상기 동기부는, 상기 오프셋을 계산할 때에, 상기 보정부에 의해 계산된 상기 제 2 데이터의 송신 시각의 보정치를 상기 제 2 데이터의 송신 시각으로서 이용하는
시각 동기 장치.
3. The method of claim 2,
Wherein the transmitting unit transmits the second data to the master device every time the first data is received by the receiving unit,
Wherein the recording unit records the transmission time of the second data at the transmission unit every time the second data is transmitted by the transmission unit,
Wherein the correction unit generates a random number according to the normal distribution every time the transmission time of the second data is recorded by the recording unit and uses the generated random number to transmit the second data recorded by the recording unit The correction value of the time is calculated,
And the synchronization unit uses the correction value of the transmission time of the second data calculated by the correcting unit as the transmission time of the second data when calculating the offset
Time synchronization device.
상기 동기부는, 상기 수신부에 의해 상기 제 1 데이터가 수신될 때마다, 상기 오프셋을 계산하고, 상기 오프셋의 복수의 계산치를 축적하고, 축적한 복수의 계산치의 통계 처리를 행하고, 상기 통계 처리의 결과에 따라, 상기 슬레이브 클록의 시각을 조정하는 시각 동기 장치.
3. The method of claim 2,
Wherein the synchronizing unit calculates the offset each time the first data is received by the receiving unit, accumulates a plurality of calculated values of the offset, performs statistical processing on the stored plurality of calculated values, To adjust the time of the slave clock.
상기 동기부는, 축적한 복수의 계산치의 평균을 상기 통계 처리의 결과로서 이용하여, 상기 슬레이브 클록의 시각을 조정하는 시각 동기 장치.
5. The method of claim 4,
Wherein the synchronization unit uses the average of the accumulated calculation values as a result of the statistical processing to adjust the time of the slave clock.
상기 수신부는, 상기 마스터 장치로부터, 상기 마스터 장치에서의 상기 제 1 데이터의 송신 시각을 통지하기 위한 제 3 데이터와 상기 마스터 장치에서의 상기 제 2 데이터의 수신 시각을 통지하기 위한 제 4 데이터를 수신하고,
상기 동기부는, 상기 오프셋을 계산할 때에, 상기 수신부에 의해 수신된 상기 제 3 데이터와 상기 제 4 데이터를 참조하는
시각 동기 장치.
The method according to claim 1,
The receiving section receives from the master device third data for notifying the master device of the transmission time of the first data and fourth data for notifying the reception time of the second data in the master device and,
Wherein the synchronizing unit refers to the third data and the fourth data received by the receiving unit when calculating the offset
Time synchronization device.
소프트웨어 클록인 마스터 클록을 이용하여, 상기 제 1 데이터의 송신 시각과 상기 제 2 데이터의 수신 시각을 기록하고, 기록한 상기 제 1 데이터의 송신 시각과 상기 제 2 데이터의 수신 시각을 보정하고, 상기 시각 동기 장치에, 기록한 상기 제 1 데이터의 송신 시각과 상기 제 2 데이터의 수신 시각과, 보정한 상기 제 1 데이터의 송신 시각과 상기 제 2 데이터의 수신 시각을 통지하는 마스터 장치
를 구비하는 시각 동기 시스템.A time synchronization device according to any one of claims 1 to 6,
A transmission time of the first data and a reception time of the second data are recorded by using a master clock which is a software clock and the transmission time of the first data and the reception time of the second data are corrected, The master device notifies the synchronizing apparatus of the transmission time of the first data recorded and the reception time of the second data and the transmission time of the corrected first data and the reception time of the second data,
And the time synchronization system.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/066503 WO2016199196A1 (en) | 2015-06-08 | 2015-06-08 | Time synchronization device, time synchronization system, and time synchronization method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170125405A KR20170125405A (en) | 2017-11-14 |
KR101847366B1 true KR101847366B1 (en) | 2018-04-09 |
Family
ID=57504772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177031526A KR101847366B1 (en) | 2015-06-08 | 2015-06-08 | Time synchronization device and time synchronization system |
Country Status (7)
Country | Link |
---|---|
JP (1) | JP6261822B2 (en) |
KR (1) | KR101847366B1 (en) |
CN (1) | CN107636627B (en) |
DE (1) | DE112015006604B4 (en) |
SG (1) | SG11201709362WA (en) |
TW (1) | TWI599863B (en) |
WO (1) | WO2016199196A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190013077A (en) * | 2017-07-31 | 2019-02-11 | 한국전기연구원 | Clock synchronization error compensation system and method for compensating clock synchronization error between master and slave in EtherCAT networks |
US11050501B2 (en) * | 2018-06-14 | 2021-06-29 | Microchip Technology Incorporated | Performing PHY-level hardware timestamping and time synchronization in cost-sensitive environments |
CN112703705A (en) * | 2018-09-21 | 2021-04-23 | 三菱电机株式会社 | Communication device, communication system, communication method, and communication program |
CN110244635A (en) * | 2019-06-24 | 2019-09-17 | 中国航空无线电电子研究所 | With the remote data concentrator for calculating forwarding time function |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013074527A (en) | 2011-09-28 | 2013-04-22 | Fujitsu Ltd | Transmission device, transmission system and communication control method |
JP2015020351A (en) | 2013-07-19 | 2015-02-02 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus and image forming method |
US20150142382A1 (en) | 2012-09-11 | 2015-05-21 | Mitsubishi Electric Corporation | Correction parameter calculation device, system, correction parameter calculation method, and computer program |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473638B2 (en) * | 2008-05-02 | 2013-06-25 | James Aweya | Method and apparatus for time and frequency transfer in communication networks |
JP5211987B2 (en) * | 2008-09-26 | 2013-06-12 | ブラザー工業株式会社 | Terminal device and time adjustment method thereof |
JP2013083450A (en) * | 2011-10-06 | 2013-05-09 | Sony Corp | Time control device, time control method, and program |
JP2013152095A (en) * | 2012-01-24 | 2013-08-08 | Sony Corp | Time control device, time control method and program |
WO2012092892A2 (en) * | 2012-02-01 | 2012-07-12 | 华为技术有限公司 | Synchronization method, device, and system |
JP2015035158A (en) * | 2013-08-09 | 2015-02-19 | ルネサスエレクトロニクス株式会社 | Data processing system |
-
2015
- 2015-06-08 SG SG11201709362WA patent/SG11201709362WA/en unknown
- 2015-06-08 WO PCT/JP2015/066503 patent/WO2016199196A1/en active Application Filing
- 2015-06-08 KR KR1020177031526A patent/KR101847366B1/en active IP Right Grant
- 2015-06-08 JP JP2017522769A patent/JP6261822B2/en active Active
- 2015-06-08 CN CN201580080812.4A patent/CN107636627B/en active Active
- 2015-06-08 DE DE112015006604.7T patent/DE112015006604B4/en active Active
- 2015-07-16 TW TW104123047A patent/TWI599863B/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013074527A (en) | 2011-09-28 | 2013-04-22 | Fujitsu Ltd | Transmission device, transmission system and communication control method |
US20150142382A1 (en) | 2012-09-11 | 2015-05-21 | Mitsubishi Electric Corporation | Correction parameter calculation device, system, correction parameter calculation method, and computer program |
JP2015020351A (en) | 2013-07-19 | 2015-02-02 | 京セラドキュメントソリューションズ株式会社 | Image forming apparatus and image forming method |
Also Published As
Publication number | Publication date |
---|---|
JP6261822B2 (en) | 2018-01-17 |
DE112015006604T5 (en) | 2018-02-22 |
DE112015006604B4 (en) | 2020-08-20 |
KR20170125405A (en) | 2017-11-14 |
JPWO2016199196A1 (en) | 2017-07-27 |
SG11201709362WA (en) | 2017-12-28 |
TWI599863B (en) | 2017-09-21 |
TW201643569A (en) | 2016-12-16 |
CN107636627B (en) | 2020-12-29 |
CN107636627A (en) | 2018-01-26 |
WO2016199196A1 (en) | 2016-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101960770B (en) | Clock synchronization system, node, clock synchronization method | |
US7328359B2 (en) | Technique to create link determinism | |
KR101847366B1 (en) | Time synchronization device and time synchronization system | |
EP3223431B1 (en) | Adjustment of clock signals regenerated from a data stream | |
US9167058B2 (en) | Timestamp correction in a multi-lane communication link with skew | |
CN107947888B (en) | A kind of task level synchronous method based on network communication | |
CN110492965A (en) | The method and apparatus of serial message clock synchronization in a kind of master-slave system | |
EP3076572B1 (en) | Clock synchronization method for multiple clock domains, line card, and ethernet device | |
US11381333B2 (en) | Communication apparatus, communication system, communication method, and computer readable medium | |
US9991981B2 (en) | Method for operating a node of a communications network, a node and a communications network | |
CN102916758B (en) | Ethernet time synchronism apparatus and the network equipment | |
US9568944B2 (en) | Distributed timer subsystem across multiple devices | |
CN105578585B (en) | Method, device and communication equipment for determining link delay | |
CN101795190B (en) | Method and arrangement for adjustment of a clock signal | |
KR101716630B1 (en) | Communication device, communication method and computer readable recording medium recording program | |
US11689347B2 (en) | Communication apparatus, communication system, communication method, and computer readable medium | |
US7694176B2 (en) | Fault-tolerant computer and method of controlling same | |
CN112019288B (en) | Time synchronization method, service single board and network equipment | |
CN115225775B (en) | Multichannel delay correction method and device and computer equipment | |
WO2020217402A1 (en) | Time lag calculation device, time lag calculation program, and time lag calculation method | |
CN118740303A (en) | Time adjustment method, optical fiber link detection method and device and electronic equipment | |
CN115442640A (en) | Video data transmission method, device and storage medium | |
JP2019001292A (en) | Vehicle control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |