KR20050067324A - 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법 - Google Patents

마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법 Download PDF

Info

Publication number
KR20050067324A
KR20050067324A KR1020030098205A KR20030098205A KR20050067324A KR 20050067324 A KR20050067324 A KR 20050067324A KR 1020030098205 A KR1020030098205 A KR 1020030098205A KR 20030098205 A KR20030098205 A KR 20030098205A KR 20050067324 A KR20050067324 A KR 20050067324A
Authority
KR
South Korea
Prior art keywords
master
slave device
data
output
slave
Prior art date
Application number
KR1020030098205A
Other languages
English (en)
Other versions
KR100737904B1 (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 KR1020030098205A priority Critical patent/KR100737904B1/ko
Publication of KR20050067324A publication Critical patent/KR20050067324A/ko
Application granted granted Critical
Publication of KR100737904B1 publication Critical patent/KR100737904B1/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/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • G06F13/4036Coupling between buses using bus bridges with arbitration and deadlock prevention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1843Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a cyclic redundancy check [CRC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법에 관한 것이다.
본 발명에서는 제1 마스터/슬레이브 디바이스가 마스터 기능을 사용하여 제2 마스터/슬레이브 디바이스에 있는 슬레이브 기능에 억세스를 하기 위해 트랜잭션을 발생시키면, 제1 마스터/슬레이브 디바이스는 상기 제2 마스터/슬레이브 디바이스로 전송할 데이터를 요구 출력 버퍼에 임시 저장한다. 컨트롤 출력 다중화기를 통해 입력 가능 신호를 수신하면, 상기 요구 출력 버퍼에 저장된 데이터를 상기 컨트롤 출력 다중화기 및 주소/데이터 출력 다중화기를 통해 상기 제2 마스터/슬레이브 디바이스로 전송한다. 이에 상기 제2 마스터/슬레이브 다바이스는 상기 제1 마스터/슬레이브 디바이스의 출력 데이터를 요청 입력 버퍼를 통해 수신하여 수신된 출력 데이터에 대응하는 응답 데이터를 생성하여 응답 출력 버퍼에 임시 저장한다. 이후 제1 마스터/슬레이브 디바이스로부터 입력 가능 신호를 수신할 때에 상기 응답 출력 버퍼에 저장된 응답 데이터를 상기 제1 마스터/슬레이브 디바이스로 전송한다. 이러한 본 발명에 따르면, 데드락이 방지되고 클록 속도 보상이 가능하다.

Description

마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법{interface device between master/slave devices and method thereof}
본 발명은 디바이스간의 인터페이스 장치 및 방법에 관한 것으로, 특히, 마스터 기능과 슬레이브 기능 모두를 가진 복수의 마스터/슬레이브 디바이스 간의 인터페이스 장치 및 그 방법에 관한 것이다.
일반적으로, 시스템 온 칩(System On Chip)의 버스(bus)는 칩에 포함된 디바이스의 종류에 따라 마스터(master) 인터페이스 또는 슬레이브(slave) 인터페이스를 가지며, 마스터 인터페이스를 선택할 수 있도록 하는 별도의 버스 아비터와, 클록(clock) 속도를 보상하기 위한 별도의 브리지 형태의 디바이스(즉, 클록 속도 보상 회로)를 두고 있다. 이러한 종래의 시스템 온 칩은 상기와 같은 인터페이스를 가지면서 칩 내부의 고속 클록 동작을 보상하기 위해 주소 및 컨트롤 버스를 따로 두고 있으며, 데이터 입출력 버스도 분리하여 사용하고 있다. 이러한 버스 구조는 마스터와 슬레이브 디바이스 모두에 적용된다.
최근 개발되는 디바이스의 경우, 디바이스의 지능화에 따라 마스터와 슬레이브 기능을 모두 가지도록 개발되고 있는 것이 일반적이며, 또한 PCI(Peripheral Component Interconnect) 등의 외부 버스 인터페이스를 가지는 경우에 DMA(Direct Memory Access) 제어기 기능을 디바이스 내부에 탑재하게 됨에 따라서, 마스터와 슬레이브 기능을 둘 다 가지고 있는 것이 일반적인 디바이스의 추세이다.
이하 도 1을 참조로 종래의 마스터와 슬레이브 기능을 가지는 디바이스간의 인터페이스 동작을 설명한다. 도 1은 종래 기술에 따른 시스템 온 칩 인터페이스의 일부 구성을 나타낸 블록도이다.
도 1에 도시된 바와 같이 시스템 온 칩에는 제1 디바이스(10), 제2 디바이스(20), 제N 디바이스(30)를 포함하며, 제1 디바이스(10)와 제2 디바이스(20)와 제N 디바이스(30) 모두는 마스터 디바이스 및 슬레이브 디바이스를 가지고 있다.
여기서 제1 디바이스(10)의 마스터 디바이스(11)가 제2 디바이스(20)의 슬레이브 디바이스(22)를 억세스(access)하고자 하는 경우의 동작을 보면, 마스터 디바이스(11)는 버스 아비터(70)에 버스 사용 요청을 하여 버스 아비터(70)로부터 버스 허용 신호를 받은 후에 버스 트랜잭션을 시작한다. 이 때에 마스터 디바이스(11)로부터 버스 사용 요청을 받은 버스 아비터(70)는 마스터 데이터 출력 다중화기(40) 및 마스터 컨트롤 출력 다중화기(50)에게 마스터 디바이스(11)의 버스 사용을 지시한다. 버스 아비터(70)로부터 버스 사용을 지시받은 마스터 데이터 출력 다중화기(40) 및 마스터 주소/컨트롤 출력 다중화기(50)는 마스터 디바이스(11)로부터 데이터 및 주소/컨트롤 신호를 받으면 슬레이브 디바이스(22)측으로 송신한다.
해당하는 컨트롤 입력을 디코딩한 슬레이브 디바이스(22)는 슬레이브 데이터 출력 다중화기(60)에게 응답 신호 및 데이터를 전송하고, 슬레이브 데이터 출력다중화기(60)는 데이터를 출력하고 있는 슬레이브 디바이스(22)의 데이터 값을 마스터 디바이스(11)에게 전송하는 경로를 형성한다.
결국 상술한 방식을 통하여 한 개의 트랜잭션에 대한 요청 및 응답이 이루어지게 되는데, 그 동안 다른 마스터 디바이스(21, 31) 및 슬레이브 디바이스(12, 32)의 사용은 금지된다.
그런데, 상술한 종래의 인터페이스 방식을 위해 디바이스가 마스터와 슬레이브 인터페이스 모두를 가지기 위해서는 주소 및 컨트롤 신호와 입/출력이 분리된 데이터 버스 모두를 수용하여야 한다. 이를 위해서는 매우 많은 신호선을 필요로 하고, 동기 방식을 사용하기 때문에 인터페이스 상에서 클록 속도 보상이 불가능하므로 디바이스 내부에 별도의 클록 속도 보상 회로를 가져야 하는 문제가 있다.
또한, 한 개의 마스터 디바이스와 슬레이브 디바이스가 사용 중일 때에는 다른 마스터 및 슬레이브 디바이스를 사용할 수 없으므로 응답 지연에 따른 데드락 발생이 우려되는데, 이러한 데드락을 방지하기 위해서는 매우 복잡한 아비트레이션(arbitration) 알고리즘이 필요하다.
그리고 종래 기술에서는 PCI-X나 PCI 익스프레스에서 채용된 트랜잭션 분리 방식에 대한 고려가 되어 있지 않아서, 칩 외부에서 요청 또는 응답 패킷이 서로 뒤섞여서 들어올 경우 인터페이스 내부에서 이를 처리하는 것이 불가능하다. 이를 해결하기 위해서는 칩 내부에 복잡한 알고리즘 또는 회로의 추가를 통하여 트랜젝션의 순서에 대한 고려를 하여야 하는데, 이는 칩 내부 버퍼 크기의 증가를 가져와서 전체적으로 칩 내부 리소스(resource) 사용 효율을 떨어뜨리는 단점을 가지게 되며 칩 구성을 복잡하게 하는 문제가 있다.
따라서 본 발명이 이루고자 하는 기술적 과제는 종래의 문제점을 해결하기 위한 것으로, 마스터 및 슬레이브 인터페이스를 모두 가지며, 트랜젝션 분리 방식을 고려하면서도 신호선은 최소한으로 하는 인터페이스 장치 및 그 방법을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 기술적 과제는 디바이스의 동작 속도가 다를 경우 인터페이스 상의 버퍼를 사용하여 이러한 클록 속도 보상을 가능하게 하는 인터페이스 장치 및 그 방법을 제공하는 것이다.
이러한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 인터페이스 장치는, 마스터 기능과 슬레이브 기능 모두를 가진 복수의 마스터/슬레이브 디바이스 간의 인터페이스 장치에 있어서, 상기 복수의 마스터/슬레이브 디바이스간의 컨트롤 출력을 상기 복수의 마스터/슬레이브 디바이스 중 해당 목적지 마스터/슬레이브 디바이스로 전송하는 컨트롤 출력 다중화기와; 상기 복수의 마스터/슬레이브 디바이스의 주소/데이터 출력 및 상기 주소/데이터 출력의 응답 신호를 수신하고 상기 복수의 마스터/슬레이브 디바이스 중 해당 목적지 마스터/슬레이브 디바이스로 전송하는 주소/데이터 출력 다중화기를 포함하며, 상기 복수의 마스터/슬레이브 디바이스 각각은 하나의 트랜잭션에 대해 컨트롤 신호와 주소/데이터 출력을 분리하여 상기 컨트롤 출력 다중화기와 상기 주소/데이터 출력 다중화기로 출력하고, 상기 복수의 마스터/슬레이브 디바이스 각각은 전송 목적지 마스터/슬레이브 디바이스에서 전송하는 입력 가능 신호가 수신될 때에 해당 출력을 전송한다.
또한, 본 발명의 다른 특징에 따른 인터페이스 방법은, 제1 마스터/슬레이브 디바이스가 마스터 기능을 사용하여 제2 마스터/슬레이브 디바이스에 있는 슬레이브 기능에 억세스를 하기 위해 트랜잭션을 발생하면, 상기 제1 마스터/슬레이브 디바이스는 상기 제2 마스터/슬레이브 디바이스로 전송할 데이터를 요구 출력 버퍼에 임시 저장하는 제1 단계; 상기 제1 마스터/슬레이브 디바이스는 상기 컨트롤 출력 다중화기를 통해 상기 제2 마스터/슬레이브 디바이스에서 전송한 입력 가능 신호를 수신되는 지를 판단하는 제2 단계; 상기 제1 마스터/슬레이브 디바이스는 상기 입력 가능 신호가 수신될 때에 상기 요구 출력 버퍼에 저장된 데이터를 상기 컨트롤 출력 다중화기 및 주소/데이터 출력 다중화기를 통해 상기 제2 마스터/슬레이브 디바이스로 전송하는 제3 단계; 상기 제2 마스터/슬레이브 다바이스는 상기 제1 마스터/슬레이브 디바이스의 출력 데이터를 요청 입력 버퍼를 통해 수신하는 제4 단계; 상기 제2 마스터/슬레이브 디바이스는 수신된 출력 데이터에 대응하는 응답 데이터를 생성한 후 응답 출력 버퍼에 임시 저장하는 제5 단계; 및 상기 제2 마스터/슬레이브 디바이스는 상기 제1 마스터/슬레이브 디바이스로부터 입력 가능 신호를 수신할 때에 상기 응답 출력 버퍼에 저장된 응답 데이터를 상기 제1 마스터/슬레이브 디바이스로 전송하는 제6 단계를 포함한다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 가장 바람직한 실시 예를 첨부된 도면을 참조로 하여 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
도 2는 본 발명의 실시 예에 따르는 인터페이스 장치의 블록도이다.
본 발명의 실시 예에 적용되는 디바이스는 도 1과 같이 마스터 디바이스와 슬레이브 디바이스를 가진 마스터/슬레이브 디바이스이다. 도 2에 도시된 실시 예는 당업자가 가장 용이하게 실시할 수 있는 한 형태로서, 4개의 마스터/슬레이드 디바이스 즉, 제1 마스터/슬레이브 디바이스(100), 제2 마스터/슬레이브 디바이스(200), 제3 마스터/슬레이브 디바이스(300)와, 제4 마스터/슬레이브 디바이스(400) 간의 인터페이스가 어떻게 이루어지는지에 대하여 기술한다.
본 발명의 실시 예에 따른 인터페이스 장치는 도 2에 도시되어 있듯이, 다수의 마스터/슬레이브 디바이스(100 내지 400)와, 마스터/슬레이브 디바이스간에 입,출력되는 컨트롤 신호의 전달을 제어하는 컨트롤 출력 다중화기(500)와, 마스터/스레이브 디바이스간에 입, 출력되는 주소/데이터 신호의 전달을 제어하는 주소/데이터 출력 다중화기(600)를 포함한다.
이하에서는 제1 마스터/슬레이브 디바이스(100)가 마스터 기능을 사용하여 제2 마스터/슬레이브 디바이스(200)에 있는 슬레이브 기능에 억세스를 하는 과정을 설명한다.
컨트롤 출력 다중화기(500)는 제2 마스터/슬레이브 디바이스(200)로부터 수신한 사용 가능 여부 정보를 저장하고 있다가, 제1 마스터/슬레이브 디바이스(100)에게 마스터/슬레이브 디바이스(200)의 사용 가능 여부를 알려준다.
이에, 제1 마스터/슬레이브 디바이스(100)는 사용이 가능하다는 것을 알게 되면, 자신의 컨트롤 신호를 컨트롤 출력 다중화기(500)로 보내고, 또한 주소/데이터 신호를 주소/데이터 출력 다중화기(600)로 보낸다. 그러면, 컨트롤 출력 다중화기(500)와 주소/데이터 출력 다중화기(600)는 수신된 신호를 제2 마스터/슬레이브 디바이스(200)로 보낸다.
제2 마스터/슬레이브 디바이스(200)는 수신된 컨트롤 신호를 해석하여 자신이 선택되었다는 것을 알게 되고 디바이스 내부에서 응답 신호를 생성한다. 여기서, 제2 마스터/슬레이브 디바이스(200)에서 응답 신호를 생성하기 전이라도 제1 마스터/슬레이브 디바이스(100)는 요청 신호를 더 생성할 수 있으므로, 트랜젝션 분리 방식을 충실히 사용할 수 있게 되며, 만일, 제1 마스터/슬레이브 디바이스(100)가 트랜젝션 분리 방식으로 되어 있는 외부 인터페이스를 가지는 경우, 외부로부터 요청 패킷과 응답 패킷이 서로 뒤섞여있어도 본 발명에서의 인터페이스에서는 데드락이 발생하지 않는다.
제2 마스터/슬레이브 디바이스(200)는 응답할 상태 및 데이터가 준비된 상태에서, 컨트롤 출력 다중화기(500)로부터 제1 마스터/슬레이브 디바이스(100)의 응답 수신 가능 신호를 수신받으면 응답 상태 및 데이터를 주소/데이터 출력 다중화기(600) 및 컨트롤 출력 다중화기(500)로 송신하여 제1 마스터/슬레이브 디바이스(100)에 전송되게 한다.
도 3은 위에 기술된 바와 같이 동작하는 두 디바이스간의 인터페이스가 어떻게 이루어지는 설명하기 위한, 각 디바이스의 구조 및 연결를 도시한 블록도이다. 도 3에 도시된 바와 같이 본 발명의 인터페이스 장치는 마스터/슬레이브 디바이스(100, 200)와, 컨트롤 출력 다중화기(500)와 주소/데이터 출력 다중화기(600)를 포함한다.
상기 마스터/슬레이브 디바이스(100, 200)는 각각 요청 출력 버퍼, 요청 입력 버퍼, 응답 입력 버퍼, 응답 출력 버퍼를 가지는데, 상기 요청 출력 버퍼와 응답 입력 버퍼는 트랜잭션을 발생시키는 트랜잭션 발생 블록(110, 220)을 이루고, 상기 요청 입력 버퍼와 응답 출력 버퍼는 트랜잭션을 처리하는 트랜잭션 처리 블록(120, 210)을 이룬다.
상기 컨트롤 출력 다중화기(500)는 출력 다중화기와 입력 역 다중화기로 이루어지며, 출력 다중화기와 입력 역 다중화기는 각 마스터/슬레이브 디바이스(100, 200)에 각각 포함된다. 그리고 상기 주소/데이터 출력 다중화기(600)는 출력 다중화기와 입력 역 다중화기로 이루어지며, 출력 다중화기와 입력 역 다중화기는 각 마스터/슬레이브 디바이스(100, 200)에 각각 포함된다.
도 3에서는 이해를 돕기 위해서, 마스터/슬레이브 디바이스별로 컨트롤 출력 다중화기(500)와 주소/데이터 출력 다중화기(600)의 출력 다중화기를 하나의 블록(720, 730)으로 처리하였고, 컨트롤 출력 다중화기(500)와 주소/데이터 출력 다중화기(600)의 입력 역 다중화기를 마스터/슬레이브 디바이스별로 하나의 블록(710, 740)으로 처리하였다.
따라서 그 동작을 보면, I). 마스터/슬레이브 디바이스(100)는 요청 출력 버퍼(111)에 주소 및 컨트롤 데이터가 준비되면, 출력 다중화기(720)로부터 마스터/슬레이브 디바이스(200)의 요청 입력 가능 신호가 수신될 때에, 요청 신호 및 데이터를 출력 다중화기(720)에 송신한다.
II). 출력 다중화기(720)는 상기 요청 출력 버퍼(111)로부터 요청 신호를 수신하면, 적절한 컨트롤 신호를 생성하여 이를 마스터/슬레이브 디바이스(200)의 입력 역다중화기(740)에 보내고, 입력 역다중화기(740)는 마스터/슬레이브 디바이스(100)로부터 받은 칩 선택 신호 및 요청 신호라는 컨트롤 신호를 검사하고 이를 요청 입력 버퍼(211)로 송신한다.
III). 마스터/슬레이브 디바이스(200)는 요청 입력 버퍼(211)로 수신한 신호를 디바이스 내부에서 요청을 처리하여 이를 응답 출력 버퍼(212)에 저장한다.
여기서, 마스터/슬레이브 디바이스(200)는 상기 과정(S305)을 처리 시간 동안에도 요청 출력 버퍼(212)에 요청 신호를 생성하여 이를 출력 다중화기(730)를 통하여 마스터/슬레이브 디바이스(100)로 송신할 수 있으며, 마스터/슬레이브 디바이스(100)의 응답 출력 버퍼(122)가 동작하여 저장된 정보를 출력 다중화기(720)를 통하여 마스터/슬레이브 디바이스(200)에 보낼 수 있다. 이러한 과정은 아무런 제약없이 이루어질 수 있으므로, 상술한 설명에 따르면 본 발명의 인터페이스 장치 및 방법에서는 데드락이 발생되지 않음을 알 수 있다.
IV). 마스터/슬레이브 디바이스(200)는 마스터/슬레이브 디바이스(100)에서 요청한 신호에 대한 응답 상태 및 데이터를 응답 출력 버퍼(212)에 준비하고 준비되면, 응답 입력 버퍼(112)로부터 송신되는 마스터/슬레이브 디바이스(100)의 응답 입력 가능 신호를 감지한 후에, 준비한 데이터를 출력 다중화기(730)를 통하여 마스터/슬레이브 디바이스(100)의 입력 역다중화기(710)로 보낸다.
V). 입력 역다중화기(710)는 응답 출력 버퍼(212)로부터 수신된 응답을 응답 입력 버퍼(112)에 저장한다.
VI). 이에, 마스터/슬레이브 디바이스(100)에서 마스터/슬레이브 디바이스(200)로 접속하는 트랜잭션은 완료된다.
여기서, 발명은 디바이스 내부에 있는 버퍼의 읽기 및 쓰기 동작의 클록을 서로 다르게 할 수 있으므로, 클록 속도가 다른 디바이스의 경우에도 데이터 전송에는 제약이 없고, 별도의 클록 보상 회로가 필요없게 된다. 또한 요청 출력 신호와 응답 출력 신호에서 사용되는 버스 구조를 공유하므로 신호선을 반으로 감소시킬 수 있고, 주소는 최초 1번만 사용하여 주소 버스와 데이터 버스를 공유하는 구조로 되어 있으므로, 신호선을 더 줄일 수 있다.
상술한 설명에 따르면, 본 발명은 디바이스 자체에서 칩 선택 신호를 생성하도록 하는 구조로 되어 있으며, 별도의 아비터없이 디바이스 선택이 가능하며, 특히, 도3에서 나타낸바와 같이 두 개의 디바이스만을 연결할 경우에는 신호선이 더 간단해진다.
도 4는 도 3에 도시된 두 디바이스간의 신호선에서의 타이밍 다이어그램이다. 도 4에 도시된 바와 같이, 마스터/슬레이브 디바이스(100)는 마스터/슬레이브 디바이스(200)에서 출력되는 Reqin_rdy_i (1411) 신호를 검사하여 Reqin_rdy_i (1411)신호가 1일 때 AddrData_o (1412) 및 Control_o(1413), ChipSelect_o(1414) 신호를 통하여 주소 데이터 및 칩 선택과 컨트롤 신호를 출력하고, 이 때에 AddrCtrl_wr_o(1415) 신호 및 ReqData_wr_o(1416) 신호와 Data_wr_end_o(1417) 신호로 쓰기 스트로브 신호 및 데이터 출력종료 신호를 출력한다.
상기에서, Reqin_rdy_i(1411) 신호는 마스터/슬레이브 디바이스(200)에서 마스터/슬레이브 디바이스(100)로 전송하는 요청 입력 가능 신호이다. 그리고, AddrData_o (1412) 신호는 주소 데이터 신호이고, Control_o(1413) 신호는 컨트롤 신호이며, ChipSelect_o(1414) 신호는 칩 선택 신호이다. 또한 AddrCtrl_wr_o(1415) 신호와 ReqData_wr_o(1416) 신호는 쓰기 스트로브 신호로서 주소 및 데이터 영역을 알리는 주소/컨트롤 쓰기 스트로브 신호와 요구 데이터 쓰기 스트로브 신호이다. Data_wr_end_o(1417) 신호는 데이터의 끝을 알리는 신호이다.
상기 데이터를 입력받은 마스터/슬레이브 디바이스(200)의 슬레이브 디바이스에서 준비된 응답 데이터는 마스터/슬레이브 디바이스(100)의 마스터 디바이스에서 출력하고 있는 Cplin_rdy_o(1421) 신호를 검사 후에 AddrData_i (1422) 및 Control_i (1423) 신호에 따라 마스터/슬레이브 디바이스(100)에 입력되며, 이 때에 CplStatus_wr_i(1424) 및 CplData_wr_i(1425), Data_wr_end_i(1426) 신호로 되어 있는 쓰기 스트로브 및 데이터 종료 신호도 입력된다. 따라서 상술한 방식으로 한 개의 버스 트랜잭션은 종료되게 된다.
상기 Cplin_rdy_o(1421) 신호는 마스터/슬레이브 디바이스(100)에서 마스터/슬레이브 디바이스(200)로 전송되는 신호로서, 응답 데이터의 전송 타이밍을 알린다. AddrData_i (1422) 및 Control_i (1423) 신호는 마스터/슬레이브 디바이스(200)에서 마스터/슬레이브 디바이스(100)로 전송하는 신호로 해당 데이터를 싣는 신호이다. 그리고 CplStatus_wr_i(1424) 및 CplData_wr_i(1425), Data_wr_end_i(1426) 신호는 마스터/슬레이브 디바이스(200)에서 전송하는 쓰기 스트로브 신호이다.
이 때 신호선은 입력 가능 여부를 알고 출력측에서 데이터 및 데이터 쓰기 스트로브 신호를 사용하므로, 이 인터페이스가 칩과 칩 사이와 같이 신호가 타이밍을 보장할 수 없는 곳에 사용되더라도, 입력 가능 신호를 래치하고 출력 신호도 이를 입력받는 디바이스에서 래치(latch)하여 사용하는 것이 가능하므로 안정적인 데이터 송수신을 보장한다.
도 5는 도 3에 사용된 컨트롤 신호 및 응답 신호 비트 할당을 도시한 도면이다.
상기 마스터/슬레이브 디바이스(800)에서 출력하는 컨트롤 신호는 명령어 종류 및 명령어/데이터 특성, 식별번호, 데이터 길이로 구성되어 있으며, 별도의 신호선을 가지고 있다. 그리고 컨트롤 신호에는 데이터 길이가 포함되어 있으므로 각 디바이스에서는 실제로 입력되는 데이터 양과 데이터 길이에 지정된 값을 비교하여, 데이터 길이의 오류 여부를 검사할 수 있으며, 명령어 특성에 CRC(Cyclic Redundancy Check) 검사 여부를 추가하고 데이터를 출력할 때 CRC를 추가하게 되면, CRC 검사도 수행할 수 있다.
상기 마스터/슬레이브 디바이스(900)의 응답 신호는 응답 종류, 응답 상태, 남은 데이터 시작 주소, 남은 데이터 길이로 구성되어 있으므로, 응답할 데이터 양을 여러 개로 나누어 보낼 수 있으므로, 디바이스 내부 상태에 따라서 응답 방식을 조절할 수 있다.
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
이상에서와 같이 본 발명에 따르면, 외부에 트랜잭션 분리 방식을 가지는 디바이스간의 인터페이스에서 데드락을 방지할 수 있다. 또하, 각 디바이스가 마스터 및 슬레이브 기능을 모두 가지고 있으므로, 지능화된 디바이스간의 인터페이스에 사용할 수 있다.
그리고, 본 발명은 신호선의 개수 및 신호 안정도에 민감한 디바이스간의 연결에 있어서도 신호선을 대폭 감소시키고, 신호 흐름 규칙이 안정화되어 있으므로, 종래 방식보다 손쉬운 인터페이스가 가능하다.
또한 본 발명은 인터페이스 회로 내부에 클록 보상 회로가 포함되어 있으므로, 고속의 디바이스와 저속의 디바이스간의 연결을 할 수 있도록 해 주며, 컨트롤 신호 내부에 명령어의 정보를 내포하고 있으므로, 데이터 송수신시의 오류 검출을할 수 있도록 해 준다.
또한, 본 발명은 인터페이스 신호 내부에 칩 선택 신호를 내장하여 별도의 복잡한 아비터가 필요 없이도 디바이스간의 인터페이스를 할 수 있다.
도 1은 종래 기술에 따른 시스템 온 칩 인터페이스의 일부 구성을 나타낸 블록도이다.
도 2는 본 발명에 따르는 인터페이스 장치의 구조도이다.
도 3은 도 2에 도시된 두 디바이스간의 상세한 인터페이스를 도시한 도이다.
도 4는 도 3에 도시된 두 디바이스간의 신호선에서의 타이밍 다이어그램이다.
도 5는 도 3에 사용된 컨트롤 신호 및 응답 신호 비트 할당을 도시한 도이다.

Claims (12)

  1. 마스터 기능과 슬레이브 기능 모두를 가진 복수의 마스터/슬레이브 디바이스 간의 인터페이스 장치에 있어서,
    상기 복수의 마스터/슬레이브 디바이스간의 컨트롤 출력을 상기 복수의 마스터/슬레이브 디바이스 중 해당 목적지 마스터/슬레이브 디바이스로 전송하는 컨트롤 출력 다중화기;
    상기 복수의 마스터/슬레이브 디바이스의 주소/데이터 출력 및 상기 주소/데이터 출력의 응답 신호를 수신하고 상기 복수의 마스터/슬레이브 디바이스 중 해당 목적지 마스터/슬레이브 디바이스로 전송하는 주소/데이터 출력 다중화기를 포함하며,
    상기 복수의 마스터/슬레이브 디바이스 각각은 하나의 트랜잭션에 대해 컨트롤 신호와 주소/데이터 출력을 분리하여 상기 컨트롤 출력 다중화기와 상기 주소/데이터 출력 다중화기로 출력하고, 전송 목적지 마스터/슬레이브 디바이스에서 전송하는 입력 가능 신호가 수신될 때에 해당 출력을 전송하는 것을 특징으로 하는 인터페이스 장치.
  2. 제1항에 있어서
    상기 각 마스터/슬레이브 디바이스는
    트랜잭션 발생시에 생성된 컨트롤 출력 및 주소/데이터 출력을 임시 저장하는 요청 출력 버퍼와, 상기 요청 출력 버퍼의 출력에 대한 목적지 마스터/슬레이브 디바이스의 응답을 수신하고 임시 저장하는 응답 입력 버퍼를 포함하는 다수의 트랜잭션 발생부;
    상대측 마스터/슬레이브 디바이스에서 발생된 트랜잭션에 따라 수신되는 컨트롤 및 주소/데이터 출력을 임시 저장하는 요청 입력 버퍼와, 상기 요청 입력 버퍼에 수신된 신호에 대한 응답을 임시 저장하는 응답 출력 버퍼를 포함하는 다수의트랜잭션 처리부
    를 포함하는 인터페이스 장치.
  3. 제1항에 있어서
    상기 컨트롤 출력 다중화기는 출력 다중화기와 입력 역 다중화기로 이루어지며, 상기 출력 다중화기와 상기 입력 역 다중화기는 각 마스터/슬레이브 디바이스에 각각 존재하고, 상기 출력 다중화기는 트랜잭션을 발생한 디바이스의 출력을 목적지 디바이스의 입력 역 다중화기로 전송하며, 상기 입력 역 다중화기는 상기 출력 다중화기로에서 전송한 출력을 수신하여 자신의 디바이스로 전송하는 것을 특징으로 하는 디바이스 간의 인터페이스 장치.
  4. 제3항에 있어서
    상기 주소/데이터 출력 다중화기는 출력 다중화기와 입력 역 다중화기로 이루어지며, 상기 출력 다중화기와 상기 입력 역 다중화기는 각 마스터/슬레이브 디바이스에 각각 존재하고, 상기 출력 다중화기는 트랜잭션을 발생한 디바이스의 출력을 목적지 디바이스의 상기 입력 역 다중화기로 전송하며, 상기 입력 역 다중화기는 상기 출력 다중화기로에서 전송한 출력을 수신하는 것을 특징으로 하는 디바이스 간의 인터페이스 장치.
  5. 제4항에 있어서,
    모든 마스터/슬레이브 디바이스는 다른 마스터/슬레이브 디바이스가 자신에 접속할 수 있는 상태이면 자신의 사용 가능 여부를 알리는 상기 입력 가능 신호를 상기 컨트롤 출력 다중화기를 통해 상대측의 모든 마스터/슬레이브 디바이스로 방송하는 것을 특징으로 하는 인터페이스 장치.
  6. 제5항에 있어서,
    모든 마스터/슬레이브 디바이스는 다른 마스터/슬레이브 디바이스로 데이터를 전송할 때에 데이터 쓰기 스트로브 신호를 포함시켜 전송하며, 신호는 명령어 종류, 명령어/데이터 특성, 식별번호, 데이터 길이 정보를 포함하는 인터페이스 장치.
  7. 제6항에 있어서
    상기 마스터/슬레이브 디바이스에서 전송하는 응답 신호는 응답 종류, 응답 상태, 남은 데이터 시작 주소, 남은 데이터 길이 정보를 포함하는 것을 특징으로 하는 인터페이스 장치.
  8. 마스터 기능과 슬레이브 기능 모두를 가진 복수의 마스터/슬레이브 디바이스와, 상기 복수의 마스터/슬레이브 디바이스간의 컨트롤 출력을 중계하는 컨트롤 출력 다중화기와, 상기 복수의 마스터/슬레이브 디바이스 간의 주소/데이터 출력을 중계하는 주소/데이터 출력 다중화기를 포함하는 장치에서의 마스터/슬레이브 디바이스간의 인터페이스 방법에 있어서,
    제1 마스터/슬레이브 디바이스가 마스터 기능을 사용하여 제2 마스터/슬레이브 디바이스에 있는 슬레이브 기능에 억세스를 하기 위해 트랜잭션을 발생하면,
    a) 상기 제1 마스터/슬레이브 디바이스는 상기 제2 마스터/슬레이브 디바이스로 전송할 데이터를 요구 출력 버퍼에 임시 저장하는 단계;
    b) 상기 제1 마스터/슬레이브 디바이스는 상기 컨트롤 출력 다중화기를 통해 상기 제2 마스터/슬레이브 디바이스에서 전송한 입력 가능 신호가 수신되는지를 판단하는 단계;
    c) 상기 제1 마스터/슬레이브 디바이스는 상기 입력 가능 신호가 수신될 때에 상기 요구 출력 버퍼에 저장된 데이터를 상기 컨트롤 출력 다중화기 및 주소/데이터 출력 다중화기를 통해 상기 제2 마스터/슬레이브 디바이스로 전송하는 단계;
    d) 상기 제2 마스터/슬레이브 다바이스는 상기 제1 마스터/슬레이브 디바이스의 출력 데이터를 요청 입력 버퍼를 통해 수신하는 단계;
    e) 상기 제2 마스터/슬레이브 디바이스는 수신된 출력 데이터에 대응하는 응답 데이터를 생성한 후 응답 출력 버퍼에 임시 저장하는 단계; 및
    f) 상기 제2 마스터/슬레이브 디바이스는 상기 제1 마스터/슬레이브 디바이스로부터 입력 가능 신호를 수신할 때에 상기 응답 출력 버퍼에 저장된 응답 데이터를 상기 제1 마스터/슬레이브 디바이스로 전송하는 단계
    를 포함하는 인터페이스 방법.
  9. 제8항에 있어서
    상기 b) 단계에서 상기 제1 및 제2 마스터/슬레이브 디바이스는 다른 마스터/슬레이브 디바이스가 자신에 접속할 수 있는 상태이면 자신의 사용 가능 여부를 알리는 상기 입력 가능 신호를 상기 컨트롤 출력 다중화기를 통해 다른 모든 마스터/슬레이브 디바이스로 전송하는 것을 인터페이스 방법.
  10. 제8항에 있어서,
    모든 마스터/슬레이브 디바이스는 다른 마스터/슬레이브 디바이스로 데이터를 전송할 때에 데이터 쓰기 스트로브 신호를 포함시켜 전송하며, 상기 신호에는 명령어 종류, 명령어/데이터 특성, 식별번호, 데이터 길이 정보를 포함하는 인터페이스 방법.
  11. 제10항에 있어서,
    상기 데이터 스트로보 신호를 수신한 마스터/슬레이브 디바이스는 저장된 데이터 길이와 상기 신호에 포함된 데이터 길이를 비교하여 데이터 오류 여부를 검사하는 단계를 더 포함하는 것을 특징으로 하는 인터페이스 방법.
  12. 제10항에 있어서,
    상기 신호에 CRC 검사 정보가 포함된 경우에, 상기 마스터/슬레이브 디바이스는 CRC 검사를 수행하는 단계를 더 포함하는 인터페이스 방법.
KR1020030098205A 2003-12-27 2003-12-27 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법 KR100737904B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030098205A KR100737904B1 (ko) 2003-12-27 2003-12-27 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030098205A KR100737904B1 (ko) 2003-12-27 2003-12-27 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050067324A true KR20050067324A (ko) 2005-07-01
KR100737904B1 KR100737904B1 (ko) 2007-07-10

Family

ID=37258063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030098205A KR100737904B1 (ko) 2003-12-27 2003-12-27 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100737904B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736487B1 (ko) * 2005-09-30 2007-07-06 엘지전자 주식회사 홈 네트워크 시스템에서의 슬레이브 디바이스 번지변경방법
KR100885993B1 (ko) * 2007-07-16 2009-03-03 박금수 마스터/슬레이브 겸용 조명등 제어 장치 및 그 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001522501A (ja) * 1998-02-25 2001-11-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ スレーブ群インターフェース装置を介して周辺機器をバスにインターフェースする方法
KR20000026338A (ko) * 1998-10-20 2000-05-15 윤종용 Arm 중앙처리장치를 내장한 마이크로 컨트롤러의 버스제어방법
US6604159B1 (en) 1999-08-12 2003-08-05 Mips Technologies, Inc. Data release to reduce latency in on-chip system bus
US6654836B1 (en) 2000-06-20 2003-11-25 International Business Machines Corporation Dual master device for improved utilization of a processor local bus
US6496517B1 (en) 2001-11-21 2002-12-17 Lsi Logic Corporation Direct attach of interrupt controller to processor module
KR20030056567A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 다중 프로세서와 주변 블록을 갖는 시스템 칩을 위한 버스구조

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736487B1 (ko) * 2005-09-30 2007-07-06 엘지전자 주식회사 홈 네트워크 시스템에서의 슬레이브 디바이스 번지변경방법
KR100885993B1 (ko) * 2007-07-16 2009-03-03 박금수 마스터/슬레이브 겸용 조명등 제어 장치 및 그 방법

Also Published As

Publication number Publication date
KR100737904B1 (ko) 2007-07-10

Similar Documents

Publication Publication Date Title
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
JP2002342299A (ja) クラスタシステム、コンピュータ及びプログラム
KR101050019B1 (ko) 다수의 프로세서 및 하나의 메모리 시스템을 갖는 시스템용메모리 인터페이스
JP4198376B2 (ja) バスシステム及びバスシステムを含む情報処理システム
WO2011065354A1 (ja) バスモニタ回路及びバスモニタ方法
KR100480605B1 (ko) 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기
US6263393B1 (en) Bus switch for realizing bus transactions across two or more buses
US9003092B2 (en) System on chip bus system and a method of operating the bus system
US7120722B2 (en) Using information provided through tag space
US6145044A (en) PCI bus bridge with transaction forwarding controller for avoiding data transfer errors
US7062588B2 (en) Data processing device accessing a memory in response to a request made by an external bus master
US7043592B2 (en) External bus controller
US6898659B2 (en) Interface device having variable data transfer mode and operation method thereof
JP4902640B2 (ja) 集積回路、及び集積回路システム
JPH1055331A (ja) プログラム可能な読み出し/書き込みアクセス信号とその方法
US7130946B2 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
KR100737904B1 (ko) 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법
US5371863A (en) High speed processor bus extension
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
JPH09153009A (ja) 階層構成バスのアービトレーション方法
KR100487218B1 (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
JP3852882B2 (ja) マスタスレーブ装置
JP4249741B2 (ja) バスシステム及びバスシステムを含む情報処理システム
KR100190184B1 (ko) 직렬버스를 통해 데이타를 송신하는 회로
KR880000578B1 (ko) 메가 버스 구조의 우선 순위 해결 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
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: 20100701

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee