KR950009409B1 - 직렬 입출력 인터페이스 장치 및 방법 - Google Patents

직렬 입출력 인터페이스 장치 및 방법 Download PDF

Info

Publication number
KR950009409B1
KR950009409B1 KR1019930016909A KR930016909A KR950009409B1 KR 950009409 B1 KR950009409 B1 KR 950009409B1 KR 1019930016909 A KR1019930016909 A KR 1019930016909A KR 930016909 A KR930016909 A KR 930016909A KR 950009409 B1 KR950009409 B1 KR 950009409B1
Authority
KR
South Korea
Prior art keywords
clock
slave
data
master
station
Prior art date
Application number
KR1019930016909A
Other languages
English (en)
Other versions
KR950007335A (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 KR1019930016909A priority Critical patent/KR950009409B1/ko
Publication of KR950007335A publication Critical patent/KR950007335A/ko
Application granted granted Critical
Publication of KR950009409B1 publication Critical patent/KR950009409B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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
    • 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)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

내용 없음.

Description

직렬 입출력 인터페이스 장치 및 방법
제1도는 본 발명에 따른 마스터 스테이션과 슬레이브 스테이션의 개략적인 구성도.
제2도는 제1도의 마스터 스테이션과 슬레이브 스테이션의 블럭 구성도.
제3도는 본 발명에 따른 마스터 스테이션과 슬레이브 스테이션의 인터페이스 프레임 구성도.
제4도는 마스터 스테이션과 슬레이브 스테이션의 동기화 과정을 나타내는 동작 파형도.
본 발명은 마스터 스테이션과 슬레이브 스테이션으로 구성되는 통신 시스템의 직렬 인터페이스 장치 및 방법에 관한 것으로, 특히 서로 다른 전송속도를 갖는 마스터 스테이션과 슬레이브 스테이션간의 직렬 데이타를 1라인으로 인터페이스를 할 수 있는 장치 및 방법에 관한 것이다.
일반적으로 통신장치들 간에 직렬 데이타를 인터페이스하는 경우, 데이타 라인 및 클럭 라인들을 필요로 한다. 그러나 현재에는 통신장치들 간의 인터페이스 라인을 감촉하여 통신을 수행하는 방법들이 대두되고 있다. 즉, 마스터 스테이션과 슬레이브 스테이션간에 1라인으로 데이타를 전송하는 방법이 출현하고 있다. 이런 방법을 사용하는 종래의 통신 시스템에서는 마스터 스테이션과 슬레이브 스테이션이 동일한 시스템 클럭 소스를 공유하여 양측 스테이션들을 동기화시키는 방법과, 마스터 스테이션이 보오레이트(baud rate)를 사용하여 소프트웨어적으로 동기화시키는 방법이 있다. 즉, 전자의 방법은 마스터 스테이션과 슬레이브 스테이션이 동일한 클럭 소스를 사용하기 때문에 데이타를 인터페이스하는 경우 전송측의 스테이션과 수신측의 스테이션간의 동기가 가능하다. 그리고 후자의 방법은 마스터 스테이션과 슬레이브 스테이션간의 시스템 클럭을 고려하여 마스터 스테이션이 소프트웨어적으로 보오레이트를 조정하여 비동기 인터베이스를 가능하게 한다. 그러나 상기와 같은 전자의 방식을 사용하는 경우에는 마스터 스테이션과 슬레이브 스테이션간의 클럭 소스가 다르면 통신 기능을 수행할 수 없어 제한적이며, 후자의 방식을 사용하는 경우에는 데이타 인터페이스 수행시 마스터 스테이션이 슬레이브 스테이션의 클럭을 소프트웨어적으로 일일이 계산하여 보오레이트를 조정하여야하는 불편함이 초래된다.
따라서 본 발명의 목적은 1라인으로 비동기 방식의 직렬 데이타를 처리하는 통신 시스템에서 마스터 스테이션과 슬레이브 스테이션이 각각 별도의 시스템 클럭을 사용하여 데이타를 인터페이스할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 서로 다른 클럭을 사용하는 마스터 스테이션과 슬레이브 스테이션간에 직렬 데이타를 1라인을 이용하여 비동기 방식으로 인터페이스할 시 두 스테이션간의 클럭 동기화 과정을 하드웨어적으로 수행할 수 있는 장치 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명은 마스터 스테이션이 인터페이스 시작시 상기 인터페이스 라인을 통해 스타트 조건을 발생하고, 슬레이브 스테이션이 상기 스타트 조건을 검출하여 슬레이브 클럭을 상기 인터페이스 라인으로 출력하는 과정과; 상기 마스터 스테이션이 상기 인터페이스 라인을 통해 수신되는 슬레이브 클럭을 마스터 클럭으로 계수하여 마스터 클럭을 슬레이브 클럭에 동기시키는 과정과; 상기 클럭 동기 후 상기 마스터 스테이션이 상기 인터페이스 라인으로 어드레스 데이타를 출력하고, 상기 슬레이브 스테이션이 상기 어드레스 데이타를 수신하는 과정과; 상기 어드레스 데이타 출력 후 동기 클럭 데이타 및 송수신 플래그를 상기 인터페이스 라인으로 송출하고, 슬레이브 스테이션이 상기 동기 클럭 데이타를 수신하여 슬레이브 클럭으로 세트하여 송수신 플래그에 의해 모드를 설정하는 과정과; 상기 동기 클럭에 의해 설정된 모드로 상기 인터페이스 라인을 통해 상기 마스터 스테이션과 슬레이브 스테이션간에 데이타를 인터페이스하는 과정과 ; 상기 데이타 인터페이스 과정에서 마지막 데이타 처리 후 상기 인터페이스 라인을 리세트 시켜 초기화하는 과정으로 이루어짐을 특징한다.
이하 본 발명을 도면을 참조하여 상세히 설명한다.
제1도는 마스터 스테이션(100)과 슬레이브 스테이션(200)이 본 발명에 따라 비동기 방식으로 직렬 데이타를 인터페이스하기 위한 전송로의 구성을 도시하는 도면으로, 마스터 스테이션(100)과 슬레이브 스테이션(200)간에는 1라인의 인터페이스라인(11)을 통해 직렬 데이타를 인터페이싱한다. 상기 인터페이스라인(11)은 마스터 출력트랜지스터(112) 또는 슬레이브 출력트랜지스터(262)가 온 상태가 아니면 풀업 상태가 되어 항상 하이 논리를 유지한다. 상기 마스터 스테이션(100)은 자신의 시스템 클럭인 마스터클럭 MCK로 동작하며, 슬레이브 스테이션(200)으로 부터 출력되는 데이타를 인터페이스라인(11) 및 마스터 입력버퍼(111)을 통해 수신하거나, 또는 슬레이브 스테이션(200)으로 데이타를 출력하고자 할 시 마스터 출력트랜지스터(112)를 온시켜 인터페이스라인(11)을 풀다운시킨다. 슬레이브 스테이션(200)은 자신의 시스템 클럭인 슬레이브클럭 SCK로 동작하며, 상기 마스터 스테이션(100)으로 부터 출력되는 데이타를 인터페이스라인(11) 및 슬레이브 입력버퍼(261)을 통해 수신하거나, 또는 상기 마스터 스테이션(100)으로 데이타를 출력하고자 할시 슬레이브 출력트랜지스터(262)를 온시켜 인터페이스라인(11)을 풀다운시킨다.
상기와 같이 마스터 스테이션(100)과 슬레이브 스테이션(200)간에는 1라인의 인터페이스라인(11)을 이용하여 데이타를 인터페이싱하게 되는데, 인터페이스의 시작은 상기 마스터 스테이션(100)의 시작 조건에 의해 수행되며, 인터페이스의 종료도 상기 마스터 스테이션(100)의 종료 조건에 의해 수행된다. 즉 인터페이스 수행시 상기 마스터 스테이션(100)이 인터페이스의 제어권을 가지며, 이를 위해 마스터 스테이션(100)과 슬레이브 스테이션(200)의 데이타 전송 클럭을 동기시켜야 하므로 상기 마스터클럭 MCK는 상기 슬레이브 클럭 SCK의 N+2배(여기서 N=0, 1, 2, 3, …) 이상이어야 한다.
제2도는 제1도와 같은 인터페이스 동작을 수행하는 마스터 스테이션(100)과 슬레이브 스테이션(200)의 구성을 도시하고 있다.
먼저 상기 마스터 스테이션(100)의 구성을 살펴보면, 모드레지스터(110)은 마스터 스테이션(100)의 버스와 연결되며, 도시하지 않은 제어부의 제어 데이타에 의해 스타트 제어신호, 스톱 제어신호 및 인에이블 제어신호를 발생한다. 버퍼레지스터(128)은 마스터 스테이션(100)의 버스와 연결되며, 도시하지 않은 제어부의 데이타를 버퍼링한다. 마스터 입력버퍼(111)은 상기 인터페이스라인(11)과 마스터 입력라인(101) 사이에 연결되며, 상기 인터페이스라인(11)을 통해 상기 슬레이브 스테이션(200)으로 부터 출력되는 데이타를 상기 마스터 입력라인(101)로 출력한다. 스타트발생기(start generator)(121)은 상기 모드레지스터(110)의 스타트 제어신호 출력단과 연결되며, 상기 모드레지스터(110)으로 부터 인에이블된 스타트 신호가 출력될 시 상기 인터페이스라인(11)을 풀다운시키기 위한 신호를 출력한다. 스톱 발생기(stop generator)(122)는 상기 모드레지스터(110)의 스톱 제어신호 출력단과 연결되며, 상기 모드레지스터(110)으로 부터 인에이블된 스톱 신호가 출력될 시 상기 인터페이스라인(11)을 풀업시키기 위한 신호를 출력한다. 인지카운터(123)은 상기 마스터 입력라인(101)과 상기 모드레지스터(110)의 스타트 제어신호 출력단과 연결되고 마스터 클럭 MCK를 클럭으로 수신하며, 상기 모드레지스터(110)이 스타트 신호를 인에이블시키고 있는 상태에서 상기 마스터 입력버퍼(111)로부터 출력되는 인지신호(acknowledge signal)를 상기 마스터클럭 MCK으로 카운트하여 상기 슬레이브클럭 SCK의 주기에 대응하는 인지 카운트 신호를 발생한다. 프리스케일러(prescaler)(124)는 상기 인지카운터(123)의 출력을 수신하고 상기 마스터클럭 MCK를 클럭으로 수신한다.
상기 프리스케일러(124)는 마스터클럭 MCK를 상기 인지카운터(123)으로 부터 출력되는 슬레이브클럭 SCK에 동기되는 클럭으로 프리스케일링한다. 프리스케일러레지스터(prescaler register)(125)는 상기 버퍼레지스터(128) 및 프리스케일러(124)와 연결되며, 상기 프리스케일링되어 슬레이브클럭 SCK와 동기된 클럭을 발생한다. 카운터(128)은 상기 프리스케일러레지스터(125)의 출력을 수신하며, 미리 설정된 카운트 값에 따라 상기 마스터 송신클럭을 카운트하여 마스터의 전송 종료 신호를 발생한다. 쉬프터(127)은 상기 프리스케일러레지스터(125)의 출력을 클럭으로 수신하며, 수신모드시 상기 마스터 입력버퍼(111)로부터 수신되는 직렬 데이타를 상기 동기클럭에 의해 병렬 데이타로 변화하여 상기 버퍼레지스터(128)로 출력하고, 송신모드시 상기 버퍼레지스터(128)로 부터 수신되는 마스터 스테이션(100)의 병렬 데이타를 상기 동기 클럭에 의해 직렬 데이타로 변환 출력한다. 3상태버퍼(129)는 상기 쉬프터(127)의 출력을 수신하고 상기 모드레지스터(110)의 인에이블 제어신호에 의해 제어되어 인에이블 제어신호 수신시 상기 쉬프터(127)의 출력하는 데이타를 출력한다. 오아게이트(130)은 상기 스타트발생기(121), 카운터(126) 및 쉬프터(127)의 출력을 논리합하여 출력한다. 앤드게이트(131)은 상기 스톱발생기(122) 및 오아게이트(130)의 출력을 논리곱하여 마스터 출력트랜지스터(112)의 스위칭을 제어한다. 상기 마스터 출력트랜지스터(112)는 인터페이스라인(11)과 접지단 사이에 연결되고 상기 앤드게이트(131)의 출력을 제어신호로 수신하며, 상기 앤드게이트(131)의 출력 논리에 따라 상기 인터페이스라인(11)을 풀업 또는 풀다운하여 지정된 모드에 따라 데이타 수신 및 송신동작을 수행한다.
두번째로 상기 슬레이브 스테이션의 구성을 살펴보면, 버퍼레지스터(278)은 슬레이브 스테이션(200)의 버스와 연결되며, 도시하지 않은 제어부의 데이타를 버퍼링한다. 슬레이브 입력버퍼(261)은 상기 인터페이스라인(11)과 슬레이브 입력라인(251) 사이에 연결되며, 상기 인터페이스라인(11)을 통해 상기 마스터 스테이션(100)으로 부터 출력되는 데이타를 상기 슬레이브 입력라인(251)로 출력한다. 스타트검출기(start detecter)(271)은 상기 슬레이브 입력버퍼(261)의 출력단과 연결되고 슬레이브클럭 SCK를 수신하며, 상기 슬레이브 입력버퍼(261)로부터 수신되는 마스터 스테이션(100)의 출력으로 스타트 신호를 검출하여 상기 인터페이스라인(11)을 풀다운시키기 위한 신호를 출력한다. 스톱 발생기(stop detecter)(271)은 상기 슬레이브 입력버퍼(261)의 출력단과 연결되고 슬레이브클럭 SCK를 수신하며, 상기 슬레이브 입력버퍼(261)로부터 수신되는 마스터 스테이션(100)의 출력으로부터 스톱 신호를 검출하여 상기 인터페이스라인(11)을 풀업시키기 위한 신호를 출력한다. 프리스케일러레지스터(276)은 슬레이브클럭 SCK를 수신하고 상기 버퍼레지스터(278)로부터 수신되는 데이타 프레임에서 프리스케일러의 데이타를 수신하여 저장한다. 송수레지스터(275)는 상기 버퍼레지스터(278)로 부터 수신되는 T/R비트 데이타를 저장하여 슬레이브 스테이션의 송수신 제어신호를 출력한다. 어드레스카운터(277)은 상기 버퍼레지스터(278)의출력을 수신하여 상기 마스터 스테이션(100)으로 부터 출력되는 데이타 프레임의 어드레스 데이타를 카운터한다. 카운터(273)은 상기 프리스케일레지스터(276)의 출력을 카운트하여 데이타 인터페이스 종료 후 일정 카운트 값이 되면 상기 인터페이스라인(11)을 풀업시키기 위한 신호를 발생한다.
쉬프터(274)는 상기 프리스케일러레지스터(276)의 출력을 클럭으로 수신하며, 수신모드시 상기 슬레이브 입력버퍼(261)로 부터 수신되는 직렬 데이타를 상기 프리스케일러 클럭에 의해 병렬 데이타로 변화하여 상기 버퍼레지스터(278)로 출력하고, 송신모드시 상기 버퍼레지스터(278)로 부터 수신되는 슬레이브 스테이션(200)의 병렬 데이타를 상기 동기 클럭에 의해 직렬 데이타로 변환출력한다. 3상태 버퍼(279)는 상기 쉬프터(274)의 출력을 수신하고 상기 송수레지스터(275)로부터 출력되는 송수신 제어신호에 의해 제어되어 상기 쉬프터(274)가 출력하는 데이타의 출력을 제어한다. 오아게이트(280)은 상기 스타트검출기(271), 카운터(273) 및 쉬프터(274)의 출력을 논리합하여 출력한다. 앤드게이트(281)은 상기 스톱검출기(272) 및 오아게이트(280)의 출력을 논리곱하여 슬레이브 출력트랜지스터(262)의 스위칭을 제어한다. 상기 슬레이브 출력트랜지스터(262)는 인터페이스라인(11)과 접지단 사이에 연결되고 상기 앤드게이트(281)의 출력을 제어신호로 수신하며, 상기 앤드게이트(281)의 출력 논리에 따라 상기 인터페이스라인(11)을 풀업 또는 폴다운하며 지정 모드에 따라 데이타 수신 및 송신 동작을 수행한다.
제3도는 본 발명에 따른 데이타의 프레임 구조를 도시하고 있다.
제4도는 본 발명에 따라 마스터 스테이션(100)과 슬레이브 스테이션(200)간에 전송 클럭을 동기시킨 후 데이타를 인터페이싱하는 과정을 도시하고 있는 타이밍도이다.
상술한 제2도의 구성에 의거 본 발명을 제3도의 데이타 구조 및 제4도의 타이밍도를 참조하여 살펴보면, 데이타 인터페이스를 수행하기 위하여 마스터 스테이션(200)은 인터페이스의 스타트 조건을 발생하며, 슬레이브 스테이션(200)은 이에 응답하여 인지신호를 출력한다. 그러면 마스터 스테이션(100)은 슬레이브 스테이션(200)의 인지신호를 수신하여 슬레이브 스테이션(200)의 슬레이브클럭 SCK에 마스터클럭 MCK를 동기시킨다. 그러면 서로 다른 시스템 클럭을 사용하는 마스터 스테이션(100)과 슬레이브 스테이션(200)간에는 동일한 클럭으로 동기된 상태가 된다.
클럭 동기 과정 수행 후 마스터 스테이션(100)은 제3도에 도시한 어드레스, 프리스케일러 값, T/R비트를 순차적으로 전송하며 슬레이브 스테이션(200)은 이를 수신하여 데이타를 인터페이스하기 위한 준비 동작을 수행한다. 이후 마스터 스테이션(100)과 슬레이브 스테이션(200)간에서는 직렬 데이타를 인터페이스라인(11)을 통해 인터페이스한다.
이후 마스터 스테이션(100)은 마지막 데이타를 처리한 후 인터페이스를 종료하기 위한 스톱신호를 발생하며, 슬레이브 스테이션(200)은 상기 스톱신호를 감지하여 인터페이스 동작을 중지하고 다음 상태에 대비한다.
상기 마스터 스테이션(100)과 슬레이브 스테이션(200)은 서로 다른 시스템 클럭을 사용하는데, 이때 제4도의 (401)로 도시된 상기 마스터클럭 MCK는 제4도의 (402)로 도시된 슬레이브클럭 SCK의 정수배를 갖는 클럭이다. 그러므로 슬레이브 스테이션(200)과 인터페이스 동작을 시작할시 마스터 스테이션(100)은 마스터클럭 MCK를 스케일링하여(402)와 같은 슬레이브클럭 SCK과 동일한 클럭을 (404)와 같이 발생한다. 상기와 같이 마스터 스테이션(100)이 슬레이브 스테이션(200)과 클럭을 동기하는 과정을 살펴본다.
먼저 인터페이스 동작이 이루어지지 않고 있는 상태에서는 마스터 출력트랜지스터(112) 및 슬레이브 출력 트랜지스터(262)가 모두 오프 상태가 되어 인터페이스라인(11)은 풀업 상태를 유지하고 있다. 이런 상태에서 인터페이스 동작을 수행하고자 하는 경우, 마스터 스테이션(100)의 제어부는 모드레지스터(110)에 스타트 비트를 "1"로 세트시킨다. 이 경우 스톱 비트는 "1"의 값을 갖는다. 그러면 상기 모드레지스터(11)으로부터 스타트 신호를 수신하는 스타트발생기(121)은 "1"의 논리를 갖는 신호를 출력하여 오아게이트(130)이 하이 논리 신호를 출력하도록 제어하며, 이로인해 앤드게이트(132)는 상기 오아게이트(131) 및 스톱발생기(122)로 부터 출력되는 하이 논리 신호들을 논리곱하여 마스터 출력트랜지스터(112)를 온시킨다. 따라서 상기 인터페이스라인(11)은 풀업 상태에서 풀다운 상태로 천이된다. 즉, 상기 마스터 스테이션(100)은 슬레이브 스테이션(200)과 통신 인터페이스를 시작하고자 하는 경우, 스톱발생기(121)을 통해 마스터 출력트랜지스터(112)를 온시켜 인터페이스라인(11)의 논리상태를 천이시킨다.
상기와 같이 인터페이스라인(11)의 논리가 천이되면, 슬레이브 스테이션(200)은 이를 감지한다. 즉, 슬레이브 입력버퍼(261)을 통해 수신되는 인터페이스라인(11)의 출력신호는 스타트검출기(271)로 인가되며, 상기 스타트검출기(271)은 인터페이스라인(11)로부터 폴링 에지(falling edge)를 검출하는 순간 제4도의 402와 같은 슬레이브클럭 SCK에 동기하여 가장 먼저 동기되는 슬레이브클럭 SCK의 한주기 신호를 스타트 검출신호로 출력한다. 그리고 상기 슬레이브 입력버퍼(261)의 출력을 수신하는 스톱검출기(272)는 스톱 조건이 발생하지 않으면 이 논리 신호를 출력한다. 따라서 상기 스타트 검출신호가 발생되면 오아게이트(280)은 슬레이브클럭 SCK를 출력하며, 앤드게이트(281)은 스톱 조건이 발생하지 않으면 상기 신호를 그대로 출력한다. 따라서 슬레이브 출력트랜지스터(262)가 상기 슬레이브클럭 SCK에 의해 온/오프되어 인터페이스라인(11)을 풀업 또는 풀다운시킨다.
그러면 마스터 스테이션(100)은 상기 슬레이브클럭 SCK를 인지신호로 수신하여 마스터 스테이션(200)의 전송 클럭을 슬레이브클럭 SCK에 동기시킨다. 이런 과정을 살펴보면, 상기 인터페이스라인(11)을 통해 수신되는 슬레이브클럭 SCK는 마스터 입력버퍼(111)을 통해 인지카운터(123)에 인가된다. 그러면 상기 인지 카운터(123)은 제4도의 t1으로 도시한 바와 같이 (401)과 같은 마스터클럭 MCK를 수신하여(402)와 같은 상기 슬레이브클럭 SCK의 하이 주기를 카운트한다. 상기와 같은 인지카운터(123)의 출력은 프리스케일러(124)로 인가되며, 프리스케일러(124)는 상기 인지카운터(123)의 출력을 프리스케일링하여 슬레이브클럭 SCK와 동일한 주기를 갖는 프리스케일링 값을 프리스케일러레지스터(125)로 출력한다. 그러므로 상기 프리스케일러레지스터(125)에 저장되는 프리스케일러 값은 슬레이브클럭 SCK의 라이징 에지에서 폴링 에지까지의 카운트 값이 되며, 따라서 상기 프리스케일러레지스터(125)를 출력하는 동기된 클럭은 제4도의 (404)와 같은 클럭 신호가 된다. 이로써 마스터 스테이션(100)과 슬레이브 스테이션(200)간에는 전송 클럭의 동기가 이루어지게 된다.
제3도에 SACK로 도시된 세트업 시간 동안에 마스터 스테이션(100)과 슬레이브 스테이션(200)간에 클럭 동기가 이루어지면, 상기 마스터 스테이션(100)과 슬레이브 스테이션(200)간에는 데이타 인터페이스 동작이 개시된다.
클럭 동기를 마친 후 쉬프터(127)은 상기 프리스케일러레지스터(125)를 출력하는 (404)와 같은 동기 클럭에 의해 버퍼레지스터(128)가 출력하는 병렬 형태의 어드레스 데이타를 로드하여 직렬 데이타로 쉬프팅 출력한다. 이때의 상기 어드레스 데이타는 인터페이스하는 1 이상의 연속된 메모리 스페이스(memory space)의 첫번째 어드레스가 된다. 또한 제3도에 도시한 바와같이 어드레스 데이타 프레임으로 부터 모든 데이타 프레임의 사이는 마스터 스테이션(100)과 슬레이브 스테이션(200)간의 동기 클럭의 한주기 만큼 이격시킨다. 상기 쉬프트(127)이 출력하는 직렬 송신 데이타는 3상태버퍼(129)로 인가된다. 이때 상기 모드레지스터(110)은 상기 마스터 스테이션(100)이 송신 모드일시 3상태버퍼(129)를 인에이블시키기 위한 제어신호를 출력한다. 따라서 상기 쉬프터(127)이 출력하는 마스터 스테이션의 직렬 송신 데이타는 3상태버퍼(129), 오아게이트(130) 및 앤드게이트(131)을 통해 마스터 출력트랜지스터(112)로 인가된다. 따라서 마스터 출력트랜지스터(112)는 수신되는 데이타의 논리에 따라 온/오프되어 상기 인터페이스라인(11)을 풀업/풀다운시킨다.
상기와 같이 어드레스 데이타가 인터페이스라인(11)에 인가되면, 슬레이브클럭 SCK를 출력한 슬레이브 스테이션(200)의 쉬푸터(274)는 슬레이브클럭 SCK에 의해 슬레이브 입력버퍼(261)을 통해 수신되는 직렬 데이타를 병렬 데이타로 변환하여 버퍼레지스터(278)로 출력한다.
상기 마스터 스테이션(100)은 프리스케일러 및 라이트/리드 비트의 전송을 위하여 어드레스 데이타의 프레임에 뒤이어 "PSC & T/R"을 전송한다. 이때는 데이타가 버스로 부터 버퍼레지스터(128)로 로드된 후, "PSC"는 프리스케일레지스터(125)로 이동하고 "T/R"부분은 모드레지스터(110)으로 이동하는 동작이 동시에 이루어진다. 상기 "PSC & T/R"은 상기 어드레스 데이타의 전송 과정과 동일하게 마스터 출력트랜지스터(112)를 통해 인터페이스라인(11)로 출력된다.
상기와 같이 "PSC & T/R"이 인터페이스라인(11)에 인가되면, 상기한 바와 같이 쉬프터(274)는 수신되는 직렬 데이타를 병렬 데이타로 변환한다. 이때 상기 "PSC & T/R" 데이타 프레임을 모두 수신하면, "PSC" 데이타는 프리스케일러레지스터(276)에 저장되며, "T/R"데이타는 송수레지스터(275)에 저장된다.
따라서 상기 슬레이브 스테이션(200)이 상기 "PSC"데이타를 수신한 이후에는 마스터 스테이션(100)과 슬레이브 스테이션(200)간의 전송 클럭은 상기 "PSC"데이타에 의해 분주된 클럭에 동기되는 전송 클럭으로 데이타를 인터페이싱한다. 또한 마스터 스테이션(100)과 슬레이브 스테이션(200)간의 데이타 인터페이스는 상기 T/R비트에 의해 수행되는데, 상기 T/R비트가 "1"이면 마스터 스테이션(100)이 슬레이브 스테이션(200) 측으로 데이타를 전송하게 된다. 이때 상기 마스터 스테이션(100)은 제3도에 도시된 바와 같이 어드레스 데이타를 1로 하고 첫번째 데이타부터 순차적으로 마지막 데이타까지 라이트한다. 그러면 수신측의 슬레이브 스테이션(200)의 쉬프터(274)는 상기와 같이 수신되는 직렬 데이타를 병렬 데이타로 변환하여 버퍼레지스터(278)로 출력하며, 어드레스카운터(277)은 상기 쉬프터(274)에서 데이타를 출력할 때마다 이를 카운트하여 수신되는 데이타의 수를 계산한다. 또한 상기 T/R비트가 "0"이면 슬레이브 스테이션(200)이 마스터 스테이션(100)으로 데이타를 전송하게 된다. 따라서 슬레이브 스테이션(200)은 상기 "PSC"에 동기된 전송클럭으로 데이타를 송신하며, 마스터 스테이션(100)은 수신되는 직렬 데이타를 상기 "PSC"에 동기된 클럭으로 병렬 변환하여 버퍼레지스터(129)로 출력한다.
마스터 스테이션(100)이 상기와 같은 데이타 전송 동작중에 마지막 데이타를 처리하는 경우에는 모드레지스터(110)에 스톱 비트를 "1"을 라이트하며, 카운터(126)은 프리스케일러레지스터(125)의 클럭을 카운트하여 데이타 프레임이 끝나는 순간에 스톱발생기(122)를 동작시킨다. 그러면 상기 스톱발생기(122)는 스톱신호를 "0"로 리세트시켜 마스터 출력트랜지스터(112)를 오프시킨다. 상기 마스터 출력트랜지스터(112)가 오프되면 상기 인터페이스라인(11)은 풀업된다. 그리고 상기 마스터 스테이션(100)은 다음의 데이타 인터페이스를 위한 준비 상태로 천이한다. 또한 슬레이브 스테이션(200)은 카운터(273)에 의해 인터페이스 되는 데이타 프레임의 끝을 인식하게 되는데, 데이타 프레임의 처리가 종료된 상태에서도 인터페이스라인(11)이 풀업되지 않으면, 스톱 조건을 감지하여 마스터 스테이션(100)과의 인터페이스를 종료하고 다음의 인터페이스를 준비하게 된다.
상술한 바와 같이 마스터 스테이션과 슬레이브 스테이션간의 직렬 데이타 인터페이스를 1라인으로 구현할 수 있으며, 두 스테이션간의 클럭 동기화 동작이 하드워어로 구현되므로 시스템 클럭이 상이한 스테이션간에도 간단하고 신속하게 클럭 동기를 정확하게 이룰 수 있는 이점이 있다.

