KR20220135775A - 모듈 어셈블리 및 그의 멀티 마스터 통신방법 - Google Patents

모듈 어셈블리 및 그의 멀티 마스터 통신방법 Download PDF

Info

Publication number
KR20220135775A
KR20220135775A KR1020210041900A KR20210041900A KR20220135775A KR 20220135775 A KR20220135775 A KR 20220135775A KR 1020210041900 A KR1020210041900 A KR 1020210041900A KR 20210041900 A KR20210041900 A KR 20210041900A KR 20220135775 A KR20220135775 A KR 20220135775A
Authority
KR
South Korea
Prior art keywords
module
bus
modules
data
output
Prior art date
Application number
KR1020210041900A
Other languages
English (en)
Other versions
KR102489255B1 (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 주식회사 럭스로보
Priority to KR1020210041900A priority Critical patent/KR102489255B1/ko
Priority to CN202180004089.7A priority patent/CN115413341A/zh
Priority to EP21823458.1A priority patent/EP4095707A4/en
Priority to PCT/KR2021/015291 priority patent/WO2022211204A1/ko
Priority to US17/552,864 priority patent/US11726942B2/en
Publication of KR20220135775A publication Critical patent/KR20220135775A/ko
Application granted granted Critical
Publication of KR102489255B1 publication Critical patent/KR102489255B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Abstract

본 발명의 실시예에 따른 본 발명은 모듈 어셈블리 및 그의 멀티 마스터 통신방법에 관한 것으로서, 보다 상세하게는 상호 결합시 오픈드레인기반의 단선통신버스를 형성하여 데이터 송수신이 가능한 복수 개의 모듈을 포함하고, 상기 복수 개의 모듈 중 데이터 송신이 필요한 적어도 하나의 모듈은, 상기 단선통신버스 상태를 감지하여 온상태이면 기 설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언하고 상기 송신의사를 제1선언한 적어도 하나의 모듈은, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언하며, 상기 제2중재시간내에서 하이신호를 마지막 출력한 모듈이 최종 버스점유를 확보하는 모듈 어셈블리 에 관한 것이다.

Description

모듈 어셈블리 및 그의 멀티 마스터 통신방법{A MODULE ASSEMBLY AND MULTI-MASTER COMMUNICATION METHOD THEREOF}
본 발명은 모듈 어셈블리 및 그의 멀티 마스터 통신방법에 관한 것으로서, 보다 상세하게는 UART 인터페이스를 구비한 복수 개의 모듈을 결합하여 단선(one-wire) 통신버스를 공유하고, 오픈드레인 특성을 기반으로 송신 우선권을 중재하여 충돌을 방지함으로써 멀티 마스터 통신을 구현할 수 있는 모듈 어셈블리 및 그의 멀티 마스터 통신방법에 관한 것이다.
최근 교육, 취미, 연구, 생산 등을 목적으로 하는 다양한 모듈 기반 제작 도구들이 제안되고 있다. 이러한 제작 도구들에 포함된 모듈들은 각각 특정한 기능을 수행할 수 있으며, 서로 연결되어 모듈 어셈블리를 형성할 수 있도록 제공된다.
이때, 각각의 모듈은 서로 전기적으로도 연결되어 에너지, 신호, 데이터 등을 송수신할 수 있도록 제공되고 있다. 사용자는 제공된 매뉴얼 또는 스스로 창작한 방식에 따라 모듈들을 조립하여 특정한 목적을 수행하는 모듈 어셈블리를 제작할 수 있다.
이러한 모듈 어셈블리는 조립된 복수 개의 모듈 간의 데이터 송수신을 수행함으로써 특정 목적을 수행할 수 있으며, 모듈 간의 데이터 송수신을 위해서는 모듈간 버스의 공유 및 버스점유에 대한 우선권 중재 등이 필요하다.
데이터 송수신을 위해 이용되는 통신버스로 CAN 통신을 이용하는 경우가 많다. 이러한 CAN 통신을 이용하는 모듈로 특허문헌으로 한국공개특허 제2017-0104306호(이하, 특허문헌1)가 있다. 특허문헌1은 CAN 통신 방식에 따라 기 설정된 우선순위기반의 중재 방법에 따라 특정 모듈이 마스터로 동작된다.
일반적으로, CAN 통신은 모듈별로 기 설정된 우선순위를 가지며, 우선순위를 기반으로 송신 의도를 선언한 순위대로 버스점유권을 제공하는 방식을 활용하고 있다. 이에 멀티 마스터 통신의 구현시 CAN 통신이 일반적으로 사용되고 있다.
CAN 통신을 이용하는 경우 모듈간 플러그 앤 플레이의 구현이 용이하며, 브로드 캐스팅 네트워크의 구현이 용이하고, 높은 신뢰도를 갖고서 시스템 제어 속도와 안전성을 향상시킬 수 있다.
이러한 CAN 통신을 적용하기 위해서는 모듈의 프로세싱 성능이 뒷받침되어야 한다. 하지만, 단가 및 기능을 고려하여 저 성능의 프로세서를 사용하는 모듈 어셈블리는 성능상의 제약으로 인하여 CAN 통신을 활용하는데 어려움이 있으며, CAN 통신 적용시 비용이 현저하게 상승하게 된다.
이에, 모듈의 프로세싱 성능 등이 부족한 상황에서도 버스점유 중재를 통해 멀티 마스터 통신을 구현할 수 있는 방법이 필요하다.
: 한국공개특허 제2017-0104306호(2017.09.15.공개)
본 발명이 해결하고자 하는 과제는, UART 인터페이스를 구비한 복수 개의 모듈을 결합하여 단선(one-wire) 통신버스를 공유하고, 오픈드레인 특성을 기반으로 송신 우선권을 중재하여 충돌을 방지함으로써 멀티 마스터 통신을 구현할 수 있는 모듈 어셈블리 및 그의 멀티 마스터 통신방법을 제공하는 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 어셈블리모듈은, 상호 결합시 오픈드레인기반의 단선통신버스를 형성하여 데이터 송수신이 가능한 복수 개의 모듈을 포함할 수 있다.
이때, 상기 복수 개의 모듈 중 데이터 송신이 필요한 적어도 하나의 모듈은, 상기 단선통신버스 상태를 감지하여 온상태이면 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언하고, 상기 송신의사를 제1선언한 적어도 하나의 모듈은, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언하며, 상기 제2중재시간내에서 하이신호를 마지막 출력한 모듈이 최종 버스점유를 확보할 수 있다.
또한, 각각의 모듈은, 전송할 데이터가 있는 경우, 상기 제1 선언 및 제2 선언을 위한 제어신호를 출력하는 프로세서; 및 상기 출력되는 제어신호에 따라 상기 단선통신버스 연결을 스위칭하여 중재시간내에 로우신호 또는 하이신호를 출력하는 통신유닛을 포함할 수 있다.
또한, 상기 통신유닛의 입출력단은 오픈드레인으로 구성될 수 있다.
또한, 상기 통신유닛은, 상기 프로세서로부터 하이레벨의 제어신호를 입력받으면 턴온되어 로우신호를 출력할 수 있다.
또한, 상기 통신유닛은, 상기 프로세서로부터 로우레벨의 제어신호를 입력받으면 턴오프되고 하이신호를 출력할 수 있다.
또한, 상기 단선통신버스는, 적어도 하나의 모듈이 로우신호를 출력하면 접지 상태가 될 수 있다.
또한, 상기 단선통신버스는, 상기 복수 개의 모듈에서 모두 하이신호를 출력할 때 온 상태가 될 수 있다.
또한, 상기 복수 개의 모듈은, 제1중재시간의 시작시 모두 하이신호를 출력하도록 설정되고, 상기 제1선언에 의해 단선버스상태가 접지상태가 되면, 송신의사를 미선언한 모듈은 상기 제1중재시간 및 제2중재시간 동안 하이신호를 유지할 수 있다.
또한, 상기 최종 버스점유를 확보한 모듈은, 상기 단선 통신 버스를 통해 송신 데이터를 다른 모듈로 전송하고, 상기 다른 모듈은, 상기 최종 버스점유를 확보한 모듈로부터 수신한 데이터의 목적지 정보가 자신의 ID와 동일하지 않으면 상기 수신한 데이터를 폐기할 수 있다.
또한, 상기 복수 개의 모듈은, 마스터 모듈이 되고, 시작 섹션(SoF), 제어 섹션, 데이터 섹션, CRC 섹션, ACK 섹션 및 중재 섹션을 순서대로 포함하는 데이터 프레임을 이용하여 데이터를 송수신할 수 있다.
또한, 상기 통신유닛은 UART 통신인터페이스가 될 수 있다.
또한, 본 발명의 일 실시 예에 따르면, 상호 결합시 오픈드레인기반의 단선통신버스를 형성하여 데이터 송수신이 가능한 복수 개의 모듈을 포함하는 모듈 어셈블리의 멀티마스터 통신방법은, 상기 복수 개의 모듈 중 데이터 송신이 필요한 적어도 하나의 모듈이, 상기 단선통신버스 상태를 감지하여 온상태이면 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언하는 단계, 상기 송신의사를 제1선언한 적어도 하나의 모듈이, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언하는 단계 및 상기 제2중재시간내에서 하이신호를 마지막 출력한 모듈이, 최종 버스점유를 확보하는 버스점유 단계를 포함할 수 있다.
또한, 상기 복수 개의 모듈은, 프로세서 및 입출력단이 오픈드레인으로 구성되는 통신유닛을 포함하고, 상기 송신의사를 제1선언하는 단계는, 상기 데이터 송신이 필요한 적어도 하나의 모듈 각각에서, 상기 프로세서가, 송신할 데이터가 있는 경우 상기 단선통신버스를 모니터링하여 온상태이면 상기 제1중재시간내에 제1 선언을 위한 하이신호를 출력하는 단계 및 상기 통신유닛이, 상기 프로세서로부터 출력되는 하이신호에 따라 턴온되어 로우신호를 출력하는 단계를 포함할 수 있다.
또한, 상기 송신의사를 제2선언하는 단계는, 상기 프로세서가, 제2중재시간내에 제2선언을 위한 로우신호를 출력하는 단계 및 상기 통신유닛이, 상기 프로세서로부터 출력되는 로우신호에 따라 턴오프되어 하이신호를 출력하는 단계를 포함할 수 있다.
또한, 상기 단선통신버스는, 적어도 하나의 모듈이 로우신호를 출력하면 접지 상태가 될 수 있다.
또한, 상기 단선통신버스는, 상기 복수 개의 모듈에서 모두 하이신호를 출력할 때 온 상태가 될 수 있다.
또한, 상기 복수 개의 모듈은, 제1중재시간의 시작시 모두 하이신호를 출력하도록 설정되고, 상기 제1선언에 의해 단선버스상태가 접지상태가 되면, 송신의사를 미선언한 모듈은 상기 제1중재시간 및 제2중재시간 동안 하이신호를 유지할 수 있다.
또한, 상기 최종 버스점유를 확보한 모듈에서, 상기 단선 통신 버스를 통해 송신 데이터를 다른 모듈로 전송하는 단계 및 상기 다른 모듈에서, 상기 최종 버스점유를 확보한 모듈로부터 수신한 데이터의 목적지 정보가 자신의 ID와 동일하지 않으면 상기 수신한 데이터를 폐기하는 단계를 더 포함할 수 있다.
또한, 상기 복수 개의 모듈은, 마스터 모듈이 되고, 시작 섹션(SoF), 제어 섹션, 데이터 섹션, CRC 섹션, ACK 섹션 및 중재 섹션을 순서대로 포함하는 데이터 프레임을 이용하여 데이터를 송수신할 수 있다.
또한, 상기 통신유닛은 UART 통신인터페이스가 될 수 있다.
본 발명의 일 실시 예에 따른 모듈 어셈블리 및 그의 멀티 마스터 통신방법은, UART 인터페이스를 구비한 복수 개의 모듈을 결합하여 단선(one-wire) 통신버스를 공유하고, 오픈드레인 특성을 기반으로 송신 우선권을 중재하여 충돌을 방지함으로써 멀티 마스터 통신을 구현할 수 있다.
이에, CAN 통신의 구현없이도 송신 우선권 중재를 통한 멀티 마스터 통신을 수행할 수 있으며 모듈의 단가를 낮출 수도 있다.
또한, 제1중재만 수행할 시 모듈의 처리속도 한계로 정확한 버스점유 모듈을 결정하는데 어려움이 있으나, 본 발명의 일 실시 예에서는 오픈드레인 특성을 기반으로 제1중재 및 제2중재를 수행하여 하나의 모듈에서 버스를 점유할 수 있게 함으로써 처리속도의 한계를 극복할 수 있다.
또한, 데이터 프레임의 마지막 섹션에 중재 섹션을 구비하여, 제2중재시 마지막 하이신호를 출력하는 모듈(버스점유권 확보 모듈)에 의해 버스가 온 됨과 동시에 버스점유권을 확보한 모듈은 데이터프레임을 공유버스를 통해 전송할 수 있다.
또한, 끼움, 접촉 등의 하드웨어적 결합 및 오픈드레인을 통해 모듈간 공유 버스를 형성함으로써 멀티 마스 통신에 이용되는 모듈의 추가 및 제거가 용이하다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 모듈 어셈블리의 개략적인 구성을 나타내는 블럭도이다.
도 2는 도 1의 모듈 어셈블리가 조립된 모습을 보여주는 사시도이다.
도 3은 도 2의 모듈 어셈블리 중 일부 결합된 모듈의 내부 구조를 보여주는 평면도이다.
도 4는 본 발명의 일 실시 예에 따른 통신유닛에 적용된 오픈드레인의 특성을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 단선통신버스를 형성하는 오픈드레인의 특성을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 전송 프레임을 나타내는 도면이다.
도 7은 본 발명의 일 실시 예에 따른 모듈 어셈블리의 버스점유 중재를 설명하기 위한 중재 섹션의 타임테이블이다.
도 8은 도 7의 제1중재시간에 송신의사를 제1선언한 우선권 후보를 설명하기 위한 타임테이블이다.
도 9는 본 발명의 일 실시예에 따른 모듈 어셈블리의 멀티마스터 통신방법을 설명하기 위한 흐름도이다.
이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
또한, 이하의 설명에서 제1, 제2 등과 같은 서수식 표현은 서로 동등하고 독립된 객체를 설명하기 위한 것이며, 그 순서에 주(main)/부(sub) 또는 주(master)/종(slave)의 의미는 없는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 모듈 어셈블리의 개략적인 구성을 나타내는 블럭도이다. 본 발명의 일 실시 예에 따른 모듈 어셈블리는 상호 결합시 오픈드레인기반의 단선통신버스(10)를 형성하여 데이터 송수신이 가능한 복수 개의 모듈(100a 내지 100n)을 포함할 수 있다.
각각의 모듈(100a 내지 100n)은 프로세서(110) 및 통신유닛(120)을 포함할 수 있고, 통신유닛(120)은 UART 인터페이스가 되며, 입출력단이 오픈드레인으로 구성될 수 있다.
이때, 프로세서(110) 및 통신유닛(120)은 하나의 마이크로프로세서로 구현될 수 있으며, 마이크로프로세서가 오픈드레인을 구성하지 않는 경우 별도로 구비하여 연결할 수도 있다.
본 발명의 일 실시 예에 따른 모듈 어셈블리는 각 모듈에서 버스점유 중재를 수행하여 전송 모듈을 결정함으로써 멀티 마스터 통신을 구현할 수 있다. 이에 대한 설명의 이해를 위해, 본 발명의 주요 특징인 버스점유 중재방법을 설명하기에 앞서, 도 2 및 도 3을 통해 본 발명의 일 실시 예에 따른 모듈의 구조 및 모듈간 결합을 설명하고, 도 4 및 도 5를 통해 본 발명의 일 실시 예에 따른 통신유닛의 오픈드레인 특성을 먼저 설명하도록 한다.
도 2는 도 1의 모듈 어셈블리가 조립된 모습을 보여주는 사시도이며, 도 3은 도 2의 모듈 어셈블리 중 일부 결합된 모듈의 내부 구조를 보여주는 평면도이다. 도 2 및 도 3을 통해, 각 모듈(100a 내지 100n)의 구조 및 모듈간 결합을 통한 단선통신버스(10)의 형성을 알 수 있다.
모듈 어셈블리는 서로 조립 가능한 복수 개의 모듈(100a 내지 100n)들의 집합 또는 이들이 조립된 구조체로 정의될 수도 있으며, 그 목적, 종류, 형태, 모듈의 개수 등에 의해 제한되지 않는다.
복수 개의 모듈들(100a 내지 100n)은 전압 또는 전류의 변화로서 나타내는 신호, 데이터, 또는 전기 에너지(이하, “전기적 신호”라고도함)를 다른 모듈 또는 외부 장치와 송수신할 수 있도록 구성된 객체로 정의될 수 있다. 이러한 모듈들은 중앙처리장치(CPU), 메모리(316), 전원 등을 구비하거나 또 다른 모듈의 제어를 받아 작동 가능한 감지(Sensing) 수단, 처리(Processing)수단 및 구동(Driving) 수단 등을 구비하여 각각 독립적으로 구동 가능할 수 있다.
또한, 각각의 모듈들(100a 내지 100n)은 독립적으로 특정한 기능을 수행하거나, 다른 모듈과의 상호 작용에 의해 특정한 기능을 수행하도록 구성될 수도 있다. 모듈들이 중앙처리장치(CPU)를 구비하는 경우에는 각각의 모듈별로 펌웨어(Firmware)가 설치될 수도 있다.
상술한 바에 따라, 각각의 모듈들(100a 내지 100n)은 입력(Input) 모듈, 출력(Output) 모듈, 셋업(Setup) 모듈로 구분될 수 있다.
여기서, 입력 모듈은 리모컨 등으로부터 적외선 신호를 수신할 수 있는 적외선 모듈(IR(Infrared) module), X,Y,Z축 변화 각도와 가속도를 감지할 수 있는 자이로스코프 센서 모듈(Gyroscope module), 모듈 손잡이의 회전을 이용하여 회전 각도 혹은 회전 속도를 측정할 수 있는 다이얼 모듈(Dial module), 버튼의 눌림을 감지하여, 클릭, 더블 클릭, 눌린 상태를 감지하고, 토글(Toggle)을 사용해 온/오프(On/Off) 상태가 유지될 수 있도록 하는 버튼 모듈(Button module), 온도, 습도, 조도 등을 측정할 수 있는 환경 모듈(Environment module), 주변의 소리 세기(dB)와 주파수를 감지할 수 있는 마이크 모듈(Mic module) 및 거리를 감지할 수 있는 초음파 모듈(Ultrasonic module) 등으로 구성될 수 있다.
또한, 출력 모듈은 색 변경에 따른 시각적 표시가 가능한 LED 모듈(LED module), 스피커 모듈(Speaker module), 사용자가 그린 그림이나, 글자 또는 모듈 정보 등을 화면에 표시하는 디스플레이 모듈(Display module), 속도, 각도, 토크(Torque)를 설정하여 전기 신호를 모터 모듈로 보내서 회전 운동을 시켜주는 모터 컨트롤러 모듈(Motor Controller module), 또는 모터 컨트롤러에서 받은 전기적 신호를 회전운동으로 변환할 수 있는 모터 모듈(Motor; MDP-14) 등으로 구성될 수 있다.
또한, 셋업 모듈은 다른 모듈에 전원을 공급할 때 사용되는 배터리 모듈(Battery module) 및 블루투스(Bluetooth), 와이파이(WiFi) 혹은 USB 연결을 통해 모듈을 PC, 스마트폰 또는 모듈과 연결시킬 수 있는 네트워크 모듈(Network module) 등으로 구성될 수 있다.
또한, 각각의 모듈들(100a 내지 100n)은 외부의 구동 장치와 케이블에 의해 연결될 수도 있다. 이 경우, 모듈 어셈블리(300)는 리모컨 또는 스마트폰의 신호를 수신하여 모터를 선택적으로 작동시키는 장치일 수 있다.
이와 같은 모듈 어셈블리의 구성은 하나의 예에 불과하며, 각각의 모듈(100a 내지 100n)은 독립적으로, 또는 다른 모듈과의 연동을 통해 임의의 기능을 수행할 수 있도록 제공될 수 있다.
복수의 모듈들(100a 내지 100n)은 이웃하는 다른 모듈과 면 접촉 가능하도록 복수 개의 측면을 갖는 다각형 기둥 형상인 입체일 수 있다. 여기서, 면 접촉은 측면의 모든 면적이 모두 접촉되는 것 만을 의미하는 것은 아니며, 측면의 일부만 접촉되어 어느 하나의 모듈의 측면과 다른 모듈의 측면이 서로 마주보며 일부분이 접촉되는 것을 포함하는 의미로 이해되어야 한다.
도 2를 참조하면, 각각의 모듈들(100a 내지 100n)은 정사각형 형상의 평면을 갖는 것을 예로 들어 도시하였으나, 평면상 정삼각형, 직사각형, 정오각형 등의 다각형 기둥 형상으로 형성될 수도 있고, 특히, 정다각형 형상으로 형성될 수도 있다. 일부의 모듈들이 서로 다른 입체적 형상을 가질 수도 있다. 또한, 모듈들 중 일부는 뿔, 다면체 등의 다양한 입체적 형상을 가질 수도 있다.
각 모듈(100a 내지 100n)은 외관을 형성하는 하우징(1)과, 상기 하우징(1)의 측면에 노출되어 전기 신호 등을 연결된 다른 모듈에 전달하거나 수신할 수 있는 단자(2)와, 하우징의 외부로 선택적으로 돌출되는 결합핀(도 2의 (3) 또는 도 3의 (108))이 제공된 핀 설치부(105) 및 다른 모듈의 결합핀이 삽입되는 핀 수용부(도 2의 (4) 또는 도 3의 (103))를 포함할 수 있다.
여기서, 결합핀(108), 핀 설치부(105) 및 핀 수용부((도 2의 (4) 또는 도 3의 (103))는 인접한 2개의 모듈을 서로 연결시키기 위한 결합기구로 마련된 것이다. 도 3의 본 실시예에서는, 본체 케이스(1b)의 측면에 마련된 결합핀(108)과, 상기 결합핀(108)을 자력으로 끌어당기기 위 한 자석(109)이 마련될 수 있다. 상기 결합핀(108)과 상기 자석(109) 덕분에, 인접한 위치에 배치된 2개의 모듈은 서로 자력에 의해 끌어당겨져 결합이 될 수 있다. 본 실시예에서는, 결합기구로서 결합핀(108)과 자석(109)을 예로 들어 설명하였으나 이에 한정되는 것은 아니며, 다른 방식의 결합기구가 사용될 수도 있 음은 물론이다. 예컨대, 상기 본체 케이스(1b)에는 돌출부와 상기 돌출부를 수용하는 만입부가 마련되어, 2 개의 이웃하는 모듈의 상기 돌출부와 상기 만입부가 서로 결합되는 방식으로 2개의 모듈을 결합시킬 수도 있다.
하우징(1)은 평면이 정사각형인 직육면체 형상으로 형성된 케이스로서, 내부의 구성품들을 보호한다. 하우징(1)은 도 2에 도시된 바와 같이 상부 케이스(1a)와 하부 케이스(1b)가 결합되는 형태로 제공될 수 있다. 하우징(1)을 구성하는 방법은 필요에 따라 상부 케이스(1a)와 하부 케이스(1b)가 일체로 형성되거나, 더 많은 부분으로 나뉘어 조립될 수도 있다.
또한, 하부 케이스(1b)는 외형 및 내부 구조를 형성하는 프레임, 프레임의 내측에 제공되는 기판(102) 및 기판(102)에 설치되는 기능 유닛(104)을 더 포함할 수 있다. 보다 상세하게, 기판(102)에는 제1모듈(100a)의 기능을 구현하기 위한 기능 유닛(104)이 실장될 수 있으며, 프레임의 내측 공간 중앙부에 고정 설치될 수 있다. 기능 유닛(104)은 예를 들어 본 발명의 일 실시 예에 따른 프로세서(110) 및 통신유닛(120)을 포함하는 마이크로프로세서가 될 수 있으며, 기능에 따라 모듈의 종류(입력(Input) 모듈, 출력(Output) 모듈, 셋업(Setup) 모듈)가 정해질 수 있다.
기타 본원 발명의 모듈의 더욱 상세한 구조 및 결합에 대해서는 대한민국 등록특허 공보 제10-1761596호에 상세하게 기재되어 있으며, 본원 특허 명세서에 참조로서 포함된다.
단자(2)는 전기 신호 등을 연결된 다른 모듈에 전달하거나 다른 모듈로부터 받을 수 있으며, 일 예로 하우징(1)의 내부에 제공된 기판(102)으로부터 전기 신호 등을 전달받아 단자에 접촉된 다른 모듈의 단자로 전달할 수 있다. 단자(2)는 다수 개의 접촉 점이나 연결 핀을 가질 수 있으며, 이는 전기 신호 등의 전달 방법, 표준화된 규격 등에 따라 다양한 형태를 가질 수 있다.
이와 같은 단자(2)는 핀(도 2의 (3) 또는 도 3의 (106)), 핀 설치부(105), 핀 수용부(도 2의 (4) 또는 도 3의 (103))와 한 세트를 이루어 하우징(1)의 측면에 배치될 수 있다. 구체적으로, 단자(2)는 핀(도 2의 (3) 또는 도 3의 (106))과 핀 수용부(도 2의 (4) 또는 도 3의 (103)) 사이에 배치될 수 있으며, 다른 모듈의 핀과 핀 수용부 사이에 배치된 단자에 접촉될 수 있다. 본 실시예에서는 하우징(1)의 모든 측면에 단자(2)가 제공되는 것을 예로 들었으나, 실시예에 따라 단자(2)가 형성되지 않은 측면이 존재할 수도 있다.
이때, 본 발명의 일 실시 예에서는 UART단자를 이용할 수 있으며, 오픈드레인으로 구성하여 도 3과 같이 모듈간 하드웨어적 결합시 오픈드레인기반의 단선통신버스(10)를 형성할 수 있다. 예컨대, 모듈(100a 내지 100n)은 단자(2)의 핀(106) 중 하나는 오픈드레인 출력핀이 될 수 있으며, 각 모듈의 단자(2)의 핀(106))이 서로 연결되어 단선통신버스(10)를 형성하여 공유할 수 있다.
프레임은 하우징(1)의 일부 또는 전부를 구성하는 구조물로서, 하우징(1)의 일부 또는 전부의 외형을 형성하고, 내부에 각종 부품이 설치되기 위한 공간과 구조를 제공할 수 있다. 본 실시예에서 프레임은 하우징(1)의 하부 케이스(1b)를 형성하고, 사각형 형상으로 형성되며, 4개의 코너(corner)를 갖는 것을 예로 들어 설명하나, 본 발명의 권리범위는 이에 한정되지 않는다.
상기 도 2 및 도 3과 같이, 본 발명의 일 실시 예에 따른 모듈 어셈블리는 하드웨어적 결합을 통해 복수 개의 모듈(100a 내지 100n)들이 통신유닛(120)의 오픈드레인 출력을 연결함으로써 공유 버스(10)를 형성할 수 있다. 이에, 멀티 마스 통신에 이용되는 모듈의 추가 및 제거가 용이하다.
본 발명의 일 실시예에서 통신유닛(120)은 UART 통신 인터페이스가 되며, 프로세서(110)로부터 수신되는 데이터 및 제어신호를 Tx(송신부)로 출력하여 단선통신버스(10)를 통해 다른 모듈로 전송하고, 다른 모듈의 프로세서(110)에서 단선통신버스(10)를 통해 전송되는 데이터를 Rx(수신부)를 통해 수신할 수 있다.
이때, 통신유닛(120)의 Tx(송신부) 및 Rx(수신부)는 하나의 라인으로 형성되며 해당 모듈의 프로세서(110)의 제어에 따라 통신유닛(120)의 Tx(송신부) 및 Rx(수신부)로 동작되며, 송신 및 수신되는 데이터는 통신유닛(120)의 버퍼에 기록 및 리드될 수 있다.
본 발명의 일 실시 예에서 통신유닛(120)의 입출력단은 오픈드레인으로 구현될 수 있다. 즉, 상기 통신유닛(120)의 버퍼는 오픈드레인 버퍼가 될 수 있다.
도 4 및 도 5를 통해, 본 발명의 일 실시 예에 따른 통신유닛에 적용된 오픈드레인의 특성을 살펴볼 수 있다.
도 4는 본 발명의 일 실시 예에 따른 통신유닛에 적용된 오픈드레인의 특성을 설명하기 위한 도면이다. 도 4의 (a) 및 (b)를 살펴보면, 게이트로 프로세서(110)의 제어신호가 입력될 수 있으며 제어신호의 레벨에 따라 모스펫은 턴온 또는 턴오프되어 드레인 출력을 결정할 수 있다. 또한, 오픈드레인의 드레인 출력은 다른 모듈의 드레인 출력과 연결될 수 있다.
도 4의 (a)는 로우신호가 제어신호로 입력되어 모스펫이 턴오프됨으로써 풀업저항(Rp)을 통해 외부전원(VDD)에 연결되어 드레인 출력이 논리'1' 즉, 하이(high)신호가 된다. 한편, 도 4의 (b)는 하이신호가 제어신호로 입력되어 모스펫이 턴온됨으로써 풀업저항에 의해 드레인 출력이 접지로 연결되어, 드레인 출력이 논리'0' 즉, 로우(low)신호가 된다.
즉, 각 모듈의 통신유닛(120)은, 오픈드레인 구조를 통해 프로세서(110)로부터 하이레벨의 제어신호를 입력받으면 턴온되어 로우신호를 출력하고, 프로세서(120)로부터 로우레벨의 제어신호를 입력받으면 턴오프되고 하이신호를 출력하게 된다.
도 5는 본 발명의 일 실시 예에 따른 단선통신버스를 형성하는 오픈드레인의 특성을 설명하기 위한 도면이다. 도 5는 복수 개의 모듈(100a 및 100b)의 오픈 드레인 출력을 서로 연결한 것으로, 단선통신버스를 형성할 수 있다. 도 5에서, 설명의 이해를 위해 2개의 모듈을 연결하여 설명하였으나, 동일한 방법으로 추가적인 모듈의 드레인 출력을 연결할 수 있다.
도 5를 살펴보면, 제1모듈(100a)의 오픈드레인 버퍼가 오프상태이고, 제2모듈(100b) 오픈드레인 버퍼가 온 상태인 두 출력이 서로 연결되어 단선통신버스를 형성하고 있다. 이때, 제1모듈(100a)은 논리 '1' 즉 하이신호를 출력함으로써 제1모듈의 회로에서 분리된 상태가 된다. 이에, 제1모듈(100a)은 제2모듈(100b)의 출력에 영향을 주지 않으며, 제2모듈(100b)은 외부 전원에서 풀업 저항을 거쳐 흘러 들어온 전류를 배출하는 역할을 한다.
즉, 제1모듈(100a)은 출력에 영향을 주지 않으므로 제1모듈(100a) 및 제2모듈(100b)의 오픈드레인 출력을 연결하여 형성된 단선통신버스의 논리는 '0' 즉 로우가 된다.
이와 같이, 본 발명의 일 실시 예에 따른 오픈드레인 출력을 연결한 단선통신버스(10)는 연결된 적어도 하나의 모듈이 논리 '0' 즉, 로우신호를 출력하면 접지 상태가 되고, 복수 개의 모듈(100a 내지 100n)에서 모두 논리 '1' 즉, 하이신호를 출력할 때 온 상태가 된다.
상기 도 2 내지 5와 같이, 오픈드레인 출력을 연결한 오픈드레인기반의 단선통신버스를 이용하여 멀티 마스터 통신을 수행하기 위해, 본 발명의 일 실시 예에 따른 모듈 어셈블리의 각 모듈(100a 내지 100n)은 버스점유확보를 위한 송신의사 선언을 수행하는 제1중재 및 제2중재에 참여할 수 있다.
여기서, 제1중재는 제1중재시간내에 송신의사를 제1선언하는 모듈이 송신 우선권 후보가 되는 과정이며, 제2중재는 제1중재시간에 연속된 제2중재시간내에 송신 우선권 후보가 된 적어도 하나의 모듈들이 최종 버스점유를 위해 송신의사를 제2선언하는 과정이 될 수 있다.
본 발명의 일 실시 예에 따른 복수 개의 모듈(100a 내지 100n)은 단선통신버스(10)를 통해 데이터를 송신하기 위해, 각 모듈(100a 내지 100n)은 프로세서(110)에서 송신의사를 선언하기 위한 제어신호를 출력하고, 통신유닛(120)에서 프로세서(110)의 제어신호에 따라 단선통신버스(10) 연결을 스위칭하여 버스점유를 위한 동작을 수행할 수 있다.
구체적으로, 복수 개의 모듈(100a 내지 100n) 중 데이터 송신이 필요한 적어도 하나의 모듈은, 단선통신버스(10)의 상태를 감지하여 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언할 수 있다.
이때, 단선통신버스(10)가 온상태일 때 송신의사를 제1선언한 모듈은 송신 우선권 후보가 될 수 있다. 송신 우선권 후보가 된 모듈은 버스점유를 위한 제2중재에 참여할 수 있으며, 송신 우선권 후보가 되지 못한 모듈은 버스점유에서 탈락하여 데이터를 수신하는 수신모듈이 된다.
다음으로, 송신 우선권 후보가 된 적어도 하나의 모듈은, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언할 수 있으며, 제2중재시간내에서 하이신호를 마지막 출력한 모듈이 최종적으로 버스점유를 확보할 수 있다.
즉, 제2중재시간에 하이신호를 마지막 출력한 모듈(버스점유 확보 모듈)에 의해 버스가 온되면서, 버스점유 확보 모듈이 데이터 프레임을 전송하는 전송 모듈이 될 수 있다.
도 7 및 도 8을 통해, 본 발명의 일 실시 예에 따른 멀티 마스터 통신의 버스점유를 위한 각 모듈의 송신선언을 설명할 수 있다. 이때, 본 발명의 일 실시 예에 따른 모듈어셈블리는 비동기식 시리얼 통신인 UART를 이용함으로 UART규격에 기반한 도 6과 같은 데이터 프레임을 이용하여 데이터 송수신을 할 수 있다. 설계자에 의도에 따라 변형 적용될 수도 있다.
UART는 일반적으로 컴퓨터나 주변 기기의 일종으로 병렬 데이터를 직렬화 하여 통신하는 개별 집적 회로이며, 일반적으로 MCU에 포함되어 있다. 비동기 통신이므로 동기 신호가 전달되지 않는다. 따라서 수신쪽에서 동기신호를 찾아내어 데이터의 시작과 끝을 시간적으로 알아 처리할 수 있도록 약속되어 있다. 이를 위해, 데이터 프레임에는 시작과 끝을 알리는 섹션이 필요하다.
도 6은 본 발명의 일 실시 예에 따른 전송 프레임을 나타내는 도면이다.
본 발명의 일 실시 예에서, 복수 개의 모듈(100a 내지 100n)은 도 6과 같이 시작 섹션(SoF : 21), 제어 섹션(22), 데이터 섹션(23), CRC 섹션(24) ACK 섹션(25) 및 중재 섹션(26)을 순서대로 포함하는 데이터 프레임(20)을 이용하여 데이터를 송수신할 수 있다.
여기서, 시작 섹션(21)은 프레임의 시작을 의미하며 한 비트 시간 길이만큼 유지하며, 지금부터 정해진 약속에 따라 통신을 시작한다는 것을 알린다.
제어 섹션(22)은 데이터의 길이, CRC 길이 및 제어신호 등을 전송하는 섹션이 될 수 있다.
데이터 섹션(23)은 전송하고자 하는 데이터 영역으로 전송하는 모듈의 ID, 목적지 모듈의 ID 및 데이터 영역을 포함할 수 있다.
CRC 섹션(24)은 데이터 프레임의 무결성을 확인하기 위한 섹션이 될 수 있다.
ACK 섹션(25)은 데이터 수신에 대한 수신모듈의 응답이 전송되는 섹션이다.
중재 섹션(26)은 해당 데이터 프레임의 종료시 버스 점유를 통해 다음 데이터를 송신할 모듈을 결정하는 섹션이다. 또한, 중재 섹션(26)은 데이터 프레임의 끝을 알리는 끝비트로 통신의 종료를 알릴 수 있다.
본 발명의 일 실시 예에 따른 중재 섹션(26)은 도 7 및 도 8을 통해 설명할 수 있다. 도 7은 본 발명의 일 실시 예에 따른 모듈 어셈블리의 버스점유 중재를 설명하기 위한 중재 섹션의 타임테이블이다. 도 8은 도 7의 제1중재시간에 송신의사를 제1선언한 우선권 후보를 설명하기 위한 타임테이블이다.
본 발명의 일 실시 예에 따른 복수 개의 모듈(100a 내지 100n)은 제1중재시간의 시작시 즉, ACK 섹션이 끝나면 모두 하이신호를 출력하도록 설정될 수 있다.
도 7을 참고하면, 본 발명의 일 실시 예에 따른 중재 섹션은 제1중재시간 및 제2중재시간으로 구분하여 다음 데이터를 송신할 전송 모듈을 결정하게 된다.
모듈 어셈블리가 모듈1 내지 모듈5를 포함하고 있다면, 중재 섹션의 시작시 모듈1 내지 모듈5는 모두 하이신호로 설정되며, 이중에서 송신할 데이터가 있는 모듈1, 모듈4 및 모듈 5는 제1중재시간 내에서 로우신호를 출력하여 송신의사를 제1선언할 수 있다. 이때, 각 모듈의 프로세서(110)는 단선통신버스의 상태(온 또는 접지)를 모니터링하면서 단선통신버스의 상태가 온일 때 로우신호가 출력되도록 통신유닛(120)을 제어할 수 있다.
도 7을 살펴보면 랜덤타임a에 모듈1과 모듈5가 로우신호를 출력한 것을 확인할 수 있다. 이때, 프로세서(110)는 기 설정된 버스상태감지 주기로 단선통신버스의 상태를 모니터링하기 때문에 성능에 따라 버스상태감지 주기가 달라질 수 있다. 프로세서(110)는 도 8과 같이 버스상태 감지 주기(도8의 t)단위로 버스상태를 감지하고 버스가 온상태로 감지되면 제1중재시간 내에서 통신유닛(120)을 통해 로우신호가 출력되도록 제어한다.
이에, 실제 모듈5가 키를 먼저 잡았지만, 버스상태 감지주기 t2에서 버스온 상태를 확인하여 t3에서 로우신호를 출력한 모듈1과 모듈5는 자신의 로우신호 출력에 의해 버스가 접지상태로 전환된 것으로 판단할 수 있다.
이에, 본 발명의 일 실시 예에서는 정확한 버스점유 모듈의 결정을 위해 제2중재시간내에서 제2중재를 수행한다. 버스 온 상태에서 로우신호를 출력하여 송신의사를 제1선언한 모듈1과 모듈5는 송신 우선권 후보가 되어 제2중재에 참여할 수 있다.
한편, 모듈4는 송신 선언을 위해 버스상태를 모니터링하면서 로우신호 출력을 시도하려 하였으나, 버스상태가 송신의사 선언 이전에 이미 접지상태가 되어 로우신호를 출력하지 못하고 하이신호를 유지하게 된다.
또한, 송신의사가 없는 모듈2 및 모듈3도 하이신호를 유지하게 된다.
결과적으로 제1중재에서는, 모듈1 및 모듈5가 제1중재시간 중 동시간대(도7의 랜덤타임a, 도 8의 t3)에 로우신호를 출력함으로써 송신 우선권 후보가 될 수 있으며, 버스상태는 접지상태가 될 수 있다.
다음으로, 송신 우선권 후보가 된 모듈1 및 모듈 5는 제2중재시간내에서 하이신호를 출력함으로써 송신의사를 제2선언할 수 있다. 이때, 오픈드레인기반 단선통신버스는 모든 연결된 모듈 중 적어도 하나의 모듈이 로우신호를 출력할 때 버스상태는 접지상태가 된다. 도 7의 제2중재시간을 살펴보면, 모듈1이 하이신호를 모듈5보다 먼저 출력시 모듈5가 로우신호를 출력하고 있어 버스상태는 접지상태를 유지한다.
또한, 오픈드레인기반 단선통신버스는 모든 연결된 모듈이 모두 하이신호를 출력할 때 버스상태가 온이 된다. 이에, 제2중재시간에 마지막으로 송신의사를 제2선언하는 모듈인 모듈5에 의해 버스가 온(on)될 수 있다.
따라서, 제2중재시간내에서 하이신호를 마지막 출력한 모듈인 모듈5가 최종 버스점유를 확보하여 다음 데이터를 송신할 수 있는 전송 모듈이 된다.
최종 버스점유를 확보한 모듈은, 단선통신버스(10)를 통해 데이터를 다른 모듈로 전송하고, 다른 모듈은 수신모듈이 되어 최종 버스점유를 확보한 모듈로부터 데이터를 수신하고, 수신한 데이터의 목적지 정보가 자신의 ID와 동일하지 않으면 수신한 데이터를 폐기하며, 자신의 ID와 동일하면 ACK섹션에 ACK를 보낼 수 있다.
도 9는 본 발명의 일 실시예에 따른 모듈 어셈블리의 멀티마스터 통신방법을 설명하기 위한 흐름도이다. 도 9는 도 1 내지 도 8의 모듈 어셈블리를 기반으로 하여 멀티마스터 통신을 수행할 수 있다.
복수 개의 모듈(100a 내지 100n)이 상호 결합된 모듈 어셈블리는 오픈드레인기반의 단선통신버스를 공유하여(S900) 모듈간 데이터 송수신을 수행할 수 있다. 이때, 각 모듈은 주종의 관계가 없는 마스터모듈이 되며, 데이터 송신을 위해 버스점유를 위한 중재가 필요하다. 이때 중재동작은 송신선언을 위한 제어신호의 출력을 통해 동작되며 각 모듈에서 각각 수행할 수 있다.
중재섹션의 시작시 단선통신버스(10)에 연결된 복수 개의 모듈(100a 내지 100n)은 모두 하이신호를 출력하도록 설정된다. 이때 출력은 외부 전원에 의해 결정된다.
복수 개의 모듈(100a 내지 100n) 중 데이터 송신이 필요한 적어도 하나의 모듈이(S905:Y), 단선통신버스(10) 상태를 모니터링하며(S915) 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언할 수 있다(S920).
한편, 데이터 송신이 필요하지 않은 모듈(S905:N)은 하이신호 출력을 유지한다(S910).
다음으로, 복수 개의 모듈(100a 내지 100n) 중 데이터 송신이 필요한 적어도 하나의 모듈은 단선통신버스(10)가 온상태일 때 송신의사를 제1선언하여 키를 잡은 것으로 판단한 경우, 송신 우선권 후보가 될 수 있다.
이때, 복수 개의 모듈(100a 내지 100n) 중 데이터 송신이 필요한 적어도 하나의 모듈 중 송신 우선권 후보가 된 모듈은(S925:Y) 제2중재에 참여할 수 있으며, 우선권 후보가 되지 못한 모듈(S925:N)은 송신의사 미선언으로 탈락(S935)하여 하이신호 출력을 유지한다(S910).
다음으로, 송신 우선권 후보가 된 적어도 하나의 모듈이, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언을 할 수 있다(S940).
이때, 제2중재시간내에서 로우신호를 출력하고 있는 모듈이 있는 경우 단선통신버스는 접지상태를 유지하며, 제2중재시간내에서 모든 모듈이 하이신호를 출력하는 경우 단선통신버스는 온 상태가 된다.
이에, 제2중재시간내에서 하이신호를 마지막 출력한 모듈(S940:Y)에 의해 버스가 온되면서 제2선언을 마지막 선언한 모듈이 최종 버스점유를 확보할 수 있다.
최종 버스점유를 확보한 모듈은 단선통신버스(10)를 통해 데이터를 다른 모듈로 전송하고, 다른 모듈은 수신모듈이 되어 최종 버스점유를 확보한 모듈로부터 데이터를 수신함으로써 통신할 수 있다.
따라서, 본 발명에 따르면, UART 인터페이스를 구비한 복수 개의 모듈을 결합하여 단선(one-wire) 통신버스를 공유하고, 오픈드레인 특성을 기반으로 송신 우선권을 중재하여 충돌을 방지함으로써 멀티 마스터 통신을 구현할 수 있는 효과가 있다.
특히, 오픈드레인 특성을 기반으로 제1중재 및 제2중재를 수행하여 하나의 모듈에서 버스를 점유할 수 있게 함으로써 처리속도의 한계를 극복할 수 있고, 제2중재시 마지막 하이신호를 출력하는 모듈(버스점유권 확보 모듈)에 의해 버스가 온 됨과 동시에 버스점유권을 확보한 모듈은 데이터프레임을 공유버스를 통해 전송함으로써, 버스점유 및 데이터 송수신이 원활하게 동작될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100a 내지 100n : 모듈 110 : 프로세서
120 : 통신유닛 10 : 단선통신버스
20 : 데이터 프레임

Claims (20)

  1. 상호 결합시 오픈드레인기반의 단선통신버스를 형성하여 데이터 송수신이 가능한 복수 개의 모듈을 포함하고,
    상기 복수 개의 모듈 중 데이터 송신이 필요한 적어도 하나의 모듈은,
    상기 단선통신버스 상태를 감지하여 온상태이면 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언하고,
    상기 송신의사를 제1선언한 적어도 하나의 모듈은, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언하며,
    상기 제2중재시간내에서 하이신호를 마지막 출력한 모듈이 최종 버스점유를 확보하는, 모듈 어셈블리.
  2. 제1항에 있어서,
    상기 모듈은,
    전송할 데이터가 있는 경우, 상기 제1 선언 및 제2 선언을 위한 제어신호를 출력하는 프로세서; 및
    상기 출력되는 제어신호에 따라 상기 단선통신버스 연결을 스위칭하여 중재시간내에 로우신호 또는 하이신호를 출력하는 통신유닛을 포함하는, 모듈 어셈블리.
  3. 제2항에 있어서,
    상기 통신유닛의 입출력단은 오픈드레인으로 구성되는, 모듈 어셈블리.
  4. 제2항에 있어서,
    상기 통신유닛은,
    상기 프로세서로부터 하이레벨의 제어신호를 입력받으면 턴온되어 로우신호를 출력하는, 모듈 어셈블리.
  5. 제2항에 있어서,
    상기 통신유닛은,
    상기 프로세서로부터 로우레벨의 제어신호를 입력받으면 턴오프되고 하이신호를 출력하는, 모듈 어셈블리.
  6. 제1항에 있어서,
    상기 단선통신버스는,
    적어도 하나의 모듈이 로우신호를 출력하면 접지 상태가 되는, 모듈 어셈블리.
  7. 제1항에 있어서,
    상기 단선통신버스는,
    상기 복수 개의 모듈에서 모두 하이신호를 출력할 때 온 상태가 되는, 모듈 어셈블리.
  8. 제1항에 있어서,
    상기 복수 개의 모듈은, 제1중재시간의 시작시 모두 하이신호를 출력하도록 설정되고,
    상기 제1선언에 의해 단선버스상태가 접지상태가 되면, 송신의사를 미선언한 모듈은 상기 제1중재시간 및 제2중재시간 동안 하이신호를 유지하는, 모듈 어셈블리.
  9. 제1항에 있어서,
    상기 최종 버스점유를 확보한 모듈은, 상기 단선 통신 버스를 통해 송신 데이터를 다른 모듈로 전송하고,
    상기 다른 모듈은, 상기 최종 버스점유를 확보한 모듈로부터 수신한 데이터의 목적지 정보가 자신의 ID와 동일하지 않으면 상기 수신한 데이터를 폐기하는, 모듈 어셈블리.
  10. 제1항에 있어서,
    상기 복수 개의 모듈은, 마스터 모듈이 되고,
    시작 섹션(SoF), 제어 섹션, 데이터 섹션, CRC 섹션, ACK 섹션 및 중재 섹션을 순서대로 포함하는 데이터 프레임을 이용하여 데이터를 송수신하는 모듈 어셈블리.
  11. 제2항에 있어서,
    상기 통신유닛은 UART 통신인터페이스가 되는, 모듈 어셈블리.
  12. 상호 결합시 오픈드레인기반의 단선통신버스를 형성하여 데이터 송수신이 가능한 복수 개의 모듈을 포함하는 모듈 어셈블리의 멀티마스터 통신방법에 있어서,
    상기 복수 개의 모듈 중 데이터 송신이 필요한 적어도 하나의 모듈이, 상기 단선통신버스 상태를 감지하여 온상태이면 기설정된 제1중재시간내에서 로우신호를 출력하여 송신의사를 제1선언하는 단계;
    상기 송신의사를 제1선언한 적어도 하나의 모듈이, 제2중재시간내에서 하이신호를 출력하여 송신의사를 제2선언하는 단계; 및
    상기 제2중재시간내에서 하이신호를 마지막 출력한 모듈이, 최종 버스점유를 확보하는 버스점유 단계를 포함하는, 모듈 어셈블리의 멀티마스터 통신방법.
  13. 제12항에 있어서,
    상기 복수 개의 모듈은, 프로세서 및 입출력단이 오픈드레인으로 구성되는 통신유닛을 포함하며,
    상기 송신의사를 제1선언하는 단계는, 상기 데이터 송신이 필요한 적어도 하나의 모듈 각각에서,
    상기 프로세서가, 송신할 데이터가 있는 경우 상기 단선통신버스를 모니터링하여 온상태이면 상기 제1중재시간내에 제1 선언을 위한 하이신호를 출력하는 단계; 및
    상기 통신유닛이, 상기 프로세서로부터 출력되는 하이신호에 따라 턴온되어 로우신호를 출력하는 단계를 포함하는, 모듈 어셈블리의 멀티마스터 통신방법.
  14. 제13항에 있어서,
    상기 송신의사를 제2선언하는 단계는,
    상기 프로세서가, 제2중재시간내에 제2선언을 위한 로우신호를 출력하는 단계; 및
    상기 통신유닛이, 상기 프로세서로부터 출력되는 로우신호에 따라 턴오프되어 하이신호를 출력하는 단계를 포함하는, 모듈 어셈블리의 멀티마스터 통신방법.
  15. 제12항에 있어서,
    상기 단선통신버스는,
    적어도 하나의 모듈이 로우신호를 출력하면 접지 상태가 되는, 모듈 어셈블리의 멀티마스터 통신방법.
  16. 제12항에 있어서,
    상기 단선통신버스는,
    상기 복수 개의 모듈에서 모두 하이신호를 출력할 때 온 상태가 되는, 모듈 어셈블리의 멀티마스터 통신방법.
  17. 제12항에 있어서,
    상기 복수 개의 모듈은, 제1중재시간의 시작시 모두 하이신호를 출력하도록 설정되고,
    상기 제1선언에 의해 단선버스상태가 접지상태가 되면, 송신의사를 미선언한 모듈은 상기 제1중재시간 및 제2중재시간 동안 하이신호를 유지하는, 모듈 어셈블리의 멀티마스터 통신방법.
  18. 제12항에 있어서,
    상기 최종 버스점유를 확보한 모듈에서, 상기 단선 통신 버스를 통해 송신 데이터를 다른 모듈로 전송하는 단계; 및
    상기 다른 모듈에서, 상기 최종 버스점유를 확보한 모듈로부터 수신한 데이터의 목적지 정보가 자신의 ID와 동일하지 않으면 상기 수신한 데이터를 폐기하는 단계를 더 포함하는, 모듈 어셈블리의 멀티마스터 통신방법.
  19. 제12항에 있어서,
    상기 복수 개의 모듈은, 마스터 모듈이 되고,
    시작 섹션(SoF), 제어 섹션, 데이터 섹션, CRC 섹션, ACK 섹션 및 중재 섹션을 순서대로 포함하는 데이터 프레임을 이용하여 데이터를 송수신하는, 모듈 어셈블리의 멀티마스터 통신방법.
  20. 제13항에 있어서,
    상기 통신유닛은 UART 통신 인터페이스가 되는, 모듈 어셈블리의 멀티마스터 통신방법.
KR1020210041900A 2021-03-31 2021-03-31 모듈 어셈블리 및 그의 멀티 마스터 통신방법 KR102489255B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020210041900A KR102489255B1 (ko) 2021-03-31 2021-03-31 모듈 어셈블리 및 그의 멀티 마스터 통신방법
CN202180004089.7A CN115413341A (zh) 2021-03-31 2021-10-28 模块组件及其多主通信方法
EP21823458.1A EP4095707A4 (en) 2021-03-31 2021-10-28 SET OF MULTI-MASTER COMMUNICATION MODULES AND METHOD THEREOF
PCT/KR2021/015291 WO2022211204A1 (ko) 2021-03-31 2021-10-28 모듈 어셈블리 및 그의 멀티 마스터 통신방법
US17/552,864 US11726942B2 (en) 2021-03-31 2021-12-16 Module assembly and multi-master communication method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210041900A KR102489255B1 (ko) 2021-03-31 2021-03-31 모듈 어셈블리 및 그의 멀티 마스터 통신방법

Publications (2)

Publication Number Publication Date
KR20220135775A true KR20220135775A (ko) 2022-10-07
KR102489255B1 KR102489255B1 (ko) 2023-01-17

Family

ID=83232741

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210041900A KR102489255B1 (ko) 2021-03-31 2021-03-31 모듈 어셈블리 및 그의 멀티 마스터 통신방법

Country Status (2)

Country Link
KR (1) KR102489255B1 (ko)
WO (1) WO2022211204A1 (ko)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980032140A (ko) * 1996-10-18 1998-07-25 윤종용 트랜잭션 및 수신지 id를 가진 공유 버스 시스템
JP2007079964A (ja) * 2005-09-14 2007-03-29 Fuji Xerox Co Ltd 情報処理装置及びバス使用権獲得方法
KR20160091373A (ko) * 2013-11-25 2016-08-02 퀄컴 인코포레이티드 멀티포인트 인터페이스 최단 펄스 폭 우선순위 레졸루션
KR20170104306A (ko) 2016-03-07 2017-09-15 주식회사 럭스로보 모듈 시스템 및 모듈기반 로봇 시스템, 그리고 모듈 시스템의 업데이트 방법
KR20170104309A (ko) * 2016-03-07 2017-09-15 주식회사 럭스로보 멀티 모듈 컴파일 시스템 및 멀티 모듈 컴파일 방법, 그리고 컴파일러 프로그램을 갖는 컴퓨터 판독가능 저장매체
KR20170134470A (ko) * 2015-04-10 2017-12-06 퀄컴 인코포레이티드 N-베이스 수들 투 물리적 배선 상태들 심볼들 변환 방법
KR20180117279A (ko) * 2017-04-19 2018-10-29 주식회사 럭스로보 모듈 및 이를 포함하는 모듈 어셈블리
KR20190017397A (ko) * 2017-08-11 2019-02-20 전자부품연구원 플러그 앤 플레이 디바이스의 인터페이스 장치 및 그 동작 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101761596B1 (ko) 2016-03-07 2017-07-26 주식회사 럭스로보 모듈 어셈블리

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980032140A (ko) * 1996-10-18 1998-07-25 윤종용 트랜잭션 및 수신지 id를 가진 공유 버스 시스템
JP2007079964A (ja) * 2005-09-14 2007-03-29 Fuji Xerox Co Ltd 情報処理装置及びバス使用権獲得方法
KR20160091373A (ko) * 2013-11-25 2016-08-02 퀄컴 인코포레이티드 멀티포인트 인터페이스 최단 펄스 폭 우선순위 레졸루션
KR20170134470A (ko) * 2015-04-10 2017-12-06 퀄컴 인코포레이티드 N-베이스 수들 투 물리적 배선 상태들 심볼들 변환 방법
KR20170104306A (ko) 2016-03-07 2017-09-15 주식회사 럭스로보 모듈 시스템 및 모듈기반 로봇 시스템, 그리고 모듈 시스템의 업데이트 방법
KR20170104309A (ko) * 2016-03-07 2017-09-15 주식회사 럭스로보 멀티 모듈 컴파일 시스템 및 멀티 모듈 컴파일 방법, 그리고 컴파일러 프로그램을 갖는 컴퓨터 판독가능 저장매체
KR20180117279A (ko) * 2017-04-19 2018-10-29 주식회사 럭스로보 모듈 및 이를 포함하는 모듈 어셈블리
KR20190017397A (ko) * 2017-08-11 2019-02-20 전자부품연구원 플러그 앤 플레이 디바이스의 인터페이스 장치 및 그 동작 방법

Also Published As

Publication number Publication date
KR102489255B1 (ko) 2023-01-17
WO2022211204A1 (ko) 2022-10-06

Similar Documents

Publication Publication Date Title
RU2682911C2 (ru) Двусторонний разъем для вспомогательных устройств
US9529758B1 (en) Multiple port configuration
US10866920B2 (en) Method and device for adjusting signal transmission direction in bidirectional ReDriver IC chip
US7670181B2 (en) Connector for first and second joints having different pin quantities, electronic apparatus with connector and combination
JPS62155645A (ja) 回線変換器
TWI620068B (zh) 支援多主機的通用序列匯流排集線設備及使用其之車用主機
KR102181663B1 (ko) 전원 인터페이스, 이동 단말기 및 전원 어댑터
US8678841B2 (en) Electric connector with mechanical switching function
KR102489255B1 (ko) 모듈 어셈블리 및 그의 멀티 마스터 통신방법
CN108292153A (zh) 通用串行总线(usb)电力输送设备中的系统事件
EP3565127A1 (en) Integration device for integrating function modules
CN212327413U (zh) 一种能实现电气连接的电子积木拼搭接口
CN109478174B (zh) 用于可逆接口的开关
US11726942B2 (en) Module assembly and multi-master communication method thereof
JP2005285043A (ja) センサ用ケーブル
US10713206B2 (en) Method for operating a device in one of multiple power modes and corresponding device, system, computer readable program product and computer readable storage medium
US11070011B2 (en) Remotely configurable connector
KR102289872B1 (ko) 플러그 앤 플레이 모듈 어셈블리 및 플러그 앤 플레이 시스템
US11962115B2 (en) Expansion device with power and data connections
JP2000030821A (ja) プラグ接続することのできる入出力コネクタ―モジュ―ル
JP2001042975A (ja) 情報処理装置
CN107749966B (zh) 图像输入/输出切换方法及电子装置
US20230387636A1 (en) System and method for electrical receptacle in-use sensing detection
CN214954958U (zh) 共用通用序列总线信号的电子装置
GB2555601A (en) Data flow control

Legal Events

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