KR102055504B1 - 데이터 버스에 연결된 노드의 디스커버리와 버스중재 방법 및 그 방법을 위한 기기 - Google Patents

데이터 버스에 연결된 노드의 디스커버리와 버스중재 방법 및 그 방법을 위한 기기 Download PDF

Info

Publication number
KR102055504B1
KR102055504B1 KR1020180069170A KR20180069170A KR102055504B1 KR 102055504 B1 KR102055504 B1 KR 102055504B1 KR 1020180069170 A KR1020180069170 A KR 1020180069170A KR 20180069170 A KR20180069170 A KR 20180069170A KR 102055504 B1 KR102055504 B1 KR 102055504B1
Authority
KR
South Korea
Prior art keywords
identification number
cycle
data
bus
discovery
Prior art date
Application number
KR1020180069170A
Other languages
English (en)
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 벨로넥트 인코퍼레이션
Priority to KR1020180069170A priority Critical patent/KR102055504B1/ko
Application granted granted Critical
Publication of KR102055504B1 publication Critical patent/KR102055504B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40078Bus configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40084Bus arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명에 따른, 데이터 버스에 연결된 노드(node)들의 디스커버리(discovery)와 버스중재를 위한 방법은, 데이터 버스에 연결된 노드들을 식별하기 위한 디스커버리 사이클(cycle)을 진행하는 1단계와, 상기 디스커버리 사이클에서 발견된 노드들에 대하여, 각 노드가 송신을 위해 독점적으로 사용할 수 있는 데이터 채널이 상기 발견된 노드들의 식별번호에 근거하여( 예를 들어, 그 식별번호의 순서대로 ) 할당되는 데이터 사이클을 진행하는 2단계를 포함하여 이루어진다. 그리고, 상기 디스커버리 사이클에는, 노드에 부여할 수 있는 가능 식별번호들( 예를 들어, 식별번호가 5비트이면 0부터 31까지의 번호 )의 각각에 대하여 해당 가능 식별번호의 노드가 자신의 식별번호를 알리기 위한 정보를 송신할 수 있는 비트 구간이 상기 가능 식별번호들에 대해 정해진 순서대로 할당된다.

Description

데이터 버스에 연결된 노드의 디스커버리와 버스중재 방법 및 그 방법을 위한 기기 {Discovery and bus arbitration method for nodes connected on a data bus and a device for said method}
본 발명은, 데이터 버스에 연결된 노드들을 디스커버리(discovery)하고 그 발견된 노드들의 버스 점유를 중재하는 방법과 그 방법을 위한 기기에 관한 것이다.
사람의 생활을 편리하게 하는 수 많은 종류의 복잡한 장치들, 예를 들어, 차량, 의료 기기 등은, 많은 부품들 간에 서로 정보를 실시간으로 교환함으로써 다양하고 편리한 기능 및 우수한 성능 등을 제공하고 있다. 그리고, 이러한 부품들 간의 정보 교환은 배선이나 조립의 편의성을 위해 부품들이 공통적으로 연결되는 데이터 버스를 통해 이루어지게 한다.
그런데, 데이터 버스를 적용하면, 그 버스에 연결된 부품들, 즉, 노드(node)들은 버스 점유 경쟁을 통해 데이터 전송을 할 수 밖에 없다. 그래서, 버스 경합에 대한 다양한 중재 방식들이 제안되고 또한 사용되고 있다.
예를 들어, 이더넷(Ethernet)과 같은 랜(LAN)은 CSMA/CD (Carrier Sense Multiple Access/Collision Detection)라는 버스 중재 방식을 채택하고 있는데, 이 버스 중재 방식은 다음과 같이 이루어진다.
버스를 점유하고자하는 노드는 먼저 버스 상에 캐리어(carrier)가 있는 지를 감지하고, 캐리어가 감지되지 않으면 바로 데이터를 전송한다. 이때, 타 노드와 동시에 버스를 사용함으로써 신호 충돌이 있게 되면 이를 감지하고, 일정 시간 대기 후 캐리어를 감지하는 과정으로 진행한다. 이때 대기하는 일정 시간은 랜덤(random)하게 설정됨으로써 충돌이 반복될 확률을 낮추게 된다.
하지만, 이와 같이, 버스 경쟁에서의 신호 충돌을 허용하고 충돌이 있을 때 그 경합을 해소하는 위와 같은 버스 중재 방식은, 차량 등과 같은 장치에 앞으로 채택될 고속의 데이터 버스에 적용하는데는 문제가 있다. 그 이유는, 동시에 많은 노드들, 즉 많은 부품들이 버스 점유를 경합함으로써 신호 충돌이 발생했을 때 그 노드들의 점유 경합을 해소하는데는 어느 정도의 시간이 소요될 수 밖에 없기 때문이다.
일반적으로, 차량 등과 같은 장치는, 운용자 또는 관리자가 사용을 위해 전원을 인가할 때 초기의 상태가 매우 짧은 시간에 순간적으로 확인되어 그와 관련된 정보가 운용자 등에게 제공되거나 타 부품들에 공유되어야 하는데, 위와 같은 버스 중재 방식이 적용되면, 전원 인가 초기에 부품들은 심한 버스 경합을 겪을 수 밖에 없고, 이는 결국 초기 상태의 정보 확인 또는 공유의 지연으로 이어지게 된다.
더욱이, 전원 인가 초기에 데이터 버스에 연결된 노드들을 식별하기 위한 디스커버리(discovery)가 수행되어야 하는 경우라면, 이 디스커버리에서의 동시 점유에 의한 신호 충돌과 그에 따른 경합 해소에도 시간이 소요될 수 밖에 없어서 장치의 초기 상태 확인 등은 더욱 더 늦어질 수 밖에 없다.
본 발명은, 데이터 버스에 연결된 노드들 간에 버스 경합없이 정보 공유할 수 있게 하는 버스중재 방법과 그 방법을 위한 기기를 제공하는데 일 목적이 있는 것이다.
본 발명의 다른 목적은, 데이터 버스에 연결된 노드들에 대한 디스커버리가 버스 경합없이 신속하게 이루어지게 하는 노드 디스커버리 방법과 그 방법을 위한 기기를 제공하는 것이다.
본 발명의 또 다른 목적은, 데이터 버스에 연결된 노드들에 대해 그룹별로 디스커버리가 신속하게 이루어지게 하는 노드 디스커버리 방법과 그 방법을 위한 기기를 제공하는 것이다.
본 발명의 또 다른 목적은, 발견되는 노드들에 대해 적응적으로 점유 권한을 할당함으로써 버스 경합없는 효율적인 버스 사용이 이루지게 하는 버스중재 방법과 그 방법을 위한 기기를 제공하는 것이다.
본 발명의 또 다른 목적은, 데이터 버스에 연결된 노드들이 그룹별로 정보를 버스 경합없이 공유할 수 있게 하는 버스 사용효율이 높은 버스중재 방법과 그 방법을 위한 기기를 제공하는 것이다.
본 발명의 목적은, 상기 명시적으로 서술된 목적에 국한되는 것은 아니며, 본 발명에 대한 구체적이고 예시적인 하기의 설명에서 도출될 수 있는 효과를 달성하는 것을 그 목적에 당연히 포함한다.
본 발명의 일 측면에 따른, 데이터 버스에 연결된 노드(node)들의 디스커버리와 버스중재를 위한 일 방법은, 상기 데이터 버스에 연결된 노드들을 식별하기 위한 디스커버리 사이클을 진행하는 1단계와, 상기 디스커버리 사이클에서 발견된 노드들에 대하여, 각 노드가 송신을 위해 독점적으로 사용할 수 있는 데이터 채널이 상기 발견된 노드들의 식별번호에 근거하여 할당되는 데이터 사이클을 진행하는 2단계를 포함하여 이루어진다. 그리고, 상기 디스커버리 사이클에는, 노드에 부여할 수 있는 가능 식별번호들의 각각에 대하여 해당 가능 식별번호의 노드가 자신의 식별번호를 알리기 위한 정보를 송신할 수 있는 비트 구간이 상기 가능 식별번호들에 대해 기 정해진 순서대로 할당된다.
본 발명에 따른 일 실시예에서는, 식별번호를 알리기 위한 상기 정보는 노드의 식별번호이다. 그리고, 상기 디스커버리 사이클에서는, 임의 순서의 상기 비트 구간이 노드의 식별번호가 실리지 않는 상태, 즉 닐(nil) 상태로 판단되면, 식별번호를 위해 확보되는 상기 비트 구간의 비트 길이보다 짧은 비트 폭으로써 해당 순서의 비트 구간은 종료되고 다음 순서의 비트 구간이 시작된다. 이 경우, 버스 상의 모든 노드들은 해당 식별 번호의 노드는 존재하지 않는 것으로 판단하게 된다.
상기 비트 구간에 식별번호가 실리는 실시예에서는, 상기 비트 구간의 직후에 그 비트 구간에 실리는 식별번호의 성공적 수신 여부를 노드들에 알릴 수 있는 응답 필드가 상기 디스커버리 사이클에 할당될 수 있다. 이 응답 필드에 부정응답 신호가 실리면, 그 응답 필드 직전의 상기 비트 구간에 실린 임의 식별번호를 위한 비트 구간이, 부정응답 신호가 실린 상기 응답 필드에 이어 바로 재할당될 수도 있고, 아니면, 상기 디스커버리 사이클에 이어서, 부정응답 신호가 발생한 식별번호들의 각 노드가 자신의 식별번호를 다시 송신할 수 있게 하는 리디스커버리 사이클이 진행될 수도 있다. 후자의 경우, 상기 리디스커버리 사이클에는, 상기 가능 식별번호들의 각각에 대하여 해당 가능 식별번호의 노드가 자신의 식별번호를 알리기 위한 정보를 송신할 수 있는 비트 구간이 상기 가능 식별번호들의 순으로 할당되고, 상기 디스커버리 사이클에서 식별번호를 송신하고 그에 대해 긍정응답을 수신한 노드들은 상기 리디스커버리 사이클에서는 자신의 식별번호를 알리기 위한 정보를 송신하지 않는다.
또한, 상기 비트 구간에 식별번호가 실리는 실시예에서는, 상기 닐 상태의 비트 폭이 지정된 횟수 이상 연속될 때 상기 닐 상태와는 다른 상태를 나타내는 비콘(beacon) 신호가 상기 디스커버리 사이클에 삽입될 수도 있다.
본 발명에 따른 일 실시예에서는, 상기 디스커버리 사이클에서 식별정보를 알리기 위한 상기 정보를 송신하지 못한 임의 노드가 자신의 식별번호를 송신할 수 있게 하는 참여 채널이 상기 데이터 사이클에 할당된다. 그리고, 상기 참여 채널은, 노드의 식별번호를 실을 수 있는 필드와 그 필드에 실린 식별번호의 성공적 수신여부를 알릴 수 있는 응답 필드를 포함하여 구성된다. 본 실시예에서는, 식별번호를 알리기 위한 상기 정보를 송신하지 못한 상기 임의 노드가, 식별번호를 실을 수 있는 상기 필드에 자신의 식별번호를 송신한 후 그 필드에 실린 식별번호와 자신이 송신한 식별번호와 동일한 지를 확인하고 서로 상이할 때는 상기 응답 필드에 부정응답을 나타내는 신호를 송신한다. 그리고, 상기 참여 채널은, 노드의 식별번호가 실리지 않는 닐 상태로 시작되면, 식별번호를 위해 확보되는 상기 참여 채널의 비트 길이보다 짧은 비트 폭으로써 상기 참여 채널은 종료될 수도 있다.
본 발명에 따른 일 실시예에서는, 상기 데이터 사이클에 할당되는 각 데이터 채널에는, 해당 채널을 할당받은 노드의 식별번호가 실릴 수도 있다. 본 실시예에서는, 상기 디스커버리 사이클에서 식별정보를 알리기 위한 상기 정보를 송신하지 못한 임의 노드는, 적어도 한번의 데이터 사이클이 진행된 이후의 데이터 사이클의 상기 참여 채널에 자신의 식별번호를 송신하게 된다.
본 발명에 따른 다른 일 실시예에서는, 상기 디스커버리 사이클에서 식별번호를 알리기 위한 상기 정보를 송신하지 못한 임의 노드가 상기 디스커버리 사이클이 다시 진행되도록 요구하는 신호를 실을 수 있는 요청 필드가 상기 데이터 사이클에 할당된다.
본 발명에 따른 일 실시예에서는, 식별번호를 알리기 위한 상기 정보는, 노드의 존재 여부를 나타내는 2상태 중 하나를 지시하는 값이다. 그리고, 상기 데이터 버스에 연결된 노드들의 각각은, 상기 디스커버리 사이클에서 자신의 식별번호에 해당하는 순서의 상기 비트 구간에 자신의 존재를 가리키는 값을 송신한다. 본 실시예에서는, 상기 1단계가 상기 디스커버리 사이클을 연속하여 복수회 진행할 수도 있다. 디스커버리 사이클을 복수회 진행하는 경우에는, 마지막 순서의 사이클에, 각 디스커버리 사이클에서 발견되는 노드들의 세트가 서로 동일한 지 여부를 임의의 노드가 알릴 수 있는 검증 필드가 할당된다.
본 발명에 따른 일 실시예에서는, 상기 1단계가, 상기 데이터 버스에 연결된 노드들에 각기 부여된 그룹번호들을 디스커버리하기 위한 그룹 디스커버리 사이클을 먼저 수행한 후, 그 그룹 디스커버리 사이클에서 발견된 그룹번호들 각각에 대해서 개별적으로 상기 디스커버리 사이클을 진행한다. 본 실시예에서는, 복수의 그룹 번호가 부여된 임의의 노드가, 발견된 그룹번호들 각각에 대해 개별적으로 진행되는 디스커버리 사이클들 중에서, 자신에게 부여된 그룹 번호들에 대해 진행되는 복수 사이클들 각각에서 자신의 식별번호를 알리기 위한 정보를 송신한다.
그룹 디스커버리 사이클이 진행되는 상기 실시예에서는, 상기 2단계가, 상기 그룹 디스커버리 사이클에서 발견된 그룹번호들의 각각에 대하여 데이터 사이클을 연이어서 진행한다. 이때, 각 그룹번호에 대한 데이터 사이클에는, 해당 그룹번호에 대해 진행된 상기 디스커버리 사이클에서 발견된 노드들의 식별번호에 대해, 기 지정된 순서대로 상기 데이터 채널이 할당된다. 그리고, 상기 데이터 버스에 연결된 노드들은, 자신에게 부여된 그룹번호가 아닌 그룹번호를 대상으로 진행되는 데이터 사이클에 대해서는 그 데이터 채널의 데이터를 읽어서 확인하는 동작을 수행하지 않는다.
본 발명의 다른 일 측면에 따른, 데이터 버스에 연결되어 그 버스를 통해 송수신 동작을 수행하기 위한 기기는, 상기 데이터 버스에 실리는 신호를 검출하고 또한 인가되는 데이터를 상기 데이터 버스에 적합한 신호 형태로 변환하여 송신하는 트랜시버와, 상기 데이터 버스에 연결된 노드들을 식별하기 위한 디스커버리 사이클을 상기 데이터 버스에 형성하기 위해 필요한 데이터를 상기 트랜시버를 통해 상기 데이터 버스로 송신하고, 또한, 상기 디스커버리 사이클에서 상기 트랜시버에 의해 검출되는 데이터로부터 상기 노드들의 식별번호를 확인하고, 그 확인된 식별번호들에 근거하여, 각 노드가 송신을 위해 독점적으로 사용할 수 있는 데이터 채널이 할당되는 데이터 사이클을 상기 데이터 버스에 형성하기 위해 필요한 데이터를 상기 트랜시버를 통해 상기 데이터 버스로 송신하도록 구성된 컨트롤러를 포함하여 구성된다. 그리고, 상기 컨트롤러는, 노드에 부여할 수 있는 가능 식별번호들의 각각에 대하여 해당 가능 식별번호의 노드가 자신의 식별번호를 알리기 위한 정보를 송신할 수 있는 비트 구간이 상기 가능 식별번호들에 대해 기 정해진 순서대로 할당되게 상기 디스커버리 사이클을 상기 데이터 버스에 형성한다.
본 발명에 따른 일 실시예에서는, 식별번호를 알리기 위한 상기 정보는 노드의 식별번호이고, 상기 컨트롤러는, 임의 순서의 상기 비트 구간이 노드의 식별번호가 실리지 않는 닐 상태로 시작되면, 식별번호를 위해 확보되는 상기 비트 구간의 비트 길이보다 짧은 비트 폭으로써 해당 순서의 비트 구간은 종료되고 다음 순서의 비트 구간이 시작되는 방식으로 상기 디스커버리 사이클을 형성한다.
본 발명에 따른 다른 일 실시예에서는, 상기 컨트롤러는, 상기 비트 구간에 대해서 노드의 존재 여부를 나타내는 2상태 중 하나를 지시하는 값이 실릴 수 있는 형태가 되도록 상기 디스커버리 사이클을 형성한다. 이때, 상기 디스커버리 사이클의 각 비트 구간은, 그 비트 구간의 순서와 자신의 식별번호의 순서가 일치하는 노드에 의해 자신의 존재를 가리키는 값이 실리도록 의도된 것이다.
전술한 본 발명 또는, 하기에서 첨부된 도면과 함께 상세히 설명되는 본 발명의 적어도 일 실시예에 따른 버스에 연결된 노드의 디스커버리와 버스중재 방법은, 버스에 연결된 노드들의 데이터 송신에서 전혀 충돌이 발생하지 않게 함과 동시에 버스에 연결된 노드들에 대한 디스커버리가 매우 신속하게 이루어지게 한다. 따라서, 장치의 초기 상태가 매우 빨리 감지되게 함으로써 운용자 또는 관리자의 그 장치에 대한 초기 운용에 도움을 준다.
또한, 본 발명은, 동일 버스를 공유하더라도 연결된 노드들이 그룹별로 디스커버리되고 그에 따라 그룹별로 데이터 송수신이 이루어지게 함으로써, 노드들의 식별번호가 기능이나 성능 등으로 카테고리되어 할당된 경우에도 신속한 디스커버리가 가능하고, 또한, 각 노드에서 데이터 수신을 위한 과도한 자원 할당이 발생하지 않게 하여 데이터 송수신을 위한 자원이 최대한 효율적으로 사용될 수 있게 한다.
도 1은, 본 발명의 일 실시예에 따른 노드의 디스커버리와 버스중재 방법을 각기 수행할 수 있는 버스 컨트롤러들이 버스에 연결된 시스템을 예시한 것이고,
도 2는, 본 발명의 일 실시예에 따라, 도 1의 시스템에서 이루어지는, 버스에 대한 디스커버리 사이클(cycle)의 일 예를 도시한 것이고,
도 3은, 본 발명의 실시예들에 따른, 노드 디스커버리 사이클의 시작을 알리는 코드의 다양한 구성 예를 각기 나타낸 것이고,
도 4는, 본 발명의 일 실시예에 따른, 디스커버리 사이클에서 각 노드에 의해 실리게 되는 식별자 패턴의 구성 예이고,
도 5는, 본 발명의 일 실시예에 따른, 디스커버리 사이클에서 식별번호의 오류가 발생하는 경우 해당 슬롯을 연장함으로써 그 오류를 복구할 수 있게 하는 방식을 예시한 것이고,
도 6은, 본 발명의 다른 일 실시예에 따른, 디스커버리 사이클에서 식별번호의 오류가 발생하는 경우 리디스커버리(rediscovery) 사이클을 진행함으로써 그 오류를 복구할 수 있게 하는 방식을 예시한 것이고,
도 7은, 본 발명에 따른 실시예들에서 적용되는, 서로 구분되는 비트 패턴의 헤더틀 갖는 코드 등에 대해서 그 예를 나타낸 것이고,
도 8은, 본 발명의 일 실시예에 따라 이루어지는, 각 노드가 독점적으로 사용할 수 있는 데이터 채널들이 할당된 데이터 사이클을 예시적으로 나타낸 것이고,
도 9는, 본 발명의 일 실시예에 따른, 디스커버리 사이클에 참여하지 못한 노드가 참여할 수 있는 구간을 포함하는 데이터 사이클을 예시한 것이고,
도 10은, 본 발명의 일 실시예에 따라, 초기의 디스커버리 사이클에 참여하지 못한 노드의 데이터 사이클에서의 참여에 의해 데이터 채널이 데이터 사이클에 추가적으로 확보되는 것을 예시적으로 나타낸 것이고,
도 11은, 본 발명의 다른 일 실시예에 따른, 초기의 디스커버리 사이클에 참여하지 못한 노드가 참여할 수 있는 구간을 포함하는 데이터 사이클을 예시한 것이고,
도 12는, 본 발명의 일 실시예에 따라, 데이터 사이클에서의 지연 참여를 위한 구간의 폭이 가변적으로 운용되는 것을 예시한 것이고,
도 13은, 본 발명의 다른 일 실시예에 따른, 초기의 디스커버리 사이클에 참여하지 못한 노드가 디스커버리 사이클의 재진행을 요청할 수 있는 필드가 포함된 데이터 사이클들의 예를 각각 도시한 것이고,
도 14는, 본 발명의 다른 일 실시예에 따라, 도 1의 시스템에서 이루어지는, 버스에 대한 디스커버리 사이클의 일 예를 도시한 것이고,
도 15는, 본 발명의 일 실시예에 따라, 도 14의 실시예에 디스커버리 검증 사이클이 포함되는 사이클의 예를 도시한 것이고,
도 16은, 본 발명의 일 실시예에 따른, 버스에 연결된 노드들에 대해서 그룹별로 분리하여 디스커버리하기 위한 사이클을 예시한 것이고,
도 17은, 도 16의 실시예에 따라 발견된 그룹들에 대해서만, 해당 그룹의 노드들을 위한 데이터 사이클이 순차적으로 진행되는 것을 예시한 것이다.
이하에서는, 본 발명에 따른 다양한 실시예들에 대해 첨부된 도면을 참조하여 상세히 설명한다.
이하의 본 발명에 따른 실시예들의 설명과 첨부된 도면에 있어서, 부기된 동일 번호는 특별한 사정이 없는 한 동일한 구성요소를 지칭한다. 물론, 설명의 편의와 이해에의 도움을 위해, 필요에 따라서는 동일한 구성요소에 대해서도 서로 다른 번호로 부기될 수도 있다.
도 1은, 본 발명의 일 실시예에 따른 노드의 디스커버리와 버스중재 방법을 각기 수행할 수 있는 버스 컨트롤러들(10,20i, i=1,2,..)이 하나의 데이터 버스에 연결된 시스템을 예시한 것으로서, 각각의 버스 컨트롤러에는 고유의 식별번호가 할당되어 있고, 특별한 번호, 예를 들어 0의 고유 식별번호가 할당되어 있는 버스 컨트롤러(10)는 데이터 버스에 연결된 노드들을 디스커버리(discovery)하는 동작을 주관함으로써, 그 디스커버리 결과에 따라 각 버스 컨트롤러 간에 자동적으로 버스 중재가 이루어지게 한다.
각 버스 컨트롤러는, 데이터 버스에서 각각의 노드가 되는, 특정의 기능을 수행하는 장치, 예를 들어, 차량의 경우 전자 제어장치( ECU: Electronic Control Unit )에 버스 인터페이스 기기로서 부속된다.
디스커버리를 위한 동작을 주관하는, 고유 식별번호 0의 버스 컨트롤러(10)( 특별히, '마스터 컨트롤러'라 칭한다. )는, 노드 디스커버리 사이클(cycle)을 수행하는 링크 컨트롤러(11)와 트랜시버(transceiver)(12)를 포함하여 구성되며, 상기 마스터 컨트롤러(10)에 의해 클럭에 동기되어 버스 상에 형성되는 디스커버리 사이클에 수동적으로 참여하는 다른 버스 컨트롤러(20i, i=1,2,..)( 이하, '슬레이브 컨트롤러'라 칭한다. )들도, 각기 상기 마스터 컨트롤러(10)와 물리적으로 동일한 구성을 갖는다.
각 슬레이브 컨트롤러(20i, i=1,2,..)의 링크 컨트롤러는, 버스의 디스커버리에 참여하고 그 디스커버리의 사이클이 종료되면 그 디스커버리의 결과에 따라 자신에게 할당되는 데이터 채널을 통해 데이터를 전송하게 되며, 각 버스 컨트롤러의 트랜시버는 링크 컨트롤러가 전송하는 데이터를 버스에서 요구하는 물리적 신호로 변환하여 송신하고, 버스에 실리는 신호를 검출하여 데이터로 변환하여 링크 컨트롤러에 전달한다.
한편, 상기 마스터 컨트롤러(10)의 링크 컨트롤러(11)는, 버스에 대한 디스커버리 사이클을 능동적으로 수행하는 동작에 더하여, 슬레이브 컨트롤러의 링크 컨트롤러와 동일하게 디스커버리 참여와 자신에게 할당되는 데이터 채널의 사용 등의 동작을 수행한다.
도 2는, 본 발명의 일 실시예에 따라, 도 1의 시스템에서 이루어지는, 버스에 대한 디스커버리 사이클의 일 예를 도시한 것이다.
도 1의 시스템에 전원이 인가되면, 상기 마스터 컨트롤러(10)의 링크 컨트롤러(11)는, 디스커버리 사이클 시작을 알리는 시작 코드(21)를 상기 트랜시버(12)에 인가한다. 상기 트랜시버(12)는, 그 시작 코드를 구성하는 각 비트에 대해서 해당되는 신호로 변환하여 버스를 구동한다.
각 비트를 해당되는 신호로 구동하는 방식은 다양할 수 있지만, 본 명세서에서는 예시적으로 차동(differential) 신호로 구동하는 것을 전제한다. 물론, 본 발명은 이러한 차동 신호로의 구동에 국한되는 것은 아니며, 비트를 어떤 방식으로 신호 구동하든지 본 발명의 원리와 개념이 적용될 수 있다.
상기 구동부(12)는 비트 1( 또는 비트 0 )에 대해서는 버스를 구성하는 데이터 신호선 간에 지정된 크기의 전위차가 생기도록 신호를 인가하고( 전위차가 발생된 상태를, 본 명세서에서는 '도미넌트(dominent) 상태'라 하고, 그 전위차를 '도미넌트 레벨'이라 한다. ), 비트 0( 또는 비트 1 )에 대해서는 버스를 구동하지 않는다. 즉, 해당 비트의 구간에는 데이터 신호선에 전위차가 없는 상태가 된다. 본 명세서에서는 이때를 '리세시브(recessive) 상태'( 또는 '리세시브 레벨' )라 한다.
이러한 버스에 대한 구동 특성에 의해 도미넌트 상태와 리세시브 상태를 공존시키고자 하면, 즉 동시에 비트 1과 0을 버스에 싣고자 하면 이 충돌은 버스 상에 도미넌트 상태로 나타나게 된다. 본 명세서에서는 설명이나 도면 작성의 편리를 위해 도미넌트 상태로 구동되는 비트 값은 1로, 리세시브 상태를 야기하는 비트 값은 0으로 가정한다.
본 명세서에서는, 설명의 편의를 위해, 특정 비트 값에 대해서는 버스를 구동하지 않는 것( 리세시브 상태 )을 전제하지만, 본 발명은 이와 같은 방식의 비트 값 구동이 반드시 전제되어야 하는 것은 아니다, 즉, 비트 값 1과 0의 각각에 대해서 버스를 NRZ (Non Return to Zero) 방식으로 구동하는 실시예도 본 발명에 당연히 적용될 수 있다. 다만, 이와 같은 실시예의 경우에는, 서로 다른 비트 값으로써 버스가 동시에 구동되지 않게 한다. 예를 들어, 이하의 구체적인 실시예들의 설명에서, 모든 버스 컨트롤러들이 서로 다른 값을 버스 상에 동시에 표현할 수 있는 경우에 대해서, 특정 노드, 예를 들어 마스터 컨트롤러만이 버스 상에 특정 비트를 구동하는 것으로 그 설명은 대체되어 적용된다.
상기 링크 컨트롤러(11)가 전송하는 상기 시작 코드(21)는, 반드시, 도미넌트 상태로 구동되는 비트 값 1을 선두에 포함하고 있어야 한다. 물론, 비트 1과 0에 대해서 NRZ 방식으로 구동하는 실시예의 경우라면, 비트 1과 0에 해당하는 양 신호( (+V 과 0) 또는 (+V 과 -V) ) 중 어느 하나의 신호로 구동할 수도 있다. 이는, 이하에서 설명하는 다른 실시예들에서도 모두 동일하게 적용된다.
상기 시작 코드는, 특별한 조건( 예를 들어, 일정 시간 이상의 리세시브 상태의 지속 )이 전제될 때는, 하나의 비트 값으로써만 구성될 수도 있고, 도 3의 (b)에서와 같이, 선두의 비트 값 1 이외에 일정 길이의 고유의 비트 패턴(32)을 포함하여 구성될 수도 있다. 또한, 버스에 실리는 시작 코드의 감지와 그에 따른 동작을 행하는 시간을 보장하기 위해, 도 3의 (a)와 (c)에서와 같이 시작 코드가 가드(guard) 비트(31)를 후미에 포함할 수도 있다.
본 발명에 따른 다른 일 실시예에서는, 시작 코드가 도 3의 (c)에 예시된 바와 같이, 선두의 도미넌트 비트 값 외에 사이클의 유형을 지시하는 1 또는 2비트의 타입 정보(33)를 포함할 수도 있다. 디스커버리 사이클의 유형에 대해서는 이후의 다양한 실시예들의 설명에서 이해될 것이다.
상기 시작 코드가 어떠한 비트열로 구성되어도 그 비트열 포맷은, 해당 버스에 연결되어 있는 N개의 모든 버스 컨트롤러(10,20i, i=1,2,..,N-1)( 구체적으로는, 해당 버스 컨트롤러의 링크 컨트롤러 )에 기 약속되어 있게 된다. 물론, 이는 도 2에 예시된 다른 요소들( 종료 코드, 식별자 패턴, 응답(Ack) 필드 등 ), 그리고 이후에 설명되는 다양한 다른 코드나 필드들, 그리고 사이클에서의 그들의 순서도 마찬가지이다.
전원 인가 후 상기 링크 컨트롤러(11)가 시작 코드를 버스로 전송하기 전에는, 그 버스에 연결되어 있는 어떤 노드들, 즉 어떤 슬레이브 컨트롤러(20i, i=1,2,..,N-1)도 신호를 전송하지 않으므로, 버스는 리세시브 상태로 있게 되고, 상기 마스터 컨트롤러(10)의 링크 컨트롤러(11)에 의해 버스에 상기 시작 코드(21)가 실리면, 버스가 처음으로 리세시브 상태에서 도미넌트 상태로 전환되므로, 그 버스에 연결된 모든 버스 컨트롤러는 해당 트랜시버를 통해 그 상태의 전환을 감지하게 되고, 이로써, 연결된 노드들에 대한 디스커버리가 시작되었음을 인지한다.
디스커버리 사이클 시작을 인지하면, 각 버스 컨트롤러(10,20i, i=1,2,..,N-1)의 링크 컨트롤러( 이하에서는, '버스 컨트롤러'라고 통칭한다. 따라서, '버스 컨트롤러'라고 기재한 경우에도, 특별한 사정이 없는 한 이는 곧 버스 컨트롤러의 링크 컨트롤러를 지칭하는 것을 의도한 것이다. )는, 자신에게 할당되어 있는 식별번호를 버스에 실을 수 있는 자신의 순서가 올 때까지 대기한다.
버스에 식별번호를 실을 수 있는 순서는 식별번호에 따라 정해진다. 예를 들어, 0부터 시작하여 식별번호가 가질 수 있는 최대값까지 오름차순으로 정해진다. 본 명세서와 도면에서는, 예시적인 설명을 위해 식별번호의 크기를 5비트로 가정한다. 물론, 그보다 큰 비트 수의 식별번호의 경우에도 당연히 본 발명의 원리와 개념은 적용된다.
버스 상에 싣게 되는 식별번호에 대한 순서는, 당연히, 오름차순이 아니고 내림차순으로 정해질 수도 있고, 다르게는 임의적으로 번호가 지정된 순서일 수도 있다. 버스에 연결되는 각 노드에, 식별번호의 순서에 대한 방식이 미리 설정되는 한, 어떤 순서의 방식이어도 본 발명에 적용하여 이하에서 오름차순을 예로 하여 설명하는 다양한 실시예들과 동일한 결과를 얻을 수 있다.
식별번호의 순서에 대한 오름차순의 가정에 따라 노드에 부여할 수 있는 가능 식별번호는 0부터 31까지이며, 도면에서는 그 가능 식별번호들 중 임의의 식별번호들이 버스 컨트롤러들에 각기 할당되어 있다. 도 2에 예시된 디스커버리 사이클을 주관하는 상기 마스터 컨트롤러(10)는 식별번호 중에서 순서가 가장 앞서는 식별번호가 할당된다.
식별번호 0이 할당된 상기 마스터 컨트롤러(10)는, 상기 시작 코드(21)를 버스로 송신하고, 그 시작 코드가 끝나는 시점에 시작되는 식별자 패턴을 실을 수 있는 비트 구간인 식별자 패턴 슬롯에 자신의 식별번호를 포함하는 식별자 패턴(22)을 버스로 송신한다. 이 식별자 패턴도, 도 4에 예시된 바와 같이, 도미넌트 상태로 구동되는 비트 값 1(41)을 선두에 포함하고 있다. 또한, 식별번호를 수신한 각 버스 컨트롤러가 그 오류 여부를 확인할 수 있는 시간을 보장하기 위헤 가드 비트(42)가 식별자 패턴에 포함되며, 실시예에 따라서는, 식별번호에 대한 에러 검증을 위한 패리티 비트(43)가 포함될 수도 있다.
상기 식별자 패턴(22)은 버스를 통해 모든 버스 컨트롤러에 의해 수신되고, 각 버스 컨트롤러는 그 수신된 식별자 패턴이 오류없이 수신되었는 지를 검증한다. 검증하는 방법으로는, 그 식별자 패턴에서의 식별번호가 디스커버리 사이클에서 현재 순서에 수신되어야 하는 값인 지를 확인하는 것일 수도 있고, 다르게는, 식별자 패턴의 패리티를 확인하는 것일 수 있다.
각 버스 컨트롤러는, 이러한 검증 후 오류가 없으면, 식별자 패턴이 종료된 시점( 즉, 가드 비트(42) 직후 )에 이어지는 응답 필드(23)에 긍정응답을 나타내는 비트를 버스로 전송한다. 이 긍정응답 비트는, 해당 버스 컨트롤러의 트랜시버에 의해 버스 상에 리세시브 상태로 구동되는 값( 앞서 이 값을 0으로 가정하였다. )이다.
만약, 버스에 연결된 버스 컨트롤러들 중에서, 수신한 식별자 패턴에 오류가 있는 것으로 확인한 버스 컨트롤러가 있다면, 그 버스 컨트롤러는 응답 필드(23)에 부정응답(Negative Acknowledgment) 비트를 송신한다. 이 부정응답 비트는 버스 상에서 도미넌트 상태로 구동되는 값이다.
그리고, 응답 필드는, 각 버스 컨트롤러가 응답 필드에 실리는 긍정 또는 부정응답의 신호을 확인하고 그 응답에 따른 동작을 처리하기 위한 여유 시간이 확보될 수 있도록, 예를 들어 1비트에 해당하는 가드 비트를 포함할 수 있다.
버스에 실린 식별자 패턴에 대한 위와 같은 응답에 따라, 버스에 연결된 어느 하나의 노드, 즉 버스 컨트롤러라도 식별번호 0을 정상적으로 수신하지 않았으면, 버스 상의 응답 필드(23)에는 도미넌트 상태의 부정응답이 나타나게 된다.
버스에 실린 식별번호 0을 모두 정상적으로 수신함으로써 응답 필드(23)가 리세시브 상태이면, 모든 버스 컨트롤러들은, 식별번호 0의 버스 컨트롤러가 버스에 연결되어 있음을 인지하고, 식별번호 상 다음 순서인 식별번호 1인 버스 컨트롤러(201)는 그 응답 필드 직후에 이이어지는 식별자 패턴 슬롯에 자신의 식별번호로 구성된 식별자 패턴을 버스로 송신하게 되고, 이에 대한 모든 버스 컨트롤러들의 그 식별번호의 수신과 그에 따른 응답 및 연결된 노드의 인지 등은 전술한 바와 같이 이루어진다.
본 발명에 따른 다른 일 실시예에서는, 식별번호 0을 위한 식별자 패턴 슬롯(22)에 대해서는 응답 필드(23)가 할당되지 않을 수도 있다. 본 실시예는, 버스에 연결된 모든 노드들이 식별번호 0의 버스 컨트롤러는 반드시 버스에 연결되는 것을 전제한다. 따라서, 본 실시예에서는, 디스커버리 사이클이 시작되었을 때 첫번째로 수신되는 식별번호에 오류가 있더라도 이를 식별번호 0으로 간주할 수도 있다.
한편, 식별번호 1의 버스 컨트롤러(201)가 두번째 식별자 패턴 슬롯에서 송신한 식별번호 1의 식별자 패턴에 대해, 하나 이상의 버스 컨트롤러가 정상적으로 수신하지 못함으로써 부정응답(NACK) 비트를 버스로 송신하게 되면, 그 식별자 패턴 직후의 응답 필드에는 부정응답 신호가 실리게 된다.
이와 같은 경우가 발생하면, 버스에 연결된 모든 버스 컨트롤러들은, 해당 순서의 버스 컨트롤러의 디스커버리가 실패한 것으로 판단하고 디스커버리 시퀀스가 다음 순서로 진행되지 않은 것으로 인지한다. 즉, 디스커버리 사이클에서의 현재 순서는 여전히 식별번호 1에 대한 것으로 인지한다.
따라서, 도 5에 예시된 바와 같이, 해당 식별번호, 즉 식별번호 1의 식별자 패턴을 송신한 버스 컨트롤러(201)는, 부정응답 신호가 실린 응답 필드(50) 직후의 슬롯에, 자신의 식별번호를 포함하는 식별자 패턴(51)을 재송신한다. 그리고, 이 재송신에 대해서도 각 버스 컨트롤러는 앞서와 같은 방식으로 수신 응답하게 된다.
만약, 이 재송신에 대해서 모든 버스 컨트롤러들이 정상적으로 수신하여 해당 응답 필드(52)에 부정응답이 나타나지 않으면, 각 버스 컨트롤러는 그 재송신된 식별번호의 버스 컨트롤러가 버스에 연결되어 있는 것으로 인지하고, 식별번호 상 다음 순서인 버스 컨트롤러(202)가 그 응답 필드(52) 직후의 식별자 패턴 슬롯에 자신의 식별번호로 구성된 식별자 패턴을 송신하게 된다.
하나의 식별번호에 대한 재송신에도 불구하고 부정응답 신호가 지정된 횟수 이상 반복되면, 상기 마스터 컨트롤러(10)는 버스 상에 종료 코드를 송신함으로써 버스 사이클을 종료한다. 이 종료 코드는 식별자 패턴에서 나타날 수 없는 특별한 비트 패턴( 예를 들어, "1111 1111 10" )일 수 있다.
물론, 이와 같은 상황이 발생하면, 상기 마스터 컨트롤러(10)는 버스 상의 이상을 알리는 경보 동작( 예를 들어, 비프음 발생, LED 점등 등 )을 행할 수 있다.
본 발명에 따른 다른 일 실시예에서는, 버스에 실린 식별자 패턴에 대해서 부정응답이 발생하였을 때, 해당 버스 컨트롤러가 식별자 패턴을 바로 재송신하지 않고 부정응답이 발생한 식별번호의 다음 식별번호의 순서로 디스커버리 시퀀스가 진행된다. 도 6는 본 실시예에 따른 디스커버리 사이클을 예시적으로 나타낸 것이다.
도 6의 실시예에서는, 자신의 식별번호 송신에 대해서 부정응답이 발생한 버스 컨트롤러들이 다시 디스커버리 과정에 참여할 수 있게 하는 리디스커버리(rediscovery) 사이클(61)이 초기 디스커버리(60)의 종료 코드에 연이어서 시작된다. 실시예에 따라서는, 종료 코드없이 리디스커버리 사이클의 시작 코드가 이어질 수도 있다. 이와 같은 이중의 디스커버리를 위해 각 사이클의 시작을 알리는 시작 코드는, 앞서 언급한 바와 같이 서로 다른 사이클 타입을 나타내는 비트 값(33)을 포함한다.
도 6에 예시된 실시예에서는, 응답 필드에 부정응답(601)이 발생한 식별번호 1의 버스 컨트롤러(201)( 또한, 그와 동일하게 초기 디스커버리(60)에서 자신의 식별번호에 대해 부정응답이 나타난 다른 버스 컨트롤러 )는 지금의 디스커버리 사이클(60) 동안에는, 그 사이클(60)에서 버스에 실리는 식별자 패턴들에 대해서 정상 수신여부에 따른 응답을 하고 긍정응답이 응답 필드에 나타나는 식별번호들에 대해서는 연결된 노드로 인지하면서 현재의 초기 사이클(60)이 종료될 때까지 기다린다.
그리고, 본 실시예에서는, 응답 필드에 부정응답(601)이 나타난 경우에도, 디스커버리 상의 순서는 다음 식별번호로 진행된다. 즉, 식별번호 2의 버스 컨트롤러(202)가 해당 응답 필드(601) 직후의 슬롯에 자신의 식별번호를 포함하는 식별자 패턴(602)을 송신한다. 이와 같은 방식으로 디스커버리에 참여할 수 있는 모든 식별번호( 본 명세서에서의 예에서는 31 )까지 진행되면, 상기 마스터 컨틀롤러(10)는 버스에 종료 코드를 송신하고( 또는 종료 코드없이 ) 바로 리디스커버리 사이클(61)의 시작을 알리는 시작 코드를 송신한다. 초기 디스커버리 사이클(60)의 완료까지에서 추가적으로 설명할 부분은, 도 2를 참조하여 이후에 이루어진다.
도 6의 실시예에 따라, 리디스커버리 사이클(61)에 시작되었음을 감지한 모든 버스 컨트롤러들 중, 앞서 긍정응답을 수신한 버스 컨트롤러들은 그 사이클(61)에 참여하지 않고 부정응답을 수신한 버스 컨트롤러들만 참여한다.
리디스커버리 사이클(61)도 앞서 설명한 초기 디스커버리 사이클(60)과 동일한 방식으로 디스커버리 순서가 정해진다. 따라서, 리디스커버리 사이클(61)에 첫번째로 식별번호를 송신할 버스 컨트롤러는 식별번호 0인 마스터 컨트롤러(10)가 된다. 하지만, 이 마스터 컨트롤러(10)는 앞서의 설명에 따라 긍정응답을 수신하였기 때문에 사이클 상의 자신의 순서에서 아무런 신호를 송신하지 않는다. 다르게는, 리세시브 상태가 되는 비트를, 즉 비트 0을 송신할 수도 있다.
식별자 패턴이 실려야 하는 슬롯의 시점에 어떤 버스 컨트롤러에 의해서도 버스가 구동되지 않아서 또는 리세시브 상태가 되게 하는 비트값이 송신됨으로써 버스에 나타나는 상태의 신호를 본 명세서에서는 '닐(nil) 신호'라 한다. 즉, 닐 신호는 리세시브 상태에 의한 신호이다. 그리고, 닐 신호를 위한 비트 구간은 1비트 또는 2비트( 가드 비트 포함 )에 해당할 수 있다.
상기 리디스커버리 사이클(61)의 시작 코드 직후에 도미넌트 레벨이 나타나지 않고 닐 신호(611)가 나타나면, 버스에 연결된 모든 버스 컨트롤러들은, 그 닐 신호(611) 직후를 식별번호 상 다음 순서의 버스 컨트롤러가 식별번호를 송신하게 되는 슬롯이라고 인지한다.
다음 순서의 식별번호 1의 버스 컨트롤러는, 앞선 초기 디스커버리 사이클(60)에서 자신이 송신한 식별자 패턴에 대해서 부정응답을 수신한 것으로 가정하였으므로, 상기 닐 신호(611) 직후에 자신의 식별번호를 포함하는 식별자 패턴(612)을 버스로 송신한다. 이 식별자 패턴의 송신과 그에 대한 응답 유형에 따른 처리는 초기 디스커버리 사이클에서 설명한 바와 동일하다.
이러한 방식으로, 초기 디스커버리 사이클(60)에서 부정응답을 수신한 버스 컨트롤러들은 리디스커버리 사이클에 참여함으로써 최종적으로 타 노드들에 자신이 발견되게 한다.
만약, 리디스커버리 사이클(61)에서도 식별자 패턴 슬롯에 대해 부정응답이 발생하면, 상기 마스터 컨트롤러(10)는, 리디스커버리 사이클의 종료 후에 데이터 사이클로 진행하지 않고, 앞서 언급한 바와 같이, 경보 동작을 수행할 수 있다.
본 발명에 따른 다른 일 실시예에서는, 제한된 리디스커버리 사이클의 횟수내에서 각 사이클에서 부정응답이 발생하지 않을 때까지 반복하고, 그 제한된 횟수를 초과하게 되면 최종적으로 디스커버리의 실패로 간주하고 경보 동작을 수행할 수도 있다.
상기 리디스커버리 사이클(61)에서 하나 이상의 식별자 패턴에 대해서 모두 긍정응답이 있는 채로 그 사이클이 종료되면, 그 버스의 디스커버리에 참여했던 N개의 모든 버스 컨트롤러들(10,20i, i=1,2,..,N-1)은, 그 초기 디스커버리 사이클(60)과 리디스커버리 사이클(61)에서 각기 버스에 실렸던 식별번호들( 즉, 그 식별번호의 노드들 )이 버스에 연결되어 있는 것으로 인지하고, 그에 따라 이후의 데이터 사이클에서 자신을 포함한 버스 컨트롤러들에 대해 어떻게 데이터 채널이 할당되는지를 파악한다. 데이터 사이클에서 각 버스 컨트롤러가 독점적으로 버스를 사용할 수 있는 데이터 채널이 할당되는 방식에 대해서는 이후에 구체적으로 설명한다.
한편, 식별번호 1의 식별자 패턴이 모든 버스 컨트롤러들에 의해 정상적으로 수신되면, 도 2에 예시된 바와 같이, 다음 순서의 식별번호 2인 버스 컨트롤러(202)가 자신의 식별번호에 의한 식별자 패턴을 버스로 송신하고, 그에 대해 응답 필드에 긍정응답 신호가 나타나면, 다음 순서는 식별번호 3인 버스 컨트롤러가 된다.
그런데, 도시된 예에서 식별번호 2의 다음 순서이면서 가장 빠른 순서의 식별번호는 13이다. 따라서, 앞서 설명하였던 바와 같이, 식별번호 2의 식별자 패턴에 대한 응답 필드(24) 직후의 닐 신호(25)를 시작으로 식별자 패턴 슬롯은 계속하여 닐 신호로 대체되어 버스에 실리게 된다.
본 발명에 따른 일 실시예에서는, 닐 신호가 일정 수 이상이 계속되면, 상기 마스터 컨트롤러(10)는 버스 상에 비콘 코드(26)를 송신할 수도 있다. 이 비콘 코드(26)는, 그 선두가 도미넌트 레벨로 구동되는 비트 값, 즉 1의 값으로 시작하되, 사이클 시작 코드와 구분될 수 있으면서 동시에 어떤 식별자 패턴과도 구분될 수 있는 비트열을 포함할 수 있다. 비콘 코드의 식별자 패턴과의 구분을 위해, 식별자 패턴은, 도 4의 실시예와는 달리 식별번호 부분의 앞에 이들 간의 구분을 위한 비트 또는 비트열이 추가될 수도 있다. 도 7은, 이러한 실시예에 따라, 시작 코드, 식별자 패턴, 그리고 비콘 코드가 상호 구분되는 헤더 비트열(71,72,73)을 포함하고 있는 하나의 예를 도시한 것이다.
비콘 코드를 부가하는 이유는, 참여할 버스 컨트롤러들이 없는 식별번호들의 순서 구간에도 현재 유효한 디스커버리 사이클이 진행되고 있음을 버스 상의 노드들에 알리고 이를 통해 버스 컨트롤러들의 오인식이나 오판단을 방지하며, 각 컨트롤러의 클럭에 대한 동기를 유지시키기 위함이다.
본 발명에 따른 다른 실시예에서는 비콘 코드의 삽입없이, 다음 식별자 패턴이 버스에 실릴 때까지 닐 신호가 지속되게 할 수도 있다.
전술한 실시예에서와 같이, 디스커버리 사이클을 진행 함에 있어서, 버스 컨트롤러의 식별자 패턴이 삽입될 슬롯에 해당 식별번호의 버스 컨트롤러가 없으면 그 식별자 패턴보다 훨씬 짧은 구간을 차지하는 닐 신호로써 해당 패턴 슬롯이 대체됨으로써, 버스에 연결된 노드들의 수에 따라서는 디스커버리 사이클에 소요되는 시간이 매우 짧아지게 된다. 즉, 버스의 노드 디스커버리가 매우 신속하게 이루어지게 된다.
에를 들어, 식별번호가 5비트로 구성되고, 이로 인해 식별자 패턴은 9비트로 구성되며, 응답 필드와 닐 신호는 2비트에 대응된다고 가정하면, 버스에 10개의 노드가 연결되어 있을 때, 디스커버리 사이클은, 전체 32개의 노드가 연결되어 있을 때에 비해서, 사이클의 소요시간이 대략 56% [ = {10x(9+2) + 22x2}/{32x(9+2)} ]정도 짧아진다.
일정 수의 닐 신호가 연속될 때 비콘 코드를 삽입하는 실시예에서는 디스커버리 사이클의 신속성이 이보다는 줄어들게 된다.
전술한 바와 같은 방식으로 버스에 연결될 수 있는 모든 식별번호( 본 명세서에서의 예에서는 31 )까지의 디스커버리가 진행되면, 상기 마스터 컨트롤러(10)는 버스에 종료 코드(27)를 송신하고 바로 데이터 사이클이 버스 상에 형성되도록 한다.
본 발명에 따른 다른 일 실시예에서는, 디스커버리 사이클의 마지막에 종료 코드를 송신하지 않고, 데이터 사이클이 시작됨을 알리는 비트 패턴을 갖는 '사이클 마크'를 바로 송신할 수도 있다.
도 8은, 본 발명의 일 실시예에 따라 이루어지는 데이터 사이클을, 앞서 가정한 버스 컨트롤러들의 버스 연결 환경에 대해 예시적으로 나타낸 것이다. 도시된 바와 같이, 앞서 노드 디스커버리 사이클에서 발견된 노드들이 각기 독점적으로 버스를 사용할 수 있는 데이터 채널들이 데이터 사이클에, 기 정해진 순서 방식( 예를 들어, 오름차순, 내림차순 또는 임의의 번호 지정 방식 )에 따라 순차적으로 할당되며( 도 8은, 오름차순의 순서 방식에 따른 예시이다. ), 이러한 할당 사실은, 앞서 디스커버리 과정에 참여한 모든 버스 컨트롤러들이, 버스에 실린 식별번호와 그에 대한 긍정응답을 감지함에 의해 공통적으로 인식한다.
따라서, 도 1의 버스 시스템에 연결된 N개의 노드들, 즉 버스 컨트롤러들은 자신의 식별번호, 그리고 발견된 모든 식별번호들 및 그 식별번호들과 자신의 번호와의 관계를 통해, 데이터 사이클에는 총 몇 개( 도시된 예에서 N개 )의 데이터 채널이 할당되고, 그 중 자신에게는 몇번째의 데이터 채널이 할당된 것인 지를 알게 된다.
데이터 사이클에서 한 개의 데이터 채널은 몇 비트인 지가 각 버스 컨트롤러에는 기 지정되어 있고, 그 사이클에서 몇번째가 자신에게 할당된 데이터 채널인 지 파악했으므로, 사이클 마크(81)로써 데이터 사이클이 시작되면, 각 버스 컨트롤러는 비트 카운트를 통해 자신이 사용할 수 있는 데이터 채널이 되었을 때 버스로 데이터를 송신하게 된다.
예를 들어, 식별번호 13의 버스 컨트롤러(203)는 연결된 N개의 노드들 중에서 자신의 식별번호가 4번째인 것을 인지하였으므로, 데이터 사이클이 시작되면, 사이클 마크부터 3*BLCH ( BLCH: 데이터 채널에 할당된 비트 수 )의 비트 수에 해당하는 지점(BpCf13) 직후부터 BLCH 만큼의 비트들을 송신할 수가 있다.
그리고, 데이터 사이클의 시작 시점부터, 정해진 포맷에 따른 하나의 데이터 사이클의 비트 수( 도시된 예에서, BLSM + N*BLCH, BLSM은 사이클 마크 패턴의 비트 수, N은 디스커버리 사이클에서 발견된 노드들의 총 수 )만큼 경과하면, 상기 마스터 컨트롤러(10)는 정해진 비트 패턴의 사이클 마크(82)를 버스에 송신하여 새로운 데이터 사이클이 시작됨을 연결된 노드들에 알리게 된다.
도 8의 실시예에서는, 각 버스 사이클이 사이클 마크(81)로만 구분되었지만, 이와는 다르게, 각 버스 사이클은 그 전후로 시작 마크와 종료 마크가 삽입되는 포맷으로 구성될 수도 있다.
전술한 실시예에서와 같이 노드들의 버스 사용 권한을 동적으로 할당함으로써, 버스상에서의 충돌없이 데이터를 송신할 수 있음과 동시에, 시간적 손실없이 버스에 연결된 노드들의 수에 맞게 최대한 버스를 사용할 수 있게 한다.
한편, 장치에 전원이 인가되었을 때 버스에 연결된 모든 노드들에 동시에 전원이 인가되지만, 각 부품이나 기기 등의 초기 동작에 수반되는 시간의 차이로 인해 일부 노드의 경우에는, 그 노드의 버스 컨트롤러가, 상기 마스터 컨트롤러(10)의 디스커버리 사이클의 시작에도 불구하고, 그 시작 코드를 감지하지 못하고 디스커버리 사이클이 진행되고 이는 도중에 디스커버리에 참여할 수 있는 상태가 될 수도 있다. 이런 상태가 발생하면, 이 노드는 전원 차단 후 재인가되어야만 그때 수행되는 디스커버리 사이클에 참여할 수 있게 된다. 하지만, 이때도 초기 지연이 발생하지 않는다는 보장이 없으므로 디스커버리에 정상적으로 응답할 수 있을 지가 보장되지 않는다. 또한, 초기 지연이 일시적인 것이어서 다음에 전원이 재인가될 때는 정상적으로 발견된다 하더라도, 전원이 재인가될 때까지, 그 노드가 제공할 수 있는 정보는 타 노드들에 공유되지 못하므로 장치의 기능에 부분적으로 장애를 일으키거나 제공할 정보가 충실하지 못한 상태가 지속될 수도 있다.
본 발명에 따른 일 실시예에서는, 이러한 잠재적 문제의 발생을 제거하기 위해 데이터 사이클에도 참여 채널이 확보된다. 도 9는 본 실시예에 따라 이루어지는 데이터 사이클을 예시적으로 나타낸 것이다.
도 9에 따른 실시예에서는, 디스커버리 사이클에서 발견된 모든 버스 컨트롤러들에 대해 각기 할당되는 데이터 채널들에 앞서서 참여 채널(90)이 데이터 사이클에 더 할당된다. 이 참여 채널(90)은, 버스 컨트롤러의 식별번호가 삽입될 수 있는 지연참여 필드와 응답 필드로 구성된다.
노드 디스커버리 사이클이 종료되고 도 9에 예시된 데이터 사이클이 시작되면서, 각 버스 컨트롤러가 자신에게 할당된 데이터 채널을 사용하여 데이터를 송신하고 있을 때, 디스커버리 사이클에 참여하지 못했던 버스 컨트롤러는, 데이터 사이클이 시작되면, 사이클 마크가 종료되는 시점에 시작되는 할당된 참여 채널(90)에 자신의 식별번호를 포함하는 식별자 패턴을 버스로 송신한다. 물론, 이미 발견된 버스 컨트롤러들은 기 지정된 참여 채널(90)이 끝나는 시점부터 시작되는 데이터 채널들에서 자신의 데이터 채널이 되었을 때 데이터를 버스로 송신하게 된다.
본 발명에 따른 일 실시예에서는, 데이터 사이클의 각 데이터 채널에는 해당 채널을 할당받은 버스 컨트롤러가 자신의 식별번호를 송신할 수 있는 채널ID 필드(94)가 포함된다. 이 채널ID 필드(94)에의 식별번호 송신은, 타 버스 컨트롤러에 송신할 데이터가 있는 지의 여부와 무관하게 이루어진다. 본 실시예에서는, 디스커버리 사이클에 참여하지 못했던 버스 컨트롤러가, 버스에 실리는 한번의 데이터 사이클에 해당하는 신호를 기 정해진 포맷에 따라 채널ID 필드를 특정하여 해석하게 되면, 현재 버스에 어떤 식별번호의 노드들이 디스커버리되어 데이터 채널을 할당받았는 지를 파악할 수 있게 된다. 따라서, 본 실시예에서는, 디스커버리 사이클에 참여하지 못했던 버스 컨트롤러는 적어도 1회의 데이터 사이클이 진행된 후에, 참여 채널에 자신의 식별번호를 포함하는 식별자 패턴을 송신한다.
상기 참여 채널(90)의 지연참여 필드에 식별자 패턴이 실리게 되면, 버스 상의 모든 버스 컨트롤러들은 디스커버리 사이클에서와 마찬가지로 그 패턴의 비트들을 확인하여 성공적으로 수신되었으면 긍정응답을, 그렇지 않고 오류가 있으면 응답 필드에 부정응답 비트를 송신한다.
한편, 노드 디스커버리 사이클에 참여하지 못한 노드가 복수개일 수도 있다. 이런 경우에는 상기 지연참여 필드에 대해 복수의 버스 컨트롤러들이 동시에 자신의 식별번호를 포함하는 식별자 패턴을 송신하게 된다. 이렇게 되면, 그 복수의 버스 컨트롤러들 모두 또는 하나의 버스 컨트롤러를 제외한 나머지 컨트롤러는, 자신이 송신한 식별자 패턴과 버스에서 검출되는 식별자 패턴이 달라지게 된다. 상기 지연참여 필드에서 식별자 패턴을 송신한 버스 컨트롤러는, 그 지연참여 필드에서 검출한 식별번호에 오류가 없더라도, 자신이 송신한 식별번호와 상이하면 그 직후의 응답 필드에 부정응답 비트를 송신한다.
따라서, 상기 참여 채널(90)을 통해 타 노드들에 통보하는 식별번호가 정상적으로 전달되지 않는 경우는 물론이고, 복수의 노드들이 동시에 자신의 식별번호를 통보함으로써 충돌이 생기는 경우에도 응답 필드에는 부정응답 신호가 나타나게 된다.
응답 필드에 부정응답 신호가 감지되면, 데이터 사이클을 주관하는 상기 마스터 컨트롤러(10)는, 데이터 사이클을 진행하지 않고, 전원 인가 시에 수행하는 초기 디스커버리 사이클(93)을 진행하게 된다. 즉, 현재의 데이터 사이클이 끝나는 시점에 디스커버리 사이클의 시작 코드(93a)를 송신하게 된다. 물론, 이 시작 코드(93a)는, 데이터 사이클의 시작을 알리는 사이클 마크와는 구별될 수 있는 비트 패턴을 가지고 있다.
따라서, 버스에 연결된 모든 노드들은, 그 시작 코드(93a)의 감지에 따라 데이터 송수신을 중단하고, 전술하였던 바와 같이 진행되는 디스커버리 사이클에 참여하게 된다. 디스커버리 사이클이 처음부터 다시 시작되면, 참여 필드를 통해 성공적으로 식별번호를 통보하지 못했던 버스 컨트롤러, 또는 서로 충돌한 복수의 버스 컨트롤러들은 그 사이클에 참여하여 타 노드들에 자신을 등록시키고 그에 따라 데이터 채널의 재할당이 이루어지게 한다.
만약, 단일의 버스 컨트롤러가 참여 채널을 통해 자신의 식별번호를 통보하고 타 노드들이 모두 성공적으로 수신함으로써 응답 필드에 긍정응답 신호가 나타나면, 현재의 데이터 사이클 이후에 이어지는 새로운 데이터 사이클(92)에서는 데이터 채널 할당이 달라지게 된다.
즉, 새로이 시작되는 데이터 사이클(92)은, 도 10에 예시된 바와 같이, 버스에 연결된 모든 노드들에 의해, 지연참여 필드를 통해 통보한 식별번호의 데이터 채널이 추가적으로 할당된 것으로 인식되는 사이클이다. 예를 들어, 식별번호가 2보다 크고 13보다 작은 식별번호 nn이 할당된 노드가 지연참여 필드를 통해 자신의 식별번호를 성공적으로 통보(91)한 경우라면, 모든 버스 컨트롤러들은 식별번호 2를 위한 데이터 채널과 식별번호 13을 위한 데이터 채널 사이에 식별번호 nn을 위한 데이터 채널(1001)이 추가적으로 할당된 것으로 인식하게 되고, 상기 마스터 컨트롤러(10)는 그에 따라 하나 많아진 데이터 채널들의 전 구간이 끝나는 시점에 사이클 마크를 버스로 송신하여 새로운 데이터 사이클이 시작됨을 타 노드들에 알리게 된다.
한편, 지연참여 필드를 통해 식별번호를 통보하는, 지연 참여하는 버스 컨트롤러는, 앞서 설명한 실시예에서와 같이 1회 이상의 데이터 사이클이 진행된 이후에 참여 채널을 통한 보완적 디스커버리에 참여하게 되면, 그 때는 이미, 현재 버스에 연결되어 디스커버리된 노드들의 각 식별번호를 파악한 상태이므로, 기 정해진 방식의 식별번호 순서에 기반할 때 자신의 식별번호가 몇번째인 지를 알고 있는 상태이다. 따라서, 참여 채널을 통해 성공적으로 지연 참여하는 버스 컨트롤러는, 데이터 채널이 추가적으로 할당된 데이터 사이클(92)에서 몇번째 데이터 채널이 자신에게 할당된 것인 지를 알 수 있다.
본 발명에 따른 다른 일 실시예에서는, 참여 채널이 데이터 사이클의 후미에 할당될 수도 있다. 본 실시예에서는, 디스커버리 사이클에 참여하지 못한 버스 컨트롤러는 버스에서 발견된 노드들의 수를 알지 못하므로 데이터 사이클 상에서 어디부터 참여 채널이 시작되는 지를 알 수 없다. 따라서, 본 실시예에서는, 참여 채널이 시작되는 것을 알리는 비트 패턴의 채널 헤더가 참여 채널에 포함될 수 있다. 물론, 이 채널 헤더는 상기 마스터 컨트롤러(10)에 의해 삽입된다.
다르게는, 도 11에 예시된 바와 같이, 데이터 사이클은 사이클 마크 직후에 일정 비트 수의 채널 수 필드(1101)가 포함될 수 있다. 이 필드에는, 상기 마스터 컨트롤러(10)에 의해, 현재 버스에서 발견된 노드들의 수( 곧, 데이터 사이클에 확보된 데이터 채널의 수 )를 나타내는 값이 실리게 된다. 따라서, 디스커버리 사이클에 참여하지 못한 버스 컨트롤러는 데이터 사이클에서 시작 지점에 있는 채널 수 필드(1101)의 값을 읽어서 데이터 채널들이 어디서 종료되는 지를 알 수 있고, 그 종료된 지점부터 시작되는 참여 채널을 통해, 전술한 바와 같은 방식으로 자신의 식별번호를 통보할 수가 있다.
본 발명에 따른 일 실시예에서는, 지연참여를 위해 데이터 사이클에 확보되는 참여 채널에 대해서 그 비트 길이가 적응적으로 조절되게 함으로써, 참여 채널을 고정시킬 때 그로 인해 데이터 사이클에서 지속되는 시간적 손실을 최대한 억제할 수 있다.
도 12는 본 실시예에 따라 참여 채널의 비트 길이가 가변적으로 운용되는 것을 예시한 것이다. 본 실시예에서는, 전술한 바와 같이, 식별번호를 포함하는 식별자 패턴은 반드시 그 선두에 도미넌트 레벨이 되는 비트 값, 즉 1을 포함하여 구성된다. 따라서, 디스커버리에 참여하지 못한 버스 컨트롤러가 참여 채널에 식별자 패턴을 송신하게 되면, 그 참여 채널의 선두 비트( '참여 플래그'라 칭한다. )의 도미넌트 레벨은 모든 노드들에 의해 감지되고, 이에 따라 현재의 참여 채널은 유형 1로서 정해진 포맷의 비트 길이(1201)를 갖는 것으로 인식된다. 그에 따라 각 버스 컨트롤러는 그 정해진 비트 수(1201)가 경과한 후 다음 시퀀스가 진행되는 것으로 인식하고 그에 따른 동작을 수행한다. 즉, 데이터 전송을 위한 데이터 채널이 시작되는 것으로 인식하거나( 도 9의 실시예 ) 또는 다음 데이터 사이클이 시작되는 것으로 인식하고( 도 11의 실시예 ) 그에 맞는 동작을 수행하게 된다.
만약, 데이터 사이클에서 새로이 참여해야 할 버스 컨트롤러가 전혀 없다면, 참여 플래그는 리세시브 상태를 유지하게 되고, 이 상태를 감지하는 모든 노드들은, 새로이 참여하는 버스 컨트롤러가 없다고 판단하고, 유형 2의 참여 채널의 비트 길이(1202)( 예를 들어, 도시된 바와 같이 참여 플래그와 1 비트의 가드 비트로써 구성된 총 2비트 ) 후부터 다음 시퀀스가 진행되는 것으로 인식하고 그에 맞는 동작을 수행하게 된다.
도 12에 예시된 실시예에서는, 발생 가능성이 낮거나 발생하더라도 빈도 수가 낮은 지연참여를 대비하여 데이터 사이클에 고정된 비트 구간을 확보하는 것에 비해 버스의 사용효율을 향상시키게 된다.
본 발명에 따른 또 다른 실시예에서는, 참여 채널을 가변적으로 운용하지 않고, 디스커버리 사이클에 참여하지 못한 노드가 있을 때 초기의 디스커버리가 다시 진행되게 할 수도 있다. 본 실시예에서는, 도 13에 예시된 바와 같이, 데이터 사이클에, 1 또는 2비트의 디스커버리 요청 필드(1301)가 포함된다. 본 실시예에서는, 디스커버리 사이클에 참여하지 못한 노드는, 데이터 사이클이 진행될 때 상기 디스커버리 요청 필드(1301)에 도미넌트 상태가 되게 하는 비트를 송신하게 되고, 상기 마스터 컨트롤러(10)는 해당 필드(1301)에서 도미넌트 레벨이 감지되면, 데이터 사이클이 종료되었을 때 노드 디스커버리 사이클을 처음부터 다시 진행함으로써, 전술한 바와 같이, 타 노드들에 자신을 등록시킴과 동시에 데이터 사이클의 데이터 채널이 재할당되게 한다.
지금까지는, 노드 디스커버리 사이클에서 각 노드는 자신에게 할당된 식별번호를 사이클 상의 해당 식별자 패턴 슬롯에 송신하는 것을 전제로 하는 다양한 실시예들을 설명하였다.
본 발명에 따른 일 실시예에서는, 식별번호가 아닌, 2가지 상태만을 구분하는 On/Off 비트로써 노드를 디스커버리할 수도 있다. 본 실시예는 식별번호를 송신하는 전술한 실시예들에 비해 보다 더 신속하게 노드 디스커버리가 완료될 수 있다. 도 14는, 본 실시예에 따른 노드 디스커버리 사이클을 예시한 것으로서, 도 2에 예시된 디스커버리 사이클이 나타나는 노드들의 버스 연결 상황과 동일한 상황을 전제한 것이다.
도 14의 실시예에서는, 노드 디스커버리 사이클이, 시작 코드와, 노드에 부여할 수 있는 가능 식별번호들의 수만큼의, 즉 식별번호가 5비트로 구성되는 경우 32개의 노드 트리거 필드들로써 구성된다. 노트 트리거 필드는, 해당 순서의 노드의 존재 여부를 알리기 위한 필드로서, 1비트 또는 신호의 오검출을 방지하기 위한 가드 비트를 포함하여 2비트의 크기를 가질 수 있다.
도 14의 실시예에서는, 각 버스 컨트롤러는, 디스커버리 사이클이 시작되면, 식별번호에 대해 기 지정된 방식( 오름차순, 내림차순, 또는 임의 지정 방식 )의 순서대로( 도 14는, 기 지정된 방식의 순서를 오름차순으로 가정함에 따른 예시이다. ) 노드 트리거 필드를 카운트하면서 자신의 필드가 되었을 때 파일럿 신호( 도미넌트 상태가 되는 비트 1 )를 송신한다. 해당 순서의 노드가 없는 경우에는 그 노드 트리거 필드에는 당연히 닐 신호가 나타나게 된다. 이러한 방식으로 32개의 노드 트리거 필드가 진행되고 나면, 그 디스커버리 사이클에 참여했던 모든 노드들은 현재 버스에 어떤 식별번호들의 노드가 연결되어 있는 지 파악하게 되는 것이다.
도 14의 실시예에서도, 도 2에 예시된 바와 같이, 일정 수의 닐 신호가 연속되는 경우 상기 마스터 컨트롤러(10)는 비콘 신호를 삽입할 수도 있다.
본 발명에 따른 일 실시예에서는, 도 15에 예시된 바와 같이, 디스커버리 검증 사이클(1520)이, 도 14에 예시된 바와 같은 시퀀스를 갖는 디스커버리 사이클(1510)에 후속하게 할 수도 있다.
도 15에 예시된 실시예에서는, 상기 디스커버리 검증 사이클(1520)이, 일반 디스커버리 사이클(1510)의 시작 코드와 구별되는 비트 패턴의 검증 시작코드(1521)로 시작되며, 후미에는 검증확인 필드(1522)를 포함한다.
버스에 연결된 모든 노드들은, 일반 디스커버리 사이클(1510)과 검증 사이클(1520) 상의 자신의 순서에 해당하는 노드 트리거 필드에 파일럿 신호를 송신하게 되고, 검증 사이클(1520)에서 검증확인 필드(1522)가 되었을 때, 각 사이클(1510,1520)에서 파일럿 신호가 실렸던 필드들이 서로 일치하는 지를 확인하고, 그 확인 결과 일치하지 않으면( 도면의 예는 필드 29와 30이 양 사이클에서 서로 다른 신호 상태로 검출된 것을 보여주고 있다. ), 상기 검증확인 필드(1522)에 부정응답 비트를 송신한다(P150). 따라서, 버스에 연결된 노드들 중 어느 하나라도 양 사이클에서 동일한 식별번호( 즉, 파일럿 신호가 검출된 필드의 순서들 )의 세트를 얻지 못하면 상기 검증확인 필드(1522)에는 부정응답 신호가 나타나게 되고, 모든 노드들이 양 사이클에서 동일한 식별번호 세트를 발견하였을 때만 상기 검증확인 필드(1522)에 닐 신호의 상태가 나타나게 된다.
따라서, 상기 마스터 컨트롤러(10)는, 상기 검증확인 필드(1522)가 닐 신호 상태이면 디스커버리 사이클을 끝내고 바로 데이터 사이클이 진행되게 하고, 만약 부정응답 신호가 나타나면, 일반 디스커버리 사이클부터 다시 시작한다. 물론, 이 과정은 디스커버리가 성공할 때까지 제한된 횟수만큼만 시행되고 그 이상이 되면 버스 이상으로 처리하게 된다.
상기 검증확인 필드(1522)는 양 사이클에서 검출한 결과가 동일한 지의 판단에 필요한 시간을 위해 그 선두에 1 또는 2비트의 가드 비트를 포함할 수 있다.
한편, 버스에 연결된 모든 노드들, 또는 지정된 특정 노드들은, 자신에게 할당된 채널에 관계없이 데이터 사이클의 각 데이터 채널에 실리는 데이터를 수신한다. 이는, 버스에 연결되어 있는 임의의 노드가 자신을 수신자로 하여 데이터를 송신할 수 있기 때문이다. 그런데, 물리적으로 버스를 공유하고는 있지만, 연결된 노드들 모두가 임의의 상대측과 데이터를 송수신하지 않는 통신환경이 있을 수 있다. 예를 들어, 10개의 노드들이 하나의 버스에 연결되어 있지만, 이들은 서로 5개의 그룹끼리만 통신할 필요가 있을 수 있는 것이다. 만약, 이러한 환경이라면, 임의의 한 노드가, 10개의 노드들에 각기 할당된 데이터 채널의 데이터를 모두 수신하여 자신에게 송신된 것인 지를 확인하는 것은 불필요한 통신자원의 사용이 된다. 즉, 모든 데이터 채널의 데이터를 수신하여 그 데이터의 목적지를 확인하는 동작에 하드웨어 자원이 할당됨으로써 긴급하게 데이터를 송신해야 하는 동작이 지연될 수가 있다.
이러한 이유로 본 발명에 따른 일 실시예에서는, 버스에 연결된 노드들에 대해서 그룹별로 분리하여 디스커버리하고 그 디스커버리된 그룹별로 데이터 사이클이 진행되게 한다. 도 16은, 본 실시예에 따라 이루어지는 디스커버리 사이클을 예시한 것이다. 그리고, 본 실시예를 위해서는, 각 노드, 즉 각 버스 컨트롤러에는 식별번호 외에 추가적으로 그룹번호가 부여된다. 이 그룹번호는 하나의 버스 컨트롤러에 복수개가 부여될 수도 있다. 예를 들어, 식별번호 0의 마스터 컨트롤러에는 그룹번호 0, 1, 2 등이 동시에 부여될 수 있다. 물론, 다른 슬레이브 컨트롤러도 마찬가지이다.
도 16의 예는, 그룹번호가 3비트로 구성되어, 0부터 7까지의 번호를 가질 수 있는 것을 전제한 것으로서, 장치에 전원이 인가되면, 먼저 그룹 디스커버리 사이클이 진행되고, 그 다음에 앞서 발견된 각 그룹에 대하여 해당 그룹의 노드를 발견하기 위한 개별 그룹별 노드 디스커버리 사이클이 순차적으로 진행된다.
그룹 디스커버리 사이클은 그 사이클의 시작을 그룹 디스커버리 시작 코드(1601)로부터 시작되고, 개별 그룹의 노드 디스커버리 사이클은 해당 그룹의 식별정보를 포함하는 시작 코드(1602i, i=0,..,M)로부터 시작된다. 그리고, 개별 그룹에 대한 노드 디스커버리 사이클은 앞선 그룹 디스커버리에서 발견된 그룹의 수 만큼만 진행된다. 즉, 그룹 디스커버리 사이클에서 그룹번호 0, 1, M이 발견되었다면, 이후의 개별 그룹별 노드 디스커버리는 그룹 0, 1 그리고 M에 대해, 기 지정된 방식( 도 16은 오름차순의 방식에 따른 예이다. )의 그룹번호의 순서대로 총 3번의 노드 디스커버리 사이클이 진행되는 것이다.
본 발명에 따른 다른 실시예에서는, 개별 그룹에 대한 디스커버리 사이클의 시작코드(1402i)는, 디스커버리 사이클에 포함되지 않을 수도 있다. 그룹번호와 식별번호의 크기가 기 지정되어 있기 때문에, 그룹 디스커버리 사이클이 시작되면 그 이후에는 임의 그룹에 대한 노드 디스커버리가 어느 비트 구간에서 진행되는 지를 알 수 있기 때문이다.
예를 들어, 앞서 가정한 바와 같이 그룹 번호는 3비트로 구성되고, 식별번호는 5비트로 구성되면, 각 버스 컨트롤러는, 그룹 디스커버리가 8개의 비트 블록에서 종료하고, 각 그룹의 노드 디스커버리는 32개의 비트 블록에서 종료된다는 것을 기 파악하고 있게 된다. 여기서, 비트 블록이란, 식별자 패턴 슬롯( 그룹 디스커버리의 경우에는 그룹번호 패턴 슬롯 )과 응답 필드에 의한 구간, 또는 닐 신호의 구간을 지칭한다. 또한, 그룹 디스커버리에서 노드들의 각 그룹번호가 확인되면, 총 몇번의 노드 디스커버리 사이클이 진행되고 그 순서는 몇번의 그룹부터 시작하는 지를 각 버스 컨트롤러는 알 수 있기 때문에, 자신이 속한 그룹에 자신의 식별번호를 송신할 수 있는 식별자 패턴 슬롯을 특정할 수가 있다.
그룹 디스커버리 사이클은, 사이클이 진행될 때 그룹번호를 포함하는 그룹번호 패턴이 실리는 점을 제외하면, 앞서 설명한 노드 디스커버리 사이클의 다양한 실시예들 중 어느 하나와 동일하게 진행된다. 예를 들어, 그룹번호에 대해 부정응답이 있을 때, 도 5의 실시예와 같이 그룹번호를 바로 재송신하거나, 도 6의 실시예와 같이 리디스커버리를 통해 그룹번호를 재송신할 수가 있다.
그룹 디스커버리 사이클이 진행될 때, 복수의 버스 컨트롤러들이 하나의 그룹에 속하는 것이 일반적이기 때문에, 그 사이클에서 해당 그룹순서의 슬롯에 복수의 버스 컨트롤러들이 동시에 자신에게 할당되어 있는 그룹번호를 버스로 송신하게 된다. 하지만, 이들은 모두 동일 번호이므로 데이터 충돌에 의해 비트가 손상되지 않고 버스에 연결된 모든 노드들에 정상적으로 감지될 수 있다.
물론, 그룹 디스커버리 사이클도, 도 14 또는 15와 같은 방식으로, 그룹번호의 송신없이 정해진 순서의 트리거 필드에 파일럿 비트를 송신하는 방식으로 진행될 수도 있다.
연결된 노드들의 그룹번호들이 디스커버리되면, 이후의 데이터 사이클은 발견된 그룹번호들만에 대해서 그 그룹번호의 순서대로 순차적으로 진행된다. 도 17은 이에 대한 예를 나타낸 것으로서, 버스에 연결된 노드들이 그룹번호 0과 M의 2개의 그룹으로 분류되어 있고, 식별번호 13과 24의 버스 컨트롤러들(203,20N-2)은 그룹번호 M으로 할당되어 있으며, 나머지 버스 컨트롤러들은 모두 그룹번호 0으로 할당되어 있고, 식별번호 0의 버스 컨트롤러(10)에는 그룹번호 0과 M이 모두 할당되어 있다는 가정에 따른 것이다.
식별번호 0의 마스터 컨트롤러(10)에는 그룹번호 0과 M이 각기 할당되어 있어서, 그룹번호 0에 대한 노드 디스커버리에서, 그리고 그룹번호 M에 대한 노드 디스커버리에서 각각 자신의 식별번호 0을( 또는 첫번째 노드 트리거 필드에 파일럿 비트를 ) 버스로 송신함으로써 해당 그룹의 데이터 사이클에 데이터 채널(1701,1702)이 각기 확보된다.
도 17에 예시된 바와 같이 데이터 사이클이 각 그룹별로 순차적으로 진행되면, 버스에 연결된 노드들은, 버스에서 검출되는 신호로부터 자신이 속하는 그룹의 데이터 사이클이 진행되는 것이 확인될 때에만 그 데이터 사이클의 각 데이터 채널의 데이터를 수신하여 자신으로의 데이터인 지를 확인하고 그에 따른 동작을 수행하며, 자신이 속하지 않는 그룹의 데이터 사이클일 때는 그 사이클의 모든 데이터 채널을 무시하게 된다. 즉, 버스에 연결된 버스 컨트롤러들이 N개일 때, 그룹번호 M에 속하는 3개의 버스 컨트롤러들은 3개( 실제적으로는, 3개에서 자신에게 할당된 데이터 채널을 제외한 2개 )의 데이터 채널의 데이터를 수신하여 확인하게 되는데, 만약, 그룹으로 분리되지 않았다면, N개( 실제적으로는, N-1개 )의 데이터 채널에 대해 그 데이터를 수신하여 확인하여야 한다. 따라서, 도 17에 예시된 실시예는, 버스에 연결된 버스 컨트롤러들로 하여금 제한된 데이터 처리 능력을 데이터 송신에 보다 더 할당할 수 있게 만든다.
각 그룹별로 순차적으로 진행되는 데이터 사이클도, 앞서 다양한 실시예들로서 설명한 데이터 사이클들 중 어느 하나의 사이클로 진행된다. 예를 들어, 도 9, 11 또는 12를 참조로 설명한, 해당 그룹에 대한 노드 디스커버리 과정에 참여하지 못한 노드가 참여할 수 있게 하는 참여 채널이 각 그룹의 데이터 사이클에 포함될 수 있고, 도 13을 참조로 설명한, 디스커버리 요청 필드가 각 그룹의 데이터 사이클에 포함될 수도 있다. 후자의 경우에, 임의 그룹에 대한 데이터 사이클에서의 디스커버리 요청 필드를 통한 디스커버리 요구가 있으면, 상기 마스터 컨트롤러(10)는 최초의 디스커버리부터 진행한다. 즉, 도 16에 예시된 바와 같이 그룹 디스커버리 사이클부터 시작한다.
지금까지 구체적으로로 설명한, 본 발명에 따른 노드의 디스커버리와 버스 중재 방법의 다양한 실시예들과, 그 실시예에서 설명된 구성 및 작용 등은 서로 양립할 수 없는 경우가 아니라면, 상호 다양한 방식으로 선택적으로 결합되어 실시 가능하다.
이상, 전술한 본 발명의 실시예들은, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
10: 버스 컨트롤러( 마스터 ) 11: 링크 컨트롤러
12: 트랜시버 20i: 버스 컨트롤러( 슬레이브 )

Claims (22)

  1. 데이터 버스에 연결된, 서로 다른 식별번호가 각기 부여된 노드(node)들의 디스커버리와 버스중재를 위한 방법에 있어서,
    상기 식별번호를 위해 할당한 비트 수로써 표현할 수 있는 모든 가능 식별번호들의 각각에 대하여, 비트 구간이 상기 가능 식별번호들에 대해 기 정해진 순서대로 할당되는 디스커버리 사이클을 진행하는 1단계와,
    상기 노드들의 각각이, 상기 디스커버리 사이클에서 진행되는 비트 구간들에서 자신의 식별번호에 해당하는 순서의 비트 구간이 되었을 때 자신의 식별번호를 알리기 위한 정보를 송신함으로써, 상기 노드들이 개별적으로 그 정보를 인식할 수 있게 하는 2단계와,
    노드가 송신을 위해 독점적으로 사용할 수 있는 데이터 채널이, 식별번호를 알리기 위한 상기 정보가 다른 노드들에 의해 인식됨으로써 발견된 노드들의 수만큼 진행되는 데이터 사이클을 반복하여 형성하는 3단계를 포함하여 이루어지되,
    상기 발견된 노드들의 각각은, 상기 3단계에서 반복되는 매 데이터 사이클 상의 데이터 채널들에서, 상기 발견된 노드들의 식별번호들에서의 자신의 식별번호의 순서와 동일한 순서가 되는 데이터 채널을 독점 사용하게 되는 것인 방법.
  2. 제 1항에 있어서,
    식별번호를 알리기 위한 상기 정보는 노드의 식별번호이고,
    상기 디스커버리 사이클에서는, 임의 순서의 상기 비트 구간이 식별번호가 실리지 않는 닐(nil) 상태로 판단되면, 식별번호를 위해 확보되는 상기 비트 구간의 비트 길이보다 짧은 비트 폭으로써 해당 순서의 비트 구간은 종료되고 다음 순서의 비트 구간이 시작되는 것인 방법.
  3. 제 2항에 있어서,
    상기 디스커버리 사이클에는, 상기 비트 구간의 직후에 그 비트 구간에 실리는 식별번호의 성공적 수신 여부를 노드들에 알릴 수 있는 응답 필드가 할당되는 것인 방법.
  4. 제 3항에 있어서,
    상기 디스커버리 사이클에서는, 상기 응답 필드에 부정응답 신호가 실리면, 그 응답 필드 직전의 상기 비트 구간에 실린 임의 식별번호를 위한 비트 구간이, 부정응답 신호가 실린 상기 응답 필드에 이어 바로 재할당되는 것인 방법.
  5. 제 3항에 있어서,
    상기 1단계는, 상기 응답 필드에 부정응답 신호가 실리면, 상기 디스커버리 사이클에 이어서, 부정응답 신호가 발생한 식별번호들의 각 노드가 자신의 식별번호를 다시 송신할 수 있게 하는 리디스커버리 사이클을 진행하는 것인 방법.
  6. 제 5항에 있어서,
    상기 리디스커버리 사이클에는, 상기 가능 식별번호들의 각각에 대하여 해당 가능 식별번호의 노드가 자신의 식별번호를 알리기 위한 정보를 송신할 수 있는 비트 구간이 상기 가능 식별번호들의 순으로 할당되고,
    상기 디스커버리 사이클에서 식별번호를 송신하고 그에 대해 긍정응답을 수신한 노드들은 상기 리디스커버리 사이클에서는 자신의 식별번호를 알리기 위한 정보를 송신하지 않는 것인 방법.
  7. 제 2항에 있어서,
    상기 디스커버리 사이클에는, 상기 닐 상태의 비트 폭이 지정된 횟수 이상 연속될 때 상기 닐 상태와는 다른 상태를 나타내는 비콘(beacon) 신호가 삽입되는 것인 방법.
  8. 제 1항에 있어서,
    상기 데이터 사이클에는, 상기 디스커버리 사이클에서 식별정보를 알리기 위한 상기 정보를 송신하지 못한 임의 노드가 자신의 식별번호를 송신할 수 있게 하는 참여 채널이 할당되되, 상기 참여 채널은, 노드의 식별번호를 실을 수 있는 필드와 그 필드에 실린 식별번호의 성공적 수신여부를 알릴 수 있는 응답 필드를 포함하여 구성되는 것인 방법.
  9. 제 8항에 있어서,
    식별번호를 알리기 위한 상기 정보를 송신하지 못한 상기 임의 노드는, 식별번호를 실을 수 있는 상기 필드에 자신의 식별번호를 송신한 후 그 필드에 실린 식별번호와 자신이 송신한 식별번호와 동일한 지를 확인하고 서로 상이할 때는 상기 응답 필드에 부정응답을 나타내는 신호를 송신하는 것인 방법.
  10. 제 8항에 있어서,
    상기 참여 채널은, 노드의 식별번호가 실리지 않는 닐 상태로 시작되면, 식별번호를 위해 확보되는 상기 참여 채널의 비트 길이보다 짧은 비트 폭으로써 종료되는 것인 방법.
  11. 제 1항에 있어서,
    상기 데이터 사이클에서 진행되는 각 데이터 채널에는, 해당 채널을 할당받은 노드의 식별번호가 실리는 것인 방법.
  12. 제 11항에 있어서,
    상기 데이터 사이클에는, 상기 디스커버리 사이클에서 식별정보를 알리기 위한 상기 정보를 송신하지 못한 임의 노드가 자신의 식별번호를 송신할 수 있게 하는 참여 채널이 할당되되,
    상기 디스커버리 사이클에서 식별정보를 알리기 위한 상기 정보를 송신하지 못한 임의 노드는, 적어도 한번의 데이터 사이클이 경과된 이후의 데이터 사이클의 상기 참여 채널에 자신의 식별번호를 송신하는 것인 방법.
  13. 제 1항에 있어서,
    상기 데이터 사이클에는, 상기 디스커버리 사이클에서 식별번호를 알리기 위한 상기 정보를 송신하지 못한 임의 노드가 상기 디스커버리 사이클이 다시 진행되도록 요구하는 신호를 실을 수 있는 요청 필드가 할당되는 것인 방법.
  14. 제 1항에 있어서,
    식별번호를 알리기 위한 상기 정보는, 노드의 존재 여부를 나타내는 2상태 중 하나를 지시하는 값이고,
    상기 데이터 버스에 연결된 노드들의 각각은, 상기 2단계에서, 상기 디스커버리 사이클에서 자신의 식별번호에 해당하는 순서의 상기 비트 구간에 자신의 존재를 가리키는 값을 송신하는 것인 방법.
  15. 제 14항에 있어서,
    상기 디스커버리 사이클은 연속하여 복수회 진행되되, 그 복수의 디스커버리 사이클 중 마지막 순서의 사이클에는, 각 디스커버리 사이클에서 자신의 존재를 가리키는 값을 송신한 노드들의 세트가 서로 동일한 지 여부를 임의의 노드가 알릴 수 있는 검증 필드가 할당되는 것인 방법.
  16. 제 1항에 있어서,
    상기 1단계는, 상기 데이터 버스에 연결된 노드들에 각기 부여된 그룹번호들을 디스커버리하기 위한 그룹 디스커버리 사이클을 먼저 수행한 후, 그 그룹 디스커버리 사이클에서 발견된 그룹번호들 각각에 대해서 개별적으로 상기 디스커버리 사이클을 진행하는 것인 방법.
  17. 제 16항에 있어서,
    복수의 그룹 번호가 부여된 임의의 노드는, 발견된 그룹번호들 각각에 대해 개별적으로 진행되는 디스커버리 사이클들 중에서, 자신에게 부여된 그룹 번호들에 대해 진행되는 복수 사이클들 각각에서 자신의 식별번호를 알리기 위한 정보를 송신하는 것인 방법.
  18. 제 16항에 있어서,
    상기 3단계는, 상기 그룹 디스커버리 사이클에서 발견된 그룹번호들의 각각에 대하여 데이터 사이클을 연이어서 진행하되, 각 그룹번호에 대한 데이터 사이클에서는, 해당 그룹번호에 대해 진행된 상기 디스커버리 사이클에서 발견된 노드들이 그들의 식별번호의 순서대로 데이터 채널들에서 하나의 데이터 채널을 선정하여 독점 사용하는 것인 방법.
  19. 제 18항에 있어서,
    상기 데이터 버스에 연결된 노드들은, 자신에게 부여된 그룹번호가 아닌 그룹번호를 대상으로 진행되는 데이터 사이클에 대해서는 그 데이터 채널의 데이터를 읽어서 확인하는 동작을 수행하지 않는 것인 방법.
  20. 데이터 버스에 연결되어, 서로 다른 식별번호가 각기 부여된 다른 기기들과 그 버스를 통해 송수신 동작을 수행하기 위한 기기에 있어서,
    상기 데이터 버스에 실리는 신호를 검출하고 또한 인가되는 데이터를 상기 데이터 버스에 적합한 신호 형태로 변환하여 송신하는 트랜시버와,
    상기 데이터 버스 상에서의 디스커버리 사이클의 시작을 상기 트랜시버를 통해 확인하고, 상기 디스커버리 사이클에서 진행되는, 상기 식별번호를 위해 할당한 비트 수로써 표현할 수 있는 수만큼의 비트 구간들에서, 자신의 식별번호에 해당하는 순서의 비트 구간이 되었을 때 자신의 식별번호를 알리기 위한 정보를 상기 트랜시버를 통해 상기 데이터 버스로 송신함과 함께, 상기 디스커버리 사이클에서 상기 트랜시버에 의해 검출되는 데이터로부터 상기 비트 구간들의 각각에서 식별번호를 알리기 위한 상기 정보의 여부를 확인함으로써 기기들을 발견하도록 구성되고, 또한 상기 데이터 버스 상에서의 데이터 사이클의 시작을 상기 트랜시버를 통해 확인하고, 그 데이터 사이클에서 진행되는 데이터 채널들에서, 상기 발견된 기기들의 식별번호들에서의 자신의 식별번호의 순서와 동일한 순서가 되는 데이터 채널을 독점 사용하도록 구성된 컨트롤러를 포함하여 구성되되,
    상기 데이터 사이클은, 상기 발견된 기기들의 수만큼만 상기 데이터 채널들이 진행되는 방식으로 상기 데이터 버스 상에 반복하여 형성되는 것인 기기.
  21. 제 20항에 있어서,
    식별번호를 알리기 위한 상기 정보는 노드의 식별번호이고,
    상기 컨트롤러는, 임의 순서의 상기 비트 구간이 노드의 식별번호가 실리지 않는 닐 상태로 시작되면, 식별번호를 위해 확보되는 상기 비트 구간의 비트 길이보다 짧은 비트 폭으로써 해당 순서의 비트 구간은 종료되고 다음 순서의 비트 구간이 시작되는 것으로 인식하도록 구성된 것인 기기.
  22. 제 20항에 있어서,
    식별번호를 알리기 위한 상기 정보는, 상기 비트 구간에 대해서 기기의 존재 여부를 나타내는 2상태 중 하나를 지시하는 값이고,
    상기 디스커버리 사이클의 각 비트 구간은, 그 비트 구간의 순서와 자신의 식별번호의 순서가 일치하는 기기에 의해 자신의 존재를 가리키는 값이 실리도록 의도된 것인 기기.
KR1020180069170A 2018-06-15 2018-06-15 데이터 버스에 연결된 노드의 디스커버리와 버스중재 방법 및 그 방법을 위한 기기 KR102055504B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180069170A KR102055504B1 (ko) 2018-06-15 2018-06-15 데이터 버스에 연결된 노드의 디스커버리와 버스중재 방법 및 그 방법을 위한 기기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180069170A KR102055504B1 (ko) 2018-06-15 2018-06-15 데이터 버스에 연결된 노드의 디스커버리와 버스중재 방법 및 그 방법을 위한 기기

Publications (1)

Publication Number Publication Date
KR102055504B1 true KR102055504B1 (ko) 2019-12-12

Family

ID=69003904

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180069170A KR102055504B1 (ko) 2018-06-15 2018-06-15 데이터 버스에 연결된 노드의 디스커버리와 버스중재 방법 및 그 방법을 위한 기기

Country Status (1)

Country Link
KR (1) KR102055504B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000025831A (ko) * 1998-10-14 2000-05-06 이계철 연동을 위한 기간망으로 사용되는 이더넷망에서의 노드 주소 확인 방법
KR20010060695A (ko) * 1999-12-27 2001-07-07 서평원 비동기 전송모드 교환기에서 지에스엠피 메시지 압축 방법
US20150263785A1 (en) * 2014-03-14 2015-09-17 Farrokh Farrokhi Synchronized slotted power line communication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000025831A (ko) * 1998-10-14 2000-05-06 이계철 연동을 위한 기간망으로 사용되는 이더넷망에서의 노드 주소 확인 방법
KR20010060695A (ko) * 1999-12-27 2001-07-07 서평원 비동기 전송모드 교환기에서 지에스엠피 메시지 압축 방법
US20150263785A1 (en) * 2014-03-14 2015-09-17 Farrokh Farrokhi Synchronized slotted power line communication

Similar Documents

Publication Publication Date Title
US9258098B2 (en) Exclusive and overlapping transmission unit allocation and use in a network
EP2625825B1 (en) Method for digital communication between a plurality of nodes connected by a serial field bus and corresponding system, in particular a field control system or field surveyance system
US10602530B2 (en) Access method with access slots and priority resolution
US20180109398A1 (en) Master communication device for a token network
US11451412B2 (en) Method for enabling nodes of heterogeneous communication protocols to share a single bus by adapting to one of the heterogeneous communication protocols and device for said method
WO2017076196A1 (zh) 一种数据传输资源预约方法及装置
KR102055504B1 (ko) 데이터 버스에 연결된 노드의 디스커버리와 버스중재 방법 및 그 방법을 위한 기기
EP2256993B1 (en) Method for accessing a communication channel for communication networks
EP0866401A2 (en) Information identification system for identifying response units by a control unit
CN112398901B (zh) 执行双报文仲裁的方法和系统
KR102048635B1 (ko) 버스에 연결된 노드들에 고유 식별자를 부여하는 방법과 그 방법을 위한 기기
JP2002290310A (ja) 無線通信システム
JP5958335B2 (ja) 通信ノード、及び通信システム
KR102114572B1 (ko) 시분할 다중접속 방식에서의 저지연 전송을 위한 방법 및 그 방법을 위한 기기
KR101988176B1 (ko) 복수의 버스 마스터 간에 무순단 절체가 이루어질 수 있게 하는 방법과 그 방법을 위한 장치
CN108881514B (zh) 总线系统的地址分配方法、通讯设备和总线系统
JP2873515B2 (ja) 多重伝送方法
JP3875065B2 (ja) データ伝送制御システム
Maslouh et al. Resolving the access conflict for shared ethernet communication channel
KR102144631B1 (ko) 이종 통신방식의 노드들이 단일 버스를 공유하여 통신할 수 있게 하는 방법과 그 방법을 위한 기기
KR101619370B1 (ko) 무선 메쉬 네트워크의 데이터 충돌 회피 방법
JP2009071860A (ja) 無線通信方法及び無線通信端末収容装置
JPH09130382A (ja) ポーリング通信方法
CN117561796A (zh) 将节点设备加入无线网络的方法和节点设备
CN111314192A (zh) 一种高速总线结构和通信节点间传输数据的方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant