KR100970615B1 - 동기 입출력 포트 확장 장치 - Google Patents

동기 입출력 포트 확장 장치 Download PDF

Info

Publication number
KR100970615B1
KR100970615B1 KR1020030016439A KR20030016439A KR100970615B1 KR 100970615 B1 KR100970615 B1 KR 100970615B1 KR 1020030016439 A KR1020030016439 A KR 1020030016439A KR 20030016439 A KR20030016439 A KR 20030016439A KR 100970615 B1 KR100970615 B1 KR 100970615B1
Authority
KR
South Korea
Prior art keywords
control unit
output port
synchronous input
synchronous
devices
Prior art date
Application number
KR1020030016439A
Other languages
English (en)
Other versions
KR20040081868A (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 KR1020030016439A priority Critical patent/KR100970615B1/ko
Publication of KR20040081868A publication Critical patent/KR20040081868A/ko
Application granted granted Critical
Publication of KR100970615B1 publication Critical patent/KR100970615B1/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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 동기 입출력 포트 확장에 관한 것으로써, 트라이 스테이트 버퍼(3-State buffer)를 이용하여 제어부가 하나의 동기 입출력 포트로 복수개의 디바이스와 통신을 제공할 수 있도록 하는 것으로, 이와 같은 동기 입출력 포트 확장 장치는 동기 입출력 포트를 각각 구비한 복수개의 디바이스와, 제어부와 상기 복수개의 디바이스 사이의 각각에 구성되고 상기 제어부의 제어명령에 따라 상기 제어부와 상기 복수개의 디바이스 각각의 통신 경로를 온/오프하는 복수개의 버퍼부, 그리고 복수개의 동기 입출력 포트와 복수개의 범용 입출력 포트를 구비하여 상기 복수개의 범용 입출력 포트를 통해 상기 복수개의 버퍼부를 선택적으로 제어하는 것에 따라 상기 복수개의 디바이스와 선택적으로 통신하는 제어부로 구성되어, 한 개의 동기 입출력 포트(SIO port)를 이용하여 복수개의 디바이스와 통신이 가능하여입출력 포트(SIO port)가 한 개만 있는 제어부를 사용한 시스템의 설계에서 디바이스의 선택의 폭을 넓힐 수 있다.
Figure R1020030016439
트라이 스테이트 버퍼, 동기 입출력 포트

Description

동기 입출력 포트 확장 장치{Synchronous Input/Output port expansion apparatus}
도 1은 종래 기술에 따른 임베디드 시스템 제어부에서의 제어 명령 입출력 방법을 설명하기 위한 도면
도 2는 본 발명 제 1 실시예에 따른 트라이 스테이트 버퍼를 이용한 동기 입출력 포트 확장 장치를 설명하기 위한 도면
도 3은 본 발명 제 2 실시예에 따른 트라이 스테이트 버퍼를 이용한 동기 입출력 포트 확장 장치를 설명하기 위한 도면
도 4는 본 발명 제 3 실시예에 따른 트라이 스테이트 버퍼를 이용한 동기 입출력 포트 확장 장치를 설명하기 위한 도면
도 5는 본 발명 제 4 실시예에 따른 트라이 스테이트 버퍼를 이용한 동기 입출력 포트 확장 장치를 설명하기 위한 도면
도 6은 본 발명에 따른 트라이 스테이트 버퍼를 이용한 동기 입출력 포트 확장 장치에서의 제어부와 제 1 디바이스간 통신 타이밍도
도 7은 본 발명에 따른 트라이 스테이트 버퍼를 이용한 동기 입출력 포트 확장 장치에서의 제어부와 제 1, 제 2 디바이스간 교대로 통신하는 방법을 설명하기 위한 타이밍도
*도면의 주요 부분에 대한 부호의 설명*
40 : 제어부 50, 60 : 제 1, 제 2 디바이스
70, 80 : 제 1, 제 2 버퍼
본 발명은 동기 입출력 포트 확장에 관한 것으로써, 특히 트라이 스테이트 버퍼(3-State buffer)를 사용하여 제어부가 하나의 동기 입출력 포트로 두 개의 디바이스와 통신을 제공하기에 적당하도록 한 동기 입출력 포트 확장 장치에 관한 것이다.
임베디드(embedded) 시스템에 사용되는 제어부(CPU 또는 Micom)는 대개 한 개의 동기 입출력 포트(Synchronous Input/Output port)를 가지고 있으며, 이를 이용해 한 개의 주변 디바이스를 연결하여 제어할 수 있도록 설계를 한다.
이하 첨부된 도면을 참조하여 종래 기술에 따른 임베디드 시스템에서 사용되는 동기 입출력 포트 및 그를 이용한 주변 디바이스의 연결 및 제어 방법을 설명하기로 한다.
도 1은 종래 기술에 따른 임베디드 시스템 제어부에서의 제어 명령 입출력 방법을 설명하기 위한 도면이다.
종래 기술에 따른 임베디드 시스템 제어부(10)의 동기 입출력 포트(SIO port)는 마스터 디바이스(master device)(제어부(10))에서 슬레이브 디바이스(slave device)(제 1 디바이스(20), 제 2 디바이스(30))로 전달하는 클럭 신호(SIO CLK) 포트, 슬레이브 디바이스(slave device)에서 마스터 디바이스(master device)로 전송준비가 되었음을 알리는 준비(SIO READY) 신호 포트, 그리고 양방향으로 데이터를 전달하기 위한 Tx, Rx 신호 포트로 구성된다.
하지만 범용적으로 사용되는 제어부(controller)(10)는 보통 한 개의 동기 입출력 포트(SIO port)를 가지고 있으므로, 도시된 바와 같이 동기 입출력 포트(SIO port)를 사용하는 제 1, 제 2 디바이스(20,30)를 제어하기 위해서는 제어부(10)의 범용 입출력(General Purpose Input Output : 이하 GPIO라 약칭 함)의 핀을 일부 할당해 동기 입출력 포트(SIO port)로 동작하도록 에뮬레이션(emulation) 하여야 했다.
이와 같은 종래 기술에 있어서는 제어부의 GPIO 핀의 개수가 부족할 경우, 예를 들어 1개인 경우 두 개의 슬레이브 디바이스를 제어할 수 없으며, GPIO를 이용한 경우 에뮬레이션(emulation)된 기능은 제어부의 동작에 병목(bottle neck)으로 작용할 가능성이 있다는 문제점이 있다.
따라서 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출한 것으로서, 트라이 스테이트 버퍼(3-State buffer)를 사용하여 제어부가 하나의 동기 입출력 포트로 복수개의 주변 디바이스와의 통신을 제공할 수 있는 동기 입출력 포트 확장 장치를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명은 동기 입출력 포트를 가지는 제 1 디바이스, 동기 입출력 포트를 가지는 제 2 디바이스, 범용 입출력 포트로 신호를 출력하여 상기 제 1 디바이스 및 상기 제 2 디바이스와의 통신 경로를 제어하고, 동기 입출력 포트를 이용하여 상기 제어된 통신 경로에 따라 상기 제 1 디바이스 및 상기 제 2 디바이스 중 어느 하나의 디바이스와 선택적으로 통신하는 제어부, 상기 제어부의 제어 신호에 따라 상기 제 1 디바이스와 상기 제어부의 통신 경로를 제공하는 제 1 버퍼부 및 상기 제어부의 제어 신호에 따라 상기 제 2 디바이스와 상기 제어부의 통신 경로를 제공하는 제 2 버퍼부를 포함하는 동기 입출력 포트 확장 장치를 제공한다.
상기 제 1 버퍼부와 상기 제 2 버퍼부는 트라이 스테이트 버퍼로 기능할 수 있다.
상기 제어부는 상기 제 1 버퍼부와 상기 제 2 버퍼부에 각각 인에이블 신호를 출력하여 상기 제 1 디바이스와 상기 제 2 디바이스와의 통신 경로를 제어할 수 있다. 그리고, 상기 제어부는 상기 제 1 버퍼부를 통해 상기 제 1 디바이스와 통신할 경우, 상기 제 2 버퍼부를 하이 임피던스 상태로 전환하도록 제어할 수 있다.
본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해 질 것이다.
본 발명에 따른 동기 입출력 포트 확장 장치의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 2는 본 발명 제 1 실시예에 따른 동기 입출력 포트 확장 장치를 설명하기 위한 도면이다.
본 발명 제 1 실시예에 따른 동기 입출력 포트 확장 장치는 동기 입출력 포트를 각각 구비한 제 1, 제 2 디바이스(50,60)와, 제어부(40)와 제 1 디바이스(50)사이에 구성되고 상기 제어부(40)의 제어명령에 따라 상기 제어부(40)와 제 1 디바 이스(50)의 통신 경로를 온/오프하는 제 1 버퍼부(70)와, 상기 제어부(40)와 제 2 디바이스(60) 사이에 구성되고 상기 제어부(40)의 제어명령에 따라 상기 제어부(40)와 제 2 디바이스(60)의 통신 경로를 온/오프하는 제 2 버퍼부(80), 그리고 복수개의 동기 입출력 포트와 복수개의 범용 입출력 포트를 구비하여 상기 복수개의 범용 입출력 포트를 통해 상기 제 1, 제 2 버퍼부(70,80)를 제어하는 것에 따라 상기 제 1, 제 2 디바이스(50,60)와 선택적으로 통신하는 제어부(40)로 구성된다.
여기서 제어부(40)의 동기 입출력 포트(SIO port) 핀들은 제 1, 제 2 디바이스(50,60)의 동기 입출력 포트(SIO port) 핀을 통해 통신하는 경우 각각 제 1, 제 2 버퍼부(70,80)를 통해 통신하며, 제어부(40)의 범용 입출력(GPIO) 핀 중 두 개를 제 1, 제 2 디바이스(50,60) 중 어느 디바이스와 통신할지를 결정하기 위해 할당한다. 물론 버퍼부의 개수는 범용 입출력(GPIO) 핀의 개수에 따라 추가적으로 증가시킬 수 있다.
그리고 제 1, 제 2 버퍼부(70,80)는 하이 및 로우의 전압 레벨 외에 고임피던스 상태를 가지는 트라이 스테이트 버퍼로 구성한다. 이때 본 발명 제 1 실시예에서는 제 1, 제 2 버퍼부(70,80)의 내부 구성에 따라 제어부(40)가 제 1 디바이스(50)와 통신을 하는 경우에는 마스터로 동작하고, 제 2 디바이스(60)와 통신을 하는 경우에는 슬레이브로 동작하는 것을 나타내고 있다.
즉 제어부(40)와 제 1 디바이스(50)간에 있어서는 클럭 신호(SIO CLK)를 제어부(40)가 제 1 디바이스(50)로 공급하고, 제 2 디바이스(60)와 제어부(40)간에 있어서는 클럭 신호(SIO CLK)를 제 2 디바이스(60)에서 제어부(40)로 공급한다.
이와 같은 본 발명 제 1 실시예를 첨부된 도 6에 나타낸 타이밍도를 참조하여 설명하면, 제어부(40)는 제 1 디바이스(50)와 동기 입출력 통신을 하기 위한 준비작업으로, 제 1 범용 입출력 포트의 제 1 인에이블(enable 1) 신호를 액티브(active) 상태로 만든다. 이때, 도 6에서 제 1 인에이블(enable 1)과 준비(ready) 신호는 액티브 로우(active low)신호로써 트라이 스테이트 버퍼로 구성되는 제 1 버퍼부(70)가 신호를 전달할 수 있도록 액티브 상태로 만들고, t1의 시간이 경과한 후 준비 신호를 액티브로 만드는 것이다. 그에 따라 제어부(40)와 제 1 디바이스(50)사이의 제 1 버퍼부(70)는 하이 임피던스(high-z)상태에서 일반적인 버퍼(buffer)상태로 전환이 되며 통신이 가능해진다.
제어부(40)에서 준비(ready)신호를 액티브(active)상태로 만들어 제 1 디바이스(50)로 통신을 위한 준비가 되었음을 알린다.
이후 해당 시스템에서 정의한 신호의 포맷에 따라 클럭 신호(clock) 포트, 수신(Rx) 포트 및 송신(Tx) 포트를 이용해 통신한다. 이때 클럭, 수신 및 송신 신호는 시스템 설계에 따라 다양한 형태를 가질 수 있다.
제어부(40)와 제 1 디바이스(50)간 통신이 종료되면 제어부(40)는 준비(ready)신호를 인액티브(inactive)상태로 만들어 제 1 디바이스(50)로 통신이 종료됨을 알리고, 제 1 인에이블(enable 1) 신호를 인액티브(inactive)상태로 만들어 제 1 버퍼부(70)를 하이 임피던스(high-z)상태로 전환시켜, 제 1 디바이스(device 1)(50)와 제어부(40)간 신호가 전달 될 수 없도록 한다. 즉 우선 준비 신호를 인액티브로 만들어 제 1 디바이스(50)에 통신이 종료되었음을 알리고, t2의 시간 경과 후 인에이블(enable 1)신호를 인액티브 상태로 만든다.
그리고 제 2 디바이스(60)와 제어부(50)와의 통신은 제어부(40)와 제 1 디바이스(50)간의 과정과 같지만 클럭(clock)을 제 2 디바이스(60)에서 제어한다는 점이 다르다.
도 7은 본 발명에 따른 트라이 스테이트 버퍼를 이용한 동기 입출력 포트 확장 장치에서의 제어부와 제 1, 제 2 디바이스간 교대로 통신하는 방법을 설명하기 위한 타이밍도이다.
도 7의 타이밍도는 제 1, 제 2 디바이스(50,60)와 교대로 통신할 경우 제 1, 제 2 인에이블(enable 1, enable 2) 신호의 발생시, 제 1, 제 2 인에이블 신호가 제 1, 제 2 디바이스(50,60)에 동시에 전달되거나 제어부(40)외의 제 1, 제 2 디바이스(50,60)간 신호가 송수신되지 않도록 제 1, 제 2 인에이블 신호가 액티브되는 기간 사이에 t3의 간격을 두어야 한다. 이때 도 6 및 도 7에 나타낸 바와 같은 t1~t3의 값은 사용하는 부품의 성능을 고려해 소프트웨어로 확보할 수 있다.
그리고 도 3 내지 도 5는 본 발명 제 2 실시예 내지 제 4 실시예에 따른 동기 입출력 포트 확장 장치에 관한 것으로, 도 3에서 제어부(40)는 마스터로 동작하고, 제 1, 제 2 디바이스(50,60)는 모두 슬레이브로 동작하는 경우이고, 도 4에서는 제어부(40)는 슬레이브로 동작하고, 제 1, 제 2 디바이스(50,60)는 모두 마스터로 동작하는 경우이며, 도 5는 제 1 디바이스(50)는 마스터, 제 2 디바이스(60)는 슬레이브로 동작하는 경우이다.
이때 도 3 내지 도 5에서의 제 1 버퍼부(71,72,73)와 제 2 버퍼부(81,82,83)의 클럭 신호 전송 방향에 따라 제어부(40)와, 제 1, 제 2 디바이스(50,60)의 마스터, 슬레이브 동작이 정해지는 것을 알 수 있다.
이상에서 설명한 바와 같은 본 발명은 다음과 같은 효과가 있다.
첫째, 본 발명은 한 개의 동기 입출력 포트(SIO port)를 이용하여 복수개의 디바이스와 동기 입출력 포트를 이용하여 통신을 하므로 입출력 포트(SIO port)가 한 개만 있는 제어부를 사용한 시스템의 설계에서 디바이스의 선택의 폭을 넓히는 효과가 있다.
둘째, 복수개의 디바이스에 대해 모두 제어부에 준비된 동기 입출력 포트(SIO port)를 사용하므로, 범용 입출력 포트를 이용하여 동기 입출력을 에뮬레이션(emulation)하는 경우보다 제어부를 더 효율적으로 사용할 수 있다.
셋째, 동기 입출력 포트(SIO port)를 사용하지 않을 경우 버퍼(buffer)를 트라이 스테이트(tri-state)로 만들어 통신채널을 끊는 경우에는 예기치 않은 신호의 간섭을 막을 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.

Claims (4)

  1. 동기 입출력 포트를 가지는 제 1 디바이스;
    동기 입출력 포트를 가지는 제 2 디바이스;
    범용 입출력 포트로 신호를 출력하여 상기 제 1 디바이스 및 상기 제 2 디바이스와의 통신 경로를 제어하고, 동기 입출력 포트를 이용하여 상기 제어된 통신 경로에 따라 상기 제 1 디바이스 및 상기 제 2 디바이스 중 어느 하나의 디바이스와 선택적으로 통신하는 제어부;
    상기 제어부의 제어 신호에 따라 상기 제 1 디바이스와 상기 제어부의 통신 경로를 제공하는 제 1 버퍼부; 및
    상기 제어부의 제어 신호에 따라 상기 제 2 디바이스와 상기 제어부의 통신 경로를 제공하는 제 2 버퍼부를 포함하고,
    상기 제어부는 상기 제 1 버퍼부와 상기 제 2 버퍼부에 각각 인에이블 신호를 출력하여 상기 제 1 디바이스와 상기 제 2 디바이스와의 통신 경로를 제어하며, 상기 각각의 인에이블 신호 변환 출력시 소정의 시간 간격을 부여하는, 동기 입출력 포트 확장 장치.
  2. 제 1 항에 있어서,
    상기 제 1 버퍼부와 상기 제 2 버퍼부는 트라이 스테이트 버퍼를 형성하는 동기 입출력 포트 확장 장치.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제어부는 상기 제 1 버퍼부를 통해 상기 제 1 디바이스와 통신할 경우, 상기 제 2 버퍼부를 하이 임피던스 상태로 전환하도록 제어하는 동기 입출력 포트 확장 장치.
KR1020030016439A 2003-03-17 2003-03-17 동기 입출력 포트 확장 장치 KR100970615B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030016439A KR100970615B1 (ko) 2003-03-17 2003-03-17 동기 입출력 포트 확장 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030016439A KR100970615B1 (ko) 2003-03-17 2003-03-17 동기 입출력 포트 확장 장치

Publications (2)

Publication Number Publication Date
KR20040081868A KR20040081868A (ko) 2004-09-23
KR100970615B1 true KR100970615B1 (ko) 2010-07-15

Family

ID=37365863

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030016439A KR100970615B1 (ko) 2003-03-17 2003-03-17 동기 입출력 포트 확장 장치

Country Status (1)

Country Link
KR (1) KR100970615B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200142909Y1 (ko) * 1993-05-24 1999-06-01 손욱 입출력 인터페이스 장치
KR20010042909A (ko) * 1998-04-23 2001-05-25 시라이 쇼지 버클 부착 밴드 및 그 버클

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200142909Y1 (ko) * 1993-05-24 1999-06-01 손욱 입출력 인터페이스 장치
KR20010042909A (ko) * 1998-04-23 2001-05-25 시라이 쇼지 버클 부착 밴드 및 그 버클

Also Published As

Publication number Publication date
KR20040081868A (ko) 2004-09-23

Similar Documents

Publication Publication Date Title
CN1791120B (zh) 用于有效对准并行数据信道上的数据比特的系统和方法
US8195857B2 (en) Coupling devices, system comprising a coupling device and method for use in a system comprising a coupling device
CN109213715B (zh) 通信方法和相应的设备
US7292067B2 (en) Method and apparatus for buffering bi-directional open drain signal lines
EP3347824A1 (en) Input/output signal bridging and virtualization in a multi-node network
US10649944B2 (en) Configuration via high speed serial link
WO2002077835A1 (fr) Dispositif a semi-conducteurs de commande de communication et systeme d'interface
JPH0322072A (ja) 外部制御多重/非多重アドレス・バスとデータ出力バスを有するデータ処理装置
WO2016057567A1 (en) Methods and systems for synchronization between multiple clock domains
US11386025B2 (en) Daisy chain complex commands
KR20080007506A (ko) 레이턴시에 둔감한 fifo 시그널링 프로토콜
KR100970615B1 (ko) 동기 입출력 포트 확장 장치
JP3651588B2 (ja) 区分化同期インタフェース用調整可能クロックを備えたデータ処理システム
CN106487364A (zh) 一种时钟缓冲器电路和集成电路
CN110908936A (zh) 总线控制电路
KR100947446B1 (ko) Vliw 프로세서
CN216118784U (zh) 双向引脚多功能复用电路、fpga器件及多功能复用系统
KR100337059B1 (ko) 탄성 버스 인터페이스 데이터 버퍼
JP2002368727A (ja) 半導体集積回路
KR20060010383A (ko) 메인 제어부와 부 제어부로 구성된 제어 시스템 및 버스연결 방법
US20050110546A1 (en) Method and integrated circuit apparatus for reducing simultaneously switching output
US7032061B2 (en) Multimaster bus system
US20210303496A1 (en) Actuation of data transmission lanes between states
US20070300096A1 (en) Late Data Launch for a Double Data Rate Elastic Interface
KR100406967B1 (ko) 병렬포트다중입력확장장치

Legal Events

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

Payment date: 20130624

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140624

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee