KR20050076527A - Interface apparatus using multi-input/output apparatus - Google Patents

Interface apparatus using multi-input/output apparatus Download PDF

Info

Publication number
KR20050076527A
KR20050076527A KR1020040004533A KR20040004533A KR20050076527A KR 20050076527 A KR20050076527 A KR 20050076527A KR 1020040004533 A KR1020040004533 A KR 1020040004533A KR 20040004533 A KR20040004533 A KR 20040004533A KR 20050076527 A KR20050076527 A KR 20050076527A
Authority
KR
South Korea
Prior art keywords
data
fifo
bit
bits
data transmission
Prior art date
Application number
KR1020040004533A
Other languages
Korean (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 KR1020040004533A priority Critical patent/KR20050076527A/en
Publication of KR20050076527A publication Critical patent/KR20050076527A/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60NSEATS SPECIALLY ADAPTED FOR VEHICLES; VEHICLE PASSENGER ACCOMMODATION NOT OTHERWISE PROVIDED FOR
    • B60N3/00Arrangements or adaptations of other passenger fittings, not otherwise provided for
    • B60N3/001Arrangements or adaptations of other passenger fittings, not otherwise provided for of tables or trays
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47BTABLES; DESKS; OFFICE FURNITURE; CABINETS; DRAWERS; GENERAL DETAILS OF FURNITURE
    • A47B13/00Details of tables or desks
    • A47B13/02Underframes

Landscapes

  • Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 병렬 또는 직렬 입출력 장치를 구비한 디바이스가 다중 입출력장치를 통해 인터페이스하는 기술에 관한 것이다. 이러한 본 발명은, 동작 속도, 데이터 전송 폭 및 데이터 전송방식이 상이한 외부장치인 중앙처리장치(1A), I2C(1B), UART(1C)와; 상기 외부 장치(1A-1C)가 서로 데이터를 주고 받을 수 있도록 해 주는 여러 종류의 디바이스 프로토콜(2A-2C)과; 상기 디바이스 프로토콜(2A-2C)이 직접 연결되도록 하거나, FIFO(6)를 통해 연결되도록 하는 레지스터 인터페이스(3)와; 8bit의 데이터 전송 폭을 가지는 레지스터들의 집합 모듈인 레지스터 파일부(4)와; 8bit짜리 데이터 4개를 모아서 32bit 외부 장치와 데이터를 송수신할 수 있도록 제어하는 FIFO 제어부(5)와; 고속장치와 저속 장치의 원할한 데이터 송수신을 보장하기 위한 FIFO(6)와; 상기 FIFO 제어부(5)와 메모리(9) 간에 데이터를 주고 받을 수 있도록 해 주는 디바이스 프로토콜(7)과; 120MHz로 고속 동작함과 아울러 32bit의 데이터 버스폭을 가지며, 여러 블록들에 의해 공유되어 사용되는 메모리(9)에 의해 달성된다.The present invention relates to a technology in which a device having a parallel or serial input / output device interfaces through multiple input / output devices. The present invention comprises a central processing unit (1A), I2C (1B), UART (1C) which is an external device having a different operation speed, data transmission width and data transmission method; Various types of device protocols 2A-2C for allowing the external devices 1A-1C to exchange data with each other; A register interface (3) which allows the device protocols (2A-2C) to be connected directly or via a FIFO (6); A register file section 4, which is a collection module of registers having a data transfer width of 8 bits; A FIFO control unit 5 which collects four 8-bit data and controls data transmission / reception with a 32-bit external device; A FIFO 6 for ensuring smooth data transmission and reception of the high speed device and the low speed device; A device protocol (7) for transmitting and receiving data between the FIFO control unit (5) and the memory (9); It operates at high speed at 120 MHz and has a data bus width of 32 bits, achieved by a memory 9 shared and used by several blocks.

Description

다중 입출력 장치를 이용한 인터페이스 장치{INTERFACE APPARATUS USING MULTI-INPUT/OUTPUT APPARATUS}Interface device using multiple input / output devices {INTERFACE APPARATUS USING MULTI-INPUT / OUTPUT APPARATUS}

본 발명은 병렬 또는 직렬 입출력 장치를 구비한 디바이스가 다중 입출력장치를 통해 인터페이스하는 기술에 관한 것으로, 특히 각 디바이스간의 동작 속도와 데이터 전송 폭 등이 다른 경우 레지스터와 선입선출기(FIFO)를 포함하는 다중 입출력장치를 통해 원활하게 인터페이스할 수 있도록 한 다중 입출력 장치를 이용한 인터페이스 장치에 관한 것이다.The present invention relates to a technology in which a device having a parallel or serial input / output device interfaces through multiple input / output devices, and particularly includes a register and a first-in first-out (FIFO) device when the operation speed and data transmission width between the devices are different. The present invention relates to an interface device using multiple input / output devices for smoothly interfacing with multiple input / output devices.

일반적으로, 여러 종류의 장치들이 서로 인터페이스할 경우 새로운 장치들이 추가될 때마다, 기존의 모든 장치들과 서로 데이터 전송이 이루어 지게 하기 위해서는 각 장치들마다 각기 인터페이스 회로를 구비하여야 한다. In general, when several types of devices interface with each other, each time a new device is added, each device must be provided with an interface circuit in order to transmit data to all existing devices.

이러한 배경에 의해 간단한 방법으로 주변 장치의 추가가 가능하며, 서로 간의 동작 속도와 데이터 전송 폭 등이 다른 점을 보완해 줄 수 있는 구성이 요망되고 있다.With this background, it is possible to add peripheral devices in a simple manner, and there is a demand for a configuration that can compensate for differences in operation speed and data transmission width.

이와 같이 종래의 데이터 인터페이스 장치에 있어서는 여러 종류의 장치들이 서로 인터페이스할 경우 새로운 장치들이 추가될 때마다, 기존의 모든 장치들과 서로 데이터 전송이 이루어 지게 하기 위해 각 장치들마다 각기 인터페이스 회로를 구비하여야 하므로 그에 따른 하드웨어 비용이 추가되는 문제점이 있었다.As described above, in the conventional data interface device, when several types of devices interface with each other, each device must be provided with an interface circuit in order to transmit data to all existing devices. Therefore, there was a problem in that hardware costs are added accordingly.

따라서, 본 발명의 제1목적은 여러 개의 병렬 및 직렬 입출력 장치들을 구비한 회로가 효율적으로 인터페이스하도록 하는데 있다.Accordingly, a first object of the present invention is to efficiently interface a circuit having several parallel and serial input / output devices.

본 발명의 제2목적은 서로 다른 데이터 전송 버스 폭을 가지는 장치들 간에 데이터를 인터페이스할 때 보다 원활하게 인터페이스하도록 하는데 있다. A second object of the present invention is to interface more smoothly when interfacing data between devices having different data transmission bus widths.

본 발명의 제3목적은 동작 클럭 주파수가 상이한 장치들 간에 데이터를 인터페이스할 때 보다 원활하게 인터페이스하도록 하는데 있다. A third object of the present invention is to interface more smoothly when interfacing data between devices having different operating clock frequencies.

본 발명의 제4목적은 FIFO 구조를 사용함으로써 저속의 장치와 고속의 장치가 통신할 때 고속의 장치가 대기 모드에 빠지지 않고 원활한 데이터 전송이 이루어지도록 하는데 있다.A fourth object of the present invention is to use a FIFO structure to allow a high speed device to smoothly transmit data without falling into the standby mode when the low speed device and the high speed device communicate.

도 1은 본 발명에 의한 다중 입출력 장치를 이용한 인터페이스 장치의 일실시 구현예를 보인 블록도로서 이에 도시한 바와 같이, 8bit의 데이터 버스폭을 갖는 병렬 입출력 장치로서, 24MHz의 클럭 주파수에 동기하여 동작하는 중앙처리장치(1A)와; I2C 통신규약에 부합되는 직렬 입,출력 장치로서, 100-400Kbps 모드로 동작하는 I2C(1B)와; 직렬 통신장치로서, 9600 bps로 동작하는 범용 비동기화 송수신기(UART:Universal Asynchronous Receiver/Transmitter)(1C)와; 상기 각 외부 장치(1A-1C)들 각각의 송수신 규약에 부합되는 블록으로서, 레지스터 인터페이스(3)와 그 외부 장치(1A-1C)가 서로 데이터를 주고 받을 수 있도록 해 주는 여러 종류의 디바이스 프로토콜(Device protocol)(2A-2C)과; 상기 여러 종류의 디바이스 프로토콜(2A-2C)들이 직접 연결되도록 하거나, FIFO(6)를 통해 연결되도록 하는 레지스터 인터페이스(3)와; 8bit 데이터 전송 폭을 가지는 레지스터들의 집합 모듈인 레지스터 파일부(4)와; 8bit짜리 데이터 4개를 모아서 32bit 외부 장치와 데이터를 송수신할 수 있도록 제어하는 FIFO 제어부(5)와; 선입 선출(Fist-In First-Out) 회로로서 고속장치와 저속 장치의 원할한 데이터 송수신을 보장하기 위하여 사용되며, 내부적으로 어드레스 FIFO와 데이터 FIFO로 분리되어 있는 FIFO(FIFO: Fist-In First-Out)(6)와; 상기 FIFO 제어부(5)와 메모리(9) 간에 데이터를 주고 받을 수 있도록 해 주는 디바이스 프로토콜(7)과; 상기 각 외부 장치(1A-1C)로부터 레지스터에 써 넣어진 값을 보고 특정 동작을 취하거나 레지스터들의 값을 적절히 바꾸어주는 기능을 수행하는 기타 블록부에 해당되는 레지스터 관련부(8)와; 120MHz로 고속 동작함과 아울러 32bit의 데이터 버스폭을 가지며, 여러 블록들에 의해 공유되어 사용되는 메모리(9)로 구성한 것으로, 이와 같이 구성한 본 발명의 작용을 첨부한 도 2를 참조하여 상세히 설명하면 다음과 같다.1 is a block diagram showing an embodiment of an interface device using multiple input / output devices according to the present invention. As shown in FIG. 1, a parallel input / output device having an 8-bit data bus width is operated in synchronization with a clock frequency of 24 MHz. A central processing unit 1A; A serial I / O device conforming to I2C communication protocol, comprising: I2C (1B) operating in 100-400 Kbps mode; A serial communication apparatus, comprising: a universal asynchronous receiver (UART) 1C operating at 9600 bps; As a block conforming to the transmission / reception protocol of each of the external devices 1A-1C, various types of device protocols that allow the register interface 3 and the external devices 1A-1C to exchange data with each other ( Device protocol) 2A-2C; A register interface (3) for allowing the various types of device protocols (2A-2C) to be connected directly or through a FIFO (6); A register file section 4, which is a collection module of registers having an 8-bit data transfer width; A FIFO control unit 5 which collects four 8-bit data and controls data transmission / reception with a 32-bit external device; Fist-In First-Out circuit is used to ensure smooth data transmission and reception of high speed devices and low speed devices, and is internally separated into address FIFO and data FIFO (FIFO: Fist-In First-Out). 6); A device protocol (7) for transmitting and receiving data between the FIFO control unit (5) and the memory (9); A register association section (8) corresponding to other block sections for viewing a value written in a register from each external device (1A-1C) and performing a specific operation or appropriately changing the values of the registers; A high speed operation at 120 MHz and a 32-bit data bus width, which are configured as a memory 9 shared and used by various blocks, will be described in detail with reference to FIG. 2 attached to the operation of the present invention. As follows.

특정의 데이터 버스폭과 동작속도를 갖고, 상이한 데이터 전송방식(직렬/병렬 전송방식)을 갖는 외부장치 예를 들어, 중앙처리장치(1A), I2C(1B) 및 UART(1C)가 다중 입출력장치(10)의 레지스터 파일부(4)와 FIFO(6)를 통해 효율적으로 인터페이스할 수 있게 되는데, 먼저 도 1 각부의 작용을 설명하면 다음과 같다.An external device having a specific data bus width and operation speed and having a different data transmission method (serial / parallel transmission method), for example, the central processing unit 1A, I2C 1B and UART 1C are multiple input / output devices. Through the register file unit 4 and the FIFO 6 of 10 can be efficiently interfaced. First, the operation of each part of FIG.

먼저, 상기 외부장치 중에서 상기 중앙처리장치(1A)는 8bit 입력 및 출력을 가지는 병렬 입,출력 장치로서, 24MHz의 클럭주파수에 동기하여 동작한다. 또한, 상기 I2C(1B)는 I2C 통신규약에 부합되는 직렬 입,출력 장치로서, 100-400Kbps 모드로 동작한다. 또한, UART(1C)는 직렬 통신장치로서, 9600 bps로 동작한다. 그리고, 메모리(9)는 120MHz의 클럭주파수에 동기하여 고속으로 동작하고, 32bit의 데이터 버스폭을 가지며, 여러 블록들에 의해 공유되어 사용된다. First, the central processing unit 1A among the external devices is a parallel input and output device having an 8-bit input and an output, and operates in synchronization with a clock frequency of 24 MHz. In addition, the I2C (1B) is a serial input and output device conforming to the I2C communication protocol, and operates in the 100-400Kbps mode. In addition, the UART 1C is a serial communication device and operates at 9600 bps. The memory 9 operates at high speed in synchronization with a clock frequency of 120 MHz, has a data bus width of 32 bits, and is shared and used by several blocks.

이 밖에 다른 외부 장치들은 얼마든지 추가할 수 있으며, 전송 데이터의 bit수도 자유롭게 변경할 수 있다. Other external devices can be added at any time, and the number of bits of transmission data can be freely changed.

상기 각 외부장치(1A),(1B),(1C)가 각각의 디바이스 프로토콜(2A),(2B),(2C)을 통한 후 다중 입출력 장치(10) 내의 레지스터 인터페이스(3)를 통해 직접 연결되거나 FIFO(6)를 통하여 연결되는데, 이때 그 레지스터 인터페이스(3)는 각 외부장치(1A),(1B),(1C)의 데이터값을 하위 블록인 레지스터 파일부(4)에 쓰고 읽는 역할을 한다.Each of the external devices 1A, 1B, and 1C is connected directly through the register interface 3 in the multiple input / output device 10 after the respective device protocols 2A, 2B, and 2C. Or through a FIFO (6), wherein the register interface (3) writes and reads data values of the external devices (1A), (1B), and (1C) to the register file section 4, which is a lower block. do.

상기 레지스터 파일부(4)는 8bit 데이터 전송 폭을 가지는 레지스터들의 집합으로서, 이의 데이터 전송폭은 시스템에 따라 변경 가능하다.The register file section 4 is a set of registers having an 8-bit data transfer width, and the data transfer width thereof can be changed according to a system.

디바이스 프로토콜(2A-2C)은 상기 외부장치(1A),(1B),(1C)들 각각의 송수신 규약에 부합되는 블록으로서, 상기 레지스터 인터페이스(3)와 그 외부장치(1A),(1B),(1C)가 서로 데이터를 주고 받을 수 있도록 해 준다.The device protocols 2A-2C are blocks that conform to the transmission / reception protocols of the external devices 1A, 1B, and 1C, respectively, and the register interface 3 and its external devices 1A, 1B. , (1C) allows each other to send and receive data.

8bit 단위의 레지스터의 값은 32bit의 데이터 전송폭을 가지는 외부 장치와 데이터를 송수신하기에 부적절하다. 이를 해결하기 위해 FIFO 제어부(5)는 8bit짜리 데이터 4개를 모아서 32bit 외부 장치와 데이터를 송수신할 수 있도록 제어하는 역할을 수행한다. 이때, 데이터 bit 수는 변경이 가능하며, 그 FIFO 제어부(5)는 쓰거나 읽을 데이터 들을 모았다가 한꺼번에 빠른 장치에 읽고 쓰기 위한 제어를 수행한다.The 8-bit register value is not suitable for sending and receiving data with an external device having a data transfer width of 32 bits. In order to solve this problem, the FIFO control unit 5 collects four 8-bit data to control transmission and reception of data with a 32-bit external device. At this time, the number of data bits can be changed, and the FIFO control unit 5 collects data to be written or read, and performs control for reading and writing to a fast device at once.

FIFO(6)는 선입선출 회로로서 고속장치와 저속 장치의 원할한 데이터 송수신을 보장하기 위하여 사용되며, 이는 내부적으로 어드레스 FIFO와 데이터 FIFO로 분리되어 있다.The FIFO 6 is a first-in, first-out circuit used to ensure smooth data transmission and reception of the high speed device and the low speed device, which are internally separated into an address FIFO and a data FIFO.

그리고, 레지스터 관련부(8)는 상기 외부 장치(1A),(1B),(1C)로부터 레지스터 파일부(4)에 써 넣어진 값을 보고 특정 동작을 취하거나 레지스터들의 값을 적절히 바꾸는 기능을 수행한다. The register association section 8 reads the values written in the register file section 4 from the external devices 1A, 1B, and 1C and performs a specific operation or appropriately changes the values of the registers. Perform.

입출력 방식과, 동작 속도 및 데이터 전송폭 등이 전혀 상이한 상기 각 외부장치(1A),(1B),(1C)들은 다중 입출력장치(10) 및 메모리(9)를 통해 함께 연결되어 서로 데이터를 주고 받는다. 이를 위해 상기 각 외부장치(1A),(1B),(1C)들이 레지스터 파일부(4) 내에 있는 어드레스 레지스터와 데이터 레지스터에 특정 값을 쓰고 읽는 방식으로 데이터를 송수신하게 된다.The external devices 1A, 1B, and 1C, which are completely different from the input / output method, operation speed, data transmission width, and the like, are connected together through the multiple input / output device 10 and the memory 9 to give data to each other. Receive. To this end, each of the external devices 1A, 1B, and 1C transmits and receives data by writing and reading a specific value into an address register and a data register in the register file unit 4.

동작 속도가 빠른 메모리(9)는 여러 블록 들에 의해 공유되어 사용될 수 있다. 이럴 경우에 메모리(9)의 동작 속도가 다른 주변 장치의 동작속도보다 빠르면 고속동작을 하는 메모리(9)가 오랜 시간 느린 장치에 의해 독점되는 현상이 발생할 수 있다. 하지만, 내부에 다단계의 FIFO(6)를 사용함으로써 이를 방지할 수 있다.The fast operating memory 9 can be shared and used by several blocks. In this case, when the operating speed of the memory 9 is faster than that of other peripheral devices, a phenomenon in which the high speed memory 9 is monopolized by a slow device for a long time may occur. However, this can be prevented by using a multi-level FIFO 6 inside.

도 2는 상기 레지스터 파일부(4)를 통해 FIFO(6)에 데이터를 써 넣는 경우의 처리과정을 나타낸 것이다. 여기서, 레지스터 파일부(4)의 각 레지스터는 8bit의 데이터버스를 사용한다. 또한 상기 메모리(9)는 16bit의 어드레스로 32bit의 데이터를 주고 받는다. FIG. 2 shows a processing procedure in the case of writing data to the FIFO 6 through the register file section 4. Here, each register of the register file section 4 uses an 8-bit data bus. In addition, the memory 9 transmits and receives 32 bits of data at an address of 16 bits.

상기 외부장치(1A),(1B),(1C) 중 느린 동작속도를 가지는 임의의 외부장치로부터 빠른 동작속도를 가지는 메모리(9)에 데이터를 라이트(write)하는 동작 순서는 다음과 같다.The operation sequence for writing data from the external device 1A, 1B, or 1C having a slow operation speed to the memory 9 having a high operation speed is as follows.

상기 외부장치(1A),(1B),(1C) 중 임의의 외부장치는 레지스터 파일부(4)에서 16bit 어드레스의 상위 바이트 정보를 담고 있는 두 개의 어드레스 레지스터(ADDR_HI_REG),(ADDR_LO_REG)에 액세스하고자 하는 메모리(9)의 어드레스를 써 넣는다. Any external device among the external devices 1A, 1B, and 1C attempts to access two address registers ADDR_HI_REG and ADDR_LO_REG that contain high-order byte information of the 16-bit address in the register file unit 4. The address of the memory 9 to be written is written.

이어서, 데이터 레지스터(DATA_REG)에 전송하고자 하는 데이터의 최상위 8bit 데이터를 써 넣는다. 맨 처음에 라이트되는 8bit의 첫 번째 데이터는 레지스터 인터페이스(3)로부터 데이터가 라이트되었음을 알리는 제어신호를 입력받는 순간 데이터 버퍼(6B)의 좌측 영역으로 이동된다. 이어서, 다음에 상기 데이터 레지스터(DATA_REG)에 써 넣어진 두 번째 데이터가 상기 데이터 버퍼(6B)의 중간 영역으로 이동된다. 계속해서 다음에 상기 데이터 레지스터(DATA_REG)에 써 넣어진 세 번째 데이터가 상기 데이터 버퍼(6B)의 오른쪽 영역으로 이동된다. 마지막으로, 상기 데이터 레지스터(DATA_REG)에 네 번째 데이터가 써 넣어진다. Subsequently, the most significant 8 bits of data to be transferred are written into the data register DATA_REG. The first 8-bit data to be written first is moved to the left area of the data buffer 6B at the moment of receiving a control signal from the register interface 3 indicating that the data has been written. Subsequently, the second data written in the data register DATA_REG is moved to the middle area of the data buffer 6B. Subsequently, the third data written in the data register DATA_REG is moved to the right area of the data buffer 6B. Finally, fourth data is written to the data register DATA_REG.

이렇게 하여 총 32bit의 데이터가 써 넣어지면, 상기 데이터 버퍼(6B)로 옮겨진 27bit의 데이터와 상기 데이터 레지스터(DATA_REG)에 기록된 네 번째의 8bit 데이터가 동시에 데이터 FIFO(6C)의 제1영역(FIFO 0) 내의 해당 위치로 이동된다. 이와 동시에, 상기 어드레스 레지스터(ADDR_HI_REG),(ADDR_LO_REG)에 기록된 어드레스가 어드레스 FIFO(6A)의 제1영역(FIFO 0)으로 이동된다. When 32 bits of data are written in this way, the 27-bit data transferred to the data buffer 6B and the fourth 8-bit data recorded in the data register DATA_REG are simultaneously the first area FIFO of the data FIFO 6C. It is moved to the corresponding position in 0). At the same time, the addresses recorded in the address registers ADDR_HI_REG and ADDR_LO_REG are moved to the first area FIFO 0 of the address FIFO 6A.

만약, 상기 FIFO(6)가 사용되지 않는 경우에는 상기 값들이 FIFO(6)에 저장되지 않고 곧바로 메모리(9)에 전송된다.If the FIFO 6 is not used, the values are not stored in the FIFO 6 but are transferred directly to the memory 9.

상기 어드레스 FIFO(6A)와 데이터 FIFO(6C)에 기록된 값은 상기 FIFO 제어부(5)의 제어에 의해 메모리(9)에 전달된다. The values recorded in the address FIFO 6A and the data FIFO 6C are transferred to the memory 9 under the control of the FIFO control section 5.

그런데, 상기 메모리(9)를 제3의 장치가 사용중이어서 그 메모리(9)에 값을 써 넣을 수 없을 경우에는 그 값을 FIFO(6)에 차곡차곡 기록해 둔다. 이후, 상기 메모리(9)에 값을 써 넣을 수 있게 되면, 상기 FIFO(6)에 차곡차곡 기록해 둔 값들을 한꺼번에 그 메모리(9)에 전달한다.By the way, when the third device is in use and the value cannot be written in the memory 9, the value is recorded in the FIFO 6 one after another. After that, when a value can be written in the memory 9, the values recorded in the FIFO 6 are transferred to the memory 9 at once.

상기 외부장치(1A),(1B),(1C) 중 느린 동작 속도를 가지는 외부장치가 상기 빠른 동작속도를 가지는 메모리(9)로부터 값을 읽어오는 경우에는 라이트용으로 사용하였던 상기 FIFO(6)를 이번에는 리드(read)용으로 바꾸어 사용한다. The FIFO 6 used for writing when the external device having a slower operating speed among the external devices 1A, 1B, and 1C reads a value from the memory 9 having the faster operating speed. Is used for read this time.

일반적으로, 상기 메모리(9)의 리드 동작시에는 상기 FIFO(6)를 사용하지 않는 경우가 많다. 아래는 이와 같이 FIFO(6)를 거치지 않고 메모리(9)로부터 값을 리드하는 과정을 나타낸 것이다.In general, the FIFO 6 is often not used during the read operation of the memory 9. The following shows a process of reading a value from the memory 9 without going through the FIFO 6 as described above.

상기 외부장치(1A),(1B),(1C) 중 임의의 외부장치가 생성한 어드레스에 해당하는 32bit 데이터 중에서 31∼24bit는 상기 데이터 레지스터(DATA_REG)에, 23∼0bit는 데이터 버퍼(6B)에 옮긴다. Of the 32-bit data corresponding to an address generated by any external device among the external devices 1A, 1B, and 1C, 31 to 24 bits are in the data register DATA_REG, and 23 to 0 bits are the data buffer 6B. Move on.

이후 한 바이트가 읽혀질 때마다 상기 데이터버퍼(6B)에 저장되어 있는 데이터를 23∼16bit, 15∼8bit, 7∼0bit의 순서로 데이터 레지스터(DATA_REG)로 이동시켜 외부 장치가 읽어갈 수 있도록 한다. Each time a byte is read, the data stored in the data buffer 6B is moved to the data register DATA_REG in the order of 23 to 16 bits, 15 to 8 bits, and 7 to 0 bits so that the external device can read it.

참고로, 상기 설명에서의 어드레스 버스, 데이터 버스의 폭은 다양한 종류의 외부 장치들을 대상으로 인터페이스하기 위하여 조절될 수 있다. For reference, the width of the address bus and data bus in the above description may be adjusted to interface with various types of external devices.

이상에서 상세히 설명한 바와 같이 본 발명은 직렬 및 병렬 인터페이스를 가지는 장치들이 서로 상이한 데이터 전송 버스폭과 동작 주파수를 가질 경우, 다중 입출력 장치 및 메모리를 통해 효율적으로 인터페이스할 수 있는 효과가 있다. As described in detail above, when the devices having serial and parallel interfaces have different data transmission bus widths and operating frequencies, the present invention can efficiently interface with multiple input / output devices and memories.

또한, 다중 입출력 장치에 FIFO 구조를 구비함으로써, 서로 다른 데이터 전송 버스폭과 동작 속도를 가지는 저속장치와 고속장치간에도 원활한 데이터 전송이 가능하게 되는 효과가 있다.In addition, since the FIFO structure is provided in the multi-input / output device, the data can be smoothly transmitted between the low speed device and the high speed device having different data transfer bus widths and operating speeds.

도 1은 본 발명에 의한 다중 입출력 장치를 이용한 인터페이스 장치의 블록도.1 is a block diagram of an interface device using multiple input / output devices according to the present invention.

도 2는 도 1에서 FIFO의 상세 블록도.2 is a detailed block diagram of the FIFO in FIG.

***도면의 주요 부분에 대한 부호의 설명*** *** Description of the symbols for the main parts of the drawings ***

1A : 중앙처리장치 1B : I2C1A: Central Processing Unit 1B: I2C

1C : UART 2A-2C,7 : 디바이스 프로토콜1C: UART 2A-2C, 7: Device Protocol

3 : 레지스터 인터페이스 4 : 레지스터 파일부3: register interface 4: register file section

5 : FIFO 제어부 6 : FIFO5: FIFO control unit 6: FIFO

7 : 디바이스 프로토콜 8 : 레지스터 관련부7: Device Protocol 8: Register Related Section

9 : 메모리9: memory

Claims (4)

동작 속도, 데이터 전송 폭 및 데이터 전송방식이 상이한 외부장치인 중앙처리장치(1A), I2C(1B), UART(1C)와; 상기 외부 장치(1A-1C)가 서로 데이터를 주고 받을 수 있도록 해 주는 여러 종류의 디바이스 프로토콜(2A-2C)과; 상기 디바이스 프로토콜(2A-2C)이 직접 연결되도록 하거나, FIFO(6)를 통해 연결되도록 하는 레지스터 인터페이스(3)와; 8bit의 데이터 전송 폭을 가지는 레지스터들의 집합 모듈인 레지스터 파일부(4)와; 8bit짜리 데이터 4개를 모아서 32bit 외부 장치와 데이터를 송수신할 수 있도록 제어하는 FIFO 제어부(5)와; 고속장치와 저속 장치의 원할한 데이터 송수신을 보장하기 위한 FIFO(6)와; 상기 FIFO 제어부(5)와 메모리(9) 간에 데이터를 주고 받을 수 있도록 해 주는 디바이스 프로토콜(7)과; 120MHz로 고속 동작함과 아울러 32bit의 데이터 버스폭을 가지며, 여러 블록들에 의해 공유되어 사용되는 메모리(9)로 구성한 것을 특징으로 하는 다중 입출력 장치를 이용한 인터페이스 장치.A central processing unit (1A), I2C (1B), and UART (1C), which are external devices having different operating speeds, data transmission widths, and data transmission methods; Various types of device protocols 2A-2C for allowing the external devices 1A-1C to exchange data with each other; A register interface (3) which allows the device protocols (2A-2C) to be connected directly or via a FIFO (6); A register file section 4, which is a collection module of registers having a data transfer width of 8 bits; A FIFO control unit 5 which collects four 8-bit data and controls data transmission / reception with a 32-bit external device; A FIFO 6 for ensuring smooth data transmission and reception of the high speed device and the low speed device; A device protocol (7) for transmitting and receiving data between the FIFO control unit (5) and the memory (9); An interface device using multiple input / output devices, characterized by high-speed operation at 120 MHz and a data bus width of 32 bits, comprising memory (9) shared and used by multiple blocks. 제1항에 있어서, 중앙처리장치(1A)는 8bit 입력 및 출력을 가지는 병렬 입,출력 장치로서 24MHz의 클럭주파수에 동기하여 동작하고, I2C(1B)는 I2C 통신규약에 부합되는 직렬 입,출력 장치로서 100-400Kbps 모드로 동작하며, UART(1C)는 직렬 통신장치로서 9600 bps로 동작하는 것을 특징으로 하는 다중 입출력 장치를 이용한 인터페이스 장치.2. The CPU 1A is a parallel input and output device having an 8-bit input and output, and operates in synchronization with a clock frequency of 24 MHz. The I2C (1B) is a serial input and output that conforms to the I2C communication protocol. The device operates in 100-400 Kbps mode, the UART (1C) is an interface device using a multiple input and output devices, characterized in that operating at 9600 bps as a serial communication device. 제1항에 있어서, 레지스터 파일부(4)는 8bit 단위의 어드레스 전송을 위한 두 개의 어드레스 레지스터(ADDR_HI_REG),(ADDR_LO_REG)와; 8bit 단위의 데이터 전송을 위한 데이터 레지스터(DATA_REG)를 포함하여 구성된 특징으로 하는 다중 입출력 장치를 이용한 인터페이스 장치.2. The register file unit (4) according to claim 1, further comprising: two address registers (ADDR_HI_REG) and (ADDR_LO_REG) for address transmission in units of 8 bits; Interface device using multiple input and output devices characterized by including a data register (DATA_REG) for data transmission in 8-bit units. 제1항에 있어서, FIFO(6)는 상기 레지스터 파일부(4)에서 8bit씩 분리된 형태로 동시에 전송되는 16bit의 어드레스를 선입선출방식으로 기록하기 위한 어드레스 FIFO(6A)와; 상기 레지스터 파일부(4)에서 8bit씩 4차례에 걸쳐 전송되는 32bit의 데이터를 선입선출방식으로 동시에 기록하기 위한 어드레스 데이터 버퍼(6B) 및 데이터 FIFO(6C)로 구성된 것을 특징으로 하는 다중 입출력 장치를 이용한 인터페이스 장치.2. The apparatus according to claim 1, wherein the FIFO (6) comprises: an address FIFO (6A) for recording, on a first-in, first-out basis, 16-bit addresses transmitted simultaneously in the 8-bit separated form in the register file section 4; A multi-input / output device comprising: an address data buffer 6B and a data FIFO 6C for simultaneously writing, in a first-in-first-out manner, 32 bits of data transmitted four times by eight bits in the register file unit 4; Interface device used.
KR1020040004533A 2004-01-20 2004-01-20 Interface apparatus using multi-input/output apparatus KR20050076527A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040004533A KR20050076527A (en) 2004-01-20 2004-01-20 Interface apparatus using multi-input/output apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040004533A KR20050076527A (en) 2004-01-20 2004-01-20 Interface apparatus using multi-input/output apparatus

Publications (1)

Publication Number Publication Date
KR20050076527A true KR20050076527A (en) 2005-07-26

Family

ID=37264423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040004533A KR20050076527A (en) 2004-01-20 2004-01-20 Interface apparatus using multi-input/output apparatus

Country Status (1)

Country Link
KR (1) KR20050076527A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228520A (en) * 2018-01-10 2018-06-29 郑州云海信息技术有限公司 A kind of rapid transmission method of I2C controllers towards BMC

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228520A (en) * 2018-01-10 2018-06-29 郑州云海信息技术有限公司 A kind of rapid transmission method of I2C controllers towards BMC

Similar Documents

Publication Publication Date Title
US20180196764A1 (en) Computing module with serial data connectivity
US7191262B2 (en) High-throughput UART interfaces
CA2445711C (en) Modular computer system
US5898889A (en) Qualified burst cache for transfer of data between disparate clock domains
KR100476895B1 (en) Interface device having variable data transfer mode and operating method thereof
US11169947B2 (en) Data transmission system capable of transmitting a great amount of data
KR20050076527A (en) Interface apparatus using multi-input/output apparatus
US6134609A (en) Method for using computer system memory as a modem data buffer by transferring modem I/O data directly to system controller and transferring corresponding system controller data directly to main memory
KR20050064568A (en) On-chip serialized peripheral bus system and operating method thereof
KR200309903Y1 (en) Universal asynchronous transceiver
KR20070081981A (en) Interface method and apparatus in cpuless system
US6078973A (en) System controller interfacing a main memory and a modem and transferring data directly between dedicated region of the memory and the modem I/O circuitry
JPH09259073A (en) Communication controller
KR0170742B1 (en) Data transfer method using mbus
RU24061U1 (en) SPECIAL CONVERTER FOR SIGNALS
KR100472962B1 (en) Information exchange method using virtual port (DataTransmissionMethodusingVirtualPort)
KR100369363B1 (en) Apparatus for data transmitting and receiving between host system and microcontroller of local system using memory
KR20060117502A (en) Interface device
CN111104353A (en) Multifunctional aviation bus interface card based on FPGA
US20060288141A1 (en) Modular computer
JP2001084182A (en) Bus connecting device, computer and recording medium
KR20010061328A (en) Line board for increasing transmission speed of data
JP2002314630A (en) Device for transferring data
KR19980059896A (en) Asynchronous Data Transceiver
KR20060062152A (en) Processor board with improved bus structure

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination