KR100323806B1 - 일대다 통신방법 - Google Patents

일대다 통신방법 Download PDF

Info

Publication number
KR100323806B1
KR100323806B1 KR1019990051420A KR19990051420A KR100323806B1 KR 100323806 B1 KR100323806 B1 KR 100323806B1 KR 1019990051420 A KR1019990051420 A KR 1019990051420A KR 19990051420 A KR19990051420 A KR 19990051420A KR 100323806 B1 KR100323806 B1 KR 100323806B1
Authority
KR
South Korea
Prior art keywords
sub
main
bit
pulse
communication
Prior art date
Application number
KR1019990051420A
Other languages
English (en)
Other versions
KR20000007007A (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 KR1019990051420A priority Critical patent/KR100323806B1/ko
Publication of KR20000007007A publication Critical patent/KR20000007007A/ko
Application granted granted Critical
Publication of KR100323806B1 publication Critical patent/KR100323806B1/ko

Links

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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 별도의 시리얼 통신 매체(SIO 디바이스) 없이 DC파워 캐리어에도 적용이 가능한 소프트웨어적 1대 다 시리얼 비트 통신 방식을 제공하기 위한 것이다. 종래에는 직렬통신 방식에 있어서 1대다 통신은 RS485방식만 가능하였는데, 하나의 프로세서에서 2개 이상의 대상과 시리얼 통신을 할 경우는 별도의 SIO를 추가하여야 하는 부담이 발생한다. 본 발명의 일대다 통신방법은 그라운드선 외에 1선만을 이용하는 방법이고, DC 파워 캐리어를 적용한다면 별도의 통신선이 필요없는 통신 방법으로서, 디바이스 없이 소프트웨어적으로 직접 펄스를 발생시켜 데이터 송신하되, 메인 또는 서브가 일정하게 규정된 호출펄스를 발생시켜 인터럽트를 걸고, 이에 응답펄스를 발생한 후, 메인이 통신 주체가되어 서브 전체호출루틴 또는 1개의 서브호출 루틴 또는 인터럽트를 발생한 서브를 찾기 위한 루틴을 수행하는 호출 또는 찾기 과정을 수행한후, 메인과 서브간의 비트통신으로 시작펄스와 종료펄스 사이에 데이터를 실어서 데이터 송수신을 수행하도록 함을 특징으로 한다.

Description

일대다 통신방법{Method for multiful communication}
본 발명은 일대다 통신방법에 관한 것으로, 특히 기존의 직렬통신(RS시리즈)디바이스를 사용하지 않고 프로세서의 포트만을 이용하여 일대다 직렬 멀티 통신방법을 소프트웨어로 구현한 그라운드선과 통신선 1선만을 이용한 일대 다 통신방법에 관한 것이다.
종래의 통신방법은 직렬통신과 병렬통신방법이 있는데, 직렬통신방법은 2 - 4선을 이용하여 비트 송수신으로 데이터를 주고받는 방식이고, PC와 모뎀간의 통신등이 적용된다. 병렬통신방법은 직렬통신에 비하여 바이트 통신(문자통신)으로 데이터를 주고받는 방식으로서 PC와 프린터와의 통신 등에 적용된다. 병렬통신은 직렬통신에 비하여 8배 이상의 빠른 속도와 안정적인 방식으로 통신을 수행하나, 직렬통신에 비하여 많은 회선이 필요하기 때문에 장거리의 경우는 직렬통신을 주로 사용한다.
직렬통신 방법은 전기적인 특성에 따라 RS232C방식과, RS422방식과, RS485방식으로 구별된다. RS232C방식은, 비트 0과 1을 쩐압레벨 DC -15V와 DC +15V로 변환하여 전송한다. 1대1통신만이 가능하고 근거리 통신에 주로이용되며, 기본적으로 그라운드 1선, 수신1선, 송신1선등 총 3선이 필요하다.
RS422방식은, 비트 0과 1을 전류레벨로 변환하여 전송하는데, 1대1 통신만 가능하고 장거리 통신에 주로 이용된다. 기본적으로 수신 +,- 송신 +,-등 총 4선이 필요하다.
RS485방식은, 비트 0과 1을 전류레벨로 변환하여 전송하고, 1대다 통신이 가능하며, 장거리 통신도 가능하다. 기본적으로 수신, 송신등 총 2선이 필요하다.
이와같이 기존의 직렬통신 방식에 의하면, 1대다 통신은 RS485방식만 가능하였다.
그런데, 상기와 같은 종래의 1대다 직렬통신(RS485)은, 공장 자동화, 빌딩자동화, 홈 오토메이션 등의 회선의 포설을 간결화하기 위해 주로 사용되는데, 다음과 같은 사용상의 제약이 있다.
프로세서에서 직렬통신지원, 또는 별도의 직렬입출력 디바이스(SIO ; Serial Input Output Device)가 필요하고, 인텔 계통의 8051 시리즈나 모토롤라 계통의 68000 시리즈는 통신을 지원하는 별도의 포트가 마련되어 통신 속도만 지정하면 H/W 적으로 자동적으로 시리얼 비트를 생성하거나 별도의 SIO를 이용하여 시리얼 비트를 생성하여 다른 기종과 통신을 주고 받는다. 그러나 하나의 프로세서에서 2개 이상의 대상과 시리얼 통신을 할 경우는 별도의 SIO를 추가하여야 하는 부담이 발생한다.
또한, 서브 수 증가에 따라 전체 슬레이브의 검색 시간이 길어진다. RS485 통신은 메인이 각 개체를 호출하여 정보를 교환함으로 서브의 수가 증가하면 전체를 검색하는 시간이 길어진다. 또한 서브는 메인을 호출(인터럽트)할 수 없기 때문에 서브의 수가 증가하면 중계장치를 통하여 중간 데이터를 집계하는 과정이 필요하다.
또한 DC 전원선에 통신 데이터를 실어 보내는 DC 파워 캐리어(Power Carrier)에 기존 통신방식을 적용시킬수가 없다. 즉, 기존 멀티 시리얼 통신 방식인 RS485 방식은 전류레벨 변환 방식이기 때문에 전원선에 신호를 펄스로 변환하여 전송하는 DC 파워 캐리어에는 적용할 수 없었다.
따라서 본 발명은 별도의 시리얼 통신 매체(SIO 디바이스) 없이 DC파워 캐리어에도 적용이 가능한 소프트웨어적 1대 다 시리얼 비트 통신 방식을 제공하기 위한 것이다.
본 발명의 일대다 통신방법은 별도의 통신선을 포설한다면 그라운드선 외에 1선만을 이용하는 방법이고, DC 파워 캐리어를 적용한다면 별도의 통신선이 필요없는 통신 방법이다.
본 발명은, 1개의 통신 주체가 되는 주체적장치(이하, 메인이라 약칭함)와 그 메인의 제어를 받는 다수의 객체적 장치(이하, '서브'라 칭함)간의 통신방법에 있어서, 상기 메인과 서브의 각 송신포트와 수신포트를 단일회선에 공통 연결하고디바이스 없이 소프트웨어적으로 직접 펄스를 발생시켜 데이터 송신하되, 메인 또는 서브가 각기 통신 시작을 위하여 통신라인상태를 감시해서 일정시간 이상 유휴상태이면, 미리 규정된 길이의 펄스를 호출펄스신호로서 발생하는 인터럽트과정과; 상기 인터럽트 과정의 호출펄스를 수신한 서브 또는 메인이 각기 수신된 펄스의 길이가 규정된 길이인지를 판단하여 호출펄스인지를 판단하고, 호출펄스인 경우 규정된 시간내에 응답펄스를 송신하고 그 응답펄스를 수신한 서브 또는 메인은 응답펄스의 길이가 규정된 길이인지를 확인하는 인터럽트 응답 과정과; 인터럽트를 걸지않은 모든 서브 또는 메인이 응답하여 그 인터럽트 응답 펄스가 규정된 길이의 응답 펄스인 경우, 이후부터 메인이 통신의 주체가 되어 메인이 코드를 송신하여 서브 전체호출루틴 또는 1개의 서브호출 루틴 또는 인터럽트를 발생한 서브를 찾기 위한 루틴을 수행하는 호출 또는 찾기 과정과; 상기 호출 또는 찾기 과정에서 메인이 송신한 코드에 일치되는 서브가 메인과 통신을 시작하여 데이터 송수신을 수행하고 종료하는 데이터 송수신과정을 수행하는 것을 특징으로 한다.
도 1a는 일반적인 일대 다 통신방법을 적용하기 위한 방사형 통신선 구성도.
도 1b는 본 발명을 적용하기 위한 단일회선 통신선 구성도.
도 2a는 본 발명의 서브전체호출펄스를 설명하기 위한 펄스 구분 특성도
도 2b는 본 발명의 서브인터럽트펄스를 설명하기 위한 펄스구분 특성도
도 3a는 본 발명에 의한 메인의 비트 송신을 설명하기 위한 특성도
도 3b는 본 발명에 의한 서브의 인터럽트에 의한 메인의 비트 수신을 설명하기 위한 특성도
도 4는 본 발명에 의한 메인이 비트 송신을 하고 서브가 비트 수신을 하는 흐름도
도 5는 본 발명에 의한 메인이 비트를 수신하고 서브가 비트를 송신하는 흐름도
도 6는 본 발명에 의한 메인과 서브의 통신 시작 흐름도
도 7은 본 발명에 의한 메인의 코드 송신에 따른 호출루틴 제어흐름도
도 8은 본 발명에 의한 1개의 서브호출시 아이디 송수신 흐름도
도 9는 본 발명에 의한 서브가 인터럽트 발생시 메인에서 서브찾기 루틴 흐름도
<도면의 주요부분에 대한 부호의 설명>
1 : 메인 2 : 서브
3 : 통신선
이하, 본 발명의 실시예를 첨부된 도면을 참조해서 상세히 설명한다.
1개의 주체적 장치(이하, 메인이라 칭함)와 이의 제어를 받는 다수의 객체적 장치(이하 서브라 칭함)와 통신시 통신선(3)을 메인(1)과 서브(2)간에 각각 연결하는 도 1a와 같은 방사형으로 구성하지 않고, 메인에 연결된 단일회선에서 각기 분기시켜 서브들을 연결하는 도 1b와 같은 단일회선으로 구성한다.
신호발생방법은, 신호의 구분을 위하여 프로세서는 송신과 수신의 2개 포트가 필요하며, 이를 전기적으로 1회선에 결합하고 분리하는 과정이 필요하다. 모든 송신 포트가 통신상태가 아닌 경우(IDLE 상태)와 메인 또는 하나 이상의 서브가 송신 포트에 신호를 전달하는 경우(ACTIVE 상태)가 각 수신 포트에서 1과 0으로 구별 가능하도록 회로를 구성한다.
또한 각각의 경우를 1 또는 0으로 정의하며, 본 발명에서는 수신포트를 다은 과 같이 정의한다.
0 (LOW) 상태 : 리셋 등 ACTIVE 또는 비트 0상태,
1 (HIGH) 상태 : IDLE 또는 비트 1 상태
한편, 1대 다 통신제어인 경우, 통신프로토콜을 다음과 같은 형태로 정의하여 구분한다.
①. 메인이 다수의 서브 중 1개의 서브만 호출하는 경우,
②. 메인이 전체 서브에게 명령을 전달하는 경우,
③. 다수의 서브중 1개 또는 그 이상의 서브가 메인을 호출하고 메인은 그중 1개 서브와 통신해야 하는 경우,
위의 ①, ②항은 기존 RS485에서도 사용하고 있으나, ③항의 경우는 전혀 사용할 수 없었던 방법인데, 본 발명에 의해 수행시킬 수 있는 기능이다.
신호의 구분을 위한 펄스는 다음과 같은 이름으로 구분한다.
서브전체호출펄스( 0 상태(LOW))
메인이 전체 서브를 호출하기 위한 긴 펄스로 시간은 서브 프로세서의 전체 프로그램 수행 주기보다 길어야 한다. 서브는 프로그램 수행중 수신 포트를 검사하여 메인의 전체 호출펄스를 감지할 수 있어야 하기 때문이다.
도 2a는 본 발명의 서브전체호출펄스를 설명하기 위한 펄스 구분 특성도이다.
일반상태에서 메인이 규정된 길이의 0 펄스를 만들어 서브전체호출펄스(a10)로서 송신한다. 서브전체호출펄스(a10)를 규정된 시간동안 0펄스로 유지한 후, 대기펄스(a11)로서 1 펄스로 복귀시킨다. 서브는 상기 서브전체호출펄스(a10)인지를 검사하여 인지하고, 상기 대기펄스(a11) 후에 서브응답펄스(b20)로서 0 펄스를 만들고, 그 서브응답펄스(b20)의 규정된 시간후에 다시 1펄스로 복귀시켜 대기펄스(b21) 상태로 만든다.
도 2b는 본 발명의 서브인터럽트펄스를 설명하기 위한 펄스구분 특성도이다.
서브가 메인을 호출하기 위한 긴 펄스로 시간은 메인 프로세서의 전체 프로그램 수행 주기보다 길어야 한다. 메인은 각 프로그램 수행중 수신 포트를 검사하여 서브의 인터럽트 펄스를 감지할 수 있어야 하기 때문이다.
도 2b에 도시된 바와 같이, 일반상태에서 서브는 규정된 길이의 0펄스로서 서브인터럽트펄스(b10)를 만든다. 이때 전체 서브와 메인은 펄스 길이를 검사한다. 이후, 상기 서브인터럽트펄스(b10)의 규정된 시간이 지난후 1로 펄스를 만들어 대기펄스(b11)로 만든다. 이에따라 메인이 응답을 하고자 규정된 시간의 0펄스를 만들어 메인응답펄스(a20)로 만든다. 그 메인응답펄스(a20)후에 다시 1로 만들어 대기펄스(a21)로 복귀시키게 된다.
도 3a는 본 발명에 의한 메인의 비트 송신을 설명하기 위한 특성도이다.
메인이 서브에게 문자를 전송할 경우 결국은 비트의 조합이므로 비트 전송을 규정하고 문자 전송시는 비트 전송을 8회 반복한다(1문자 = 8비트) 비트 전송시의 펄스 구분은 다음과 같다.
메인은 시작펄스(a31)로서 0을 송신한다. 메인은 일정한 시간 시작펄스(a31)를 보낸후 비트 0 또는 1을 이용한 메인송신데이타(a30)를 송신한 후, 다시 규정된 종료펄스(a32)를 보낸다. 이때 메인송신데이타(a30)는 전송비트에 따라 펄스는 0 또는 1이 전송되고, 서브는 상기 시작펄스(a31)를 인지한 후 규정된 시간이 경과된 후에 상기 메인송신데이타(a30)를 읽어서 데이터를 판단한다. 데이터수신후 규정된 시간내에 종료비트가 있는지를 판단하고 종료펄스(a32)가 수신되면 메인과 서브는 데이타 송수신을 종료하고 다음 송수신처리를 한다. 즉, '0' 펄스의 시작펄스(a31가 규정된 시간이 지난후 프로토콜에 의해 규정된 수의 데이터를 송신하고, 그 후 '1' 펄스로 유지시켜 종료펄스(a32)로서 인지하게 하여 데이터 송수신을 하게 된다.
도 3b는 본 발명에 의한 서브의 인터럽트에 의한 메인의 비트 수신을 설명하기 위한 특성도이다.
서브가 메인에게 데이터를 전송할 경우도 비트 통신을 8회 반복하여 1문자로 조합하고, 이 경우도 통신의 권한은 메인이 소유한다. 메인은 서브의 인터럽트에 의해 데이터 수신 준비후에 대기상태 '1'에서 수신시작을 위한 '0'펄스로서 시작펄스(a31)을 보내고, 그 시작펄스(a31)를 인지한 서브는 규정된 시간후에 전송하고자 하는 서브송신데이타(b30)를 송신한다. 메인은 펄스를 읽어서 1 또는 0을 판단하고 규정된 데이터 송신시간이 지나면 메인은 펄스를 '1'로 만들어 종료펄스(a32)로 만들고 서브는 종료펄스(a32)를 확인한 후 송신을 종료한다.
이하, 본 발명에 의한 일대다 통신방법을 제어흐름도를 참조해서 설명한다.
도 4는 본 발명에 의한 메인이 비트 송신을 하고 서브가 비트 수신을 하는 흐름도이다.
메인이 시작 비트0을 송신하고, 서브는 규정된 시간내에 시작ㄷ는가를 확인한다. 규정된 시작비트이면 서브는 규정된 시간을 기다린 후에 비트 펄스를 수신한다. 수신된 해당 비트를 분석하여 '1'인 경우 해당비트 '1'을 저장하고, '0'인 경우 해당비트 '0'을 저장한다. 해당 비트값을 저장한 후 규정된 시간 후에 메인이 다음 펄스 1을 송신하면, 서브는 규정된 시간내에 비트 1이 되었는가를 판단하여 다음비트를 수신 또는 종료하게 된다. 즉, 규정된 시간의 시작 펄스 이후에, 규정된 시간내에 메인이 비트별로 펄스를 차례로 송신하고, 서브는 송신된 펄스를 비트별로 수신하여 각각 해당 비트값을 저장하는 과정으로 메인이 송신한 데이터를 비트별로 수신한다. 이후 규정된 시간을 벗어나는 경우 통신을 종료하게 된다.
도 5는 본 발명에 의한 메인이 비트를 수신하고 서브가 비트를 송신하는 흐름도이다.
메인이 시작비트 0을 송신하면, 서브는 규정된 시간내에 시작됐는가를 판별하여 규정된 시간내에 시작비트가 수신된 경우에 규정된 시간을 기다린다. 이어서 서브는 메인에게 비트송신을 하고 메인은 그 비트를 수신하며, 메인은 해당 비트를 분석하여 해당비트'1' 또는 '0을 저장한다. 그리고, 규정된 시간이 경과된 후 메인은 펄스 1을 송신하고, 서브는 규정된 시간내에 펄스 1이 되었는가를 판별하여 다음 비트 송신 또는 종료를 하게 된다. 즉, 메인이 시작비트를 송신후 규정된 시간이 경과되면 서브가 비트송신을 하고, 메인이 이를 수신하여 해당 비트를 저장하고, 규정된 시간후에 펄스 1을 보내 서브로 하여금 다음 비트를 송신하게 한다.
도 6는 본 발명에 의한 메인과 서브의 통신 시작 흐름도이다.
메인 또는 서브가 통신 시작을 위하여 메인의 서브호출펄스(a10) 또는 서브인터럽트펄스(b10)를 송신하면(S11), 메인 또는 서브는 그 펄스의 길이가 규정된 범위인가를 판단한다(S12). 만약, 메인의 서브호출펄스(a10) 또는 서브인터럽트펄스(b10)로 규정된 펄스 길이이면, 서브 또는 메인은 해당 응답펄스(a20)(b20)를 송신하고(S13), 그 응답펄스의 길이가 규정된 범위내인가를 판단한다(S14). 규정된 범위의 응답펄스인 경우, 메인이 전체 서브를 호출하였는지를 판단(S15)하여 메인이 전체 서브를 호출한 경우는 매인 전체 서브호출루틴(S20)을 수행한다. 상기 메인이 1개 서브 호출을 했는가를 판단하여(S16) 메인 ㅂ개 서브호출루틴(S30)을 수행한다. 그리고, 서브가 인터럽트를 요구했는가를 판단하여(S17) 메인은 인터럽트 발생 서브 찾기 루틴(S40)을 수행한다.
메인과 서브는 다음과 같은 경우로 시작된다.
메인이 전체 서브를 호출하는 경우와, 메인이 하나의 서브를 호출하는 경오와, 하나 또는 그 이상의 서브가 메인을 호출하는 인터럽트 경우에 메인과 서브는 통신을 시작한다. 통신의 시작은 신호펄스가 '0'으로 변하여 시작펄스가 송신됨에 따라 시작된다. 통신중이 아니라면(아이들 상태) 펄스 상태는 '1'이 유지된다.
메인이 전체호출을 하거나 서브가 인터럽트를 발생할 경우 메인과 서브의 프로세서들은 모두 수신포트의 펄스 '0'을 읽는다(S11).
자신이 전체호출이나 인터럽트를 발생하지 않았는데 수신부에 전체 호출 또는 인터럽트성 펄스 '0'가 감지된다면 메인이나 서브는 규정된 길이의 펄스인가를 확인한다(S12).
펄스의 길이를 확인했다면 메인이나 서브는 응답성 펄스를 송신하고(S13) 통신을 시작한 메인이나 서브는 응답 펄스의 길이를 확인한다(S14).
응답펄스까지 규정과 일치한다면 이후부터 통신의 주체는 메인이 소유하고, 메인은 자신이 전체호출을 시작하였다면 전체서브 호출 루틴(S20) 또는 1개 서브호출루틴(S30)을 수행하고 자신이 통신을 시작하지 않았다면 인터럽트를 발생한 서브를 찾는 루틴(S30)을 수행한다.
상기 응답펄스 후에 메인은 코드를 송신하여 전체서브호출루틴(S20), 1개 서브호출루틴(S30) 및 인터럽트를 발생한 서브를 찾는 루틴(S30)을 수행한다.
도 7은 본 발명에 의한 메인의 코드 송신에 따른 호출루틴 제어흐름도이다.
메인은 상기한 3가지 루틴(S20)(S30)(S40)에 따른 해당 코드를 송신하고, 해당코드를 수신한 서브는 코드를 분석하여 전체서브호출 코드인 경우는 메인이 송신하는 메시지를 수신하고, 1개 서브호출 코드인 경우는 해당 코드의 서브가 응답하여 메인이 메시지를 송신하고 해당 서브가 메시지를 수신하며, 인터럽트를 발생한 서브 찾기 코드인 경우 인터럽트를 발생한 서브만 통신 ID를 검색하여 데이터 송수신을 한다.
도 8은 본 발명에 의한 1개의 서브호출시 아이디 송수신 흐름도이다.
메인이 송신한 코드를 서브에서 분석한 결과 메인이 1개의 서브를 호출한 코드라면, 메인에서 아이디를 1비트씩 송신시 서브는 자신의 아이디와 비교해서 일치 하지 않으면 종료하고 일치하는 경우에만 메인과 데이터 송수신을 수행한다.
도 9는 본 발명에 의한 서브가 인터럽트 발생시 메인에서 서브찾기 루틴 흐음도이다.
서브는 ID 비트 한 비트를 정위상신호로 송신하면 메인이 수신하고, 서브가 상기 비트의 정위상신호를 반전시켜 반전위상신호를 송신하면 메인이 이를 수신하여 해당 비트의 정위상신호와 반전위상 신호를 분석하여 인터럽트를 발생한 서브에게 해당 비트의 신호를 송신한다. 서브는 메인이 송신한 비트의 신호를 수신하여 자신의 ID 비트와 일치하는지를 검색하여 일치하는 경우 다음비트의 정위상, 반전위상 송신 및 메인이 송신한 비트를 수신하여 자신의 비트와 비교하는 과정을 반복하여 ID가 일치되는 경우에만 메인과 서브가 데이터 송수신을 하게 된다.
이와같은 인터럽트를 발생한 서브찾기 루틴은, 메인이 인터럽트를 발생한 서브를 찾겠다는 코드를 전송하고, 그 찾기 코드에 의해 인터럽트를 송신하지 아니한 서브는 통신을 포기하며, 인터럽트를 송신한 서브는(1개 이상이 될 수 있음) 한 비트식 메인과 ID를 확인한다. 서브는 자신의 아이디 비트를 펄스로 전송하고 이어서반전시킨 펄스를 전송한다. 메인은 연이어 두 번의 펄스를 읽어 분석하여 인터럽트를 송신한 서브의 해당 아이디 비트를 분석한다, 두 번의 수신 결과로 다음 (표 1)와 같은 사항을 유추하게 된다.
〔표 1〕
인터럽트 서브 찾기 코드 분석표
구 분 정상수신펄스 반전수신펄스 해당비트 및응답 서브 수 메인 대응
1 0 1 해당비트가 0인 1개 또는 그 이상의 서브가 응답 펄스 0 송신
2 1 0 해당비트가 1인 1개 또는 그 이상의 서브가 응답 펄스 1 송신
3 0 0 해당비트가 0과 1인 2게 이상의 서브가 응답 펄스 0 송신(낮은 번호의 ID우선)
4 1 1 수신 오류 통신종료
상기한 (표 1)과 같은 코드 분석으로 메인이 서브에게 해당 비트의 펄스를 송신하면, 메인으로부터 펄스를 수신받은 서브는 자신의 ID 해당 비트와 비교하여 일치하면 인터럽트 내용을 메인에게 보고한다.
상기한 서브가 자신의 아이디 비트를 펄스로 전송하고 이어서 반전시킨 펄스로 전송하며, 메인이 연속해서 수신된 그 정위상 펄스와 반전위상 펄스를 분석하여 상기 표와같은 응답 펄스를 송신하는 방법으로, 8번(8비트)을 반복하면 256개의 서브중 어떠한 조건에서도 동일한 시간에 인터럽트를 요구한 서브를 찾아낼수 있게 된다.
1개 이상의 서브가 인터럽트를 발생하였다면 메인은 ID가 낮은 서브로부터 인터럽트를 발생한 서브들을 차례로 호출하여 정보를 교환한다. 인터럽트를 송신하였으나 메인과 통신하지 못한 서브는 인터럽트를 재 발생하여 메인과 통신을 시도한다.
이상에서 상세히 설명한 바와 같이 본 발명에 의하면, 메인과 서브간의 통신선은 단일 회선이므로 통신선의 구성 및 포설이 간단해지고, 방사선 구성에 비하여 통신선 소요가 적어져서 소요자재비가 절감된다.
서브의 위치에 관계없이 아이디(주소)만 설정하면 되므로 이설과 증설이 용이하고 또한 8비트 아이디 구성시 256개, 16비트 아이디 구성시 65536개까지 자유롭게 아이디를 부여할 수 있다.
또한, 전압레벨 또는 전류레벨로 전용의 드라이버 IC를 사용하는 기존의 통신방법과 다른 소프트웨어 통신 방법이므로 DC 전원 선을 이용한 데이터 송수신 등에 적용할 수 있다.
또한, 본 발명은 공장의 각종 감시 포인트, 계측 포인트, 제어 포인트간에 자유롭게 통신 할 수 있고, 빌딩의 각종 감시 포인트, 계측 포인트, 제어 포인트간에 자유롭게 통신할 수 있으며, 가정의 각종 감시 포인트, 계측 포인트, 제어포인트간에 자유롭게 통신할 수 있다.

Claims (5)

1개의 통신 주체가 되는 주체적장치(이하, 메인이라 약칭함)와 그 메인의 제어를 받는 다수의 객체적 장치(이하, '서브'라 칭함)간의 통신방법에 있어서,
상기 메인과 서브의 각 송신포트와 수신포트를 단일회선에 공통 연결하고, 별도의 디바이스 없이 소프트웨어적으로 직접 펄스를 발생시켜 데이터 송신하되,
메인 또는 서브가 각기 통신 시작을 위하여 통신라인상태를 감시해서 일정시간 이상 유휴상태이면, 미리 규정된 길이의 펄스를 호출펄스신호로서 발생하는 인터럽트과정과;
상기 인터럽트 과정의 호출펄스를 수신한 서브 또는 메인이 각기 수신된 펄스의 길이가 규정된 길이인지를 판단하여 호출펄스인지를 판단하고, 호출펄스인 경우 규정된 시간내에 응답펄스를 송신하고 그 응답펄스를 수신한 서브 또는 메인은 응답펄스의 길이가 규정된 길이인지를 확인하는 인터럽트 응답 과정과;
인터럽트를 걸지않은 모든 서브 또는 메인이 응답하여 그 인터럽트 응답 펄스가 규정된 길이의 응답 펄스인 경우, 이후부터 메인이 통신의 주체가 되어 메인이 코드를 송신하여 서브 전체호출루틴 또는 1개의 서브호출 루틴 또는 인터럽트를 발생한 서브를 찾기 위한 루틴을 수행하는 호출 또는 찾기 과정과;
상기 호출 또는 찾기 과정에서 메인이 송신한 코드에 일치되는 서브가 메인과 통신을 시작하여 데이터 송수신을 수행하고 종료하는 데이터 송수신과정을 수행하는 것을 특징으로 하는 통신방법.
제 1 항에 있어서, 상기 메인이 서브에게 코드 및 데이터를 송신하는 과정은,
디바이스 없이 소프트웨어적으로 직접 펄스를 발생시켜 데이터 송신하되,
메인이 시작비트를 송신하는 단계와;
서브가 상기 시작비트를 수신하여 규정된 시간내에 시작이 되었는가를 판단하는 단계와;
규정된 시간내에 시작비트가 시작되었으면, 시작비트에 따른 규정된 시간을 기다리는 단계와;
메인이 시작 비트의 규정된 시간 후에 비트 펄스를 송신하면, 서브가 이를 수신하여 해당 비트값을 저장하는 단계와;
메인이 규정된 시간 후에 비트 펄스를 송신하면 서브가 규정된 시간내에 펄스 1이 되는가를 판단하여 규정된 시간내에 펄스 1인 경우 다음비트 수신 또는 종료하는 단계를 수행하여 메인이 비트를 서브에게 송신하는 것을 특징으로 하는 통신방법.
제 1 항에 있어서, 상기 메인이 서브로부터 송신되는 코드 또는 데이터를 수신하는 과정은,
메인이 시작비트를 송신하는 단계와;
서브가 상기 시작비트를 수신하여 규정된 시간내에 시작이 되었는가를 판단하는 단계와;
규정된 시간내에 시작비트가 시작되었으면, 그 시작펄스의 규정된 시간을 기다린후 서브가 메인에게 비트를 송신하는 단계와;
서브가 송신한 비트를 메인이 수신하여 해당 비트값을 저장하는 단계와;
규정된 시간이 경과한 후 메인이 펄스 1을 송신하는 단계와;
서브가 규정된 시간내에 펄스 1이 되는가를 판단하여 규정된 시간내에 펄스 1이 된 경우에는 서비가 다음 비트 송신 또는 종료하는 단계를 수행하여 서브가 메인에게 비트를 전송하는 것을 특징으로 하는 통신방법.
제 1 항에 있어서, 상기 메인이 1개의 서브를 호출하는 루틴은,
메인이 호출하고자 하는 서브의 ID의 제1비트부터 일정한 시간 간격으로 ID의 마지막 비트까지 송신하는 단계;
서브가 상기 제1비트를 수신하여 자신의 ID의 제1비트와 일치하는지를 비교하여 일치하는 경우 다음비트를 수신하고 일치하지 않은 경우 해당 서브는 통신을 종료하는 단계와;
상기 메인이 송신하는 ID의 제1비트부터 마지막 비트까지 일치되는지를 비교하여 메인이 송신하는 ID가 서브 자신의 ID와 일치된 경우 메인과 데이터 송수신을 수행하는 단계로 이루어진 것을 통신방법.
제 1 항에 있어서, 상기 인터럽트를 발생한 서브를 찾기 위한 루틴은,
서브가 자신의 ID 비트를 정위상신호로서 송신하면 메인이 이룰 수신하는 제1단계와,
상기 제1단계에서 송신한 ID 비트를 반전시켜 반전위상 비트신호로서 송신하면 메인이 이를 수신하는 제2단계와,
메인이 상기 제1, 제2단계에서 수신된 정위상 비트신호와 반전위상 비트신호를 분석하여 인터럽트가 발생된 서브를 찾기위한 서브의 ID 비트를 송신하는 제3단계와;
상기 제3단계에서 메인이 송신한 ID비트와 일치되는 상기 제1, 제2단계를 수행한 서브가 다음 ID 비트를 제1단계와 제2단계를 수행하여 정위상 비트신호 및 반전위상 비트신호를 송신하고, 메인이 상기 제3단계를 수행하여 인터럽트를 발생한 서브를 찾는 ID비트를 송신하는 단계를 반복수행하여 서브의 ID의 마지막 비트까지 일치된 경우 그 인터럽트를 발생한 서브와 메인이 데이터 송수신을 하는 단계를 수행하는 것을 특징으로 하는 통신방법.
KR1019990051420A 1999-11-19 1999-11-19 일대다 통신방법 KR100323806B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990051420A KR100323806B1 (ko) 1999-11-19 1999-11-19 일대다 통신방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990051420A KR100323806B1 (ko) 1999-11-19 1999-11-19 일대다 통신방법

Publications (2)

Publication Number Publication Date
KR20000007007A KR20000007007A (ko) 2000-02-07
KR100323806B1 true KR100323806B1 (ko) 2002-02-19

Family

ID=19620771

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990051420A KR100323806B1 (ko) 1999-11-19 1999-11-19 일대다 통신방법

Country Status (1)

Country Link
KR (1) KR100323806B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0221743A (ja) * 1988-07-11 1990-01-24 Fujitsu Ltd 単線シリアル通信方法及びシリアルデータ通信装置
JPH04347951A (ja) * 1991-03-19 1992-12-03 Fuji Electric Co Ltd 複数インバータ間のデータ伝送方法
US5600634A (en) * 1994-03-17 1997-02-04 Nissan Motor Co., Ltd. Multiplex serial data communication circuit network with superposed clock and data signals
JPH09116595A (ja) * 1995-10-17 1997-05-02 Fujitsu Ten Ltd シリアル通信処理装置
KR20000009541A (ko) * 1998-07-25 2000-02-15 이종수 직렬통신장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0221743A (ja) * 1988-07-11 1990-01-24 Fujitsu Ltd 単線シリアル通信方法及びシリアルデータ通信装置
JPH04347951A (ja) * 1991-03-19 1992-12-03 Fuji Electric Co Ltd 複数インバータ間のデータ伝送方法
US5600634A (en) * 1994-03-17 1997-02-04 Nissan Motor Co., Ltd. Multiplex serial data communication circuit network with superposed clock and data signals
JPH09116595A (ja) * 1995-10-17 1997-05-02 Fujitsu Ten Ltd シリアル通信処理装置
KR20000009541A (ko) * 1998-07-25 2000-02-15 이종수 직렬통신장치 및 방법

Also Published As

Publication number Publication date
KR20000007007A (ko) 2000-02-07

Similar Documents

Publication Publication Date Title
US5418812A (en) Radio network initialization method and apparatus
US5434865A (en) Protocol for multiple node network
KR20020041193A (ko) 홈 어플라이언스 네트워크 장치 및 방법
AU645999B2 (en) Networks
US4034346A (en) Interface for establishing communications between a data-processing unit and a plurality of stations
JPH0618371B2 (ja) 通信端末装置
US5021777A (en) Mode-selectable communications system
KR100323806B1 (ko) 일대다 통신방법
US20040174969A1 (en) Device for responding to state request on an open phone line
KR100386595B1 (ko) 반송파 감지 다중 통신방식(csma/cd)을 지원하는통신장치 및 방법
KR101499863B1 (ko) 집중형 배선반의 통신선 체크 시스템
JP3371938B2 (ja) 無線通信システム
US6603387B1 (en) Programming of RF transmitter identification data by monitoring power
KR100442275B1 (ko) 홈 네트워크 시스템의 통신장애 점검방법
KR100241911B1 (ko) 사설 교환시스템에서 다수의 기지국들을 모니터링하는 방법
KR100315602B1 (ko) 광선로유지보수 시스템의 연결 상태 검출 장치 및 그를 이용한 연결정보 자동관리 방법
CN112838972B (zh) 基于rs-485收发器的使能控制方法、装置、设备及存储介质
KR200187756Y1 (ko) 다 채널 루프방식의 주파수 가변형 데이터 통신 시스템
KR100217738B1 (ko) 간이 교환장치의 컴퓨터 통신 스피드 향상방법
KR100459178B1 (ko) 네트워크 시스템 및 그 통신방법
KR100229550B1 (ko) 무인 비디오방 시스템에서 이용되는 데이터 송수신장치
KR900004030B1 (ko) 다중 액세스 네트워크 장치
JP2600495Y2 (ja) Pos端末装置用の入出力信号切替回路
KR20020047627A (ko) 통신용 세탁기의 원격 제어장치 그 방법
KR100233105B1 (ko) 전송 시스템에서 패스워드 체크 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130122

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140116

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160106

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20170110

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20180109

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20190109

Year of fee payment: 18