KR20070081981A - Interface method and apparatus in cpuless system - Google Patents

Interface method and apparatus in cpuless system Download PDF

Info

Publication number
KR20070081981A
KR20070081981A KR1020060014369A KR20060014369A KR20070081981A KR 20070081981 A KR20070081981 A KR 20070081981A KR 1020060014369 A KR1020060014369 A KR 1020060014369A KR 20060014369 A KR20060014369 A KR 20060014369A KR 20070081981 A KR20070081981 A KR 20070081981A
Authority
KR
South Korea
Prior art keywords
data
interface
signal
block
address
Prior art date
Application number
KR1020060014369A
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 KR1020060014369A priority Critical patent/KR20070081981A/en
Publication of KR20070081981A publication Critical patent/KR20070081981A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA

Abstract

A method and a device for performing interface in a system with no CPU are provided to interface an external AP and the system with no CPU at a fast transfer rate while reducing complexity and generally apply to the system with no CPU. A host-slave block(401) controls the interface to access an internal block by using a signal from multiplexing a control signal, an address, and data received from the AP. An interface part(440) receives the control signal, the address, and the data for interfacing between the AP and the host-slave block. The host-slave block includes a control path engine(410) transmitting an enable signal for a read/write signal to the internal block by receiving a chip select bar signal, a write enable bar signal, and a size signal, an address path engine(420) transmitting the data according to the information to the internal block by discriminating whether the information received from the address or data information, and a data path engine(430) including a transmission FIFO(First Input First Output) buffer(431).

Description

중앙처리 장치가 없는 시스템에서의 인터페이스 방법 및 장치{INTERFACE METHOD AND APPARATUS IN CPULESS SYSTEM}Interface method and device in a system without a central processing unit {INTERFACE METHOD AND APPARATUS IN CPULESS SYSTEM}

도 1은 종래기술에 따른 SRAM 인터페이스 장치를 나타낸 블록도1 is a block diagram illustrating an SRAM interface device according to the prior art.

도 2는 종래기술에 따른 SPI 인터페이스 장치를 나타낸 블록도Figure 2 is a block diagram showing an SPI interface device according to the prior art

도 3은 종래기술에 따른 I2C 인터페이스 장치를 나타낸 블록도Figure 3 is a block diagram showing an I2C interface device according to the prior art

도 4는 본 발명의 바람직한 실시예에 따른 인터페이스 장치를 나타낸 블록도4 is a block diagram showing an interface device according to a preferred embodiment of the present invention.

도 5a 및 도 5b는 본 발명의 인터페이스 장치에서의 싱글 전송 동작을 나타낸 타이밍도5A and 5B are timing diagrams illustrating a single transmission operation in the interface device of the present invention.

도 6a 및 도 6b는 본 발명의 인터페이스 장치에서의 버스트 전송 동작을 나타낸 타이밍도 6A and 6B are timing diagrams illustrating a burst transfer operation in the interface device of the present invention.

도 7은 본 발명의 바람직한 실시예에 따른 인터페이스 방법을 나타낸 순서도7 is a flowchart illustrating an interface method according to a preferred embodiment of the present invention.

본 발명은 통신 시스템에서의 인터페이스 방법 및 장치에 관한 것으로, 특히 중앙처리장치(Central Processing Unit : CPU)가 없는 시스템에서의 인터페이스 방 법 및 장치에 관한 것이다.The present invention relates to an interface method and apparatus in a communication system, and more particularly, to an interface method and apparatus in a system without a central processing unit (CPU).

일반적으로 CPU가 없는 시스템에서의 칩(Chip)간의 인터페이스(Interface)에는 주로 SPI(Serial peripheral Interface), I2C(Inter-IC)등의 직렬 인터페이스(Serial Interface)를 사용하거나 FIFO/SRAM등의 인터페이스를 이용한다.In general, the interface between chips in a system without a CPU is mainly a serial interface such as a serial peripheral interface (SPI) or an inter-IC (I2C) or an interface such as a FIFO / SRAM. I use it.

도 1은 SRAM 인터페이스 장치를 나타낸 도면으로 메모리 접속(Memory Access)을 위해 만들어진 인터페이스이다. 도 1을 참조하면, 어플리케이션 프로세서(Applocation Processor : AP)(110)는 인터럽트 요청 신호(Interrupt Request : IRQ)를 수신하는 경우, CSB, WEB, OEB를 이용하여 내부에서 리드/라이트(Read/Write) 신호와 패드 제어(Pad Control) 신호를 결정하고, 주소(Address)를 이용하여 선택(Selection) 신호를 생성한다. 데이터(Data)의 경우 라이트(Write)시에는 AP(110)로부터 전달 받아서 내부의 디자인 블록(Design Block)(미도시)에 전송하고, 리드(Read)시에는 디자인 블록에서 전달 받아서 AP(110)로 전송한다. 이 때 하나의 하프워드(Halfword)를 전송하는 데 걸리는 시간은 CPU없는 시스템(CPUless system)(101)과 AP(110)중 느리게 동작하는 시스템에 의해 결정된다.1 is a diagram illustrating an SRAM interface device, which is an interface made for memory access. Referring to FIG. 1, when an application processor (AP) 110 receives an interrupt request signal (IRQ), an application processor (AP) 110 reads / writes internally using CSB, WEB, and OEB. The signal and the pad control signal are determined, and a selection signal is generated using an address. In the case of data, the AP 110 receives the data from the AP 110 at the time of writing and transmits the data to the internal design block (not shown), and receives the data from the design block at the time of reading. To send. At this time, the time taken to transmit one halfword is determined by a slower operating system among the CPUless system 101 and the AP 110.

상기 SRAM 인터페이스 장치는 각 신호에 대한 타이밍(Timing)이나 규격 등이 아주 명확하게 규정되어 있어서 구현이 상대적으로 간단하고 고속의 데이터를 전송할 때 유용하다. 또한 거의 모든 CPU가 포함된 시스템 온 칩(System On Chip : SoC chip)에서 적용되어 있을 만큼 범용성도 크다. 그러나 주소 및 데이터를 전송을 위해 많은 핀(Pin)을 이용해야 하는 단점이 있다.The SRAM interface device has a very clearly defined timing or standard for each signal, and thus is useful for a relatively simple implementation and high-speed data transmission. It is also versatile enough to be applied to a System On Chip (SoC chip) that includes almost all CPUs. However, there is a disadvantage in that many pins must be used for transmitting an address and data.

도 2는 SPI 인터페이스를 나타낸 블록도이다. 도 2를 참조하면, SPI 인터페 이스인 경우, CSB, DATA_EN, DATA 전송을 위한 3핀만으로 구성되어, 10Mbps 이하의 성능을 요구하는 데이터 스트림(Data Stream) 전송에 유용하다. 그러나 일반적으로 스트림 전송을 위해 사용되기 때문에 이를 이용한 CPU가 없는 시스템(201)을 구성하기 위한 제어부(Controller)(203)를 제작하기 위해서는 많은 설계 노력(Design Effort)이 필요하다.2 is a block diagram illustrating an SPI interface. Referring to FIG. 2, in the case of the SPI interface, only three pins for CSB, DATA_EN, and DATA transmission are used, which is useful for transmitting a data stream requiring a performance of 10Mbps or less. However, since it is generally used for stream transmission, a lot of design effort is required to manufacture a controller 203 for configuring a system 201 without a CPU using the same.

도 3은 I2C인터페이스를 나타낸 블록도이다. 도 3을 참조하면, I2C의 경우SCL, SDA의 두 핀을 이용하여 양방향 통신이 가능한 간단한 인터페이스 규격을 가지고 있어서 CPU 없는 system(301)의 제어부(Controller)(303)를 제작하기 쉽지만 인터페이스 자체의 속도가 최대 400Kbps 밖에 지원되지 않기 때문에 데이터의 전송에는 적합하지 않은 단점이 있다.3 is a block diagram illustrating an I 2 C interface. Referring to FIG. 3, in the case of I2C, it has a simple interface specification capable of bidirectional communication using two pins of SCL and SDA, so it is easy to manufacture a controller 303 of a system without CPU 301, but the speed of the interface itself is Is only suitable for data transmission because maximum 400Kbps is supported.

상기 I2C 인터페이스에서 기본적으로 주소 위상(Address Phase)부분과 데이터 위상(Data Phase) 부분이 나눠져 있기 때문에 큰 변경 없이도 호스트 콘트롤러(Host Controller)(303)가 쉽게 제작될 수 있지만, 지원하는 데이터 포맷(Data Format)이 8비트이기 때문에 8비트를 넘어가는 주소나 데이터를 전달하기 위해서는 2번에 나눠서 전달해야 한다. 또한 이를 인지하기 위해서는 별도의 하드웨어 블록(Hardware Block)을 구현해야 한다. 이에 따라 시스템의 복잡도(Complexity)가 증가하는 문제점이 있다.In the I2C interface, since an address phase part and a data phase part are basically divided, a host controller 303 can be easily produced without a large change, but a supported data format (Data) Since format) is 8 bits, it must be divided into 2 times in order to transfer the address or data beyond 8 bits. In addition, to recognize this, a separate hardware block must be implemented. Accordingly, there is a problem that the complexity of the system increases.

따라서 본 발명의 목적은 CPU가 없는 시스템에서 복잡도를 줄일수 있는 인터 페이스 방법 및 장치를 제공함에 있다.Accordingly, an object of the present invention is to provide an interface method and apparatus that can reduce the complexity in a system without a CPU.

본 발명의 다른 목적은 CPU가 없는 시스템에서 복잡도를 줄이면서 보다 높은 고속 전송율을 갖는 인터페이스 방법 및 장치를 제공함에 있다.Another object of the present invention is to provide an interface method and apparatus having a higher high data rate while reducing complexity in a system without a CPU.

본 발명의 또다른 목적은 CPU가 없는 시스템에서 범용적으로도 사용가능한 인터페이스 방법 및 장치를 제공함에 있다.It is another object of the present invention to provide an interface method and apparatus that can be used universally in a system without a CPU.

상술한 바를 달성하기 위한 본 발명은 중앙 처리 장치가 없는 시스템에서의 외부 어플리케이션 프로세서(Application Processor : AP)와의 인터페이스 장치에 있어서, 내부 블록과의 억세스를 위해 상기 AP로부터 전송된 제어 신호와 주소 및 데이터를 다중화시킨 신호를 이용하여 인터페이스를 제어하는 호스트-슬레이브(Host-Slave) 블록과, 상기 AP와 상기호스트-슬레이브 블록간의 인터페이스를 위한 상기 제어 신호 및 하는 인터페이스부를 포함함을 특징으로 한다.In order to achieve the above, the present invention provides an interface device with an external application processor (AP) in a system without a central processing unit, and includes a control signal, an address, and data transmitted from the AP for access to an internal block. And a host-slave block for controlling an interface using the multiplexed signal, and an interface unit for controlling the interface for the interface between the AP and the host-slave block.

상기 제어 신호는 상기 호스트-슬레이브 블록의 동작여부를 나타내는 칩선택 신호(Chip Select Bar : CSB)와, 쓰기/읽기 동작 여부를 구분하는 쓰기 인에이블 신호(Writing Enable Bar : WEB)와, 상기 내부 블록과 상기 AP간의 전송 모드 여부를 나타내는 크기 신호(SIZE)와, 상기 내부 블록과 상기 AP간의 멀티플렉스된 정보의 어드레스를 지정하는 어드레스 선택 신호(ADDR_SEL)로 구성됨을 특징으로 한다.The control signal includes a chip select bar (CSB) indicating whether the host-slave block operates, a write enable signal (Writing Enable Bar: WEB) for distinguishing a write / read operation, and the internal block. And a size signal indicating the transmission mode between the AP and the AP, and an address selection signal ADDR_SEL specifying an address of the multiplexed information between the inner block and the AP.

상기 호스트-슬레이브 블록은 상기 CSB, WEB, SIZE 신호를 수신하여 해당 내부 블록에 쓰기/읽기 신호 와 동작여부에 관한 인에이블 신호를 전송하는 제어 경로 엔진과, 상기 AP로부터 전송된 정보가 어드레스 정보인지 데이터 정보인지 구별하여 해당 내부 블록에 해당 정보에 따른 데이터를 전송하는 어드레스 경로 엔진 과, 해당 내부 블록에 어드레스 및 데이터를 송수신하고, 읽기 동작시 미리 결정된 버스트 크기만큼의 데이터를 저장하기 위한 전송 선입선출 버퍼(Tx First Input First Output Buffer)를 구비하는 데이터 경로 엔진을 포함함을 특징으로 한다.The host-slave block includes a control path engine that receives the CSB, WEB, and SIZE signals and transmits a write / read signal and an enable signal relating to operation of the internal block, and whether the information transmitted from the AP is address information. An address path engine that transmits data according to the information to the inner block by distinguishing whether it is data information, and a transmission first-in, first-out to transmit and receive addresses and data to and from the inner block, and to store data of a predetermined burst size during a read operation. And a data path engine having a buffer (Tx First Input First Output Buffer).

상술한 바를 달성하기 위한 본 발명은 중앙 처리 장치가 없는 시스템에서의 외부 어플리케이션 프로세서(Application Processor : AP)와의 인터페이스 방법에 있어서, 상기 AP로부터 내부 블록으로의 인터페이스 시 쓰기/읽기 동작여부를 판단하는 과정과, 상기 동작여부 판단후 전송 단위가 싱글 모드인지 버스트 모드를 선택하는 과정과, 읽기 모드이면서 버스트 모드인 경우, 상기 AP로부터 수신된 어드레스를 디코딩한후 해당 내부 블록에 미리 설정된 데이터 읽기 구간에서 미리 결정된 버퍼의 크기만큼 해당 블록으로부터 데이터를 수신하여 내부의 버퍼에 저장하는 과정으로 이루어짐을 특징으로 한다.The present invention for achieving the above-described method in the interface method with an external application processor (AP) in a system without a central processing unit, the process of determining whether the write / read operation when the interface from the AP to the internal block And a step of selecting a burst mode or a burst mode after determining whether the operation is performed, and in a read mode and a burst mode, after decoding an address received from the AP, in advance in a data read interval set in a corresponding internal block. And receiving data from the corresponding block as much as the size of the determined buffer and storing the data in the internal buffer.

이하 본 발명의 바람직한 실시 예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다. 하기 설명에서 구체적인 특정사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해 제공된 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.DETAILED DESCRIPTION Hereinafter, detailed descriptions of preferred embodiments of the present invention will be described with reference to the accompanying drawings. It should be noted that the same components in the figures represent the same numerals wherever possible. Specific details are set forth in the following description, which is provided to aid a more general understanding of the invention. In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

본 발명은 CPU가 없는 시스템에서 칩간의 인터페이스 연결 시 호스트 슬레이브 블록의 콘트롤러를 SRAM, SPI, I2C의 장점을 적용하여 구성한 것으로 적은 핀을 사용하는 인터페이스부를 이용하여 구성된다. 본 발명의 인터페이스는 하드웨어 블록으로 따로 구성되지 않아 복잡도를 낮추고, 보다 고속 전송을 할 수 있도록 하였다. 이를 위해 어드레스 위상 부분과 데이터 부분을 다중화(Multiplexing)하고 간편하게 버스트 동작(Burst Operation)을 지원한다. 버스트 읽기 동작의 경우 소정 신호에 따라 어드레스를 증가시키면서 데이터를 전송하도록 구성된다.The present invention is configured by applying the advantages of the SRAM, SPI, I2C controller of the host slave block when connecting the interface between the chip in a system without a CPU, it is configured using the interface using fewer pins. The interface of the present invention is not composed of hardware blocks separately to reduce the complexity and to enable higher speed transmission. To this end, the address phase and data portions are multiplexed and burst operations are easily supported. In the case of a burst read operation, data is transmitted while increasing an address according to a predetermined signal.

그러면 본 발명에 따른 인터페이스 장치를 설명한 후 그에 따른 인터페이스 방법을 도면을 이용하여 설명하기로 한다.Next, the interface device according to the present invention will be described and the interface method will be described with reference to the accompanying drawings.

도 4는 본 발명의 바람직한 실시예에 따른 인터페이스 장치(400)를 나타낸 블록도이다. 설명의 편의상 어플리케이션 프로세서(Application Processor : AP)는 생략하였다. 도 4를 참조하면, 본 발명의 인터페이스 장치(400)는 제어부인 호스트-슬레이브 블록(Host-Slave Block)(401)과 상기 호스트-슬레이브 블록(401)과의 인터페이스부분(440)으로 구분된다. 상기 인터페이스 부분(440)은 상기 AP와 호스트-슬레이브 블록(401)간의 인터페이스이다.4 is a block diagram illustrating an interface device 400 according to a preferred embodiment of the present invention. For convenience of description, an application processor (AP) is omitted. Referring to FIG. 4, the interface device 400 of the present invention is divided into a host-slave block 401, which is a control unit, and an interface portion 440 between the host-slave block 401 and the host-slave block 401. The interface portion 440 is an interface between the AP and the host-slave block 401.

상기 호스트-슬레이브 블록(401)은 제어 경로 엔진(Control Path Engine)(410), 어드레스 경로 엔진(Address Path Engine)(420), 데이터 경로 엔진(Data Path Engine)(430)으로 구성된다. 상기 제어 경로 엔진(410)은 제어 신호로 칩선택 신호(Chip Select Bar : CSB)(441), 쓰기 인에이블 신호(Writing Enable Bar : WEB)(443), 크기 신호(Size)(445)를 입력으로 하여 쓰기/읽기 동작 신호 (403) 및 사용여부에 관한 인에이블 신호(405)를 생성한다. 상기 CSB(441)은 칩간의 인터페이스의 사용여부에 관한 신호로 '0'인 경우 사용함을 의미하고 '1'인 경우 사용하지 않음을 의미한다. 상기 WEB(443)는 쓰기 및 읽기 동작 여부를 제어하는 신호로서, '0'인 경우 쓰기 동작을 나타내고, '1'인 경우 읽기 동작을 나타낸다. 상기 크기신호(445)는 호스트와 AP간의 전송 단위를 나타낸 것으로, Size[1:0]은 두개의 비트를 사용하여 전송단위를 나타냄을 의미한다. 즉 상기 크기 신호(445)에 따라 전송 단위가 달라지는데 이에 상기 크기 신호에 따른 전송 단위는 다음의 <표 1>에 나타내었다. 본 발명에서는 상기 크기 신호(445)에 따른 전송 단위에 따라 버스트 동작(Burst Operation)여부를 결정한다.The host-slave block 401 includes a control path engine 410, an address path engine 420, and a data path engine 430. The control path engine 410 inputs a chip select signal (CSB) 441, a writing enable signal (WEB) 443, and a size signal 445 as a control signal. In this way, a write / read operation signal 403 and an enable signal 405 related to use are generated. The CSB 441 is a signal related to whether the interface between chips is used. If the signal is '0', it means that the CSB 441 is not used. The WEB 443 is a signal for controlling whether the write and read operations are performed, and in the case of '0', the WEB 443 indicates a write operation. The size signal 445 indicates a transmission unit between the host and the AP, and Size [1: 0] indicates a transmission unit using two bits. That is, the transmission unit varies according to the magnitude signal 445. Thus, the transmission unit according to the magnitude signal is shown in Table 1 below. In the present invention, whether or not the burst operation (Burst Operation) is determined according to the transmission unit according to the magnitude signal (445).

Figure 112006010903384-PAT00001
Figure 112006010903384-PAT00001

본 시스템에서 기본전송 단위는 하프워드(Halfword)라 하며, 하나의 하프워드는 16비트를 의미한다. 또한 본 시스템에서 하나의 하프워드 전송은 싱글 전송(Single Transfer)이라 하며, 복수의 하프워드는 버스트 전송(Burst Transfer)이라 한다. 여기서 상기 <표 1>을 살펴보면, 상기 크기신호가 '00'인 경우 1하프워드로 싱글 전송이며, 나머지 경우는 복수의 하드워드로 버스트 전송임을 알 수 있다.In the present system, a basic transmission unit is called a halfword, and one halfword means 16 bits. In addition, one halfword transmission in the present system is referred to as single transfer, and a plurality of halfwords is referred to as burst transfer. Referring to Table 1, it can be seen that when the magnitude signal is '00', it is single transmission in one half word, and in other cases, it is burst transmission in a plurality of hard words.

따라서 본 발명의 제어 경로 엔진(410)은 호스트(Host)에서 전달된 제어 신호(CSB, WEB)를 받아서 입출력 패드 제어(I/O pad control)와 내부 레지스터(Register)에 대한 쓰기/읽기 접근을 결정하는 신호를 내보내는 동작을 수행한다. 또한 어드레스 경로 엔진(420)에 상기 전송 단위에 관한 정보를 전송한다.Accordingly, the control path engine 410 of the present invention receives the control signals (CSB, WEB) transmitted from the host and performs write / read access to the I / O pad control and the internal register. It sends out a signal to determine. In addition, the address path engine 420 transmits the information about the transmission unit.

상기 어드레드 경로 엔진(420)은 어드레스 선택 신호(Address Select : ADDR_SEL)(447)에 의해 S1인터페이스를 통해 수신되는 정보가 어드레스 정보인지 데이터 정보인지 구별한다. 여기서 상기 ADDR_SEL(447)은 1비트로 '0'인 경우 주소 정보를 나타내며, '1'인 경우 데이터 정보를 나타낸다. 상기 S1라인은 어드레스와 데이터를 송수신할 수 있는 인터페이스이다. 이에 따라 상기 어드레스 경로 엔진(420)은 상기 S1인터페이스를 통해 수신된 어드레스(Address)를 받아서 디코딩한후 해당 내부 블록에 맞게 선택(Selection) 신호를 생성하며 SIZE[1:0]에 맞춰 어드레스를 자동 증가시킨다. 상기 SIZE[1:0]은 상기 제어 경로 엔진(410)이 C1신호를 통해 알려준다.The address path engine 420 distinguishes whether the information received through the S1 interface by the address select signal ADDR_SEL 447 is address information or data information. In this case, the ADDR_SEL 447 indicates address information when '0' is 1 bit and data information when '1'. The S1 line is an interface capable of transmitting and receiving addresses and data. Accordingly, the address path engine 420 receives and decodes the address received through the S1 interface, generates a selection signal for the corresponding internal block, and automatically generates an address according to SIZE [1: 0]. Increase. The SIZE [1: 0] is informed by the control path engine 410 through the C1 signal.

상기 데이터 경로 엔진(430)은 상기 어드레스 경로 엔진(420)에 의한 주소를 생성하여 해당 내부 블록에 어드레스 및 데이터를 송수신한다. 상기 데이터 경로 엔진(430)은 읽기 동작시 각 내부 블록으로부터 읽은 데이터를 미리 결정된 버스트 사이즈에 맞게 저장하도록 전송 선입선출 버퍼(Tx First Input First Output Buffer)(431)를 구비한다. 이에 대한 전반적인 제어는 AP의 제어 신호(CSB, WEB, SIZE)에 의해 전송 가능하도록 구성된다. 여기서 상기 어드레스 신호인 ADDR[15:0](407)은 주소를 나타내는 신호로 16비트로 구성된다. WDATA[15:0](408)은 쓰기 동작시 전송되는 데이터로 16비트로 구성되며, RDATA[15:0](409)은 읽기 동작시 전송되는 데이터로 상기 Tx FIFO(431)에 전송 단위로 저장되어 S1인터페이스를 통해 AP에 전송된다. 이에 대한 상세한 동작은 다음의 도 7에서 상세히 설명하므로 여기서는 생략하기로 한다.The data path engine 430 generates an address by the address path engine 420 and transmits and receives an address and data to a corresponding internal block. The data path engine 430 includes a Tx First Input First Output Buffer 431 to store data read from each internal block according to a predetermined burst size during a read operation. Overall control for this is configured to be transmitted by the control signals (CSB, WEB, SIZE) of the AP. Here, the address signal ADDR [15: 0] 407 is a signal representing an address, and is composed of 16 bits. WDATA [15: 0] 408 is data transmitted in a write operation and is composed of 16 bits. RDATA [15: 0] (409) is data transmitted in a read operation and stored in the transmission unit in the Tx FIFO 431. And is transmitted to the AP through the S1 interface. Detailed operation thereof will be described in detail with reference to FIG. 7, and will be omitted herein.

그러면 본 발명의 인터페이스 장치(400)에서의 수행 동작을 다음의 타이밍도를 이용하여 설명하기로 한다.Next, the operation performed in the interface device 400 of the present invention will be described using the following timing chart.

도 5a 및 도 5b는 본 발명의 인터페이스 장치에서의 싱글 전송 동작을 나타낸 타이밍도로, 각각 쓰기 동작과 읽기 동작을 나타내었다.5A and 5B are timing diagrams illustrating a single transfer operation in the interface device of the present invention, and show write and read operations, respectively.

도 5a를 참조하면, 본 발명의 인터페이스 장치(400)는 T1구간에서 CSB(441), WEB(443), ADDR_SEL(447)이 모두 '0'이므로, 상기 구간에서는 쓰기 동작으로 어드레스 위상 부분을 나타내게 된다. 따라서 T1구간에서는 싱글 전송 단위로 주소를 해당 내부 블록에 전송하고, T2구간에서는 데이터 전송 구간으로 해당 내부 블록에 그에 해당하는 데이터를 싱글 전송 단위로 쓰기 동작을 수행한다. 도 5b를 참조하면, T1구간에서는 CSB(441), ADDR_SEL(447)이 '0'이고 WEB(443)는 '1'이므로, 상기 구간에서는 읽기 동작으로 어드레스 위상 부분을 나타내게 된다. 그러면 데이터 위상 부분인 T2구간에서 Tx FIFO(431)에 싱글 전송 단위로 저장하여 AP에 전송한다.Referring to FIG. 5A, since the CSB 441, the WEB 443, and the ADDR_SEL 447 are all '0' in the T1 section, the interface device 400 of FIG. do. Therefore, in the T1 section, the address is transmitted to the corresponding inner block in a single transmission unit, and in the T2 section, the data corresponding to the inner block is written in the single transmission unit in the data transmission section. Referring to FIG. 5B, since the CSB 441 and the ADDR_SEL 447 are '0' and the WEB 443 is '1' in the T1 section, the address phase portion is represented by the read operation in the section. Then, the data phase is stored in the Tx FIFO 431 as a single transmission unit in the T2 section and transmitted to the AP.

도 6a 및 도 6b는 본 발명의 인터페이스 장치에서의 버스트 전송 동작을 나타낸 타이밍도로, 각각 쓰기 동작과 읽기 동작을 나타내었다. 본 일례에서 버스트 동작은 4하프워드로 동작함을 가정하였다.6A and 6B are timing diagrams illustrating a burst transfer operation in the interface device of the present invention, and show write and read operations, respectively. In this example, it is assumed that the burst operation operates with 4 half words.

도 6a를 참조하면, 우선 T1구간에서 CSB(441), WEB(443), ADDR_SEL(447)이 모두 '0'이므로, 상기 구간에서는 쓰기 동작으로 어드레스 위상 부분을 나타내게 된다. 그러나 상기 크기 신호(445)에 의해 4하프워드로 동작하므로 데이터 위상 부분인 T2구간에서는 네 개의 하프워드로 해당 내부블록에 쓰기 동작을 수행한다. 도 6b와 같은 읽기 동작에서는 쓰기 동작과 유사하게 어드레스 위상 부분인 T1구간에서 읽기 동작시 크기 신호(445)에 의해 4개의 하프워드로 동작함을 인식하여 데이터 위상 부분인 T2구간에서는 네 개의 하프워드를 Tx FIFO(431)에 저장하도록 데이터의 어드레스를 '2'씩 3번 증가시켜 읽기 동작을 수행한다. 상기 어드레스를 '2'씩 증가하는 이유는 8비트 단위로 주소가 바뀌기 때문이다. 이러한 방법으로 8하프워드와 16하프워드도 동일한 방법으로 주소를 생성한다.Referring to FIG. 6A, since the CSB 441, the WEB 443, and the ADDR_SEL 447 are all '0' in the T1 section, the address phase portion is represented by the write operation in the section. However, since the magnitude signal 445 is operated in four halfwords, four halfwords are written in the corresponding internal block in the T2 section, which is a data phase portion. In the read operation as shown in FIG. 6B, it is recognized that four halfwords are operated by the size signal 445 in the read operation in the T1 section, which is an address phase portion, similar to the write operation. Read operation is performed by incrementing the address of data three times by 2 so as to store the data in the Tx FIFO 431. The reason why the address is increased by '2' is because the address is changed in units of 8 bits. In this way, 8 and 16 halfwords generate addresses in the same way.

그러면 다음으로 본 발명의 인터페이스 방법을 설명하기로 한다.Next, the interface method of the present invention will be described.

도 7은 본 발명의 바람직한 실시예에 따른 인터페이스 방법을 나타낸 순서도이다. 본 발명의 인터페이스 방법은 호스트-슬레이브 블록(401)이 인터페이스부(440)로부터 수신된 CSB(441), WEB(443), ADDR_SEL(447)의 제어 신호를 수신하여 쓰기 또는 읽기 동작을 위한 신호를 생성하여 다음에 들어오는 데이터와 함께 내부 블록을 억세스한다.7 is a flowchart illustrating an interface method according to a preferred embodiment of the present invention. In the interface method of the present invention, the host-slave block 401 receives a control signal of the CSB 441, the WEB 443, and the ADDR_SEL 447 received from the interface unit 440 to receive a signal for a write or read operation. Create and access the inner block with the next incoming data.

도 7을 참조하여 상세히 설명하면, 호스트-슬레이브 블록(401)은 701단계에서와 같이 아이들(Idle) 상태로 유지한다. 그런후 각 AP로부터 억세스를 위해 인터페이스부(440)를 통해 수신된 CSB(441), WEB(443), ADDR_SEL(447)의 제어 신호를 수신하면, 호스트-슬레이브 블록(401)은 703단계에서 우선 읽기 동작인지 확인한다. 상기 읽기 동작 여부는 상술하였듯이 WEB(443)신호에 의해 결정된다. 읽기 동작인 경우 제어 경로 엔진(410)은 쓰기신호(403)와 인에이블 신호(405)를 해당 내부블록으로 전송함으로써 억세스 여부를 알려준다. 상기 703단계에서 읽기 동작이면, 705단계에서 버스트 전송 모드인지 확인한다. 상기 버스트 전송 여부는 SIZE[1:0](445)에 의해 결정된다. SIZE[1:0]에 의해 결정되는 전송 모드는 상기 <표 1>에 나타내었다.Referring to FIG. 7, the host-slave block 401 is maintained in an idle state as in step 701. Then, when receiving the control signals of the CSB 441, WEB 443, and ADDR_SEL 447 received through the interface unit 440 for access from each AP, the host-slave block 401 takes precedence in step 703. Check if it is a read operation. As described above, the read operation is determined by the WEB 443 signal. In the case of a read operation, the control path engine 410 notifies the access by transmitting the write signal 403 and the enable signal 405 to the corresponding inner block. If it is the read operation in step 703, it is checked in burst transfer mode in step 705. Whether or not the burst is transmitted is determined by SIZE [1: 0] 445. The transmission mode determined by SIZE [1: 0] is shown in Table 1.

전송 모드가 버스트 모드인 경우, 어드레스 경로 엔진(420)은 707단계에서 S1인터페이스를 통해 수신된 어드레스를 디코딩한다. 그런후 데이터 경로 엔진(430)은 709단계에서 디코딩된 데이터 ADDR[15:0](407)을 해당 내부 블록에 전송하고 해당 내부 블록으로부터 데이터 위상 구간에서 데이터를 수신한다. 수신된 데이터는 데이터 경로 엔진(430)의 Tx FIFO(431)에 저장된다. 그런후 크기(SIZE)값이 '0'인지 확인한다. 왜냐하면 본 전송 모드는 버스트 모드이므로 상기 Tx FIFO(431)에 해당 내부블록으로부터 데이터를 버스트 단위로 저장하기 때문이다. 따라서 상기 크기(Size)값은 버스트 전송 모드에 따른 Tx FIFO(430)의 크기를 나타낸다.When the transmission mode is the burst mode, the address path engine 420 decodes the address received through the S1 interface in step 707. The data path engine 430 then transmits the decoded data ADDR [15: 0] 407 to the inner block in step 709 and receives data in the data phase interval from the inner block. The received data is stored in the Tx FIFO 431 of the data path engine 430. Then check whether the size value is '0'. This is because the transmission mode is a burst mode, so that data is stored in the Tx FIFO 431 from the corresponding inner block in burst units. Accordingly, the size value represents the size of the Tx FIFO 430 according to the burst transmission mode.

상기 크기값이 '0'이 아니면 버스트 정보가 모두 상기 Tx FIFO(430)에 저장되지 않은 것으로 판단하고, 712단계에서 크기값을 하나 감소시키고 데이터의 어드레스를 자동으로 증가시킨 후 다시 데이터 위상 구간이 관련된 제어 신호를 수신하면 707단계 내지 709단계를 반복 수행한다. 이러한 과정은 크기값이 '0'이 되는 시점까지 반복한다. 상기 711단계에서 상기 Tx FIFO(430)에 버스트 정보가 모두 저장되면 715단계로 진행하여 해당 AP에 버스트 정보를 전송한다. 그러면 715단계에서 데이터 위상 부분과 관련된 제어 신호가 들어오면 Tx FIFO(431)에 저장된 데이터를 AP쪽으로 보내는 작업이 동시에 수행된다.If the magnitude value is not '0', it is determined that all burst information is not stored in the Tx FIFO 430. In step 712, the burst value is decreased and the data address is automatically increased. When receiving the related control signal, steps 707 to 709 are repeatedly performed. This process is repeated until the size value becomes '0'. If all burst information is stored in the Tx FIFO 430 in step 711, the flow proceeds to step 715 to transmit burst information to the corresponding AP. Then, when the control signal associated with the data phase portion is received in step 715, the operation of sending data stored in the Tx FIFO 431 to the AP is simultaneously performed.

705단계에서 전송모드가 싱글 단위 전송이면, 호스트-슬레이브 블록(401)은 수신된 어드레스를 디코딩하여 해당 내부블록으로부터 수신된 데이터를 상기 Tx FIFO(431)에 저장한다. 그런후 715단계에서 데이터 위상 구간과 관련된 제어 신호가 들어오는 시점에서 저장된 데이터를 AP쪽으로 보내주거나 쓰기 동작할 데이터를 내부에 전달하면 된다.If the transmission mode is a single unit of transmission in step 705, the host-slave block 401 decodes the received address and stores the data received from the corresponding inner block in the Tx FIFO 431. Then, at step 715, the stored data is sent to the AP at the time when the control signal associated with the data phase section is received, or the data for write operation is transferred therein.

한편 703단계에서 쓰기 동작인 경우, 호스트-슬레이브 블록(401)은 717단계에서 버스트 전송 여부를 확인한다. 이에 따라 버스트 전송 모드이면 719단계에서 어드레스 경로 엔진(420)이 S1인터페이스를 통해 수신된 어드레스를 디코딩하여 데이터 패치(Patch)를 시도한다. 그런후 721단계에서 해당 내부 블록에 알맞은 내부 억세스 동작을 한다. 이후 데이터 위상 부분과 관련된 제어 신호가 들어오면 쓰기 동작할 데이터를 해당 내부 블록에 전달 후 723단계에서와 같이 크기(Size)값이 '0'인지 확인한다. 크기(Size)값이 '0'이 아니면 724단계로 진행하여 크기(Size)값을 하나 감소시키고, 다음 데이터의 어드레스를 자동으로 증가시킨 후 또다시 데이터 위상 부분과 관련된 제어 신호가 상기 719단계내지 721단계를 수행한다. 이러한 과정을 크기(Size)값이 '0'이 되는 시점까지 반복하게 된다.In the case of a write operation in step 703, the host-slave block 401 checks whether a burst is transmitted in step 717. Accordingly, in the burst transmission mode, the address path engine 420 attempts to patch data by decoding the address received through the S1 interface in step 719. Thereafter, in step 721, an internal access operation corresponding to the corresponding inner block is performed. Thereafter, when a control signal related to the data phase portion is received, the data to be written to is transferred to the corresponding inner block, and then the size value is checked as '0' in step 723. If the size value is not '0', the controller proceeds to step 724 to decrease the size value by one, automatically increases the address of the next data, and then the control signal related to the data phase portion is again performed in step 719. Perform step 721. This process is repeated until the size value becomes '0'.

상기 717단계에서 싱글 전송 모드인 경우, 호스트-슬레이브 블록(401)은 727단계에서 수신된 어드레스를 디코딩하여 데이터 패치동작을 수행한다. 그런 후 729단계에서 해당 내부 블록에 알맞은 내부 억세스 동작을 수행한다.In a single transmission mode in step 717, the host-slave block 401 decodes the address received in step 727 to perform a data patch operation. Thereafter, in step 729, an internal access operation appropriate to the corresponding inner block is performed.

한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해서 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by the equivalents of the claims.

상술한 바와 같이 본 발명은 전용 인터페이스 하드웨어 로직을 개발하는 경우 설계 복잡도가 낮기 때문에 쉽게 설계 가능할 뿐만 아니라, 전용 인터페이스 하드웨어 로직 없이도 범용 목적 입출력 포트(General Purpose Input/Output : GPIO)을 이용하므로 별도의 전용 하드웨어 로직이 필요하지 않고 어떤 AP와도 통신이 가능하다. 또한 Tx FIFO를 이용함으로써 AP의 읽기 동작의 성능을 크게 향상시킬 수 있다.As described above, the present invention is not only easy to design because of low design complexity when developing dedicated interface hardware logic, but also because it uses a general purpose input / output port (GPIO) without dedicated interface hardware logic. It does not require any hardware logic and can communicate with any AP. In addition, the use of Tx FIFO can greatly improve the performance of the read operation of the AP.

Claims (4)

중앙 처리 장치가 없는 시스템에서의 외부 어플리케이션 프로세서(Application Processor : AP)와의 인터페이스 장치에 있어서,In an interface device with an external application processor (AP) in a system without a central processing unit, 내부 블록과의 억세스를 위해 상기 AP로부터 전송된 제어 신호와 주소 및 데이터를 다중화시킨 신호를 이용하여 인터페이스를 제어하는 호스트-슬레이브(Host-Slave) 블록과,A host-slave block for controlling an interface by using a control signal transmitted from the AP and a signal multiplexed with data for access to an internal block; 상기 AP와 상기호스트-슬레이브 블록간의 인터페이스를 위한 상기 제어 신호 및 하는 인터페이스부를 포함함을 특징으로 하는 인터페이스 장치.And an interface unit for the control signal and the interface unit for the interface between the AP and the host-slave block. 제 2항에 있어서, 상기 제어 신호는,The method of claim 2, wherein the control signal, 상기 호스트-슬레이브 블록의 동작여부를 나타내는 칩선택 신호(Chip Select Bar : CSB)와,A chip select signal (CSB) indicating whether the host-slave block is operated; 쓰기/읽기 동작 여부를 구분하는 쓰기 인에이블 신호(Writing Enable Bar : WEB)와,A write enable signal (Writing Enable Bar: WEB) for distinguishing a write / read operation; 상기 내부 블록과 상기 AP간의 전송 모드 여부를 나타내는 크기 신호(SIZE)와,A size signal indicating the transmission mode between the inner block and the AP; 상기 내부 블록과 상기 AP간의 멀티플렉스된 정보의 어드레스를 지정하는 어드레스 선택 신호(ADDR_SEL)로 구성됨을 특징으로 하는 인터페이스 장치.And an address selection signal (ADDR_SEL) for designating an address of the multiplexed information between the inner block and the AP. 제 2항에 있어서, 상기 호스트-슬레이브 블록은,The method of claim 2, wherein the host-slave block, 상기 CSB, WEB, SIZE 신호를 수신하여 해당 내부 블록에 쓰기/읽기 신호 와 동작여부에 관한 인에이블 신호를 전송하는 제어 경로 엔진과,A control path engine for receiving the CSB, WEB, and SIZE signals and transmitting a write / read signal and an enable signal relating to operation of the internal block; 상기 AP로부터 전송된 정보가 어드레스 정보인지 데이터 정보인지 구별하여 해당 내부 블록에 해당 정보에 따른 데이터를 전송하는 어드레스 경로 엔진과,An address path engine for distinguishing whether the information transmitted from the AP is address information or data information and transmitting data according to the information to a corresponding inner block; 해당 내부 블록에 어드레스 및 데이터를 송수신하고, 읽기 동작시 미리 결정된 버스트 크기 만큼의 데이터를 저장하기 위한 전송 선입선출 버퍼(Tx First Input First Output Buffer)를 구비하는 데이터 경로 엔진을 포함함을 특징으로 하는 인터페이스 장치.And a data path engine having a Tx First Input First Output Buffer for transmitting and receiving an address and data in a corresponding internal block and storing data of a predetermined burst size during a read operation. Interface device. 중앙 처리 장치가 없는 시스템에서의 외부 어플리케이션 프로세서(Application Processor : AP)와의 인터페이스 방법에 있어서,In an interface method with an external application processor (AP) in a system without a central processing unit, 상기 AP로부터 내부 블록으로의 인터페이스 시 쓰기/읽기 동작여부를 판단하는 과정과,Determining whether a write / read operation is performed at the interface from the AP to an internal block; 상기 동작여부 판단후 전송 단위가 싱글 모드인지 버스트 모드를 선택하는 과정과,Selecting whether the transmission unit is a single mode or a burst mode after the operation is determined; 읽기 모드이면서 버스트 모드인 경우, 상기 AP로부터 수신된 어드레스를 디코딩한후 해당 내부 블록에 미리 설정된 데이터 읽기 구간에서 미리 결정된 버퍼의 크기만큼 해당 블록으로부터 데이터를 수신하여 내부의 버퍼에 저장하는 과정으로 이루어짐을 특징으로 하는 인터페이스 방법.In the read mode and the burst mode, a process of decoding an address received from the AP and receiving data from the block as much as a predetermined buffer size in a data read interval set in the corresponding inner block is stored in the internal buffer. Interface method characterized in that.
KR1020060014369A 2006-02-14 2006-02-14 Interface method and apparatus in cpuless system KR20070081981A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060014369A KR20070081981A (en) 2006-02-14 2006-02-14 Interface method and apparatus in cpuless system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060014369A KR20070081981A (en) 2006-02-14 2006-02-14 Interface method and apparatus in cpuless system

Publications (1)

Publication Number Publication Date
KR20070081981A true KR20070081981A (en) 2007-08-20

Family

ID=38611763

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060014369A KR20070081981A (en) 2006-02-14 2006-02-14 Interface method and apparatus in cpuless system

Country Status (1)

Country Link
KR (1) KR20070081981A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110021184A (en) * 2009-08-25 2011-03-04 삼성전자주식회사 Computer system, disk storage device and control method thereof
KR20190097786A (en) * 2018-02-13 2019-08-21 삼성전기주식회사 Camera apparatus having ois function and communication method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110021184A (en) * 2009-08-25 2011-03-04 삼성전자주식회사 Computer system, disk storage device and control method thereof
KR20190097786A (en) * 2018-02-13 2019-08-21 삼성전기주식회사 Camera apparatus having ois function and communication method thereof

Similar Documents

Publication Publication Date Title
CN101504633B (en) Multi-channel DMA controller
US8612713B2 (en) Memory switching control apparatus using open serial interface, operating method thereof, and data storage device therefor
US20020184453A1 (en) Data bus system including posted reads and writes
JPH02227765A (en) Data transfer apparatus for digital computer
KR20060122934A (en) A multiple address two channel bus structure
WO2005071556A1 (en) A two channel bus structure to support address information, data, and transfer qualifiers
CN113742269B (en) Data transmission method, processing device and medium for EPA device
CN113961494B (en) Bridging system of PCIE bus and AXI bus
US7779194B2 (en) Data modification module
US7191262B2 (en) High-throughput UART interfaces
US20050144338A1 (en) Data transfer apparatus
US8495268B2 (en) Card host LSI and set device including the same
KR100476895B1 (en) Interface device having variable data transfer mode and operating method thereof
KR20020079536A (en) Usb interface device of peripheral device
KR20070081981A (en) Interface method and apparatus in cpuless system
US20080320178A1 (en) DMA transfer apparatus
TWI471731B (en) Memory access method, memory access control method, spi flash memory device and spi controller
US11169947B2 (en) Data transmission system capable of transmitting a great amount of data
KR101345437B1 (en) Interfacing apparatus and method for communication between chips
US7472212B2 (en) Multi CPU system
KR100266963B1 (en) Method and apparatus for reducing latency rime on an interface by overlapping transmitted packets
EP0382342B1 (en) Computer system DMA transfer
KR20050064568A (en) On-chip serialized peripheral bus system and operating method thereof
KR101517835B1 (en) Processor, system and recording medium including ipc driver for inter-processor communication
JP2000112878A (en) Device and method for controlling timing of transfer request in data processor

Legal Events

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