KR102048635B1 - 버스에 연결된 노드들에 고유 식별자를 부여하는 방법과 그 방법을 위한 기기 - Google Patents

버스에 연결된 노드들에 고유 식별자를 부여하는 방법과 그 방법을 위한 기기 Download PDF

Info

Publication number
KR102048635B1
KR102048635B1 KR1020180091806A KR20180091806A KR102048635B1 KR 102048635 B1 KR102048635 B1 KR 102048635B1 KR 1020180091806 A KR1020180091806 A KR 1020180091806A KR 20180091806 A KR20180091806 A KR 20180091806A KR 102048635 B1 KR102048635 B1 KR 102048635B1
Authority
KR
South Korea
Prior art keywords
bus
identifier
node identifier
communication module
node
Prior art date
Application number
KR1020180091806A
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 KR1020180091806A priority Critical patent/KR102048635B1/ko
Application granted granted Critical
Publication of KR102048635B1 publication Critical patent/KR102048635B1/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/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40195Flexible bus arrangements involving redundancy by using a plurality of nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • H04L27/22Demodulator circuits; Receiver circuits

Abstract

본 발명에 따른, 버스에 연결된 통신모듈들에 대해 노드 식별자를 할당하기 위한 방법은, 마스터 통신모듈이, 식별자 할당 시작을 알리는 특정 신호를 버스로 송신하는 1단계와, 슬레이브 통신모듈들 중 임의의 통신모듈이, 상기 특정 신호가 검출될 때 그 특정 신호 또는 그 특정 신호에 이어지는 신호의 위상변조 방식에 의한 복조에서 복소평면 상에서의 위상을 구하고, 그 구한 위상에 근거하여 결정하는 특정 시점에 노드 식별자 요청을 상기 버스로 송신하는 2단계와, 상기 마스터 통신모듈이, 상기 노드 식별자 요청을 수신하고, 현재 미할당된 노드 식별자들 중에서 선택한 하나의 식별자를 상기 노드 식별자 요청에 대한 응답으로 구성하여 상기 버스로 송신하는 3단계와, 상기 임의의 통신모듈이, 상기 응답을 수신하고 그 응답에 포함된 식별자를 자신의 노드 식별자로 설정하는 4단계를 포함하여 이루어진다.

Description

버스에 연결된 노드들에 고유 식별자를 부여하는 방법과 그 방법을 위한 기기 {Method for assigning a unique ID to nodes connected to bus and device for said method}
본 발명은, 버스에 연결된 노드들 각각에 고유 식별자, 특히 버스 사용의 중재를 위해 필요한 고유 식별자를 부여하는 방법과 그 방법을 위한 기기에 관한 것이다.
사람의 생활을 편리하게 하는 수 많은 종류의 복잡한 장치들, 예를 들어, 통신기기, 차량, 의료 기기 등은, 많은 부품들 간에 정보를 실시간으로 교환함으로써 다양하고 편리한 기능 및 우수한 성능 등을 제공하고 있다. 그리고, 이러한 부품들 간의 정보 교환은 배선이나 조립의 편의성을 위해 부품들이 공통적으로 연결되는 데이터 버스를 통해 이루어지게 한다.
그런데, 데이터 버스를 적용하면, 서로 간의 통신을 위해 그 버스에 연결된 부품들, 즉, 노드(node)들은 데이터 전송을 하기 위해서는 버스 점유 경쟁을 할 수 밖에 없다. 그래서, 버스 경합에 대한 다양한 중재 방식들이 제안되고 또한 사용되고 있다.
그리고, 버스에 연결된 노드들을 발견(discovery)하고 그 발견된 노드들에 대하여 버스를 각기 독점적으로 사용할 수 있는 채널, 즉 타임 슬롯(time slot)을 할당함으로써, 노드들 간에 버스 충돌이 발생하지 않게 하는 방식도, 버스 경합에 대한 하나의 중재 방식이 될 수 있다. 그런데, 각 노드에 대해서 채널을 할당하고자 하면, 노드가 각기 그 버스 상에서 고유하게 특정되어야 한다. 그래야만, 특정 노드를 지정하고 그 노드에 대해서 하나의 채널을 할당할 수가 있다. 따라서, 각 노드마다 다른 노드들과 구분시키는 고유의 노드 식별자( 이하, '식별자'로 약칭한다. )가 설정되어야만 한다.
그런데, 식별자를 각 노드에 설정하는 용이한 방법은 여러가지 문제점를 안고 있다. 예를 들어, 노드를 구성하는 부품에 딥 스위치(dip switch) 등과 같은 회로 소자를 연결하고 각각의 그 회로 소자를 임의적으로 다르게 설정( 또는 미리 다르게 설정된 딥 스위치를 각기 구분하면서 해당 노드에 연결 )함으로써 노드마다 식별자를 구분시켜 설정할 수 있는데, 이 방법은, 그러한 버스 시스템( 물리적인 버스와 그에 연결되는 노드들로 구성되는 시스템 )을 장착해야 하는 장치의 제조사 입장에서 보면, 회로 소자의 설정( 또는 다르게 설정된 회로 소자별로 구분 )을 위한 작업 공정이 수반되어야 할 뿐만 아니라, 충분한 주의를 기울여 작업하지 않으면 그 설정 자체에서 오작업( 예를 들어, 하나의 버스 시스템에 대해서 딥 스위치 등을 동일 번호로 중복 설정 )이 발생할 수 있는 문제점을 갖는다.
각 노드에 식별자를 다르게 설정하는 방법으로서, 각 노드의 특정 프로세서(processor)에서 실행되는 프로그램에 식별자가 서로 다르게 하드-코딩(hard-coding)되게 하는 방법도 있을 수 있다. 하지만, 이 방법에서도, 각 노드마다 서로 다른 프로그램이 실행되게 해야 하므로, 노드에서 실행될 프로그램들을 서로 구분하여 관리해야 할 필요성이 생긴다. 이 또한 해당 버스 시스템을 탑재하는 장치의 생산성에 부정적인 영향을 끼치게 된다.
본 발명은, 버스에 연결된 노드들에 서로 중복되지 않는 식별자가 자율적으로 설정되게 하는 방법과 그 방법을 위한 기기를 제공하는데 일 목적이 있는 것이다.
본 발명의 다른 목적은, 버스에 연결된 노드들에 대한 식별자의 자율적 설정이 버스 점유의 분배를 통해 진행될 수 있게 하는 방법과 그 방법을 위한 장치를 제공하는 것이다.
본 발명의 또 다른 목적은, 버스에 연결된 노드들에 대한 식별자의 자율적 설정이 보다 신속하게 이루어지게 하는 방법과 그 방법을 위한 장치를 제공하는 것이다.
본 발명의 목적은, 상기 명시적으로 서술된 목적에 국한되는 것은 아니며, 본 발명에 대한 구체적이고 예시적인 하기의 설명에서 도출될 수 있는 효과를 달성하는 것을 그 목적에 당연히 포함한다.
본 발명의 일 측면에 따른, 버스에 연결된 통신모듈들에 대해 노드 식별자를 할당하기 위한 방법은, 마스터 통신모듈이, 특정 신호를 상기 버스로 송신하는 1단계와, 슬레이브 통신모듈들 중 임의의 통신모듈이, 상기 버스에서 상기 특정 신호가 검출되면 위상변조 방식에 의해 신호를 복조하여 복소평면 상에서의 위상을 구하고, 그 구한 위상에 근거하여 결정하는 특정 시점에 노드 식별자 요청을 상기 버스로 송신하는 2단계와, 상기 마스터 통신모듈이, 상기 노드 식별자 요청을 수신하고, 현재 미할당된 노드 식별자들 중에서 선택한 하나의 식별자를 상기 노드 식별자 요청에 대한 응답으로 구성하여 상기 버스로 송신하는 3단계와, 상기 임의의 통신모듈이, 상기 응답을 수신하고 그 응답에 포함된 식별자를 자신의 노드 식별자로 설정하는 4단계를 포함하여 이루어진다.
본 발명에 따른 일 실시예에서는, 상기 2단계에서, 상기 임의의 통신모듈이, 상기 복조에 의해 얻어지는 복소평면 상의 좌표값에 근거하여 생성한 임시 파라미터를 상기 노드 식별자 요청에 포함시켜 송신하고, 상기 3단계에서, 상기 마스터 통신모듈이, 상기 임시 파라미터를 포함하고 있는 상기 노드 식별자 요청에 비트열의 오류가 없을 때에 상기 응답을 구성하여 상기 버스로 송신한다. 또한, 본 실시예에서는, 상기 3단계에서, 상기 마스터 통신모듈이, 상기 노드 식별자 요청에 포함되어 있는 상기 임시 파라미터를 포함시켜 상기 응답을 구성하고, 상기 4단계에서, 상기 임의의 통신모듈이, 상기 응답에 포함된 임시 파라미터와 자신이 생성한 상기 임시 파라미터가 서로 동일한 경우에 상기 응답에 실린 식별자를 자신의 노드 식별자로 설정한다.
본 발명에 따른 일 실시예에서는, 상기 특정 시점이, 기준 시점으로부터 순차적으로 구획되는 일련의 시구간들에서 순서가, 360o를 균등분할한 위상존들에서 상기 위상이 속하는 위상존의 상기 위상존들 상에서의 순서와 동일한 시구간의 시작점에 해당한다. 본 실시예에서는, 상기 위상존들이 NS ( NS는 2보다 큰 정수) 개의 그룹으로 구분되고, 360o를 상기 Ns로 나눈 각의 위상차가 있는 상기 Ns개의 위상존들은 서로 같은 순서로 지정된다. 여기서, 상기 일련의 시구간들은, 상기 마스터 통신모듈이 상기 버스에 형성하는, 특정의 헤더가 전치되는 사이클에 의해서 순차적으로 정해지는 구간들일 수 있다. 이 경우에, 상기 시구간들의 각각은, 상기 마스터 통신모듈에 의해 실리는 종단임을 알리는 마크 패턴으로써 종료될 수도 있으며, 상기 마스터 통신모듈은, 상기 시구간들 중 임의 시구간에 대하여, 그 임의 시구간이 시작된 짧은 선두의 구간에서 상기 슬레이브 통신모듈들 중 어느 하나의 통신모듈로부터의 신호가 실리지 않으면 상기 마크 패턴을 송신하여 그 임의 시구간을 종료시키게 된다.
본 발명에 따른 다른 일 실시예에서는, 상기 특정 시점이, 기준 시점부터 시작하여 상기 위상에 대해서 일정 시간마다 일정 각도씩 감산함으로써 그 감산 결과가 지정된 기준 위상보다 작아지게 되는 시점에 해당한다. 본 실시예에서, 상기 기준 위상은 복수개 지정될 수 있으며, 이때는, 그 복수개의 기준 위상들 간의 위상차가 서로 동일하다. 또한, 본 실시예에서는, 상기 2단계에서, 상기 임의의 통신모듈이, 상기 특정 시점이 되었을 때 상기 버스가 무점유 상태인 지를 확인하고, 무점유 상태로 확인될 때에만 상기 노드 식별자 요청을 상기 버스로 송신하게 된다.
그리고, 전술한 실시예들에서의 상기 기준 시점은, 상기 특정 신호가 검출된 시점, 또는 상기 버스로부터 위상변조 방식에 의해 신호가 복조된 시점에 의거해 정해질 수 있다.
본 발명에 따른 일 실시예에서는, 상기 마스터 통신모듈이, 상기 특정 신호를 상기 버스로 재송신하고, 그 재송신 후, 상기 슬레이브 통신모듈들 중 어느 하나의 통신모듈로부터 노드 식별자 요청이 수신되면, 그 요청에 대한 응답에 현재 미할당된 노드 식별자들 중에서 선택한 식별자를 포함시켜 상기 버스로 송신하는 5단계가 상기 방법에 더 포함될 수 있다. 본 실시예에서는, 상기 5단계가, 상기 슬레이브 통신모듈들 중 적어도 일부가, 상기 임의의 통신모듈이 상기 노드 식별자 요청의 시점을 결정하여 그 시점에 송신하는 방식과 동일한 방식으로 시점을 결정하여 각기 송신한 노드 식별자 요청들의 적어도 하나에서, 데이터 오류가 있었을 때에 수행될 수도 있다. 그리고, 상기 5단계는, 상기 특정 신호의 송신과 함께 지정된 시간이 경과된 후에, 또는 상기 버스에 형성하는, 특정의 헤더가 전치되고 그 헤더 이후에 일련의 시구간들이 순차적으로 구획되는 사이클이 종료된 이후에 수행된다. 상기 5단계에서 노드 식별자 요청을 하는 상기 어느 하나의 통신모듈은, 상기 지정된 시간의 경과 후에도, 또는 상기 사이클의 종료 후에도 노드 식별자가 여전히 미설정 상태인 통신모듈이다.
본 발명에 따른 일 실시예에서는, 상기 마스터 통신모듈이, 특정의 헤더가 전치되고, 상기 슬레이브 통신모듈들에 대해서 할당한 노드 식별자들의 수만큼의 타임슬롯이 상기 헤더에 연이어서 구획되는 특정 사이클을 상기 버스에 형성하는 6단계와, 상기 슬레이브 통신모듈들에서 노드 식별자가 설정된 통신모듈들은 각기, 임시 파라미터를 생성하여, 자신의 노드 식별자에 따라 상기 특정 사이클 상에 정해지는 순서의 타임슬롯에서 상기 버스로 송신하면서 동시에 그 송신하는 신호를 그 버스로부터 검출하고, 그 검출된 임시 파라미터를 자신이 생성한 임시 파라미터와 비교하여 서로 동일하지 않으면, 노드 식별자 중복 사실을 상기 마스터 통신모듈에 통지하고 자신에 대해서는 노드 식별자 미설정 상태로 되돌리는 7단계를 상기 방법에 더 포함될 수 있다. 여기서, 노드 식별자 중복 사실에 대한 상기 통지는, 상기 특정 사이클의 종단에 확보되어 있는 특정 필드에, 상기 비교되는 양 임시 파라미터가 동일하지 않음을 확인한 슬레이브 통신모듈이 자신에게 할당된 노드 식별자를 실음으로써 이루어질 수도 있다. 그리고, 상기 방법은, 상기 마스터 통신모듈이, 상기 특정 필드에 실린 노드 식별자를 미할당으로 지정하고, 상기 신호를 상기 버스로 재송신하며, 그 재송신 후 노드 식별자 요청이 수신되면, 그 요청에 대한 응답에 현재 미할당된 노드 식별자들 중에서 선택한 식별자를 포함시켜 상기 버스로 송신하는 8단계를 더 포함할 수도 있다.
본 발명에 따른 일 실시예에서는,상기 2단계에서, 상기 임의의 통신모듈이, 상기 검출되는 특정 신호에 대해 위상변조 방식으로 복조하여 상기 위상을 구하거나, 또는 상기 특정 신호가 검출된 시점 이후에 상기 버스에서 검출한 신호( 이 신호는, 상기 마스터 통신모듈이 송신한 임의 파형의 신호일 수도 있고, 그렇지 않으면 어떤 송신신호도 아닌 노이즈 신호일 수도 있다. )에 대해 위상변조 방식으로 복조하여 상기 위상을 구할 수도 있다.
본 발명의 다른 일 측면에 따른, 버스에 연결된 통신모듈들에 노드 식별자를 할당하기 위한 기기는, 상기 버스에 실리는 신호를 검출하도록 구성된 수신단과, 인가되는 데이터를 상기 버스에 적합한 신호 형태로 변환하여 송신하도록 구성된 송신단을 포함하여 구성된 제 1송수신부와, 상기 통신모듈들과 기 약속된 특정 신호를 상기 제 1송수신부에 인가하여 상기 버스로 송신되게 하고, 그 특정 신호의 인가 후에 상기 제 1송수신부를 통해 노드 식별자 요청이 수신될 때마다, 그 시점에 현재 미할당된 노드 식별자들 중에서 선택한 하나의 식별자를 상기 노드 식별자 요청에 대한 응답으로 구성하여 상기 제 1송수신부를 통해 상기 버스로 송신하도록 구성된 제 1컨트롤러를 포함하여 구성된다. 그리고, 상기 제 1컨트롤러는, 상기 응답에 대해서, 그 응답을 구성하게 된 노드 식별자 요청에 포함되어 수신된 코드를 포함시켜 구성한다.
본 발명의 또 다른 일 측면에 따른, 연결된 버스를 통해 노드 식별자를 제공받아 설정할 수 있는 기기는, 상기 버스에 실리는 신호를 검출하여 데이터 비트로 변환하고, 또한 상기 버스에서 검출하는 신호를 위상변조 방식에 의해 복조하도록 구성된 수신단과, 인가되는 데이터를 상기 버스에 적합한 신호 형태로 변환하여 송신하도록 구성된 송신단을 포함하여 구성된 제 2송수신부와, 상기 위상변조 방식에 의한 복조로부터 복소평면 상에서의 위상을 구하고, 그 구한 위상에 근거하여 결정하는 특정 시점에 노드 식별자 요청을 상기 제 2송수신부를 통해 상기 버스로 송신하며, 상기 노드 식별자 요청에 대한 응답이 상기 제 2송수신부를 통해 수신될 때는 그 응답에 포함된 노드 식별자를 자신의 노드 식별자로 설정하도록 구성된 제 2컨트롤러를 포함하여 구성된다.
본 발명에 따른 일 실시예에서는, 상기 제 2컨트롤러는, 상기 노드 식별자 요청에, 상기 위상변조된 신호의 복조에서 얻어지는 복소평면 상의 좌표값에 근거하여 생성한 코드를 포함시키고, 또한 상기 응답에 포함되어 있는 코드가 자신이 생성한 상기 코드와 동일한 경우에 상기 응답에 포함된 노드 식별자를 자신의 노드 식별자로 설정하도록 구성된다.
전술한 본 발명 또는, 하기에서 첨부된 도면과 함께 상세히 설명되는 본 발명의 적어도 일 실시예에 따른, 버스에 연결된 노드들에 고유 식별자를 부여하는 방법은, 노드들의 각각에 대해 고유 식별자를 자동적으로 할당한다. 즉, 노드에 해당하는 부품마다 개별적으로 관리하거나 설정해야 하는 변수나 프로그램 등이 전혀 필요없이, 자율적으로 노드들에 식별자가 중복되지 않게 개별적으로 할당한다. 따라서, 버스 시스템이 탑재되어야 하는 장치의 생산성이 높아지며, 관리 또한 매우 용이해 진다.
또한, 본 발명의 일 실시예에서는, 식별자의 할당을 위한 노드들의 버스 사용을 가능한 한 서로 시간 중첩되지 않게 이루어지게 함으로써 식별자의 할당이 신속하게 이루어질 수 있게 하며, 가능성이 희박한 식별자의 중복 할당의 경우도 검증하여 그 중복 할당을 사전에 제거함으로써, 안정성이나 신뢰성이 매우 높은 버스 시스템을 제공할 수 있다.
도 1은, 본 발명의 일 실시예에 따라 버스에 연결된 노드들에 고유 식별자가 자율적으로 부여되는 방법이 적용되는 버스 시스템을 간략히 예시한 것이고,
도 2a와 2b는, 본 발명의 일 실시예에 따른, 도 1의 버스 시스템에 개별적인 노드로서 연결된 마스터 모듈과 슬레이브 모듈의 구성을 각기 예시한 것이고,
도 3은, 본 발명의 일 실시예에 따른, 마스터 모듈이 슬레이브 모듈들에 식별자를 자동으로 할당하기 위해 수행하는 동작의 상태 천이도를 나타낸 것이고,
도 4는, 본 발명의 일 실시예에 따라, 식별자 요청 순서의 결정 근거가 되는, 임의의 변조된 심볼을 복조하여 얻게 되는 위상이 각 슬레이브 모듈에서 확률적으로 서로 달라지는 것을 예시한 것이고,
도 5a 및 5b는, 본 발명의 실시예들에 따라, 특정 코드의 변조 심볼을 복조하여 얻은 위상이 어떤 위상존에 속하는지에 따라, 식별자를 요구할 수 있는 타임슬롯이 결정되는 방식을 각각 예시한 것이고,
도 6은, 본 발명의 일 실시예에 따라, 식별자 요청을 위해 사용할 수 있는 것으로 결정된 타임슬롯에서 식별자 요구와 할당의 메시지가 송수신될 수 있는 타이밍을 예시한 것이고,
도 7은, 본 발명의 일 실시예에 따른, 식별자를 요청하는 슬레이브 모듈들에 식별자를 각기 할당하기 위해 마스터 모듈이 버스에 형성하는, 고정된 길이의 타임슬롯들로 구성되는 사이클의 일 예를 나타낸 것이고,
도 8은, 본 발명의 다른 일 실시예에 따른, 식별자를 요청하는 슬레이브 모듈들에 식별자를 할당하기 위해 마스터 모듈이 버스에 형성하는, 길이가 가변되는 타임슬롯들로 구성되는 사이클의 일 예를 나타낸 것이고,
도 9는, 본 발명의 일 실시예에 따른, 슬레이브 모듈이 마스터 모듈에 송신하는 식별자 요구 메시지의 포맷에 대한 일 예이고,
도 10은, 본 발명의 일 실시예에 따른, 마스터 모듈이 슬레이브 모듈에, 식별자 요구에 대한 응답으로 송신하는 식별자 할당 메시지의 포맷에 대한 일 예이고,
도 11은, 본 발명의 다른 일 실시예에 따라, 특정 코드의 변조 심볼을 복조하여 얻은 위상에 근거하여, 식별자를 요구할 수 있는 임의의 시점이 결정되는 방식을 예시한 것이고,
도 12는, 본 발명의 일 실시예에 따라, 동일 식별자의 중복 할당상태인지를 검증하기 위해, 마스터 모듈에 의해 버스 상에 형성되는 식별자 검증 사이클의 포맷을 임의 식별자가 중복할당된 경우에 대해 예시한 것이다.
이하에서는, 본 발명에 따른 다양한 실시예들에 대해 첨부된 도면을 참조하여 상세히 설명한다.
이하의 본 발명에 따른 실시예들의 설명과 첨부된 도면에 있어서, 부기된 동일 번호는 특별한 사정이 없는 한 동일한 구성요소를 지칭한다. 물론, 설명의 편의와 이해에의 도움을 위해, 필요에 따라서는 동일한 구성요소에 대해서도 서로 다른 번호로 부기될 수도 있다.
도 1은, 본 발명의 일 실시예에 따라 버스에 연결된 노드들에 고유 식별자가 자율적으로 부여되는 방법이 적용되는 버스 시스템을 예시한 것으로서, 물리적인 버스와, 그 버스에 연결되어 개별적인 노드를 형성하는 하나의 마스터(master) 버스 통신모듈(10)과 다수의 슬레이브(slave) 버스 통신모듈(20i, i=1,2,..,N)로 구성되어 있다.
도 1에 예시된 버스 시스템은, 본 발명에 따른 자율적인 식별자 부여 방법의 수행 전 상태로서, 각 슬레이브 버스 통신모듈( 이하, '슬레이브 모듈'로 약칭한다. )은 식별자가 미할당 상태임을 보여주고 있다. 그리고, 특별한 번호, 예를 들어 0의 식별자는 하드웨어적으로 또는 소프트웨어적으로 하나의 버스 컨트롤러에 미리 설정되고, 이 특별 식별자가 설정된 버스 통신모듈이 마스터 버스 통신모듈( 이하, '마스터 모듈'로 약칭한다. )로 기능하며, 본 발명에 따른 자율적인 식별자 부여 방법을 주관하게 된다.
도 2a와 2b는, 상기 마스터 모듈(10)과 슬레이브 모듈(20i)의 구성을 각기 보여준다. 상기 마스터 모듈(10)은, 도시된 바와 같이, 링크 컨트롤러(11)와 데이터 송수신부(12), 그리고 특별한 신호 방식에 대해 하나의 송신단이 되는 변조부(13)를 포함하여 구성되고, 상기 슬레이브 모듈들(20i, i=1,2,..,N)은 각기, 링크 컨트롤러(21)와, 데이터 송수신부(22), 그리고 특별한 신호 방식에 대해 하나의 수신단이 되는 복조부(23)를 포함하여 구성된다.
본 발명에 따른 식별자의 자율적 부여 방법에서, 상기 마스터 모듈(10)과 슬레이브 모듈(20i)은, 서로 대응하여 동작을 수행하며, 이에 따라 도 2a와 2b에 예시된 버스 통신모듈은, 부분적으로 서로 다른 구성을 갖는 것으로 도시되어 있다. 하지만, 이는 단지 예시적인 설명상 필요한 구성요소를 제시함에 따른 것일 뿐, 마스터 모듈과 슬레이브 모듈이 예시와는 달리 완전히 동일한 구성( 예를 들어, 양 버스 통신모듈이 각기 변조부와 복조부 모두를 포함하여 구성됨 )을 가질 수도 있다. 다만, 이 경우에도, 이하에서 예시적으로 상세히 설명하는 식별자의 자율적인 부여에 관여하지 않는, 마스터 모듈 또는 슬레이브 모듈의 부분적 구성은 활성화되지 않게 된다.
상기 마스터 모듈(10)의 링크 컨트롤러(11)( 이하, '마스터 컨트롤러'라 칭한다. )는, 각 슬레이브 모듈에 식별자를 할당하고, 식별자 할당 후에는, 연결된 노드들( 즉, 버스에 연결된 모든 버스 통신모듈들 ) 각각이 독점적으로 사용할 수 있는 데이터 채널의 할당과 그 할당에 따른 포맷의 데이터 사이클을 버스 상에 형성하게 된다. 여기서, 식별자 할당 후의 과정, 즉 채널 할당된 데이터 사이클의 형성 그리고 그 데이터 사이클 이전에 수행될 수도 있는 디스커버리 과정 등은 본 발명과 직접적인 관련이 없으므로 본 명세서에서는 이에 대한 설명을 생략한다.
상기 슬레이브 모듈(20i)의 링크 컨트롤러(21)( 이하, '슬레이브 컨트롤러'라 칭한다. )는, 상기 마스터 컨트롤러(11)의 식별자 부여 동작에 대응하는 동작을 수행한다. 물론, 식별자가 모두 할당된 이후의 동작, 즉 데이터 사이클을 기반으로 데이터 송수신을 수행하는 동작 등도 수행하지만, 이러한 동작 또한 앞서 언급한 바와 마찬가지로 본 발명과 직접적인 연관이 없으므로 본 명세서에서는 이에 대한 설명이 생략된다.
상기 마스터 모듈(10)의 변조부(13)와 상기 각 슬레이브 모듈(20i)의 복조부(23)는, 본 발명에 따른 식별자의 자율적 할당을 위해 필요한 특정 비트들의 위상 변조와 이의 복조를 각기 수행하는 구성요소이고, 상기 마스터 모듈(10)과 슬레이브 모듈(20i)에 각기 포함되어 있는 데이터 송수신부(12,22)는, 해당 모듈의 링크 컨트롤러가 전송하는 데이터 비트들을 버스에서 요구하는 물리적 신호로 변환하여 송신하는 송신단과, 버스에 실리는 신호를 검출하여 데이터 비트들로 변환하여 링크 컨트롤러에 전달하는 수신단으로 구성된다.
상기 데이터 송수신부(12,22)가 임의의 데이터 비트들을 버스( 즉, 타 버스 통신모듈 )로 송신하기 위해 변환하는 방식이 상기 변조부(13)의 변조 방식과 동일할 수도 있다. 이와 같은 실시예에서는, 상기 변조부(13)가 별도로 구비될 필요가 없으며, 데이터 송수신부의 송신단이, 식별자의 자율적 할당을 위해 필요한 변조부의 동작을 대신할 수 있다. 따라서, 이와 같은 실시예의 경우에는, 이하에서 변조부에 대해 설명되는 동작이 모두 데이터 송수신부의 송신단의 동작인 것으로 이해되어야 하며, 마찬가지로, 복조부에 대해 설명되는 동작은 모두 데이터 송수신부의 수신단의 동작인 것으로 이해되어야 한다.
한편, 버스 통신모듈인 상기 마스터 모듈(10)과 슬레이브 모듈들(20i, i=1,2,..,N)은 각기, 데이터 버스에서 각각의 노드가 되는, 특정의 기능을 수행하는 부품, 예를 들어, 차량의 경우 전자 제어장치( ECU: Electronic Control Unit )에 버스 접속용 기기로서 부속될 수 있다.
도 3은, 본 발명의 일 실시예에 따른, 상기 마스터 컨트롤러(11)가 노드들에 식별자를 자동으로 할당하기 위해 수행하는 동작의 상태 천이도를 나타낸 것으로서, 이하에서는 도 3의 상태 천이도를 참조하여 본 발명에 따른 자율적인 식별자 부여 방법에 대해 상세히 설명한다.
상기 마스터 컨트롤러(11)는, 전원이 인가되면 데이터 송수신부(12)와 송신부(13)에 대한 초기화 설정과 식별자의 자율적 부여를 위해 필요한 변수 등을 설정한 후 초기 모드(M01)로 진입한다. 이 초기 모드(M01)에서, 상기 데이터 송수신부(12)와 상기 변조부(13)가 통신가능 상태가 되면(S301), 슬레이브 모듈들로 하여금 노드 식별자의 할당 개시시점을 각기 결정케 하는 코드를 상기 변조부(13)를 통해 버스로 송신하고, 기 지정된 시간( 이하, '할당 제한시간'이라 칭한다. )의 할당용 타이머를 구동하고(S302), 노드들에 개별적으로 식별자를 부여하게 되는 '할당 중' 모드(M02)로 진행한다.
본 발명에 따른 일 실시예에서는, 앞서 언급한 노드 식별자의 할당 개시 시점을 결정케 하는 코드( 이하, '할당개시 결정코드'로 약칭한다. )는, 상기 변조부(13)에 의해 QPSK (Quadrature Phase-Shift Keying) 방식으로 변조된다. 그에 따라 각 슬레이브 모듈의 복조부(23i, i=1,2,..,N)( 여기서, 23i는 20i로 지시되는 슬레이브 모듈내의 복조부임을 나타낸다. )도 QPSK 방식에 따라 신호를 복조하는 것이 전제된다.
상기 마스터 컨트롤러(11)가 송신하는 할당개시 결정코드는, QPSK 방식에서 하나의 심볼로 변조되는 비트 수, 즉 한 쌍의 비트로만 구성될 수 있다. 다르게는, 도 4에 예시된 바와 같이, 할당개시 결정코드임을 식별케 하는 고유의 비트패턴을 갖는 4비트 이상의 비트열(40)로 구성될 수도 있다. 이와 같이 할당개시 결정코드를 고유의 비트패턴이 포함되는 형태로 구성하는 경우에는, 상기 변조부(13)는 그 코드를 차동 직교위상 편이 변조 (DQPSK: Differential QPSK) 방식으로 변조하고 각 슬레이브 모듈내의 복조부도 그에 따라 복조한다. 그리고, 이 고유의 비트패턴은, 노드 식별자의 자율적 할당의 시작을 통지하는 신호로서 기능한다. 즉, 이 경우에는, 노드 식별자의 자율적 할당의 시작을 알리는 할당시작 통지신호가 할당개시 결정코드를 포함하여 슬레이브 모듈로 송신되는 것이다.
본 발명에 따른 다른 일 실시예에서는, 노드 식별자의 자율적 할당의 시작을, 할당개시 결정코드와는 분리된 특별한 신호로 알릴 수도 있다. 예를 들어, 변조 과정없이 일정 시간 이상 지속되는 펄스, 특정 비트 패턴의 NRZ 코딩된 신호, 또는 다중 레벨 PAM 등에 의해 변조된 신호나 특정 주파수의 정현파 등이 자율적 할당의 시작을 알리는 신호( 이하, '할당시작 통지신호'라 한다. )가 될 수 있다. 이 할당시작 통지신호는 할당개시 결정코드와 동시에 또는 직전에 송신할 수도 있으며, 상기 변조부(13)가 아닌 상기 데이터 송수신부(12)에 의해 송신될 수도 있다.
한편, 본 발명의 일 실시예에 따라 상기 마스터 컨트롤러(11)가, 앞서 언급한 바와 같은 슬레이브 모듈과의 사이에 기 약속된 특정의 할당시작 통지신호를 송신하는 경우에는, 할당개시 결정코드를 아예 송신하지 않을 수도 있다. 또는 할당개시 결정코드를 송신하더라도, 전술한 바와 같이 QPSK 위상변조하지 않은 임의 파형의 신호로서 송신할 수도 있다. 이와 같이 실시하는 경우에는, 각 슬레이브 모듈은, 할당시작 통지신호를 검출한 시점 직후 또는 기 지정된 시간격 후에, 버스로부터 검출되는 신호에 대해 QPSK 변조방식에 의한 복조를 수행하게 된다. 그리고, 이 경우에, 마스터 모듈은 상기 변조부(13) 없이 구성될 수도 있다.
이하에서는, 상기 마스터 컨트롤러(11)가 할당개시 결정코드를 QPSK 방식으로 변조하여 송신하는 실시예를 전제로 설명하지만, 본 발명은, 할당시작 통지신호와 할당개시 결정코드에 대한 전술한 바와 같은 다양한 송신 방법들을 배제하지 않는다.
상기 변조부(13)에 의해 변조송신되는 신호는 버스를 통해 각 슬레이브 모듈에 전달됨으로써 각 복조부(23i, i=1,2,..,N)에 의해 수신된다.
본 발명의 일 실시예에 따라, 할당개시 결정코드가 단일의 심볼로 인코딩된 경우에는, 상기 각 복조부(23i)는, 수신신호를 복조하여 얻게 되는 I와 Q값( 이하, '복소값'이라 칭한다. )을 동 모듈내의 슬레이브 컨트롤러(21i)에 전달한다. 즉, 도 4에 예시된 바와 같이, I/Q 복소평면 상에서 특정 위치(Pi, i=1,2,..,N)를 나타내는 좌표값을 전달한다.
만약, 본 발명의 일 실시예에 따라, 할당개시 결정코드가 고유의 비트패턴을 갖는 비트열(40)로 구성됨으로써 복수의 심볼로 인코딩된 경우( 즉, 할당개시 결정코드가 할당시작 통지신호에 포함되어 코딩된 경우 )에는, 상기 각 복조부(23i)는, 앞서 언급한 바와 같이, DQPSK 방식에 따라 해당 비트열을 복조하여 그 비트열을 해당 슬레이브 컨트롤러에 전달하면서, 기 지정된 특정 순서의 심볼(41)에 대해서는 앞선 실시예와 마찬가지로 그에 대해 얻은 복소값도 함께 전달한다.
본 명세서에서는, 상기 특정 순서의 심볼을 '키(key) 심볼'이라 하고, 그 키 심볼로 인코딩되는 1쌍의 비트(41)를 '키 코드'라 칭한다. 앞서 언급한 바와 같이, 할당개시 결정코드를 단일의 심볼로 인코딩하는 실시예에서는, 당연히 그 단일의 심볼이 '키 심볼'이 된다. 이는 할당개시 결정코드가 키 코드만으로 구성됨을 의미한다.
각 슬레이브 모듈(20i, i=1,2,..,N)에서 슬레이브 컨트롤러(21i)에 전달되는, 키 심볼에 대한 복소값은, 비록 동일한 키 코드에 대해 변조된 신호로부터 얻은 것이지만, I/Q 복소평면 상에서 나타내는 위상(θi, i=1,2,..,N)은 동일할 가능성이 매우 희박하다. 이는, 각 복조부(23i)가 신호의 복조를 위해 사용하는 발진기의 클럭이 복조부들간에 위상 동조없이 서로 독립적으로 발진하고, 송수신되는 단대단(point-to-point) 간의 채널 특성이 다 상이하며, 또한 수신단의 노이즈 특성이 상이하기 때문이다. 따라서, 동일한 키 코드에 대해 변조된 신호를 복조하여 얻게 되는 복소값은, 도 4에 예시된 바와 같이, I/Q 복소평면 상에서 확률적으로 서로 다른 위치들(Pi, i=1,2,..,N)에 대응하게 된다.
각 슬레이브 컨트롤러(23i)는, 키 심볼에 대한 복소값이 입력되면, 그 복소값에 해당하는 I/Q 복소평면 상에서의 위상(θi)( 이하, '키 위상'이라 칭하며, θi는 20i로 지시되는 슬레이브 모듈에서 획득되는 키 위상을 나타낸다. )을 계산하고, 그 계산된 키 위상에 근거하여, 식별자를 요구할 수 있는 시구간, 즉 타임슬롯을 결정한다. 도 5a는, 위상에 근거하여 식별자 요구 타임슬롯이 결정되는 방법을 도식적으로 나타낸 것이다.
한편, 전술한 일 실시예서와 같이, 상기 마스터 모듈(10)이 변조된 할당개시 결정코드없이 할당시작 통지신호를 송신하는 경우에는, 상기 각 슬레이브 컨트롤러(21i)는, 상기 데이터 송수신부(22)를 통해 그 통지신호를 검출한 시점에 또는 그 시점으로부터 기 지정된 시간격 후에 상기 복조부(23)가 상기 버스에서 검출한 임의의 신호로부터 복조하여 얻은 복소값으로부터 키 위상을 계산하게 된다. 이 때의 임의의 신호는, 상기 마스터 모듈(10)에서 할당개시 결정을 위해 송신한 임의 파형의 신호이거나 또는 아무런 송신신호가 없는 상태에서의 노이즈일 수도 있다. 어떠한 경우이든, 전술한 바의 슬레이브 모듈들 간의 상이한 특성으로 인해 각 슬레이브 모듈(20i, i=1,2,..,N)이 QPSK 방식의 복조를 통해 검출하게 되는 키 위상은 확률적으로 서로 다른 값을 갖게 된다.
전술한 일 실시예에 따라, 할당개시 결정코드가 고유의 비트패턴을 갖는 비트열로 구성되는 경우, 즉, 할당시작 통지신호에 할당개시 결정코드가 결합되어 있는 경우에는, 각 슬레이브 컨트롤러(21i)는, 상기 복조부(23i)가 복조하여 전달하는 비트열에서 할당시작 통지신호를 나타내는 고유의 비트패턴이 검출될 때에만, 앞서와 같이 키 심볼에 대한 복소값이 나타내는 위상에 근거하여 식별자 요구 타임슬롯을 결정하는 동작을 수행하고, 그렇지 않을 때는, 입력된 복소값 등을 무시하고 이후에 설명하는 식별자 할당을 위한 동작을 수행하지 않는다.
전술한 다른 일 실시예에서와 같이, 할당개시 결정코드의 변조신호와는 분리되어 할당시작 통지신호가 별도로 송신되는 경우에도, 각 슬레이브 모듈(20i)은, 그와 같은 할당시작 통지신호가 버스로부터 검출되었을 때에만, 할당개시 결정코드에 의한 신호에서 얻은 키 위상에 근거하여 식별자 요구 타임슬롯을 결정하는 동작을 수행하게 된다.
각 슬레이브 컨트롤러(21i)는, 입력된 키 심볼에 대한 복소값의 I/Q 복소평면 상의 위치(Pi)( 이하, '키 위치'라 칭하며, Pi는 20i로 지시되는 슬레이브 모듈에서 획득되는 키 위치를 나타낸다. )가, 도 5a에 예시된 바와 같이 360o를 기 지정된 수 Npz로 균등분할한 각 위상존(pzj, j=1,2,3,..)에서 어떤 위상존에 속하는지를 파악한다. 각 위상존(pzj)은 360o/Npz의 중심각을 갖게 되는데, 본 명세서에서는 이 각을 '단위각'이라 칭힌다. 도 5a는, Npz가 36으로서, 단위각이 10o인 예에 대해 도시한 것이며, 이는 단지 단순한 하나의 예일 뿐이다. 버스에 연결되는 노드들의 수가 많을 때는, 상기 Npz의 값에 대해서 각 링크 컨트롤러에 더 큰 수로 설정해 둠으로써 더 많은 위상존들로 구획되게 할 수도 있다. 즉 단위각을 더 세분화시킬 수도 있다. 물론, 노드들의 수가 적을 때는 그 반대일 수도 있다.
키 위상(θi)이 속하는 위상존이 특정되면, 각 슬레이브 컨트롤러(21i)는, 그 특정된 위상존이, 기 지정된 기준 위상( 예를 들어, 위상 00 )으로부터 기 지정된 방향( 도면에서와 같이 반시계 방향 )으로 몇번째인지를 파악한다. 즉, 단위각에 곱했을 때 그 결과가 키 위상(θi) 이상이 되는 정수를 찾는다. 이렇게 찾은 정수가 곧 그 특정된 위상존에 대한 지정된 방향으로의 순서를 나타내며, 이 순서로써 식별자를 요구할 시구간, 즉 타임슬롯을 결정한다.
본 발명에 따른 다른 일 실시예에서는, 분할된 위상존들에서 서로 이격된 복수의 위상존들이 같은 순서로 지정될 수도 있다. 도 5b는, 본 실시예에 따라, 360o를 2등분하고 구분된 각 그룹마다 그 그룹에 속하는 분할된 위상존들이 정해진 특정 방향에 따라 순서대로 식별자 요구 타임슬롯에 대응됨으로써, 180o 위상차의 2개의 위상존들이 서로 동일한 순서의 타임슬롯에 대응된다. 도 5b의 실시예의 경우에, 서로 다른 슬레이브 모듈들 간에 키 위치가 서로 동일 타임슬롯에 해당되지 않게 되는 확률이 도 5a의 실시예와 동일하도록 하기 위해서는, 위상존의 분할 개수가 도 5a에서의 분할 개수 Npz의 2배가 되어야 한다.
본 발명에 따른 다른 실시예들에서는, 서로 동일 순서로 지정되는 위상존이 3개 이상이 될 수도 있다. 예를 들어, 360o를 3등분하거나 4등분함으로써, 구분된 각 그룹에서 정해진 특정 방향에 따른 순서에 해당하는 3개 또는 4개의 위상존들이 서로 동일한 순서로 지정될 수도 있는 것이다.
식별자를 요구하기 위해 사용할 수 있는 타임슬롯들은, 도 5a 또는 5b에 예시된 바와 같이, 키 심볼이 검출된 시점, 또는 할당시작 통지신호가 검출된 시점(51,56)으로부터, 기 지정된 슬롯주기(TmTS)로 구획되는 일련의 타임슬롯들(TSpz_i, i=1,2,3,..)로서, 각 슬레이브 컨트롤러(21i)는, 그렇게 정해지는 타임슬롯들에서, 앞서 특정한 위상존의 순서와 동일 순서의 타임슬롯을, 자신이 사용할 수 있는 식별자 요구 타임슬롯으로 결정하게 된다. 그리고, 상기 할당용 타이머가 구동되는 앞서 언급한 할당 제한시간은, 상기 슬롯주기(TmTS)에, 특정한 순서 지정방식에 의할 때 순서가 서로 상이한 위상존들의 수 dNpz ( 분할된 위상존들의 수에서 동일 순서로 할당되는 위상존의 수로 나눈 개수 )를 곱한 시간(alloTm)으로 정해진다.
각 슬레이브 모듈의 이후의 동작에 대해서는, 임의의 한 슬레이브 모듈(20M)만을 대상으로 하여 설명한다. 물론, 이러한 설명은 다른 모든 슬레이브 모듈들에서도 동일하게 적용될 수 있다.
상기 임의의 슬레이브 모듈(20M)내의 링크 컨트롤러(21M)가, 키 위상(θM)을 근거로 전술한 바와 같은 방식으로 결정한 식별자 요구 타임슬롯이 K번째 슬롯(52,57)인 것으로 가정하면, 상기 슬레이브 컨트롤러(21M)는, 타임슬롯들의 시작점(51,56)으로부터 그 순서의 슬롯(52,57)까지의 시간격(53)이 경과할 때까지 대기한다. 이 시간격(53)은 기 지정된 슬롯주기(TmTS)에 그 순서 K에서 1을 차감한 값을 곱하여 얻게 된다.
임의의 한 타임슬롯에서는, 그 시간(TmTS) 동안에, 도 6에 도시된 바와 같이, 상기 슬레이브 컨트롤러(21M)와 상기 마스터 컨트롤러(11) 간에 식별자를 요청하고 그에 응답하여 식별자를 할당하는 메시지(61,62)가 송수신될 수 있는데, 이를 위해, 상기 슬롯주기(TmTS)는, 기 정해진 포맷에 따른 비트 길이를 갖는 해당 메시지(61,62)들이, 연결된 버스에서 송수신 완료되는데 소요되는 시간에 가드 시간(601)을 더한 시간으로 각 링크 컨트롤러(21i)에 미리 설정된다. 상기 가드 시간(601)은, 슬레이브 컨트롤러들이, 할당개시 결정코드, 즉 키 코드의 복조에 근거하여 독자적으로 결정하게 되는 타임슬롯들의 기점(51,56)들이 서로 간에 편차가 발생할 수 있음을 대비한 것이다.
기점 간의 편차는 슬레이브 컨트롤러가 식별자를 요청하는 메시지를 송신하는 시점의 편이(e_sT)로 이어지는데, 상기 가드 시간(601)은, 이러한 시점의 편이에도 불구하고 연접된 타임슬롯내에서 송수신되는 다른 메시지와 중첩되지 않을 만큼의 여유 시간으로써 정해진다.
본 발명에 따른 다른 일 실시예에서는, 상기 마스터 컨트롤러(11)가, 각 슬레이브 컨트롤러와 식별자 요구/할당 메시지를 주고받을 수 있는 시구간들이 할당되는 식별자 부여 사이클을 버스 상에 형성하고, 각 슬레이브 컨트롤러는 그 사이클을 기반으로 자신의 순서에 해당하는 시구간에서 식별자를 요청하여 할당받을 수도 있다.
도 7은, 본 실시예에 따라 상기 마스터 컨트롤러(11)가 버스에 형성하는 식별자 부여 사이클의 일 예로서, 식별자 부여 사이클임을 나타내는 특정의 비트 패턴을 포함하는 헤더(71)가 전치(前置)되고, 앞서 언급한 기 지정된 수 dNpz 만큼의 시구간들, 즉 타임슬롯들이 순차적으로 할당된다.
도 7에 따른 실시예에서는, 상기 마스터 컨트롤러(11)가 상기 변조부(13)를 통해 키 코드를 변조하여 송신한 이후에, 상기 데이터 송수신부(12)를 통해 식별자 부여 사이클 형성에 필요한 비트열을 송신함으로써 도 7에 예시된 바와 같은 사이클이 형성되게 한다.
그러면, 각 슬레이브 컨트롤러(21i, i=1,2,..,N)는, 동 모듈내의 데이터 송수신부(22i)가 검출하여 전달하는 비트열에서 식별자 부여 사이클임을 나타내는 특정의 비트 패턴이 검출되면, 헤더(71) 직후를 기점으로 하여 순차적으로 정해지는 타임슬롯들(TSpz_i, i=1,2,..,dNpz)에서, 전술한 바와 같이 키 위상(θi)에 의해 정해진 자신의 순서에 해당하는 타임슬롯을 결정하게 된다. 즉, 앞서 예를 든 바와 같이, 상기 임의 슬레이브 컨트롤러(21M)는, 키 위상(θM)이 속하는 위상존의 순서가 K번째이면, 식별자 부여 사이클에서 K번째에 해당하는 타임슬롯(72)을 자신이 사용할 수 있는 슬롯으로 결정하게 되는 것이다.
본 발명에 따른 다른 일 실시예에서는, 상기 마스터 컨트롤러(11)가 버스에 형성하는 식별자 부여 사이클에서 각 타임슬롯의 구간( 즉, 할당되는 비트 수 )이 일정하지 않고 가변될 수도 있다. 이를 위해, 본 실시예에서는, 상기 마스터 컨트롤러(11)가, 각 타임슬롯에 대해 그 타임슬롯이 종료되었음을 알리는 종단 마크( 특유의 비트 패턴 )를 송신한다.
도 8은, 이 방식에 따라 버스 상에 형성되는 식별자 부여 사이클의 일 예를 나타낸 것으로서, 임의 타임슬롯이 시작되었을 때 특정의 선두비트 구간 동안 메시지의 일부분이 수신되지 않으면, 예를 들어 버스에 신호가 실리지 않은 상태이면, 상기 마스터 컨트롤러(11)는 상기 종단 마크를 버스로 송신하여 해당 타임슬롯은 종료되었음(TSpz_2, TSpz_dNpz)을 슬레이브 노드들에 알린다. 각 슬레이브 컨트롤러가 그 종단 마크를 검출하게 되면, 다음 타임슬롯이 진행되는 것으로 인식하고 그 타임슬롯이 자신의 순서에 해당하는지를 판별하게 된다.
본 발명에 따른 다른 일 실시예에서는, 일정한 크기의( 즉, 할당 비트 수가 고정된 ) 타임슬롯들로써 식별자 부여 사이클을 형성하는 도 7에 예시된 바와 같은 실시예에서도, 종단 마크가 매 타임슬롯마다 또는 일정 개수의 타임슬롯마다 부가되어 삽입될 수도 있다. 이는, 식별자 부여 사이클이 아주 길어지는 경우에, 슬레이브 모듈의 클럭이 마스터 모듈의 클럭과 위상 오차가 발생하여 타임슬롯이 중첩될 수도 있는 등의 문제를 방지하는 잇점이 있다.
임의 타임슬롯이 시작되면서 바로 식별자 요구 메시지가 수신되기 시작하면, 그 요구에 대해 식별자를 할당하는 메시지 또는 할당 실패를 알리는 메시지 등에 상기 종단 마크를 후치(後置)시켜 송신함으로써(TSpz_1,TSpz_K) 해당 타임슬롯의 종료를 알리게 된다.
이하에서는, 도 5a와 5b, 7 또는 8의 실시예들 중 어느 하나의 실시예에 따라, 각 슬레이브 모듈별로 정해지는 타임슬롯을 통해 식별자를 요구하고 그에 따라 식별자를 할당하는 과정을 설명한다.
상기 임의 슬레이브 컨트롤러(21M)는 키 위상(θM)에 근거하여 결정한 순서의 타임슬롯(TSpz_K)의 시작점이 되면, 데이터 송수신부(22M)를 통해 식별자 요구 메시지를 송신한다. 이때 송신되는 식별자 요구 메시지는, 도 9에 예시된 바와 같이, 식별자 요구임을 나타내는 값이 기입되는 유형 필드(91), 임시 파라미터 필드(92), 그리고 CRC 필드(93)를 포함하여 구성될 수 있다. 실시예에 따라서는 유형 필드가 포함되지 않을 수도 있다.
상기 임시 파라미터 필드(92)에는, 타 슬레이브 모듈과 중복될 확률이 극히 낮은 코드의 임시 파라미터를 생성하여 그 임시 파라미터를 기입하게 되며, 상기 CRC 필드(93)에는, 임시 파라미터 필드에 실리는 비트열의 전송 오류를 확인할 수 있도록 그 필드에 실리는 비트열에 대해 생성한 CRC 코드를 싣게 된다.
본 발명에 따른 일 실시예에서는, 키 심볼에 대해 얻은 복소값, 즉 키 위치(PM)의 크기( =I값2 + Q값2 ) 또는 그 크기의 일부분( 예를 들어, 크기에 대한 하위 8비트 또는 16비트 )을 상기 임시 파라미터로 사용한다. 다르게는, I값을 상위로 Q값을 하위로 결합하여 얻어지는 일정 비트수의 값을 상기 임시 파라미터로 사용할 수도 있다. 예를 들어, 임시 파라미터를 16비트로 표헌할 때, I값ⅹ256 + Q값 ( 이때, I값과 Q값은 각기 8비트로 표현된 값이다. )이 상기 임시 파라미터가 되는 것이다.
전술한 일 실시예에서와 같이, 할당개시 결정코드가 고유의 비트패턴의 할당시작 통지신호에 포함되는 형태로 구성되는 경우에는, 그 할당시작 통지신호가 변조된 복수의 심볼들로부터 얻어지는 일련의 복소값들( 키 심볼의 복소값을 포함 )의 크기들로부터 상기 임시 파라미터를 생성할 수도 있다. 예를 들어, 각 크기를 나타내는 일련의 값들에 대해, 기 지정된 해시함수를 통해 얻은 해시 값을 상기 임시 파라미터로 사용할 수도 있다.
상기 임의 슬레이브 컨트롤러(21M)는, 도 9에 예시된 바와 같이 구성되는 식별자 요구 메시지(90)를 버스로 송신하고 나면 그 송신한 임시 파라미터를 저장해 둔다.
상기 임의 슬레이브 컨트롤러(21M)가 송신한 식별자 요구 메시지(90)가 상기 마스터 모듈(10)의 데이터 송수신부(12)를 통해 수신되면(S311), 상기 마스터 컨트롤러(11)는, 그 메시지(90)의 CRC 필드(93)의 값에 근거하여 메시지 데이터에 오류가 있는지를 확인한다(S312).
오류가 없으면, 상기 마스터 컨트롤러(11)는, 식별자에 대해 기 정해진 방식에 따라, 예를 들어, 1번부터 시작하여 순차적으로 할당할 식별자를 선택하고, 이렇게 선택된 식별자를, 도 10에 예시된 바와 같은 포맷으로 구성되는 식별자 할당 메시지(100)에 실어서 버스로 송신한다(S313). 앞서 언급한 바와 같이, 실시예에 따라서는 종단 마크가 그 메시지에 후치될 수 있다.
상기 식별자 할당 메시지(100)는, 도시된 바와 같이, 식별자 할당 메시지임을 지시하는 값이 기록되는 유형 필드(101)와, 앞서 수신한 식별자 요구 메시지로부터 수신한 임시 파라미터의 코드를 그대로 기입하는 필드(102)와, 노드에 할당하는 식별자가 실리는 필드(103)로써 구성된다. 실시예에 따라서는 유형 필드가 포함되지 않을 수도 있다.
만약, 수신된 메시지(90)에 오류가 있으면, 상기 마스터 컨트롤러(11)는, 할당불가를 통지하는 메시지를 구성하여 버스로 송신한다. 이때의 메시지는 할당불가를 알리는 값만을 포함할 수도 있다(S314). 다르게는, 수신 메시지에 오류가 있을 때, 아무런 응답 메시지를 송신하지 않을 수도 있다(S314). 물론, 앞서 언급한 바와 같이 실시예에 따라서는, 종단 마크가 메시지에 부가되어 송신되거나 또는 종단 마크만이 송신될 수도 있다.
수신된 식별자 요구 메시지의 오류는, 2개 이상의 슬레이브 컨트롤러들이 동일 타임슬롯에서 동시에 요구 메시지를 버스로 송신한 경우에 발생할 수 있다. 각 슬레이브 컨트롤러가 생성한 서로 다른 임시 파라미터와 그에 따른 CRC 코드가 버스 상에 혼재됨으로써 상기 마스터 모듈의 데이터 송수신부(12)는, 송신한 비트열과는 상이한 비트열을 버스로부터 복원하게 되고 이에 따라 수신 메시지에서 CRC 오류를 검출하게 되기 때문이다.
2개 이상의 슬레이브 컨트롤러들이 동일한 타임슬롯을 사용하게 되는 것은, 서로 동일한 순서로 지정된 위상존에 속하는 키 위상을 얻은 경우이다. 따라서, 이러한 경우의 발생을 낮추기 위해서는 위상존을 보다 더 세분화시키는 것이 바람직하다. 위상존을 세분화시킬수록 할당해야 하는 타임슬롯의 수가 증가하므로, 식별자의 할당을 위한 전체 시간이 길어질 수 있다. 따라서, 위상존를 세분화시킴으로써 그 수가 수십개 이상으로 많아지는 경우에는, 각 슬레이브 모듈에서 키 위상이 속하는 위상존 외의 위상존들에 대한 타임슬롯은 짧게 종료되게 하는 도 8의 실시예를 적용하는 것이 바람직하다.
상기 마스터 컨트롤러(11)는, 수신한 식별자 요구 메시지(90)에 오류가 있는 경우에는 그 사실을 기록해 둔다. 그리고, 슬레이브 컨트롤러들로부터 식별자 요구 메시지가 수신될 때마다 전술한 바와 같은 동작을 진행하여 식별자를 요청한 슬레이브 모듈에 식별자를 부여한다.
한편, 상기 마스터 컨트롤러(11)가 송신한 식별자 할당 메시지(100)가 버스를 경유하여 데이터 송수신부(22M)를 통해 수신되면, 상기 임의 슬레이브 컨트롤러(21M)는, 자신이 식별자 요구 메시지를 송신한 응답대기 상태인지를 먼저 확인한다. 다른 슬레이브 컨트롤러들도 동일한 식별자 할당 메시지를 수신하게 되지만, 이들은 응답대기 상태가 아니므로 수신한 식별자 할당 메시지를 무시하게 된다.
응답대기 상태에서 상기 메시지(100)를 수신한 상기 임의 슬레이브 컨트롤러(21M)는, 그 메시지(100)에 실려 있는 임시 파라미터와 자신이 앞서 저장해 둔 임시 파라미터를 서로 비교한다. 그 비교결과, 양 임시 파라미터가 동일하면, 그 수신한 메시지(100)에 실려 있는 식별자(103)를 상기 슬레이브 모듈(20M)의 노드 식별자로 설정하게 된다.
다른 슬레이브 컨트롤러들도, 지금까지 설명한 상기 임의 슬레이브 컨트롤러(21M)와 마찬가지로 동작함으로써 자신의 노드에 대한 식별자를 부여받아 설정하게 된다.
전술한 실시예들에서는, 각 슬레이브 컨트롤러가, 자신이 수신한 키 심볼에 대한 키 위상이 속하는 위상존이 기 분할된 위상존들에서 어떤 순서에 해당하는지를 키 위상이 확인되는 시점에 파악하고, 정해진 기준에 의거해 지정된 타이밍에 따라 구획되는 일련의 타임슬롯들에서 그 파악한 순서에 해당하는 타임슬롯이 될 때까지 대기한 후, 해당 타임슬롯이 되었을 때 버스를 통해 식별자를 요청하였다. 하지만, 본 발명에 따른 다른 실시예에서는, 미리 분할된 위상존들을 이용하지 않고, 또한 정해진 타이밍에 구속되지 않고 키 위상에 따라 버스를 사용할 임의의 시점을 결정할 수 있다. 본 실시예에 대해서 이하에서 구체적으로 설명한다.
도 11은, 본 실시예에 따라 버스를 사용할 시점이 결정되는 방식을, 일부의 슬레이브 컨트롤러들에 대해서 도식적으로 나타낸 것으로서, 본 실시예에서는, 각 슬레이브 컨트롤러(21i, i=1,2,..,J,..,N)는 키 위상(θi)이 파악되면, 그 시점부터, 기 지정된 시간격(Tic_period)으로 반복되는 알림( 이하, '틱(tick)'이라 칭하며, 이 틱은 구비된 클럭(clock)의 한 펄스이거나 또는 N (>=2 ) 분주된 펄스에 해당할 수 있다. )마다, 상기 파악된 키 위상(θi)에 대해서 기 지정된 기본각(θDec_U)을 감산한 각으로 갱신한다. 각 슬레이브 컨트롤러에서의 이와 같은 키 위상의 틱마다의 기본각 감산이 진행되는 동안 어느 하나의 컨트롤러에서 그 감산된 결과가 기준 위상( 예를 들어, 0o ) 이하가 되면( 이를 '키 위상 감진(減盡)'이라 칭한다. ), 그 시점에 해당 슬레이브 컨트롤러는 전술한 바와 같이 식별자 요구 메시지를 버스로 송신한다. 물론, 송신하기 전에, 데이터 송수신부를 통해 버스가 무점유 상태( 예를 들어, 신호가 실리지 않는 상태 )인지를 확인하고, 무점유 상태일 때, 또는 그 무점유 상태가 기 지정된 한계시간 이상 지속될 때에만 식별자 요구 메시지를 송신한다. 이때의 한계시간은, 식별자 요구 메시지를 수신한 마스터 컨트롤러가 그에 응답하여 식별자 할당 메시지를 송신할 때 버스 상에 형성되는 식별자 요구 메시지와 식별자 할당 메시지 간의 시간격보다는 크게 설정될 수 있다.
이와 같은 방식에 따라, 각 슬레이브 컨트롤러에 의해 파악되는 키 위상이 임의적으로 분포함에 따라, 기준시점(1101) 으로부터, 식별자 할당을 위한 시구간들(11021,11022,11023,11024)이 적절히 분배되면서 그 시구간에서 메시지의 송수신을 통해 식별자가 할당된다. 상기 기준시점(1101)은, 상기 복조부(23i)를 통해 키 코드의 변조신호가 복조된 시점이거나, 또는 상기 마스터 컨트롤러(11)가 데이터 송수신부(12) 또는 변조부(13)를 통해 버스로 송신한 할당시작 통지신호가 데이터 송수신부(22i)로부터 검출된 시점일 수 있다.
그런데, 본 실시예에서도, 2개 이상의 슬레이브 컨트롤러들이 각기 파악한 키 위상들 간의 위상차가 매우 작아서, 그 중 하나의 컨트롤러가 시작한 식별자 할당 절차가 종료되기 전에 그들 중 다른 컨트롤러들에서 키 위상 감진이 될 수도 있다. 도 11의 예에서, 양 키 위상 θN과 θJ가 이와 같은 관계에 있는 키 위상들임을 보여준다. 각 키 위상에 따라 정해지는 시점들 중 상대적으로 늦은 시점 tθJ는, 그 보다 앞선 시점 tθN에서 시작된 식별자 할당 구간(11024)에 속하게 됨으로써(1103) 그 시점(tθJ)에 해당 슬레이브 컨트롤러(21J)는 바로 식별자 요청을 하지 못하고, 해당 할당 구간(11024)이 종료된 이후의 시점, 예를 들어 종료 시점으로부터 앞서 언급한 바의 한계시간(TForbInt)이 경과한 시점(1104)에 식별자 요청을 시작하게 된다.
경우에 따라서는, 이와 같이 타 슬레이브 컨트롤러가 버스를 사용하고 있는 동안에 자신의 키 위상이 감진되는 슬레이브 컨트롤러들이 복수개 있을 수도 있다. 이러한 경우에는, 앞서 설명한 바와 같이 그 버스 사용이 끝난 이후에 그 복수의 슬레이브 컨트롤러들이 동시에 식별자 요청을 시작하게 됨으로써 식별자 요구 메시지가 충돌하게 된다. 이와 같은 충돌은, 앞선 실시예들에서 설명한 동일 순서의 타임슬롯을 복수의 슬레이브 컨트롤러가 동시에 사용하는 경우와 동일하며, 그 실시예들에서 설명한, 식별자 요구가 충돌된 슬레이브 컨트롤러들에 대한 처리와 동일한 처리를 통해 식별자가 정상적으로 할당된다.
한편, 도 11에 따른 실시예에서는, 상기 마스터 컨트롤러(11)가 앞서 언급한 할당용 타이머를 구동시키는 상기 할당 제한시간에 대해서, 360o를 기본각(θDec_U)으로 나눈 값에 틱 주기(Tic_period)를 곱하여 얻어진 값보다 작지 않은 값으로 결정하고, 그렇게 구동된 할당용 타이머가 타임아웃되면 슬레이브 모듈들에 대한 식별자 부여 과정이 종료되었다고 판별한다.
본 발명에 따른 다른 일 실시예에서는, 키 위상이 감진되었다고 판별하는 기준이 되는 위상을 복수로 설정할 수도 있다. 도 11에 예시된 실시예에서는, 위상 0o를 단일의 기준 위상으로 한 것이지만, 기준 위상을 0o/180o, 0o/120o/240o 또는 0o/90o/180o/270o의 세트로 설정할 수도 있는 것이다. 보다 일반적으로는, 서로 간의 위상차가 예를 들어, 90o, 120o 또는 180o가 되는 임의의 위상들의 세트로 설정할 수 있는 것이다. 이와 같은 실시예에서는, 상대적으로 큰 값의 키 위상이 작은 값의 키 위상보다 먼저 감진됨으로써( 즉, 상대적으로 큰 값으로 지정된 기준 위상에 먼저 도달함으로써 ) 해당 키 위상을 얻은 슬레이브 컨트롤러가 식별자 요청을 먼저 시작할 수도 있다. 그리고, 본 실시예에서는, 상기 할당 제한시간을, 인접된 기준 위상 간의 위상차( 예를 들어, 90o, 120o, 180o 등 )를 기본각(θDec_U)으로 나눈 값에 틱 주기(Tic_period)를 곱하여 얻어진 값보다 작지 않은 값으로 결정하여 사용하게 된다.
상기 마스터 컨트롤러(11)는, 앞서 언급한 할당용 타이머가 타임아웃(Time Out)되거나, 또는 식별자 부여 사이클이 종료되면(S321), 앞서의 식별자 부여 과정에서 수신 메시지의 오류가 있었는지를 확인한다(S322). 수신 메시지의 오류가 없었다면, 각 노드에 대한 식별자 할당이 성공적으로 이루어진 것으로 보고 '할당 완료' 모드(M03)로 진행한다.
만약, 수신 메시지의 오류가 있었다면, 상기 마스터 컨트롤러(11)는, 노드들에 식별자를 부여하기 위해 1차적으로 수행한 과정을 보완하기 위해 식별자 부여 과정을 재수행한다. 이 부여 과정의 재수행에서도 전술한 바의 식별자 부여 동작이 그대로 수행된다. 즉, 상기 변조부(13)를 통해 할당개시 결정코드를 변조하여 송신하고 이어서 할당용 타이머를 재구동하거나 또는 상기 데이터 송수신부(12)를 통해 식별자 부여 사이클을 재형성하고(S323) '할당 중' 모드(M02)로 재진입한다. 이 식별자 부여 과정의 재수행에 있어서, 실시예에 따라서는, 전술한 바와 같이, 할당개시 결정을 위한 코드 또는 신호와 함께, 또는 그러한 신호없이 할당시작 통지신호만을 재송신할 수도 있다.
상기 슬레이브 컨트롤러들(21i, i=1,2,..,N)은, 식별자 부여 과정의 재수행에 의해 할당개시 결정코드의 심볼이 수신되어 그 심볼에 대한 키 위상이 특정되어도, 이미 노드 식별자를 정상적으로 수신하여 설정하고 있는 경우에는 검출된 키 위상을 무시하고 식별자 할당을 위한 추가적인 동작은 수행하지 않는다.
따라서, 이 재수행되는 식별자 부여 과정에서는, 앞서 동일한 타임슬롯에서 또는 동일한 시점에 식별자 요구 메시지를 송신함에 따른 충돌로 인해 식별자를 정상적으로 응답받지 못한 슬레이브 컨트롤러들( 이하, '경합 컨트롤러'라 칭한다. )만이 식별자의 할당을 다시 요구하고 그에 따라 응답되는 식별자를 수신하여 정상적으로 설정하게 된다. 이 재수행되는 식별자 부여 과정에서, 경합 컨트롤러들이, 식별자 요구 메시지를 송신할 타임슬롯이나 시점을 결정하는 방법은 전술한 어느 하나의 실시예에서의 방법과 동일하며, 다만 이때는, 다시 수신한 키 심볼에 대해 얻은 키 위상이 속하는 위상존의 순서에 따라 또는 키 위상이 감진되는 시점에 따라 재결정되므로, 경합 컨트롤러에 대해 정해지는 타임슬롯의 순서 또는 키 위상 감진 시점은 확률적으로 서로 달라질 가능성이 매우 높다. 즉, 다시 동일한 타임슬롯이 지정되거나 또는 키 위상 감진 시점이 동일해짐으로써 식별자 요청이 충돌하게 될 가능성은 매우 낮아진다.
또한, 이미 노드의 식별자를 정상적으로 설정한 슬레이브 컨트롤러들은, 키 위상이 어떤 위상존에 속하거나 또는 어떤 시점에 키 위상이 감진되더라도, 이들은 식별자 할당 절차를 위해 버스를 점유하지 않으므로, 경합 컨트롤러들이 재수행되는 식별자 부여 과정에서 다른 슬레이브 컨트롤러들과 충돌되는 경우는 발생하지 않는다.
이와 같은 식별자 부여 과정의 재수행에 의해 경합 컨트롤러들 모두 정상적으로 식별자를 할당받게 되면, 할당용 타이머의 타임아웃 시에 또는 식별자 부여 사이클의 종료 시에, 수신된 식별자 요구 메시지에 오류가 없게 되어 노드에 대한 식별자 부여가 완료되고, 만약, 수신된 식별자 요구 메시지에 오류가 있어서 경합 컨트롤러들의 일부가 여전히 식별자를 부여받지 못하면, 식별자 부여 과정을 또 다시 수행하게 된다.
본 발명에 따른 일 실시예에서는, 1회의 식별자 부여 과정이 종료되었을 때, 즉 할당용 타이머가 첫번째 타임아웃되었을 때, 또는 식별자 부여 사이클이 처음 종료되었을 때에, 수신된 식별자 요구 메시지에 오류가 없었더라도, 식별자 부여 과정을 재수행할 수도 있다. 이는, 도 1의 버스 시스템에 전원이 인가되어 상기 마스터 컨트롤러(11)가 식별자 부여를 위한 동작을 시작했을 때, 그에 따른 신호를 수신할 수 있도록 준비되지 못한 슬레이브 모듈이 있을 수도 있고, 다르게는 식별자 부여 과정의 정상적 종료에도 불구하고 경합 컨트롤러가 있었을 수도 있기 때문이다. 후자의 경우는, 경합 컨트롤러들이 서로 동일한 타임슬롯을 사용하여 또는 동일한 시점에 식별자 요구 메시지를 송신하였지만, 마스터 모듈의 수신단에서 볼 때, 경합 컨트롤러 중 어느 한 쪽으로부터의 신호 세기가 타 경합 컨트롤러에 비해 상대적으로 매우 높아서, 그 우세 신호로써만 수신 메시지가 얻어지는 특별한 통신 환경에서 발생될 수 있다. 이러한 특별한 환경에서는, 경합 컨트롤러 중 신호의 우세를 보인 컨트롤러는 정상적으로 식별자를 할당받아 설정하게 되지만, 신호의 열세를 보인 경합 컨트롤러는, 식별자를 요청하였지만 그 요청에 대한 응답, 즉 자신이 보낸 임시 파라미터와 동일한 임시 파라미터가 실린 할당 메시지는 수신하지 못함으로써, 식별자 부여 과정이 1차적으로 종료되었을 때, 여전히 식별자 미할당 상태가 된다( 신호 우세를 보인 컨트롤러와 동일한 식별자를 자신의 노드 식별자로 설정할 수도 있는데, 이에 대해서는 이후에 설명한다. ).
상기와 같은 상황으로 인해, 식별자 부여 과정이 정상적으로 종료되었음에도 식별자 미할당 상태의 슬레이브 모듈이 있을 수 있는데, 이러한 슬레이브 모듈의 링크 컨트롤러는 재수행되는 식별자 부여 과정에 참여( 결정된 타임슬롯을 사용한 또는 키 위상의 감진 시점에의 식별자 요청과 그에 따른 응답을 수신 )하여 식별자를 정상적으로 부여받을 수 있다.
만약, 1차의 식별자 부여 과정에서 수신 메시지의 오류가 있어서 식별자 부여 과정을 재수행하게 될 때는, 초기화 등의 지연에 의해 1차의 식별자 부여 과정에 참여하지 못한 슬레이브 모듈이나, 타임슬롯이나 송신 시점에서의 충돌에도 불구하고 메시지의 오류가 없을 정도로 신호 열세를 보여 식별자를 수신하지 못한 슬레이브 모듈이 있었다면, 이러한 슬레이브 모듈내의 링크 컨트롤러는, 메시지의 오류가 있었던 경합 컨트롤러들과 함께 그 재수행되는 식별자 부여 과정에 참여함으로써 식별자를 부여받을 수 있게 된다.
한편, 전술한 바의 식별자의 자율적 할당의 과정에서, 경합 컨트롤러들이 서로 동일한 식별자를 설정하는 경우가 발생할 수도 있다. 이는 확률적으로 매우 희박하지만, 키 위상이 동일 위상존에 속하게 된 또는 키 위상이 감진 시점이 동일하게 된 슬레이브 컨트롤러들이, 각기 키 심볼 등의 복소값에 근거하여 생성한 임시 파라미터들도 동일한 경우이면 발생할 수 있다. 즉, 서로 동일한 식별자 요구 메시지를 생성하여 송신하게 되고, 그에 따라 수신되는 식별자 할당 메시지에 실린 임시 파라미터도, 각 경합 컨트롤러가 저장해 둔 임시 파라미터와 동일하기 때문에 그 할당 메시지에 실린 식별자를 자신의 노드 식별자로 설정하게 되는 것이다.
따라서, 본 발명에 따른 일 실시예에서는, 이와 같이 하나의 식별자가 복수의 슬레이브 모듈에 설정되는 경우를 제거하기 위해, 식별자 할당이 완료되었을 때 식별자 할당 검증과정이 진행되게 한다. 본 실시예에서는, 상기 마스터 컨트롤러(11)가, '할당 완료' 모드(M03)가 되면, 식별자의 중복할당 여부를 검증하기 위한 다음의 동작을 수행한다.
검증 동작이 시작되면, 상기 마스터 컨트롤러(11)는, 전술한 바와 같이 키 코드를 상기 변조부(13)를 통해 변조송신하고 난 후, 상기 데이터 송수신부(12)를 통해, 도 12에 예시된 바와 같은 포맷의 식별자 검증 사이클을 버스 상에 형성한다.
예시된 식별자 검증 사이클에는, 식별자 검증 사이클임을 알리는 비트 패턴을 갖는 헤더(121)가 전치되며, 이 헤더에는, 현재 할당된 식별자의 수가 기입되는 필드(121a)가 포함된다. 상기 헤더(121) 다음에는 일련의 타임슬롯( 즉, 정해진 비트 길이를 갖는 구간 )들이 할당되어 이어지는데, 이 타임슬롯들은 노드들에 현재 부여된 식별자의 수만큼만 할당된다. 도 12의 사이클의 예는, 도 1의 슬레이브 모듈이 N개인 버스 시스템에서, 1쌍의 슬레이브 모듈이 동일한 식별자 ID_x를 동시에 부여받아 중복 설정한 상태를 가정함으로써, 식별자 할당 완료 후 상기 마스터 컨트롤러(11)가 실제로 노드들에 부여한 식별자들의 수는 슬레이브 모듈들의 수 N보다 1작은 N-1개이며, 이에 따라 식별자 검증 사이클에 할당되는 타임슬롯은, 식별자 ID_1부터 시작하여 순차적으로 식별자 ID_N-1까지를 위한 N-1개임을 보여주고 있다.
그리고, 상기 식별자 검증 사이클에는 중복 할당된 ID의 기입을 위한 필드(122)가 후치되며, 이 중복ID 필드(122)에는, 다음에 설명하는 과정에 의해, 식별자가 중복할당된 슬레이브 모듈에 의해 해당 식별자가 실리게 된다.
식별자 검증 사이클이 시작되면, 식별자가 할당된 상태인 모든 슬레이브 컨트롤러들(21i, i=1,2,..,N)의 각각은, 그 사이클에 앞서 복조부(23i)를 통해 수신한 키 심볼로부터 전술한 바와 동일하게, 키 코드의 복소값을 구하여 그로부터 임시 파라미터를 생성하고, 그 생성한 임시 파라미터를, 식별자 검증 사이클에서 자신에게 할당된 식별자에 대응하는 타임슬롯이 될 때 데이터 송수신부(22i)를 통해 버스로 송신한다. 그리고, 이와 동시에 그 데이터 송수신부(22i)로부터 버스에서 검출되는 신호의 비트열과 자신이 송신한 임시 파라미터를 비교한다. 이 비교결과가 동일하면 해당 슬레이브 컨트롤러는 자신에게 할당된 식별자가 문제없는 것으로 인식한다.
만약, 앞서 설명한 바와 같이 확률적으로 매우 낮은 상황이 발생하여 1쌍의 슬레이브 컨트롤러들에 식별자( 도 12의 예에서, ID_x )가 중복 설정되었다면, 그 식별자 중복된 슬레이브 컨트롤러( 이하, '중복 컨트롤러'라 칭한다. )들은, 각기 생성한 임시 파라미터(1201,1202)를 동일한 타임슬롯(123)에서 동시에 버스로 송신하게 된다. 그런데, 이들 중복 컨트롤러가, 버스에 실린 임시 파라미터를 다시 읽어서 자신이 송신한 임시 파라미터와 비교하면 양자는 동일한 값이 되지 않는다. 중복 컨트롤러가 동시에 버스로 송신한 임시 파라미터들은 서로 동일할 확률이 극히 낮아서, 이들 임시 파라미터가 동시에 버스에 실리게 되면 충돌로 인해 신호가 왜곡되어 원래의 비트열과는 다른 비트열로 검출되기 때문이다.
따라서, 상기 중복 컨트롤러들은, 자신들이 할당받아 설정한 식별자가 중복된 것으로 인식하고, 식별자 검증 사이클에서 중복ID 필드(122)가 되면, 자신들에게 할당된 식별자 ID_x를 싣는다(p12). 이와 함께, 식별자 할당 상태를 초기화시켜 식별자 미할당 상태로 만든다.
한편, 상기 식별자 검증 사이클을 형성한 상기 마스터 컨트롤러(11)는, 그 사이클의 중복ID 필드(122)가 비어 있으면 앞선 식별자 할당 과정이 성공적인 것으로 최종 판별하고, 이후의 과정으로 진행한다. 예를 들어, 노드들 간의 데이터 송수신을 위한 데이터 사이클 형성에 필요한 동작을 수행한다.
만약, 앞서 설명한 바와 같이, 상기 중복ID 필드(122)에서 식별자를 나타내는 값이 검출되면, 상기 마스터 컨트롤러(11)는, 그 필드(122)에 실린 식별자에 대해서는 미할당으로 마크(mark)한 후, 전술한 바와 같이 식별자 부여 과정을 다시 수행한다.
식별자 부여 과정이 다시 수행되면, 중복 컨트롤러들은 식별자 미할당 상태이므로, 그들만이 식별자 부여 과정에 참여하게 되고, 이 과정에서, 미할당으로 마크된 중복되었던 식별자( 도 12의 예에서, ID_x )와 또 하나의 새로운 식별자( 도 12의 예에서, ID_N )가 그 중복 컨트롤러들에 정상적으로 각각 할당된다.
상기와 같이 진행되는 식별자 검증 과정은 1회로 종료될 수도 있고, 아니면, 중복ID 필드가 빈 상태가 될 때까지 반복하여 진행될 수도 있다.
지금까지 구체적으로 설명한, 본 발명에 따른 버스에 연결된 노드들에 고유 식별자를 부여하는 방법과 그 방법을 위한 기기의 다양한 실시예들과, 그 실시예에서 설명된 구성 및 작용 등은 서로 양립할 수 없는 경우가 아니라면, 상호 다양한 방식으로 선택적으로 결합되어 실시 가능하다.
이상, 전술한 본 발명의 실시예들은, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
10: 마스터 모듈 11,21: 링크 컨트롤러
12,22: 데이터 송수신부 13: 변조부
23,23i: 복조부 20i: 슬레이브 모듈

Claims (21)

  1. 버스에 연결된 통신모듈들의 노드 식별자 할당 방법에 있어서,
    마스터 통신모듈이, 특정 신호를 상기 버스로 송신하는 1단계와,
    상기 버스에 연결되어 전원이 함께 인가되는 동종의 슬레이브 통신모듈들의 각 통신모듈이, 상기 버스에서 상기 특정 신호가 검출되면 위상변조 방식에 의해 신호를 복조하여 복소평면 상에서의 위치를 나타내는 값을 구하고, 그 구한 위치를 나타내는 값에 근거하여 결정하는, 다수의 시점들 중 어느 하나의 시점에 노드 식별자 요청을 상기 버스로 송신하는 2단계와,
    상기 마스터 통신모듈이, 상기 노드 식별자 요청을 수신할 때마다, 현재 미할당된 노드 식별자들 중에서 선택한 하나의 식별자를 상기 노드 식별자 요청에 대한 응답으로 구성하여 상기 버스로 송신하는 3단계와,
    상기 각 통신모듈이, 상기 응답을 수신하고 그 응답에 포함된 식별자를 자신의 노드 식별자로 설정하는 4단계와,
    상기 마스터 통신모듈이, 특정의 헤더가 전치되고, 상기 슬레이브 통신모듈들에 대해서 할당한 노드 식별자들의 수만큼의 타임슬롯들이 상기 헤더에 연이어서 구획되는 특정 사이클을 상기 버스에 형성하는 5단계와,
    상기 슬레이브 통신모듈들에서 노드 식별자가 설정된 통신모듈들은 각기, 임시 파라미터를 생성하여, 자신의 노드 식별자에 따라 상기 특정 사이클 상에 정해지는 순서의 타임슬롯에서 상기 버스로 송신하면서 동시에 그 송신하는 신호를 그 버스로부터 검출하고, 그 검출된 임시 파라미터를 자신이 생성한 임시 파라미터와 비교하여 서로 동일하지 않으면, 노드 식별자 중복 사실을 상기 마스터 통신모듈에 통지하고 자신에 대해서는 노드 식별자 미설정 상태로 되돌리는 6단계와,
    노드 식별자 중복 사실을 상기 마스터 통신모듈에 통지한 통신모듈이, 상기 버스에서 상기 특정 신호를 재검출하게 되면 그 재검출 시점 이후의 다수의 시점들 중 임의의 시점에 노드 식별자 요청을 상기 버스로 송신하고 그 요청에 대한 상기 마스터 통신모듈로부터의 응답에 포함된 식별자를 자신의 노드 식별자로 다시 설정하는 7단계를 포함하여 이루어지는 방법.
  2. 제 1항에 있어서,
    상기 2단계에서, 상기 슬레이브 통신모듈들의 각 통신모듈은, 상기 복조에 의해 얻어지는 복소평면 상의 좌표값에 근거하여 생성한 임시 파라미터를 상기 노드 식별자 요청에 포함시켜 송신하고,
    상기 3단계에서, 상기 마스터 통신모듈은, 상기 임시 파라미터를 포함하고 있는 상기 노드 식별자 요청에 비트열의 오류가 없을 때에 상기 응답을 구성하여 상기 버스로 송신하는 것인 방법.
  3. 제 2항에 있어서,
    상기 3단계에서, 상기 마스터 통신모듈은, 상기 노드 식별자 요청에 포함되어 있는 상기 임시 파라미터를 포함시켜 상기 응답을 구성하고,
    상기 4단계에서, 상기 각 통신모듈은, 상기 응답에 포함된 임시 파라미터와 자신이 생성한 상기 임시 파라미터가 서로 동일한 경우에 상기 응답에 실린 식별자를 자신의 노드 식별자로 설정하는 것인 방법.
  4. 제 1항에 있어서,
    상기 다수의 시점들은, 기준 시점으로부터 순차적으로 구획되는 일련의 시구간들이 각기 시작되는 시점이고, 상기 어느 하나의 시점은, 상기 일련의 시구간들에서 순서가, 360o를 균등분할한 위상존들에서 상기 위치를 나타내는 값에 의해 정해지는 위상존의 상기 위상존들 상에서의 순서와 동일한 시구간이 시작되는 시점인 것인 방법.
  5. 제 4항에 있어서,
    상기 위상존들은 NS ( NS는 2보다 큰 정수) 개의 그룹으로 구분되고, 360o를 상기 Ns로 나눈 각의 위상차가 있는 상기 Ns개의 위상존들은 서로 같은 순서로 지정된 것인 방법.
  6. 제 4항에 있어서,
    상기 일련의 시구간들은, 상기 마스터 통신모듈이 상기 버스에 형성하는, 특정의 헤더가 전치되는 사이클에 의해서 순차적으로 정해지는 구간들인 것인 방법.
  7. 제 6항에 있어서,
    상기 시구간들의 각각은, 상기 마스터 통신모듈에 의해 실리는 종단임을 알리는 마크 패턴으로써 종료되되,
    상기 마스터 통신모듈은, 상기 시구간들 중 임의 시구간에 대하여, 그 임의 시구간이 시작된 선두에서 상기 슬레이브 통신모듈들 중 어느 하나의 통신모듈로부터의 신호가 실리지 않으면 상기 마크 패턴을 송신하도록 구성된 것인 방법.
  8. 제 1항에 있어서,
    상기 다수의 시점들은, 일정 각도씩 감산하는 매 주기의 시점이고, 상기 어느 하나의 시점은, 상기 위치를 나타내는 값에 의해 정해지는 위상에 대해서 기준 시점부터 시작하여 상기 주기마다 상기 일정 각도씩 감산함으로써 그 감산 결과가 지정된 기준 위상보다 작아지게 되는 시점인 것인 방법.
  9. 제 8항에 있어서,
    상기 기준 위상은 복수개 지정되어 있되, 그 복수개의 기준 위상들 간의 위상차는 서로 동일한 것인 방법.
  10. 제 8항에 있어서,
    상기 2단계에서, 상기 각 통신모듈은, 상기 어느 하나의 시점이 되었을 때 상기 버스가 무점유 상태인 지를 확인하고, 무점유 상태로 확인될 때에만 상기 노드 식별자 요청을 상기 버스로 송신하는 것인 방법.
  11. 제 4항 또는 제 8항에 있어서,
    상기 기준 시점은, 상기 특정 신호가 검출된 시점, 또는 상기 버스로부터 위상변조 방식에 의해 신호가 복조된 시점에 의거해 정해지는 것인 방법.
  12. 제 1항에 있어서,
    상기 마스터 통신모듈이, 상기 특정 신호를 상기 버스로 재송신하고, 그 재송신 후, 상기 슬레이브 통신모듈들 중 어느 하나의 통신모듈로부터 노드 식별자 요청이 수신되면, 그 요청에 대한 응답에 현재 미할당된 노드 식별자들 중에서 선택한 식별자를 포함시켜 상기 버스로 송신하는 보완 단계를 더 포함하여 이루어지는 것인 방법.
  13. 제 12항에 있어서,
    상기 보완 단계는, 상기 슬레이브 통신모듈들 중 적어도 일부가, 상기 2단계에서의 노드 식별자의 요청 시점 결정 및 그 결정된 시점에의 송신과 동일한 방식으로 시점을 결정하여 각기 송신한 노드 식별자 요청들의 적어도 하나에서, 데이터 오류가 있었을 때에 수행되는 것인 방법.
  14. 제 12항에 있어서,
    상기 보완 단계는, 상기 특정 신호의 송신과 함께 지정된 시간이 경과된 후에, 또는 상기 버스에 형성하는, 특정의 헤더가 전치되고 그 헤더 이후에 일련의 시구간들이 순차적으로 구획되는 사이클이 종료된 이후에 수행되는 것인 방법.
  15. 제 14항에 있어서,
    상기 어느 하나의 통신모듈은, 상기 지정된 시간의 경과 후에도, 또는 상기 사이클의 종료 후에도 노드 식별자가 미설정 상태인 통신모듈인 것인 방법.
  16. 삭제
  17. 제 1항에 있어서,
    노드 식별자 중복 사실에 대한 상기 통지는, 상기 특정 사이클의 종단에 확보되어 있는 특정 필드에, 상기 비교되는 양 임시 파라미터가 동일하지 않음을 확인한 슬레이브 통신모듈이 자신에게 할당된 노드 식별자를 실음으로써 이루어지고,
    상기 방법은, 상기 마스터 통신모듈이, 상기 특정 필드에 실린 노드 식별자를 미할당으로 지정하고, 상기 특정 신호를 상기 버스로 재송신하며, 그 재송신 후 노드 식별자 요청이 수신되면, 그 요청에 대한 응답에 현재 미할당된 노드 식별자들 중에서 선택한 식별자를 포함시켜 상기 버스로 송신하는 단계를 더 포함하여 이루어지는 것인 방법.
  18. 제 1항에 있어서,
    상기 2단계에서, 상기 각 통신모듈은, 상기 검출되는 특정 신호에 대해 위상변조 방식으로 복조하여 상기 위치를 나타내는 값을 구하거나, 또는 상기 특정 신호가 검출된 시점 이후에 상기 버스에서 검출한 신호에 대해 위상변조 방식으로 복조하여 상기 위치를 나타내는 값을 구하는 것인 방법.
  19. 삭제
  20. 연결된 버스를 통해 노드 식별자를 제공받아 설정할 수 있는 기기에 있어서,
    상기 버스에 실리는 신호를 검출하여 데이터 비트로 변환하고, 또한 상기 버스에서 검출하는 신호를 위상변조 방식에 의해 복조하도록 구성된 수신단과, 인가되는 데이터를 상기 버스에 적합한 신호 형태로 변환하여 송신하도록 구성된 송신단을 포함하여 구성된 송수신부와,
    상기 위상변조 방식에 의한 복조로부터 복소평면 상에서의 위치를 나타내는 값을 구하고, 그 구한 위치를 나타내는 값에 근거하여 결정하는, 다수의 시점들 중 어느 하나의 시점에 노드 식별자 요청을 상기 송수신부를 통해 상기 버스로 송신하며, 상기 노드 식별자 요청에 대한 응답이 상기 송수신부를 통해 수신될 때는 그 응답에 포함된 노드 식별자를 자신의 노드 식별자로 설정하도록 구성되고, 또한, 상기 버스에 연결된 기기들에 대해서 할당한 노드 식별자들의 수만큼의 타임슬롯들이 연이어져 구획되는 특정 사이클이 상기 버스에 형성될 때, 임시 파라미터를 생성하여, 자신의 노드 식별자에 따라 상기 특정 사이클 상에 정해지는 순서의 타임슬롯에서 상기 버스로 송신하면서 동시에 그 송신하는 신호를 그 버스로부터 검출하고, 그 검출된 임시 파라미터를 자신이 생성한 임시 파라미터와 비교하여 서로 동일하지 않으면, 노드 식별자 중복 사실을 상기 버스에 연결된 특정 기기에 통지하고 자신에 대해서는 노드 식별자 미설정 상태로 되돌리며, 노드 식별자 중복 사실을 통지한 후에, 상기 버스에서 특정 신호를 검출하게 되면, 그 검출 시점 이후의 다수의 시점들 중 임의의 시점에 노드 식별자 요청을 상기 버스로 송신하고 그 요청에 대한 상기 특정 기기로부터의 응답에 포함된 식별자를 자신의 노드 식별자로 다시 설정하도록 구성된 컨트롤러를 포함하여 구성되되,
    상기 기기는, 각기 상기 송수신부와 상기 컨트롤러를 포함하여 구성되어 상기 버스에 연결되는, 상기 기기와 동종의 다른 복수의 기기들과 함께 전원이 인가되도록 의도된 것인 기기.
  21. 제 20항에 있어서,
    상기 컨트롤러는, 상기 노드 식별자 요청에, 상기 복조로부터 얻어지는 복소평면 상의 좌표값에 근거하여 생성한 코드를 포함시키고, 또한 상기 응답에 포함되어 있는 코드가 자신이 생성한 상기 코드와 동일한 경우에 상기 응답에 포함된 노드 식별자를 자신의 노드 식별자로 설정하도록 구성된 것인 기기.
KR1020180091806A 2018-08-07 2018-08-07 버스에 연결된 노드들에 고유 식별자를 부여하는 방법과 그 방법을 위한 기기 KR102048635B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180091806A KR102048635B1 (ko) 2018-08-07 2018-08-07 버스에 연결된 노드들에 고유 식별자를 부여하는 방법과 그 방법을 위한 기기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180091806A KR102048635B1 (ko) 2018-08-07 2018-08-07 버스에 연결된 노드들에 고유 식별자를 부여하는 방법과 그 방법을 위한 기기

Publications (1)

Publication Number Publication Date
KR102048635B1 true KR102048635B1 (ko) 2020-01-08

Family

ID=69154014

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180091806A KR102048635B1 (ko) 2018-08-07 2018-08-07 버스에 연결된 노드들에 고유 식별자를 부여하는 방법과 그 방법을 위한 기기

Country Status (1)

Country Link
KR (1) KR102048635B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4152699A1 (en) * 2021-09-20 2023-03-22 CAME S.p.A. Detecting configuration errors in a bus control system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2959403B2 (ja) * 1994-07-25 1999-10-06 松下電工株式会社 ネットワーク機器の自動id割り付け方法及び装置
US20030074450A1 (en) * 1998-11-26 2003-04-17 Sung-Bong Kang Home network system and method of allocating node identification

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2959403B2 (ja) * 1994-07-25 1999-10-06 松下電工株式会社 ネットワーク機器の自動id割り付け方法及び装置
US20030074450A1 (en) * 1998-11-26 2003-04-17 Sung-Bong Kang Home network system and method of allocating node identification

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4152699A1 (en) * 2021-09-20 2023-03-22 CAME S.p.A. Detecting configuration errors in a bus control system

Similar Documents

Publication Publication Date Title
KR102370862B1 (ko) 통신 방법, 대응되는 시스템, 디바이스, 신호 및 자동차
US10204072B2 (en) Method for automatically allocating addresses to similar bus users
EP0060067B1 (en) Multi-station token pass communication system
EP3905733A1 (en) Information transmission method and terminal
US8472356B2 (en) System and method for managing communication links
EP2375632B1 (en) Magnetic field communication method for managing node with low power consumption
CN1143473C (zh) 在一组设备之间可靠的通信的无线通信系统
CN105512081B (zh) 用于以可转换的数据速率进行串行数据传输的方法和装置
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
TW201246869A (en) Method and apparatus for adapting data transmission security in serial bus system
JP2000230978A (ja) 電子式識別システム
JPH0548610A (ja) 無線通信システム
KR102048635B1 (ko) 버스에 연결된 노드들에 고유 식별자를 부여하는 방법과 그 방법을 위한 기기
KR102001366B1 (ko) 복수 기기의 저전력블루투스 연결방법
CN112104760A (zh) 地址码分配方法、主机及从机
US20220022205A1 (en) System combination of an asynchronous and a synchronous radio system
WO2004100435A2 (en) Mac protocol for centralized wireless network communication management
US11838146B2 (en) Subscriber station for a serial bus system and method for communicating in a serial bus system
CN102291303B (zh) 一种单板及其确定主备状态的方法
JP3739662B2 (ja) 無線通信システム
US7162260B2 (en) Method of managing communication network, and communication device
JP2004523991A (ja) Tdma通信システム
JPH1174889A (ja) トポロジー修正方式
WO2015035815A1 (zh) 复用射频前端的方法及系统
KR102055504B1 (ko) 데이터 버스에 연결된 노드의 디스커버리와 버스중재 방법 및 그 방법을 위한 기기

Legal Events

Date Code Title Description
X091 Application refused [patent]
GRNT Written decision to grant