Claims (6)

  1. 하나의 인터페이스 라인으로 연결되는 마스터 스테이션과 슬레이브 스테이션간의 데이타 인터페이스방법에 있어서, 마스터 스테이션이 인터페이스 시작시 상기 인터페이스 라인을 통해 스타트 조건을 발생하고, 슬레이브 스테이션이 상기 스타트 조건을 검출하여 슬레이브 클럭을 상기 인터페이스 라인으로 출력하는 과정과, 상기 마스터 스테이션이 상기 인터페이스 라인을 통해 수신되는 슬레이브 클럭을 마스터 클럭으로 계수하여 마스터 클럭을 슬레이브 클럭에 동기시키는 과정과, 상기 클럭 동기 후 상기 마스터 스테이션이 상기 인터페이스 라인으로 어드레스 데이타를 출력하고, 상기 슬레이브 스테이션이 상기 어드레스 데이타를 수신하는 과정과, 상기 어드레스 데이타 출력 후 동기 클럭 데이타 및 송수신 플래그를 상기 인터페이스 라인으로 송출하고, 슬레이브 스테이션이 상기 동기 클럭 데이타를 수신하여 슬레이브 클럭으로 세트하며 송수신 플래그에 의해 모드를 설정하는 과정과, 상기 동기 클럭에 의해 설정된 모드로 상기 인터페이스 라인을 통해 상기 마스터 스테이션과 슬레이브 스테이션간에 데이타를 인터페이스하는 과정과, 상기 데이타 인터페이스 과정에서 마지막 데이타 처리 후 상기 인터페이스 라인을 리세트시켜 초기화하는 과정으로 이루어짐을 특징으로 하는 마스터 스테이션과 슬레이브 스테이션간의 데이타 인터페이스 방법.
  2. 제1항에 있어서, 마스터 스테이션이 슬레이브 스테이션과 클럭을 동기하는 과정이, 상기 인터페이스 라인으로부터 슬레이브클럭을 수신하는 과정과, 상기 수신된 슬레이브클럭의 반 주기를 상기 마스터클럭으로 계수하는 과정과, 상기 계수 값을 프리스케일링하여 상기 슬레이브 클럭에 동기된 클럭을 방생하는 과정으로 이루어짐을 특징으로 하는 마스터 스테이션과 슬레이브 스테이션간의 데이타 인터페이스 방법.
  3. 제2항에 있어서, 상기 마스터클럭의 주파수가 상기 슬레이브 클럭 주파수의 N+2배(N=0, 1, 2, 3, …)인 것을 특징으로 하는 마스터 스테이션과 슬레이브 스테이션간의 데이타 인터페이스 방법.
  4. 하나의 인터페이스 라인으로 연결되는 마스터 스테이션과 슬레이브 스테이션간의 데이타 인터페이스장치에 있어서, 상기 마스터 스테이션이, 상기 인터페이스 라인에 연결되는 입력수단과, 상기 인터페이스 라인에 연결되는 출력수단가, 상기 출력수단과 연결되며 마스터 제어부에서 스타트 신호 발생시 상기 출력수단을 제어하여 상기 인터페이스 라인으로 출력하는 스타트발생수단과, 상기 입력수단과 연결되며, 상기 인터페이스 라인으로부터 수신되는 슬레이브클럭에 마스터 스테이션의 클럭을 동기시키는 수단과, 상기 동기된 클럭에 의해 상기 입력수단으로 수신되는 직렬 데이타를 병렬 변환하여 마스터 제어부로 전송하고, 상기 마스터 제어부로 부터 수신되는 병렬 데이타를 직렬 데이타로 변환하여 상기 출력수단으로 출력하는 수단과, 상기 출력수단과 연결되며 마스터 제어부에서 스톱 신호발생시 상기 출력수단을 제어하여 상기 인터페이스 라인을 초기화하는 스톱발생수단으로 구성되며, 상기 슬레이브 스테이션이, 상기 인터페이스 라인에 연결되는 입력수단과, 상기 인터페이스 라인에 연결되는 출력수단과, 상기 입력수단과 출력수단 사이에 연결되며 상기 입력수단으로 부터 수신되는 스타트신호를 검출하여 상기 출력수단으로 슬레이브클럭을 전송하는 스타트 검출수단과, 슬레이브 클럭에 의해 상기 입력수단으로부터 수신되는 직렬 데이타를 병렬 변환하여 슬레이브 제어부로 전송하고, 상기 슬레이브 제어부로 부터 수신되는 병렬 데이타를 직렬 데이타로 변환하여 상기 출력수단으로 출력하는 수단과, 상기 입력수단과 출력수단 사이에 연결되며, 상기 입력수단으로 부터 수신되는 스톱신호를 검출하여 상기 인터페이스 라인을 초기화시키는 스톱검출수단으로 구성된 것을 특징으로 하는 마스터 스테이션과 슬레이브 스테이션간의 데이타 인터페이스 장치.
  5. 제4항에 있어서, 상기 마스터 스테이션의 클럭동기수단이 상기 입력수단으로 부터 수신되는 슬레이브클럭의 주기를 카운트하는 수단과, 상기 카운트 수단의 출력을 프리스테일링하는 수단과, 상기 프리스케일링 값으로부터 상기 슬레이브클럭에 동기된 마스터의 클럭을 발생하는 수단으로 구성된 것을 특징으로 하는 마스터 스테이션과 슬레이브 스테이션간의 데이타 인터페이스장치.
  6. 제5항에 있어서, 상기 마스터 클럭의 주파수가 상기 슬레이브클럭 주파수의 N+2배(N=0, 1, 2, 3, …)인 것을 특징으로 하는 마스터 스테이션과 슬레이브 스테이션간의 데이타 인터페이스 장치.
KR1019930016909A 1993-08-28 1993-08-28 직렬 입출력 인터페이스 장치 및 방법 KR950009409B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930016909A KR950009409B1 (ko) 1993-08-28 1993-08-28 직렬 입출력 인터페이스 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930016909A KR950009409B1 (ko) 1993-08-28 1993-08-28 직렬 입출력 인터페이스 장치 및 방법

Publications (2)

Publication Number Publication Date
KR950007335A KR950007335A (ko) 1995-03-21
KR950009409B1 true KR950009409B1 (ko) 1995-08-22

Family

ID=19362195

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930016909A KR950009409B1 (ko) 1993-08-28 1993-08-28 직렬 입출력 인터페이스 장치 및 방법

Country Status (1)

Country Link
KR (1) KR950009409B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100419255B1 (ko) * 2001-12-22 2004-02-21 엘지전자 주식회사 마스터/슬레이브 시스템에서의 시스템 정보 수집 방법

Also Published As

Publication number Publication date
KR950007335A (ko) 1995-03-21

Similar Documents

Publication Publication Date Title
US4887262A (en) Single-channel bus system for multi-master use with bit cell synchronization, and master station comprising a bit cell synchronization element suitable for this purpose
US5758073A (en) Serial interface between DSP and analog front-end device
EP0051332B1 (en) Two-wire bus-system comprising a clock wire and a data wire for interconnecting a number of stations
US4689740A (en) Two-wire bus-system comprising a clock wire and a data wire for interconnecting a number of stations
US5708801A (en) Apparatus and method for operating chips synchronously at speeds exceeding the bus speed
US5003558A (en) Data synchronizing buffers for data processing channels
EP0059724B1 (en) Self-clocking data transmission system
US4756006A (en) Bus transceiver
JP2000076186A (ja) 内部ル―プ同期部
US4065862A (en) Method and apparatus for synchronizing data and clock signals
US20110022753A1 (en) Single-wire bus communication protocol
US5142556A (en) Data transfer system and method of transferring data
EP0141659B1 (en) Communication interface
EP0549334B1 (en) A data input and output control device and a one-chip microcomputer integrating the same
EP0072614B1 (en) Buffered handshake bus
KR950009409B1 (ko) 직렬 입출력 인터페이스 장치 및 방법
US4914618A (en) Asynchronous serial communications apparatus with variable length stop bit generation capability
US5548732A (en) Bus adapter for transferring signals between a master unit and a slave unit, and system including the bus adapter
US20030112827A1 (en) Method and apparatus for deskewing parallel serial data channels using asynchronous elastic buffers
JPS6217779B2 (ko)
JPH0834457B2 (ja) 同期式伝送システムの受信カウンタ位相同期回路
US5933615A (en) Optimization of the transfer of data word sequences
KR0143684B1 (ko) I2c 프로토콜 지원용 인터페이스
KR910007749B1 (ko) 통신 인터페이스
SU1732350A1 (ru) Устройство дл сопр жени ЭВМ с линией св зи

Legal Events

Date Code Title Description
A201 Request for examination
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: 20060728

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee