KR20000009541A - 직렬통신장치 및 방법 - Google Patents
직렬통신장치 및 방법 Download PDFInfo
- Publication number
- KR20000009541A KR20000009541A KR1019980030037A KR19980030037A KR20000009541A KR 20000009541 A KR20000009541 A KR 20000009541A KR 1019980030037 A KR1019980030037 A KR 1019980030037A KR 19980030037 A KR19980030037 A KR 19980030037A KR 20000009541 A KR20000009541 A KR 20000009541A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- communication
- nodes
- master
- port
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
본 발명은 직렬통신장치 및 방법에 관한 것으로, 종래에는 마스터와 각 노드 사이에 두 개의 채널이 존재하지만 두 개의 채널에 동시에 데이터가 실리는 일이 발생하지 않는다면 두 개의 채널을 따로 구비할 필요가 없고, 또한 두 개의 채널이 따로 구비되어 있을 경우 통신선 결선시에 송수신채널을 구분하여 결선해야 하므로 결선의 오류가 발생할 수 있는 문제점이 있었다. 따라서, 본 발명은 통신장치를 구비한 하나의 마스터가 통신장치를 구비한 다수의 노드와 1:N 으로 폴링하면서 직렬 통신하는 직렬통신장치에 있어서, 상기 마스터와 각 노드를 하나의 통신선으로 접속하여 구성함으로써 마스터와 각 노드사이에 하나의 통신채널을 이용하여 통신할 수 있도록 함으로써 배선에 따른 비용을 절감할 수 있고 아울러 통신선의 배선 및 결선이 용이할 수 있는 효과가 있다.
Description
본 발명은 직렬통신장치 및 방법에 관한 것으로, 특히 하나의 마스터가 다수의 노드를 폴링하는 1대 N통신 시스템에서 마스터와 노드를 하나의 통신채널만으로 통신이 가능하도록 한 직렬통신장치 및 방법에 관한 것이다.
일반적으로, 하나의 마스터가 다수의 노드를 폴링하는 1대N통신시스템에서 마스터와 각 노드 상이에 두 개의 통신채널을 두어 마스터가 노드로 데이터를 전송할 때는 채널1을 이용하고, 노드가 마스터로 데이터를 전송할 때는 채널2를 이용하여, 마스터는 순차적으로 노드를 하나씩 호출하면서 데이터를 전송하고 호출된 노드는 마스터로 데이터를 전송한다.
상기와 같은 경우 마스터가 노드로 데이터를 전송하는 순간에 노드에서 마스터로 데이터를 전송하는 일이 없기 때문에 두 개의 통신채널을 구비할 필요가 없다.
여기서, 하나의 채널을 이용할 경우 송신포트 및 수신포트가 하나의 채널을 공유하므로 송신할 때는 수신의 기능을 디스에이블시킴으로써 자신이 송신한 데이터가 자신에게 되돌아오는 것을 방지할 수 있고, 송신이 완료되면 다시 수신기능을 인에이블시켜서 수신할 수 있도록 함으로써 하나의 채널을 이용하여 마스터와 노드사이의통신이 가능하게 된다.
도1은 종래 직렬통신장치의 구성을 보인 블록도로서, 이에 도시된 바와같이 하나의 마스터(1)와 다수의 노드(2,3,4)가 각기 두 개의 통신채널(5,6)을 통하여 1:N 으로 접속되도록 구성된다.
도2는 상기 마스터(1)와 다수의 노드(2,3,4)들이 각각 구비하고 있는 통신장치의 구성을 보인 블록도로서, 이에 도시된 바와같이 씨피유(21)는 어드레스버스(22)와 데이터버스(23) 및 컨트롤버스(24)를 통하여 통신소자(25)와 연결되고, 상기 통신소자(25)의 송신단자(TX)는 송신포트(26)에 연결되며, 상기 통신소자(25)의 수신단자(RX)는 수신포트(27)에 연결되도록 구성된다.
도3은 상기 송신포트(26)의 구성을 보인 회로도로서, 이에 도시된 바와같이 통신소자(25)의 송신단자(TX)는 신호드라이브소자(31)의 입력단자(32)와 연결되고 그 신호드라이브소자(31)는 두 개의 출력단자(33,34)로 이루어지며, 도4와 같이 수신포트(27)의 구성을 보인 회로도로서, 이에 도시된 바와같이 신호수신소자(41)의 입력단자(42,43)는 상기 송신포트(26)의 신호드라이브소자(31)의 출력단자(33,34)와 연결되고 그 신호수신소자(41)의 출력단자(44)는 통신소자(25)의 수신단자(RX)와 연결되도록 구성되며, 이와 같이 구성된 종래장치의 동작을 설명한다.
먼저, 마스터(1)는 각 노드(2,3,4)를 폴링하면서 통신을 하는데, 이때 마스터(1)가 송신하는 신호는 통신장치의 통신소자(25)의 송신단자(TX)에서 송신포트(26)로 입력되고, 이에 의해 상기 송신포트(26)에 입력된 신호는 신호드라이브소자(31)를 거쳐 통신선(5,6)에 실리게 된다.
만약, 마스터(1)의 제1 채널(5)을 통해 노드(2,3,4)로 전송되면 그 신호는 각 노드(2,3,4)의 수신포트(27)의 신호수신소자(41)로 입력되고, 이에 의해 상기 수신포트(27)의 신호수신소자(41)는 입력된 신호의 레벨을 비교하여 그 신호레벨의 차이가 양이면 고전위를 출력하고,반면에 신호레벨의 차이가 음이면 저전위를 출력한다.
상기 신호수신소자(41)로부터 출력된 신호는 통신소자(25)의 수신단자(RX)를 통해 각 노드(2,3,4)의 씨피유(21)로 입력되어 처리된다.
이때, 상기 각 노드(2,3,4)의 씨피유(21)는 수신된 신호를 분석하여 자신이 응답할 신호인지를 판단하고, 만일 자신이 응답할 신호이면 마스터(1)로 그에따른 신호를 상기의 같이 동작하여 전송한다.
도9는 마스터(1)가 각 노드(2,3,4)로 전송하는 통신프레임으로서, 이에 도시된 바와같이 이신호를 수신할 노드(2,3,4)의 정보 및 노드(2,3,4)가 처리할 내용이 포함되어 있어 해당노드(2,3,4)만 마스터(1)로 응답하게 되고, 도10은 노드(2,3,4)가 마스터(1)로 데이터를 전송할 경우의 통신프레임의 구조이다.
그러나, 상기와 같이 하나의 마스터가 다수의 노드를 폴링하면서 통신하는 통신시스템에서 마스터와 각 노드 사이에 두 개의 채널이 존재하지만 두 개의 채널에 동시에 데이터가 실리는 일이 발생하지 않는다면 두 개의 채널을 따로 구비할 필요가 없고, 또한 두 개의 채널이 따로 구비되어 있을 경우 통신선 결선시에 송수신채널을 구분하여 결선해야 하므로 결선의 오류가 발생할 수 있는 문제점이 있었다.
따라서, 상기와 같은 문제점을 감안하여 창안한 본 발명은 마스터와 각 노드 사이에 하나의 통신채널을 이용하여 통신할 수 있도록 한 직렬통신장치 및 방법을 제공함에 그 목적이 있다.
도1은 종래 직렬통신장치에 대한 구성을 보인 블록도.
도2는 도1에 있어서, 통신장치의 구성을 보인 블록도.
도3은 도1에 있어서, 송신포트의 구성을 보인 회로도.
도4는 도1에 있어서, 수신포트의 구성을 보인 회로도.
도5는 본 발명 직렬통신장치에 대한 구성을 보인 블록도.
도6은 도5에 있어서, 마스터의 통신장치에 대한 구성을 보인 블록도.
도7은 도5에 있어서, 노드의 통신장치에 대한 구성을 보인 블록도.
도8은 도6 또는 도7에 있어서, 수신포트의 구성을 보인 회로도.
도9는 마스터에서 노드로 송신하는 프레임의 모습을 보인도.
도10은 노드에서 마스터로 송신하는 프레임의 모습을 보인도.
도11은 도5에 있어서, 마스터의 초기화동작에 대한 흐름도.
도12는 도5에 있어서, 마스터의 동작흐름도.
도13은 도5에 있어서, 노드의 동작흐름도.
*****도면의 주요부분에 대한 부호의 설명*****
1:마스터 2,3,4:노드
5,6:통신채널 21,61,71:씨피유
22,62,72:어드레스버스 23,63,73:데이터버스
24,64,74:컨트롤버스 25,66,76:통신소자
26,67,77:송신포트 27,68,78:수신포트
31,81:신호드라이브소자 41,91:신호수신소자
79:입력포트 80:출력포트
상기와 같은 목적을 달성하기 위한 본 발명은 통신장치를 구비한 하나의 마스터가 통신장치를 구비한 다수의 노드와 1:N 으로 폴링하면서 직렬 통신하는 직렬통신장치에 있어서, 상기 마스터와 각 노드를 하나의 통신선으로 접속하여 구성한 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명은 마스터를 초기화하는 제1 과정과; 마스터가 노드로부터 수신되는 데이터를 인터럽트로 처리하여 하나의 통신채널을 통해 데이터를 송수신하는 제2 과정과; 노드가 상기 마스터로부터 데이터가 수신되면 인터럽트가 발생되어 하나의 통신채널을 통해 상기 마스터와 데이터를 송수신하는 제3 과정으로 수행함올 특징으로 한다.
이하, 본 발명에 의한 직렬통신장치 및 방법에 대한 작용 및 효과를 첨부한 도면을 참조하여 상세히 설명한다.
도5는 본 발명 직렬통신장치의 구성을 보인 블록도로서, 이에 도시한 바와같이 일반적인 구성은 종래와 동일하며, 다만 마스터(1)와 다수의 노드(2,3,4)를 하나의 통신선(5)으로 접속하여 구성한다.
도6은 본 발명 마스터(1)의 통신장치에 대한 구성을 보인 블록도로서, 이에 도시한 바와같이 씨피유(61)가 어드레스버퍼(62)와 데이터버스(63) 및 컨트롤버스(64)를 통하여 통신소자(66)에 연결되고, 상기 씨피유(61)의 컨트롤버스(64)는 수신포트(68)로 연결되며, 통신소자(66)의 송신단자(TX)는 송신포트(67)에 연결되고, 통신소자(66)의 수신단자(RX)는 수신포트(68)에 연결되며, 상기 수신포트(68)의 출력단자와 상기 송신포트(67)의 출력단자를 연결하여 구성한다.
도7는 본 발명 노드(2,3,4)의 통신장치에 대한 구성을 보인 블록도로서, 이에 도시한 바와같이 상기 마스터(1)의 통신장치와 구성은 동일한데, 다만 씨피유(71)에 입력포트(79)와 출력포트(80)를 접속하여 구성한 것이 다르다.
도8은 본 발명 수신포트(68)의 구성을 보인 회로도로서, 이에 도시한 바와같이 송신포트(67)의 출력단과 제1 신호수신소자(41)의 입력단(92),(93)을 접속하고, 씨피유(61)의 어드레스버스(64)와 입력단이 접속된 제2 신호수신소자(94)의 출력단을 상기 제1 신호수신소자(91)의 제어단에 접속하여 구성한다.
도11는 마스터(1)의 초기화에 대한 동작흐름도로서, 이에 도시한 바와 같이 전체노드(2,3,4)의 갯수를 지정하는 제1 단계(S1)와; 각 노드(2,3,4)의 통신상태에 대한 플래그를 '0'으로 초기화하는 제2 단계(S2)와; 현재 호출할 노드(2,3,4)의 주소를 첫 번째 노드(2,3,4)로 설정하는 제3 단계(S3)와; 통신에러 노드(2,3,4)의 번호를 첫 번째 노드(2,3,4)로 설정하는 제4 단계(S4)와; 현재 폴링의 모드가 통신정상인 노드(2,3,4)를 호출하는 모드로 설정하는 제5 단계(S5)와; 첫 번째 노드(2,3,4)를 호출하는 제6 단계(S6)와; 노드(2,3,4)에서 응답을 기다리는 시간을 설정하는 제7 단계(S7)와; 전 노드(2,3,4)를 호출하는 데 걸리는 시간을 설정하는 제8 단계(S8)로 수행한다.
도12는 마스터(1)에 대한 동작흐름도로서, 이에 도시한 바와같이 통신에러 인터럽트가 발생하였는 지를 판단하는 단계(S21)와; 상기 단계(S21)에서 통신에러 인터럽트가 발생하지 않았으면 해당노드(2,3,4)의 통신상태 플래그를 셋시키는 단계(S22)와; 노드(2,3,4)에서 수신한 입력포트(79) 데이터를 저장하는 단계(S23)와; 상기 단계(S21)에서 통신에러 인터럽트가 발생하였으면 현재 모드가 폴링모드인지를 판단하는 단계(S24)와; 상기 단계(S24)에서 현재 폴링모드가 아니면 해당호기의 통신플래그를 클리어하는 단계(S25)와; 통신이 정상인 노드(2,3,4)중에서 다음 호출할 노드(2,3,4)의 주소를 설정하는 단계(S26)와; 통신이 정상인 노드(2,3,4)의 호출이 완료되었는지를 판단하는 단계(S27)와; 상기 단계에서 통신이 정상인 노드(2,3,4)의 호출이 완료되지 않았으면 상기 단계(S26)에서 선택된 노드(2,3,4)를 호출하는 단계(S28)와; 통신이 정상인 노드(2,3,4)를 호출하는 모드로 설정하는 단계(S29)와; 노드(2,3,4)에서 응답을 기다리는 시간을 설정한 후 종료하는 단계(S30)와; 상기 단계(S27)에서 통신이 정상인 노드(2,3,4)의 호출을 완료하였으면 통신에러모드를 호출하는 모드로 설정하는 단계(S31)와; 상기 단계(S24)에서 현재 폴링모드이면 통신에러 노드(2,3,4)중에서 호출할 노드(2,3,4)를 설정하는 단계(S32)와; 통신에러 노드(2,3,4)의 호출을 완료하였는지를 판단하는 단계(S33)와; 상기 단계(S33)에서 통신에러 노드(2,3,4)의 호출을 완료하지 않았으면 상기 단계(S33)에서 선택된 통신에러 노드(2,3,4)를 호출하는 단계(S34)와; 상기 단계(S33)에서 통신에러 노드(2,3,4)의 호출이 완료되었으면 제일 마지막노드(2,3,4)의 주소보다 큰값으로하여 노드(2,3,4)를 호출하는 단계(S35)와; 통신에러노드(2,3,4)중 호출할 주소를 '0'으로 초기화하는 단계(S36)와; 전 노드(2,3,4)를 호출하는데 걸리는 기간이 경과하였는지를 판단하는 단계(S37)와; 상기 단계(S37)에서 전노드(2,3,4)를 호출하는데 걸리는 시간이 경과하지 않았으면 상기 단계(S30)로 궤환하고 전노드(2,3,4)를 호출하는데 걸리는 시간이 경과하였으면 현재 호출할 노드(2,3,4)의 번호를 첫 번째 노드(2,3,4)로 설정하는 단계(S38)와; 전체노드(2,3,4)를 호출하는 데 걸리는 시간을 설정한 후 상기 단계로 궤환하는 단계(S39)로 이루어진다.
도13은 노드(2,3,4)에 대한 동작흐름도로서, 이에 도시한 바와같이 마스터(1)에서 송신한 데이터를 읽는 단계(S51)와; 수신국주소와 자신의 주소가 일치하는 지를 판단하는 단계(S52)와; 상기 단계(S52)에서 수신국주소와 자신의 주소가 일치하지 않으면 종료하고 수신국주소와 자신의 주소가 일치하면 마스터(1)에서 전송된 데이터를 노드(2,3,4)가 관리하는 출력포트(80)로 출력하는 단계(S53)와; 노드(2,3,4)에서 관리하는 입력포트(79)의 상태를 마스터(1)로 전송한후 종료하는 단계(S54)로 이루어진다.
이와같은 본 발명의 동작을 상세히 설명한다.
먼저, 마스터(1)가 각 노드(2,3,4)로 데이터를 전송할 경우에 씨피유(61)의 컨트롤신호를 저전위로 출력하여 통신장치의 수신포트(68)의 기능을 디스에이블시킨후, 송신할 데이터를 통신소자(66)의 송신단자(TX)를 통해 송신포트(67)로 전송하고, 이에 의해 상기 송신포트(67)의 신호드라이브소자(81)는 입력된 신호와 동일한 신호 및 반전된 신호를 출력하는데, 이 신호는 단일 통신선(5)을 통해 각 노드(2,3,4)로 전송된다.
이후, 마스터(1)는 노드(2,3,4)로 데이터의 전송이 완료되면 그 노드(2,3,4)로부터 데이터를 수신하기 위해 콘트롤신호를 고전위로하여 수신포트(68)의 기능을 인에이블시킨다.
상기 마스터(1)에서 전송된 신호는 각 노드(2,3,4)의 수신포트(78)의 신호수신소자(91)로 입력되고, 이에따라 상기 수신포트(78)의 신호수신소자(91)는 입력된 신호의 레벨을 비교하여 신호레벨의 차이가 양이면 고전위,신호레벨의 차이가 음이면 저전위를 출력하는데, 이 출력신호는 통신소자(76)의 수신단자(RX)를 통해 씨피유(71)에 전송되어 신호 처리된다.
즉, 마스터(1)에서 송신한 데이터는 단일 통신채널(5)을 통하여 각 노드(2,3,4)의 수신포트(78)로 전송되는데, 각 노드(2,3,4)에서는 수신된 신호를 분석하여 자신이 응답한 신호인지를 판단하고, 만일 자신이 응답할 신호이면 마스터(1)로 응답한다.
여기서, 상기 마스터(1)가 각 노드(2,3,4)로 전송하는 통신 프레임은 도10과 같이 이 신호를 수신할 노드(2,3,4)의 정보를 넣어 그 프레임에 기록된 수신국주소와 동일한 주소를 가진 노드(2,3,4)만 마스터(1)로 데이터를 전송한다.
이때, 마스터(1)는 각 노드(2,3,4)와 직렬통신으로 각 노드(2,3,4)의 입력포트(79)의 상태를 읽어 그 각 노드(2,3,4)에 있는 출력포트(80)에 데이터를 출력하고, 상기 마스터(1)가 노드(2,3,4)를 순차적으로 폴링할 경우 노드(2,3,4)의 갯수에 따라 전 노드(2,3,4)를 폴링하는 시간이 달라지는데, 즉 하나의 노드(2,3,4)를 호출하고 해당 노드(2,3,4)가 응답하는데 걸리는 시간이 t msec인 경우 전체의 노드(2,3,4)가 N개이면 전체 노드(2,3,4)를 폴링하는데 걸리는 시간은 t*N msec 가된다.
여기서, 상기 노드(2,3,4)의 경우 마스터(1)로부터 호출당하는 시간이 노드(2,3,4)의 갯수에 따라 가변되며, 특히 노드(2,3,4)의 갯수가 적은 경우 노드(2,3,4)는 마스터(1)로부터 호출 당하는 시간이 너무 짧아지게 되므로, 본 발명은 마스터(1)에서 노드(2,3,4)를 호출하는 시간을 일정하게 유지하게 하는데, 즉 마스터(1)는 첫 번째 노드(2,3,4)를 호출할 때 타이머를 기동하고 마지막 노드(2,3,4)를 호출할 때 타이머가 일정시간이 경과했는지를 확인하여 일정시간이 경과하면 다시 처음 노드(2,3,4)를 호출한다.
그리고, 마스터(1)는 각 노드(2,3,4)의 통신상태를 관리하여 통신이 정상인 노드(2,3,4)들을 우선적으로 호출하고, 통신이 정상인 노드(2,3,4)들의 호출이 완료되면 통신에러가 발생한 노드(2,3,4)를 호출한다.
여기서, 상기 마스터(1)의 초기화동작에 대하여 설명하면, 먼저 전체 노드(2,3,4)의 겟수를 지정하여, 그 각 노드(2,3,4)의 통신상태 플래그를 '0'으로 초기화화한다.
이후, 마스터(1)는 각 노드(2,3,4)를 폴링하면서 해당노드(2,3,4)가 통신이 정상이면 통신상태 플래그를 셋시키고 통신에러이면 클리어 시키며, 현재 호출한 노드(2,3,4)의 주소를 첫 번째 노드(2,3,4)로 설정하고, 반면에 통신에러노드(2,3,4)를 호출할 때 사용되는 통신에러 노드(2,3,4)의 번호를 첫번째 노드(2,3,4)로 지정한다.
그리고, 현재 폴링의 모드가 통신정상인 노드(2,3,4)를 호출하는 모드로 설정하고, 이 통신정상이 노드(2,3,4)를 호출하는 모드가 끝나면 통신에러인 노드(2,3,4)를 호출하는 모드로 전환한다.
이후, 첫 번째 노드(2,3,4)를 호출하고, 각 노드(2,3,4)에서 응답을 기다리는 시간을 설정하여 설정한 시간내에 해당 노드(2,3,4)로부터 응답이 없으면 그 노드(2,3,4)는 통신에러로 처리한다.
그리고, 전 노드(2,3,4)를 호출하는 데 걸리는 시간을 설정하여 그 설정된 시간이 경과해야만 다시 첫 번째 노드(2,3,4)를 호출한다.
여기서, 마스터(1)의 동작을 도12를 참조하여 설명한다.
먼저, 마스터(1)는 각 노드(2,3,4)로부터 수신되는 데이터를 인터럽트로 처리하고, 이 인터럽트가 통신에러에 의해 발생하였는지를 판단한다.
이때, 각 노드(2,3,4)에서 설정된 시간내에 응답이 없으며 해당노드(2,3,4)를 통신에러로 처리하는데, 만약 통신에러에 의한 인터럽트가 아니라면 노드(2,3,4)에서 마스터(1)로 송신한 데이터를 수신한 경우 발생하는 수신인터럽트이다.
이후, 해당 노드(2,3,4)의 통신상태 플래그를 셋시키는데, 이는 해당노드(2,3,4)가 통신정상임을 표시한다.
여기서, 마스터(1)는 노드(2,3,4)에서 수신한 해당 노드(2,3,4)의 입력포트 데이터를 저장하고, 현재 폴링모드가 통신정상인 노드(2,3,4)들을 호출하는 모드인지 통신 에러노드(2,3,4)들을 호출하는 모드인지를 판단한다.
만일, 통신정상인 호기를 호출하는 모드이면 해당호기의 통신플래그를 클리어시키고, 이후 마스터(1)는 통신이 정상인 노드(2,3,4)중에서 다음 호출할 노드(2,3,4)의 주소를 설정하고, 만약 통신정상인 전 노드(2,3,4)를 다 호출하였다면 통신에러인 노드(2,3,4)를 호출한다.
그리고, 마스터(1)는 현재 폴링모드이면 노드(2,3,4)중에서 호출할 노드(2,3,4)를 설정하여 완료되면 노드(2,3,4) 주소를 제일 마지막 노드(2,3,4)의 주소보다 큰값으로 하여 그에 따른 노드(2,3,4)를 호출하고, 여기서 전 노드(2,3,4)를 호출하는데 걸리는 시간이 경과하면 다시 첫 번째 노드(2,3,4)를 호출한다.
이때, 노드(2,3,4)의 동작을 도13를 참조하여 설명하면, 각 노드(2,3,4)는 마스터(1)에서 송신한 데이터를 읽어 그 데이터의 수신국주소와 자신의 주소가 일치하는 지를 판단한다.
만약, 각 노드(2,3,4)는 수신국주소와 자신의 주소가 일치하지 않으면 대기하고, 반면에 수신국주소와 자신의 주소가 일치하면 마스터(1)에서 전송된 데이터를 해당노드(2,3,4)가 관리하는 출력포트(80)로 출력한후 그 해당노드(2,3,4)에서 관리하는 입력포트(79)의 상태를 마스터(1)로 전송하는데, 여기서 도10은 상기 노드(2,3,4)에서 마스터(1)로 전송하는 데이터의 프레임에 대한 구조를 나타낸다.
이상에서 상세히 설명한 바와 같이 본 발명은 마스터와 각 노드사이에 하나의 통신채널을 이용하여 통신할 수 있도록 함으로써 배선에 따른 비용을 절감할 수 있고 아울러 통신선의 배선 및 결선이 용이할 수 있는 효과가 있다.
Claims (8)
- 통신장치를 구비한 하나의 마스터가 통신장치를 구비한 다수의 노드와 1:N 으로 폴링하면서 직렬 통신하는 직렬통신장치에 있어서, 상기 마스터와 각 노드를 하나의 통신선으로 접속하여 구성한 것을 특징으로 하는 직렬통신장치.
- 제1 항에 있어서, 마스터의 통신장치는 씨피유가 어드레스버퍼와 데이터버스 및 컨트롤버스를 통하여 통신소자에 연결되고, 상기 씨피유의 컨트롤버스는 수신포트로 연결되며, 상기 통신소자의 송신단자는 송신포트에 연결되고, 상기 통신소자의 수신단자는 수신포트에 연결되며, 상기 수신포트의 출력단자와 상기 송신포트의 출력단자를 연결하여 구성한 것을 특징으로 하는 직렬통신장치.
- 제1 항에 있어서, 노드의 통신장치는 씨피유가 어드레스버퍼와 데이터버스 및 컨트롤버스를 통하여 통신소자에 연결되고, 상기 씨피유의 컨트롤버스는 수신포트로 연결되며, 상기 통신소자의 송신단자는 송신포트에 연결되고, 상기 통신소자의 수신단자는 수신포트에 연결되며, 상기 수신포트의 출력단자와 상기 송신포트의 출력단자를 연결하고, 상기 씨피유에 입력포트와 출력포트를 접속하여 구성한 것을 특징으로 하는 직렬통신장치.
- 제2 항 또는 제3 항에 있어서, 수신포트는 송신포트의 출력단과 연결된 제1 신호수신소자의 입력단을 접속하고, 씨피유의 어드레스버스와 입력단이 접속된 제2 신호수신소자의 출력단을 상기 제1 신호수신소자의 제어단에 접속하여 구성한 것을 특징으로 하는 직렬통신장치.
- 마스터를 초기화하는 제1 과정과; 마스터가 노드로부터 수신되는 데이터를 인터럽트로 처리하여 하나의 통신채널을 통해 데이터를 송수신하는 제2 과정과; 노드가 상기 마스터로부터 데이터가 수신되면 인터럽트가 발생되어 하나의 통신채널을 통해 상기 마스터와 데이터를 송수신하는 제3 과정으로 수행함올 특징으로 하는 직렬통신방법.
- 제5 항에 있어서, 제1 과정은 전체노드의 갯수를 지정하는 제1 단계(S1)와; 각 노드의 통신상태에 대한 플래그를 '0'으로 초기화하는 제2 단계(S2)와; 현재 호출할 노드의 주소를 첫 번째 노드로 설정하는 제3 단계(S3)와; 통신에러 노드의 번호를 첫 번째 노드로 설정하는 제4 단계(S4)와; 현재 폴링의 모드가 통신정상인 노드를 호출하는 모드로 설정하는 제5 단계(S5)와; 첫 번째 노드를 호출하는 제6 단계(S6)와; 노드에서 응답을 기다리는 시간을 설정하는 제7 단계(S7)와; 전 노드를 호출하는 데 걸리는 시간을 설정하는 제8 단계(S8)로 수행하는 것을 특징으로 하는 직렬통신방법.
- 제5 항에 있어서, 제2 과정은 통신에러 인터럽트가 발생하였는 지를 판단하는 단계(S21)와; 상기 단계(S21)에서 통신에러 인터럽트가 발생하지 않았으면 해당노드의 통신상태 플래그를 셋시키는 단계(S22)와; 노드에서 수신한 입력포트 데이터를 저장하는 단계(S23)와; 상기 단계(S21)에서 통신에러 인터럽트가 발생하였으면 현재 모드가 폴링모드인지를 판단하는 단계(S24)와; 상기 단계(S24)에서 현재 폴링모드가 아니면 해당호기의 통신플래그를 클리어하는 단계(S25)와; 통신이 정상인 노드중에서 다음 호출할 노드의 주소를 설정하는 단계(S26)와; 통신이 정상인 노드의 호출이 완료되었는 지를 판단하는 단계(S27)와; 상기 단계에서 통신이 정상인 노드의 호출이 완료되지 않았으면 상기 단계(S26)에서 선택된 노드를 호출하는 단계(S28)와; 통신이 정상인 노드를 호출하는 모드로 설정하는 단계(S29)와; 노드에서 응답을 기다리는 시간을 설정한 후 종료하는 단계(S30)와; 상기 단계(S27)에서 통신이 정상인 노드(2,3,4)의 호출을 완료하였으면 통신에러모드를 호출하는 모드로 설정하는 단계(S31)와; 상기 단계(S24)에서 현재 폴링모드이면 통신에러 노드중에서 호출할 노드를 설정하는 단계(S32)와; 통신에러 노드의 호출을 완료하였는지를 판단하는 단계(S33)와; 상기 단계(S33)에서 통신에러 노드의 호출을 완료하지 않았으면 상기 단계(S33)에서 선택된 통신에러 노드를 호출하는 단계(S34)와; 상기 단계(S33)에서 통신에러 노드의 호출이 완료되었으면 제일 마지막노드의 주소보다 큰값으로하여 노드를 호출하는 단계(S35)와; 통신에러노드중 호출할 주소를 '0'으로 초기화하는 단계(S36)와; 전 노드를 호출하는데 걸리는 기간이 경과하였는지를 판단하는 단계(S37)와; 상기 단계(S37)에서 전노드를 호출하는데 걸리는 시간이 경과하지 않았으면 상기 단계(S30)로 궤환하고 전노드를 호출하는데 걸리는 시간이 경과하였으면 현재 호출할 노드의 번호를 첫 번째 노드로 설정하는 단계(S38)와; 전체노드를 호출하는 데 걸리는 시간을 설정한 후 상기 단계로 궤환하는 단계(S39)로 이루어진 것을 특징으로 하는 직렬통신방법.
- 제5 항에 있어서, 제3 과정은 마스터에서 송신한 데이터를 읽는 단계(S51)와; 수신국주소와 자신의 주소가 일치하는 지를 판단하는 단계(S52)와; 상기 단계(S52)에서 수신국주소와 자신의 주소가 일치하지 않으면 종료하고 수신국주소와 자신의 주소가 일치하면 마스터에서 전송된 데이터를 노드가 관리하는 출력포트로 출력하는 단계(S53)와; 노드에서 관리하는 입력포트의 상태를 마스터로 전송한후 종료하는 단계(S54)로 이루어진 것을 특징으로 하는 직렬통신방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980030037A KR20000009541A (ko) | 1998-07-25 | 1998-07-25 | 직렬통신장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980030037A KR20000009541A (ko) | 1998-07-25 | 1998-07-25 | 직렬통신장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20000009541A true KR20000009541A (ko) | 2000-02-15 |
Family
ID=19545201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980030037A KR20000009541A (ko) | 1998-07-25 | 1998-07-25 | 직렬통신장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20000009541A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100323806B1 (ko) * | 1999-11-19 | 2002-02-19 | 김진태 | 일대다 통신방법 |
US6634618B2 (en) | 2000-05-24 | 2003-10-21 | Kil Yong Jang | Water saving automatic valve |
KR100688516B1 (ko) * | 2005-01-11 | 2007-03-02 | 삼성전자주식회사 | 단일 라인을 이용한 직렬 데이터 통신 방법 및 그 장치 |
-
1998
- 1998-07-25 KR KR1019980030037A patent/KR20000009541A/ko not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100323806B1 (ko) * | 1999-11-19 | 2002-02-19 | 김진태 | 일대다 통신방법 |
US6634618B2 (en) | 2000-05-24 | 2003-10-21 | Kil Yong Jang | Water saving automatic valve |
KR100688516B1 (ko) * | 2005-01-11 | 2007-03-02 | 삼성전자주식회사 | 단일 라인을 이용한 직렬 데이터 통신 방법 및 그 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4191941A (en) | Switch matrix for data transfers | |
KR20000009541A (ko) | 직렬통신장치 및 방법 | |
US4823344A (en) | Remote test circuit for channel terminal | |
US5612954A (en) | Time switch system | |
JP4364404B2 (ja) | 通信装置 | |
JPS615654A (ja) | デイジタル回線終端置の初期設定方式 | |
JPS6125348A (ja) | デ−タ通信網の通信速度決定通知方法 | |
KR100239056B1 (ko) | 메모리를 이용한 채널 처리 방법 | |
US5881052A (en) | Line signal analyzing method for use in an electronic switching system | |
KR19990012478A (ko) | 전전자 교환기에서의 데이터 처리용 통합 단말 장치 및 방법 | |
JP2715137B2 (ja) | 通信網制御方式 | |
KR100353447B1 (ko) | 에이티엠 스위치를 이용한 프로세서간 통신 장치 및방법 | |
KR100263978B1 (ko) | 내장형의 멀티 모뎀 시스템 | |
US5966383A (en) | Data communication system using a time slot interface architecture between processor and devices therein | |
KR100217738B1 (ko) | 간이 교환장치의 컴퓨터 통신 스피드 향상방법 | |
KR900004030B1 (ko) | 다중 액세스 네트워크 장치 | |
KR100202991B1 (ko) | 전전자 교환기의 타임 슬롯 스위치와 디바이스간 정합 장치의 이중화 회로 | |
KR100202993B1 (ko) | 통신포트와 백보드상의 코넥터간 정합장치 | |
KR0129612B1 (ko) | 집중형 광대역망 종단(b-nt) 시스템의 하드웨어를 제어하기위한 장치 | |
KR100231487B1 (ko) | 공통 버스 방식을 이용한 통신 시스템에서의 자기인식신호(sid) 발생장치 | |
KR200219092Y1 (ko) | 스위칭 소자간의 연결회로 | |
KR970025238A (ko) | 무선 사설교환기에서 패러렐버스를 이용한 메세지 교환장치 | |
JPS6223651A (ja) | デ−タ伝送装置 | |
JP2000341310A (ja) | ポーリング制御方式 | |
JPH0570342B2 (ko) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
SUBM | Submission of document of abandonment before or after decision of registration |