KR20150084917A - 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법 - Google Patents

신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법 Download PDF

Info

Publication number
KR20150084917A
KR20150084917A KR1020157015123A KR20157015123A KR20150084917A KR 20150084917 A KR20150084917 A KR 20150084917A KR 1020157015123 A KR1020157015123 A KR 1020157015123A KR 20157015123 A KR20157015123 A KR 20157015123A KR 20150084917 A KR20150084917 A KR 20150084917A
Authority
KR
South Korea
Prior art keywords
reference signal
value
synchronization
unit
node
Prior art date
Application number
KR1020157015123A
Other languages
English (en)
Other versions
KR101636496B1 (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 KR20150084917A publication Critical patent/KR20150084917A/ko
Application granted granted Critical
Publication of KR101636496B1 publication Critical patent/KR101636496B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0682Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

본 발명에 있어서 주(主) 모듈은, 계수를 행하여, 미리 설정된 기준값에 계수값이 도달함에 따라 제 1 기준 신호를 생성하고, 종(從) 모듈은, 계수를 행하여, 기준값에 계수값이 도달함에 따라 제 2 기준 신호를 생성하며, 동기 보정 처리를 행하는 간격을 계수하여, 동기 보정 처리를 행하는 보정 처리 간격값에 계수값이 도달한 후, 제 1 기준 신호를 수신하여 재기동하고, 계수를 행하여, 동기 보정 처리를 행하는 간격을 나타내는 계수값이 보정 처리 간격값에 도달한 후, 제 2 기준 신호를 생성하기 위한 계수값 및 제 1 기준 신호를 수신하여 재기동한 계수값을 취득하며, 제 2 기준 신호를 생성하기 위한 계수값과 제 1 기준 신호를 수신하여 재기동한 계수값 간의 차분(差分)을 상쇄하는 값을, 제 2 기준 신호를 생성하기 위한 계수에 일시적으로 기준값으로서 설정한다.

Description

신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법{SIGNAL SYNCHRONIZATION SYSTEM, NODE SYNCHRONIZATION SYSTEM, SIGNAL SYNCHRONIZATION METHOD, AND NODE SYNCHRONIZATION METHOD}
본 발명은, 소정의 신호를 동기(同期)시키기 위한 신호 동기 시스템, 노드(node) 동기 시스템, 신호 동기 방법, 및 노드 동기 방법에 관한 것이다.
종래, 프로세서 등을 이용하여 소정의 프로그램을 실행시키는 것과 같은 경우에, 대규모 처리에 대한 대응이나 처리의 신속화, 부하분산(負荷分散, load balancing) 등의 목적을 위해, 복수의 프로세서를 이용하여 처리를 실행하는 멀티 프로세서 시스템이 알려져 있다. 이러한 멀티 프로세서 시스템에서는, 복수의 프로세서 사이에서 카운터(타이머)의 동기를 행하기 위해, 주(主) 프로세서로부터 종(從) 프로세서의 카운터에 대하여 인터럽트 신호(interrupt signal) 등을 발생시키며, 종 프로세서는 그 인터럽트 신호에 맞추어 카운터의 동기를 도모하고 있다.
또, 종래의 플랜트 제어용 전송 시스템 등의 산업용 네트워크에 있어서는, 시스템을 구성하는 각 기기가, 실시간성을 보증하며 또한 서로 대용량의 데이터 교환을 행할 필요가 있다. 따라서, 예컨대 각 기기에 탑재되는 애플리케이션에 의한 액세스 요구의 발생에 따라 이벤트적으로 상호 액세스를 행하는 것과 같은 경우에는, 네트워크 부하가 애플리케이션에 의존하게 되어, 실시간성을 보증할 수 없는 경우가 있다.
이에, 종래, 각 기기에 가상적인 공유 메모리(공통 메모리(common memory))를 설치하여, 갱신 타이밍에서 네트워크상의 모든 노드(국(局))에 자기(自, own) 노드의 데이터를 송신하는 기술이 존재한다. 이러한 기술을 이용한 경우에는, 수신한 각 노드가, 그 데이터를 갱신하여, 애플리케이션에 액세스시킴으로써, 실시간성을 보증한 데이터 교환 방식을 실현하고 있다. 또, 종래, 상술한 데이터 교환시에 네트워크상에서의 효율적인 동보통신(同報通信, 브로드캐스트 통신(broadcast communication))을 실현하기 위한 수법이 제안된 바 있다(예컨대, 특허 문헌 1 참조).
특허 문헌 1에서는, 각 노드의 내장 타이머에 의한 시분할(時分割) 다중 액세스 방식과 마스터 노드(master node)로부터의 동기화 프레임에 의한 슬레이브 노드(slave node)의 내장 타이머의 보정을 병용(倂用)하고 있다. 또, 특허 문헌 1에 나타내는 수법에서는, 전송로(傳送路)를 버스(bus) 또는 시리얼 케이블로 접속된 네트워크로서 구성하고 있다.
일본 특허공개공보 제2005-159754호
그런데, 상술한 것과 같은 주 프로세서와 종 프로세서 사이 등에서의 카운터 동기 보정 처리에서는, 주 프로세서로부터 종 프로세서의 카운터에 대해 직접(하드웨어적으로) 리셋시키는 것이 바람직하다. 그렇지만, 상기 카운터는, 내부에서 행하는 복수의 프로그램 처리의 실행 기준이 되는 카운터이기 때문에, 외부에 의해 함부로 갱신되면 다른 처리에 문제가 생길 수 있다. 또, 카운터가 종 프로세서의 CPU(Central Processing Unit) 등에 내장되어 있는 것과 같은 경우에는, 주 프로세서로부터 직접 종 프로세서의 카운터를 리셋할 수가 없다. 따라서, 종래, 일단 주 프로세서로부터 종 프로세서로 인터럽트 신호를 송신하고, 종 프로세서가 그 신호를 수신하여, 소정의 소프트웨어를 이용해 간접적(소프트웨어적)으로 카운터의 리셋 처리를 실행하고 있다.
그러한 경우에, 종 프로세서는, 주 프로세서로부터 인터럽트 신호를 수신하고 나서, 그 신호에 대응하는 자기 카운터의 리셋 처리를 실행할 때까지의 사이에 오버헤드 등에 의한 지연 시간이 발생한다. 이 때문에, 종래, 리셋 처리를 행하였다 하더라도, 주 프로세서와 종 프로세서 간의 카운터 동기 오차가 남는다.
또, 네트워크간의 마스터 - 슬레이브 관계에 있는 노드 간의 카운터의 동기에 대해서는, 예컨대, 동기화 프레임을 수신하여 타이머를 클리어하는 등의 수법이 고려된다. 그러나, 상술한 것과 마찬가지로, 동기화 프레임의 수신 후에 펌웨어(firmware)가 개재(介在)하여 카운터의 클리어를 행하면, 그 오버헤드 등의 지연 시간에 의해 카운터에 오차가 발생하였다.
따라서, 종래 수법인 동기화 프레임을 이용한 노드 간의 동기 수법에 대해서도, 마스터 노드와 각 슬레이브 노드의 동기시간의 측정에 대한 보정을 마이크로컴퓨터의 펌웨어에 의해 행하고 있는 경우에는, 마이크로컴퓨터의 처리 시간에 따른 오차가 발생한다.
이에, 카운터의 갱신에 의한 다른 처리에 대한 영향을 억제하도록, 주 프로세서로부터 종 프로세서로 송신되는 인터럽트 신호를 하드웨어적으로 계수하고, 종 프로세서 내의 카운터와의 차분(差分)에 근거하여, 종 프로세서의 카운터의 계수 목표(기준값)를 조정함으로써, 주 프로세서와 종 프로세서의 동기를 도모하는 것이 고려된다.
주 프로세서의 카운터와 종 프로세서의 카운터는, 각각 전기적 특성이 다르기 때문에, 주 프로세서와 종 프로세서의 사이에서, 카운터의 편차가 어느 정도인지 추정하기는 어렵다. 이에, 상기 종 프로세서의 카운터의 기준값을 조정하는 동기 보정 처리를 인터럽트 신호마다 행하면, 주 프로세서와 종 프로세서의 동기가 유지되게 된다. 그러나, 동기 보정 처리를 빈번하게 행하면, 그 처리 부하가 증대되어, 본래 실행해야 할 다른 처리에 영향을 미칠 우려가 있다.
본 발명은, 상기의 점을 감안하여 고안된 것으로서, 처리 부하를 억제하면서, 소정의 신호를 높은 정밀도로 동기시키는 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법을 제공하는 것을 목적으로 한다.
상기의 과제를 해결하기 위하여, 제 1 기준 신호에 따라 동작하는 주(主) 모듈과, 제 2 기준 신호에 따라 동작하는 종(從) 모듈을 포함하고, 제 1 기준 신호에 제 2 기준 신호를 동기시키는 본 발명의 신호 동기 시스템은, 주 모듈은, 계수(計數)를 행하여, 미리 설정된 기준값에 계수값(count value)이 도달함에 따라 제 1 기준 신호를 생성하는 제 1 기준 신호 생성부를 구비하며, 종 모듈은, 계수를 행하여, 기준값에 계수값이 도달함에 따라 제 2 기준 신호를 생성하는 제 2 기준 신호 생성부와, 동기 보정 처리를 행하는 간격을 계수하는 간격 계수부와, 간격 계수부에 있어서 동기 보정 처리를 행하는 보정 처리 간격값에 계수값이 도달한 후, 제 1 기준 신호를 수신하여 재기동(restart)하며, 계수를 행하는 오버헤드 계수부와, 간격 계수부에 있어서 보정 처리 간격값에 계수값이 도달한 후, 제 1 기준 신호의 수신에 따라 제 2 기준 신호 생성부의 계수값 및 오버헤드 계수부의 계수값을 취득하는 계수값 취득부와, 제 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의 예에서는, 프로세서 모듈(11a~11c) 사이에서, 카운터 동기를 행하기 위한 멀티 프로세서의 일례를 나타내고 있다.
도 1에 나타내는 신호 동기 시스템(10)은, 복수의 프로세서 모듈(11a~11c; 이하, 필요에 따라 「프로세서 모듈(11)」이라 함)과, 전송 버스(bus, 12)와, I/O(입출력) 모듈(13; 도 1 중, 13a~13d로 나타냄)과, 외부 기기(14; 도 1 중, 14a~14d로 나타냄)와, 프로그래밍 장치(15)를 갖는다. 여기서, 도 1의 예에서는, 설명의 편의상, 프로세서 모듈(11a)을 주 프로세서 모듈로 하고, 프로세서 모듈(11b, 11c)을 종 프로세서 모듈로 하여, 각각의 프로세서 모듈로서의 주된 구성에 대해 설명한다. 단, 종 프로세서 모듈의 수 등에 대해서는 도 1과 같이 2개로 한정되는 것은 아니다.
또한, 본 실시형태에 있어서는, 상기의 구성으로 한정되는 것은 아니며, 1개의 프로세서 모듈이 주 프로세서 모듈(11a)이 될 수도 있고 종 프로세서 모듈(11b, 11c)이 될 수도 있도록 동일한 구성을 가지고 있다. 또, 각 프로세서 모듈(11)은, 전송 버스(12)에 의해 접속되어 있다. 또한, 제 1 실시형태에서는, 전송 버스(12)에 의한 지연 시간은 발생하지 않는 것으로 한다.
여기서, 주 프로세서 모듈(11a)은, 제 1 기준 신호 생성부(21)와, 제 1 연산부(22)와, 기억부(23)를 갖는다. 또한, 도 1의 예에서는, 제 1 기준 신호 생성부(21)는 후술하는 CPU에 내장되어 있지만, 이것으로 한정되는 것은 아니며, 예컨대 제 1 기준 신호 생성부(21)와 CPU가 별개의 개체로 구성되어 있어도 무방하다. 또, 상술한 「내장되어 있다」란, 예컨대 제 1 기준 신호 생성부(21)에 대하여, CPU 내의 각 기능부(제 1 기준 신호 생성부(21)나 제 1 연산부(22))만이 액세스 가능하다는 것을 의미한다.
또, 종 프로세서 모듈(11b, 11c)은, 제 2 기준 신호 생성부(31)와, 제 2 연산부(32)와, 간격 계수부(33)와, 오버헤드 계수부(34)와, 계수값 취득부(35)와, 동기 판정부(36)와, 동기 보정부(37)와, 기억부(38)를 갖는다. 또한, 도 1의 예에서는, 제 2 기준 신호 생성부(31)가 CPU에 내장되어 있지만, 이것으로 한정되는 것은 아니며, 예컨대 제 2 기준 신호 생성부(31)와 CPU가 별개의 개체로 구성되어 있어도 무방하다.
제 1 기준 신호 생성부(21)는, 계수를 행하여, 미리 설정된 기준값에 계수값이 도달함에 따라 제 1 기준 신호를 생성한다. 또한, 제 1 기준 신호 생성부(21)는, 하드웨어적인 카운터(이하, 필요에 따라 「타이머」라고도 함)로서 기능한다. 상술한 계수값은, 기준값에 근거하여 주기적으로(cyclicly) 카운트되고 있다. 도 1에서는, 이러한 하드웨어적인 카운터를 파선(破線)으로 나타내고 있다.
제 1 연산부(22)는, 제 1 기준 신호 생성부(21)에 의해 생성된 제 1 기준 신호에 따라, 기억부(23)에 기억되어 있는 소정의 애플리케이션 프로그램 등을 실행(연산)한다. 또, 제 1 기준 신호는, 인터럽트 신호(카운터 리셋 신호)로서, 전송 버스(12)를 통해 종 프로세서 모듈(11b, 11c)에도 제공된다(송신된다).
기억부(23)는, 제 1 연산부(22)에 의해 연산시킬 소정의 애플리케이션 프로그램(시퀀스 프로그램)을 기억한다. 또한, 제 1 연산부(22)가 연산하는 소정의 애플리케이션 프로그램은, 예컨대 주 프로세서 모듈(11a)에 접속된 I/O 모듈(13a)에 지시를 주어, I/O 모듈(13a)에 의해 외부 기기(14a)를 제어하는 처리이다. 이 때문에, 기억부(23)에는, 주로 자기 프로세서 모듈(11a)에 접속되어 있는 I/O 모듈(13a)이나 외부 기기(14a)에 대해 소정의 처리를 실행하기 위한 프로그램이 기억된다.
즉, 주 프로세서 모듈(11a)은, 제 1 기준 신호를 소정 주기마다 생성하며, 제 1 연산부(22)는, 제 1 기준 신호에 따라 애플리케이션 프로그램(시퀀스 프로그램)을 실행(연산)함으로써 소정의 기기를 제어하여, 해당 애플리케이션 프로그램(시퀀스 프로그램)은 주기적으로 실행된다.
다음으로, 종 프로세서 모듈(11b, 11c)에 대해 설명하겠으나, 종 프로세서 모듈(11b, 11c)은 동일한 구성이기 때문에, 이하의 설명에서는, 종 프로세서 모듈(11b)을 이용하여 설명하고, 종 프로세서 모듈(11c)의 설명은 생략한다.
제 2 기준 신호 생성부(31)는, 계수를 행하여, 상술한 제 1 기준 신호 생성부(21)에 설정되어 있는 기준값과 동일한 기준값이 설정되며, 기준값에 계수값이 도달함에 따라 제 2 기준 신호를 생성한다. 또한, 제 2 기준 신호 생성부(31)는, 하드웨어적인 카운터로서 기능한다. 상술한 계수값은, 기준값에 근거하여 주기적으로 카운트되고 있다. 부언하면, 제 1 기준 신호 생성부(21)와 제 2 기준 신호 생성부(31)의 각각의 카운터는, 프리러닝(free-running) 카운터로서, 자주(自走)하고 있다.
제 2 연산부(32)는, 제 2 기준 신호 생성부(31)에 의해 생성된 제 2 기준 신호에 따라, 기억부(38)에 기억되어 있는 소정의 애플리케이션 프로그램 등을 실행(연산)한다.
또한, 제 2 기준 신호 생성부(31)는, 예컨대 CPU 내의 제 2 연산부(32)에서만 액세스할 수 있는 카운터로서, CPU에 내장된 카운터(CPU 내장 카운터)이다. 즉, 제 2 기준 신호 생성부(31)는, 주 프로세서 모듈(11a) 등의 외부로부터 하드웨어적으로 리셋할 수 없는 카운터이다.
또, 제 2 연산부(32)는, 주 프로세서 모듈(11a)로부터의 제 1 기준 신호(동기 기준 신호)를 인터럽트 신호로서 수신하여, 후술하는 동기 보정 처리를 기동한다.
간격 계수부(33)는, 계수를 행하여, 동기 처리를 행할 보정 처리 간격에 상당하는 보정 처리 간격값이 미리 설정되며, 보정 처리 간격값에 계수값이 도달하면, 그 취지를 나타내는 보정 처리 개시 신호를 생성한다.
또한, 보정 처리 간격값은, 이하와 같은 계산을 통해 설정되어 있다. 예컨대, 해당 신호 동기 시스템에 요구되는 가공 정밀도를 만족하기 위해 허용되는, 주 프로세서 모듈(11a)과 종 프로세서 모듈(11b)간의 동기 오차가 10㎲인 것으로 한다. 이 경우, 본 실시형태에서는, 동기 오차가 1~5㎲가 될 때까지의 최단(最短) 시간을 계산한다. 여기서, 1㎲ 이상으로 한 것은, 이것보다 짧으면, 동기 보정 처리의 빈도가 높아져 처리 부하가 증가하기 때문이며, 5㎲ 이하로 한 것은, 10㎲에 대한 마진(margin)을 고려한 것이다.
이때, 주 프로세서 모듈(11a)과 종 프로세서 모듈(11b)에서 이용되는 발진기의 주파수가 50㎒, 발진 정밀도가 50ppm이었던 것으로 한다. 이러한 조건하에 있어서, 동기 오차가 1㎲가 되는 최단 시간은, 1 클럭의 시간×동기 허용 오차 어긋나는 발진 회수이며, 20ns×((1㎲/20ns)×(1/50ppm))=20ms가 된다. 마찬가지로, 동기 오차가 5㎲가 되는 최단 시간은, 100ms가 된다. 따라서, 보정 처리 간격값은, 20ms~100ms를 계수값으로 환산한 값으로 하면 된다. 보정 처리 간격값을 이러한 범위로 설정하여, 동기 보정 처리를 간헐적으로 실행함으로써, 처리 부하를 억제하면서, 보다 높은 가공 정밀도와 생산 품질의 향상을 실현할 수가 있다.
오버헤드 계수부(34)는, 계수를 행하여, 보정 처리 개시 신호의 수신 후, 즉, 간격 계수부(33)의 계수값이 보정 처리 간격값에 도달한 후, 상술한 제 1 기준 신호의 수신을 기점(起点)으로 하여, 동기 보정 처리가 실행될 때까지의 오버헤드값을 계측한다. 구체적으로는, 오버헤드 계수부(34)는, 제 1 기준 신호를 수신하여 재기동하는 하드웨어적인 카운터(타이머)로서 기능한다.
오버헤드 계수부(34)는 하드웨어로 구성된 카운터이므로, 제 1 기준 신호에 대해 곧바로 반응하지만, 동기 보정 처리는, 예컨대, 계수값을 읽어 들이기 위한 준비가 갖추어지기까지 시간을 필요로 한다. 이러한 계수값을 읽어 들이기 위한 준비가 갖추어지기까지 소요되는 시간이 오버헤드가 된다. 또한, 오버헤드란, 어떠한 이벤트가 발생하고 나서 그 이벤트에 대한 처리(소프트웨어)가 실제로 실행될 때까지의 지연(遲延) 시간을 의미하는데, 본 예에서는 오버헤드 계수부(34)가 재기동된 기점으로부터 동기 보정 처리가 실제로 행해질 때까지의 시간이며, 이것으로 한정되는 것은 아니다.
계수값 취득부(35)는, 보정 처리 개시 신호의 수신 후, 즉, 간격 계수부(33)의 계수값이 보정 처리 간격값에 도달한 후, 제 1 기준 신호의 수신에 따라, 동기 보정 처리가 실제로 실행되는 시점(개시 시점)에서의, 제 2 기준 신호 생성부(31)의 계수값 및 오버헤드 계수부(34)의 계수값을 취득한다.
동기 판정부(36)는, 계수값 취득부(35)에 의해 취득된, 제 2 기준 신호 생성부(31)의 계수값과 오버헤드 계수부(34)의 계수값이 같을 때, 제 1 기준 신호와 제 2 기준 신호가 동기하고 있는 것으로 판정한다. 또, 동기 판정부(36)는, 계수값 취득부(35)에 의해 취득된, 제 2 기준 신호 생성부(31)의 계수값과 오버헤드 계수부(34)의 계수값이 다를 때, 상술한 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정한다.
또, 동기 판정부(36)는, 계수값 취득부(35)에 의해 취득된 제 2 기준 신호 생성부(31)의 계수값과 오버헤드 계수부(34)의 계수값을 시간으로 환산하여, 쌍방의 시간이 같을 때에 동기하고 있는 것으로 판정하며, 또 쌍방의 시간이 다를 때에는 비동기인 것으로 판정할 수도 있다. 즉, 제 1 실시형태에서는, 각 프로세서 모듈(11) 사이에 있어서, 각 카운터의 1 클럭당 단위시간이 같지 않은 경우도 있을 수 있다. 따라서, 그러한 경우에는, 각 계수값을 시간으로 환산하여, 환산된 시간으로 동기/비동기의 판정을 행한다.
동기 보정부(37)는, 동기 판정부(36)가 제 1 기준 신호와 제 2 기준 신호가 동기하고 있는 것으로 판정하면, 기준값을 제 2 기준 신호 생성부(31)에 설정한다. 또, 동기 보정부(37)는, 동기 판정부(36)가 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정하면, 제 2 기준 신호 생성부(31)의 계수값과 오버헤드 계수부(34)의 계수값 간의 차분을 상쇄하는 값을 구한다. 구체적으로, 동기 보정부(37)는, 계수값 취득부(35)에 의해 취득된, 제 2 기준 신호 생성부(31)의 계수값으로부터, 오버헤드 계수부(34)의 계수값을 빼서 동기 보정값을 구한다. 다음으로, 동기 보정부(37)는, 구한 동기 보정값을 기준값으로부터 빼고, 뺀 값을 제 2 기준 신호 생성부(31)에 새로운 기준값으로서 설정한다. 이 새로운 기준값이란, 동기 판정부(36)가 동기를 판정했을 때에 사용되는 타이머 기준값(디폴트(default)의 기준값)에 대하여, 동기 판정부(36)가 비동기를 판정했을 때에 일시적으로 사용되는 타이머 기준값이다.
또, 동기 판정부(36)가 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정하고, 뺀 값을 제 2 기준 신호 생성부(31)에 새로운 기준값으로서 설정하여, 그 뺀 값으로의 계수가 완료되면, 동기 보정부(37)는, 신속하게, 기준값을 제 2 기준 신호 생성부(31)에 설정한다. 이렇게 하여, 일시적으로 기준값을 동기 보정값 분(分)만큼 변경할 수가 있다. 여기에서는, 동기 보정값 분의 보정을 한 번에 실행하는 예를 들고 있지만, 이러한 경우로 한정하지 않으며, 복수 회로 나누어 실행하여도 무방하다. 그러한 경우에 있어서도, 동기 보정부(37)는, 동기 보정 처리가 완료된 후, 기준값을 제 2 기준 신호 생성부(31)에 설정한다.
또한, 동기 보정부(37)는, 동기 판정부(36)가 제 1 기준 신호와 제 2 기준 신호간의 동기를 판정하면, 그때마다 상술한 디폴트의 기준값을 제 2 기준 신호 생성부(31)에 설정하여도 무방하지만, 동기가 유지되어 있는 경우에는, 한 번 디폴트의 기준값을 설정하면, 반복하여 설정하지 않아도 무방하다.
또, 본 실시형태에서는, 보정 처리 간격마다 동기 보정 처리가 실행되므로, 제 2 기준 신호 생성부(31)의 계수값과 오버헤드 계수부(34)의 계수값이 다를 가능성이 높아, 동기 판정부(36)가, 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정하는 경우가 많다. 이에, 동기 판정부(36)에 의한 판정을 실행하지 않고, 즉, 제 1 기준 신호와 제 2 기준 신호가 동기인지 비동기인지에 관계없이, 동기 보정부(37)가 제 2 기준 신호 생성부(31)의 계수값과 오버헤드 계수부(34)의 계수값간의 차분을 상쇄하는 값을 구하여, 그 값을 제 2 기준 신호 생성부(31)에 새로운 기준값으로서 설정하여도 무방하다.
이와 같이, 동기 판정부(36)의 구성을 생략함으로써, 판정 처리가 불필요하게 되어, 판정에 소비되는 처리 분(分)만큼, 처리 부하를 경감할 수 있게 된다.
기억부(38)는, 제 2 연산부(32)에 의해 연산시킬 소정의 애플리케이션 프로그램(시퀀스 프로그램)을 기억한다. 또한, 제 2 연산부(32)가 연산하는 소정의 애플리케이션 프로그램은, 예컨대 종 프로세서 모듈(11b)에 접속된 I/O 모듈(13b, 13c)에 지시를 주어, I/O 모듈(13b, 13c)에 의해 외부 기기(14b, 14c)를 제어하는 처리이다. 이 때문에, 기억부(38)에는, 주로 자기 프로세서 모듈(11b)에 접속되어 있는 I/O 모듈(13b, 13c)이나 외부 기기(14b, 14c)에 대하여 소정의 처리를 실행하기 위한 프로그램이 기억된다.
I/O 모듈(13)은, 외부 기기(14) 등과 입출력 처리를 행한다. 예컨대, I/O 모듈(13)은, 접속된 외부 기기(14) 등으로부터 얻어지는 데이터 등을 프로세서 모듈(11)에 출력(송신)하거나, 프로세서 모듈(11)에 의해 연산 처리된 결과를 외부 기기(14) 등에 출력하거나, 기억하거나 한다. 즉, 프로세서 모듈(11)은, I/O 모듈(13)로부터 얻어진 입력 데이터를 애플리케이션 프로그램으로 연산하며, 이 연산 결과를 I/O 모듈(13)에 출력 데이터로서 제공함으로써, 외부 기기(14)를 제어한다.
외부 기기(14)는, 예컨대 각종 센서나 모터, 기록 장치 등이다. 외부 기기(14)는, I/O 모듈(13)로부터의 제어 신호 등에 근거하여, 데이터의 검출이나 구동, 데이터의 입출력 등을 행한다.
여기서, 기준값은, 프로세서 모듈(11a), 프로세서 모듈(11b), 프로세서 모듈(11c)의 각각에 미리 설정되어 있어도 무방하며, 각각에 외부 접속되는 프로그래밍 장치(15)(설정 장치)에서도 설정할 수 있다.
프로그래밍 장치(15)는, 사용자 등이 사용하는 PC(Personal Computer) 등에 프로세서 모듈(11)과 통신하여, 기준값을 설정하는 기능을 부가하면 실현할 수 있지만, 이것으로 한정되는 것은 아니며, 전용(專用)의 설정 장치여도 무방하다. 이로써, 사용자마다 기준값(처리 주기)을 임의로 조정할 수가 있다.
여기서, 상술한 예에서는, 신호 동기 시스템(10)의 일례로서 멀티 프로세서에 대해 설명하였으나, 신호 동기 시스템(10)으로서는, 제 1 기준 신호 생성부(21)와, 제 2 기준 신호 생성부(31)와, 오버헤드 계수부(34)와, 계수값 취득부(35)와, 동기 판정부(36)와, 동기 보정부(37)를 포함하고 있으면 된다.
또한, 신호 동기 시스템(10)의 적용예에 대해서는, 멀티 프로세서로 한정되는 것은 아니며, 예컨대 주(主) 장치 측을 원자 시계에 의한 날짜·시각 정보의 디지털 신호를 송신하는 송신국(送信局)으로 하고, 종(從) 장치 측을 전파 시계로 한 타이머 동기 시스템으로서의 응용도 가능하다.
(프로세서 모듈(11)의 하드웨어 구성예)
다음으로, 프로세서 모듈(11)의 하드웨어 구성예에 대해, 도면을 이용하여 설명한다. 도 2는, 프로세서 모듈(11)의 하드웨어 구성의 일례를 나타내는 도면이다. 도 2에 나타내는 프로세서 모듈(11)은, 입력부(41)와, 출력부(42)와, CPU(43)와, FPGA(44)와, 메모리(45)와, 외부 인터페이스(46)를 가지며, 이들은 공통 버스(B)에 의해 접속되어 있다.
입력부(41)는, 예컨대 사용자 등으로부터의 프로그램의 실행 등, 각종 조작 신호를 입력한다. 또한, 입력부(41)는, 예컨대 사용자 등이 조작하는 키보드나, 마우스, 터치 패널 등의 포인팅 디바이스(pointing device)를 가지고 있어도 무방하며, 음성 등에 의해 입력하는 경우에는, 음성 입력 디바이스를 가지고 있어도 무방하다.
출력부(42)는, 본 실시형태에 있어서의 처리를 행하는 프로세서 모듈(11)을 조작하는 데에 필요한 각종 윈도우나 데이터 등을 표시하는 디스플레이를 가지며, CPU(43)가 실행하는 제어 프로그램의 실행 경과나 결과 등을 표시한다.
CPU(43)는, OS(Operating System) 등의 제어 프로그램, 및 메모리(45)에 격납(格納)되어 있는 실행 프로그램에 근거하여, 각종 연산이나 각 하드웨어 구성부와의 데이터의 입출력 등, 프로세서 모듈(11) 전체의 처리를 제어함으로써 본 실시형태에 있어서의 각 처리를 실현한다. 또, CPU(43)는, 메모리(45)와 협동하여, 상술한 제 1 연산부(22), 제 2 연산부(32), 계수값 취득부(35), 동기 판정부(36), 동기 보정부(37)로서 실질적으로 기능하며, 제 1 기준 신호 생성부(21), 제 2 기준 신호 생성부(31)를 내장한다. 또한, 프로그램 실행 중에 필요한 각종 정보 등은, 메모리(45)로부터 취득하여, 실행 결과 등을 메모리(45)에 격납하여도 무방하다.
FPGA(Field-Programmable Gate Array; 44)는, 논리 회로를 갱신할 수 있는 집적회로이다. FPGA(44)는, CPU(43)를 보조하는 다양한 논리 회로로 구성되며, 본 실시형태에서는, 특히, 간격 계수부(33), 오버헤드 계수부(34)로서 기능한다. 단, 간격 계수부(33)는 소프트웨어로 처리되어도 무방하다.
메모리(45)는, CPU(43)에 의해 판독된 실행 프로그램 등을 격납(格納)한다. 또한, 메모리(45)는, ROM(Read Only Memory)이나 RAM(Random Access Memory) 등으로 이루어진다. 또, 메모리(45)는, 보조기억장치로서, 하드 디스크 등의 스토리지(storage) 수단을 가지고 있어도 무방하다. 또, 메모리(45)는, 본 실시형태에 있어서의 실행 프로그램이나 컴퓨터에 설치된 제어 프로그램 등을 기억하며, 필요에 따라 입출력을 행한다. 또한, 메모리(45)는, 상술한 기억부(23, 38) 등에 대응한다.
외부 인터페이스(46)는, 전송 버스(12) 등을 통해 다른 프로세서 모듈(11)간과의 데이터나 제어 신호의 송수신을 행한다. 또, 외부 인터페이스(46)는, 접속된 I/O 모듈(13)과의 데이터나 제어 신호의 송수신 등도 행한다.
상술한 하드웨어 구성에 의해, 본 실시형태에 있어서의 동기 보정 처리를 실행할 수 있게 된다. 또, 실행 프로그램을 인스톨(install)함으로써, 범용(汎用)의 퍼스널 컴퓨터 등으로 본 실시형태에 있어서의 동기 보정 처리를 용이하게 실현할 수 있게 된다.
다음으로, 제 1 실시형태에 있어서의 동기 보정 처리예에 대해 이하에 설명한다.
(제 1 실시형태에 있어서의 동기 보정 처리예)
도 3~도 5는, 제 1 실시형태에 있어서의 동기 보정 처리예를 설명하기 위한 타임 차트 도면(그 1~그 3)이다. 도 3~도 5에 나타내는 예에서는, 주 프로세서 모듈(11a)과, 종 프로세서 모듈(11b)의 사이에 있어서의 계수값의 동기예를 나타내고 있다. 또한, 제 1 실시형태에 있어서의 기준값(처리 주기)은, 1000㎲로 하지만, 이것으로 한정되는 것은 아니며, 예컨대 상술한 프로그래밍 장치(15)에 의해 적절히 설정을 변경할 수 있다.
도 3에서는, 주 프로세서 모듈(11a)의 제 1 기준 신호 생성부(21)가 계수를 행하고 있다. 그 계수값이 도 3의 (1) 시점에서 기준값에 도달하면, 제 1 기준 신호를 출력한다. 그리고, 제 1 연산부(22)는, 해당 제 1 기준 신호에 따라 소정의 처리를 실행한다. 도 3 중, 빗금(hatching)으로 나타낸 삼각형의 영역은, 계수값의 추이(推移)를 나타내며, 시간의 경과에 따라 계수값이 증가하고, 계수 목표(예컨대 기준값)에 도달하면 리셋된다.
또, 종 프로세서 모듈(11b)의 제 2 기준 신호 생성부(31)가 계수를 행하고 있다. 그 계수값이 도 3의 (2) 시점에서 기준값에 도달하면, 제 2 기준 신호를 출력한다. 그리고, 제 2 연산부(32)는, 해당 제 2 기준 신호에 따라 소정의 처리를 실행한다. 이와 같이, 주 프로세서 모듈(11a) 및 종 프로세서 모듈(11b)에서는, 각각, 독립된 제 1 기준 신호 및 제 2 기준 신호에 따라 소정의 처리가 수행된다.
또, 종 프로세서 모듈(11b)에서는, 간격 계수부(33)가 계수를 행하여, 계수값이 보정 처리 간격값에 도달하면(도 3의 (3)), 보정 처리 개시 신호를 생성한다. 이러한 보정 처리 개시 신호에 따라 동기 보정 처리의 준비가 개시된다.
주 프로세서 모듈(11a)에서 생성되는 제 1 기준 신호는, 인터럽트 신호로서 종 프로세서 모듈(11b)에 송신되고 있다. 종 프로세서 모듈(11b)은, 제 1 기준 신호를 인터럽트로서 수신하여, 소프트웨어에 의한 동기 보정 처리를 기동시키고 있다(도 3의 (4)). 이와 함께 종 프로세서 모듈(11b)의 오버헤드 계수부(34)는, 해당 하드웨어에 의한 카운터의 계수값을 클리어하여 재기동하고 있다(도 3의 (5)). 계속해서, 동기 보정 처리의 준비가 갖추어지면, 도 3의 (6) 시점에서, 계수값 취득부(35)는, 제 2 기준 신호 생성부(31)로부터 계수값을 취득하는(도 3의 (7)) 동시에, 오버헤드 계수부(34)로부터 계수값을 취득한다(도 3의 (8)).
동기 판정부(36)는, 계수값 취득부(35)에 의해 주어진 계수값을 시간으로 환산한다. 여기에서는, 예컨대, 제 2 기준 신호 생성부(31)의 계수값으로부터 300㎲를 얻고, 오버헤드 계수부(34)의 계수값으로부터 300㎲를 얻은 것으로 한다. 이렇게 하여, 제 1 기준 신호의 인터럽트의 기점으로부터, 동기 보정 처리에 있어서 계수값이 취득될 때까지의 오버헤드를 계측하는 동시에, 그 시점의 제 2 기준 신호 생성부(31)의 계수값을 취득할 수가 있다. 제 1 기준 신호와 제 2 기준 신호가 동기하고 있는 경우, 이러한 계수값은 동일해질 것이다.
동기 판정부(36)는, 계수값 취득부(35)로부터 얻은, 제 2 기준 신호 생성부(31)의 계수값(300㎲)과 오버헤드 계수부(34)의 계수값(300㎲)을 비교한다. 이 경우, 동기 판정부(36)는, 쌍방이 같은 값이므로 제 1 기준 신호와 제 2 기준 신호가 동기하고 있는 것으로 판정한다.
동기 판정부(36)에 의해 제 1 기준 신호와 제 2 기준 신호가 동기하고 있는 것으로 판정되었기 때문에, 동기 보정부(37)는, 통상대로, 기준값 1000㎲를 제 2 기준 신호 생성부(31)에 설정하고 있다(이 시점에서 제 2 기준 신호 생성부(31)는, 재기동하지 않고 있다). 그리고, 제 2 기준 신호 생성부(31)는, 도 3의 (9)의 시점에서 계수값이 기준값 1000㎲에 도달하였기 때문에, 재기동하고 있다.
또한, 제 2 기준 신호 생성부(31)에 대해서는, 상술한 CPU(43)에 내장되어 있지만, 본 실시형태에 있어서는, 이것으로 한정되는 것은 아니며, CPU(43)와 별개의 개체여도 무방하다.
또, 부언해 두겠는데, 도 3에 나타내는 동기 보정 처리 중에는, 계수값 취득부(35), 동기 판정부(36), 동기 보정부(37)의 프로그램의 처리가 포함되어 있다.
도 4는, 종 프로세서 모듈(11b)의 카운터가, 주 프로세서 모듈(11a)의 카운터보다 3㎲ 느린 경우를 나타내고 있다.
도 4에서는, 종 프로세서 모듈(11b)의 간격 계수부(33)가 계수를 행하여, 계수값이 보정 처리 간격값에 도달하면(도 4의 (1)), 보정 처리 개시 신호를 생성한다. 이러한 보정 처리 개시 신호에 따라 동기 보정 처리의 준비가 개시된다.
주 프로세서 모듈(11a)의 제 1 기준 신호 생성부(21)는, 계수값이 기준값에 도달하였기 때문에, 1000㎲마다 제 1 기준 신호를 출력하고 있다. 종 프로세서 모듈(11b)은, 보정 처리 개시 신호가 생성된 후, 제 1 기준 신호를 인터럽트로서 수신하여, 소프트웨어에 의한 동기 보정 처리를 기동시킨다(도 4의 (2)). 이와 함께 종 프로세서 모듈(11b)의 오버헤드 계수부(34)는, 해당 하드웨어에 의한 카운터의 계수값을 클리어하여 재기동하고 있다(도 4의 (3)). 계속해서, 동기 보정 처리의 준비가 갖추어지면, 도 4의 (4) 시점에서, 계수값 취득부(35)는, 제 2 기준 신호 생성부(31)로부터 계수값을 취득하는(도 4의 (5)) 동시에, 오버헤드 계수부(34)로부터 계수값을 취득한다(도 4의 (6)).
동기 판정부(36)는, 계수값 취득부(35)에 의해 주어진 계수값을 시간으로 환산한다. 여기에서는, 예컨대, 제 2 기준 신호 생성부(31)의 계수값으로부터 297㎲를 얻고, 오버헤드 계수부(34)의 계수값으로부터 300㎲를 얻은 것으로 한다. 동기 판정부(36)는, 양 계수값을 비교하여, 양 계수값이 다른 값이므로 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정한다.
동기 판정부(36)에 의해 비동기가 판정되었기 때문에, 동기 보정부(37)는, 제 2 기준 신호 생성부(31)의 계수값과 오버헤드 계수부(34)의 계수값간의 차분이 상쇄되도록, 제 2 기준 신호 생성부(31)에 임시의 기준값을 설정한다. 구체적으로는, 동기 보정부(37)는, 「기준값(처리 주기)-(오버헤드 계수부(34)의 계수값-제 2 기준 신호 생성부(31)의 계수값)」의 식에 의해 제 2 기준 신호 생성부(31)의 계수값의 재기동값(리셋값)을 구하고, 구한 계수값을 임시의 기준값으로서 제 2 기준 신호 생성부(31)에 세팅한다. 본 예의 경우, 임시의 기준값은 1000㎲-(300㎲-297㎲)=997㎲가 된다. 그리고, 제 2 기준 신호 생성부(31)는, 도 4의 (7)의 시점에서 계수값이 임시의 기준값 997㎲에 도달하였기 때문에, 재기동하고 있다. 또한, 오버헤드 계수부(34)의 계수값-제 2 기준 신호 생성부(31)의 계수값의 값이 동기 보정값이다.
이와 같이 함으로써, 제 1 실시형태는, 제 2 사이클에 대해, 다음의 제 3 사이클의 제 1 기준 신호의 출력 타이밍과 대략 같은 타이밍으로 제 2 기준 신호 생성부(31)를 재기동할 수 있다. 따라서, 제 1 실시형태는, 제 1 기준 신호와 제 2 기준 신호를 동기시킬 수가 있다. 또한, 도 4의 경우, 제 3 사이클 이후는, 기준값이 1000㎲로 설정된다.
도 5는, 종 프로세서 모듈(11b)의 카운터가, 주 프로세서 모듈(11a)의 카운터보다 3㎲ 빠른 경우를 나타내고 있다.
도 5에서는, 종 프로세서 모듈(11b)의 간격 계수부(33)가 계수를 행하여, 계수값이 보정 처리 간격값에 도달하면(도 5의 (1)), 보정 처리 개시 신호를 생성한다. 이러한 보정 처리 개시 신호에 따라 동기 보정 처리의 준비가 개시된다.
주 프로세서 모듈(11a)의 제 1 기준 신호 생성부(21)는, 계수값이 기준값에 도달하였기 때문에, 1000㎲마다 제 1 기준 신호를 출력하고 있다. 종 프로세서 모듈(11b)은, 보정 처리 개시 신호가 생성된 후, 제 1 기준 신호를 인터럽트로서 수신하여, 소프트웨어에 의한 동기 보정 처리를 기동시키고 있다(도 5의 (2)). 이와 함께 종 프로세서 모듈(11b)의 오버헤드 계수부(34)는, 해당 하드웨어에 의한 카운터의 계수값을 클리어하여 재기동하고 있다(도 5의 (3)). 계속해서, 동기 보정 처리의 준비가 갖추어지면, 도 5의 (4) 시점에서, 계수값 취득부(35)는, 제 2 기준 신호 생성부(31)로부터 계수값을 취득하는(도 5의 (5)) 동시에, 오버헤드 계수부(34)로부터 계수값을 취득한다(도 5의 (6)).
동기 판정부(36)는, 계수값 취득부(35)에 의해 주어진 계수값을 시간으로 환산한다. 여기에서는, 예컨대, 제 2 기준 신호 생성부(31)의 계수값으로부터 303㎲를 얻고, 오버헤드 계수부(34)의 계수값으로부터 300㎲를 얻은 것으로 한다. 동기 판정부(36)는, 양 계수값을 비교하여, 양 계수값이 다른 값이기 때문에, 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정한다.
동기 판정부(36)에 의해 비동기인 것으로 판정되었기 때문에, 동기 보정부(37)는, 제 2 기준 신호 생성부(31)의 계수값과 오버헤드 계수부(34)의 계수값 간의 차분이 상쇄되도록, 제 2 기준 신호 생성부(31)에 임시의 기준값을 설정한다. 구체적으로는, 동기 보정부(37)는, 도 4의 설명과 마찬가지로 계산하여, 임시의 기준값을 구하여, 제 2 기준 신호 생성부(31)에 세팅한다. 본 예의 경우, 임시의 기준값은, 1000㎲-(300㎲-303㎲)=1003㎲가 된다. 그리고, 제 2 기준 신호 생성부(31)는, 도 4의 (7)의 시점에서 계수값이 임시의 기준값 1003㎲에 도달하였기 때문에, 재기동하고 있다. 또한, 오버헤드 계수부(34)의 계수값-제 2 기준 신호 생성부(31)의 계수값의 값이 동기 보정값이다.
이와 같이 함으로써, 제 1 실시형태는, 제 2 사이클에 대해, 다음의 제 3 사이클의 제 1 기준 신호의 출력 타이밍과 대략 같은 타이밍으로 제 2 기준 신호 생성부(31)를 재기동할 수 있다. 따라서, 본 실시형태의 신호 동기 시스템은 제 1 기준 신호와 제 2 기준 신호를 동기시킬 수가 있다. 또한, 도 5의 제 3 사이클 이후는, 기준값이 1000㎲로 설정된다. 이상과 같이, 제 1 실시형태에서는, 주 프로세서 모듈(11a)의 카운터(타이머)에 대하여 종 프로세서 모듈(11b)의 카운터(타이머)가 느린 경우이든 빠른 경우이든 적절히 카운터 동기를 실현할 수가 있다.
(신호 동기 방법의 시퀀스 예)
도 6은, 신호 동기 방법의 개략적인 시퀀스 예를 나타내는 도면이다. 도 6의 예에서는, 설명의 편의상, 주 프로세서 모듈(11a)과 종 프로세서 모듈(11b)을 이용한 동기에 대해 설명하겠으나, 본 실시형태에 있어서는 이것으로 한정되는 것은 아니며, 1개의 주 프로세서 모듈에 대해 복수의 종 프로세서 모듈을 동기시킬 수가 있다.
도 6의 카운터 동기 처리에 있어서, 우선, 주 프로세서 모듈(11a)의 제 1 기준 신호 생성부(21)는, 제 1 기준 신호를 생성하고(S01), 종 프로세서 모듈(11b)의 제 2 기준 신호 생성부(31)는, 제 2 기준 신호를 생성한다(S02). 또한, 본 처리는, 하드웨어적으로 주기적으로 동작되고 있다. 또, 주 프로세서 모듈(11a)은, S01의 처리로 얻어진 제 1 기준 신호를 종 프로세서 모듈(11b)에도 송신하고 있다. 따라서, 종 프로세서 모듈(11b)은, 항상 제 1 기준 신호를 수신할 수 있는 상태에 있다.
또, 종 프로세서 모듈(11b)의 간격 계수부(33)는, 보정 처리 간격을 계수하여, 계수값이 보정 처리 간격값에 도달하면, 보정 처리 개시 신호를 생성하여 동기 보정 처리의 준비를 개시한다(S03).
간격 계수부(33)의 계수값이 보정 처리 간격값에 도달한 후, 주 프로세서 모듈(11a)에서 송신된 제 1 기준 신호를, 종 프로세서 모듈(11b)이 수신하면(S04), 소프트웨어에 의한 동기 보정 처리를 기동시키는(S05) 동시에, 오버헤드 계수부(34)를 재기동한다(S06). 그리고, 계수값 취득부(35)는, 제 2 기준 신호 생성부(31)와 오버헤드 계수부(34)의 양 계수값을 취득하며(S07), 동기 판정부(36)는, 이러한 양 계수값에 근거하여 동기 판정을 행하여(S08), 비동기인 것으로 판정되면, 동기 보정부(37)가 동기 보정을 행한다(S09).
이와 같이 하여, 처리 부하를 억제하면서, 소정의 신호를 높은 정밀도로 동기시킬 수가 있다.
(제 2 실시형태:노드 동기 시스템)
제 2 실시형태는, 상술한 제 1 실시형태에 있어서의 전송 버스(12)에 의한 지연 시간을 포함하여 동기 보정 처리를 실행하는 것이 특징이다. 도 7은, 제 2 실시형태에 있어서의 노드 동기 시스템의 개략적인 구성의 일례를 나타내는 도면이다. 도 7에 나타내는 노드 동기 시스템(50)은, 노드(51a~51c) 등의 복수의 노드의 사이에서, 카운터 동기를 행하는 일례이다.
노드 동기 시스템(50)은, 복수의 노드(51a~51c; 이하, 필요에 따라 「노드(51)」라 함)와, 통신로(52; 통신 네트워크)와, I/O(입출력) 모듈(53; 도 7 중, 53a~53d로 나타냄)과, 외부 기기(54; 도 7 중, 54a~54d로 나타냄)와, 프로그래밍 장치(55)를 갖는다. 즉, 노드 동기 시스템(50)은, 마스터 노드(51a)와, 슬레이브 노드(51b, 51c)가 통신 네트워크로서의 통신로(52)를 통해 접속되어 있다.
여기서, 편의상, 노드(51a)를 마스터 노드로 하고, 노드(51b, 51c)를 슬레이브 노드로 하여, 각각의 노드 고유의 구성에 대해 설명하겠으나, 이것으로 한정되는 것은 아니며, 각 노드가 마스터 노드가 될 수도 있고 슬레이브 노드가 될 수도 있도록 양방(兩方)의 구성을 겸비하고 있다. 또한, 제 2 실시형태에서는, 통신로(52)에 의한 전송 지연 시간이 발생되어 있는 것으로 한다.
여기서, 제 2 실시형태(도 7)와 제 1 실시형태(도 1)간의 차이에 대해 설명해두도록 한다. 마스터 노드(51a)는, 제 1 실시형태에서의 주 프로세서 모듈(11a)에 상당하고, 슬레이브 노드(51b, 51c)는, 제 1 실시형태에서의 종 프로세서 모듈(11b, 11c)에 상당한다. 또, 프로그래밍 장치(55)는, 제 1 실시형태에서의 프로그래밍 장치(15)와 실질적으로 동일하고, 또한, I/O 모듈(53a~53d)은, 제 1 실시형태에서의 I/O 모듈(13a~13d)과 실질적으로 동일하다. 또, 외부 기기(54a~54d)는, 제 1 실시형태에서의 외부 기기(14a~14d)와 실질적으로 동일하다. 따라서, 이하의 설명에서는 제 1 실시형태와 같은 구성의 것에 대해서는 그 설명을 생략한다.
마스터 노드(51a)는, 제 1 기준 신호 생성부(61; 제 1 실시형태의 제 1 기준 신호 생성부(21)에 대응)와, 제 1 연산부(62; 제 1 실시형태의 제 1 연산부(22)에 대응)와, 기억부(63; 제 1 실시형태의 기억부(23)에 대응)와, 간격 계수부(64; 제 1 실시형태의 간격 계수부(33)에 대응)와, 전송 지연 시간 통지부(65)와, 동기화 프레임 통지부(66)를 갖는다.
마스터 노드(51a)의 제 1 실시형태에서의 주 프로세서 모듈(11a)과의 주된 차이점은, 제 1 실시형태에서는 종 프로세서 모듈(11b)에 설치되어 있던 간격 계수부(33)가 간격 계수부(64)로서 추가된 점, 그리고, 새롭게, 전송 지연 시간 통지부(65)와, 동기화 프레임 통지부(66)가 추가된 점이다. 따라서, 이하의 설명에 있어서는, 제 2 실시형태의 주요 부분을 설명하는 것으로 하고, 제 1 실시형태와 같은 작동에 대해서는 생략한다.
이하, 제 2 실시형태에서의 일례를 설명한다. 제 2 실시형태에 있어서, 간격 계수부(64)는, 계수를 행하며, 동기 처리를 행할 보정 처리 간격에 상당하는 보정 처리 간격값이 미리 설정되어, 보정 처리 간격값에 계수값이 도달하면, 그 취지를 나타내는 보정 처리 개시 신호를 생성한다. 또한, 보정 처리 간격값은 제 1 실시형태와 실질적으로 동일하기 때문에, 여기에서는 그 설명을 생략한다.
또한, 여기에서는, 마스터 노드(51a) 측에서 보정 처리 간격을 계측하고 있지만, 슬레이브 노드(51b) 측에서 보정 처리 간격을 계측하여도 무방하다. 그러한 경우, 슬레이브 노드(51b)에 있어서 보정 처리 간격값에 계수값이 도달하면, 마스터 노드(51a)에 보정 처리 개시 신호를 송신하여, 동기 보정 처리를 개시하게 된다.
보정 처리 개시 신호의 수신 후, 마스터 노드(51a)의 전송 지연 시간 통지부(65)는, 전송 지연 시간을 산출하기 위해 전송 지연 시간 리퀘스트 프레임(request frame)을 슬레이브 노드(51b, 51c)에 송신한다. 상기 전송 지연 시간 리퀘스트 프레임은, 후술하는 동기화 프레임과 포맷이 실질적으로 동일하고, 동기화 프레임 내의 소정 부분(예컨대, 커맨드부)의 데이터가 다른 프레임이다. 이러한 전송 지연 시간 리퀘스트 프레임은, 제 1 기준 신호 생성부(61)에 의해 생성된 제 1 기준 신호에 동기하여 송신된다.
계속해서, 전송 지연 시간 통지부(65)는, 전송 지연 시간 리퀘스트 프레임에 응답한 슬레이브 노드로부터의 수신 완료 프레임을 수신한다. 그리고, 전송 지연 시간 통지부(65)는, 응답 프레임 수신시의 시각과 전송 지연 시간 리퀘스트 프레임을 송신했을 때의 시각 간의 차분(差分)으로부터, 마스터 노드(51a)와 슬레이브 노드(51b, 51c) 간의 왕복 전송 지연 시간을 계산한다. 그리고, 전송 지연 시간 통지부(65)는, 계산한 왕복 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 다음의 제 1 기준 신호에 동기하여 슬레이브 노드(51b, 51c)에 송신함으로써, 슬레이브 노드(51b, 51c)에 통신로(52)에 의한 지연 시간을 통지한다.
왕복 전송 지연 시간을 통지한 후, 마스터 노드(51a)는, 제 1 기준 신호에 근거하여(제 1 기준 신호에 동기하여), 미리 준비된 동기화 프레임을, 통신로(52)를 통해 슬레이브 노드(51b, 51c)에 송신한다. 또한, 이 처리는, 동기화 프레임 통지부(66)가 실행한다. 이후에 상세히 기술하겠으나, 동기화 프레임은, 슬레이브 노드(51b, 51c)의 제 2 기준 신호 생성부(71)의 계수값을 마스터 노드(51a)의 제 1 기준 신호 생성부(61)의 계수값에 맞추기 위한 동기 기준 신호이다.
다음으로, 슬레이브 노드(51b, 51c)에 대해 설명한다. 슬레이브 노드(51b, 51c)는, 제 2 기준 신호 생성부(71; 제 1 실시형태의 제 2 기준 신호 생성부(31)에 대응)와, 제 2 연산부(72; 제 1 실시형태의 제 2 연산부(32)에 대응)와, 오버헤드 계수부(74; 제 1 실시형태의 오버헤드 계수부(34)에 대응)와, 계수값 취득부(75; 제 1 실시형태의 계수값 취득부(35)에 대응)와, 동기 판정부(76; 제 1 실시형태의 동기 판정부(36)에 대응)와, 동기 보정부(77; 제 1 실시형태의 동기 보정부(37)에 대응)와, 기억부(78; 제 1 실시형태의 기억부(38)에 대응)와, 수신 완료 통지부(79)와, 프레임 수신부(80)를 갖는다. 또한, CPU(43)에는, 제 2 기준 신호 생성부(71)가 내장되어 있다. 슬레이브 노드(51b, 51c)는, 동일한 구성이기 때문에, 이하의 설명에서는, 슬레이브 노드(51b)를 이용하여 설명하며, 슬레이브 노드(51c)의 설명은 생략한다.
제 1 실시형태의 프로세서 모듈(11b)과의 주된 차이점은, 동기 판정부(76)가 제 1 실시형태의 동기 판정부(36)와 다르다는 점과, 수신 완료 통지부(79)와 프레임 수신부(80)가 추가된 점이다. 단, 다른 구성 요소에 대해서는, 제 1 실시형태와 실질적으로 동일하기 때문에, 여기에서는, 그 설명을 생략한다. 이하, 통신로(52)의 전송 지연 시간을 포함한 슬레이브 노드(51b)의 동기 보정 처리에 대해 설명한다.
수신 완료 통지부(79)는, 상술한 전송 지연 시간 리퀘스트 프레임을 마스터 노드(51a)로부터 수신하고, 그 전송 지연 시간 리퀘스트 프레임에 따라, 수신 완료 프레임을 마스터 노드(51a)에 송신한다.
프레임 수신부(80)는, 마스터 노드(51a)에 의해 송신된 상술한 전송 지연 시간 통지 프레임을 수신하고, 그 프레임에 포함되는 왕복 전송 지연 시간(값)을 상술한 메모리(45) 등에 퇴피시킨다. 이와 같이 하여, 슬레이브 노드(51b)는 마스터 노드(51a)와 슬레이브 노드(51b) 간의 왕복 전송 지연 시간을 마스터 노드(51a)로부터 얻는다.
마스터 노드(51a)로부터 왕복 전송 지연 시간을 얻은 슬레이브 노드(51b)는, 동기화 프레임을 수신하여, 제 2 연산부(72)에 인터럽트를 발생시킨다. 인터럽트를 받은 제 2 연산부(72)는, 후술하는 동기 보정 처리를 기동한다. 또한, 본 실시형태에 있어서는, 왕복 전송 지연 시간을 얻지 않고 동기화 프레임을 수신한 경우에도, 왕복 전송 지연 시간을 영(0, 제로)으로 하여 동기 보정 처리를 기동하여도 됨은 물론이다. 또, 동기화 프레임을 수신하고 나서 제 2 연산부(72)에 대해 인터럽트가 높아지는 스피드를 감안하면, 도시는 생략하였으나, 동기화 프레임의 수신 수단으로서는, FPGA(44) 등의 하드웨어 로직(hardware logic)을 사용하는 것이 바람직하다.
또, 오버헤드 계수부(74)는, 상술한 동기화 프레임의 수신을 기점으로 하여, 동기 보정 처리가 실행될 때까지의 오버헤드 값을 계측한다. 구체적으로는, 오버헤드 계수부(74)에는, 동기화 프레임을 수신하여 재기동하는 하드웨어적인 카운터(타이머)로서 기능한다.
계수값 취득부(75)는, 동기화 프레임의 수신에 따라, 실제로 동기 보정 처리가 실행되는 개시 시점에서의, 제 2 기준 신호 생성부(71)의 계수값 및 오버헤드 계수부(74)의 계수값을 취득한다.
동기 판정부(76)는, 상술한 왕복 전송 지연 시간을 2로 제산(除算)하여 통신로(52)의 편도(片道)의 전송 지연 시간을 구하고, 또한 이 편도의 전송 지연 시간과 상술한 오버헤드 계수부(74)의 계수값을 시간으로 환산한 값을 더한 종합 지연 시간을 구한다. 그리고, 동기 판정부(76)는, 구한 종합 지연 시간과, 계수값 취득부(75)에 의해 취득된 제 2 기준 신호 생성부(71)의 계수값을 시간으로 환산한 값을 비교한다. 이러한 비교의 결과, 쌍방이 동일할 때, 동기 판정부(76)는, 제 1 기준 신호와 제 2 기준 신호가 동기하고 있는 것으로 판정하며, 쌍방이 다를 때, 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정한다. 여기서 동기란, 제 1 기준 신호 생성부(61)의 계수값과 제 2 기준 신호 생성부(71)의 계수값이 동일한 것을 의미한다.
또한, 동기 판정부(76)는, 제 1 실시형태의 동기 판정부(36)와 마찬가지로, 각 카운터의 계수값을 시간으로 환산하여 비교함으로써, 동기/비동기를 판정하는 것도 물론 가능하다.
제 2 실시형태에서는, 보정 처리 간격마다, 동기 판정부(76)에 의해 제 1 기준 신호와 제 2 기준 신호가 동기인 것으로 판정되면, 동기 보정부(77)는, 기준값을 제 2 기준 신호 생성부(71)에 설정한다. 또, 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정되면, 제 2 기준 신호 생성부(71)의 계수값과, 종합 지연 시간값 간의 차분을 상쇄하는 값을 구한다. 구체적으로, 동기 보정부(77)는, 계수값 취득부(75)에 의해 취득된, 제 2 기준 신호 생성부(71)의 계수값으로부터 종합 지연 시간값을 빼어 동기 보정값을 구한다. 계속해서, 동기 보정부(77)는, 구한 동기 보정값을 기준값으로부터 빼고, 뺀 값을 제 2 기준 신호 생성부(71)에 새로운 기준값으로서 설정한다. 상기 새로운 기준값이란, 동기 판정부(76)가 동기를 판정했을 때에 제 2 기준 신호 생성부(71)에 설정되는 기준값(디폴트의 기준값)에 대하여, 제 2 기준 신호 생성부(71)의 타이머값을 보정하기 위해 일시적으로 설정된다(임시의 기준값).
또한, 본 실시형태는, 디폴트의 기준값이 제 2 기준 신호 생성부(71)에 설정되어, 동기가 유지되고 있으면, 이후 디폴트의 기준값을 갱신하지 않아도 됨은 물론이다.
이와 같이 하여 본 실시형태는, 동기 기준 신호(동기화 프레임)가 통신로(52)를 통해 통지될 때의 전송 지연 시간의 영향도 고려한 동기 보정 처리를 행할 수 있다. 즉, 제 2 실시형태에서는, 노드 간의 전송 지연 시간과 슬레이브 노드(51b, 51c)의 오버헤드를 포함한 계수값의 보정을 행할 수 있어, 고정밀도의 노드 간의 동기를 실현할 수가 있다.
(제 2 실시형태에 있어서의 동기 보정 처리예)
도 8~도 10은, 제 2 실시형태에 있어서의 동기 보정 처리예를 설명하기 위한 타임 차트 도면으로서, 마스터 노드(51a)와 슬레이브 노드(51b) 사이에서의 계수값의 동기예이다. 또한, 제 2 실시형태에 있어서의 기준값(처리 주기)은, 제 1 실시형태와 마찬가지로 1000㎲로 하며, 이 기준값은 프로그래밍 장치(55)에 의해 적절히 변경할 수 있다.
도 8에서는, 마스터 노드(51a)의 제 1 기준 신호 생성부(61)가 계수를 행하고 있다. 그 계수값이 도 8의 (1) 시점에서 기준값에 도달하면, 제 1 기준 신호를 출력한다. 그리고, 제 1 연산부(62)는, 해당 제 1 기준 신호에 따라 소정의 처리를 실행한다.
또, 슬레이브 노드(51b)의 제 2 기준 신호 생성부(71)가 계수를 행하고 있다. 그 계수값이 도 8의 (2) 시점에서 기준값에 도달하면, 제 2 기준 신호를 출력한다. 그리고, 제 2 연산부(72)는, 해당 제 2 기준 신호에 따라 소정의 처리를 실행한다. 이와 같이, 마스터 노드(51a) 및 슬레이브 노드(51b)에서는, 각각, 독립된 제 1 기준 신호 및 제 2 기준 신호에 따라 소정의 처리가 수행된다.
또, 마스터 노드(51a)에서는, 간격 계수부(64)가 계수를 행하여, 계수값이 보정 처리 간격값에 도달하면(도 8의 (3)), 보정 처리 개시 신호를 생성한다. 이러한 보정 처리 개시 신호에 따라 마스터 노드(51a)에 있어서의 동기 보정 처리가 개시된다.
동기 보정 처리가 개시되면, 마스터 노드(51a)의 전송 지연 시간 통지부(65)는, 전송 지연 시간을 산출하기 위해 전송 지연 시간 리퀘스트 프레임을 송신한다(도 8의 (4)). 슬레이브 노드(51b)의 수신 완료 통지부(79)는, 전송 지연 시간 리퀘스트 프레임을 마스터 노드(51a)로부터 수신하면, 그 전송 지연 시간 리퀘스트 프레임에 따라, 수신 완료 프레임을 마스터 노드(51a)에 송신한다(도 8의 (5)).
계속해서, 마스터 노드(51a)의 전송 지연 시간 통지부(65)는, 수신 완료 프레임에 따라, 마스터 노드(51a)와 슬레이브 노드(51b) 간의 왕복 전송 지연 시간을 계산하고, 계산한 왕복 전송 지연 시간(400㎲)을 포함하는 전송 지연 시간 통지 프레임을 송신한다(도 8의 (6)). 슬레이브 노드(51b)의 프레임 수신부(80)는, 전송 지연 시간 통지 프레임을 수신하면, 그 프레임에 포함되는 왕복 전송 지연 시간(값)을 메모리(45) 등에 퇴피시킨다(도 8의 (7)).
동기 보정 처리가 개시된 후, 마스터 노드(51a)의 동기화 프레임 통지부(66)는, 동기화 프레임을 인터럽트 신호로서 슬레이브 노드(51b)에 송신한다(도 8의 (8)). 그리고, 슬레이브 노드(51b)는, 동기화 프레임을 통신로(52)의 편도의 전송 지연 시간(200㎲)을 거쳐 도 8의 (9)의 시점에서 수신하여, 슬레이브 노드(51b)에 있어서의 소프트웨어에 의한 동기 보정 처리를 기동하고 있다. 또, 동기화 프레임의 수신에 수반하여, 오버헤드 계수부(74)의 하드웨어에 의한 카운터가 클리어되어 재기동하고 있다(도 8의 (10)).
계속해서, 동기 보정 처리의 준비가 갖추어지면, 도 8의 (11) 시점에서, 계수값 취득부(75)는, 제 2 기준 신호 생성부(71)로부터 계수값을 취득하는(도 8의 (12)) 동시에, 오버헤드 계수부(74)로부터 계수값을 취득한다(도 8의 (13)).
계속해서, 계수값 취득부(75)는, 제 2 기준 신호 생성부(71)의 계수값을 참조하여 시간으로 환산하고 400㎲를 취득하고 있다. 이것에 이어서, 동기 판정부(76)는, 왕복 전송 지연 시간(400㎲)으로부터 편도의 전송 지연 시간 200㎲를 구하고, 구한 전송 지연 시간과 오버헤드 계수부(74)의 계수값을 시간으로 환산한 200㎲를 가산하여 종합 지연 시간 400㎲를 구하고 있다. 그리고, 동기 판정부(76)는, 종합 지연 시간 400㎲와 계수값 취득부(75)가 취득한, 제 2 기준 신호 생성부(71)의 계수값을 시간으로 환산한 400㎲를 비교하여, 쌍방이 동일하기 때문에 제 1 기준 신호와 제 2 기준 신호가 동기하고 있는 것으로 판정하고 있다.
동기 판정부(76)에 의해 제 1 기준 신호와 제 2 기준 신호가 동기하고 있는 것으로 판정되었기 때문에, 동기 보정부(77)는, 통상대로, 기준값 1000㎲를 제 2 기준 신호 생성부(71)에 설정하고 있다(설정 시점에서 제 2 기준 신호 생성부(71)는 재기동하지 않고 있다). 그리고, 제 2 기준 신호 생성부(71)는, 도 8의 (14)의 시점에서 계수(計數)값이 기준값 1000㎲에 도달하였기 때문에, 재기동하고 있다.
도 9는, 슬레이브 노드(51b)의 카운터가, 마스터 노드(51a)의 카운터보다 3㎲ 느린 경우를 나타내고 있다.
도 9에 있어서, 마스터 노드(51a)의 간격 계수부(64)의 계수값이 보정 처리 간격값에 도달하여, 동기 보정 처리가 개시되고 나서, 슬레이브 노드(51b)의 프레임 수신부(80)가 전송 지연 시간 통지 프레임에 포함되는 왕복 전송 지연 시간(값)을 메모리(45) 등으로 퇴피시키기까지의 처리는, 도 8의 처리와 실질적으로 동일하기 때문에, 여기에서는, 그 설명을 생략한다.
동기 보정 처리가 개시된 후, 도 9의 (1) 시점에서, 마스터 노드(51a)의 동기화 프레임 통지부(66)는, 동기화 프레임을 인터럽트 신호로서 슬레이브 노드(51b)에 송신한다. 그리고, 슬레이브 노드(51b)는, 동기화 프레임을 통신로(52)의 편도의 전송 지연 시간(200㎲)을 거쳐 도 9의 (2)의 시점에서 수신하여, 슬레이브 노드(51b)에 있어서의 소프트웨어에 의한 동기 보정 처리를 기동하고 있다. 또, 동기화 프레임의 수신에 수반하여, 오버헤드 계수부(74)의 카운터가 클리어되어 재기동하고 있다(도 9의 (3)).
계속해서, 동기 보정 처리의 준비가 갖추어지면, 도 9의 (4) 시점에서, 계수값 취득부(75)는, 제 2 기준 신호 생성부(71)로부터 계수값을 취득하는(도 9의 (5)) 동시에, 오버헤드 계수부(74)로부터 계수값을 취득한다(도 9의 (6)).
계속해서, 계수값 취득부(75)는, 제 2 기준 신호 생성부(71)의 계수값을 참조해 시간으로 환산하여 397㎲를 취득하고 있다. 이것에 이어서, 동기 판정부(76)는, 왕복 전송 지연 시간(400㎲)으로부터 편도의 전송 지연 시간 200㎲를 구하고, 구한 전송 지연 시간과 오버헤드 계수부(74)의 계수값을 시간으로 환산한 200㎲를 가산하여 종합 지연 시간 400㎲를 구하고 있다. 그리고, 동기 판정부(76)는, 종합 지연 시간 400㎲와 계수값 취득부(75)가 취득한, 제 2 기준 신호 생성부(71)의 계수값을 시간으로 환산한 397㎲를 비교하여, 쌍방이 상위하므로 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정한다.
동기 판정부(76)에 의해 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정되었기 때문에, 동기 보정부(77)는, 제 2 기준 신호 생성부(71)에 임시의 기준값을 설정하고 있다. 구체적으로는, 동기 보정부(77)는, 「기준값(처리 주기)-(종합 지연 시간-제 2 기준 신호 생성부(71) 계수값)」의 식에 의해 제 2 기준 신호 생성부(71)의 재기동값(리셋값)을 구하고, 구한 계수값을 임시의 기준값으로서 제 2 기준 신호 생성부(71)에 세팅한다. 본 예의 경우, 임시의 기준값은 1000㎲-(400㎲-397㎲)=997㎲가 된다. 그리고, 제 2 기준 신호 생성부(71)는, 도 9의 (7)의 시점에서 계수값이 임시의 기준값 997㎲에 도달하였기 때문에, 재기동하고 있다. 또한, 종합 지연 시간-제 2 기준 신호 생성부(71)의 계수값의 값이 동기 보정값이다.
도 10은, 슬레이브 노드(51b)의 카운터가, 마스터 노드(51a)의 카운터보다 3㎲ 빠른 경우를 나타내고 있다.
도 10에 있어서, 마스터 노드(51a)의 간격 계수부(64)의 계수값이 보정 처리 간격값에 도달하여, 동기 보정 처리가 개시되고 나서, 슬레이브 노드(51b)의 프레임 수신부(80)가 전송 지연 시간 통지 프레임에 포함되는 왕복 전송 지연 시간(값)을 메모리(45) 등에 퇴피시키기까지의 처리는, 도 8 및 도 9의 처리와 실질적으로 동일하기 때문에, 여기에서는, 그 설명을 생략한다.
동기 보정 처리가 개시된 후, 도 10의 (1) 시점에서, 마스터 노드(51a)의 동기화 프레임 통지부(66)는, 동기화 프레임을 인터럽트 신호로서 슬레이브 노드(51b)에 송신한다. 그리고, 슬레이브 노드(51b)는, 동기화 프레임을 통신로(52)의 편도의 전송 지연 시간(200㎲)을 거쳐 도 10의 (2)의 시점에서 수신하여, 슬레이브 노드(51b)에 있어서의 소프트웨어에 의한 동기 보정 처리를 기동하고 있다. 또, 동기화 프레임의 수신에 수반하여, 오버헤드 계수부(74)의 카운터가 클리어되어 재기동하고 있다(도 10의 (3)).
계속해서, 동기 보정 처리의 준비가 갖추어지면, 도 10의 (4)의 시점에서, 계수값 취득부(75)는, 제 2 기준 신호 생성부(71)로부터 계수값을 취득하는(도 10의 (5)) 동시에, 오버헤드 계수부(74)로부터 계수값을 취득한다(도 10의 (6)).
계속해서, 계수값 취득부(75)는, 제 2 기준 신호 생성부(71)의 계수값을 참조해 시간으로 환산하여 403㎲를 취득하고 있다. 이것에 이어서, 동기 판정부(76)는, 왕복 전송 지연 시간(400㎲)으로부터 편도의 전송 지연 시간 200㎲를 구하고, 구한 편도의 전송 지연 시간과 오버헤드 계수부(74)의 계수값을 시간으로 환산한 200㎲를 가산하여 종합 지연 시간 400㎲를 구하고 있다. 그리고, 동기 판정부(76)는, 종합 지연 시간 400㎲와 계수값 취득부(75)가 취득한, 제 2 기준 신호 생성부(71)의 계수값을 시간으로 환산한 403㎲를 비교하여, 쌍방이 상위하므로 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정한다.
동기 판정부(76)에 의해 제 1 기준 신호와 제 2 기준 신호가 비동기인 것으로 판정되었기 때문에, 동기 보정부(77)는, 제 2 기준 신호 생성부(71)에 임시의 기준값을 설정하고 있다. 본 예의 경우, 임시의 기준값은 1000㎲-(400㎲-403㎲)=1003㎲가 된다. 그리고, 제 2 기준 신호 생성부(71)는, 도 10의 (7)의 시점에서 계수값이 임시의 기준값 1003㎲에 도달하였기 때문에, 재기동하고 있다.
또한, 도 9 및 도 10의 예의 경우, 제 3 사이클에서, 마스터측의 카운터와 슬레이브측의 카운터가 동기하게 되기 때문에, 이후, 동기 보정부(77)는, 원래의 기준값 1000㎲를 제 2 기준 신호 생성부(71)에 설정하고 있다(설정 시점에서 제 2 기준 신호 생성부(71)는, 재기동하지 않고 있다). 그리고, 제 2 기준 신호 생성부(71)는, 계수값이 기준값 1000㎲에 도달했을 때에 재기동한다. 즉, 제 2 실시형태는, 제 3 사이클에 대해, 다음의 제 4 사이클의 마스터측의 카운터의 재기동과 대략 동일한 타이밍으로 슬레이브측의 카운터를 재기동할 수 있기 때문에, 마스터측의 카운터의 값과 슬레이브측의 카운터의 값을 대략 동일한 값으로 맞출 수가 있다.
또한, 동기 보정 처리에는, 제 1 실시형태와 마찬가지로 계수값 취득부(75), 동기 판정부(76), 동기 보정부(77)의 프로그램의 처리가 포함되어 있다.
또, 슬레이브 노드(51b)의 제 2 기준 신호 생성부(71)는, CPU(43)에 내장되어 있는 것을 전제로 설명하였으나, 이것으로 한정되는 것은 아니다. 즉, 제 2 기준 신호 생성부(71)는, CPU(43)와 별개의 개체여도 실현 가능하다. 단, 제 2 기준 신호 생성부(71)가 CPU(43)에 내장되어 있음에 따라, CPU(43)의 외부에서 생성된 소정의 신호로 제 2 기준 신호 생성부(71)를 하드웨어적으로 리셋할 수가 없다. 바꾸어 말하면, 제 2 기준 신호 생성부(71)는 프로그램이 개재(介在)하여 그 동작이 제어되는 카운터이다. 이 때문에, 본 실시형태는 제 2 기준 신호 생성부(71)의 리셋 처리(재기동 처리)를 프로그램으로 실행할 필요가 있으며, 그 오버헤드가 동기 오차로 이어진다. 따라서, 본 실시형태에서는 오버헤드를 계측하는 구성이 필요하게 된다(제 1 실시형태에서도 마찬가지임).
또, 제 2 실시형태에 있어서, 동기 보정 처리는 동기화 프레임 수신에 의해 기동되는 인터럽트 처리이다.
또한, 상기 설명에 있어서 슬레이브 노드(51b)는, 예컨대, 왕복 전송 지연 시간을 마스터 노드(51a)로부터 얻어 유지하고, 유지한 왕복 전송 지연 시간을 동기 보정 처리시에 활용한다. 이와는 별도로, 마스터 노드(51a)가 왕복 전송 지연 시간을 동기화 프레임에 포함시켜 슬레이브 노드(51b)에 송신하고, 이를 수신한 슬레이브 노드(51b)가 동기화 프레임에 포함되는 왕복 전송 시간을 활용하는 방법도 있다. 이와 같이 함으로써, 마스터 노드(51a)는 상황에 따른 왕복 전송 지연 시간을 슬레이브 노드(51b)에 적절히 통지할 수 있기 때문에, 슬레이브 노드(51b)에서는 상황에 따른 왕복 전송 지연 시간을 적시에(timely) 활용할 수가 있다.
또, 전송 지연 시간 통지부(65)에 대하여, 왕복 전송 지연 시간을 슬레이브 노드(51b)에 통지하도록 설명하였으나, 이것으로 한정되는 것은 아니다. 예컨대 전송 지연 시간 통지부(65)는, 산출한 왕복 전송 지연 시간을 반(半分)으로 하여 편도의 전송 지연 시간을 구하고, 구한 편도의 전송 지연 시간을 슬레이브 노드(51b)에 통지하도록 하여도 무방하다. 이 경우, 슬레이브 노드(51b)의 동기 판정부(76)는, 주어진 편도의 전송 지연 시간을 그대로 사용하여 종합 지연 시간을 구하도록 하면 된다.
이상의 설명과 같이 제 2 실시형태에서는, 통신로(52)에 의한 신호의 전송 지연 시간을 포함하여 제 1 기준 신호와 제 2 기준 신호를 동기시킬 수가 있다.
(동기 보정 처리에 있어서의 전송 지연 시간의 통지 순서에 대하여)
다음으로, 상술한 동기 보정 처리에 있어서의 전송 지연 시간의 통지 순서에 대해 설명한다. 도 11은, 제 2 실시형태에 있어서의 전송 지연 시간의 통지 순서의 일례를 설명하기 위한 도면이다. 또한, 도 11의 예에서는, 상술한 마스터 노드(51a)와, 슬레이브 노드(51b, 51c)를 가지며, 각 노드(51)는, 통신로(52)를 통해 신호의 송수신이 가능한 상태로 접속되어 있는 것으로 한다. 또, 이하의 설명에서는, 마스터 노드(51a)가 각 노드(51)간의 통신로(52)에 의한 신호의 전송 지연 시간을 취득하는 예를 나타낸다.
또, 도 11에 나타내는 사각(四角)은 프레임을 나타내고, 각 노드(51)에 대한 선(線) 위의 사각은 송신 프레임을 나타내며, 선 아래의 사각은 수신 프레임을 나타내고 있다. 또, 도 11에 나타내는 프레임은, 전송 지연 시간 리퀘스트 프레임(81; 도 11에 있어서의 「REQ*」(*는, 예컨대 각 슬레이브 노드의 식별자(예컨대 b, c)를 나타냄(이하 동일))과, 수신 완료 프레임(82; 도 11에 있어서의 「REC*」)과, 전송 지연 시간 통지 프레임(83; 도 11에 있어서의 「SET*」)과, 전송 지연 시간 통지 프레임(83)에 대한 응답 프레임(84, 도 11에 있어서의 「ANS*」)을 갖는다.
도 11의 예에 있어서, 마스터 노드(51a)는, 슬레이브 노드(51b)에 대한 전송 지연 시간 리퀘스트 프레임(81b)(REQb)을 마스터 노드 동기 기준에 따라 통신로(52) 상에 브로드캐스트 송신한다. 이 때, 전송 지연 시간 리퀘스트 프레임(81b)에는, 슬레이브 노드(51b)에 대한 전송 지연 시간 리퀘스트임을 나타내는 정보(대상 노드 정보)가 포함되어 있다.
브로드캐스트 송신된 전송 지연 시간 리퀘스트 프레임(81b)은, 통신로(52)를 통해 소정의 전송 지연 시간 후에 각 슬레이브 노드(51b, 51c)에서 수신된다. 또한, 도 11의 예에서는, 슬레이브 노드(51b)는, 마스터 노드 동기 기준으로부터 지연 시간(D1)에서 전송 지연 시간 리퀘스트 프레임(81b)을 수신하고, 슬레이브 노드(51c)는, 마스터 노드 동기 기준으로부터 지연 시간(D2)에서 전송 지연 시간 리퀘스트 프레임(81b)을 수신한다.
여기서, 각 슬레이브 노드(51b, 51c)는, 전송 지연 시간 리퀘스트 프레임(81b)에 포함되어 있는 상술한 대상 노드 정보를 확인한다. 상술한 바와 같이, 전송 지연 시간 리퀘스트 프레임(81b)은, 슬레이브 노드(51b)에 대한 리퀘스트이기 때문에, 슬레이브 노드(51b)만이 마스터 노드(51a)에 대하여 수신 완료 프레임(82b)(RECb)을 브로드캐스트 송신한다. 이때, 수신 완료 프레임(82b)에는, 마스터 노드(51a)에 대한 수신 완료 프레임임을 나타내는 정보(대상 노드 정보)가 포함되어 있다.
송신된 수신 완료 프레임(82b)은, 통신로(52)를 통해 마스터 노드(51a) 및 슬레이브 노드(51c)에서 수신된다. 다음으로, 마스터 노드(51a) 및 슬레이브 노드(51c)는, 수신 완료 프레임(82b)에 포함되어 있는 상술한 대상 노드 정보를 확인한다. 상술한 바와 같이, 수신 완료 프레임(82b)은, 마스터 노드(51a)에 대한 프레임이다. 이 때문에, 마스터 노드(51a)는, 마스터 노드 동기 기준에 따라 송신한 전송 지연 시간 리퀘스트 프레임(81b)의 송신으로부터, 그 수신 완료 프레임(82b)을 수신할 때까지의 시간 정보에 근거하여, 슬레이브 노드(51b)에 대한 전송 지연 시간을 설정한다. 또한, 여기서, 설정되는 전송 지연 시간은, 통신로(52)를 통해 마스터 노드(51a)와 슬레이브 노드(51b) 사이를 소정의 신호가 왕복하는 왕복 전송 지연 시간이어도 무방하며, 편도 분(分)의 전송 지연 시간이어도 무방하다.
또, 마스터 노드(51a)는, 설정한 전송 지연 시간을 슬레이브 노드(51b)에 통지하기 위한 전송 지연 시간 통지 프레임(83b)(SETb)을 작성하고, 작성한 전송 지연 시간 통지 프레임(83b)을 마스터 노드 동기 기준에 따라 브로드캐스트 송신한다. 또한, 전송 지연 시간 통지 프레임(83b)에는, 상술한 대상 노드 정보가 포함되어 있다.
브로드캐스트 송신된 전송 지연 시간 통지 프레임(83b)은, 상술한 전송 지연 시간 리퀘스트 프레임(81b)과 마찬가지로 통신로(52)를 통해 소정의 전송 지연 시간 후에 각 슬레이브 노드(51b, 51c)에서 수신된다.
이때, 슬레이브 노드(51b)는, 수신한 전송 지연 시간 통지 프레임(83b)의 대상 노드 정보로부터 자기 노드에 대한 정보인 것으로 판단하고, 프레임 내에 포함되는 전송 지연 시간과, 상술한 오버헤드 시간 등을 포함한 제 2 실시형태에 있어서의 동기 보정 처리를 행한다. 또, 슬레이브 노드(51b)는, 전송 지연 시간 통지 프레임(83b)에 대한 응답 프레임(84b)(ANSb)을 작성하고, 작성한 응답 프레임(84b)을 브로드캐스트 송신한다. 이 때, 응답 프레임(84b)에는, 마스터 노드(51a)에 대한 프레임임을 나타내는 정보(대상 노드 정보) 및 동기 보정 처리가 완료되었음을 나타내는 정보 등이 포함되어 있다.
송신된 응답 프레임(84b)은, 상술한 수신 완료 프레임(82b)과 마찬가지로, 통신로(52)를 통해 마스터 노드(51a) 및 슬레이브 노드(51c)에서 수신된다. 다음으로, 마스터 노드(51a) 및 슬레이브 노드(51c)는, 응답 프레임(84b)에 포함되어 있는 상술한 대상 노드 정보를 확인한다. 상술한 바와 같이, 응답 프레임(84b)은, 마스터 노드(51a)에 대한 프레임이다. 이 때문에, 마스터 노드(51a)는, 슬레이브 노드(51b)로부터의 응답 프레임(84b)에 의해, 동기 보정 처리가 완료되었음을 파악할 수 있다. 또한, 슬레이브 노드(51c)는, 전송 지연 시간 리퀘스트 프레임(81b)(REQb)과, 수신 완료 프레임(82b)(RECb)과, 전송 지연 시간 통지 프레임(83b)(SETb)과, 응답 프레임(84b)(ANSb)을 수신하고 있지만, 어느 것도 자기 노드에 대한 프레임은 아니기 때문에, 수신한 프레임은 파기(破棄)된다.
상술한 내용까지가, 슬레이브 노드(51b)에 대한 전송 지연 시간 통지 순서이다. 따라서, 마스터 노드(51a)는, 마찬가지로 슬레이브 노드(51c)에 대하여 전송 지연 시간의 통지를 행한다.
구체적으로는, 도 11의 예에 있어서, 마스터 노드(51a)는, 슬레이브 노드(51c)에 대한 전송 지연 시간 리퀘스트 프레임(81c)(REQc)을 마스터 노드 동기 기준에 따라 통신로(52) 상에 브로드캐스트 송신한다. 브로드캐스트 송신된 전송 지연 시간 리퀘스트 프레임(81c)은, 상술한 바와 같이 통신로(52)를 통해 소정의 전송 지연 시간(D1, D2)에 각 슬레이브 노드(51b, 51c)에서 수신된다.
전송 지연 시간 리퀘스트 프레임(81c)은, 슬레이브 노드(51c)에 대한 리퀘스트이기 때문에, 슬레이브 노드(51c)만이 마스터 노드(51a)에 대해 수신 완료 프레임(82c)(RECc)을 브로드캐스트 송신한다. 송신된 수신 완료 프레임(82c)은, 통신로(52)를 통해 마스터 노드(51a) 및 슬레이브 노드(51c)에서 수신된다. 수신 완료 프레임(82c)은, 마스터 노드(51a)에 대한 프레임이다. 이 때문에, 마스터 노드(51a)는, 마스터 노드 동기 기준에 따라 송신한 전송 지연 시간 리퀘스트 프레임(81c)의 송신으로부터, 그 수신 완료 프레임(82c)을 수신할 때까지의 시간 정보에 근거하여, 슬레이브 노드(51c)에 대한 전송 지연 시간을 설정한다. 또한, 여기서, 설정되는 전송 지연 시간은, 통신로(52)를 통해 마스터 노드(51a)와 슬레이브 노드(51c) 사이를 소정의 신호가 왕복하는 왕복 전송 지연 시간이어도 무방하며, 편도 분의 전송 지연 시간이어도 무방하다.
또, 마스터 노드(51a)는, 설정한 전송 지연 시간을 슬레이브 노드(51c)에 통지하기 위한 전송 지연 시간 통지 프레임(83c)(SETc)을 작성하고, 작성한 전송 지연 시간 통지 프레임(83c)을 마스터 노드 동기 기준에 따라 브로드캐스트 송신한다. 브로드캐스트 송신된 전송 지연 시간 통지 프레임(83c)은, 상술한 전송 지연 시간 리퀘스트 프레임(81c)과 마찬가지로 통신로(52)를 통해 소정의 전송 지연 시간(D1, D2)에 각 슬레이브 노드(51b, 51c)에서 수신된다.
이때, 슬레이브 노드(51c)는, 상술한 바와 같이, 수신한 전송 지연 시간 통지 프레임(83c)의 대상 노드 정보로부터 자기 노드에 대한 정보인 것으로 판단하고, 프레임 내에 포함되는 전송 지연 시간과, 상술한 오버헤드 시간 등을 포함한 제 2 실시형태에 있어서의 동기 보정 처리를 행한다. 또, 슬레이브 노드(51c)는, 전송 지연 시간 통지 프레임(83c)에 대한 응답 프레임(84c)(ANSc)을 작성하여, 작성한 응답 프레임(84c)을 브로드캐스트 송신한다. 이 때, 응답 프레임(84c)에는, 마스터 노드(51a)에 대한 프레임임을 나타내는 정보(대상 노드 정보) 및 동기 보정 처리가 완료되었음을 나타내는 정보 등이 포함되어 있다.
송신된 응답 프레임(84c)은, 상술한 수신 완료 프레임(82c)과 마찬가지로, 통신로(52)를 통해 마스터 노드(51a) 및 슬레이브 노드(51c)에서 수신된다. 다음으로, 마스터 노드(51a) 및 슬레이브 노드(51b)는, 응답 프레임(84c)에 포함되어 있는 상술한 대상 노드 정보를 확인한다. 상술한 바와 같이, 응답 프레임(84c)은, 마스터 노드(51a)에 대한 프레임이다. 이 때문에, 마스터 노드(51a)는, 슬레이브 노드(51c)로부터의 응답 프레임(84c)에 의해, 동기 보정 처리가 완료되었음을 파악할 수 있다. 또한, 슬레이브 노드(51b)는, 전송 지연 시간 리퀘스트 프레임(81c)(REQc)과, 수신 완료 프레임(82c)(RECc)과, 전송 지연 시간 통지 프레임(83c)(SETc)과, 응답 프레임(84c)(ANSc)을 수신하고 있지만, 어느 것도 자기 노드에 대한 프레임은 아니기 때문에, 수신한 프레임은 파기된다.
제 2 실시형태에서는, 상술한 처리를 통신로(52)의 각 슬레이브 노드(51b, 51c)에 대해 순차적으로 실시함으로써, 전송 지연 시간을 통지할 수가 있다.
또한, 전송 지연 시간의 통지 순서에 대해서는, 상술한 순서로 한정되는 것은 아니다. 예컨대, 전송 지연 시간 리퀘스트 프레임(81)을 브로드캐스트 송신하고, 이를 수신한 슬레이브 노드(51b, 51c)가 응답 프레임(84)의 송신에 의해, 통신로(52) 상이나 마스터 노드(51a) 상에서 폭주(輻輳, congestion)하지 않도록, 예컨대 상술한 각 노드 내부에 송신 카운터(send counter)를 설치하고, 그 송신 카운터를 사용하여 다른 타이밍으로 응답 프레임(84)을 송신하도록 제어하여도 무방하다.
상술한 제 2 실시형태에서는, 예컨대 이더넷(ethernet)(등록상표)과 같은 스타형(型) 토폴로지(star topology)를 갖는 시스템에 있어서, 시분할 다중 전송 방식을 이용한 공통 메모리 네트워크에 대해, 각 노드의 카운터를 동기화하여, 장치 전체에서 제어의 타이밍을 맞추는 동기 제어를 할 수 있다. 또, 제 2 실시형태에 있어서, 동기시키는 카운터는, 마이크로컴퓨터 내부의 카운터를 이용하거나 FPGA 등의 하드웨어로 카운터를 이용하여 구성할 수 있다. 따라서, 제 2 실시형태에서는, 예컨대 송수신되는 프레임의 수신 타이밍으로 마스터 노드(51a)와 동기하고 있는 카운터와, 마이크로컴퓨터에 의한 처리 시간을 계측하는 카운터를, 예컨대 FPGA 등의 하드웨어로 구성하고, 그 계수값을 마이크로컴퓨터로 연산함으로써, 처리 오차를 보정할 수가 있다.
여기서, 상술한 예에서는, 노드 동기 시스템(50)의 일례로서, 마스터-슬레이브 간의 노드 동기에 대해 설명하였으나, 본 실시형태에 있어서는, 이것으로 한정되는 것은 아니며, 예컨대 보호 릴레이 등에 있어서의 샘플링 동기 기술에도 응용할 수 있다.
(네트워크 전송 시스템:개략 구성예)
여기서, 상술한 제 2 실시형태에서는, 예컨대 각 노드 사이가, IEEE802.3u(100BASE-TX)나 IEEE802.3ab(1000BASE-T) 등과 같은 HUB(허브) 등의 중계 장치를 통해 접속되는 경우가 있다. 도 12는, 제 2 실시형태에 있어서의 마스터 노드(51a) 및 슬레이브 노드(51b, 51c)를 이용한 노드 동기 시스템(50)을 포함하는 네트워크 전송 시스템의 개략적인 구성의 일례를 나타내는 도면이다. 도 12에 나타내는 네트워크 전송 시스템(90)은, 일례로서, 상술한 복수의 노드(51; 도 12의 예에서는, 노드(51a~51c))와, 하나 또는 복수의 중계 장치로서의 HUB(91; 도 12의 예에서는, HUB(91a~91e))를 갖는다. 또한, 노드나 중계 장치의 수나 종류, 접속 방법에 대해서는 이것으로 한정되는 것은 아니다.
도 12의 예에서는, 도 7의 마스터 노드, 즉 노드(51a)를 노드(A; 마스터국(局)로 하고, 도 7의 슬레이브 노드, 즉 노드(51b), 노드(51c)를 노드(B), 노드(C; 슬레이브국)로 한다. 또, 도 12에 나타내는 바와 같이, 네트워크 전송 시스템(90)의 통신로는, 예컨대 마스터 노드(51a)와 슬레이브 노드(51b)의 사이에 중계 장치를 갖는 스타 형(型)이다. 또한, 중계 장치는, 일례로서 HUB를 이용하고 있지만, 본 실시형태에 있어서는 이것으로 한정되는 것은 아니며, 예컨대 라우터(router), 리피터(repeater), 광 컨버터 등을 이용할 수도 있다.
또, 마스터 노드(51a) 및 슬레이브 노드(51b, 51c)는, 예컨대 프로그래머블 컨트롤러(제어장치, 혹은 PLC(Programmable Logic Controller)라고도 함)이며, 네트워크 전송 시스템(90)의 통신로는 이들 프로그래머블 컨트롤러끼리의 데이터를 교환하는 데이터 교환 버스이다. 상기 데이터 교환 버스에 접속되는 기기로서는, 예컨대 상술한 프로그래머블 컨트롤러에 추가하여, PC, 서버, I/O 모듈, 드라이브 장치(예컨대, 인버터, 서보 등) 등이 있다.
도 12에 나타내는 네트워크 전송 시스템(90)은, 노드(51a) 및 노드(51c)가 동일한 HUB(91a)에 접속되어 있으며, 노드(51b)는, 5단(段)의 HUB(중계 장치)를 경유하여 노드(51a) 및 노드(51c)와 접속되어 있다.
여기서, 일반적인 이더넷의 HUB에서는, 스토어 & 포워드(store & forward)라 불리는 인터페이스 방식이 채용되어 있다. 이 경우, 보내져 온 프레임은, 모두를 HUB 내의 수신 버퍼에 축적하며, HUB 내부 처리(예컨대, 이상(異常) 판정이나 수신처 판정 등)를 행하고 나서 송신된다.
(노드 동기 방법의 시퀀스 예)
도 13은, 노드 동기 방법의 개략적인 시퀀스 예를 나타내는 도면이다. 도 13의 예에서는, 설명의 편의상, 마스터 노드(51a)와 슬레이브 노드(51b)를 이용한 동기에 대해 설명하지만, 본 실시형태에 있어서는 이것으로 한정되는 것은 아니며, 1개의 마스터 노드에 대해 복수의 슬레이브 노드를 동기시킬 수가 있다.
도 13의 노드 동기 처리에 있어서, 우선, 마스터 노드(51a)의 제 1 기준 신호 생성부(61)는, 제 1 기준 신호를 생성하고(S11), 슬레이브 노드(51b)의 제 2 기준 신호 생성부(71)는, 제 2 기준 신호를 생성한다(S12). 또, 이 처리는, 하드웨어적으로 주기적으로 동작되고 있다.
또, 마스터 노드(51a)의 간격 계수부(64)는, 보정 처리 간격을 계수하여, 계수값이 보정 처리 간격값에 도달하면, 보정 처리 개시 신호를 생성하여 동기 보정 처리를 개시한다(S13).
간격 계수부(64)의 계수값이 보정 처리 간격값에 도달하면, 마스터 노드(51a)에 있어서의 동기 보정 처리가 개시되고(S13), 마스터 노드(51a)의 전송 지연 시간 통지부(65)는, 전송 지연 시간을 산출하기 위해 전송 지연 시간 리퀘스트 프레임을 송신한다(S14). 또한, 전송 지연 시간 리퀘스트 프레임은, 동기화 프레임에 포함되는 소정 부분의 데이터를 바꾸기만 한 것으로서, 동기화 프레임이라 바꾸어 말할 수 있지만, 여기에서는 편의상, 「전송 지연 시간 리퀘스트 프레임」으로 하여 설명하고 있다.
슬레이브 노드(51b)의 수신 완료 통지부(79)는, 전송 지연 시간 리퀘스트 프레임을 수신하면, 수신 완료 통지를 생성하여, 마스터 노드(51a)에 통지한다(S15).
마스터 노드(51a)의 전송 지연 시간 통지부(65)는, 수신 완료 통지를 수신하면, 예컨대 왕복 전송 지연 시간을 산출하고(S16), 산출한 왕복 전송 지연 시간 등을 포함하는 전송 지연 시간 통지 프레임을 생성하며(S17), 생성한 전송 지연 시간 통지 프레임을, 통신로(52)를 통해 슬레이브 노드(51b)에 송신한다(S18).
슬레이브 노드(51b)의 프레임 수신부(80)는, 전송 지연 시간 통지 프레임을 수신하면, 그 프레임에 포함되는 왕복 전송 지연 시간(값)을 메모리(45) 등에 퇴피시킨다(S19). 그리고, 마스터 노드(51a)의 동기화 프레임 통지부(66)는, 제 1 기준 신호에 동기시켜, 동기화 프레임을 인터럽트 신호로서 슬레이브 노드(51b)에 송신한다(S20). 슬레이브 노드(51b)가 동기화 프레임을 수신하면(S21), 소프트웨어에 의한 동기 보정 처리를 기동시키는(S22) 동시에, 오버헤드 계수부(74)를 재기동한다(S23). 그리고, 계수값 취득부(75)는, 제 2 기준 신호 생성부(71)와 오버헤드 계수부(74)의 양 계수값을 취득하고(S24), 동기 판정부(76)는, 이들 양 계수값에 근거하여 동기 판정을 행하여(S25), 비동기인 것으로 판정되면, 종합 지연 시간을 산출한다(S26). 종합 지연 시간이란, 예컨대 전송 지연 시간과 오버헤드 값을 가산한 값이지만, 이것으로 한정되는 것은 아니다. 또, 슬레이브 노드(51b)의 동기 보정부(77)는, 산출된 종합 지연 시간을 이용하여 동기 보정을 행한다(S27). 또한, 도 13에 나타내는 처리에서는, 슬레이브 노드(51b)는, 동기 보정이 완료되었음을 나타내는 응답 프레임을 마스터 노드(51a)에 송신하여도 무방하다. 또, 마스터 노드(51a)는, 통신로(52)에 접속된 슬레이브 노드(51b) 이외의 슬레이브 노드에 대해서도 상술한 순서로 노드 동기 처리를 행한다.
여기서, 본 실시형태에서는, 컴퓨터를, 상술한 노드(51)가 갖는 각 수단으로서 기능시키기 위한 프로그램(노드 동기 프로그램)을 생성하고, 생성한 프로그램을, 컴퓨터 등에 인스톨함으로써, 상술한 각 노드 동기 처리를 실현할 수가 있다.
상술한 바와 같이, 본 실시형태에 의하면, 처리 부하를 억제하면서, 소정의 신호를 높은 정밀도로 동기시킬 수가 있다. 이로써, 예컨대, 각 노드(51)의 데이터 교환 주기의 안정화를 실현할 수가 있다. 또, 본 실시형태에 의하면, 예컨대 이더넷과 같은 스타형 토폴로지를 갖는 시스템에 있어서, 시분할 다중 전송 방식을 이용한 공유 메모리 네트워크에 대해, 각 노드(51)의 타이머를 동기화하여, 전송의 효율화와 데이터 교환의 효율화, 데이터 교환 주기의 안정화 등을 실현할 수가 있다.
또한, 본 실시형태는, 예컨대 철강 플랜트(plant) 등과 같은 대규모 설비 등에 있어서의 일련의 동작을 복수의 조작을 이용하여 행하는 경우의 동기 수법에 적용할 수 있으며, 또한 기가 비트 이더넷(Gigabit Ethernet) 전반에 있어서의 각 장치 간의 동기 방식으로서도 널리 적용할 수 있다.
이상, 첨부 도면을 참조하면서 본 발명의 적합한 실시형태에 대해 설명하였으나, 본 발명은 이러한 실시형태로 한정되지 않음은 말할 필요도 없다. 당업자라면, 특허청구범위에 기재된 범주에 있어서, 각종의 변경예 또는 수정예를 생각해낼 수 있음은 분명하며, 이들에 대해서도 당연히 본 발명의 기술적 범위에 속하는 것으로 이해된다.
또한, 본 명세서의 신호 동기 방법, 및 노드 동기 방법의 각 공정은, 반드시 시퀀스 도면으로서 기재된 순서에 따라 시계열(時系列)로 처리할 필요는 없으며, 병렬적 혹은 서브루틴(subroutine)에 의한 처리를 포함하여도 무방하다.
(산업상의 이용 가능성)
본 발명은, 소정의 신호를 동기시키기 위한 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법에 이용할 수가 있다.
10; 신호 동기 시스템
11; 프로세서 모듈
12; 전송 버스
13, 53; I/O(입출력) 모듈
14, 54; 외부 기기
15, 55; 프로그래밍 장치
21, 61; 제 1 기준 신호 생성부
22, 62; 제 1 연산부
23, 38, 63, 78; 기억부
31, 71; 제 2 기준 신호 생성부
32, 72; 제 2 연산부
34, 74; 오버헤드 계수부
35, 75; 계수값 취득부
36, 76; 동기 판정부
37, 77; 동기 보정부
41; 입력부
42; 출력부
43; CPU
44; FPGA
45; 메모리
46; 외부 인터페이스
50; 노드 동기 시스템
51; 노드
52; 통신로
65; 전송 지연 시간 통지부
66; 동기화 프레임 통지부
79; 수신 완료 통지부
80; 프레임 수신부
81; 전송 지연 시간 리퀘스트 프레임
82; 수신 완료 프레임
83; 전송 지연 시간 통지 프레임
84; 응답 프레임
90; 네트워크 전송 시스템
91; HUB(중계 장치)

Claims (18)

  1. 제 1 기준 신호에 따라 동작하는 주(主) 모듈과, 제 2 기준 신호에 따라 동작하는 종(從) 모듈을 포함하며, 상기 제 1 기준 신호에 상기 제 2 기준 신호를 동기(同期)시키는 신호 동기 시스템으로서,
    상기 주 모듈은,
    계수(計數)를 행하여, 미리 설정된 기준값에 계수값이 도달함에 따라 상기 제 1 기준 신호를 생성하는 제 1 기준 신호 생성부를 구비하고,
    상기 종 모듈은,
    계수를 행하여, 상기 기준값에 계수값이 도달함에 따라 상기 제 2 기준 신호를 생성하는 제 2 기준 신호 생성부와,
    동기 보정 처리를 행하는 간격을 계수하는 간격 계수부와,
    상기 간격 계수부에 있어서 상기 동기 보정 처리를 행하는 보정 처리 간격값에 계수값이 도달한 후, 상기 제 1 기준 신호를 수신하여 재기동(restart)하여, 계수를 행하는 오버헤드(overhead) 계수부와,
    상기 간격 계수부에 있어서 상기 보정 처리 간격값에 계수값이 도달한 후, 상기 제 1 기준 신호의 수신에 따라 상기 제 2 기준 신호 생성부의 계수값 및 상기 오버헤드 계수부의 계수값을 취득하는 계수값 취득부와,
    상기 제 2 기준 신호 생성부의 계수값과 상기 오버헤드 계수부의 계수값 간의 차분(差分)을 상쇄하는 값을, 상기 제 2 기준 신호 생성부에 일시적으로 기준값으로서 설정하는 동기 보정부
    를 구비하는 것을 특징으로 하는 신호 동기 시스템.
  2. 제 1항에 있어서,
    상기 종 모듈은, 상기 종 모듈에 있어서의 연산을 실행하는 프로세서를 포함하고,
    상기 제 2 기준 신호 생성부는, 상기 프로세서만이 액세스할 수 있는 카운터인 것을 특징으로 하는 신호 동기 시스템.
  3. 제 2항에 있어서,
    상기 종 모듈에 포함되는 프로세서는, 상기 계수값 취득부, 상기 동기 보정부로서 기능하는 것을 특징으로 하는 신호 동기 시스템.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 종 모듈은,
    상기 계수값 취득부에 의해 취득된, 상기 제 2 기준 신호 생성부의 계수값과 상기 오버헤드 계수부의 계수값이 다를 때 상기 제 1 기준 신호와 상기 제 2 기준 신호가 비동기(非同期)인 것으로 판정하는 동기 판정부를 더 구비하며,
    상기 동기 보정부는, 상기 동기 판정부에 의해 비동기인 것으로 판정된 경우에만, 상기 차분을 상쇄하는 값을, 상기 제 2 기준 신호 생성부에 일시적으로 기준값으로서 설정하는 것을 특징으로 하는 신호 동기 시스템.
  5. 제 4항에 있어서,
    상기 동기 판정부는, 상기 계수값 취득부에 의해 취득된 상기 제 2 기준 신호 생성부의 계수값과 상기 오버헤드 계수부의 계수값을 시간으로 환산하여, 쌍방(雙方)의 시간이 다를 때 비동기인 것으로 판정하는 것을 특징으로 하는 신호 동기 시스템.
  6. 제 1항 내지 제 5항 중 어느 한 항에 있어서,
    상기 제 1 기준 신호 생성부는, 상기 제 1 기준 신호를 주기적으로 생성하고,
    상기 제 2 기준 신호 생성부는, 상기 제 2 기준 신호를 주기적으로 생성하는 것을 특징으로 하는 신호 동기 시스템.
  7. 제 1항 내지 제 6항 중 어느 한 항에 있어서,
    상기 기준값은, 외부 접속되는 설정 장치로부터 설정할 수 있는 것을 특징으로 하는 신호 동기 시스템.
  8. 제 1 기준 신호에 따라 동작하는 마스터 노드(master node)와, 제 2 기준 신호에 따라 동작하는 슬레이브 노드(slave node)를 포함하고, 상기 제 1 기준 신호에 상기 제 2 기준 신호를 동기시키는 노드 동기 시스템으로서,
    상기 마스터 노드는,
    계수를 행하여, 미리 설정된 기준값에 계수값이 도달함에 따라 상기 제 1 기준 신호를 생성하는 제 1 기준 신호 생성부와,
    동기 보정 처리를 행하는 간격을 계수하는 간격 계수부와,
    상기 간격 계수부에 있어서 상기 동기 보정 처리를 행하는 보정 처리 간격값에 계수값이 도달한 후, 상기 마스터 노드와 상기 슬레이브 노드를 접속하는 통신로에 있어서의 전송 지연 시간을 산출하여 상기 슬레이브 노드에 통지하는 전송 지연 시간 통지부와,
    상기 통신로를 통해 상기 제 1 기준 신호에 동기한 동기화 프레임을 상기 슬레이브 노드에 송신하는 동기화 프레임 통지부
    를 구비하며,
    상기 슬레이브 노드는,
    계수를 행하여, 상기 기준값에 계수값이 도달함에 따라 상기 제 2 기준 신호를 생성하는 제 2 기준 신호 생성부와,
    상기 동기화 프레임을 수신하여 재기동하여, 계수를 행하는 오버헤드 계수부와,
    상기 동기화 프레임의 수신에 따라 상기 제 2 기준 신호 생성부의 계수값 및 상기 오버헤드 계수부의 계수값을 취득하는 계수값 취득부와,
    상기 제 2 기준 신호 생성부의 계수값과, 상기 오버헤드 계수부의 계수값과 상기 전송 지연 시간을 나타내는 값의 합인 종합 지연 시간값간의 차분(差分)을 상쇄하는 값을, 상기 제 2 기준 신호 생성부에 일시적으로 기준값으로서 설정하는 동기 보정부
    를 구비하는 것을 특징으로 하는 노드 동기 시스템.
  9. 제 8항에 있어서,
    상기 전송 지연 시간 통지부는, 전송 지연 시간 리퀘스트 프레임을 상기 슬레이브 노드에 송신하고, 상기 전송 지연 시간 리퀘스트 프레임에 대한 상기 슬레이브 노드로부터의 수신 완료 프레임을 수신하여, 상기 수신시의 시각과 상기 전송 지연 시간 리퀘스트 프레임을 송신했을 때의 시각간의 차분으로부터, 상기 전송 지연 시간을 산출하는 것을 특징으로 하는 노드 동기 시스템.
  10. 제 8항 또는 제 9항에 있어서,
    상기 통신로는, 상기 마스터 노드와 상기 슬레이브 노드의 사이에 중계 장치를 갖는 스타형(star type)인 것을 특징으로 하는 노드 동기 시스템.
  11. 제 8항 내지 제 10항 중 어느 한 항에 있어서,
    상기 슬레이브 노드는, 상기 슬레이브 노드에 있어서의 연산을 실행하는 프로세서를 포함하며,
    상기 제 2 기준 신호 생성부는, 상기 프로세서만이 액세스할 수 있는 카운터인 것을 특징으로 하는 노드 동기 시스템.
  12. 제 11항에 있어서,
    상기 슬레이브 노드에 포함되는 프로세서는, 상기 계수값 취득부, 상기 동기 보정부로서 기능하는 것을 특징으로 하는 노드 동기 시스템.
  13. 제 8항 내지 제 12항 중 어느 한 항에 있어서,
    상기 슬레이브 노드는,
    상기 계수값 취득부에 의해 취득된, 상기 제 2 기준 신호 생성부의 계수값과 상기 종합 지연 시간이 다를 때 상기 제 1 기준 신호와 상기 제 2 기준 신호가 비동기인 것으로 판정하는 동기 판정부를 더 구비하며,
    상기 동기 보정부는, 상기 동기 판정부에 의해 비동기인 것으로 판정된 경우에만, 상기 차분을 상쇄하는 값을, 상기 제 2 기준 신호 생성부에 일시적으로 기준값으로서 설정하는 것을 특징으로 하는 노드 동기 시스템.
  14. 제 13항에 있어서,
    상기 동기 판정부는, 상기 계수값 취득부에 의해 취득된 상기 제 2 기준 신호 생성부의 계수값과 상기 오버헤드 계수부의 계수값을 시간으로 환산하여, 쌍방의 시간이 다를 때 비동기인 것으로 판정하는 것을 특징으로 하는 노드 동기 시스템.
  15. 제 8항 내지 제 14항 중 어느 한 항에 있어서,
    상기 제 1 기준 신호 생성부는, 상기 제 1 기준 신호를 주기적으로 생성하고,
    상기 제 2 기준 신호 생성부는, 상기 제 2 기준 신호를 주기적으로 생성하는 것을 특징으로 하는 노드 동기 시스템.
  16. 제 8항 내지 제 15항 중 어느 한 항에 있어서,
    상기 기준값은, 외부 접속되는 설정 장치로부터 설정할 수 있는 것을 특징으로 하는 노드 동기 시스템.
  17. 제 1 기준 신호에 따라 동작하는 주 모듈과, 제 2 기준 신호에 따라 동작하는 종 모듈에 의해, 상기 제 1 기준 신호에 상기 제 2 기준 신호를 동기시키는 신호 동기 방법으로서,
    상기 주 모듈은,
    계수를 행하여, 미리 설정된 기준값에 계수값이 도달함에 따라 상기 제 1 기준 신호를 생성하고,
    상기 종 모듈은,
    계수를 행하여, 상기 기준값에 계수값이 도달함에 따라 상기 제 2 기준 신호를 생성하며,
    동기 보정 처리를 행하는 간격을 계수하여,
    상기 동기 보정 처리를 행하는 보정 처리 간격값에 계수값이 도달한 후, 상기 제 1 기준 신호를 수신하고 재기동하여, 계수를 행하며,
    상기 동기 보정 처리를 행하는 간격을 나타내는 계수값이 상기 보정 처리 간격값에 도달한 후, 상기 제 2 기준 신호를 생성하기 위한 계수값 및 상기 제 1 기준 신호를 수신하여 재기동한 계수값을 취득하고,
    상기 제 2 기준 신호를 생성하기 위한 계수값과 상기 제 1 기준 신호를 수신하여 재기동한 계수값간의 차분을 상쇄하는 값을, 상기 제 2 기준 신호를 생성하기 위한 계수에 일시적으로 기준값으로서 설정하는 것을 특징으로 하는 신호 동기 방법.
  18. 제 1 기준 신호에 따라 동작하는 마스터 노드와, 제 2 기준 신호에 따라 동작하는 슬레이브 노드에 의해, 상기 제 1 기준 신호에 상기 제 2 기준 신호를 동기시키는 노드 동기 방법으로서,
    상기 마스터 노드는,
    계수를 행하여, 미리 설정된 기준값에 계수값이 도달함에 따라 상기 제 1 기준 신호를 생성하고,
    동기 보정 처리를 행하는 간격을 계수하여,
    상기 동기 보정 처리를 행하는 간격의 계수값이 보정 처리 간격값에 도달한 후, 상기 마스터 노드와 상기 슬레이브 노드를 접속하는 통신로에 있어서의 전송 지연 시간을 산출하여 상기 슬레이브 노드에 통지하며,
    상기 통신로를 통해 상기 제 1 기준 신호에 동기한 동기화 프레임을 슬레이브 노드에 송신하고,
    상기 슬레이브 노드는,
    계수를 행하여, 상기 기준값에 계수값이 도달함에 따라 상기 제 2 기준 신호를 생성하고,
    상기 동기화 프레임을 수신하여 재기동하고, 계수를 행하며,
    상기 동기화 프레임의 수신에 따라 상기 제 2 기준 신호를 생성하기 위한 계수값 및 상기 동기화 프레임을 수신하여 재기동한 계수값을 취득하고,
    상기 제 2 기준 신호를 생성하기 위한 계수값과, 상기 동기화 프레임을 수신하여 재기동한 계수값과 상기 전송 지연 시간을 나타내는 값의 합인 종합 지연 시간값간의 차분을 상쇄하는 값을, 상기 제 2 기준 신호를 생성하기 위한 계수에 일시적으로 기준값으로서 설정하는 것을 특징으로 하는 노드 동기 방법.
KR1020157015123A 2012-12-13 2012-12-13 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법 KR101636496B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/082334 WO2014091592A1 (ja) 2012-12-13 2012-12-13 信号同期システム、ノード同期システム、信号同期方法、及び、ノード同期方法

Publications (2)

Publication Number Publication Date
KR20150084917A true KR20150084917A (ko) 2015-07-22
KR101636496B1 KR101636496B1 (ko) 2016-07-05

Family

ID=50933913

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157015123A KR101636496B1 (ko) 2012-12-13 2012-12-13 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법

Country Status (4)

Country Link
JP (1) JP5825446B2 (ko)
KR (1) KR101636496B1 (ko)
CN (1) CN104838615B (ko)
WO (1) WO2014091592A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200034329A (ko) * 2018-09-21 2020-03-31 주식회사 룩시드랩스 시간 동기화를 위한 방법 및 장치
WO2023096098A1 (ko) * 2021-11-29 2023-06-01 성창 주식회사 서버와 iot 디바이스 사이의 시간 동기화 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6400553B2 (ja) * 2015-09-28 2018-10-03 ファナック株式会社 ユニット間での同期制御機能を有する数値制御システム
JP6719994B2 (ja) * 2016-06-30 2020-07-08 キヤノン株式会社 通信システム、通信機器および通信方法
WO2019010626A1 (zh) * 2017-07-11 2019-01-17 深圳市柔宇科技有限公司 拍摄方法和终端
FR3108817B1 (fr) 2020-03-26 2022-03-04 Safran Procédé de communication selon un protocole TDMA entre un dispositif maître et au moins un dispositif esclave
JP7243695B2 (ja) * 2020-08-25 2023-03-22 横河電機株式会社 情報処理装置、情報処理システム、及び情報処理方法
CN114285512B (zh) * 2021-11-17 2024-01-23 中国电子科技集团公司第五十四研究所 通信校时方法、通信系统及通信设备

Citations (4)

* 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 送信タイミング決定方法、バス使用権の調停方法、ネットワークシステム、プログラム
JP2005253033A (ja) * 2004-02-06 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> 網同期装置、クロック伝達方法およびクロック伝達パケット網
KR20070040851A (ko) * 2002-05-13 2007-04-17 모토로라 인코포레이티드 전자 디바이스내의 클록 인에이블먼트를 동기화
KR20090104705A (ko) * 2008-03-31 2009-10-06 후지쯔 가부시끼가이샤 클럭 발생 기능을 갖는 장치, 기준 주파수 설정 방법 및 기준 주파수 조정 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844703B2 (en) * 2006-11-02 2010-11-30 International Business Machines Corporation System and method of measurement for a distributed computer system
CN101039145B (zh) * 2007-03-30 2010-08-04 华为技术有限公司 时钟的实现方法、装置
CN100589371C (zh) * 2007-07-16 2010-02-10 中兴通讯股份有限公司 一种消除源同步信号长线传输时延的系统及方法
JP5127482B2 (ja) * 2008-01-30 2013-01-23 株式会社東芝 タイミング同期方法、同期装置、同期システム及び同期プログラム
CN101431796A (zh) * 2008-12-10 2009-05-13 扬州万方电子技术有限责任公司 用于有中心宽带无线通信系统时钟主从同步的方法
US8120935B2 (en) * 2011-03-29 2012-02-21 American Superconductor Corporation Power converter with dual ring network control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070040851A (ko) * 2002-05-13 2007-04-17 모토로라 인코포레이티드 전자 디바이스내의 클록 인에이블먼트를 동기화
JP2005159754A (ja) 2003-11-26 2005-06-16 Fuji Electric Fa Components & Systems Co Ltd 送信タイミング決定方法、バス使用権の調停方法、ネットワークシステム、プログラム
JP2005253033A (ja) * 2004-02-06 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> 網同期装置、クロック伝達方法およびクロック伝達パケット網
KR20090104705A (ko) * 2008-03-31 2009-10-06 후지쯔 가부시끼가이샤 클럭 발생 기능을 갖는 장치, 기준 주파수 설정 방법 및 기준 주파수 조정 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200034329A (ko) * 2018-09-21 2020-03-31 주식회사 룩시드랩스 시간 동기화를 위한 방법 및 장치
WO2023096098A1 (ko) * 2021-11-29 2023-06-01 성창 주식회사 서버와 iot 디바이스 사이의 시간 동기화 시스템

Also Published As

Publication number Publication date
JPWO2014091592A1 (ja) 2017-01-05
CN104838615B (zh) 2017-08-18
JP5825446B2 (ja) 2015-12-02
CN104838615A (zh) 2015-08-12
KR101636496B1 (ko) 2016-07-05
WO2014091592A1 (ja) 2014-06-19

Similar Documents

Publication Publication Date Title
KR101636496B1 (ko) 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법
US11316605B2 (en) Method, device, and computer program for improving synchronization of clocks in devices linked according to a daisy-chain topology
US20120057479A1 (en) Communication control unit and communication control system
JP6152920B2 (ja) プログラマブルコントローラシステム、そのコントローラ
JP6523497B1 (ja) マスタ制御装置およびこれを用いた同期通信システム
JP5716229B2 (ja) 時刻同期システム、管理ノード、及び時刻同期方法
EP3893427A1 (en) Clock synchronization method and apparatus and storage medium
JP2019101480A (ja) 制御装置および制御方法
US20200382233A1 (en) Information processing apparatus and time synchronization method
KR20190074026A (ko) 이더캣 기반의 슬레이브 시스템에 포함된 복수의 마이크로 프로세서간 동기화 방법 및 시스템
US11310026B2 (en) Communication system, communication device, and program
JP6614403B1 (ja) 通信装置、通信システムおよび同期制御方法
JP2011023788A (ja) ネットワーク同期方法と同期化回路
JP4961589B2 (ja) ネットワークシステムおよびスレーブ同期方法
US20170117980A1 (en) Time synchronization for network device
WO2020059137A1 (ja) 通信装置、通信システム、通信方法および通信プログラム
JP5626589B2 (ja) ネットワーク機器、および同機器における時刻同期方法
US8718038B2 (en) Node system and supervisory node
US20230067697A1 (en) Communication device, communication system, and recording medium
KR20140121849A (ko) 신호 동기화 시스템, 멀티 프로세서 및 노드 동기화 시스템
KR101498561B1 (ko) 글로벌 동기화를 위한 tdma 기반의 can 통신시스템 및 방법
US11294421B2 (en) Precision timing between systems
CN110492966B (zh) 一种分布式继电保护装置的时间同步方法
JP5449484B2 (ja) 電子制御装置および電子制御装置に適用されるアプリケーションの実行間隔監視方法

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 4