KR20050067324A - Interface device between master/slave devices and method thereof - Google Patents

Interface device between master/slave devices and method thereof 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
Korean (ko)
Other versions
KR100737904B1 (en
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/en
Publication of KR20050067324A publication Critical patent/KR20050067324A/en
Application granted granted Critical
Publication of KR100737904B1 publication Critical patent/KR100737904B1/en

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

본 발명은 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법에 관한 것이다. The present invention relates to an interface device between a master / slave device and a method thereof.

본 발명에서는 제1 마스터/슬레이브 디바이스가 마스터 기능을 사용하여 제2 마스터/슬레이브 디바이스에 있는 슬레이브 기능에 억세스를 하기 위해 트랜잭션을 발생시키면, 제1 마스터/슬레이브 디바이스는 상기 제2 마스터/슬레이브 디바이스로 전송할 데이터를 요구 출력 버퍼에 임시 저장한다. 컨트롤 출력 다중화기를 통해 입력 가능 신호를 수신하면, 상기 요구 출력 버퍼에 저장된 데이터를 상기 컨트롤 출력 다중화기 및 주소/데이터 출력 다중화기를 통해 상기 제2 마스터/슬레이브 디바이스로 전송한다. 이에 상기 제2 마스터/슬레이브 다바이스는 상기 제1 마스터/슬레이브 디바이스의 출력 데이터를 요청 입력 버퍼를 통해 수신하여 수신된 출력 데이터에 대응하는 응답 데이터를 생성하여 응답 출력 버퍼에 임시 저장한다. 이후 제1 마스터/슬레이브 디바이스로부터 입력 가능 신호를 수신할 때에 상기 응답 출력 버퍼에 저장된 응답 데이터를 상기 제1 마스터/슬레이브 디바이스로 전송한다. 이러한 본 발명에 따르면, 데드락이 방지되고 클록 속도 보상이 가능하다.In the present invention, when the first master / slave device generates a transaction to access the slave function in the second master / slave device using the master function, the first master / slave device goes to the second master / slave device. Temporarily store the data to be sent in the request output buffer. Upon receiving an input enable signal through a control output multiplexer, data stored in the request output buffer is transmitted to the second master / slave device through the control output multiplexer and an address / data output multiplexer. Accordingly, the second master / slave device receives output data of the first master / slave device through a request input buffer, generates response data corresponding to the received output data, and temporarily stores the response data in the response output buffer. Thereafter, when receiving an input enable signal from the first master / slave device, the response data stored in the response output buffer is transmitted to the first master / slave device. According to this invention, deadlock is prevented and clock speed compensation is possible.

Description

마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법{interface device between master/slave devices and method thereof}Interface device between master / slave devices and method

본 발명은 디바이스간의 인터페이스 장치 및 방법에 관한 것으로, 특히, 마스터 기능과 슬레이브 기능 모두를 가진 복수의 마스터/슬레이브 디바이스 간의 인터페이스 장치 및 그 방법에 관한 것이다.The present invention relates to an interface device and a method between devices, and more particularly, to an interface device and a method between a plurality of master / slave devices having both a master function and a slave function.

일반적으로, 시스템 온 칩(System On Chip)의 버스(bus)는 칩에 포함된 디바이스의 종류에 따라 마스터(master) 인터페이스 또는 슬레이브(slave) 인터페이스를 가지며, 마스터 인터페이스를 선택할 수 있도록 하는 별도의 버스 아비터와, 클록(clock) 속도를 보상하기 위한 별도의 브리지 형태의 디바이스(즉, 클록 속도 보상 회로)를 두고 있다. 이러한 종래의 시스템 온 칩은 상기와 같은 인터페이스를 가지면서 칩 내부의 고속 클록 동작을 보상하기 위해 주소 및 컨트롤 버스를 따로 두고 있으며, 데이터 입출력 버스도 분리하여 사용하고 있다. 이러한 버스 구조는 마스터와 슬레이브 디바이스 모두에 적용된다.In general, a bus of a system on chip has a master interface or a slave interface according to the type of devices included in the chip, and a separate bus for selecting a master interface. It has an arbiter and a separate bridge type device (ie clock speed compensation circuit) to compensate for clock speed. The conventional system-on-chip has an interface as described above and separates the address and control buses to compensate for the high-speed clock operation inside the chip, and separates the data input / output buses. This bus structure applies to both master and slave devices.

최근 개발되는 디바이스의 경우, 디바이스의 지능화에 따라 마스터와 슬레이브 기능을 모두 가지도록 개발되고 있는 것이 일반적이며, 또한 PCI(Peripheral Component Interconnect) 등의 외부 버스 인터페이스를 가지는 경우에 DMA(Direct Memory Access) 제어기 기능을 디바이스 내부에 탑재하게 됨에 따라서, 마스터와 슬레이브 기능을 둘 다 가지고 있는 것이 일반적인 디바이스의 추세이다.Recently developed devices are generally developed to have both master and slave functions according to the intelligence of the device, and also have a direct memory access (DMA) controller in the case of having an external bus interface such as a Peripheral Component Interconnect (PCI). As functions are built into the device, it is a common device trend to have both master and slave functions.

이하 도 1을 참조로 종래의 마스터와 슬레이브 기능을 가지는 디바이스간의 인터페이스 동작을 설명한다. 도 1은 종래 기술에 따른 시스템 온 칩 인터페이스의 일부 구성을 나타낸 블록도이다.Hereinafter, an operation of an interface between a device having a conventional master and a slave function will be described with reference to FIG. 1. 1 is a block diagram illustrating a partial configuration of a system on a chip interface according to the prior art.

도 1에 도시된 바와 같이 시스템 온 칩에는 제1 디바이스(10), 제2 디바이스(20), 제N 디바이스(30)를 포함하며, 제1 디바이스(10)와 제2 디바이스(20)와 제N 디바이스(30) 모두는 마스터 디바이스 및 슬레이브 디바이스를 가지고 있다.As shown in FIG. 1, the system on chip includes a first device 10, a second device 20, and an Nth device 30, and includes a first device 10, a second device 20, and a first device 10. N device 30 has both a master device and a slave device.

여기서 제1 디바이스(10)의 마스터 디바이스(11)가 제2 디바이스(20)의 슬레이브 디바이스(22)를 억세스(access)하고자 하는 경우의 동작을 보면, 마스터 디바이스(11)는 버스 아비터(70)에 버스 사용 요청을 하여 버스 아비터(70)로부터 버스 허용 신호를 받은 후에 버스 트랜잭션을 시작한다. 이 때에 마스터 디바이스(11)로부터 버스 사용 요청을 받은 버스 아비터(70)는 마스터 데이터 출력 다중화기(40) 및 마스터 컨트롤 출력 다중화기(50)에게 마스터 디바이스(11)의 버스 사용을 지시한다. 버스 아비터(70)로부터 버스 사용을 지시받은 마스터 데이터 출력 다중화기(40) 및 마스터 주소/컨트롤 출력 다중화기(50)는 마스터 디바이스(11)로부터 데이터 및 주소/컨트롤 신호를 받으면 슬레이브 디바이스(22)측으로 송신한다.Herein, when the master device 11 of the first device 10 wants to access the slave device 22 of the second device 20, the master device 11 may use the bus arbiter 70. The bus transaction is started after receiving a bus permission signal from the bus arbiter 70. At this time, the bus arbiter 70 receiving the bus use request from the master device 11 instructs the master data output multiplexer 40 and the master control output multiplexer 50 to use the bus of the master device 11. The master data output multiplexer 40 and the master address / control output multiplexer 50 instructed to use the bus from the bus arbiter 70 receive the data and address / control signals from the master device 11, and the slave device 22. Send to the side.

해당하는 컨트롤 입력을 디코딩한 슬레이브 디바이스(22)는 슬레이브 데이터 출력 다중화기(60)에게 응답 신호 및 데이터를 전송하고, 슬레이브 데이터 출력다중화기(60)는 데이터를 출력하고 있는 슬레이브 디바이스(22)의 데이터 값을 마스터 디바이스(11)에게 전송하는 경로를 형성한다.The slave device 22 which decodes the corresponding control input transmits a response signal and data to the slave data output multiplexer 60, and the slave data output multiplexer 60 of the slave device 22 outputting data. A path for transmitting the data value to the master device 11 is formed.

결국 상술한 방식을 통하여 한 개의 트랜잭션에 대한 요청 및 응답이 이루어지게 되는데, 그 동안 다른 마스터 디바이스(21, 31) 및 슬레이브 디바이스(12, 32)의 사용은 금지된다.As a result, a request and a response to one transaction are made through the above-described method, while the use of the other master devices 21 and 31 and the slave devices 12 and 32 is prohibited.

그런데, 상술한 종래의 인터페이스 방식을 위해 디바이스가 마스터와 슬레이브 인터페이스 모두를 가지기 위해서는 주소 및 컨트롤 신호와 입/출력이 분리된 데이터 버스 모두를 수용하여야 한다. 이를 위해서는 매우 많은 신호선을 필요로 하고, 동기 방식을 사용하기 때문에 인터페이스 상에서 클록 속도 보상이 불가능하므로 디바이스 내부에 별도의 클록 속도 보상 회로를 가져야 하는 문제가 있다. However, in order for a device to have both a master and a slave interface for the above-described conventional interface method, it is necessary to accommodate both a data bus having separate input and output addresses and control signals. This requires a very large number of signal lines, and because it uses a synchronous method is impossible clock speed compensation on the interface, there is a problem to have a separate clock speed compensation circuit inside the device.

또한, 한 개의 마스터 디바이스와 슬레이브 디바이스가 사용 중일 때에는 다른 마스터 및 슬레이브 디바이스를 사용할 수 없으므로 응답 지연에 따른 데드락 발생이 우려되는데, 이러한 데드락을 방지하기 위해서는 매우 복잡한 아비트레이션(arbitration) 알고리즘이 필요하다.In addition, when one master device and a slave device are in use, other master and slave devices cannot be used, so a deadlock may occur due to a response delay. In order to prevent such deadlock, a very complicated arbitration algorithm is required.

그리고 종래 기술에서는 PCI-X나 PCI 익스프레스에서 채용된 트랜잭션 분리 방식에 대한 고려가 되어 있지 않아서, 칩 외부에서 요청 또는 응답 패킷이 서로 뒤섞여서 들어올 경우 인터페이스 내부에서 이를 처리하는 것이 불가능하다. 이를 해결하기 위해서는 칩 내부에 복잡한 알고리즘 또는 회로의 추가를 통하여 트랜젝션의 순서에 대한 고려를 하여야 하는데, 이는 칩 내부 버퍼 크기의 증가를 가져와서 전체적으로 칩 내부 리소스(resource) 사용 효율을 떨어뜨리는 단점을 가지게 되며 칩 구성을 복잡하게 하는 문제가 있다.In the prior art, there is no consideration of the transaction separation scheme employed in PCI-X or PCI Express, and thus it is impossible to process the request or response packets inside the interface when they are intermingled with each other. To solve this problem, consideration should be given to the order of transactions through the addition of complex algorithms or circuits inside the chip, which leads to an increase in the internal buffer size of the chip, thereby reducing the overall efficiency of resource usage within the chip. And there is a problem that complicates the chip configuration.

따라서 본 발명이 이루고자 하는 기술적 과제는 종래의 문제점을 해결하기 위한 것으로, 마스터 및 슬레이브 인터페이스를 모두 가지며, 트랜젝션 분리 방식을 고려하면서도 신호선은 최소한으로 하는 인터페이스 장치 및 그 방법을 제공하는 것이다. Accordingly, an aspect of the present invention is to solve the conventional problems, and to provide an interface device and a method having both a master and a slave interface and minimizing a signal line while considering a transaction separation method.

또한, 본 발명이 이루고자 하는 기술적 과제는 디바이스의 동작 속도가 다를 경우 인터페이스 상의 버퍼를 사용하여 이러한 클록 속도 보상을 가능하게 하는 인터페이스 장치 및 그 방법을 제공하는 것이다. Another object of the present invention is to provide an interface device and a method for enabling such clock speed compensation by using a buffer on an interface when the operating speed of the device is different.

이러한 기술적 과제를 달성하기 위한 본 발명의 특징에 따른 인터페이스 장치는, 마스터 기능과 슬레이브 기능 모두를 가진 복수의 마스터/슬레이브 디바이스 간의 인터페이스 장치에 있어서, 상기 복수의 마스터/슬레이브 디바이스간의 컨트롤 출력을 상기 복수의 마스터/슬레이브 디바이스 중 해당 목적지 마스터/슬레이브 디바이스로 전송하는 컨트롤 출력 다중화기와; 상기 복수의 마스터/슬레이브 디바이스의 주소/데이터 출력 및 상기 주소/데이터 출력의 응답 신호를 수신하고 상기 복수의 마스터/슬레이브 디바이스 중 해당 목적지 마스터/슬레이브 디바이스로 전송하는 주소/데이터 출력 다중화기를 포함하며, 상기 복수의 마스터/슬레이브 디바이스 각각은 하나의 트랜잭션에 대해 컨트롤 신호와 주소/데이터 출력을 분리하여 상기 컨트롤 출력 다중화기와 상기 주소/데이터 출력 다중화기로 출력하고, 상기 복수의 마스터/슬레이브 디바이스 각각은 전송 목적지 마스터/슬레이브 디바이스에서 전송하는 입력 가능 신호가 수신될 때에 해당 출력을 전송한다.According to an aspect of an exemplary embodiment of the present invention, an interface device between a plurality of master / slave devices having both a master function and a slave function may include: outputting a plurality of control outputs between the plurality of master / slave devices; A control output multiplexer for transmitting to a corresponding destination master / slave device among the master / slave devices of the controller; An address / data output multiplexer which receives the address / data output of the plurality of master / slave devices and the response signal of the address / data output and transmits to the corresponding destination master / slave device among the plurality of master / slave devices; Each of the plurality of master / slave devices separates a control signal and an address / data output for one transaction and outputs the control output multiplexer and the address / data output multiplexer, and each of the plurality of master / slave devices is a transmission destination. Transmit the corresponding output when an input capable signal from the master / slave device is received.

또한, 본 발명의 다른 특징에 따른 인터페이스 방법은, 제1 마스터/슬레이브 디바이스가 마스터 기능을 사용하여 제2 마스터/슬레이브 디바이스에 있는 슬레이브 기능에 억세스를 하기 위해 트랜잭션을 발생하면, 상기 제1 마스터/슬레이브 디바이스는 상기 제2 마스터/슬레이브 디바이스로 전송할 데이터를 요구 출력 버퍼에 임시 저장하는 제1 단계; 상기 제1 마스터/슬레이브 디바이스는 상기 컨트롤 출력 다중화기를 통해 상기 제2 마스터/슬레이브 디바이스에서 전송한 입력 가능 신호를 수신되는 지를 판단하는 제2 단계; 상기 제1 마스터/슬레이브 디바이스는 상기 입력 가능 신호가 수신될 때에 상기 요구 출력 버퍼에 저장된 데이터를 상기 컨트롤 출력 다중화기 및 주소/데이터 출력 다중화기를 통해 상기 제2 마스터/슬레이브 디바이스로 전송하는 제3 단계; 상기 제2 마스터/슬레이브 다바이스는 상기 제1 마스터/슬레이브 디바이스의 출력 데이터를 요청 입력 버퍼를 통해 수신하는 제4 단계; 상기 제2 마스터/슬레이브 디바이스는 수신된 출력 데이터에 대응하는 응답 데이터를 생성한 후 응답 출력 버퍼에 임시 저장하는 제5 단계; 및 상기 제2 마스터/슬레이브 디바이스는 상기 제1 마스터/슬레이브 디바이스로부터 입력 가능 신호를 수신할 때에 상기 응답 출력 버퍼에 저장된 응답 데이터를 상기 제1 마스터/슬레이브 디바이스로 전송하는 제6 단계를 포함한다. In addition, the interface method according to another aspect of the present invention, if the first master / slave device generates a transaction to access the slave function in the second master / slave device using a master function, the first master / slave device; A slave device temporarily storing data to be transmitted to the second master / slave device in a request output buffer; A second step of determining, by the first master / slave device, whether an input capable signal transmitted from the second master / slave device is received through the control output multiplexer; The first master / slave device transmits data stored in the request output buffer to the second master / slave device through the control output multiplexer and the address / data output multiplexer when the input enable signal is received; ; A fourth step of receiving, by the second master / slave device, output data of the first master / slave device through a request input buffer; A fifth step of generating, by the second master / slave device, response data corresponding to the received output data and temporarily storing the response data in a response output buffer; And a sixth step of transmitting, by the second master / slave device, response data stored in the response output buffer to the first master / slave device when receiving the input enable signal from the first master / slave device.

이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 가장 바람직한 실시 예를 첨부된 도면을 참조로 하여 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention.

도 2는 본 발명의 실시 예에 따르는 인터페이스 장치의 블록도이다. 2 is a block diagram of an interface device according to an embodiment of the present invention.

본 발명의 실시 예에 적용되는 디바이스는 도 1과 같이 마스터 디바이스와 슬레이브 디바이스를 가진 마스터/슬레이브 디바이스이다. 도 2에 도시된 실시 예는 당업자가 가장 용이하게 실시할 수 있는 한 형태로서, 4개의 마스터/슬레이드 디바이스 즉, 제1 마스터/슬레이브 디바이스(100), 제2 마스터/슬레이브 디바이스(200), 제3 마스터/슬레이브 디바이스(300)와, 제4 마스터/슬레이브 디바이스(400) 간의 인터페이스가 어떻게 이루어지는지에 대하여 기술한다. A device applied to an embodiment of the present invention is a master / slave device having a master device and a slave device as shown in FIG. 1. 2 is a form that can be easily implemented by those skilled in the art, and includes four master / slave devices, that is, a first master / slave device 100, a second master / slave device 200, and a first embodiment. 3 describes how the interface between the master / slave device 300 and the fourth master / slave device 400 is achieved.

본 발명의 실시 예에 따른 인터페이스 장치는 도 2에 도시되어 있듯이, 다수의 마스터/슬레이브 디바이스(100 내지 400)와, 마스터/슬레이브 디바이스간에 입,출력되는 컨트롤 신호의 전달을 제어하는 컨트롤 출력 다중화기(500)와, 마스터/스레이브 디바이스간에 입, 출력되는 주소/데이터 신호의 전달을 제어하는 주소/데이터 출력 다중화기(600)를 포함한다.As shown in FIG. 2, the interface apparatus according to an exemplary embodiment of the present invention provides a control output multiplexer for controlling the transfer of control signals input and output between a plurality of master / slave devices 100 to 400 and a master / slave device. And an address / data output multiplexer 600 for controlling the transfer of address / data signals input and output between the master / slave devices.

이하에서는 제1 마스터/슬레이브 디바이스(100)가 마스터 기능을 사용하여 제2 마스터/슬레이브 디바이스(200)에 있는 슬레이브 기능에 억세스를 하는 과정을 설명한다.Hereinafter, a process in which the first master / slave device 100 accesses a slave function in the second master / slave device 200 using the master function will be described.

컨트롤 출력 다중화기(500)는 제2 마스터/슬레이브 디바이스(200)로부터 수신한 사용 가능 여부 정보를 저장하고 있다가, 제1 마스터/슬레이브 디바이스(100)에게 마스터/슬레이브 디바이스(200)의 사용 가능 여부를 알려준다. The control output multiplexer 500 stores the availability information received from the second master / slave device 200 and then enables the master / slave device 200 to be used by the first master / slave device 100. Tell whether or not.

이에, 제1 마스터/슬레이브 디바이스(100)는 사용이 가능하다는 것을 알게 되면, 자신의 컨트롤 신호를 컨트롤 출력 다중화기(500)로 보내고, 또한 주소/데이터 신호를 주소/데이터 출력 다중화기(600)로 보낸다. 그러면, 컨트롤 출력 다중화기(500)와 주소/데이터 출력 다중화기(600)는 수신된 신호를 제2 마스터/슬레이브 디바이스(200)로 보낸다.Accordingly, when the first master / slave device 100 knows that it can be used, it sends its control signal to the control output multiplexer 500 and also sends the address / data signal to the address / data output multiplexer 600. Send to. Then, the control output multiplexer 500 and the address / data output multiplexer 600 send the received signal to the second master / slave device 200.

제2 마스터/슬레이브 디바이스(200)는 수신된 컨트롤 신호를 해석하여 자신이 선택되었다는 것을 알게 되고 디바이스 내부에서 응답 신호를 생성한다. 여기서, 제2 마스터/슬레이브 디바이스(200)에서 응답 신호를 생성하기 전이라도 제1 마스터/슬레이브 디바이스(100)는 요청 신호를 더 생성할 수 있으므로, 트랜젝션 분리 방식을 충실히 사용할 수 있게 되며, 만일, 제1 마스터/슬레이브 디바이스(100)가 트랜젝션 분리 방식으로 되어 있는 외부 인터페이스를 가지는 경우, 외부로부터 요청 패킷과 응답 패킷이 서로 뒤섞여있어도 본 발명에서의 인터페이스에서는 데드락이 발생하지 않는다.The second master / slave device 200 interprets the received control signal to know that it is selected and generates a response signal inside the device. Here, even before the second master / slave device 200 generates the response signal, the first master / slave device 100 may further generate a request signal, so that the transaction separation scheme may be faithfully used. When the first master / slave device 100 has an external interface that is in a transaction separation method, deadlock does not occur in the interface according to the present invention even if the request packet and the response packet are mixed with each other from the outside.

제2 마스터/슬레이브 디바이스(200)는 응답할 상태 및 데이터가 준비된 상태에서, 컨트롤 출력 다중화기(500)로부터 제1 마스터/슬레이브 디바이스(100)의 응답 수신 가능 신호를 수신받으면 응답 상태 및 데이터를 주소/데이터 출력 다중화기(600) 및 컨트롤 출력 다중화기(500)로 송신하여 제1 마스터/슬레이브 디바이스(100)에 전송되게 한다. When the second master / slave device 200 receives the response receivable signal of the first master / slave device 100 from the control output multiplexer 500 in a state where the response and the data are prepared, the second master / slave device 200 receives the response state and the data. Transmit to the address / data output multiplexer 600 and the control output multiplexer 500 to be transmitted to the first master / slave device 100.

도 3은 위에 기술된 바와 같이 동작하는 두 디바이스간의 인터페이스가 어떻게 이루어지는 설명하기 위한, 각 디바이스의 구조 및 연결를 도시한 블록도이다. 도 3에 도시된 바와 같이 본 발명의 인터페이스 장치는 마스터/슬레이브 디바이스(100, 200)와, 컨트롤 출력 다중화기(500)와 주소/데이터 출력 다중화기(600)를 포함한다.FIG. 3 is a block diagram illustrating the structure and connection of each device for explaining how an interface between two devices operating as described above is made. As shown in FIG. 3, the interface device of the present invention includes a master / slave device 100, 200, a control output multiplexer 500, and an address / data output multiplexer 600.

상기 마스터/슬레이브 디바이스(100, 200)는 각각 요청 출력 버퍼, 요청 입력 버퍼, 응답 입력 버퍼, 응답 출력 버퍼를 가지는데, 상기 요청 출력 버퍼와 응답 입력 버퍼는 트랜잭션을 발생시키는 트랜잭션 발생 블록(110, 220)을 이루고, 상기 요청 입력 버퍼와 응답 출력 버퍼는 트랜잭션을 처리하는 트랜잭션 처리 블록(120, 210)을 이룬다.Each of the master / slave devices 100 and 200 has a request output buffer, a request input buffer, a response input buffer, and a response output buffer, wherein the request output buffer and the response input buffer have a transaction generation block 110 for generating a transaction. 220, the request input buffer and the response output buffer form a transaction processing block (120, 210) for processing a transaction.

상기 컨트롤 출력 다중화기(500)는 출력 다중화기와 입력 역 다중화기로 이루어지며, 출력 다중화기와 입력 역 다중화기는 각 마스터/슬레이브 디바이스(100, 200)에 각각 포함된다. 그리고 상기 주소/데이터 출력 다중화기(600)는 출력 다중화기와 입력 역 다중화기로 이루어지며, 출력 다중화기와 입력 역 다중화기는 각 마스터/슬레이브 디바이스(100, 200)에 각각 포함된다.The control output multiplexer 500 consists of an output multiplexer and an input demultiplexer, which are included in each master / slave device 100, 200, respectively. The address / data output multiplexer 600 is composed of an output multiplexer and an input demultiplexer, and the output multiplexer and the input demultiplexer are included in the respective master / slave devices 100 and 200, respectively.

도 3에서는 이해를 돕기 위해서, 마스터/슬레이브 디바이스별로 컨트롤 출력 다중화기(500)와 주소/데이터 출력 다중화기(600)의 출력 다중화기를 하나의 블록(720, 730)으로 처리하였고, 컨트롤 출력 다중화기(500)와 주소/데이터 출력 다중화기(600)의 입력 역 다중화기를 마스터/슬레이브 디바이스별로 하나의 블록(710, 740)으로 처리하였다.In FIG. 3, for convenience of understanding, the output multiplexer of the control output multiplexer 500 and the address / data output multiplexer 600 for each master / slave device is treated as a single block 720 and 730, and the control output multiplexer. The input demultiplexer of the 500 and the address / data output multiplexer 600 are processed as one block 710 and 740 for each master / slave device.

따라서 그 동작을 보면, I). 마스터/슬레이브 디바이스(100)는 요청 출력 버퍼(111)에 주소 및 컨트롤 데이터가 준비되면, 출력 다중화기(720)로부터 마스터/슬레이브 디바이스(200)의 요청 입력 가능 신호가 수신될 때에, 요청 신호 및 데이터를 출력 다중화기(720)에 송신한다.So look at the behavior, I). When the master / slave device 100 receives the request input enable signal of the master / slave device 200 from the output multiplexer 720, when the address and control data are prepared in the request output buffer 111, the request signal and Send data to output multiplexer 720.

II). 출력 다중화기(720)는 상기 요청 출력 버퍼(111)로부터 요청 신호를 수신하면, 적절한 컨트롤 신호를 생성하여 이를 마스터/슬레이브 디바이스(200)의 입력 역다중화기(740)에 보내고, 입력 역다중화기(740)는 마스터/슬레이브 디바이스(100)로부터 받은 칩 선택 신호 및 요청 신호라는 컨트롤 신호를 검사하고 이를 요청 입력 버퍼(211)로 송신한다.II). When the output multiplexer 720 receives the request signal from the request output buffer 111, it generates an appropriate control signal and sends it to the input demultiplexer 740 of the master / slave device 200, and the input demultiplexer 740. ) Examines a control signal called a chip select signal and a request signal received from the master / slave device 100 and transmits it to the request input buffer 211.

III). 마스터/슬레이브 디바이스(200)는 요청 입력 버퍼(211)로 수신한 신호를 디바이스 내부에서 요청을 처리하여 이를 응답 출력 버퍼(212)에 저장한다. III). The master / slave device 200 processes the request inside the device with the signal received by the request input buffer 211 and stores it in the response output buffer 212.

여기서, 마스터/슬레이브 디바이스(200)는 상기 과정(S305)을 처리 시간 동안에도 요청 출력 버퍼(212)에 요청 신호를 생성하여 이를 출력 다중화기(730)를 통하여 마스터/슬레이브 디바이스(100)로 송신할 수 있으며, 마스터/슬레이브 디바이스(100)의 응답 출력 버퍼(122)가 동작하여 저장된 정보를 출력 다중화기(720)를 통하여 마스터/슬레이브 디바이스(200)에 보낼 수 있다. 이러한 과정은 아무런 제약없이 이루어질 수 있으므로, 상술한 설명에 따르면 본 발명의 인터페이스 장치 및 방법에서는 데드락이 발생되지 않음을 알 수 있다.Here, the master / slave device 200 generates the request signal in the request output buffer 212 even during the processing time and transmits the process S305 to the master / slave device 100 through the output multiplexer 730. The response output buffer 122 of the master / slave device 100 may operate to send the stored information to the master / slave device 200 through the output multiplexer 720. Since this process can be performed without any limitation, according to the above description, it can be seen that no deadlock occurs in the interface device and method of the present invention.

IV). 마스터/슬레이브 디바이스(200)는 마스터/슬레이브 디바이스(100)에서 요청한 신호에 대한 응답 상태 및 데이터를 응답 출력 버퍼(212)에 준비하고 준비되면, 응답 입력 버퍼(112)로부터 송신되는 마스터/슬레이브 디바이스(100)의 응답 입력 가능 신호를 감지한 후에, 준비한 데이터를 출력 다중화기(730)를 통하여 마스터/슬레이브 디바이스(100)의 입력 역다중화기(710)로 보낸다.IV). The master / slave device 200 prepares the response status and data for the signal requested by the master / slave device 100 in the response output buffer 212 and, when ready, transmits the master / slave device from the response input buffer 112. After detecting the response input enable signal of 100, the prepared data is transmitted to the input demultiplexer 710 of the master / slave device 100 through the output multiplexer 730.

V). 입력 역다중화기(710)는 응답 출력 버퍼(212)로부터 수신된 응답을 응답 입력 버퍼(112)에 저장한다.V). The input demultiplexer 710 stores the response received from the response output buffer 212 in the response input buffer 112.

VI). 이에, 마스터/슬레이브 디바이스(100)에서 마스터/슬레이브 디바이스(200)로 접속하는 트랜잭션은 완료된다. VI). Accordingly, the transaction connecting from the master / slave device 100 to the master / slave device 200 is completed.

여기서, 발명은 디바이스 내부에 있는 버퍼의 읽기 및 쓰기 동작의 클록을 서로 다르게 할 수 있으므로, 클록 속도가 다른 디바이스의 경우에도 데이터 전송에는 제약이 없고, 별도의 클록 보상 회로가 필요없게 된다. 또한 요청 출력 신호와 응답 출력 신호에서 사용되는 버스 구조를 공유하므로 신호선을 반으로 감소시킬 수 있고, 주소는 최초 1번만 사용하여 주소 버스와 데이터 버스를 공유하는 구조로 되어 있으므로, 신호선을 더 줄일 수 있다.In the present invention, since the clocks of the read and write operations of the buffer inside the device can be different from each other, there is no restriction in data transfer even in a device having a different clock speed, and a separate clock compensation circuit is not required. In addition, since the bus structure used in the request output signal and the response output signal is shared, the signal line can be reduced in half, and since the address is structured to share the address bus and the data bus using only the first time, the signal line can be further reduced. have.

상술한 설명에 따르면, 본 발명은 디바이스 자체에서 칩 선택 신호를 생성하도록 하는 구조로 되어 있으며, 별도의 아비터없이 디바이스 선택이 가능하며, 특히, 도3에서 나타낸바와 같이 두 개의 디바이스만을 연결할 경우에는 신호선이 더 간단해진다.According to the above description, the present invention is structured to generate a chip select signal in the device itself, it is possible to select a device without a separate arbiter, in particular, in the case of connecting only two devices as shown in Figure 3 signal line This becomes simpler.

도 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) 신호로 쓰기 스트로브 신호 및 데이터 출력종료 신호를 출력한다.4 is a timing diagram in a signal line between two devices shown in FIG. As shown in FIG. 4, the master / slave device 100 examines the Reqin_rdy_i 1411 signal output from the master / slave device 200 and when the Reqin_rdy_i 1411 signal is 1, AddrData_o 1412 and Control_o ( 1413), the address data and the chip selection and control signals are outputted through the ChipSelect_o (1414) signal, and at this time, the write strobe signal and the data output end signal as the AddrCtrl_wr_o (1415) signal, the ReqData_wr_o (1416) signal, and the Data_wr_end_o (1417) signal. Outputs

상기에서, 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) 신호는 데이터의 끝을 알리는 신호이다.In the above description, the Reqin_rdy_i 1411 signal is a request input enable signal transmitted from the master / slave device 200 to the master / slave device 100. The AddrData_o 1412 signal is an address data signal, the Control_o 1413 signal is a control signal, and the ChipSelect_o 1414 signal is a chip select signal. The AddrCtrl_wr_o 1415 signal and the ReqData_wr_o 1416 signal are write strobe signals, which are address / control write strobe signals informing the address and data area, and request data write strobe signals. The Data_wr_end_o 1417 signal is a signal indicating the end of data.

상기 데이터를 입력받은 마스터/슬레이브 디바이스(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) 신호로 되어 있는 쓰기 스트로브 및 데이터 종료 신호도 입력된다. 따라서 상술한 방식으로 한 개의 버스 트랜잭션은 종료되게 된다.The response data prepared by the slave device of the master / slave device 200 that received the data is checked for AddrData_i (1422) and Control_i (1423) after checking the Cplin_rdy_o (1421) signal output from the master device of the master / slave device (100). Signal is input to the master / slave device 100, and at this time, a write strobe and a data end signal including the CplStatus_wr_i 1424, CplData_wr_i 1425, and Data_wr_end_i 1426 signals are also input. Thus, one bus transaction is terminated in the manner described above.

상기 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)에서 전송하는 쓰기 스트로브 신호이다. The Cplin_rdy_o 1421 signal is a signal transmitted from the master / slave device 100 to the master / slave device 200 and informs the transmission timing of the response data. The AddrData_i 1422 and Control_i 1423 signals are signals transmitted from the master / slave device 200 to the master / slave device 100 and carry signals corresponding to the data. The CplStatus_wr_i 1424, CplData_wr_i 1425, and Data_wr_end_i 1426 signals are write strobe signals transmitted from the master / slave device 200.

이 때 신호선은 입력 가능 여부를 알고 출력측에서 데이터 및 데이터 쓰기 스트로브 신호를 사용하므로, 이 인터페이스가 칩과 칩 사이와 같이 신호가 타이밍을 보장할 수 없는 곳에 사용되더라도, 입력 가능 신호를 래치하고 출력 신호도 이를 입력받는 디바이스에서 래치(latch)하여 사용하는 것이 가능하므로 안정적인 데이터 송수신을 보장한다.At this time, the signal line knows whether the input is possible and uses the data and data write strobe signal on the output side. Therefore, even if this interface is used where the signal cannot guarantee timing, such as between the chip and the chip, the input signal is latched and the output signal is used. It can also be used by latching in the receiving device, which ensures stable data transmission and reception.

도 5는 도 3에 사용된 컨트롤 신호 및 응답 신호 비트 할당을 도시한 도면이다.5 is a diagram illustrating control signal and response signal bit allocation used in FIG. 3.

상기 마스터/슬레이브 디바이스(800)에서 출력하는 컨트롤 신호는 명령어 종류 및 명령어/데이터 특성, 식별번호, 데이터 길이로 구성되어 있으며, 별도의 신호선을 가지고 있다. 그리고 컨트롤 신호에는 데이터 길이가 포함되어 있으므로 각 디바이스에서는 실제로 입력되는 데이터 양과 데이터 길이에 지정된 값을 비교하여, 데이터 길이의 오류 여부를 검사할 수 있으며, 명령어 특성에 CRC(Cyclic Redundancy Check) 검사 여부를 추가하고 데이터를 출력할 때 CRC를 추가하게 되면, CRC 검사도 수행할 수 있다.The control signal output from the master / slave device 800 is composed of a command type, a command / data characteristic, an identification number, and a data length, and has a separate signal line. In addition, since the control signal includes the data length, each device can check whether there is an error in the data length by comparing the amount of data actually input with the value specified in the data length, and whether the CRC (Cyclic Redundancy Check) is checked in the command characteristics. If you add a CRC when you add and output data, you can also perform a CRC check.

상기 마스터/슬레이브 디바이스(900)의 응답 신호는 응답 종류, 응답 상태, 남은 데이터 시작 주소, 남은 데이터 길이로 구성되어 있으므로, 응답할 데이터 양을 여러 개로 나누어 보낼 수 있으므로, 디바이스 내부 상태에 따라서 응답 방식을 조절할 수 있다.Since the response signal of the master / slave device 900 is composed of response type, response status, remaining data start address, and remaining data length, the response data can be divided into several parts and sent according to the device internal status. Can be adjusted.

이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.The technical spirit of the present invention has been described above with reference to the accompanying drawings, but this is by way of example only and not intended to limit the present invention. In addition, it is obvious that any person skilled in the art can make various modifications and imitations without departing from the scope of the technical idea of the present invention.

이상에서와 같이 본 발명에 따르면, 외부에 트랜잭션 분리 방식을 가지는 디바이스간의 인터페이스에서 데드락을 방지할 수 있다. 또하, 각 디바이스가 마스터 및 슬레이브 기능을 모두 가지고 있으므로, 지능화된 디바이스간의 인터페이스에 사용할 수 있다. As described above, according to the present invention, it is possible to prevent the deadlock in the interface between the devices having a transaction separation scheme externally. In addition, since each device has both master and slave functions, it can be used to interface between intelligent devices.

그리고, 본 발명은 신호선의 개수 및 신호 안정도에 민감한 디바이스간의 연결에 있어서도 신호선을 대폭 감소시키고, 신호 흐름 규칙이 안정화되어 있으므로, 종래 방식보다 손쉬운 인터페이스가 가능하다. In addition, the present invention significantly reduces the signal lines even in the connection between the number of signal lines and devices that are sensitive to signal stability, and since the signal flow rules are stabilized, an easier interface is possible.

또한 본 발명은 인터페이스 회로 내부에 클록 보상 회로가 포함되어 있으므로, 고속의 디바이스와 저속의 디바이스간의 연결을 할 수 있도록 해 주며, 컨트롤 신호 내부에 명령어의 정보를 내포하고 있으므로, 데이터 송수신시의 오류 검출을할 수 있도록 해 준다. In addition, since the clock compensation circuit is included in the interface circuit, the present invention enables a connection between a high speed device and a low speed device, and includes an instruction information in a control signal, thereby detecting errors in data transmission and reception. It allows you to.

또한, 본 발명은 인터페이스 신호 내부에 칩 선택 신호를 내장하여 별도의 복잡한 아비터가 필요 없이도 디바이스간의 인터페이스를 할 수 있다.In addition, the present invention allows the interface between devices without the need for a separate complex arbiter by embedding a chip select signal inside the interface signal.

도 1은 종래 기술에 따른 시스템 온 칩 인터페이스의 일부 구성을 나타낸 블록도이다. 1 is a block diagram illustrating a partial configuration of a system on a chip interface according to the prior art.

도 2는 본 발명에 따르는 인터페이스 장치의 구조도이다. 2 is a structural diagram of an interface device according to the present invention.

도 3은 도 2에 도시된 두 디바이스간의 상세한 인터페이스를 도시한 도이다. 3 is a diagram illustrating a detailed interface between two devices shown in FIG. 2.

도 4는 도 3에 도시된 두 디바이스간의 신호선에서의 타이밍 다이어그램이다. 4 is a timing diagram in a signal line between two devices shown in FIG.

도 5는 도 3에 사용된 컨트롤 신호 및 응답 신호 비트 할당을 도시한 도이다. FIG. 5 is a diagram illustrating control signal and response signal bit allocation used in FIG. 3.

Claims (12)

마스터 기능과 슬레이브 기능 모두를 가진 복수의 마스터/슬레이브 디바이스 간의 인터페이스 장치에 있어서,In the interface device between a plurality of master / slave devices having both a master function and a slave function, 상기 복수의 마스터/슬레이브 디바이스간의 컨트롤 출력을 상기 복수의 마스터/슬레이브 디바이스 중 해당 목적지 마스터/슬레이브 디바이스로 전송하는 컨트롤 출력 다중화기;A control output multiplexer for transmitting a control output between the plurality of master / slave devices to a corresponding destination master / slave device among the plurality of master / slave devices; 상기 복수의 마스터/슬레이브 디바이스의 주소/데이터 출력 및 상기 주소/데이터 출력의 응답 신호를 수신하고 상기 복수의 마스터/슬레이브 디바이스 중 해당 목적지 마스터/슬레이브 디바이스로 전송하는 주소/데이터 출력 다중화기를 포함하며,An address / data output multiplexer which receives the address / data output of the plurality of master / slave devices and the response signal of the address / data output and transmits to the corresponding destination master / slave device among the plurality of master / slave devices; 상기 복수의 마스터/슬레이브 디바이스 각각은 하나의 트랜잭션에 대해 컨트롤 신호와 주소/데이터 출력을 분리하여 상기 컨트롤 출력 다중화기와 상기 주소/데이터 출력 다중화기로 출력하고, 전송 목적지 마스터/슬레이브 디바이스에서 전송하는 입력 가능 신호가 수신될 때에 해당 출력을 전송하는 것을 특징으로 하는 인터페이스 장치.Each of the plurality of master / slave devices separates a control signal and an address / data output for one transaction, outputs the control signals to the control output multiplexer and the address / data output multiplexer, and transmits them from a transmission destination master / slave device. The interface device, characterized in that for transmitting a corresponding output when a signal is received. 제1항에 있어서The method of claim 1 상기 각 마스터/슬레이브 디바이스는 Each master / slave device 트랜잭션 발생시에 생성된 컨트롤 출력 및 주소/데이터 출력을 임시 저장하는 요청 출력 버퍼와, 상기 요청 출력 버퍼의 출력에 대한 목적지 마스터/슬레이브 디바이스의 응답을 수신하고 임시 저장하는 응답 입력 버퍼를 포함하는 다수의 트랜잭션 발생부;A plurality of request output buffers for temporarily storing control outputs and address / data outputs generated when a transaction occurs, and a response input buffer for receiving and temporarily storing a response of a destination master / slave device to the output of the request output buffers. A transaction generator; 상대측 마스터/슬레이브 디바이스에서 발생된 트랜잭션에 따라 수신되는 컨트롤 및 주소/데이터 출력을 임시 저장하는 요청 입력 버퍼와, 상기 요청 입력 버퍼에 수신된 신호에 대한 응답을 임시 저장하는 응답 출력 버퍼를 포함하는 다수의트랜잭션 처리부A plurality of request input buffers for temporarily storing the control and address / data outputs received according to a transaction occurring at the opposite master / slave device, and a response output buffer for temporarily storing a response to the signal received in the request input buffer. Transaction processing unit 를 포함하는 인터페이스 장치.Interface device comprising a. 제1항에 있어서The method of claim 1 상기 컨트롤 출력 다중화기는 출력 다중화기와 입력 역 다중화기로 이루어지며, 상기 출력 다중화기와 상기 입력 역 다중화기는 각 마스터/슬레이브 디바이스에 각각 존재하고, 상기 출력 다중화기는 트랜잭션을 발생한 디바이스의 출력을 목적지 디바이스의 입력 역 다중화기로 전송하며, 상기 입력 역 다중화기는 상기 출력 다중화기로에서 전송한 출력을 수신하여 자신의 디바이스로 전송하는 것을 특징으로 하는 디바이스 간의 인터페이스 장치.The control output multiplexer consists of an output multiplexer and an input demultiplexer, wherein the output multiplexer and the input demultiplexer are respectively present in each master / slave device, and the output multiplexer outputs the output of the device that has made a transaction to the input demultiplexer of the destination device. And transmitting to a multiplexer, wherein the input demultiplexer receives the output transmitted from the output multiplexer and transmits the output to its own device. 제3항에 있어서The method of claim 3, 상기 주소/데이터 출력 다중화기는 출력 다중화기와 입력 역 다중화기로 이루어지며, 상기 출력 다중화기와 상기 입력 역 다중화기는 각 마스터/슬레이브 디바이스에 각각 존재하고, 상기 출력 다중화기는 트랜잭션을 발생한 디바이스의 출력을 목적지 디바이스의 상기 입력 역 다중화기로 전송하며, 상기 입력 역 다중화기는 상기 출력 다중화기로에서 전송한 출력을 수신하는 것을 특징으로 하는 디바이스 간의 인터페이스 장치.The address / data output multiplexer consists of an output multiplexer and an input demultiplexer, wherein the output multiplexer and the input demultiplexer are respectively present in each master / slave device, and the output multiplexer outputs the output of the device that generated the transaction to the destination device. Transmitting to the input demultiplexer, wherein the input demultiplexer receives the output transmitted from the output multiplexer. 제4항에 있어서,The method of claim 4, wherein 모든 마스터/슬레이브 디바이스는 다른 마스터/슬레이브 디바이스가 자신에 접속할 수 있는 상태이면 자신의 사용 가능 여부를 알리는 상기 입력 가능 신호를 상기 컨트롤 출력 다중화기를 통해 상대측의 모든 마스터/슬레이브 디바이스로 방송하는 것을 특징으로 하는 인터페이스 장치.Every master / slave device broadcasts the input enable signal indicating whether it is available to the other master / slave device through the control output multiplexer when another master / slave device is accessible to itself. Interface device. 제5항에 있어서,The method of claim 5, 모든 마스터/슬레이브 디바이스는 다른 마스터/슬레이브 디바이스로 데이터를 전송할 때에 데이터 쓰기 스트로브 신호를 포함시켜 전송하며, 신호는 명령어 종류, 명령어/데이터 특성, 식별번호, 데이터 길이 정보를 포함하는 인터페이스 장치.Every master / slave device includes a data write strobe signal when transmitting data to another master / slave device, and the signal includes a command type, a command / data characteristic, an identification number, and data length information. 제6항에 있어서The method of claim 6 상기 마스터/슬레이브 디바이스에서 전송하는 응답 신호는 응답 종류, 응답 상태, 남은 데이터 시작 주소, 남은 데이터 길이 정보를 포함하는 것을 특징으로 하는 인터페이스 장치.And the response signal transmitted from the master / slave device includes response type, response status, remaining data start address, and remaining data length information. 마스터 기능과 슬레이브 기능 모두를 가진 복수의 마스터/슬레이브 디바이스와, 상기 복수의 마스터/슬레이브 디바이스간의 컨트롤 출력을 중계하는 컨트롤 출력 다중화기와, 상기 복수의 마스터/슬레이브 디바이스 간의 주소/데이터 출력을 중계하는 주소/데이터 출력 다중화기를 포함하는 장치에서의 마스터/슬레이브 디바이스간의 인터페이스 방법에 있어서,A plurality of master / slave devices having both a master function and a slave function; a control output multiplexer for relaying control outputs between the plurality of master / slave devices; and an address for relaying addresses / data outputs between the plurality of master / slave devices. An interface method between a master / slave device in an apparatus comprising a data / data output multiplexer, 제1 마스터/슬레이브 디바이스가 마스터 기능을 사용하여 제2 마스터/슬레이브 디바이스에 있는 슬레이브 기능에 억세스를 하기 위해 트랜잭션을 발생하면,If the first master / slave device issues a transaction to access the slave function on the second master / slave device using the master function, a) 상기 제1 마스터/슬레이브 디바이스는 상기 제2 마스터/슬레이브 디바이스로 전송할 데이터를 요구 출력 버퍼에 임시 저장하는 단계;a) the first master / slave device temporarily storing data to be sent to the second master / slave device in a request output buffer; b) 상기 제1 마스터/슬레이브 디바이스는 상기 컨트롤 출력 다중화기를 통해 상기 제2 마스터/슬레이브 디바이스에서 전송한 입력 가능 신호가 수신되는지를 판단하는 단계;b) the first master / slave device determining whether an input capable signal transmitted from the second master / slave device is received through the control output multiplexer; c) 상기 제1 마스터/슬레이브 디바이스는 상기 입력 가능 신호가 수신될 때에 상기 요구 출력 버퍼에 저장된 데이터를 상기 컨트롤 출력 다중화기 및 주소/데이터 출력 다중화기를 통해 상기 제2 마스터/슬레이브 디바이스로 전송하는 단계;c) the first master / slave device sending data stored in the request output buffer to the second master / slave device through the control output multiplexer and the address / data output multiplexer when the input enable signal is received; ; d) 상기 제2 마스터/슬레이브 다바이스는 상기 제1 마스터/슬레이브 디바이스의 출력 데이터를 요청 입력 버퍼를 통해 수신하는 단계;d) the second master / slave device receiving output data of the first master / slave device through a request input buffer; e) 상기 제2 마스터/슬레이브 디바이스는 수신된 출력 데이터에 대응하는 응답 데이터를 생성한 후 응답 출력 버퍼에 임시 저장하는 단계; 및e) generating, by the second master / slave device, response data corresponding to the received output data and temporarily storing the response data in a response output buffer; And f) 상기 제2 마스터/슬레이브 디바이스는 상기 제1 마스터/슬레이브 디바이스로부터 입력 가능 신호를 수신할 때에 상기 응답 출력 버퍼에 저장된 응답 데이터를 상기 제1 마스터/슬레이브 디바이스로 전송하는 단계f) when the second master / slave device receives an input enable signal from the first master / slave device, transmitting response data stored in the response output buffer to the first master / slave device; 를 포함하는 인터페이스 방법.Interface method comprising a. 제8항에 있어서The method of claim 8 상기 b) 단계에서 상기 제1 및 제2 마스터/슬레이브 디바이스는 다른 마스터/슬레이브 디바이스가 자신에 접속할 수 있는 상태이면 자신의 사용 가능 여부를 알리는 상기 입력 가능 신호를 상기 컨트롤 출력 다중화기를 통해 다른 모든 마스터/슬레이브 디바이스로 전송하는 것을 인터페이스 방법.In step b), if the first and second master / slave devices are in a state where other master / slave devices can access the device, the first and second master / slave devices may send all other masters through the control output multiplexer to the input enable signal indicating whether they are available. Interface method for transmitting to / slave device. 제8항에 있어서,The method of claim 8, 모든 마스터/슬레이브 디바이스는 다른 마스터/슬레이브 디바이스로 데이터를 전송할 때에 데이터 쓰기 스트로브 신호를 포함시켜 전송하며, 상기 신호에는 명령어 종류, 명령어/데이터 특성, 식별번호, 데이터 길이 정보를 포함하는 인터페이스 방법.Every master / slave device includes a data write strobe signal when transmitting data to another master / slave device, and includes the command type, command / data characteristics, identification number, and data length information. 제10항에 있어서,The method of claim 10, 상기 데이터 스트로보 신호를 수신한 마스터/슬레이브 디바이스는 저장된 데이터 길이와 상기 신호에 포함된 데이터 길이를 비교하여 데이터 오류 여부를 검사하는 단계를 더 포함하는 것을 특징으로 하는 인터페이스 방법.The master / slave device receiving the data strobe signal further comprises comparing the stored data length with the data length included in the signal and checking whether there is a data error. 제10항에 있어서,The method of claim 10, 상기 신호에 CRC 검사 정보가 포함된 경우에, 상기 마스터/슬레이브 디바이스는 CRC 검사를 수행하는 단계를 더 포함하는 인터페이스 방법.If the signal includes CRC check information, the master / slave device further comprises performing a CRC check.
KR1020030098205A 2003-12-27 2003-12-27 interface device between master/slave devices and method thereof KR100737904B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030098205A KR100737904B1 (en) 2003-12-27 2003-12-27 interface device between master/slave devices and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030098205A KR100737904B1 (en) 2003-12-27 2003-12-27 interface device between master/slave devices and method thereof

Publications (2)

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

Family

ID=37258063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030098205A KR100737904B1 (en) 2003-12-27 2003-12-27 interface device between master/slave devices and method thereof

Country Status (1)

Country Link
KR (1) KR100737904B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736487B1 (en) * 2005-09-30 2007-07-06 엘지전자 주식회사 Method for changing slave device address in home network system
KR100885993B1 (en) * 2007-07-16 2009-03-03 박금수 Apparatus of controlling lamp for serving both as master and slave, and method thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0983554B1 (en) * 1998-02-25 2009-10-07 Nxp B.V. Interfacing peripheral devices via a slave group interface device to a bus
KR20000026338A (en) * 1998-10-20 2000-05-15 윤종용 Method for controlling bus of micro controller having arm cpu
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 (en) * 2001-12-28 2003-07-04 한국전자통신연구원 Bus architecture for system on chip with multi-processors and multi-peripherals

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100736487B1 (en) * 2005-09-30 2007-07-06 엘지전자 주식회사 Method for changing slave device address in home network system
KR100885993B1 (en) * 2007-07-16 2009-03-03 박금수 Apparatus of controlling lamp for serving both as master and slave, and method thereof

Also Published As

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

Similar Documents

Publication Publication Date Title
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
JP2002342299A (en) Cluster system, computer and program
KR101050019B1 (en) Memory interface for systems with multiple processors and one memory system
JP4198376B2 (en) Bus system and information processing system including bus system
WO2011065354A1 (en) Bus monitor circuit and bus monitor method
KR100480605B1 (en) Method of controlling transmitting buffer and receiving buffer of network controller, and the network controller
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
JP4902640B2 (en) Integrated circuit and integrated circuit 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
JPH1055331A (en) Programmable read and write access signal and its method
US7130946B2 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
JP2005293596A (en) Arbitration of data request
KR100737904B1 (en) interface device between master/slave devices and method thereof
US5371863A (en) High speed processor bus extension
KR100266963B1 (en) Method and apparatus for reducing latency rime on an interface by overlapping transmitted packets
JPH09153009A (en) Arbitration method for hierarchical constitution bus
KR100487218B1 (en) Apparatus and method for interfacing an on-chip bus
JP3852882B2 (en) Master-slave device
JP4249741B2 (en) Bus system and information processing system including bus system
KR100190184B1 (en) Transmitting circuit for data with serial bus line

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