KR100369363B1 - Apparatus for data transmitting and receiving between host system and microcontroller of local system using memory - Google Patents

Apparatus for data transmitting and receiving between host system and microcontroller of local system using memory Download PDF

Info

Publication number
KR100369363B1
KR100369363B1 KR10-1999-0063866A KR19990063866A KR100369363B1 KR 100369363 B1 KR100369363 B1 KR 100369363B1 KR 19990063866 A KR19990063866 A KR 19990063866A KR 100369363 B1 KR100369363 B1 KR 100369363B1
Authority
KR
South Korea
Prior art keywords
data
host system
local
register
memory
Prior art date
Application number
KR10-1999-0063866A
Other languages
Korean (ko)
Other versions
KR20010061372A (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 KR10-1999-0063866A priority Critical patent/KR100369363B1/en
Publication of KR20010061372A publication Critical patent/KR20010061372A/en
Application granted granted Critical
Publication of KR100369363B1 publication Critical patent/KR100369363B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus

Abstract

본 발명은 로컬 시스템 내부에 구비되어 있는 기존의 메모리 소자를 호스트 시스템과의 상호 통신에 이용하여 개발 비용을 낮추고, 소프트웨어적으로 전송 정보의 추가 및 삭제가 가능한, 메모리를 이용한 호스트 시스템과 로컬 시스템 내부의 마이크로컨트롤러 사이의 데이터 전송 및 수신 장치를 제공하기 위한 것으로, 이를 위해 본 발명은 호스트 시스템과, 로컬 메모리를 구비한 로컬 시스템 내부의 마이크로컨트롤러 사이의 데이터 전송 및 수신 장치에 있어서, 상기 로컬 메모리의 일부를 상기 데이터 전송 및 수신 시 선입선출메모리장치로 사용하고, 상기 호스트 시스템의 상기 선입선출메모리장치에 대한 어드레스를 제어하기 위한 제1 내지 제6 레지스터를 포함한다.The present invention lowers the development cost by using an existing memory device provided in the local system for mutual communication with the host system, and adds and deletes transmission information in software. The present invention provides a device for transmitting and receiving data between microcontrollers. To this end, the present invention provides a device for transmitting and receiving data between a host system and a microcontroller in a local system having a local memory. And a first to sixth register for using a portion as a first-in first-out memory device for transmitting and receiving data, and for controlling an address of the first-in first-out memory device of the host system.

Description

메모리를 이용한 호스트 시스템과 로컬 시스템 내부의 마이크로컨트롤러 사이의 데이터 전송 및 수신 장치{APPARATUS FOR DATA TRANSMITTING AND RECEIVING BETWEEN HOST SYSTEM AND MICROCONTROLLER OF LOCAL SYSTEM USING MEMORY}Device for transmitting and receiving data between the host system using a memory and a microcontroller in the local system {APPARATUS FOR DATA TRANSMITTING AND RECEIVING BETWEEN HOST SYSTEM AND MICROCONTROLLER OF LOCAL SYSTEM USING MEMORY}

본 발명은 컴퓨터와 같은 호스트 시스템과 PCI(Peripheral ComponentInterconnect) 버스 등을 통해 연결된 카드 형태의 로컬 시스템 내부에 구비된 마이크로컨트롤러 사이의 상호 통신에 관한 기술로서, 특히 로컬 시스템 내부의 메모리를 이용하여 호스트 시스템과 데이터를 전송 또는 수신하는 장치에 관한 것이다.The present invention relates to a mutual communication between a host system such as a computer and a microcontroller provided in a local system in the form of a card connected through a Peripheral Component Interconnect (PCI) bus or the like, and in particular, a host system using a memory inside the local system. And a device for transmitting or receiving data.

일반적으로, 호스트 시스템과 로컬 시스템의 마이크로컨트롤러 간의 상호 통신은 수신(Rx)/전송(Tx) 방향의 선입선출 장치(First In First Out, 이하 FIFO라 함)를 이용하여, 데이터와 명령어와 같은 특수 정보를 포괄하는 메세지 형태로 이루어진다.In general, intercommunication between the host system and the microcontroller of the local system uses first-in-first-out (First In First Out, FIFO) direction in the receive (Rx) / transmit (Tx) direction, for special data and instructions. It is in the form of a message that encompasses information.

로컬 시스템과 호스트 시스템 간의 통신을 위해 종래에는 Rx/Tx 방향의 2개 FIFO를 통해 버퍼링 동작으로 데이터를 전송 또는 수신하거나 로컬 시스템 내부에 레지스터를 두어 이 레지스터를 읽기 또는 쓰기 억세스하는 방법으로 데이터를 전송 또는 수신하였다.For communication between the local system and the host system, conventionally, two FIFOs in the Rx / Tx direction transmit or receive data in a buffering operation, or register the data in the local system to read or write access the data. Or received.

이러한 종래의 상호 통신 기술에 대해 좀더 상세히 설명한다.This conventional intercommunication technique will be described in more detail.

먼저, FIFO를 로컬 시스템 내부 혹은 로컬 시스템과 호스트 시스템 사이에 구비하여 호스트 시스템과 로컬 시스템 간에 상호 통신이 이루어지는 경우, FIFO는 데이터 Rx/Tx 간의 시간적인 차이를 보상하기 위한 버퍼의 역할을 하게 된다. 예를 들어, 호스트 시스템의 속도가 매우 느려 로컬 시스템의 데이터를 한동안 읽지 못하는 경우가 발생하는 데, 이때 FIFO에 데이터를 버퍼링하여 데이터 손실이 없도록 한다. 그리고, FIFO의 크기는 데이터 손실이 생기지 않을 정도에서 임의로 결정되어진다. 이와 같이, FIFO를 사용하는 경우, 구조가 간단하면서 안정적인 시스템을 구축할 수 있는 반면에, FIFO와 같은 고가의 소자가 추가적으로 사용되어 전체 시스템의 개발 비용이 증가하게 되는 문제가 있다.First, when the FIFO is provided in the local system or between the local system and the host system to communicate with each other between the host system and the local system, the FIFO serves as a buffer to compensate for the time difference between the data Rx / Tx. For example, the host system is so slow that it can't read the local system's data for a while. At this time, the data is buffered in the FIFO to prevent data loss. The size of the FIFO is arbitrarily determined to such an extent that no data loss occurs. As such, when the FIFO is used, a simple structure and a stable system can be constructed, while an expensive device such as a FIFO is additionally used to increase the development cost of the entire system.

다음으로, 외부에 별도의 FIFO를 사용하지 않고, 로컬 시스템 내부에 통신하고자 하는 정보를 미리 결정하여 레지스터를 구성하고, 구성된 내부 레지스터를 통하여 호스트 시스템과 로컬 시스템 간에 상호 통신이 이루어지는 경우, 로컬 시스템 내부에 레지스터를 포함해야 함으로써 칩의 면적이 커져 개발 비용이 증가하며, 한 종류의 정보가 연속적으로 전송되어야 하는 경우에 버퍼링 효과가 미흡하여 정보가 손실될 수 있는 문제가 있다. 또한, 개발 과정에서 전송하고자 하는 정보의 추가 및 삭제가 불가능한 경우에 칩을 재설계해야 하는 문제가 있다.Next, without using a separate FIFO externally, the information to be communicated in the local system is determined in advance, and a register is configured, and when the communication between the host system and the local system is made through the configured internal register, Including a register in the chip increases the development cost by increasing the chip area, and there is a problem that information may be lost due to insufficient buffering effect when one type of information needs to be transmitted continuously. In addition, when the addition and deletion of information to be transmitted in the development process is impossible, there is a problem that the chip must be redesigned.

본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로써, 로컬 시스템 내부에 구비되어 있는 기존의 메모리 소자를 호스트 시스템과의 상호 통신에 이용하여 개발 비용을 낮추고, 소프트웨어적으로 전송 정보의 추가 및 삭제가 가능한, 메모리를 이용한 호스트 시스템과 로컬 시스템 내부의 마이크로컨트롤러 사이의 데이터 전송 및 수신 장치를 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems, by using the existing memory device provided in the local system for mutual communication with the host system to lower the development cost, and the addition and deletion of transmission information in software It is an object of the present invention to provide an apparatus for transmitting and receiving data between a microcontroller inside a local system and a memory using a memory.

도 1은 본 발명의 일실시예에 따른 호스트 시스템과 로컬 시스템 내부의 마이크로컨트롤러 사이의 데이터 전송 및 수신 장치에 대한 블록 다이어그램도.1 is a block diagram of an apparatus for transmitting and receiving data between a host controller and a microcontroller within a local system according to an embodiment of the present invention.

* 도면의 주요 부분에 대한 설명* Description of the main parts of the drawing

100 : 호스트 시스템 101 : MPU100: host system 101: MPU

102 : 호스트 메모리 120 : 로컬 시스템102: host memory 120: local system

121 : MCU 122 : 로컬 메모리121: MCU 122: local memory

123 : 다수의 레지스터들123: multiple registers

상기 목적을 달성하기 위한 본 발명은, 호스트 시스템과, 로컬 메모리를 구비한 로컬 시스템 내부의 마이크로컨트롤러 사이의 데이터 전송 및 수신 장치에 있어서, 상기 로컬 메모리의 일부를 상기 데이터 전송 및 수신 시 선입선출메모리장치로 사용하고, 상기 호스트 시스템의 상기 선입선출메모리장치에 대한 어드레스를 제어하기 위한 제1 내지 제6 레지스터를 구비하여, 상기 제1 레지스터는, 상기 로컬 시스템에서 상기 호스트 시스템으로의 데이터 전송 시 상기 선입선출장치를 상기 로컬 메모리에 매핑하기 위한 메모리 스페이스의 초기 어드레스를 저장하고, 상기 제2 레지스터는, 상기 로컬 시스템에서 상기 호스트 시스템으로의 데이터 전송 시 상기 호스트 시스템이 최초로 접근해야 할 상기 선입선출장치의 어드레스를 저장하고, 상기 제3 레지스터는, 상기 호스트 시스템에서 상기 로컬 시스템으로의 데이터 전송 시 상기 선입선출장치를 상기 로컬 메모리에 매핑하기 위한 메모리 스페이스의 초기 어드레스를 저장하고, 상기 제4 레지스터는, 상기 호스트 시스템에서 상기 로컬 시스템으로의 데이터 전송 시 상기 호스트 시스템이 데이터를 처음으로 저장하여야 하는 상기 선입선출장치의 어드레스를 저장하고,상기 제5 레지스터는, 상기 로컬 시스템에서 상기 호스트 시스템으로의 데이터 전송 시 상기 선입선출장치 내에 데이터가 들어있음을 알리는 정보를 저장하고,상기 제6 레지스터는, 상기 호스트 시스템에서 상기 로컬 시스템으로의 데이터 전송 시 상기 호스트 시스템으로부터 데이터를 받을 수 있는 상기 선입선출장치가 확보되어있음을 알리는 정보를 저장하는 것을 특징으로 하는 하는 데이터 전송 및 수신 장치가 제공된다.In order to achieve the above object, the present invention provides a data transmission and reception device between a host system and a microcontroller in a local system having a local memory, wherein a part of the local memory is used when the data is transmitted and received. And a first to sixth register for use as a device and for controlling an address of the first-in first-out memory device of the host system, wherein the first register is configured to transmit the data from the local system to the host system. A first-in, first-out device that stores an initial address of a memory space for mapping a first-in, first-out device to the local memory, and wherein the second register is to be first accessed by the host system when transferring data from the local system to the host system. The address of the third level The master stores an initial address of a memory space for mapping the first-in, first-out device to the local memory when data is transmitted from the host system to the local system, and the fourth register is stored from the host system to the local system. Stores the address of the first-in, first-out device that the host system should store data for the first time during data transmission, and the fifth register stores data in the first-in, first-out device when transferring data from the local system to the host system. And a sixth register to store information indicating that the first-in, first-out device that can receive data from the host system when transmitting data from the host system to the local system is secured. Characterized by It is provided a data transmission and receiving apparatus.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. do.

일반적으로, 로컬 시스템은 호스트 시스템과의 상호 통신을 위해 기본적인 로컬 메모리를 구비하고 있으며, 메모리 컨트롤러를 통해 로컬 메모리에 대한 읽기 및 쓰기 동작을 수행한다.In general, a local system includes basic local memory for communication with a host system, and reads and writes local memory through a memory controller.

본 발명은 로컬 시스템 내에 구비된 이러한 기본적인 로컬 메모리를 이용하여, 로컬 메모리의 일부를 호스트 시스템과의 통신을 위해 할당하고, 추가적인 로직을 통해 FIFO와 같은 구조를 구현한 것이다.The present invention utilizes this basic local memory provided in the local system, allocates a portion of the local memory for communication with the host system, and implements a FIFO-like structure through additional logic.

도 1은 본 발명의 일실시예에 따른 호스트 시스템과 로컬 시스템 내부의 마이크로컨트롤러 사이의 데이터 전송 및 수신 장치에 대한 블록 다이어그램도이다.1 is a block diagram of an apparatus for transmitting and receiving data between a host controller and a microcontroller inside a local system according to an embodiment of the present invention.

도면에 도시된 바와 같이, 호스트 시스템(100)과 로컬 시스템(120)은 PCI 버스를 통해 연결되며, 호스트 시스템(100)은 내부에 마이크로프로세서(MPU)(101), 호스트 메모리(101, 102)를 포함하고, 로컬 시스템(120)은 내부에 마이크로컨트롤러(MCU)(121), 로컬 버스를 통해 상기 MCU라 연결된 로컬 메모리(122), 상기 로컬 메모리(122)의 일부를 할당받아 FIFO 구조를 실현하기 위하여 호스트 시스템(100)과의 인터페이스를 지원하는 다수의 레지스터들(123)로 이루어진다. 이때, 로컬 메모리(122)의 일부 공간은 호스트 시스템(100)과의 통신을 위해 FIFO로 동작할 수있도록 할당된다.As shown in the figure, the host system 100 and the local system 120 are connected via a PCI bus, and the host system 100 has a microprocessor (MPU) 101 and host memories 101 and 102 therein. The local system 120 includes a microcontroller (MCU) 121, a local memory 122 connected to the MCU through a local bus, and a portion of the local memory 122 to realize a FIFO structure. To this end, it consists of a plurality of registers 123 to support the interface with the host system 100. At this time, some space of the local memory 122 is allocated to operate as a FIFO for communication with the host system 100.

상기 도 1에 도시된 호스트 시스템과 로컬 시스템의 내부 구성 요소들은 일반적인 것으로 널리 공지된 기술이므로, 본 발명에서는 호스트 시스템과 로컬 시스템 간의 통신을 위해 로컬 메모리를 이용한 FIFO 구현과 관련된 다수의 레지스터들(123)에 대해 한정하여 설명하도록 한다.Since the internal components of the host system and the local system illustrated in FIG. 1 are well known in the art, a plurality of registers 123 related to the FIFO implementation using local memory for communication between the host system and the local system are disclosed herein. ) To be limited.

먼저, BaseRx 레지스터는 Rx 방향(로컬 시스템에서 호스트 시스템으로의 데이터 전송)의 FIFO를 로컬 메모리(122)에 매핑하기 위한 메모리 스페이스의 초기 어드레스를 저장하는 레지스터로서, 로컬 시스템의 초기화 시 MCU(121)에 의해 값이 결정되며, 호스트 시스템(100)에 의해 변경가능하다.First, the BaseRx register is a register that stores an initial address of a memory space for mapping a FIFO in the Rx direction (data transfer from the local system to the host system) to the local memory 122. The MCU 121 initializes the local system. The value is determined by and can be changed by the host system 100.

그리고, Ini_addr_rx 레지스터는 Rx 방향의 경우에 호스트 시스템(100)이 초기에 접근해야 할 로컬 메모리(122) 상의 FIFO 어드레스를 저장하는 레지스터로서, 호스트 시스템(100)은 데이터를 로컬 시스템(120)에서 읽어오기 전에 Ini_addr_rx 레지스터를 읽어 Rx 어드레스를 발생시킨다.The Ini_addr_rx register is a register that stores the FIFO address on the local memory 122 to which the host system 100 should initially access in the Rx direction, and the host system 100 reads data from the local system 120. Read the Ini_addr_rx register before generating to generate the Rx address.

다음으로, BaseTx 레지스터는 Tx 방향(호스트 시스템에서 로컬 시스템으로의 데이터 전송)의 FIFO를 로컬 메모리(122)에 매핑하기 위한 메모리 스페이스의 초기 어드레스를 저장하는 레지스터로서, 상기 BaseRx 레지스터와 동일한 기능을 수행한다. 로컬 시스템의 초기화 시에 MCU(121)에 의해 기본값으로 설정되나 호스트 시스템(100)에 의해 변경될 수 있다.Next, the BaseTx register is a register that stores the initial address of the memory space for mapping the FIFO in the Tx direction (data transfer from the host system to the local system) to the local memory 122, and performs the same function as the BaseRx register. do. When the local system is initialized, the default value is set by the MCU 121 but may be changed by the host system 100.

그리고, Ini_addr_tx 레지스터는 Tx 방향의 경우에 호스트 시스템(100)이 데이터를 처음으로 저장하여야 하는 로컬 메모리(122) 상의 FIFO 어드레스를 저장하는 레지스터로서, 호스트 시스템(100)은 데이터를 로컬 시스템(120)으로 읽어오기 전에 Ini_addr_tx 레지스터를 읽어 Rx 어드레스를 발생시킨다.The Ini_addr_tx register is a register that stores the FIFO address on the local memory 122 where the host system 100 should store data for the first time in the Tx direction, and the host system 100 stores the data in the local system 120. Read the Ini_addr_tx register and generate an Rx address before reading it.

다음으로, Fifo_full_rx 레지스터는 Rx 방향일 때 로컬 메모리(122) 상의 FIFO 내에 데이터가 들어 있음을 알리는 레지스터로서, 호스트 시스템(100)에서 읽을 데이터가 존재하는 지를 알기 위해 일정한 시간마다 상기 레지스터를 읽는다.Next, the Fifo_full_rx register is a register indicating that data is contained in the FIFO on the local memory 122 in the Rx direction. The Fifo_full_rx register reads the register every predetermined time to see whether there is data to be read in the host system 100.

마지막으로, Fifo_empty_tx 레지스터는 Tx 방향일 때 호스트 시스템(100)으로부터 데이터를 받을 수 있는 메모리가 확보되었다는 것을 알리는 레지스터로서, 레지스터의 값이 "하이"일 때 호스트 시스템(100)은 로컬 시스템(120)으로 데이터를 전송한다. 이때, 호스트 시스템(100)은 일정한 시간마다 레지스터 값을 읽어 FIFO 상태를 확인한다.Finally, the Fifo_empty_tx register is a register indicating that memory is available to receive data from the host system 100 in the Tx direction. When the value of the register is “high,” the host system 100 may register the local system 120. Send the data. At this time, the host system 100 checks the FIFO state by reading the register value at regular intervals.

참고로, 상기 레지스터들의 설명에서 FIFO 어드레스는 로컬 메모리(122) 상의 FIFO에 대한 가상 어드레스(virtual address)로, 1K 워드(word)를 하나의 FIFO 단위로 정의하는 경우 10비트의 어드레스가 필요하게 된다. 즉, 로컬 시스템(120)의 32비트 어드레스 비트 중 하위 10비트를 로컬 메모리(122) 상에 FIFO를 할당하는 데 사용한다는 것이다.For reference, in the description of the registers, the FIFO address is a virtual address for the FIFO on the local memory 122. When a 1K word is defined as one FIFO unit, a 10-bit address is required. . That is, the lower 10 bits of the 32-bit address bits of the local system 120 are used to allocate the FIFO on the local memory 122.

한편, 로컬 시스템(120)의 MCU(121)는 내부에 추가로 데이터 전송을 위한 어드레스를 지정하는 2개의 레지스터, 즉 Addr_rx, Addr_tx 레지스터(도면에는 도시되지 않음)를 더 구비한다. 여기서, Addr_rx 레지스터는 MCU(121)가 Rx 방향의 데이터 전송을 위해 바로 전의 데이터가 채워져 있는 FIFO 어드레스보다 하나 더 많은, 즉 새로 저장할 수 있는 공간의 첫번째 어드레스를 저장하고 있는 레지스터로서, MCU(121)에서 호스트 시스템(100)으로 데이터를 전송하고 난 후 어드레스 값이 새로 변경되어진다. 그리고, Addr_tx 레지스터는 MCU(121)가 호스트 시스템(100)으로부터 전송된 데이터를 읽어올 때 데이터의 초기 어드레스를 저장하고 있는 레지스터로서, MCU(121)에서 데이터를 모두 읽은 후에 어드레스 값이 새로 변경된다.Meanwhile, the MCU 121 of the local system 120 further includes two registers, ie, Addr_rx and Addr_tx registers (not shown), which additionally designate addresses for data transmission. Here, the Addr_rx register is a register in which the MCU 121 stores one more address than the FIFO address in which the previous data is filled for data transmission in the Rx direction, that is, the first address of the newly storeable space. After transmitting the data to the host system 100 in the new address value is changed. The Addr_tx register is a register that stores the initial address of the data when the MCU 121 reads the data transmitted from the host system 100. The address value is newly changed after the MCU 121 reads all the data. .

상기와 같이 구성된 본 발명의 동작을 설명하면, 아래와 같다.Referring to the operation of the present invention configured as described above, as follows.

먼저, Rx 방향으로 데이터를 전송하기 위해서는 로컬 시스템(120)의 MCU(121)에서 Addr_rx 레지스터에 의해 어드레스를 발생시켜 데이터를 로컬 메모리(122) 상의 FIFO에 저장한 다음, Ini_addr_rx 레지스터에 Addr_rx 레지스터의 어드레스를 카피(copy)하고, Addr_rx 레지스터에는 Addr_rx 레지스터에 저장된 어드레스에 데이터 길이를 더한 값을 저장하고, Fifo_full_rx 레지스터를 FIFO 내에 데이터가 들어 있음을 알리는 "하이"로 세팅한다. 호스트 시스템(100)에서는 세팅된 Fifo_full_rx 레지스터의 값을 읽어 FIFO의 상태를 확인한 후 Ini_addr_rx 레지스터를 읽어 접근하고자 하는 초기 어드레스를 발생시킨 후 발생된 초기 어드레스에 저장된 데이터를 읽어 오고, 읽어온 데이터의 길이에 따라 어드레스를 새로 발생시킨다. 이때, 데이터를 모두 읽어 온 후 Fifo_full_rx 레지스터는 자동적으로 "로우"로 바뀌게 된다.First, in order to transmit data in the Rx direction, the MCU 121 of the local system 120 generates an address by the Addr_rx register, stores the data in a FIFO on the local memory 122, and then adds the address of the Addr_rx register to the Ini_addr_rx register. Copy the file, add the data length to the address stored in the Addr_rx register, and set the Fifo_full_rx register to "high" to indicate that data is contained in the FIFO. The host system 100 reads the value of the set Fifo_full_rx register to check the state of the FIFO, reads the Ini_addr_rx register to generate the initial address to be accessed, reads the data stored at the generated initial address, and reads the length of the read data. Therefore, a new address is generated. At this time, the Fifo_full_rx register is automatically changed to "low" after reading all the data.

다음으로, Tx 방향으로 데이터를 전송하기 위해서는 Fifo_empty_tx 레지스터가 세팅되어 있는 지를 확인한 다음 어드레스를 발생시켜 Ini_addr_tx 레지스터를 읽어 접근하고자 하는 초기 어드레스를 발생시킨다. 이때, 첫번째 데이터의 길이에 응답하여 그 다음번에 전송되어올 데이터를 저장하는 어드레스가 결정된다. 호스트시스템(100)으로부터 마지막 데이터가 전송되며, MCU(121)에서 이를 감지하여 Ini_addr_tx 레지스터의 값을 Addr_tx 레지스터에 카피하고, Ini_addr_tx 레지스터에는 Ini_addr_tx 레지스터의 값에 데이터 길이를 더한 값을 저장하고, Fifo_empty_tx 레지스터를 "로우"로 바꾼다.Next, to transmit data in the Tx direction, check that the Fifo_empty_tx register is set, generate an address, and read the Ini_addr_tx register to generate an initial address to be accessed. At this time, an address for storing data to be transmitted next is determined in response to the length of the first data. The last data is transmitted from the host system 100, the MCU 121 detects it, copies the value of the Ini_addr_tx register into the Addr_tx register, stores the value of the Ini_addr_tx register plus the data length, and stores the Fifo_empty_tx register. Change to "low".

본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical idea of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.

상기와 같이 이루어지는 본 발명은, 호스트 시스템과의 통신에서 내부에 필요한 기본 로컬 메모리를 사용하여 종래의 FIFO 방식과 동일한 방법으로 데이터 전송 및 수신 동작을 수행함으로써 외부 FIFO나 내부 레지스터를 사용하는 종래의 기술에 비해 집적도가 높아 개발 비용을 낮출 수 있으며, 내부 레지스터를 이용하는 종래 기술에 비해 소프트웨어적으로 전송 정보의 추가 및 삭제가 가능한 효과가 있다.The present invention made as described above is a conventional technique using an external FIFO or an internal register by performing a data transmission and reception operation in the same manner as the conventional FIFO method by using a basic local memory required internally in communication with the host system. Compared to the prior art using an internal register, it is possible to add and delete transmission information in software compared to the prior art using an internal register.

Claims (12)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 호스트 시스템과, 로컬 메모리를 구비한 로컬 시스템 내부의 마이크로컨트롤러 사이의 데이터 전송 및 수신 장치에 있어서,A data transmission and reception device between a host system and a microcontroller inside a local system having a local memory, 상기 로컬 메모리의 일부를 상기 데이터 전송 및 수신 시 선입선출메모리장치로 사용하고, 상기 호스트 시스템의 상기 선입선출메모리장치에 대한 어드레스를 제어하기 위한 제1 내지 제6 레지스터를 구비하여,A first to sixth register for using a part of the local memory as a first-in first-out memory device in transmitting and receiving the data, and for controlling an address of the first-in first-out memory device of the host system; 상기 제1 레지스터는 상기 로컬 시스템에서 상기 호스트 시스템으로의 데이터 전송 시 상기 선입선출장치를 상기 로컬 메모리에 매핑하기 위한 메모리 스페이스의 초기 어드레스를 저장하고,The first register stores an initial address of a memory space for mapping the first-in first-out device to the local memory when data is transmitted from the local system to the host system, 상기 제2 레지스터는 상기 로컬 시스템에서 상기 호스트 시스템으로의 데이터 전송 시 상기 호스트 시스템이 최초로 접근해야 할 상기 선입선출장치의 어드레스를 저장하고,The second register stores an address of the first-in, first-out device to which the host system first accesses when transferring data from the local system to the host system, 상기 제3 레지스터는 상기 호스트 시스템에서 상기 로컬 시스템으로의 데이터 전송 시 상기 선입선출장치를 상기 로컬 메모리에 매핑하기 위한 메모리 스페이스의 초기 어드레스를 저장하고,The third register stores an initial address of a memory space for mapping the first-in first-out device to the local memory when data is transmitted from the host system to the local system, 상기 제4 레지스터는 상기 호스트 시스템에서 상기 로컬 시스템으로의 데이터 전송 시 상기 호스트 시스템이 데이터를 처음으로 저장하여야 하는 상기 선입선출장치의 어드레스를 저장하고,The fourth register stores an address of the first-in, first-out device to which the host system should first store data when transferring data from the host system to the local system, 상기 제5 레지스터는 상기 로컬 시스템에서 상기 호스트 시스템으로의 데이터 전송 시 상기 선입선출장치 내에 데이터가 들어있음을 알리는 정보를 저장하고,The fifth register stores information indicating that data is included in the first-in first-out device when data is transmitted from the local system to the host system, 상기 제6 레지스터는 상기 호스트 시스템에서 상기 로컬 시스템으로의 데이터 전송 시 상기 호스트 시스템으로부터 데이터를 받을 수 있는 상기 선입선출장치가 확보되어있음을 알리는 정보를 저장하는 것을 특징으로 하는 하는 데이터 전송 및 수신 장치.And the sixth register stores information indicating that the first-in, first-out device that can receive data from the host system when data is transmitted from the host system to the local system is stored. . 제 10 항에 있어서, 상기 마이크로컨트롤러는,The method of claim 10, wherein the microcontroller, 상기 로컬 시스템에서 상기 호스트 시스템으로의 데이터 전송 시 이전의 데이터가 채워져 있는 상기 선입선출장치의 어드레스보다 하나 증가된 새로 저장할 수 있는 상기 선입선출장치의 첫번째 어드레스를 저장하는 제7 레지스터; 및A seventh register for storing a first address of the first-in, first-out device that is newly stored, which is increased by one than the address of the first-in, first-out device in which previous data is filled when transferring data from the local system to the host system; And 상기 호스트 시스템으로부터 전송된 데이터를 읽어올 때의 초기 어드레스를 저장하고 있는 제8 레지스터An eighth register that stores an initial address when reading data transmitted from the host system 를 더 포함하는 것을 특징으로 하는 데이터 전송 및 수신 장치.Data transmission and reception apparatus further comprising.
KR10-1999-0063866A 1999-12-28 1999-12-28 Apparatus for data transmitting and receiving between host system and microcontroller of local system using memory KR100369363B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0063866A KR100369363B1 (en) 1999-12-28 1999-12-28 Apparatus for data transmitting and receiving between host system and microcontroller of local system using memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0063866A KR100369363B1 (en) 1999-12-28 1999-12-28 Apparatus for data transmitting and receiving between host system and microcontroller of local system using memory

Publications (2)

Publication Number Publication Date
KR20010061372A KR20010061372A (en) 2001-07-07
KR100369363B1 true KR100369363B1 (en) 2003-01-30

Family

ID=19631185

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0063866A KR100369363B1 (en) 1999-12-28 1999-12-28 Apparatus for data transmitting and receiving between host system and microcontroller of local system using memory

Country Status (1)

Country Link
KR (1) KR100369363B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990075990A (en) * 1998-03-26 1999-10-15 김영환 Data processing systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990075990A (en) * 1998-03-26 1999-10-15 김영환 Data processing systems

Also Published As

Publication number Publication date
KR20010061372A (en) 2001-07-07

Similar Documents

Publication Publication Date Title
JP3641675B2 (en) Split buffer architecture
EP1047994B1 (en) Intelligent data bus interface using multi-port memory
US5884100A (en) Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor
US8122177B1 (en) Direct memory access technique for use with PCIe endpoints
US5440690A (en) Network adapter for interrupting host computer system in the event the host device driver is in both transmit and receive sleep states
US5864876A (en) DMA device with local page table
EP0410566A2 (en) Data processing system with means to convert burst operations into pipelined operations
KR930016888A (en) Computer system and system memory access control method
CN113742269B (en) Data transmission method, processing device and medium for EPA device
US6842790B2 (en) Host computer virtual memory within a network interface adapter
US5829042A (en) Prefetch operation for network peripheral device having shared memory
JP2002544585A (en) FIFO system with variable width interface to host processor
KR20030090073A (en) Interface device having variable data transfer mode and operating method thereof
KR100369363B1 (en) Apparatus for data transmitting and receiving between host system and microcontroller of local system using memory
JP3703532B2 (en) Computer system with multiplexed address bus
CN116049081A (en) SMBus slave digital module design method and device
US20080320178A1 (en) DMA transfer apparatus
JPS6246025B2 (en)
US7114019B2 (en) System and method for data transmission
KR100544188B1 (en) Apparatus and method interfacing a data for a network electronic device
US7411591B2 (en) Graphics memory switch
KR20200143922A (en) Memory card and method for processing data using the card
US6629168B1 (en) Byte-swapping for efficient use of memory
EP1104612B1 (en) Data-communications unit suitable for asynchronous serial data transmission
CN116955228A (en) Accelerator for processing write command

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee