KR101578751B1 - 신호 동기화 시스템, 멀티 프로세서 및 노드 동기화 시스템 - Google Patents

신호 동기화 시스템, 멀티 프로세서 및 노드 동기화 시스템 Download PDF

Info

Publication number
KR101578751B1
KR101578751B1 KR1020147022963A KR20147022963A KR101578751B1 KR 101578751 B1 KR101578751 B1 KR 101578751B1 KR 1020147022963 A KR1020147022963 A KR 1020147022963A KR 20147022963 A KR20147022963 A KR 20147022963A KR 101578751 B1 KR101578751 B1 KR 101578751B1
Authority
KR
South Korea
Prior art keywords
reference signal
value
synchronization
unit
overhead
Prior art date
Application number
KR1020147022963A
Other languages
English (en)
Other versions
KR20140121849A (ko
Inventor
타카시 미츠이
Original Assignee
후지 덴키 가부시키가이샤
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 후지 덴키 가부시키가이샤 filed Critical 후지 덴키 가부시키가이샤
Publication of KR20140121849A publication Critical patent/KR20140121849A/ko
Application granted granted Critical
Publication of KR101578751B1 publication Critical patent/KR101578751B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

기준값이 설정되며, 당해 기준값에 계수값이 도달함으로써, 제1 기준신호 생성부 및 제2 기준신호 생성부에 의해 제1 기준신호 및 제2 기준신호를 생성하고, 생성된 상기 제1 기준신호를 수신하여 소정의 처리를 실행하며, 상기 제1 기준신호를 수신하여 재시작하고, 당해 재시작 시점을 기점으로 상기 소정의 처리가 실행될 때까지의 오버헤드를 계측하며, 상기 오버헤드의 경과 후에 상기 소정의 처리가 실행되는 시점에서의 계수값를 취득하고, 취득된 계수값과 상기 오버헤드의 값이 다를 때 상기 제1 기준신호와 상기 제2 기준신호가 비동기라고 판정하고, 상기 오버헤드 값에서 상기 계수값을 빼서 동기화 보정값을 구하고, 구한 동기화 보정값을 상기 기준값에서 뺀 값을 제2 기준신호 생성부에 임시 기준값으로 설정한다.

Description

신호 동기화 시스템, 멀티 프로세서 및 노드 동기화 시스템{SIGNAL SYNCHRONIZATION SYSTEM, MULTIPROCESSOR AND NODE SYNCHRONIZATION SYSTEM}
본 발명은 소정의 신호를 동기(同期)시키기 위한 신호 동기화 시스템, 멀티 프로세서 및 노드 동기화 시스템에 관한 것이다.
종래에는 프로세서 등을 이용하여 소정의 프로그램을 실행시키는 경우, 대규모 처리에 대한 대응과 처리의 신속화, 부하 분산 등의 목적에서, 복수의 프로세서를 이용하여 처리를 실행하는 멀티 프로세서 시스템이 알려져 있다. 멀티 프로세서에서는, 복수의 프로세서 간에 카운터(타이머)의 동기화를 위하여, 메인 프로세서로부터 서브 프로세서의 카운터에 대해 메인 프로세서에 맞추도록 하는 인터럽트 신호 등을 발생시켜서, 카운터의 동기화를 도모하고 있다.
또한, 종래의 플랜트 제어용 전송 시스템 등과 같은 산업용 네트워크에서는, 시스템을 구성하는 각 기기가, 실시간성을 보장하고서 대용량의 데이터를 상호 교환할 필요가 있다. 따라서, 예를 들어 각 기기에 탑재되는 애플리케이션에 의한 액세스 요구의 발생에 따라 이벤트적으로 상호 액세스를 하는 경우에는, 네트워크 부하가 애플리케이션에 의존하게 되어 실시간성을 보장할 수 없다.
따라서, 종래에는 각 기기에 가상적인 공유 메모리(공통 메모리)를 가지고, 업데이트 타이밍에서 네트워크상의 모든 노드(국)로 자기 노드 데이터를 송신하는 기술이 존재한다. 이러한 기술을 이용한 경우에는, 수신한 각 노드가 그 데이터를 업데이트하고 애플리케이션을 액세스시킴으로써, 실시간성을 보장한 데이터 교환방식을 실현하고 있다. 또한, 종래에는, 전술한 데이터의 교환시에 네트워크에서의 효율적인 동보통신(브로드캐스트 통신)을 실현하기 위한 방법이 제안되어 있다 (예를 들어, 특허문헌 1 참조).
특허문헌 1에 나타내는 방법에서는, 각 노드의 내장 타이머에 의한 시분할 다중 액세스 방식과, 마스터 노드로부터의 동기화 프레임에 의한 슬레이브 노드의 내장 타이머 보정을 병용하고 있다. 또한, 특허문헌 1에 나타내는 방법에서는, 전송로를 버스 또는 시리얼 케이블로 접속된 네트워크로 구성하고 있다.
일본국 공개특허공보 특개2005-159754호
그런데, 전술한 바와 같은, 메인 프로세서와 서브 프로세서 간 등에서의 카운터 동기화 처리에서는, 메인 프로세서로부터 서브 프로세서의 카운터에 대해 직접적(하드웨어적)으로 리셋시키는 것이 바람직하다. 그러나, 이 카운터는, 내부에서 행할 복수의 프로그램 처리의 실행 기준이 되는 카운터이기 때문에, 외부로부터 임의로 고쳐지게 되면 다른 처리에 문제가 생긴다. 또한, 카운터가 서브 프로세서의 CPU(Central Processing Unit) 등에 내장되어 있는 경우에는, 메인 프로세서로부터 서브 프로세서의 카운터를 직접적으로 리셋할 수 없다. 따라서, 종래에는 일단 메인 프로세서에서 서브 프로세서로 인터럽트 신호를 송신하고, 서브 프로세서가 그 신호를 수신하여 소정의 소프트웨어를 이용하여 간접적(소프트웨어적)으로 카운터의 리셋 처리를 실행하고 있다.
그런 경우, 서브 프로세서는, 메인 프로세서로부터 인터럽트 신호를 수신하고나서 그 신호에 대응하는 자기 카운터의 리셋 처리를 실행하기까지의 사이에 오버헤드 등에 의한 지연 시간이 발생한다. 따라서, 종래에는 리셋 처리를 하여도 메인 프로세서와 서브 프로세서 간에 카운터 동기화 오차가 남게 된다.
또한, 네트워크 간의 마스터-슬레이브 관계에 있는 노드 간 카운터 동기화에 대해서는, 예를 들어, 동기화 프레임을 수신하고 타이머를 클리어하는 등의 방법을 생각할 수 있다. 그러나, 상기와 같이 동기화 프레임의 수신 후 펌웨어가 개입하여 카운터를 클리어하면, 그 오버헤드 등의 지연 시간에 의해 카운터에 오차가 생긴다.
따라서, 종래의 방법인 동기화 프레임을 이용한 노드 간 동기화 방법에 대해서도, 마스터 노드와 각 슬레이브 노드 간 동기화 시간 측정의 보정을 마이크로컴퓨터의 펌웨어에서 수행하는 경우에는, 마이크로컴퓨터의 처리 시간에 의한 오차가 발생한다.
본 발명은 상기의 점을 감안하여 고안된 것이며, 소정의 신호를 정밀하게 동기시키는 신호 동기화 시스템, 멀티 프로세서 및 노드 동기화 시스템을 제공하는 것을 목적으로 한다.
상기의 과제를 해결하기 위하여, 본 발명은, 신호 동기화 시스템에 있어서, 기준값이 설정되며, 당해 기준값에 계수값이 도달함으로써 제1 기준신호를 생성하는 제1 기준신호 생성부와, 상기 기준값이 설정되며, 상기 기준값에 계수값이 도달함으로써 제2 기준신호를 생성하는 제2 기준신호 생성부와, 상기 제1 기준신호 생성부에 의해 생성된 상기 제1 기준신호를 수신하여 소정의 처리를 실행하는 연산부를 가진다. 또한, 신호 동기화 시스템은, 상기 제1 기준신호를 수신하여 재시작하고, 당해 재시작 시점을 기점으로 상기 소정의 처리가 실행될 때까지의 오버헤드를 계측하는 오버헤드 계측부와, 상기 오버헤드의 경과 후에 상기 소정의 처리가 실행되는 시점에서의 상기 제2 기준신호 생성부의 계수값을 취득하는 계수값 취득부와, 상기 계수값 취득부에 의해 취득된 계수값과 상기 오버헤드의 값이 다를 때, 상기 제1 기준신호와 상기 제2 기준신호가 비동기라고 판정하는 동기 판정부를 가진다. 또한, 신호 동기화 시스템은, 상기 동기 판정부가 상기 제1 기준신호와 상기 제2 기준신호의 비동기를 판정하면, 상기 오버헤드의 값으로부터 상기 계수값 취득부에 의해 취득된 계수값을 빼서 동기화 보정값을 구하고, 구한 동기화 보정값을 상기 기준값으로부터 뺀 값을 상기 제2 기준신호 생성부에 임시 기준값으로서 설정하는 동기화 보정부를 구비하는 것을 특징으로 한다.
또한, 본 발명의 구성요소, 표현 또는 구성요소의 임의적 조합을, 방법, 장치, 시스템, 컴퓨터 프로그램, 기록매체, 데이터 구조 등에 적용한 것도 본 발명의 양태로서 유효하다.
본 발명에 의하면, 소정의 신호를 정밀하게 동기화시킬 수 있다.
도 1은 제1 실시형태에서 신호 동기화 시스템의 개략적 구성의 일례를 나타내는 도면이다.
도 2는 프로세서의 하드웨어 구성의 일례를 나타내는 도면이다.
도 3은 제1 실시형태에서 카운터 동기화의 예를 설명하기 위한 타임 차트(1) 이다.
도 4는 제1 실시형태에서 카운터 동기화의 예를 설명하기 위한 타임 차트(2) 이다.
도 5는 제1 실시형태에서 카운터 동기화의 예를 설명하기 위한 타임 차트(3) 이다.
도 6은 카운터 동기화 처리의 개략적인 시퀀스 예를 나타내는 도면이다.
도 7은 제2 실시형태에서 노드 동기화 시스템의 개략적 구성의 일례를 나타내는 도면이다.
도 8은 제2 실시형태에서 카운터 동기화의 예를 설명하기 위한 타임 차트(1) 이다.
도 9는 제2 실시형태에서 카운터 동기화의 예를 설명하기 위한 타임 차트(2) 이다.
도 10은 제2 실시형태에서 카운터 동기화의 예를 설명하기 위한 타임 차트(3) 이다.
도 11은 제2 실시형태에서 전송지연시간 통지절차의 일례를 설명하기 위한 도면이다.
도 12는 제2 실시형태에서 마스터 노드와 슬레이브 노드를 이용한 노드 동기화 시스템을 포함하는 네트워크 전송 시스템의 개략적 구성의 일례를 나타내는 도면이다.
도 13은 노드 동기화 처리의 개략적인 시퀀스 예를 나타내는 도면이다.
<본 발명에 대하여>
본 발명은, 예를 들어, 주종 관계에 있는 장치 간에 카운터(타이머) 동기화를 행할 때에, 메인 장치측으로부터의 인터럽트 신호(카운터 리셋 신호)에 대하여, 서브 장치측의 오버헤드 값을 구한다. 또한, 본 발명은, 구한 오버헤드 값과 서브 장치측의 카운터에 기초하여 동기·비동기 판정을 하고, 비동기인 경우에는 동기화 보정 처리를 한다.
또한, 본 발명은, 주종 관계에 있는 장치를 마스터 노드와 슬레이브 노드로 한 경우에, 통신로 상의 지연시간(전송 지연시간)도 고려하여 동기·비동기 판정을 하고, 비동기인 경우에는 동기화 보정 처리를 한다.
이하에서, 본 발명의 신호 동기화 시스템, 멀티 프로세서 및 노드 동기화 시스템을 적합하게 실시한 형태에 대하여 도면을 이용하여 설명한다.
<제1 실시형태>
<신호 동기화 시스템 : 개략적 구성예>
도 1은 제1 실시형태에서 신호 동기화 시스템의 개략적 구성의 일례를 나타내는 도면이다. 도 1에 나타내는 신호 동기화 시스템(10)은, 일례로서 복수의 프로세서 (도 1의 예에서는 프로세서11-1~11-3) 사이에서 카운터 동기화를 행하기 위한 멀티 프로세서의 일례를 보여주고 있다.
도 1에 나타내는 신호 동기화 시스템(10)은, 복수의 프로세서(11-1~11-3, 이하, 필요에 따라 "프로세서(11)"이라 함)와, 전송 버스(12)와, I/O(입출력) 모듈(13-1~13-4, 이하, 필요에 따라 "I/O 모듈(13)"이라 함)과, 외부 기기(14-1~14-4, 이하, 필요에 따라 "외부 기기(14)"라 함)와, 프로그래밍 장치(15)를 가진다. 도 1의 예에서는, 설명의 편의상, 프로세서(11-1)를 메인 프로세서로, 프로세서(11-2,11-3)를 서브 프로세서로 하여, 각각의 프로세서로서의 주요 구성에 대해 설명하지만, 서브 프로세서의 개수 등에 대해서는 이에 한정되는 것은 아니다.
또한, 본 발명에서는, 이에 한정되는 것이 아니고, 하나의 프로세서가 메인 프로세서로도 서브 프로세서로도 될 수 있도록 동일한 구성을 가지고 있다. 또한, 각 프로세서(11)는 전송 버스(12)에 의해 연결되어 있다. 또한, 제1 실시형태에서는, 전송 버스(12)에 의한 지연 시간은 발생하지 않는 것으로 한다.
여기에서, 메인 프로세서(11-1)는 제1 연산부(CPU,21)와 기억부(22)를 가진다. 한편, 도 1의 예에서는 제1 연산부(21)에 제1 기준신호 생성부(21-1)가 내장되어 있으나, 이에 한정되는 것은 아니고, 예를 들어 제1 연산부(21)와 제1 기준신호 생성부(21-1)가 별도의 블록으로 구성되는 것이어도 좋다. 또한, 전술한 "내장되어 있다"란, 예를 들어, 내장된 제1 기준신호 생성부(21-1)에 대해 제1 연산부(21)만이 액세스할 수 있음을 의미한다.
또한, 서브 프로세서(11-2,11-3)는, 제2 연산부(CPU,31)와, 동기화 보정 처리부(32)와, 기억부(33)를 가진다. 한편, 도 1의 예에서는 제2 연산부(31)에 제2 기준신호 생성부(31-1)가 내장되어 있으나, 이에 한정되는 것은 아니고, 예를 들어 제2 연산부(31)와 제2 기준신호 생성부(31-1)가 별도의 블록으로 구성되는 것이어도 좋다. 또한, 동기화 보정 처리부(32)는 오버헤드 계측부(32-1)와 계수값 취득부(32-2)와 동기 판정부(32-3)와 동기화 보정부(32-4)와 기억부(33)를 가진다.
제1 기준신호 생성부(21-1)는 미리 설정된 기준값에 계수값이 도달함으로써 제1 기준신호를 생성한다. 또한, 제1 기준신호 생성부(21-1)는 카운터 (이하, 필요에 따라 "타이머"라고도 함)를 가진다. 전술한 계수값은 기준값에 근거하여 주기적으로 카운트되고 있다.
제1 연산부(21)는, 제1 기준신호 생성부(21-1)에 의해 생성된 제1 기준신호에 동기하여, 기억부(22)에 기억되어 있는 소정의 애플리케이션 프로그램 등을 실행(연산)한다. 또한, 제1 기준신호는 전송 버스(12)를 통해 서브 프로세서(11-2,11-3)에게도 주어진다(송신된다).
기억부(22)는 제1 연산부(21)에서 연산시키는 소정의 애플리케이션 프로그램(시퀀스 프로그램)을 기억한다. 또한, 제1 연산부(21)가 연산하는 소정의 애플리케이션 프로그램은, 예를 들어, 메인 프로세서(11-1)에 접속된 I/O 모듈(13-1)에 지시를 주고, I/O 모듈(13-1)에 의해 외부 기기(14-1)를 제어하는 처리이다. 따라서, 기억부(22)에는 주로 자기 프로세서에 접속되어 있는 I/O 모듈(13-1)과 외부 기기(14-1)에 대하여 소정의 처리를 실행하기 위한 프로그램이 기억된다.
즉, 메인 프로세서(11-1)는 제1 기준신호를 소정 주기마다 출력하고, 제1 연산부(21)는 애플리케이션 프로그램(시퀀스 프로그램)을 실행(연산)하여 소정의 기기를 제어하며, 당해 애플리케이션 프로그램(시퀀스 프로그램)은 주기적으로 실행된다.
이어서, 서브 프로세서(11-2,11-3)에 대해 설명하는데, 서브 프로세서(11-2,11-3)는 동일한 구성이기 때문에, 이하의 설명에서는 서브 프로세서(11-2)를 이용하여 설명한다.
제2 기준신호 생성부(31-1)는, 전술한 제1 기준신호 생성부(21-1)에 설정되어 있는 기준값과 동일한 기준값이 설정되고, 기준값에 계수값이 도달함으로써 제2 기준신호를 생성한다. 또한, 제2 기준신호 생성부(31-1)는 카운터를 가진다. 전술한 계수값은 기준값에 근거하여 주기적으로 카운트되고 있다. 부언하면, 제1 기준신호 생성부(21-1)와 제2 기준신호 생성부(31-1)의 각 카운터는 프리 러닝 카운터이며, 자력으로 카운트한다.
제2 연산부(31)는, 제2 기준신호 생성부(31-1)에 의해 생성된 제2 기준신호에 동기하여, 기억부(33)에 기억되어 있는 소정의 애플리케이션 프로그램 등을 실행(연산)한다.
또한, 제2 기준신호 생성부(31-1)는, 예를 들어, 제2 연산부(31)로부터 이외에는 액세스할 수 없는 카운터이며, 제2 연산부(31)에 내장된 카운터 (CPU 내장 카운터)이다. 즉, 제2 기준신호 생성부(31-1)는 메인 프로세서(11-1) 등 외부에서 하드웨어적으로 리셋할 수 없는 카운터이다.
또한, 제2 연산부(CPU,31)는, 메인 프로세서(11-1)로부터의 제1 기준신호(동기화 기준신호)를 인터럽트 신호로서 수신하여, 후술하는 동기화 보정 처리(소정의 처리)를 시작한다.
그런 다음, 동기화 보정 처리부(32)에 대하여, 오버헤드 계측부(32-1)는 전술한 제1 기준신호의 수신을 기점으로 동기화 보정 처리가 실행될 때까지의 오버헤드 값을 측정한다. 구체적으로, 오버헤드 계측부(32-1)에는, 제1 기준신호를 수신하여 재시작하는 카운터(타이머), 그리고 이 카운터의 값을 동기화 보정 처리의 개시 시점에서 읽어들이는 처리가 포함된다.
한편, 오버헤드란 어떤 이벤트가 발생하고나서 그 이벤트에 대한 처리(소프트웨어)가 실제로 실행될 때까지의 지연 시간을 의미하는데, 본 예에서는 오버헤드 계측부(32-1)가 재시작된 기점으로부터 소정 처리의 개시 시점까지의 시간이며, 이에 한정되는 것은 아니다.
계수값 취득부(32-2)는 소정의 처리가 실제로 실행되는 시점에서의 제2 기준신호 생성부(31-1)의 계수값을 취득한다. 즉, 계수값 취득부(32-2)는 동기화 보정 처리의 개시 시점에서 제2 기준신호 생성부(31-1)의 계수값을 읽어들인다.
동기 판정부(32-3)는, 계수값 취득부(32-2)에 의해 취득된 계수값과 오버헤드 계측부(32-1)에 의해 계측된 오버헤드 값의 계수값이 동일한 때에, 제1 기준신호와 제2 기준신호와 동기하고 있다고 판정한다. 또한, 동기 판정부(32-3)는, 계수값 취득부(32-2)에 의해 취득된 계수값과 전술한 오버헤드 값의 계수값이 다른 때에, 전술한 제1 기준신호와 제2 기준신호가 비동기라고 판정한다.
또한, 동기 판정부(32-3)는, 계수값 취득부(32-2)에 의해 취득된 계수값 및 오버헤드 계측부(32-1)에 의해 계측된 오버헤드 값의 계수값을 시간 환산하여, 양자의 시간이 같을 때에 동기하고 있다고 판정하고, 양자의 시간이 다를 때에 비동기라고 판정할 수도 있다. 즉, 제1 실시형태에서는, 각 프로세서 사이에서 각 카운터의 클럭 당 단위시간이 동일하지 않은 경우도 있을 수 있다. 따라서, 이러한 경우에는 각 카운터 값을 시간으로 환산하여 환산된 시간으로 동기/비동기를 판정한다.
동기화 보정부(32-4)는, 동기 판정부(32-3)가 제1 기준신호와 제2 기준신호의 동기를 판정하면, 기준값을 제2 기준신호 생성부(31-1)에 설정한다. 또한, 동기화 보정부(32-4)는, 동기 판정부(32-3)가 제1 기준신호와 제2 기준신호의 비동기를 판정하면, 계수값 취득부(32-2)에 의해 취득된 계수값에서 오버헤드 값을 빼서 동기화 보정값을 구한다. 그런 다음, 동기화 보정부(32-4)는, 구한 동기화 보정값을 기준값에서 빼고, 뺀 값을 제2 기준신호 생성부에 새로운 기준값으로 설정한다. 이 새로운 기준값이란, 동기 판정부(32-3)가 동기를 판정했을 때 사용되는 타이머 기준값(디폴트 기준값)에 대하여, 동기 판정부(32-3)가 비동기를 판정했을 때 사용되는 임시적으로 취급되는 타이머 기준값이다.
또한, 동기화 보정부(32-4)는, 동기 판정부(32-3)가 제1 기준신호와 제2 기준신호의 동기를 판정하면, 그때마다 전술한 디폴트 기준값을 제2 기준신호 생성부(31-1)에 설정하여도 좋으나, 동기화가 유지되고 있는 경우에는 한번 디폴트 기준값을 설정하면 아무것도 하지 않아도 된다.
기억부(33)는 제2 연산부(31)에서 연산시키는 소정의 애플리케이션 프로그램(시퀀스 프로그램)을 기억한다. 또한, 제2 연산부(31)가 연산하는 소정의 애플리케이션 프로그램은, 예를 들어, 서브 프로세서(12-2)에 연결된 I/O 모듈(13-2,13-3)에 지시를 주어 I/O 모듈(13-2,13-3)에 의해 외부 기기(14-2,14-2)를 제어하는 처리이다. 따라서, 기억부 (33)에는, 주로 자기 프로세서에 연결되어 있는 I/O 모듈(13-2,13-3)이나 외부 기기(14-2,14-3)에 대하여 소정의 처리를 실행하기 위한 프로그램이 기억된다.
I/O 모듈(13)은 외부 기기(14) 등과 입출력 처리를 한다. 예를 들어, I/O 모듈(13)은, 연결된 외부 기기(14) 등으로부터 얻어지는 데이터 등을 프로세서(11)에 출력(송신)하거나 프로세서(11)에 의해 연산처리된 결과를 외부 기기(14) 등으로 출력하거나 기억하기도 한다. 즉, 프로세서(11)는, I/O 모듈(13)에서 얻어진 입력 데이터를 애플리케이션 프로그램으로 연산하고, 이 연산 결과를 I/O 모듈(13)에 출력 데이터로서 제공함으로써, 외부 기기 (14)를 제어한다.
외부 기기(14)는, 예를 들어 각종 센서, 모터, 기록 매체 등이다. 외부 기기 (14)는 I/O 모듈(13)로부터의 제어 신호 등에 따라, 데이터의 검색, 구동, 데이터의 입출력 등을 행한다.
여기에서, 기준값은 프로세서(11-1), 프로세서(11-2), 프로세서(11-3)의 각각에 미리 설정되어 있어도 좋고, 각각에 외부 연결되는 프로그래밍 장치(15, 설정장치)로부터도 설정할 수 있다. 프로그래밍 장치(15)는, 유저 등이 사용하는 PC(Personal Computer) 등에, 프로세서(11)와 통신하여 기준값을 설정하는 기능을 부가하면 실현할 수 있으나, 이에 한정되는 것은 아니고, 전용의 설정장치이어도 좋다. 이로써, 유저마다 기준값(처리 주기)을 임의로 조정할 수 있다.
여기에서, 전술한 예에서는, 신호 동기화 시스템(10)의 일 예로 멀티 프로세서에 대해 설명하였으나, 신호 동기화 시스템(10)으로는, 제1 기준신호 생성부(21-1), 제2 기준신호 생성부(31-1), 제2 연산부(31), 오버헤드 계측부(32-1), 계수값 취득부(32-2), 동기 판정부(32-3), 동기화 보정부(32-4)를 포함하고 있으면 된다.
또한, 신호 동기화 시스템(10)의 적용예에 대하여는, 멀티 프로세서에 한정되는 것이 아니고, 예를 들어, 메인 장치측을 원자 시계에 의한 날짜·시각 정보의 디지털 신호를 송신하는 송신국으로 하고, 서브 장치측을 전파 시계로 하는 타이머 동기화 시스템으로서의 응용도 가능하다.
<프로세서(11)의 하드웨어 구성예>
이어서, 프로세서(11)의 하드웨어 구성예에 대하여, 도면을 이용하여 설명한다. 도 2는 프로세서의 하드웨어 구성의 일례를 나타내는 도면이다. 도 2에 나타내는 프로세서(11)는 입력부(41), 출력부(42), CPU(43), 메모리(44), 외부 인터페이스(45)를 가지고, 이들은 공통 버스(B)에 의해 연결되어 있다.
입력부(41)는, 예를 들어 유저 등으로부터의 프로그램 실행 등, 각종 조작 신호를 입력한다. 또한, 입력부(41)는, 예를 들어 유저 등이 조작하는 키보드나 마우스 등의 포인팅 장치를 가지고 있어도 좋고, 음성 등에 의해 입력하는 경우에는 음성 입력장치를 가지고 있어도 좋다.
출력부(42)는 본 실시형태에서의 처리를 실행하는 프로세서를 조작하는 데에 필요한 각종 창이나 데이터 등을 표시하는 디스플레이를 가지고, CPU(43)가 실행하는 제어 프로그램의 실행 경과나 결과 등을 표시한다.
CPU(43)는, OS(Operating System) 등의 제어 프로그램 및 메모리(44)에 저장되어 있는 실행 프로그램에 따라, 각종 연산이나 각각의 하드웨어 구성부와의 데이터 입출력 등 프로세서(11) 전체의 처리를 제어함으로써, 본 실시형태에 있어서의 각각의 처리를 실현한다. 한편, 프로그램 실행 중에 필요한 각종 정보 등은 메모리(44)로부터 취득하여 실행 결과 등을 저장하여도 좋다.
메모리(44)는 CPU(43)에 의해 읽어들여진 실행 프로그램 등을 저장한다. 한편, 메모리(44)는 ROM(Read Only Memory)이나 RAM(Random Access Memory) 등으로 구성된다. 또한, 메모리(44)는 보조 기억장치로서 하드 디스크 등의 저장 수단을 가지고 있어도 좋다. 또한, 메모리(44)는 본 발명에서의 실행 프로그램이나 컴퓨터에 설치된 제어 프로그램 등을 기억하고, 필요에 따라 입출력을 실시한다. 한편, 메모리(44)는 전술한 기억부(22,33) 등에 대응한다.
외부 인터페이스(45)는 전송 버스(12) 등을 통해 다른 프로세서 사이와의 데이터 및 제어 신호 송수신을 행한다. 또한, 외부 인터페이스(45)는 연결된 I/O 모듈(13)과의 데이터 및 제어 신호의 송수신 등도 행한다.
전술한 하드웨어 구성에 의해, 본 발명에서의 카운터 동기화 처리를 실행하는 것이 가능하다. 또한, 실행 프로그램을 설치함으로써, 범용 개인용 컴퓨터 등으로 본 실시형태에서의 카운터 동기화 처리를 용이하게 실현하는 것이 가능하다.
이어서, 제1 실시형태에서 카운터 동기화의 예에 대하여 이하에서 설명한다.
<제1 실시형태에서 카운터 동기화의 예>
도3~도5는 제1 실시형태에서 카운터 동기화의 예를 설명하기 위한 타임 차트도(1~3)이다. 도3~도5에 나타내는 예에서는, 메인측(메인장치측) CPU(프로세서)와 서브측(서브장치측) CPU(프로세서) 사이의 카운터 값의 동기화 예를 나타내고 있다. 또한, 제1 실시형태에서 기준값(처리 주기)은 1000μs로 하나, 본 발명에서는 이에 한정되는 것이 아니고, 예를 들어 전술한 프로그래밍 장치(15)에 의해 적절히 설정을 변경할 수 있다.
도3~도5의 예에서는, 메인 프로세서(11-1)가 출력하는 제1 기준신호를 메인측 동기화 기준으로, 제1 기준신호 생성부(21-1)를 메인측 CPU 1 카운터로 기재하고 있다. 또한, 도3~도5의 예에서는, 제2 기준신호 생성부(31-1)를 서브측 CPU 2 카운터 1로, 오버헤드 계측부(32-1)가 구비하는 카운터를 카운터 2로 기재하고 있다.
도 3의 (1) 시점에서 메인 프로세서(11-1)의 메인측 CPU1 카운터는 카운터 값이 기준값에 도달했기 때문에 제1 기준신호를 출력하고 있다. 서브 프로세서(11-2)는 제1 기준신호를 인터럽트로서 수신하여 동기화 보정 처리를 기동시키고 있다(도 3의 (2)). 이와 함께, 서브 프로세서(11-2)의 오버헤드 계측부(32-1)는 당해 카운터(카운터 2)의 카운터 값을 클리어하고 재시작하고 있다(도 3의 (3)). 이어서, 오버헤드 계측부(32-1)는 도 3의 (4) 시점, 즉 동기화 보정 처리의 개시시점에서 당해 카운터(카운터 2)의 값을 참조하여 동기 판정부(32-3)에 그 값을 제공하고 있다. 동기 판정부(32-3)는 오버헤드 계측부(32-1)에 의해 제공된 카운터 값을 시간으로 환산하여 200μs를 얻고 있다. 이렇게 함으로써, 제1 실시형태는 인터럽트의 기점에서부터 동기화 보정 처리가 실행될 때까지의 오버헤드를 계측하고 있다.
이어서, 도 3의 (5) 시점에서 계수값 취득부(32-2)는 서브측 CPU2 카운터 1의 카운터 값을 참조하여 동기 판정부(32-3)에 그 값을 제공하고 있다. 동기 판정부(32-3)는 계수값 취득부(32-2)에 의해 제공된 카운터 값을 시간으로 환산하여 200μs를 얻고 있다. 이에 이어서, 동기 판정부(32-3)는 계수값 취득부(32-2)로부터 얻은 카운터 값(200μs)과 전술한 오버헤드 값(200μs)을 비교한다. 이 경우, 동기 판정부(32-3)는, 양자가 동일한 값이므로 제1 기준신호와 제2 기준신호가 동기되어 있다고 판정하고 있다.
동기 판정부(32-3)에 의해 동기화가 판정되었으므로, 동기화 보정부(32-4)는 기준값 1000μs를 서브측 CPU 2 카운터 1에 설정하고 있다 (이 시점에서 서브측 CPU 2 카운터 1은 재시작되어 있지 않다). 그리고, 서브측 CPU 2 카운터 1는 도 3의 (6)의 시점에서 카운터 값이 기준값 1000μs에 도달했으므로, 재시작하고 있다.
이렇게 함으로써, 제1 실시형태는, 현재 주기에 대하여 다음 주기의 제1 기준신호의 출력 타이밍과 대략 같은 타이밍에서 서브측 CPU 2 카운터 1를 재시작할 수 있고, 메인측 CPU 1 카운터의 카운터 값과 서브측 CPU 2 카운터 1의 카운터 값을 대략 동일한 값으로 맞출 수 있다.
한편, 서브측 CPU 2 카운터 1에 대하여는, 전술한 CPU에 내장되어 있으나, 본 실시형태에 있어서는, 이에 한정되는 것은 아니고, CPU의 외부에 있어도 된다.
또한, 부언하면, 도 3에 나타내는 동기화 보정 처리 중에는 계수값 취득부(32-2), 동기 판정부(32-3), 동기화 보정부(32-4), 그리고 오버헤드 계측부(32-1)의 프로그램 처리가 포함되어 있다.
도 4는 서브 프로세서(11-2)의 카운터가 메인 프로세서(11-1)의 카운터보다 200μs 늦는 경우를 나타내고 있다.
도 4의 제1주기(좌측 주기)에 있어서, 도4의 (1) 시점에서 메인 프로세서(11-1)의 메인측 CPU 1 카운터는, 카운터 값이 기준값에 도달했으므로 제1 기준신호를 출력하고 있다. 서브 프로세서(11-2)는 제1 기준신호를 인터럽트로서 수신하여 동기화 보정 처리를 기동시키고 있다 (도 4의 (2)). 이와 함께, 서브 프로세서(11-2)의 오버헤드 계측부(32-1)는 당해 카운터(카운터 2)의 카운터 값을 클리어하여 재시작하고 있다(도 4의 (3)). 이어서, 오버헤드 계측부(32-1)는 도 4의 (4)시점, 즉, 동기화 보정 처리의 개시시점에서 당해 카운터(카운터 2)의 값을 참조하여 동기 판정부(32-3)에 그 값을 제공하고 있다. 동기 판정부(32-3)는 오버헤드 계측부(32-1)에 의해 주어진 카운터 값을 시간으로 환산하여 200μs를 얻고 있다.
이어서, 도 4 의 (5) 시점에서 계수값 취득부(32-2)는 서브측 CPU 2 카운터 1의 카운터값을 참조하여 동기 판정부(32-3)에 그 값을 제공하고 있다. 동기 판정부(32-3)는 계수값 취득부(32-2)에 의해 주어진 카운터값을 시간으로 환산하여 0μs를 얻고 있다. 이어서, 동기 판정부(32-3)는 계수값 취득부(32-2)에서 얻은 카운터값(0μs)와 전술한 오버헤드 값(200μs)을 비교한다. 이 경우, 동기 판정부(32-3)는 양자가 서로 다른 값이므로 제1 기준신호와 제2 기준신호가 비동기라고 판정하고 있다.
동기 판정부(32-3)에 의해 비동기가 판정되었기 때문에, 동기화 보정부(32-4)는 서브측 CPU 2 카운터 1에 임시 기준값을 설정하고 있다. 구체적으로, 동기화 보정부(32-4)는, 「기준값(처리 주기)-("카운터 2"-"카운터 1 ")」의 식으로 "카운터 1"의 재시작값(리셋값)을 구하고, 구한 카운터값을 임시 기준값으로서 "카운터 1"로 설정한다. 이 경우, 임시 기준값은 1000μs-(200μs-0) = 800μs가 되어, "카운터 1"로 설정된다. 그리고, 서브측 CPU 2 카운터 1은, 도 4의 (6)의 시점에서 카운터값이 임시 기준값 800μs에 도달했기 때문에 재시작하고 있다. 한편, "카운터 2"- "카운터 1"의 값이 동기화 보정값이다.
이렇게 함으로써, 제1 실시형태는 현재 주기(제1 주기)에 대해 다음 주기(제2 주기 : 도면에서 가운데 주기)의 제1 기준신호의 출력 타이밍과 거의 동일한 타이밍에 서브측 CPU 2 카운터 1을 재시작할 수 있다. 따라서, 제1 실시형태는, 제1 기준신호와 제2 기준신호를 동기화시킬 수 있다. 또한, 도 4의 경우, 제2 주기에서는 제1 기준신호와 제2 기준신호와 동기하는 것이 되므로, 동기화 보정부(32-4)는 전술한 도 3에서 나타내는 처리에 의해 원래 기준값 1000μs를 서브측 CPU 2 카운터 1에 설정하고 있다 (이 시점에서 서브측 CPU 2 카운터 1은 재시작하고 있지 않다). 그리고, 서브측 CPU 2 카운터 1은, 카운터값이 기준값 1000μs에 도달하면 재시작하게 된다.
도 5는 서브 프로세서(11-2)의 카운터가 메인 프로세서(11-1)의 카운터보다 200μs 빠른 경우를 나타내고 있다.
도 5의 제1주기(좌측 주기)에 있어서, 도 5의 (1) 시점에서 메인 프로세서(11-1)의 메인측 CPU 1 카운터는 카운터값이 기준값에 도달했기 때문에 제1 기준신호를 출력하고 있다. 서브 프로세서(11-2)는 제1 기준신호를 인터럽트로서 수신하여 동기화 보정 처리를 기동시키고 있다(도 5의 (2)). 이와 함께, 서브 프로세서(11-2)의 오버헤드 계측부(32-1)는, 당해 카운터(카운터 2)의 카운터 값을 클리어하고 재시작하고 있다 (도 5의 (3)). 이어서, 오버헤드 계측부(32-1)는 도 5의 (4) 시점, 즉 동기화 보정 처리의 개시 시점에서 당해 카운터(카운터 2)의 값을 참조하여 동기 판정부(32-3)에 그 값을 제공하고 있다. 동기 판정부(32-3)는 오버헤드 계측부(32-1)에 의해 주어진 카운터값을 시간으로 환산하여 200μs를 얻고 있다.
이어서, 도 5의 (5) 시점에서 계수값 취득부(32-2)는 서브측 CPU 2 카운터 1의 카운터값을 참조하여 동기 판정부(32-3)에 그 값을 제공하고 있다. 동기 판정부(32-3)는 계수값 취득부(32-2)에 의해 주어진 카운터값을 시간으로 환산하여 400μs를 얻고 있다. 이어서, 동기 판정부(32-3)는 계수값 취득부(32-2)로부터 얻은 카운터값(400μs)과 전술한 오버헤드 값 (200μs)을 비교한다. 이 경우, 동기 판정부(32-3)는 두 카운터 값이 다른 값이기 때문에 제1 기준신호와 제2 기준신호가 비동기라고 판정하고 있다.
동기 판정부(32-3)에 의해 비동기가 판정되었기 때문에, 동기화 보정부(32-4)는 서브측 CPU 2 카운터 1에 임시 기준값을 설정한다. 구체적으로, 동기화 보정부(32-4)는 도 4의 설명과 마찬가지로 계산하여 임시 기준값을 구하고, "카운터 1"로 설정한다. 이 경우, 임시 기준값은 1000μs-(200μs-400μs)) = 1200μs가 되어, "카운터 1"로 설정된다. 그리고, 서브측 CPU 2 카운터 1은 도 4의 (6) 의 시점에서 카운터값이 임시 기준값 1200μs에 도달했기 때문에 재시작되어 있다. 한편, "카운터 2"-"카운터 1"의 값이 동기화 보정값이다.
이렇게 함으로써, 제1 실시형태는 현재 주기(제1 주기)에 대해 다음 주기(제2 주기 : 가운데의 주기)의 제1 기준신호의 출력 타이밍과 거의 동일한 타이밍에서 서브측 CPU 2 카운터 1을 재시작할 수 있다. 따라서, 본 발명은 제1 기준신호와 제2 기준신호를 동기화시킬 수 있다. 또한, 도 5에서의 제2 주기의 설명은 도 4와 동일하므로 그 설명을 생략한다. 이상과 같이, 제1 실시형태에서는, 메인 프로세서의 카운터(타이머)에 대해 서브 프로세서의 카운터(타이머)가 늦는 경우에도 빠른 경우에도, 적절한 카운터 동기화를 실현할 수 있다. 한편, 전술한 동기화 보정 처리는 간헐적 주기로 행하여도 되고, 매주기 연속으로 행하여도 된다.
<카운터 동기화 처리의 시퀀스 예>
도 6은 카운터 동기화 처리의 개략적인 시퀀스 예를 나타내는 도면이다. 도 6의 예에서는 설명의 편의상 메인 프로세서(11-1)와 서브 프로세서(11-2)를 이용한 동기화에 대해 설명하나, 본 발명은 이에 한정되는 것이 아니고, 하나의 메인 프로세서에 대해 복수의 서브 프로세서에 동기화할 수 있다.
도 6의 카운터 동기화 처리에서, 우선 메인 프로세서(11-1)는 제1 기준신호를 생성하고(S01), 서브 프로세서(11-2)는 제2 기준신호를 생성하고 있다(S02). 한편, 이 처리는 하드웨어적으로 주기적으로 동작하고 있다.
여기에서, 메인 프로세서(11-1)는 S01의 처리에서 얻어진 제1 기준신호를 송신한다(S03). 송신 지시된 제1 기준신호는 전송 버스를 통해 서브 프로세서(11-1)로 송신된다(S04).
서브 프로세서(11-2)는, 제1 기준신호를 수신하면(S05), 오버헤드를 계측하고(S06), 전술한 바와 같은 동기 판정을 하여(S07), 비동기인 경우 동기화 보정을 행한다(S08).
<제2 실시형태>
<노드 동기화 시스템 : 개략 구성예>
제2 실시형태는, 전술한 제1 실시형태에서의 통신로(12)에 의한 지연 시간을 포함하여 동기화 보정 처리를 실행하는 것이 특징이다. 도 7은 제2 실시형태 노드 동기화 시스템의 개략 구성의 일례를 나타내는 도면이다. 도 7에 나타내는 노드 동기화 시스템(50)은 노드(51-1~51-3) 등 복수의 노드 사이에서 카운터 동기화를 행하는 일례이다.
노드 동기화 시스템(50)은 복수의 노드(51-1~51-3, 이하에서는 필요에 따라 "노드(51)"라 함)와 통신 네트워크 (통신로,52)와 I/O(입출력) 모듈(53)과, 외부 기기(54)와, 프로그래밍 장치(55)를 가진다. 즉, 노드 동기화 시스템(50)은, 제1 연산부(CPU,61)를 포함하는 마스터 노드(51-1)와, 제2 연산부 (CPU,71)와, 동기화 보정 처리부(72)를 포함하는 슬레이브 노드(51-2,51-3)가 통신로인 통신 네트워크(52)를 통해 연결되어 있다.
여기에서, 편의상 노드(51-1)를 마스터 노드로, 노드(51-2,51-3)를 슬레이브 노드로 하여, 각 노드 고유의 구성을 설명하나, 본 발명에서는 이에 한정되는 것이 아니고, 각 노드가 마스터 노드로도 슬레이브 노드로도 될 수 있도록 양쪽 구성을 겸비하고 있다. 한편, 제2 실시예에서는, 통신로(52)에 의한 전송 지연 시간이 발생하고 있는 것으로 한다.
여기에서, 제2 실시형태(도 7)와 제1 실시형태(도 1)와의 차이점에 대하여 설명해 둔다. 마스터 노드(51-1)는 제1 실시형태의 프로세서(11-1)에 상당하고, 슬레이브 노드(51-2,51-3)는 제1 실시형태의 프로세서(11-2,11-3)에 상당한다. 또한, 프로그래밍 장치(55)는 제1 실시형태에서의 프로그래밍 장치(15)와 동일하고, 또한, I/O 모듈(53-1~53-4)은 제1 실시형태에서의 I/O 모듈(13-1~13-4)과 동일하다. 외부 기기(54-1~54-4)는 제1 실시형태에서의 외부 기기(14-2~14-4)와 동일하다. 따라서, 이하의 설명에서는 제1 실시형태와 동일한 구성에 대하여는 그 설명을 생략한다.
마스터 노드(51-1)는, 제1 연산부(61, 제1 실시형태의 제1 연산부(21)에 대응)와, 기억부(62, 제1 실시형태의 기억부(22)에 대응)와, 동기화 프레임 통지부(63)와, 전송지연시간 통지부(64)를 가진다. 또한, 제1 연산부(61)에는 제1 기준신호 생성부(61-1, 제1 실시형태의 제1 기준신호 생성부(21-1)에 대응)가 내장되어 있다.
마스터 노드(51-1)의 제1 실시형태에서의 프로세서(11-1)와의 주된 차이점은, 동기화 프레임 통지부(63)와 전송지연시간 통지부(64)가 부가된 것이다. 따라서, 이하의 설명에서는, 제2 실시형태의 주요 부분을 설명하는 것으로 하고, 제1 실시형태와 동일한 작동에 대해서는 생략한다.
이하, 제2 실시형태의 일례를 설명한다. 제2 실시형태에서, 마스터 노드(51-1)의 전송지연시간 통지부(64)는 전송지연시간을 산출하기 위하여 전송지연시간 요청 프레임을 송신한다. 이 프레임은 후술하는 동기화 프레임과 대략 동일하며, 동기화 프레임 내 소정 부분(예를 들어, 명령부)의 데이터가 바뀌어서 송신된다. 즉, 전송지연시간 요청 프레임은 제1 기준신호 생성부(61)에 의해 생성된 제1 기준신호에 동기하여 송신된다.
이어서, 전송지연시간 통지부(64)는 전송지연시간 요청 프레임에 응답한 슬레이브 노드로부터의 수신 완료 프레임을 수신한다. 그리고, 전송지연시간 통지부(64)는, 응답 프레임 수신시의 시각과 전송지연시간 요청 프레임 송신시의 시각의 차분으로부터, 마스터 노드와 슬레이브 노드 간의 왕복 전송지연시간을 계산한다. 그리고, 전송지연시간 통지부(64)는, 계산된 왕복 전송지연시간을 포함하는 전송지연시간 통지 프레임을 다음의 제1 기준신호에 동기화하여 슬레이브 노드에 송신함으로써, 통신로(52)에 의한 지연시간을 슬레이브 노드에 통지한다.
왕복 전송지연시간을 통지한 후, 마스터 노드(51-1)는 제1 기준신호에 따라 (제1 기준신호에 동기화되어), 미리 준비된 동기화 프레임을 통신로(52)를 통해 슬레이브 노드에 송신한다. 한편, 이 처리는 동기화 프레임 통지부(63)가 실행한다. 뒤에서 상세히 설명하겠으나, 동기화 프레임은 슬레이브 노드의 카운터값을 마스터 노드(51-1)의 카운터값에 맞추기 위한 동기화 기준신호이다.
이어서, 슬레이브 노드(51-2,51-3)에 대해 설명한다. 슬레이브 노드(51-2,51-3)는 제2 연산부(71)와, 동기화 보정 처리부(72)와, 기억부(73)와, 수신완료 통지부(74)와, 프레임 수신부(75)를 가진다. 한편, 제2 연산부(71)에는 제2 기준신호 생성부(71-1)가 내장되어 있다. 또한, 동기화 보정 처리부(72)는 오버헤드 계측부(72-1)와 계수값 취득부(72-2)와 동기 판정부(72-3)와 동기화 보정부(72-4)를 가진다. 슬레이브 노드(51-2,51-3)는 동일한 구성이기 때문에, 이하의 설명에서는 슬레이브 노드(51-2)를 이용하여 설명한다.
제1 실시형태의 프로세서(11-2)와의 주요한 차이점은, 동기 판정부(72-3)가 제1 실시형태의 동기 판정부(32-3)와 상이하다는 점, 수신 완료 통지부(74)와 프레임 수신부(75)가 부가된 점이다. 즉, 제2 기준신호 생성부(71-1)는 제1 실시형태에서의 제2 기준신호 생성부(31-1)와 동일하며, 제2 연산부(71)는 제1 실시예에서의 제2 연산부(31)와 동일하다. 또한, 오버헤드 계측부(72-1)는 제1 실시형태에서의 오버헤드 계측부(32-1)와 동일하며, 계수값 취득부(72-2)는 제1 실시형태에서의 계수값 취득부(32-2)와 동일하다. 또한, 기억부(73)는 제1 실시형태에서의 기억부(33)와 동일하다. 따라서, 이하의 설명에서는 제1 실시형태와 동일한 구성에 대해서는 그 설명을 생략한다. 이하, 통신로(52)의 전송지연시간을 포함한 슬레이브 노드(51-2)의 동기화 보정 처리에 대하여 설명한다.
수신 완료 통지부(74)는, 전술한 전송지연시간 요청 프레임을 마스터 노드(51-1)로부터 수신함으로써, 수신 완료 프레임을 마스터 노드(51-1)로 송신한다.
프레임 수신부(75)는, 마스터 노드(51-1)에 의해 송신된 전술한 전송지연시간 통지 프레임을 수신하고, 그 프레임에 포함되는 왕복 전송지연시간(값)을 전술한 메모리(44) 등에 저장한다. 이렇게 하여, 슬레이브 노드는 마스터 노드(51-1)와 슬레이브 노드 사이의 왕복 전송지연시간을 마스터 노드(51-1)로부터 얻는다.
마스터 노드(51-1)로부터 왕복 전송지연시간을 얻은 슬레이브 노드(51-2)는 동기화 프레임을 수신하고, 제2 연산부(CPU,71)에 인터럽트를 발생시키고 있다. 인터럽트를 받은 제2 연산부(71)는 후술하는 동기화 보정 처리 (소정의 처리)를 시작한다. 한편, 본 발명에서는 왕복 전송지연시간을 얻지 않고 동기화 프레임을 수신한 경우에도, 왕복 전송지연시간을 0으로 하여 동기화 보정 처리(소정의 처리)를 시작해도 됨은 물론이다. 또한, 동기화 프레임을 수신한 후 제2 연산부(71)에 인터럽트가 상승하는 속도를 감안하면, 도시하지는 않고 있으나, 동기화 프레임의 수신 수단으로는 FPGA(Field Programmable Gate Array) 등의 하드웨어 로직을 사용하는 것이 바람직하다.
또한, 동기화 보정 처리부(72)에서, 오버헤드 계측부(72-1)는 전술한 동기화 프레임의 수신을 기점으로 하여 동기화 보정 처리가 실행될 때까지의 오버헤드 값을 계측한다. 구체적으로, 오버헤드 계측부(72-1)에는, 동기화 프레임을 수신하여 재시작하는 카운터(타이머), 그리고 이 카운터값을 동기화 보정 처리의 개시 시점에서 읽어들이는 프로그램의 처리가 포함된다. 즉, 오버헤드 계측부(72-1)는, 동기화 프레임을 수신하여 재시작하고, 당해 재시작 시점을 기점으로 하여 전술한 동기화 보정 처리가 실행될 때까지의 오버헤드를 계측한다.
계수값 취득부(72-2)는 실제로 동기화 보정 처리가 실행되는 개시 시점에서의 제2 기준신호 생성부(71-1)의 계수값을 취득한다.
동기 판정부(72-3)는, 전술한 왕복 전송지연시간을 반으로 나누어 통신로(52)의 편도 전송지연시간을 구하고, 이 편도 전송지연시간과 전술한 오버헤드를 더한 종합 지연시간을 구한다. 그리고, 동기 판정부(72-3)는 구한 전체 지연시간과 계수값 취득부(72-2)에 의해 취득된 제2 기준신호 생성부의 계수값을 비교한다. 이 비교 결과, 양자가 동일한 경우 동기 판정부(72-3)는 제1 기준신호와 제2 기준신호가 동기(同期)하고 있다고 판정하고, 양자가 상이한 경우 제1 기준신호와 제2 기준신호가 비동기(非同期)라고 판정한다. 여기에서 동기(同期)란, 제1 기준신호 생성부의 카운터값과 제2 기준신호 생성부의 카운터값이 같음을 의미한다.
또한, 동기 판정부(72-3)는 제1 실시형태의 동기 판정부(32-3)와 마찬가지로, 각 카운터의 카운터값을 시간으로 환산하여 비교함으로써 동기/비동기를 판정하는 것도 물론 가능하다.
제2 실시형태에서는, 동기 판정부(72-3)에 의해 동기가 판정되면, 동기화 보정부(72-4)는 기준값을 제2 기준신호 생성부(71-1)에 설정하고, 비동기가 판정되면, 계수값 취득부(72-2)에 의해 취득된 제2 기준신호 생성부의 계수값에서 전술한 종합 지연시간 값을 빼서 동기화 보정값을 구한다. 이어서, 동기화 보정부(72-4)는, 구한 동기화 보정값을 기준값에서 빼고, 뺀 값을 제2 기준신호 생성부(71-1)에 새로운 기준값으로서 설정한다. 이 새로운 기준값은, 동기 판정부(72-3)가 동기를 판정했을 때 제2 기준신호 생성부에 설정되는 기준값(디폴트 기준값)에 대하여, 제2 기준신호 생성부의 타이머값을 보정하기 위하여 임시적으로 설정되는 것이다 (임시 기준값).
한편, 본 발명은, 디폴트 기준값이 제2 기준신호 생성부(71-1)에 설정되어 동기화가 유지되고 있으면 이후 디폴트 기준값을 고치지 않아도 됨은 물론이나, 동기화를 판정할 때마다 디폴트 기준값을 제2 기준신호 생성부(71-1)에 설정해도 되고, 간헐적으로 설정해도 된다.
이렇게 하여 본 발명은 동기화 기준신호(동기화 프레임)가 통신로(52)를 통해 통지될 때의 전송지연시간의 영향도 고려한 동기화 보정 처리를 실행할 수 있다. 즉, 제2 실시형태에서는, 노드 간 전송지연시간과 슬레이브 노드의 오버헤드를 포함한 카운터값의 보정을 행할 수 있고, 정밀도가 높은 노드 간 동기화를 실현할 수 있다.
<제2 실시형태에서의 카운터 동기화 예>
도8~도10은 제2 실시형태에서의 카운터 동기화 예를 설명하기 위한 타임 차트도(1~3)이며, 마스터 노드(51-1)와 슬레이브 노드(51-2) 사이에서의 카운터값 동기화의 예이다. 이들 도면은 왕복 전송지연시간(600μs, 즉, 편도 전송지연시간은 300μs)이 이미 마스터 노드(51-1)에 의해 산출되어 슬레이브 노드(51-2)에 통지된 후의 상태이며, 이 상태로부터 카운터값의 동기화 처리를 설명하는 것이다. 한편, 제2 실시형태에서의 기준값(처리 주기)은 제1 실시형태와 마찬가지로 1000μs로 하고 이 기준값은 프로그래밍 장치(55)에 의해 적절히 변경될 수 있다.
도8~도10의 예에서는, 마스터 노드(51-1)의 동기화 프레임 송신 타이밍을 "마스터국 동기화 기준"으로, 제1 기준신호 생성부(61-1)를 "마스터측 카운터"로 기재하고 있다. 또한, 도8~도10의 예에서는, 제2 기준신호 생성부(71-1)를 "슬레이브측 카운터 1" 로, 오버헤드 계측부(72-1)가 구비하는 카운터를 "카운터 2" 로 기재하고 있다.
도 8의 (1) 시점에서 마스터 노드(51-1)는 마스터측 카운터값이 기준값에 도달했기 때문에 동기화 프레임을 송신하고 있다. 그리고, (2) 시점에서 슬레이브 노드(51-2)는, (1) 시점에서 송신된 동기화 프레임을 통신로(52)의 편도 전송지연시간(300μs)을 거쳐 수신하여 동기화 보정 처리를 시작하고 있다. 또한, 동기화 프레임의 수신에 따라, 오버헤드 계측부(72-1)의 카운터 (카운터 2)가 클리어되어 재시작하고 있다 (도 8의 (3)).
이어서, 도 8의 (4) 시점에서 동기화 보정 처리가 실제로 실행되면, 오버헤드 계측부(72-1)는 동기화 보정 처리의 개시시점에서 당해 카운터 (카운터 2)의 값을 참조하여 시간으로 환산하여 200μs를 얻고 있다. 이렇게 함으로써, 오버헤드 계측부(72-1)는 동기화 프레임의 수신을 기점으로 동기화 보정 처리가 실행(개시시점)될 때까지의 오버헤드를 계측하고 있다.
이어서, 도 8의 (5) 시점에서 계수값 취득부(72-2)는 슬레이브측 카운터 1의 값을 참조하여 시간으로 환산하여 500μs를 취득하고 있다. 이에 이어서, 동기 판정부(72-3)는 왕복 전송지연시간 600μs으로부터 편도 전송지연시간 300μs을 구하고, 구한 전송지연시간과 전술한 오버헤드 200μs를 더하여 종합 지연시간 500μs를 구하고 있다. 그리고, 동기 판정부(72-3)는 종합 지연시간 500μs와 계수값 취득부(72-2)가 취득한 500μs를 비교하여, 양자가 동일하므로 제1 기준신호와 제2 기준신호가 동기하고 있다고 판정하고 있다. 동기 판정부(72-3)에 의해 동기가 판정되었기 때문에, 동기화 보정부(72-4)는 기준값 1000μs를 슬레이브측 카운터 1에 설정하고 있다 (설정시점에서 슬레이브측 카운터 1 은 재시작하지 않는다). 그리고, 슬레이브측 카운터 1은 도 8의 (6) 시점에서 카운터값이 기준값 1000μs에 도달했기 때문에 재시작하고 있다.
도 9는 슬레이브 노드(51-2)의 카운터가 마스터 노드(51-1)의 카운터보다 200μs 늦은 경우를 나타내고 있다.
도 9의 제1주기(좌측 주기)에 있어서, 도 9의 (1) 시점에서 마스터 노드(51-1)는 마스터측의 카운터값이 기준값에 도달했기 때문에 동기화 프레임을 송신하고 있다. 그리고, (2) 시점에서 슬레이브 노드(51-2)는, (1) 시점에서 송신된 동기화 프레임을 통신로(52)의 편도 전송지연시간 (300μs)을 거쳐 수신하여 동기화 보정 처리를 시작하고 있다. 또한, 동기화 프레임의 수신에 따라, 오버헤드 계측부(72-1)의 카운터(카운터 2)가 클리어되어 재시작하고 있다(도 9의 (3)).
이어서, 도 9의 (4) 시점에서 동기화 보정 처리가 실제로 실행되면, 오버헤드 계측부(72-1)는 동기화 보정 처리의 개시시점에서 당해 카운터 (카운터 2)의 값을 참조하여 시간으로 환산하여 200μs를 얻고 있다.
이어서, 도 9의 (5) 시점에서 계수값 취득부(72-2)는 슬레이브측 카운터 1의 값을 참조하여 시간으로 환산하여 300μs를 취득하고 있다. 이에 이어서, 동기 판정부(72-3)는 왕복 전송지연시간 600μs으로부터 편도 전송지연시간 300μs를 구하고, 구한 전송지연시간과 전술한 오버헤드 200μs를 더하여 종합 지연시간 500μs를 구하고 있다. 그리고, 동기 판정부(72-3)는 종합 지연시간 500μs와 계수값 취득부(72-2)가 취득한 300μs를 비교하여, 양자가 상이하기 때문에 제1 기준신호와 제2 기준신호가 비동기라고 판정하고 있다.
동기 판정부(72-3)에 의해 비동기가 판정되었기 때문에, 동기화 보정부(72-4)는 슬레이브측의 카운터 1에 임시 기준값을 설정하고 있다. 구체적으로, 동기화 보정부(72-4)는 「기준값(처리 주기) - ("카운터 2" - "슬레이브측 카운터 1")」의 식에 의해 "슬레이브측 카운터 1"의 재시작값 (리셋값)을 구하고, 구한 카운터값을 임시 기준값으로 하여 "슬레이브측 카운터 1"에 설정한다. 이 예의 경우, 임시 기준값은 1000μs-(500μs-300μs) = 800μs가 되고, "슬레이브측 카운터 1"에 설정된다. 그리고, 슬레이브측 카운터 1은 도 10의 (6) 시점에서 카운터값이 임시 기준값 800μs에 도달했기 때문에 재시작하고 있다. 한편, "카운터 2" - "슬레이브측 카운터 1"의 값이 동기화 보정값이다.
도 10은 슬레이브 노드(51-2)의 카운터가 마스터 노드(51-1)의 카운터보다 200μs 빠른 경우를 나타내고 있다. 도 10의 제1주기 (좌측 주기)에 있어서, 도 10의 (1) 시점에서 마스터 노드(51-1)는 마스터측의 카운터값이 기준값에 도달했기 때문에 동기화 프레임을 송신하고 있다. 그리고, (2) 시점에서 슬레이브 노드(51-2)는, (1) 시점에서 송신된 동기화 프레임을 통신로(52)의 편도 전송지연시간(300μs)을 거쳐 수신하여 동기화 보정 처리를 시작하고 있다. 또한, 동기화 프레임의 수신에 따라, 오버헤드 계측부(72-1)의 카운터(카운터 2)가 클리어되어 재시작하고 있다 (도 10의 (3)).
이어서, 도 10의 (4) 시점에서 동기화 보정 처리가 실제로 실행되면, 오버헤드 계측부(72-1)는 동기화 보정 처리의 개시시점에서 당해 카운터 (카운터 2)의 값을 참조하여 시간으로 환산하여 200μs를 얻고 있다.
이어서, 도 10의 (5) 시점에서 계수값 취득부(72-2)는, 슬레이브측 카운터 1의 값을 참조하여 시간으로 환산하여 700μs를 취득하고 있다. 이에 이어서, 동기 판정부(72-3)는 왕복 전송지연시간 600μs으로부터 편도 전송지연시간 300μs를 구하고, 구한 편도 전송지연시간과 전술한 오버헤드 200μs를 더하여 종합 지연시간 500μs를 구하고 있다. 그리고, 동기 판정부(72-3)는 종합 지연시간 500μs와 계수값 취득부(72-2)가 취득한 700μs를 비교하여, 양자가 상이하기 때문에 제1 기준신호와 제2 기준신호가 비동기라고 판정하고 있다.
동기 판정부(72-3)에 의해 비동기가 판정되었기 때문에, 동기화 보정부(72-4)는 슬레이브측의 카운터 1에 임시 기준값을 설정하고 있다. 이 예의 경우, 임시 기준값은 1000μs-(500μs-700μs) = 1200μs가 되어, "슬레이브측 카운터 1"에 설정된다. 그리고, 슬레이브측의 카운터 1은 도 10의 (6) 시점에서 카운터값이 임시 기준값 1200μs도달했기 때문에 재시작하고 있다.
한편, 도 9 및 도 10의 예의 경우, 제2 주기(도면에서 가운데 주기)에서 마스터측 카운터와 슬레이브측 카운터 1이 동기하는 것이 되므로, 동기화 보정부(72-4)는 전술한 도 8에 나타내는 처리에 의해 원래의 기준값 1000μs를 슬레이브측 카운터 1에 설정하고 있다(설정 시점에서 슬레이브측 카운터 1은 재시작하고 있지 않다). 그리고, 슬레이브측 카운터 1 은 카운터값이 기준값 1000μs에 도달했을 때에 재시작한다. 즉, 제2 실시형태는 현재 주기에 대해 다음 주기의 마스터측 카운터의 재시작과 대략 같은 타이밍에서 슬레이브측 카운터 1을 재시작할 수 있으므로, 마스터측 카운터의 값과 슬레이브측 카운터 1의 값을 대략 동일한 값으로 맞출 수 있다.
또한, 동기화 보정 처리에는, 제1 실시형태와 마찬가지로 계수값 취득부(72-2), 동기 판정부(72-3), 동기화 보정부(72-4), 그리고 오버헤드 계측부(72-1)의 프로그램 처리가 포함되어 있다.
또한, 슬레이브측의 카운터 1, 즉, 제2 기준신호 생성부(71-1)는 CPU에 내장되어 있는 것을 전제로 하여 설명하였으나, 이에 한정되는 것은 아니다. 즉, 제2 기준신호 생성부(71-1)는 CPU의 밖에 있어도 실현 가능하다. 다만, 제2 기준신호 생성부(71-1)가 CPU에 내장되어 있음으로 인해, CPU의 외부에서 생성된 소정의 신호로 제2 기준신호 생성부(71-1)를 하드웨어적으로 리셋할 수 없다. 즉, 제2 기준신호 생성부(71-1)는 프로그램이 개재되어 그 동작이 제어되는 카운터이다. 그러므로, 본 발명은 제2 기준신호 생성부(71-1)의 리셋 처리(재시작 처리)를 프로그램으로 실행할 필요가 있는데, 그 오버헤드가 동기화 오차로 이어진다. 따라서, 본 발명에서는 오버헤드를 계측하는 하는 구성이 필요하게 된다(제1 실시형태에서도 마찬가지).
또한, 제2 실시형태에서, 동기화 보정 처리는 동기화 프레임 수신에 의해 시작되는 인터럽트 처리이다.
또한, 상기 설명에서 슬레이브 노드(51-2)는, 예를 들어, 왕복 전송지연시간을 마스터 노드(51-1)로부터 얻어 유지하고, 유지된 왕복 전송지연시간을 동기화 보정 처리시에 활용한다. 이와는 별개로, 마스터 노드(51-1)가 왕복 전송지연시간을 동기화 프레임에 포함시켜서 슬레이브 노드(51-2)로 송신하고, 이를 수신한 슬레이브 노드(51-2)가 동기화 프레임에 포함되는 왕복 전송시간을 활용하는 방법도 있다. 이렇게 하여 마스터 노드(51-1)는 상황에 따른 왕복 전송지연시간을 슬레이브 노드에 적절히 통지할 수 있기 때문에, 슬레이브 노드에서는 상황에 따른 왕복 전송지연시간을 적시에 활용할 수 있다.
또한, 전송지연시간 통지부(64)에 대해 왕복 전송지연시간을 슬레이브 노드(51-2)에 통지하는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 전송지연시간 통지부(64)는, 산출된 왕복 전송지연시간을 반으로 나누어 편도 전송지연시간을 구하고, 구한 편도 전송지연시간을 슬레이브 노드(51-2)에 통지하도록 하여도 좋다. 이 경우, 슬레이브 노드(51-2)의 동기 판정부(72-3)는 주어진 편도 전송지연시간을 그대로 사용하여 종합 지연시간을 구하도록 하여도 좋다.
이상의 설명과 같이 제2 실시형태에서는, 통신로에 의한 신호의 전송지연 시간을 포함시켜서 제1 기준신호와 제2 기준신호를 동기화시킬 수 있다.
<동기화 보정 처리에서의 전송 지연시간 통지절차에 대하여>
이어서, 전술한 동기화 보정 처리에서의 전송 지연시간의 통지절차에 대해 설명한다. 도 11은 제2 실시형태에서의 전송 지연시간 통지절차의 일례를 설명하기 위한 도면이다. 한편, 도 11의 예에서는, 전술한 마스터 노드(51-1)와 슬레이브 노드(51-2,51-3)를 가지고, 각 노드는 통신로(52)를 통해 신호의 송수신이 가능한 상태로 연결되어 있는 것으로 한다. 또한, 이하의 설명에서는, 마스터 노드(51-1)가 각 노드 간의 통신로(52)에 의한 신호의 전송 지연시간을 취득하는 예를 나타낸다.
또한, 도 11에 나타내는 사각형은 프레임을 나타내고, 각 노드에 대한 선 위의 사각형은 송신 프레임을 나타내며, 선 아래의 사각형은 수신 프레임을 나타내고 있다. 또한, 도 11에 나타내는 프레임은, 전송지연시간 요청 프레임(81, 도 11에서의 「REQ S*」(*는 예를 들어 각 슬레이브 노드를 식별하기 위해 미리 할당된 번호를 나타낸다(이하 동일)))과, 수신 완료 프레임(82, 도 11에서의 「S*」) 과, 전송지연시간 통지 프레임(83, 도 11에서의 「SET S*」) 과, 전송지연시간 통지 프레임(83)에 대한 응답 프레임(84, 도 11에서의 「ANS S*」)을 가진다.
도 11의 예에서, 마스터 노드(51-1)는 슬레이브 노드(51-2, S1)에 대한 전송지연시간 요청 프레임(81-1, REQ S1)을 마스터 노드 동기화 기준에 따라 통신로(52) 상으로 브로드 캐스트 송신한다. 이 때, 전송지연시간 요청 프레임(81-1)에는 슬레이브 노드(51-2)에 대한 전송지연시간 요청임을 나타내는 정보(대상 노드 정보)가 포함되어 있다.
브로드 캐스트 송신된 전송지연시간 요청 프레임(81-1)은 통신로(52)를 통해 소정의 전송지연시간 후에 각각의 슬레이브 노드(51-2,51-3)에서 수신된다. 또한, 도 11의 예에서, 슬레이브 노드(51-1)는 마스터 노드 동기화 기준으로부터 지연시간 D1으로 전송지연시간 요청 프레임(81-1)을 수신하고, 슬레이브 노드(51-3)는 마스터 노드 동기화 기준으로부터 지연시간 D2로 전송지연시간 요청 프레임(81-1)을 수신한다.
여기에서, 각각의 슬레이브 노드(51-2,51-3)는 전송지연시간 요청 프레임(81-1)에 포함되어 있는 전술한 대상 노드 정보를 확인한다. 전술한 바와 같이, 전송지연시간 요청 프레임(81-1)은 슬레이브 노드(51-2)에 대한 요청이기 때문에, 슬레이브 노드(51-2)만이 마스터 노드(51-1)에 대해 수신완료 프레임(82-1, S1)을 브로드 캐스트 송신한다. 이 때, 수신완료 프레임(82-1)에는 마스터 노드(51-1)에 대한 수신완료 프레임임을 나타내는 정보(대상 노드 정보)가 포함되어 있다.
송신된 수신완료 프레임(82-1)은 통신로(52)를 통해 마스터 노드(51-1) 및 슬레이브 노드(52-3)에서 수신된다. 다음으로, 마스터 노드(51-1) 및 슬레이브 노드(51-3)는 수신완료 프레임(82-1)에 포함되어 있는 전술한 대상 노드 정보를 확인한다. 전술한 바와 같이, 수신완료 프레임(82-1)은 마스터 노드(51-1)에 대한 프레임이다. 따라서, 마스터 노드(51-1)는, 마스터 노드 동기화 기준에 따라 송신한 전송지연시간 요청 프레임(81-1)의 송신으로부터 그 수신완료 프레임(82-1)을 수신할 때까지의 시간 정보에 근거하여, 슬레이브 노드(51-2)에 대한 전송지연시간을 설정한다. 한편, 여기에서, 설정되는 전송지연시간은 통신로(52)를 통해 마스터 노드(51-1)와 슬레이브 노드(51-2) 사이를 소정의 신호가 왕복하는 왕복 전송지연시간이어도 좋고, 편도분의 전송지연시간이어도 좋다.
또한, 마스터 노드(51-1)는, 설정한 전송지연시간을 슬레이브 노드(51-2)에 통지하기 위한 전송지연시간 통지 프레임(83-1,SET S1)을 작성하고, 작성된 전송지연시간 통지 프레임(83-1)을 마스터 노드 동기화 기준에 따라 브로드 캐스트 송신한다. 한편, 전송지연시간 통지 프레임(83-1)에는 전술한 대상 노드 정보가 포함되어 있다.
브로드 캐스트 송신된 전송지연시간 통지 프레임(83-1)은, 전술한 전송지연시간 요청 프레임(81-1)과 마찬가지로, 통신로(52)를 통해 소정의 전송지연시간 후에 각각의 슬레이브 노드(51-2,51-3)에서 수신된다.
이 때, 슬레이브 노드(51-2)는, 수신한 전송지연시간 통지 프레임(83-1)의 대상 노드 정보로부터 자기 노드에 대한 정보라고 판단하고, 프레임 내에 포함되는 전송지연시간과 전술한 오버헤드 시간 등을 포함한 제2 실시형태에서의 동기화 보정 처리를 행한다. 또한, 슬레이브 노드(51-2)는, 전송지연시간 통지 프레임(83-1)에 대한 응답 프레임(84-1, ANS S1)을 작성하고, 작성된 응답 프레임(84-1)을 브로드 캐스트 송신한다. 이 때, 응답 프레임(84-1)에는, 마스터 노드(51-1)에 대한 프레임임을 나타내는 정보(대상 노드 정보) 및 동기화 보정 처리가 완료되었음을 나타내는 정보 등이 포함되어 있다.
송신된 응답 프레임(84-1)은 전술한 수신완료 프레임(82-1)과 마찬가지로, 통신로(52)를 통해 마스터 노드(51-1) 및 슬레이브 노드(52-3)에서 수신된다. 다음으로, 마스터 노드(51-1) 및 슬레이브 노드(51-3)는 수신응답 프레임(84-1)에 포함되어 있는 전술한 대상 노드 정보를 확인한다. 전술한 바와 같이, 응답 프레임(84-1)은 마스터 노드(51-1)에 대한 프레임이다. 따라서, 마스터 노드(51-1)는, 슬레이브 노드(51-2)로부터의 응답 프레임(84-1)에 의해, 동기화 보정 처리가 완료되었음을 파악할 수 있다. 한편, 슬레이브 노드(51-3)는 전송지연시간 요청 프레임(81-1, REQ S1)과, 수신완료 프레임(82-1, S1)과, 전송지연시간 통지 프레임(83-1, SET S1)과, 응답 프레임(84-1, ANS S1)을 수신하고 있으나, 어떤 것도 자기 노드에 대한 프레임은 아니므로 수신된 프레임은 파기된다.
전술한 내용까지가 슬레이브 노드(51-2)로의 전송지연시간 통지 절차이다. 따라서, 마스터 노드(51-1)는 슬레이브 노드(51-3)에 대해서도 마찬가지로 전송지연시간을 통지한다.
구체적으로는, 도 11의 예에서, 마스터 노드(51-1)는 슬레이브 노드(51-3, S2)에 대한 전송지연시간 요청 프레임(81-2, REQ S2)을 마스터 노드 동기화 기준에 따라 통신로(52) 상에 브로드 캐스트 송신한다. 브로드 캐스트 송신된 전송지연시간 요청 프레임(81-2)은, 전술한 바와 같이 통신로(52)를 통해 소정의 전송지연시간(D1,D2)을 가지고 각 슬레이브 노드(51-2,51-3)에 의해 수신된다.
전송지연시간 요청 프레임(81-2)은 슬레이브 노드(51-3)에 대한 요청이기 때문에, 슬레이브 노드(51-3)만이 마스터 노드(51-1)에 대해 수신완료 프레임(82-2, S2)을 브로드 캐스트 송신한다. 송신된 수신완료 프레임(82-2)은 통신로(52)를 통해 마스터 노드(51-1) 및 슬레이브 노드(52-2)에서 수신된다. 수신완료 프레임(82-2)은 마스터 노드(51-1)에 대한 프레임이다. 따라서, 마스터 노드(51-1)는 마스터 노드 동기화 기준에 따라, 송신한 전송지연시간 요청 프레임(81-2)의 송신으로부터 그 수신완료 프레임(82-2)을 수신할 때까지의 시간 정보에 근거하여, 슬레이브 노드(51-3)에 대한 전송지연시간을 설정한다. 한편, 여기에서, 설정되는 전송지연시간은 통신로(52)를 통해 마스터 노드(51-1)와 슬레이브 노드(51-3) 사이를 소정의 신호가 왕복하는 왕복 전송지연시간이어도 좋고, 편도분의 전송지연시간이어도 좋다.
또한, 마스터 노드(51-1)는 설정된 전송지연시간을 슬레이브 노드(51-3)에 통지하기 위한 전송지연시간 통지 프레임(83-2, SET S2)을 작성하고, 작성한 전송지연시간 통지 프레임(83-2)을 마스터 노드 동기화 기준에 따라 브로드 캐스트 송신한다. 브로드 캐스트 송신된 전송지연시간 통지 프레임(83-2)은 전술한 전송지연시간 요청 프레임(81-2)과 마찬가지로, 통신로(52)를 통해 소정의 전송지연시간(D1, D2)을 가지고 각 슬레이브 노드(51-2,51-3)에 의해 수신된다.
이 때, 슬레이브 노드(51-3)는 전술한 바와 같이, 수신된 전송지연시간 통지 프레임(83-2)의 대상 노드 정보로부터 자기 노드에 대한 정보라고 판단하고, 프레임 내에 포함되는 전송지연시간과 전술한 오버헤드 시간 등을 포함한 제2 실시형태에서의 동기화 보정 처리를 행한다. 또한, 슬레이브 노드(51-3)는 전송지연시간 통지 프레임(83-2)에 대한 응답 프레임(84-2, ANS S2)을 작성하고, 작성된 응답 프레임(84-2)을 브로드 캐스트 송신한다. 이 때, 응답 프레임(84-2)에는 마스터 노드(51-1)에 대한 프레임임을 나타내는 정보(대상 노드 정보) 및 동기화 보정 처리가 완료되었음을 나타내는 정보 등이 포함되어 있다.
송신된 응답 프레임(84-2)은 전술한 수신완료 프레임(82-2)과 마찬가지로, 통신로(52)를 통해 마스터 노드(51-1) 및 슬레이브 노드(52-2)에서 수신된다. 다음으로, 마스터 노드(51-1) 및 슬레이브 노드(51-2)는 응답 프레임(84-2)에 포함되어 있는 전술한 대상 노드 정보를 확인한다. 전술한 바와 같이, 응답 프레임(84-2)은 마스터 노드(51-1)에 대한 프레임이다. 따라서, 마스터 노드(51-1)는 슬레이브 노드(51-3)로부터의 응답 프레임(84-2)에 의해, 동기화 보정 처리가 완료되었음을 파악할 수 있다. 한편, 슬레이브 노드(51-2)는 전송지연시간 요청 프레임(81-2, REQ S2)과 수신완료 프레임(82-2, S2)과 전송지연시간 통지 프레임(83-2, SET S2)과 응답 프레임(84-2, ANS S2)을 수신하고 있으나, 어떤 것도 자기 노드에 대한 프레임이 아니므로, 수신된 프레임은 파기된다.
제2 실시형태에서는, 전술한 처리를 통신로(52)의 각 슬레이브 노드에 대해 순차적으로 실시함으로써 전송지연시간을 통지할 수 있다.
또한, 전송지연시간의 통지 절차에 대해서는 전술한 절차에 한정되는 것은 아니다. 예를 들어, 전송지연시간 요청 프레임을 브로드 캐스트 송신하고, 이를 수신한 슬레이브 노드(51-2,51-3)가 응답 프레임의 송신에 의해 통신로(52) 상이나 마스터 노드(51-1)상에서 혼잡하지 않도록, 예를 들어 전술한 각 노드의 내부에 송신 카운터를 설치하고, 그 송신 카운터를 사용하여 서로 다른 타이밍에 응답 프레임을 송신하도록 제어하여도 좋다.
전술한 제2 실시형태에서는, 예를 들어 이더넷(등록상표)과 같은 스타형 토폴로지를 갖는 시스템에서, 시분할 다중 전송 방식을 이용한 공통 메모리 네트워크에 대해, 각 노드의 카운터를 동기화하여 장치 전체에서 제어 타이밍을 맞추는 동기화 제어가 가능하다. 또한, 제2 실시형태에서, 동기화시키는 카운터는, 마이크로 컴퓨터 내부의 카운터를 이용하거나, FPGA 등의 하드웨어에 의해 카운터를 이용하여 구성할 수 있다. 따라서, 제2 실시형태에서는, 예를 들어, 송수신 프레임의 수신 타이밍에서 마스터 노드에 동기하고 있는 카운터와 마이크로 컴퓨터에서의 처리 시간을 계측하는 카운터를, 예를 들어 FPGA 등의 하드웨어로 구성하고, 그 카운터값을 마이크로 컴퓨터로 연산하여 처리 오차를 보정할 수 있다.
여기에서, 상기의 예에서는 노드 동기화 시스템(50)의 일례로서 마스터-슬레이브 간 노드 동기화에 대해 설명하였으나, 본 발명은 이에 한정되지 않고, 예를 들어 보호 릴레이 등에서의 샘플링 동기화 기술에도 응용할 수 있다.
<네트워크 전송 시스템 : 개략 구성예>
여기에서, 전술한 제2 실시형태에서는, 예를 들어 각 노드 사이가 허브(HUB) 등의 중계 장치를 통해 연결되는 경우가 있다. 도 12는 제2 실시형태에서의 마스터 노드 및 슬레이브 노드를 이용한 노드 동기화 시스템을 포함하는 네트워크 전송 시스템의 개략 구성의 일례를 나타내는 도면이다. 도 12에 나타내는 네트워크 전송 시스템(90)은 일례로서, 전술한 복수의 노드(51, 도 12의 예에서는 노드(51-1~51-3))와, 하나 또는 복수의 중계 장치로서의 허브(91, 도 12의 예에서는 허브(91-1~91-5))를 가진다. 또한, 노드와 중계 장치의 수, 종류, 연결방법에 대해서는 이에 한정되지 않는다.
도 12의 예에서는, 도 7의 마스터 노드, 즉, 노드(51-1)를 노드 A(마스터국)로 하고, 도 7의 슬레이브 노드, 즉, 노드(51-2), 노드(51-3)를 노드 B, 노드 C(슬레이브국)로 한다. 또한, 도 12에 나타내는 바와 같이, 네트워크 전송 시스템(90)의 통신로는, 예를 들어 마스터 노드(51-1)와 슬레이브 노드(51-2) 사이에 중계 장치를 가지는 스타형이다. 또한, 중계 장치는, 일례로서 허브(HUB)를 이용하고 있으나, 본 발명에 있어서는 이에 한정되지 않고, 예를 들어, 라우터(router), 리피터(repeater), 광 컨버터 등을 이용할 수도 있다.
또한, 마스터 노드 및 슬레이브 노드는, 예를 들어 프로그래머블 컨트롤러 (제어장치 또는 PLC(Programmable Logic Controller)라고도 함)이며, 네트워크 전송 시스템(90)의 통신로는 이들 프로그래머블 컨트롤러 간의 데이터를 교환하는 데이터 교환 버스이다. 이 데이터 교환 버스에 연결되는 기기로는, 예를 들어 전술한 프로그래머블 컨트롤러 외에도, PC, 서버, I/O 모듈, 드라이브 장치(예를 들어, 인버터, 서보 기구 등) 등이 있다.
도 12에 나타내는 네트워크 전송 시스템(90)은 노드(51-1) 및 노드(51-3)가 동일한 허브(12-1)에 연결되어 있고, 노드(51-2)는5단의 허브(중계장치)를 경유하여 노드(51-1) 및 노드(51-3)와 연결되어 있다.
여기에서, 일반적인 이더넷의 허브로는 저장 및 전달(store and forward)이라고 하는 인터페이스 방식이 채용되고 있다. 이 경우, 보내진 프레임은 모두 허브 내의 수신 버퍼에 저장하고, 허브 내부처리(예를 들어, 이상 판정, 수신자 판정 등)를 행한 후 송신된다.
<노드 동기화 프로세스의 시퀀스 예>
도 13은 노드 동기화 처리의 개략적인 시퀀스 예를 나타내는 도면이다. 도 13의 예에서는 설명의 편의상, 마스터 노드(51-1)와 슬레이브 노드(51-2)를 이용한 동기화에 대하여 설명하지만, 본 발명은 이에 한정되는 것이 아니고, 하나의 마스터 노드에 대해 복수의 슬레이브 노드를 동기화할 수 있다.
도 13의 노드 동기화 프로세스에서, 우선 마스터 노드(51-1)는 제1 기준신호를 생성하고(S11), 슬레이브 노드(51-2)는 제2 기준신호를 생성하고 있다(S12). 또한, 이 프로세스는 하드웨어적으로 주기적으로 작동되고 있다.
여기에서, 마스터 노드(51-1)는 전송지연시간을 측정하기 위해 전송지연시간 요청 프레임을 생성하고, 슬레이브 노드(51-2)에 통지한다(S13). 한편, 전송지연시간 요청 프레임은 동기화 프레임에 포함되는 소정 부분의 데이터를 바꾼 것일 뿐이어서, 동기화 프레임이라고 부를 수도 있으나, 여기에서는 편의상 "전송지연시간 요청 프레임"으로 설명하고 있다.
전송지연시간 요청 프레임은 통신로(52)를 통해 슬레이브 노드(51-2)로 송신된다(S14). 슬레이브 노드(51-2)는 전송지연시간 요청 프레임을 수신하면, 수신완료 통지를 생성하여 마스터 노드(51-1)에 통지한다(S15). 수신완료 통지는 통신로(52)를 통해 마스터 노드(51-1)로 송신된다(S16).
마스터 노드(51-1)는 수신완료 통지를 수신하면, 예를 들어 왕복 전송지연시간을 산출하고(S17), 산출된 왕복 전송지연시간 등을 포함하는 전송지연시간 프레임 통지를 생성하고(S18), 생성된 전송지연시간 프레임 통지를 통신로(52)를 통해 슬레이브 노드(51-2)에 송신한다(S19).
슬레이브 노드(51-2)는 전송지연시간 프레임을 수신하면(S20), 오버헤드를 계측하고(S21), 전술한 바와 같은 동기 판정을 하고(S22), 비동기인 경우, 종합 지연시간을 산출한다(S23). 종합 지연시간이란, 예를 들어 전송지연시간과 오버헤드 값을 더한 값이지만, 이에 한정되는 것은 아니다. 또한, 슬레이브 노드(51-2)는 산출된 종합 지연시간을 이용하여 동기화 보정을 행한다(S24). 또한, 도 13에 나타내는 처리에서, 슬레이브 노드(51-2)는 동기화 보정이 완료되었음을 나타내는 응답 프레임을 마스터 노드(51-1)로 송신하여도 좋다. 또한, 마스터 노드(51-1)는 통신로(52)에 연결된 슬레이브 노드(51-2) 이외의 슬레이브 노드에 대해서도 전술한 절차로 노드 동기화 처리를 행한다.
여기에서, 본 실시형태에서는, 컴퓨터를 전술한 노드(60)가 가지는 각 수단으로서 기능시키기 위한 프로그램(노드 동기화 프로그램)을 생성하고, 생성된 프로그램을 컴퓨터 등에 설치함으로써, 전술한 각 노드 동기화 처리를 실현할 수 있다.
전술한 바와 같이, 본 발명에 의하면, 소정의 신호를 높은 정밀도로 동기화할 수 있다. 이로써, 예를 들어, 각 노드의 데이터 교환주기의 안정화를 실현할 수 있다. 또한, 본 발명에 의하면, 예를 들어 이더넷과 같은 스타형 토폴로지를 가지는 시스템에서, 시분할 다중 전송방식을 이용한 공유 메모리 네트워크에 대해 각 노드의 타이머를 동기화하여, 전송의 효율화, 데이터 교환의 효율화, 데이터 교환주기의 안정화 등을 실현할 수 있다.
또한, 본 실시형태는, 예를 들어 철강 플랜트 등과 같은 대규모 설비 등에서의 일련의 동작을 복수의 조작을 이용해 실시하는 경우의 동기화 기법에 적용할 수 있고, 나아가 기가 이더넷 전반에서의 각 장치 간 동기 방식으로도 널리 적용할 수 있다.
이상 본 발명의 바람직한 실시예에 대해 상세하게 설명하였으나, 본 발명은 이러한 특정의 실시형태에 한정되는 것이 아니고, 특허청구범위에 기재된 본 발명 요지의 범위 내에서 다양한 변형, 변경이 가능하다.
10 신호 동기화 시스템
11 프로세서
12 전송 버스
13,53 I/O (입출력) 모듈
14,54 외부 기기
15,55 프로그래밍 장치
21,61 제1 연산부
21-1,61-1 제1 기준신호 생성부
22,33,62,73 기억부
31,71 제2 연산부
31-1,71-1 제2 기준신호 생성부
32-1,72-1 오버헤드 계측부
32-2,72-2 계수값 취득부
32-3,72-3 동기 판정부
32-4,72-4 동기화 보정부
41 입력부
42 출력부
43 CPU
44 메모리
45 외부 인터페이스
50 노드 동기화 시스템
51 노드
52 통신로
63 동기화 프레임 통지부
64 전송지연시간 통지부
74 수신완료 통지부
75 프레임 통지부
81 전송지연시간 요청 프레임
82 수신완료 프레임
83 전송지연시간 통지 프레임
84 응답 프레임
90 네트워크 전송 시스템
91 허브(중계장치)

Claims (16)

  1. 기준값이 설정되며, 당해 기준값에 계수값이 도달함으로써 제1 기준신호를 생성하는 제1 기준신호 생성부와,
    상기 기준값이 설정되며, 당해 기준값에 계수값이 도달함으로써 제2 기준신호를 생성하는 제2 기준신호 생성부와,
    상기 제1 기준신호 생성부에 의해 생성된 상기 제1 기준신호를 수신하여 소정의 처리를 실행하는 연산부와,
    상기 제1 기준신호를 수신하여 재시작하며, 당해 재시작을 기점으로 상기 소정의 처리가 실행될 때까지의 오버헤드를 계측하는 오버헤드 계측부와,
    상기 오버헤드의 경과 후에 상기 소정의 처리가 실행되는 시점에서의 상기 제2 기준신호 생성부의 계수값을 취득하는 계수값 취득부와,
    상기 계수값 취득부에 의해 취득된 계수값과 상기 오버헤드의 값이 다를 때, 상기 제1 기준신호와 상기 제2 기준신호가 비동기라고 판정하는 동기 판정부와,
    상기 동기 판정부가 상기 제1 기준신호와 상기 제2 기준신호의 비동기를 판정하면, 상기 오버헤드의 값에서 상기 계수값 취득부에 의해 취득된 계수값을 빼서 동기화 보정값을 구하고, 구한 동기화 보정값을 상기 기준값에서 뺀 값을 상기 제2 기준신호 생성부에 임시 기준값으로 설정하는 동기화 보정부를 구비하는 것을 특징으로 하는 신호 동기화 시스템.
  2. 제1항에 있어서,
    상기 제2 기준신호 생성부는 상기 연산부만이 액세스할 수 있는 카운터인 것을 특징으로 하는 신호 동기화 시스템.
  3. 제1항에 있어서,
    상기 동기 판정부는, 상기 계수값 취득부에 의해 취득된 계수값 및 상기 오버헤드 계측부에 의해 계측된 상기 오버헤드의 값을 시간 환산하여, 양자의 시간이 다를 때 비동기라고 판정하는 것을 특징으로 하는 신호 동기화 시스템.
  4. 기준값이 설정되며, 당해 기준값에 계수값이 도달함으로써 제1 기준신호를 생성하는 제1 기준신호 생성부와, 상기 제1 기준신호 생성부에 의해 생성된 상기 제1 기준신호에 동기하여 프로그램을 실행하는 제1 연산부를 포함하는 메인 프로세서와,
    상기 기준값이 설정되며, 당해 기준값에 계수값이 도달함으로써 제2 기준신호를 생성하는 제2 기준신호 생성부와, 상기 제1 기준신호가 접속되며, 상기 제2 기준신호 생성부에 의해 생성된 상기 제2 기준신호에 동기하여 프로그램을 실행하며, 상기 제1 기준신호를 수신하면 소정의 처리를 실행하는 제2 연산부와, 상기 제1 기준신호를 수신하여 재시작하고, 당해 재시작을 기점으로 상기 소정의 처리가 실행될 때까지의 오버헤드를 계측하는 오버헤드 계측부와, 상기 오버헤드의 경과 후에 상기 소정의 처리가 실행되는 시점에서의 상기 제2 기준신호 생성부의 계수값을 취득하는 계수값 취득부와, 상기 계수값 취득부에 의해 취득된 계수값과 상기 오버헤드의 값이 다를 때 상기 제1 기준신호와 상기 제2 기준신호가 비동기라고 판정하는 동기 판정부와, 상기 동기 판정부가 상기 제1 기준신호와 상기 제2 기준신호의 비동기를 판정하면, 상기 오버헤드 값으로부터 상기 계수값 취득부에 의해 취득된 계수값을 빼서 동기화 보정값을 구하고, 구한 동기화 보정값을 상기 기준값에서 뺀 값을 상기 제2 기준신호 생성부에 임시 기준값으로 설정하는 동기화 보정부를 포함하는 서브 프로세서를 구비하는 것을 특징으로 하는 멀티 프로세서.
  5. 제4항에 있어서,
    상기 제2 기준신호 생성부는 상기 제2 연산부만이 액세스할 수 있는 카운터인 것을 특징으로 하는 멀티 프로세서.
  6. 제4항에 있어서,
    상기 동기 판정부는, 상기 계수값 취득부에 의해 취득된 계수값 및 상기 오버헤드 계측부에 의해 계측된 상기 오버헤드의 값을 시간 환산하여, 양자의 시간이 다를 때 비동기라고 판정하는 것을 특징으로 하는 멀티 프로세서.
  7. 제4항에 있어서,
    상기 제1 기준신호는 주기마다 출력되고,
    상기 제1 연산부는 상기 주기마다 상기 프로그램을 실행하여 외부에 접속되는 기기를 제어하는 것을 특징으로 하는 멀티 프로세서.
  8. 제4항에 있어서,
    상기 기준값은 외부에 접속되는 설정 장치로부터 설정할 수 있는 것을 특징으로 하는 멀티 프로세서.
  9. 제4항에 있어서,
    상기 오버헤드는 상기 오버헤드 계측부가 재시작된 기점에서부터 상기 소정의 처리의 개시 시점까지의 시간인 것을 특징으로 하는 멀티 프로세서.
  10. 기준값이 설정되며, 당해 기준값에 계수값이 도달함으로써 제1 기준신호를 생성하는 제1 기준신호 생성부와, 상기 제1 기준신호 생성부에 의해 생성된 상기 제1 기준신호에 동기하여 프로그램을 실행하는 제1 연산부와, 통신로를 통해 상기 제1 기준신호에 동기한 동기화 프레임을 슬레이브 노드에 송신하는 동기화 프레임 통지부와, 상기 동기화 프레임을 송신하고서 상기 슬레이브 노드에 수신될 때까지의 전송지연시간을 산출하여 상기 슬레이브 노드에 통지하는 전송지연시간 통지부를 포함하는 마스터 노드와,
    상기 기준값이 설정되며, 당해 기준값에 계수값이 도달함으로써 제2 기준신호를 생성하는 제2 기준신호 생성부와, 상기 제1 기준신호가 접속되며, 상기 제2 기준신호 생성부에 의해 생성된 상기 제2 기준신호에 동기하여 프로그램을 실행하며, 상기 제1 기준신호를 수신하면 소정의 처리를 실행하는 제2 연산부와, 상기 제1 기준신호를 수신하여 재시작하고, 당해 재시작을 기점으로 상기 소정의 처리가 실행될 때까지의 오버헤드를 계측하는 오버헤드 계측부와, 상기 오버헤드의 경과 후에 상기 소정의 처리가 실행되는 시점에서의 상기 제2 기준신호 생성부의 계수값을 취득하는 계수값 취득부와, 상기 마스터 노드에 의해 통지된 상기 전송지연시간의 값과 상기 오버헤드의 값을 더하여 종합지연시간 값을 구하고, 구한 종합지연시간 값과 상기 계수값 취득부에 의해 취득된 상기 제2 기준신호 생성부의 계수값을 비교하여, 양자가 상이할 때 제1 기준신호와 제2 기준신호가 비동기라고 판정하는 동기 판정부와, 상기 동기 판정부가 상기 제1 기준신호와 상기 제2 기준신호의 비동기를 판정하면 상기 종합지연시간 값에서 상기 계수값 취득부에 의해 취득된 계수값을 빼서 동기화 보정값을 구하고, 구한 동기화 보정값을 상기 기준값에서 뺀 값을 상기 제2 기준신호 생성부에 임시 기준값으로 설정하는 동기화 보정부를 포함하는 슬레이브 노드를 가지는 노드 동기화 시스템.
  11. 제10항에 있어서,
    상기 전송지연시간 통지부는,
    전송지연시간 요청 프레임을 상기 슬레이브 노드에 송신하고, 상기 전송지연시간 요청 프레임에 대한 상기 슬레이브 노드로부터의 수신완료 프레임을 수신하며, 당해 수신했을 때의 시각과 상기 전송지연시간 요청 프레임을 송신했을 때의 시각의 차분으로부터 상기 전송지연시간을 산출하는 것을 특징으로 하는 노드 동기화 시스템.
  12. 제10항에 있어서,
    상기 통신로는 상기 마스터 노드와 상기 슬레이브 노드의 사이에 중계 장치를 가지는 스타형인 것을 특징으로 하는 노드 동기화 시스템.
  13. 제10항에 있어서,
    상기 제2 기준신호 생성부는 상기 제2 연산부만이 액세스할 수 있는 카운터인 것을 특징으로 하는 노드 동기화 시스템.
  14. 제10항에 있어서,
    상기 동기 판정부는, 상기 계수값 취득부에 의해 취득된 계수값 및 상기 종합지연시간 값을 시간 환산하여, 양자의 시간이 다를 때 비동기라고 판정하는 것을 특징으로 하는 노드 동기화 시스템.
  15. 제10항에 있어서,
    상기 기준값은 상기 마스터 노드 또는 상기 슬레이브 노드에 접속되는 설정 장치로부터 설정할 수 있는 것을 특징으로 하는 노드 동기화 시스템.
  16. 제10항에 있어서,
    상기 오버헤드는 상기 오버헤드 계측부가 재시작된 기점으로부터 상기 소정의 처리의 개시 시점까지인 것을 특징으로 하는 노드 동기화 시스템.
KR1020147022963A 2012-05-01 2012-05-01 신호 동기화 시스템, 멀티 프로세서 및 노드 동기화 시스템 KR101578751B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/061580 WO2013164887A1 (ja) 2012-05-01 2012-05-01 信号同期システム、マルチプロセッサ、及びノード同期システム

Publications (2)

Publication Number Publication Date
KR20140121849A KR20140121849A (ko) 2014-10-16
KR101578751B1 true KR101578751B1 (ko) 2015-12-18

Family

ID=49514297

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147022963A KR101578751B1 (ko) 2012-05-01 2012-05-01 신호 동기화 시스템, 멀티 프로세서 및 노드 동기화 시스템

Country Status (5)

Country Link
JP (1) JP5850143B2 (ko)
KR (1) KR101578751B1 (ko)
CN (1) CN104115450B (ko)
IN (1) IN2014DN07649A (ko)
WO (1) WO2013164887A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015229462A (ja) * 2014-06-06 2015-12-21 富士電機株式会社 同期システム
JP6400553B2 (ja) * 2015-09-28 2018-10-03 ファナック株式会社 ユニット間での同期制御機能を有する数値制御システム
JP7310495B2 (ja) * 2019-09-26 2023-07-19 オムロン株式会社 制御システム、情報処理装置およびプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005159754A (ja) 2003-11-26 2005-06-16 Fuji Electric Fa Components & Systems Co Ltd 送信タイミング決定方法、バス使用権の調停方法、ネットワークシステム、プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327468A (en) * 1992-06-19 1994-07-05 Westinghouse Electric Corp. Synchronization of time-of-day clocks in a distributed processing network system
JPH0877103A (ja) * 1994-09-07 1996-03-22 Hitachi Ltd バス同期化方式及びこれを用いた装置,システム
JP2003216595A (ja) * 2002-01-25 2003-07-31 Mitsubishi Electric Corp マルチプロセッサ同期方式及びパケット及び中継装置及びプロセッサ装置及びマルチプロセッサ同期方法
WO2005122536A1 (ja) * 2004-06-08 2005-12-22 Mitsubishi Denki Kabushiki Kaisha 携帯機器
US8549341B2 (en) * 2008-08-29 2013-10-01 Netlogic Microsystems, Inc. System and method for reducing latency associated with timestamps in a multi-core, multi-threaded processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005159754A (ja) 2003-11-26 2005-06-16 Fuji Electric Fa Components & Systems Co Ltd 送信タイミング決定方法、バス使用権の調停方法、ネットワークシステム、プログラム

Also Published As

Publication number Publication date
CN104115450B (zh) 2017-02-22
JPWO2013164887A1 (ja) 2015-12-24
WO2013164887A1 (ja) 2013-11-07
IN2014DN07649A (ko) 2015-05-15
CN104115450A (zh) 2014-10-22
KR20140121849A (ko) 2014-10-16
JP5850143B2 (ja) 2016-02-03

Similar Documents

Publication Publication Date Title
KR101636496B1 (ko) 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법
JP6079879B2 (ja) 配信装置、配信システム及び配信方法
WO2015128981A1 (ja) プログラマブルコントローラシステム、そのコントローラ
JP6192995B2 (ja) 通信装置、通信システム、通信方法およびコンピュータプログラム
KR101578751B1 (ko) 신호 동기화 시스템, 멀티 프로세서 및 노드 동기화 시스템
JP2011211673A (ja) マスタ装置及びスレーブ装置及び時刻同期方法及びプログラム
JP6614403B1 (ja) 通信装置、通信システムおよび同期制御方法
TWI540873B (zh) Communication devices and communication methods and program products
CN102638339B (zh) 一种用于实现精确时间同步的方法和装置
EP2451100A2 (en) Apparatus and method for synchronizing wireless devices
JP2008187235A (ja) ネットワークシステムおよびスレーブ同期方法
CN107623556A (zh) 通讯系统中时钟同步方法及其系统
US20230085335A1 (en) Information collecting system and information collecting method
US9703315B2 (en) Transmission device and time synchronization method
JP5493880B2 (ja) 並列コンピュータシステム、プロセッサ、同期装置、通信方法および通信支援方法
WO2012108049A1 (ja) 通信システムおよび通信方法
Shim et al. Provisioning High-Precision Clock Synchronization between Uavs for Low Latency Networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 4