KR930004948B1 - 마이컴간 데이타 통신방법 - Google Patents

마이컴간 데이타 통신방법 Download PDF

Info

Publication number
KR930004948B1
KR930004948B1 KR1019900015414A KR900015414A KR930004948B1 KR 930004948 B1 KR930004948 B1 KR 930004948B1 KR 1019900015414 A KR1019900015414 A KR 1019900015414A KR 900015414 A KR900015414 A KR 900015414A KR 930004948 B1 KR930004948 B1 KR 930004948B1
Authority
KR
South Korea
Prior art keywords
communication port
communication
microcomputer
status signal
byte
Prior art date
Application number
KR1019900015414A
Other languages
English (en)
Other versions
KR920006854A (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 KR1019900015414A priority Critical patent/KR930004948B1/ko
Publication of KR920006854A publication Critical patent/KR920006854A/ko
Application granted granted Critical
Publication of KR930004948B1 publication Critical patent/KR930004948B1/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

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

내용 없음.

Description

마이컴간 데이타 통신방법
제1도는 본 발명에 따른 마이컴간 통신라인 접속 예시도.
제2도-제9도는 본 발명의 흐름도.
제10도는 본 발명에 따른 통신 타이밍도.
제11도는 종래의 마이컴간 통신라인 접속도.
본 발명은 데이타통신시스템에 있어서 두 마이컴 사이에 통신을 수행하는 방법에 관한 것으로, 특히 데이타 전송라인과 통신 제어라인을 공유하여 하나의 통신라인으로 통신제어신호와 데이타를 함께 전송하는 데이타 통신방법에 관한 것이다.
일반적으로 직렬 포트(serial port)가 없는 마이컴간의 데이타 통신이 필요할 경우 종래에는 제11도에 도시된 바와 같이 데이타라인, 통신 제어라인, 동기 클럭등에 필요한 3개의 포트를 상호 연결하여 사용하여 왔으나 이와 같은 방식으로 포트의 사용에 있어서 효율이 낮을 뿐만 아니라 기존에 프로그래밍되어 사용하던 마이컴과의 데이타통신 인터페이스가 필요할 때 데이타 통신이 불가능하거나 매우 어려웠던 단점이 있었다.
따라서 본 발명의 목적은 상기한 문제점을 해소하기 위한 방법을 제공함에 있다.
본 발명의 다른 목적은 마이컴 포트 사용 효율을 높이고 데이타 통신이 용이하도록 하는 방법을 제공함에 있다.
본 발명의 또 다른 목적은 하나의 통신라인으로 통신제어신호와 데이타를 함께 전송하는 방법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명은 두 마이컴간에 하나의 일반 입/출력 포트를 상호 연결하여 마스터 및 슬레이브마이컴간에 반이중 비동기 통신(half duplex asynchronous communication)을 구형함을 특징으로 한다.
이하 본 발명을 첨부한 도면을 참조하여 설명한다.
제1도는 본 발명에 따른 마이컴간 통신라인 접속 예시도로서, 제1마이컴(100)과 제2마이컴(200)의 입출력 포트를 상호 연결하는 동시에 풀업 저항(R)을 통하여 전원전압공급단(VCC)에 연결한다.
편의상 통신제어를 하는 마이컴을 마스터마이컴이라 하고 피제어 마이컴을 슬레이브마이컴이라 하며 여기서는 상기 제1마이컴(100)을 마스터로 하고 상기 제2마이컴(200)을 슬레이브로 가정한다.
제2도-제9도는 본 발명의 흐름도이다.
상기 제2도는 마스터마이컴의 초기화 흐름도로서, 상기 마스터마이컴은 출력포트로 설정되고 1을 출력한다.
제3도는 슬레이브마이컴의 초기화 흐름도로서, 상기 슬레이브마이컴이 입력포트로 초기화됨을 나타낸다.
제4도는 마스터마이컴의 일반모드 동작 흐름도이고, 제5도는 슬레이브마이컴의 일반모드 동작 흐름도이며, 제6도는 마스터마이컴의 통신모드 동작 흐름도로서, 상기 마스터마이컴이 일반모드에서 통신모드로 전환하면 통신포트로 제1상태(본 상태에서는 '0'임)신호를 출력하고 상기 슬레이브마이컴이 통신모드로 전환하는데 소요되는 시간 만큼 지연 후 상기 통신포트로 제2상태(본 실시예에서는 '1'임)를 출력하여 시작비트를 송신하고 한 바이트를 송신한 다음 응답을 요하지 않고 송신이 완료된 것으로 판단되면 상기 통신포트로 제2상태신호를 출력하고 일반모드로 복귀하며 응답을 요하지는 않으나 송신이 완료되지 않은 경우 상기 통신포트로 제1상태신호를 출력하고 바이트간의 구분을 위해 소정 시간 지연 후 다시 시작비트를 송신하고 한 바이트를 송신하는 동작을 반복하는 과정과, 상기 과정에서 상기 마스터마이컴이 응답을 요하는 경우 상기 통신포트로 제1상태신호를 출력하고 상기 슬레이브마이컴이 송신을 준비하는데 소요되는 시간 만큼 지연 후 상기 슬레이브마이컴이 송신을 준비하는데 소요되는 시간 만큼 지연 후 상기 통신포트로 제2상태신호를 출력하고 상기 통신포트를 입력포트로 세트한 다음 상기 통신포트로 제1상태신호가 입력되는 것을 감지하면 상기 슬레이브마이컴이 송신을 개시한 것으로 인식하고 상기 슬레이브마이컴이 시작비트를 송신하여 상기 통신포트로 제2상태신호가 입력되는 것에 동기를 맞추어 일정시간 간격으로 데이타를 샘플링하여 한 바이트를 수신하고 다시 상기 통신포트를 체크하여 제1상태신호가 감지되면 계속해서 다음 시작비트에 동기를 맞추어 데이타를 수신하며 상기 통신포트에서 제1상태신호가 감지되지 않으면 상기 통신포트를 출력포트로 세트하고 일반모드로 전환하는 과정으로 이루어진다.
제7도는 슬레이브마이컴의 통신모드 동작 흐름도로서, 상기 슬레이브마이컴이 일반모드에서 통신모드로 전환하면 통신포트를 체크하여 상기 마스터마이컴으로 부터 전송되는 시작비트를 검출하고 상기 시작비트에 동기를 맞추어 상기 마스터마이컴으로 부터 한 바이트 데이타를 수신하며 상기 한 바이트 수신 완료 후 상기 통신포트에서 감지되는 신호의 상태로써 연속수신 여부를 체크하여 연속수신으로 판단되면 다시 시작비트를 검출하여 한 바이트를 수신하는 동작을 반복하는 과정과, 상기 과정에서 상기 슬레이브마이컴이 연속수신이 아니라고 판단하면 통신포트를 출력포트로 세팅하고 지가비트를 송신한 다음 한 바이트씩 송신하는 동작을 계속하다가 더 이상 송신할 데이타가 없을 때 상기 통신포트를 입력포트로 전환하고 일반모드로 복귀하는 과정으로 이루어진다.
제8도는 1바이트 송신 흐름도이고, 제9도는 1바이트 수신 흐름도이다. 제10도는 본 발명에 따른 통신라인 타이밍도로서, 제10a도는 마스터에서 슬레이브로 1바이트의 데이타를 송신할 때 라인상의 파형의 변화를 나타낸 것이다. 여기서 T1 구간은 슬레이브에서 하고 있던 일을 마치고 통신모드로 세팅되는데 필요한 시간을 고려한 것이다. T2 구간은 1비트의 데이타를 전송하는데 걸리는 시간을 나타낸다.
제10b도는 다중 바이트의 데이타를 송신할 때의 라인상의 파형을 나타낸 것으로, 연속되어지는 데이타가 있을 경우 1바이트 송신이 끝난 후 “0”비트를 출력하였다가 다음 바이트를 송신한다.
제10c도는 송수신시의 데이타의 흐름을 나타낸 것으로, 마스터에서 슬레이브로의 1바이트 송신후 연속 2비트 이상이 “0”일 경우는 슬레이브가 데이타의 송신권을 갖게 된다. 여기서 T3 구간 후의 통신라인이 “1”을 유지하는 것은 슬레이브가 송신을 하는데 필요한 준비시간이다.
상술한 구성에 의거 본 발명의 일 실시예를 상세히 설명한다.
마스터마이컴(100)과 슬레이브마이컴(200)을 제2도 및 제3도에 의거 초기화하여 상기 마스터마이컴(100)의 통신포트를 출력포트로 설정하고 상기 슬레이브마이컴(200)의 통신포트는 입력포트로 변환한 다음 각각 제4도 및 제5도에 의거 일반모드 동작을 실시하던 중 통신모드로 동작하게 되는 경우에 대하여 먼저 상기 마스터마이컴(100)의 동작 과정을 제6도를 참조하여 설명하면 하기와 같다.
제4도에 도시된 바와 같이 마스터마이컴(100)은 일반모드에서 일반 프로그램을 수행하다가 통신이 필요하게 되면 통신모드로 들어간다. 상기 마스터마이컴(100)은 통신모드로 들어가는 즉시 (1A)단계에서 통신포트를 클리어시키고 (2A)단계로 진행하여 제10a도에 도시한 바와 같이 슬레이브마이컴(200)이 통신모드로 세팅되는데 걸리는 시간(T1) 만큼 기다렸다가 (3A)단계에서 상기 통신포트를 세트하여 시작비트(start bit)를 보내고 (4A)단계에서 제8도에 도시된 바와 같이 1바이트(byte)를 송신한다. 이 과정은 제8도에 도시되어 있다. 즉 1비트 데이타를 전송하는데 소요되는 시간(T2)만큼 지연 후 1비트를 송신하는 동작을 1바이트 데이타에 대하여 완료시 까지 반복 수행하고 다시 1비트 데이타를 전송하는데 소요되는 시간(T2) 만큼 지연 후 리턴하여 (5A)단계에서 응답 필요 여부를 체크한 결과 응답이 필요치 않을 경우에는 (6A)단계로 진행하여 송신 종료 여부를 검사한다. 상기 검사 결과 상기한 1바이트 송신으로 송신이 끝났음이 판명되면 그 즉시 (9A)단계로 진행하여 통신포트를 세트시키고 리턴하여 일반모드로 동작한다.
반면에 상기 (6A)단계에서 송신이 끝나지 않았다고 판명된 경우는 상기 제10b도에 도시한 바와 같이 연속적으로 송신을 하는 경우이므로 (7A)단계로 진행하여 상기 통신포트를 클리어시키고 (8A)단계에서 1비트를 송신하는데 걸리는 시간(T2) 만큼 지연한 후에 상기 (3A)단계로 루핑하여 전술한 바와 같이 시작비트를 보내고 1바이트를 송신하는 작업을 반복한다.
한편 상기 (5A)단계에서 응답이 필요하다고 판명되면 슬레이브마이컴(200)으로 부터의 데이타 수신이 필요한 경우이므로 상기 마스터마이컴(100)은 연속 2비트를 “0”상태신호를 출력하고 (12A)단계에서 상기 통신포트로 “1”상태신호를 출력하고 상기 통신포트를 입력포트로 변경한다. 상기 (12A)단계 수행 후 (13A)단계에서 통신포트를 체크한다. 상기 통신포트 체크 결과 “0”상태신호가 감지되면 슬레이브마이컴(200)으로 부터의 송신시작임을 인식하고 (14A)단계에서 다시 상기 통신포트를 체크하여 “1”상태신호가 감지되는지 여부를 확인함으로써 시작비트에 동기를 맞추고, (15A)단계에서 소정 시간(T4) 지연 후 (16A)단계에서 1바이트를 수신함으로써 일정 시간 간격으로 데이타를 샘플링하여 수신한다. 즉 제9도에 도시된 바와 같이 1비트 수신 후 1비트 데이타 전송에 소요되는 시간(T2)만큼 지연 후 다시 1비트를 수신하는 과정을 1바이트 데이타 수신 완료시 까지 반복 실시한다. 여기서 전술한 제8도의 1바이트 송신의 경우와 마찬가지로 1비트 수신 후 1비트 데이타 전송에 소요되는 시간(T2)만큼 씩 일정 시간 간격을 유지하는 것은 통신의 신뢰성을 높이는데 관건이 되는 중요한 조건이며 이것은 사용하는 마이컴의 특성을 고려하여 결정한다.
상기 1바이트 수신 과정이 끝나면 (17A)단계에서 상기 통신포트를 체크하여 “0”상태신호가 감지되면 상기 (14A)단계로 루핑하여 전술한 바와 같이 데이타 수신을 반복하고, 상기 통신포트에서 “0”상태신호가 감지되지 않으면 (18A)단계에서 상기 통신포트를 출력포트로 변경한 후 일반모드로 리턴한다.
마스터마이컴(100)이 상술한 바와 같은 동작 과정을 수행하는 동안 슬레이브마이컴(200)은 일반모드에서 동작하다가 통신포트에서 “0”상태신호가 감지되면 통신모드로 들어간다. 일단 통신모드로 변경되면 (1B)단계에서 상기 통신포트에서 “1”상태신호가 감지되는지 체크하여 “1”이면 시작비트가 있는 것으로 간주하고 (2B)단계에서 소정 시간 (T4) 지연 후 (3B)단계에서 제9도에 도시된 바와 같이 일정 시간 간격으로 데이타를 샘플링하여 1바이트 수신 작업을 실시한다. 상기 1바이트 수신이 끝난 후 (4B)단계에서 상기 통신포트를 체크하여 “1”상태신호가 감지되면 수신을 끝내고 일반모드로 리턴한다. 그렇지 않을 경우 상기 슬레이브마이컴(200)은 (5B)단계에서 상기 통신포트에서 “0”상태신호가 유지되는 시간을 카운트하고 (6B)단계에서 상기 통신포트에서 “1”상태신호가 감지되는지 검사하여 “1”일 경우에는 (7B)단계로 진행하여 1비트 데이타를 전송하는데 소요되는 시간(T2)과 상기 카운팅 시간 값을 비교한다. 상기 비교결과 상기 카운팅 시간이 상기 1비트 데이타 전송에 소요되는 시간(T2)보다 크지 않을 경우에는 연속 수신 상태로 간주하고 상기 (2B)단계로 루핑하여 전술한 바와 같이 1바이트 수신을 반복한다.
반면에 상기 제10c도에 도시한 바와 같이 상기 카운팅 시간 값이 상기 1비트 데이타 전송에 소요되는 시간(T2)보다 클 경우에는 마스터로 부터 수신된 데이타를 송신 요구데이타로 간주하여 (8B)단계에서 통신포트를 출력포트로 세팅한다. (9B)단계에서 상기 통신포트로 “0”상태신호를 출력하며 일정 시간(T2) 지연 후 (10B)단계에서 시작비트를 송신한 다음 (11B)단계에서 제8도에 도시된 바와 같은 동작을 실시하여 1바이트 데이타를 전송한다. 이후 (12B)단계에서 송신 완료 여부를 체크하여 완료되지 않았을 경우 상기 (9B)단계로 루핑하여 전술한 바와 같이 데이타 송신을 반복하고 송신이 끝나면 (13B)단계로 진행하여 상기 통신포트를 입력포트로 변경시킨 후 일반 모드로 리턴한다.
상술한 바와 같은 본 발명은 데이타와 통신제어신호의 전송을 하나의 통신라인을 공유하는 쌍방향 통신으로 구현함으로써, 포트 사용 효율을 높이고 직렬포트가 없는 마이컴에서의 직렬통신을 가능하게 할 뿐만 아니라 통신모드를 설정함으로써 통신의 속도 및 신뢰성을 높히는 이점이 있다.

Claims (1)

  1. 마스터 및 슬레이브 마이컴간에 하나의 통신라인만을 공유하여 데이타 및 제어신호를 전송하는 방법에 있어서, 상기 마스터마이컴이 일반모드에서 통신모드로 전환하면 통신포트로 제1상태신호를 출력하고 상기 슬레이브마이컴이 통신모드로 전환하는데 소요되는 시간 만큼 지연 후 상기 통신포트로 제2상태신호를 출력하여 시작비트를 송신하고 한 바이트를 송신한 다음 응답을 요하지 않고 송신이 완료된 것으로 판단되면 상기 통신포트로 제2상태신호를 출력하고 일반모드로 복귀하며 응답을 요하지는 않으나 송신이 완료되지 않은 경우 상기 통신포트로 제1상태신호를 출력하고 바이트간의 구분을 위해 소정 시간 지연 후 다시 시작비트를 송신하고 한 바이트를 송신하는 동작을 반복하는 제1과정과, 상기 제1과정에서 상기 마스터마이컴이 응답을 요하는 경우 상기 통신포트로 제1상태신호를 출력하고 상기 슬레이브마이컴이 송신을 준비하는데 소요되는 시간 만큼 지연 후 상기 통신포트로 제2상태신호를 출력하고 상기 통신포트를 입력포트로 세트한 다음 상기 통신포트로 제1상태신호가 입력되는 것을 감지하면 상기 슬레이브마이컴이 송신을 개시한 것으로 인식하고 상기 슬레이브마이컴이 시작비트를 송신하여 상기 통신포트로 제2상태신호가 입력되는 것에 동기를 맞추어 일정시간 간격으로 데이타를 샘플링하여 한 바이트를 수신하고 다시 상기 통신포트를 체크하여 제1상태신호가 감지되면 계속해서 다음 시작비트에 동기를 맞추어 데이타를 수신하며 상기 통신포트에서 제1상태신호가 감지되지 않으면 상기 통신포트를 출력포트로 세트하고 일반모드로 전환하는 제2과정과, 상기 슬레이브마이컴이 일반모드에서 통신모드로 전환하면 통신포트를 체크하여 상기 마스터마이컴으로 부터 전송하는 시작비트를 검출하고 상기 시작비트에 동기를 맞추어 상기 마스터마이컴으로 부터 한 바이트 데이타를 수신하며 상기 한 바이트 수신 완료 후 상기 통신포트에서 감지되는 신호의 상태로써 연속수신 여부를 체크하여 연속수신으로 판단되면 다시 시작비트를 검출하여 한 바이트를 수신하는 동작을 반복하는 제3과정과, 상기 제3과정에서 상기 슬레이브마이컴이 연속수신이 아니라고 판단하면 통신포트를 출력포트로 세팅하고 시작비트를 송신한 다음 한 바이트씩 송신하는 동작을 계속하다가 더 이상 송신할 데이타가 없을 때 상기 통신포트를 입력포트로 전환하고 일반모드로 복귀하는 제4과정으로 이루어짐을 특징으로 하는 방법.
KR1019900015414A 1990-09-27 1990-09-27 마이컴간 데이타 통신방법 KR930004948B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019900015414A KR930004948B1 (ko) 1990-09-27 1990-09-27 마이컴간 데이타 통신방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019900015414A KR930004948B1 (ko) 1990-09-27 1990-09-27 마이컴간 데이타 통신방법

Publications (2)

Publication Number Publication Date
KR920006854A KR920006854A (ko) 1992-04-28
KR930004948B1 true KR930004948B1 (ko) 1993-06-10

Family

ID=19304081

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900015414A KR930004948B1 (ko) 1990-09-27 1990-09-27 마이컴간 데이타 통신방법

Country Status (1)

Country Link
KR (1) KR930004948B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100688516B1 (ko) * 2005-01-11 2007-03-02 삼성전자주식회사 단일 라인을 이용한 직렬 데이터 통신 방법 및 그 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100688516B1 (ko) * 2005-01-11 2007-03-02 삼성전자주식회사 단일 라인을 이용한 직렬 데이터 통신 방법 및 그 장치

Also Published As

Publication number Publication date
KR920006854A (ko) 1992-04-28

Similar Documents

Publication Publication Date Title
KR950005147B1 (ko) 패킷 통신용 패킷 스위칭 회로망 및 그것에 의한 패킷 스위칭 방법
US5361260A (en) Communication system
US6049837A (en) Programmable output interface for lower level open system interconnection architecture
JPH055711Y2 (ko)
EP1128271A1 (en) Method for the serial transfer of data between two electronic bus stations and bus station for use in said method
EP1972058B1 (en) Serial data communication system and method
US6880026B2 (en) Method and apparatus for implementing chip-to-chip interconnect bus initialization
JPS6410977B2 (ko)
US5966409A (en) Data transmission unit
US4885740A (en) Digital signal switch
JPH06103880B2 (ja) シリアルデータ通信装置
KR930004948B1 (ko) 마이컴간 데이타 통신방법
CA2448925A1 (en) Transmission apparatus and tramsmission method
US20030112827A1 (en) Method and apparatus for deskewing parallel serial data channels using asynchronous elastic buffers
CN112817895B (zh) 一种基于gpio的通信方法
US5721891A (en) Detection of N length bit serial communication stream
US4809303A (en) Dynamic speed shifter for fiber optic work station
EP1128272B1 (en) Method for the serial transfer of data between two electronic bus stations and bus station for use in said method
TWI818834B (zh) 微控制器及應用其之序列周邊介面系統
JP2623816B2 (ja) 信号伝送方式
KR100406967B1 (ko) 병렬포트다중입력확장장치
JP2558119B2 (ja) 送受信回路
JP2724323B2 (ja) 信号切換装置および信号切換方法
KR0170306B1 (ko) 단위 길이를 이용한 데이터 송수신 방법
JPH05130088A (ja) データ通信方式及び伝送速度設定回路

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030530

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee