KR100678228B1 - Apparatus for preventing overflow of uart - Google Patents

Apparatus for preventing overflow of uart Download PDF

Info

Publication number
KR100678228B1
KR100678228B1 KR1020000052686A KR20000052686A KR100678228B1 KR 100678228 B1 KR100678228 B1 KR 100678228B1 KR 1020000052686 A KR1020000052686 A KR 1020000052686A KR 20000052686 A KR20000052686 A KR 20000052686A KR 100678228 B1 KR100678228 B1 KR 100678228B1
Authority
KR
South Korea
Prior art keywords
memory
overflow
uart
data
main
Prior art date
Application number
KR1020000052686A
Other languages
Korean (ko)
Other versions
KR20020019690A (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 KR1020000052686A priority Critical patent/KR100678228B1/en
Publication of KR20020019690A publication Critical patent/KR20020019690A/en
Application granted granted Critical
Publication of KR100678228B1 publication Critical patent/KR100678228B1/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

본 발명은, 범용 비동기 송수신기 오버 플로우 방지를 위한 장치에 있어서, 소정 제어 하에 수신되는 데이터를 저장하는 메인 수신 메모리와, 상기 메인 수신 메모리의 라이트 포인터와 리드 포인터간 차이를 이용하여 오버 플로우 사전 검출하는 오버 플로우 전 검출기와, 소정 제어 하에 상기 오버 플로우 사전 검출 이후 수신되는 데이터를 저장하는 서브 수신 메모리와, 상기 메인 수신 메모리와 서브 수신 메모리로의 데이터 저장을 제어하는 수신메모리 제어부로 구성한다.
According to an aspect of the present invention, there is provided an apparatus for preventing a general-purpose asynchronous transceiver overflow, comprising: a main reception memory storing data received under a predetermined control; and an overflow pre-detection using a difference between a write pointer and a read pointer of the main reception memory. A pre-overflow detector, a sub receive memory for storing data received after the pre-overflow detection under predetermined control, and a receive memory controller for controlling data storage in the main receive memory and the sub receive memory.

UART(Universal Asynchronous Receiver and Transmitter), 오버 플로우 방지Universal Asynchronous Receiver and Transmitter (UART), overflow protection

Description

범용 비동기 송수신기 오버 플로우 방지를 위한 장치{APPARATUS FOR PREVENTING OVERFLOW OF UART} Device for preventing universal asynchronous transceiver overflow {APPARATUS FOR PREVENTING OVERFLOW OF UART}             

도 1은 이동단말에 내장된 UART 블록 구성 일 예도,1 is an example of a UART block configuration embedded in a mobile terminal;

도 2는 종래 기술에 따른 도 1의 수신 메모리 제어부와 수신 메모리 구성도,2 is a block diagram illustrating a reception memory control unit and a reception memory of FIG. 1 according to the prior art;

도 3은 본 발명의 실시 예에 따른 UART 오버 플로우 방지를 위한 장치 구성도.
3 is a block diagram illustrating an apparatus for preventing UART overflow according to an exemplary embodiment of the present invention.

본 발명은 메모리 제어장치에 관한 것으로, 특히 이동단말에 내장된UART(Universal Asynchronous Receiver and Transmitter)에서의 오버 플로우 방지를 위한 장치에 관한 것이다. The present invention relates to a memory control device, and more particularly, to an apparatus for preventing overflow in a universal asynchronous receiver and transmitter (UART) embedded in a mobile terminal.

이동단말은 외부 소오스(external source)(예컨대 컴퓨터)와 시리얼 인터페이스(serial interface)를 하기 위한 UART(Universal Asynchronous Receiver and Transmitter)를 내장하고 있다. UART는 컴퓨터와 컴퓨터, 컴퓨터와 이동단말간의 시리얼 데이터 전송을 가능하게 한다. UART의 주요 기능으로는 시리얼 데이터를 패러럴 바이트로 변환하여 RX FIFO(First In First Out buffer)에 저장하여 제어부가 읽어갈 수 있도록 하고, 그 반대로 제어부가 TX FIFO에 패러럴 데이터를 기록하면 이 패러럴 데이터를 시리얼 데이터로 변환하여 전송한다. The mobile terminal has a UART (Universal Asynchronous Receiver and Transmitter) for serial interface with an external source (such as a computer). UART enables serial data transfer between a computer and a computer and between the computer and the mobile terminal. The main function of UART is to convert serial data into parallel byte and store it in RX FIFO (First In First Out buffer) so that the controller can read it.In contrast, when the controller writes parallel data to TX FIFO, the parallel data is written. Convert the serial data and send it.

도 1에서는 이동단말에 내장된 UART 블록 구성을 일 예로 보여주고 있다. 도 1에서 UART는 UART 송신 블록 및 UART 수신 블록, 송신 메모리(TX Random Access Memory: TX_RAM)(22) 및 수신 메모리(RX_RAM)(24)를 포함하고 있다. 1 illustrates an example of a UART block configuration embedded in a mobile terminal. In FIG. 1, a UART includes a UART transmission block and a UART reception block, a TX memory (TX Random Access Memory (TX_RAM)) 22, and a reception memory (RX_RAM) 24.

UART 송신 블록은 제어부(도 1에 미도시함)가 송신 메모리(TX_RAM)(22)에 라이트한 패러럴 데이터를 리드하여 시리얼 데이터로 변환한 후 송신하는 블록이다. 상기 UART 송신블록은 TX_MEM_CNTL(26), TX_MEM_STATUS(30), TX_STATE(34), TX_CLKGEN(28), TX_SFT(32), DATA_OUT(36)로 구성된다. TX_MEM_CNTL(26)은 TX_RAM(22) 제어에 관련된 신호들 TX_RAM(22)의 라이트 포인터 신호 WR_PTR, 리드 포인터 신호 RD_PTR, 라이트 인에이블 WR_WEB, 리드 칩 선택신호 RD_CSB신호를 발생하는 블록이다. TX_MEM_STATUS(30)는 TX_MEM_CNTL(26)로부터 WR_PTR, RD_PTR신호를 입력받아 메모리 상태에 관련된 신호들을 발생시킨다. TX_STATE(34)는 제어부가 라이트한 패러럴 데이터를 시리얼 데이터로 변환하는데 필요한 인에이블 신호들을 생성한다. TX_CLKGEN(28)은 UART CLKGEN(16)가 제공하는 기본클록을 이용하여 송신용 클록들을 발생시킨다. TX_SFT(32)는 TX_RAM(22)로부터의 8비트 데이터를 UART CLKGEN(16)로부터 제공되는 기본클록을 응답하여 쉬프트 하는 역할을 한다. TX_DATA_OUT(36)는 최종 데이터를 송신하기 전에 데이터를 트리밍(trimming)하는 역할을 한다. The UART transmission block is a block which the control unit (not shown in FIG. 1) reads parallel data written to the transmission memory (TX_RAM) 22, converts it into serial data, and then transmits it. The UART transmission block is composed of TX_MEM_CNTL (26), TX_MEM_STATUS (30), TX_STATE (34), TX_CLKGEN (28), TX_SFT (32), and DATA_OUT (36). The TX_MEM_CNTL 26 is a block for generating the write pointer signal WR_PTR, the read pointer signal RD_PTR, the write enable WR_WEB, and the read chip select signal RD_CSB signal of the signals TX_RAM 22 related to the TX_RAM 22 control. The TX_MEM_STATUS 30 receives the WR_PTR and RD_PTR signals from the TX_MEM_CNTL 26 and generates signals related to the memory state. TX_STATE 34 generates enable signals necessary for converting the parallel data written by the controller into serial data. TX_CLKGEN 28 uses the basic clock provided by UART CLKGEN 16 to generate clocks for transmission. The TX_SFT 32 serves to shift 8-bit data from the TX_RAM 22 in response to the basic clock provided from the UART CLKGEN 16. TX_DATA_OUT 36 serves to trim the data before transmitting the final data.

UART 수신 블록은 시리얼 데이터를 패러럴 데이터로 변환하여 수신 메모리(RX_RAM)(24)에 저장하는 역할을 한다. UART 수신블록은 RX_MEM_CNTL(42), RX_MEM_STATUS(44), RX_STATE(48), RX_CLKGEN(40), RX_SFT(50), RX_TIME_OUT(46)로 구성된다. RX_MEM_CNTL(42)은 RX_RAM(24) 제어에 관련된 신호들 RX_RAM(24)의 라이트 포인터 신호 WR_PTR, 리드 포인터 신호 RD_PTR, 라이트 인에이블신호 WR_WEB, 리드 칩 선택신호 RD_CSB신호를 RX_RAM(24)로 발생하는 블록이다. 도 2에서는 RX_MEM_CNTL(42)와 RX_RAM(24)간의 데이터 입출력 및 제어 신호들을 보다 명확히 보여 주고 있다. 수신블록의 RX_MEM_STATUS(44)는 RX_MEM_CNTL(42)로부터 WR_PTR, RD_PTR신호를 입력받아 메모리 상태에 관련된 신호들을 발생시킨다. RX_STATE(48)는 송신단에서 보낸 시리얼 데이터를 패러럴 데이터를 시리얼 데이터로 변환하는데 필요한 제어신호 및 인에이블 신호를 생성한다. RX_CLKGEN(40)은 UART CLKGEN(16)이 제공하는 기본클록을 이용하여 수신용 클록들을 발생시킨다. RX_SFT(50)는 MUX(30)로부터 수신된 DP_RX_DATA를 쉬프트 하여 병렬 데이터로 변환한다. RX_TIME_OUT(46)는 수신된 데이터가 RX_RAM(24)에 저장되어 있는 상태에서 제어부가 리드 동작을 일정 시간동안 하지 않으면 수신 타임아웃 인터럽트 신호 RX_STALE_INT를 발생한다. The UART reception block converts serial data into parallel data and stores the serial data in the reception memory (RX_RAM) 24. The UART receiving block is composed of RX_MEM_CNTL 42, RX_MEM_STATUS 44, RX_STATE 48, RX_CLKGEN 40, RX_SFT 50, and RX_TIME_OUT 46. The RX_MEM_CNTL 42 is a block that generates the write pointer signal WR_PTR, the read pointer signal RD_PTR, the write enable signal WR_WEB, and the read chip select signal RD_CSB signal of the signals related to the RX_RAM 24 control to the RX_RAM 24. to be. In FIG. 2, data input / output and control signals between the RX_MEM_CNTL 42 and the RX_RAM 24 are more clearly shown. The RX_MEM_STATUS 44 of the receiving block receives the WR_PTR and RD_PTR signals from the RX_MEM_CNTL 42 and generates signals related to the memory state. The RX_STATE 48 generates a control signal and an enable signal for converting serial data sent from a transmitter to parallel data into serial data. The RX_CLKGEN 40 generates the clocks for reception using the basic clock provided by the UART CLKGEN 16. The RX_SFT 50 shifts DP_RX_DATA received from the MUX 30 to convert it into parallel data. The RX_TIME_OUT 46 generates a reception timeout interrupt signal RX_STALE_INT when the control unit does not perform a read operation for a predetermined time while the received data is stored in the RX_RAM 24.

도 1에서 REG_DEF & ADDR_DEC(10)는 레지스터 및 어드레스 디코더이다. BAUD_MN_CLK(14)는 UART동작을 수행한데 있어 필요한 소오스 클록을 생성하여 UART CLKGEN(16)에 공급한다. UART CLKGEN(16)은 BAUD_MN_CLK(14)로부터 제공되는 소오 스 클록을 소정 분주하여 기본클록을 생성한다. CHANNEL(18)은 UART 송신블록 및 수신블록을 제어하는 신호들을 생성하며, UART 동작시 메모리 상태를 제어부가 리드할 수 있도록 한다. UART_INT(20)는 UART 인터럽트신호들 UART_INT를 발생하는 블록이다. In FIG. 1, REG_DEF & ADDR_DEC 10 is a register and address decoder. The BAUD_MN_CLK 14 generates a source clock necessary for performing the UART operation and supplies it to the UART CLKGEN 16. UART CLKGEN 16 divides the source clock provided from BAUD_MN_CLK 14 to generate a basic clock. The CHANNEL 18 generates signals for controlling the UART transmission block and the reception block, and enables the controller to read the memory state during the UART operation. UART_INT 20 is a block for generating UART interrupt signals UART_INT.

도 1과 같은 UART의 데이터 흐름 속도를 결정하는 요인 중에서 가장 크게 영향을 미치는 것은 메모리 TX_RAM(22), RX_RAM(24)를 제어이다. 메모리 사이즈가 클수록 전송속도가 향상되지만 칩 면적 및 공급전력 등을 고려하게 되면 메모리 사이즈를 무한정 크게 할 수는 없다. 송신 메모리 TX_RAM(22)에 대한 제어는 제어부가 모든 정보를 가지고 있는 상태에서 데이터 흐름 제어를 하기 때문에 큰 문제가 발생되지 않지만, 수신 메모리에 대한 제어는 미리 입력 바이트 수의 임계치를 정해 놓고 그 임계치 보다 많은 바이트 수의 데이터가 입력되면 인터럽트를 발생한다. 그래서 제어부가 수신 메모리에 있는 데이터를 읽어 가도록 한다. 그런데 제어부가 수신 메모리로부터 읽어 가는 속도보다 더 빠르게 수신 메모리가 풀 상태가 되면 데이터가 유실되는 경우가 발생된다. 즉 수신 오버런 에러(RX overrun error)가 발생한다. 물론 수신 오버런 에러를 방지하는 몇 가지의 제어 방법이 존재하지만 데이터 오버 플로우가 발생했을 때 유실된 데이터를 다시 얻기 위해서는 외부 소오스에게 다시 요청을 해야만 된다. 그러므로 제어부의 입장에서 볼 때 상당한 부하가 발생되는 것이고 소오스가 다시 데이터 재전송 하는 시간만큼의 데이터 전송 지연이 발생된다.
Among the factors that determine the data flow rate of the UART as shown in FIG. 1, the biggest influence is the control of the memory TX_RAM 22 and the RX_RAM 24. The larger the memory size, the faster the transfer speed. However, considering the chip area and the power supply, the memory size cannot be increased indefinitely. The control of the transmission memory TX_RAM 22 does not cause a big problem because the control unit performs the data flow control with all the information. However, the control of the reception memory TX_RAM 22 has a threshold value of the number of input bytes in advance. An interrupt is generated when a large number of bytes of data is input. Therefore, the control unit reads the data in the reception memory. However, when the reception memory becomes full faster than the speed at which the controller reads from the reception memory, data may be lost. That is, an RX overrun error occurs. Of course, there are several control methods to prevent the reception overrun error, but if a data overflow occurs, to regain lost data, the external source must be requested again. Therefore, from the controller's point of view, a significant load is generated, and a data transmission delay is generated as long as the source retransmits data.

수신메모리 오버 플로우가 발생 했을 때 손실된 데이터를 다시 얻기 위하여 외부 소오스로부터 상기 손실된 데이터를 다시 받아야 한다. 그러므로 UART 전송 속도에 상당한 지장을 즉 전송 지연을 발생시킨다. When a received memory overflow occurs, the lost data must be received again from an external source to regain the lost data. Therefore, there is a significant obstacle to the UART transmission speed, namely transmission delay.

따라서 본 발명의 목적은 범용 비동기 송수신기에서의 오버 플로우 방지를 위한 장치를 제공하는데 있다.Accordingly, an object of the present invention is to provide an apparatus for overflow prevention in a general-purpose asynchronous transceiver.

상기한 목적에 따라, 본 발명은, 범용 비동기 송수신기 오버 플로우 방지를 위한 장치에 있어서, 소정 제어 하에 수신되는 데이터를 저장하는 메인 수신 메모리와, 상기 메인 수신 메모리의 라이트 포인터와 리드 포인터간 차이를 이용하여 오버 플로우 사전 검출하는 오버 플로우 전 검출기와, 소정 제어 하에 상기 오버 플로우 사전 검출 이후 수신되는 데이터를 저장하는 서브 수신 메모리와, 상기 메인 수신 메모리와 서브 수신 메모리로의 데이터 저장을 제어하는 수신메모리 제어부로 구성함을 특징으로 한다.
In accordance with the above object, the present invention provides a device for preventing a general-purpose asynchronous transceiver overflow, using a main receiving memory for storing data received under predetermined control, and a difference between a write pointer and a read pointer of the main receiving memory. A pre-overflow detector for pre-overflow detection, a sub receive memory for storing data received after the pre-overflow detection under predetermined control, and a receive memory control unit for controlling data storage in the main receive memory and the sub receive memory It is characterized by the configuration.

이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the same elements in the figures are represented by the same numerals wherever possible. In addition, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.

도 3은 본 발명의 실시 예에 따른 UART 오버 플로우 방지를 위한 장치 구성 도이다. 본 발명의 실시 예에 따라 오버 플로우 방지를 위한 장치 구성은 도 3에 도시된 바와 같이 메인 수신 메모리(MAIN_RX_RAM)(62), 서브 수신 메모리(SUB_RX_RAM)(64), 수신 메모리 제어부(RX_MEM_CNTL)(60), 오버 플로우 전검출기(over flow pre-detector)(66) 및 선택기(68)를 포함하고 있다. 본 발명의 실시 예에서 구비된 서브 수신 메모리(64)의 사이즈(size)는 메인 수신 메모리(62) 사이즈의 1/4이다. 3 is a block diagram illustrating an apparatus for preventing UART overflow according to an exemplary embodiment of the present invention. As shown in FIG. 3, the apparatus for preventing overflow according to an embodiment of the present invention may include a main receive memory (MAIN_RX_RAM) 62, a sub receive memory (SUB_RX_RAM) 64, and a receive memory controller (RX_MEM_CNTL) 60. ), An overflow pre-detector 66 and a selector 68. In the exemplary embodiment of the present invention, the size of the sub receiving memory 64 is 1/4 of the size of the main receiving memory 62.

통상적으로 수신 메모리 제어부(60)의 제어에 의거하여 수신데이터는 메인 수신 메모리(62)에 저장된다. 이렇게 수신데이터가 메인 수신 메모리(62)에 계속 저장되게 되면 메모리 제어부(60)는 그에 응답하여 라이트 포인터 WR_PTR을 계속 증가시킨다. 만약 메인 수신메모리(62)의 라이트 포인터 WR_PTR과 리드 포인터 RD_PTR간의 차이가 미리 설정된 수신 임계치 레벨보다 크게 되면 RX_MEM_STATUS(48) 및 UART_INT(도 1의 20)에 의해서 인터럽트 신호 UART_INT가 UART 제어부로 전달된다. 그에 따라 UART 제어부는 메인 수신메모리(62)로부터 저장된 데이터를 읽어간다. Typically, the reception data is stored in the main reception memory 62 under the control of the reception memory control unit 60. When the received data is continuously stored in the main receiving memory 62 in this way, the memory controller 60 keeps increasing the write pointer WR_PTR in response. If the difference between the write pointer WR_PTR and the read pointer RD_PTR of the main receiving memory 62 is greater than the preset reception threshold level, the interrupt signal UART_INT is transmitted to the UART control unit by the RX_MEM_STATUS 48 and the UART_INT (20 in FIG. 1). Accordingly, the UART control unit reads the stored data from the main receiving memory 62.

하기에서는 서브 수신메모리(64) 및 오버 플로우 전 검출기(66)가 없을 경우 메인 수신메모리(62)가 오버 플로우 발생될 수 있는 일 예가 설명될 것이다. 메인 수신 메모리(62)의 라이트 포인터 WR_PTR이 미리 설정된 메모리 사이즈 값을 넘어서면 라이트 포인터 WR_PTR은 다시 "0"으로 되돌아간다. 이때까지 UART 제어부가 상기 메인 수신 메모리(62)로부터 데이터를 읽어가지 않으면 수신 메모리 오버 플로우가 발생한다. 수신 메모리 오버 플로우가 발생한다는 의미는 메인 수신 메모리(62)에 다음 수신 데이터가 입력됨에 의해 메인 수신메모리(62)에 리드되지 않는 데이터중 최초 입력데이터가 손실된다는 것이다. Hereinafter, an example in which the main receiving memory 62 may overflow may occur when the sub receiving memory 64 and the pre-overflow detector 66 are not present. When the write pointer WR_PTR of the main receiving memory 62 exceeds the preset memory size value, the write pointer WR_PTR returns to "0" again. Until this time, if the UART controller does not read data from the main receive memory 62, a receive memory overflow occurs. The fact that the reception memory overflow occurs means that the first input data among the data that is not read into the main reception memory 62 is lost by inputting the next reception data into the main reception memory 62.

본 발명의 실시 예에서는 수신 메모리 오버 플로우 발생과 같은 문제를 해결하기 위해 오버 플로우 전 검출기(66) 및 서브 수신 메모리(64), 선택기(68)를 구비한다. An embodiment of the present invention includes a pre-overflow detector 66, a sub receive memory 64, and a selector 68 to solve a problem such as a reception memory overflow.

오버 플로우 전 검출기(66)는 메인 수신메모리(62)의 라이트 포인터 WR_PTR과 리드 포인터 RD_PTR의 차이를 계산하여 그 차이가 "10" 이하로 되면 오버플로우 사전 인터럽트 신호 PRE_DETECT_INT를 RX_MEM_STATUS(44)로 출력하고, 동시에 오버 플로우 사전 검출신호 PRE_DETECT_STB를 선택기(68) 및 수신 메모리 제어부(60)로 출력한다. 그에 따라 RX_MEM_STATUS(44)는 오버플로우 사전 인터럽트 신호 PRE_DETECT_INT를 UART_INT(20)으로 알려주고, UART_INT(20)는 인터럽트신호 UART_INT를 UART제어부로 제공한다. UART제어부는 인터럽트신호 UART_INT에 응답하여 더 이상 수신데이터가 입력되지 않도록 한다. 한편 오버 플로우 사전 검출신호 PRE_DETECT_STB를 제공받은 수신 메모리 제어부(60)는 메인 수신메모리(62)에 라이트할 수신데이터를 서브 수신메모리(64)에 라이트되도록 제어한다. 그에 따라 오버플로우 사전 검출 이후 메인 수신메모리(52)에 라이트 하고자 했던 데이터는 서브 수신 메모리(64)에 라이트된다. Before the overflow, the detector 66 calculates the difference between the write pointer WR_PTR and the read pointer RD_PTR in the main receiving memory 62 and outputs the overflow pre-interrupt signal PRE_DETECT_INT to the RX_MEM_STATUS 44 when the difference becomes less than or equal to "10". At the same time, the overflow pre-detection signal PRE_DETECT_STB is output to the selector 68 and the reception memory controller 60. Accordingly, the RX_MEM_STATUS 44 informs the UART_INT 20 of the overflow pre-interrupt signal PRE_DETECT_INT, and the UART_INT 20 provides the interrupt signal UART_INT to the UART control unit. The UART controller prevents further reception of data in response to the interrupt signal UART_INT. Meanwhile, the reception memory controller 60 receiving the overflow pre-detection signal PRE_DETECT_STB controls the reception data to be written to the main reception memory 62 to be written to the sub reception memory 64. Accordingly, data to be written to the main receiving memory 52 after the overflow pre-detection is written to the sub receiving memory 64.

그후 UART 제어부는 선택기(68)를 이용해 메인 수신 메모리(62)로부터의 데이터를 먼저 읽어내고 이에 서브 수신 메모리(64)로부터의 데이터를 읽어낸다. 서브 수신 메모리(64)로부터의 데이터를 모두 읽어내면 오버 플로우 사전 검출신호 PRE_DETECT_STB가 클리어된다. 그에 따라 수신 데이터는 메인 수신메모리(62)에 입력되고, 그에 응답하여 메인 수신메모리(62)의 라이트 포인터 WR_PTR는 다시 증가한다. The UART control then uses the selector 68 to first read data from the main receive memory 62 and then to read data from the sub receive memory 64. When all data from the sub receiving memory 64 is read, the overflow pre-detection signal PRE_DETECT_STB is cleared. Accordingly, the received data is input to the main receiving memory 62, and in response, the write pointer WR_PTR of the main receiving memory 62 increases again.

상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.
In the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be defined by the described embodiments, but should be determined by the equivalent of claims and claims.

상술한 바와 같이 본 발명은 오버 플로우 발생시점에서 서브 수신 메모리와 오버 플로우 전 검출기를 이용하여 수신 메모리에서의 오버 플로우를 미리 방지할 수 있다. 그에 따라 UART 제어부의 부하를 줄일 수 있어서 시스템 전체의 성능 및 UART 데이터 전송시간을 줄일 수 있다. As described above, the present invention can prevent the overflow in the reception memory in advance by using the sub receiving memory and the pre-overflow detector when the overflow occurs. As a result, the load on the UART control unit can be reduced, thereby reducing overall system performance and UART data transmission time.

Claims (3)

범용 비동기 송수신기 오버 플로우 방지를 위한 장치에 있어서, An apparatus for preventing universal asynchronous transceiver overflow, 소정 제어 하에 수신되는 데이터를 저장하는 메인 수신 메모리와,A main receiving memory for storing data received under predetermined control; 상기 메인 수신 메모리의 라이트 포인터와 리드 포인터간 차이를 계산하고, 상기 차이가 미리 설정된 임계값보다 작은 값을 가지면 인터럽트신호를 생성하여 상기 메인 수신 메모리의 오버 플로우를 검출하는 오버 플로우 전 검출기와, A pre-overflow detector for calculating a difference between a write pointer and a read pointer of the main receiving memory, and generating an interrupt signal to detect an overflow of the main receiving memory when the difference has a value smaller than a preset threshold value; 상기 생성된 인터럽트신호에 대응하여 수신되는 데이터를 저장하는 서브 수신 메모리와,A sub receiving memory for storing data received in response to the generated interrupt signal; 상기 생성된 인터럽트신호에 대응하여 상기 메인 수신 메모리의 라이트 동작을 중지하고, 상기 서브 수신 메모리의 라이트 동작을 시작하도록 제어하는 수신메모리 제어부로 구성함을 특징으로 하는 오버 플로우 방지 장치. And a reception memory controller configured to stop a write operation of the main receive memory and start a write operation of the sub receive memory in response to the generated interrupt signal. 제1항에 있어서, 상기 서브 수신 메모리의 사이즈는 상기 메인 수신 메모리 사이즈의 1/4임을 특징으로 하는 오버 플로우 방지 장치. The overflow preventing apparatus of claim 1, wherein the size of the sub receive memory is one fourth of the size of the main receive memory. 제1항에 있어서, 상기 메인 수신메모리로부터의 제1데이터와 상기 서브 수신메모리로부터의 제2데이터를 선택적으로 리드하는 선택기를 더 구비함을 특징으로 하는 오버 플로우 방지 장치. The overflow preventing apparatus according to claim 1, further comprising a selector for selectively reading first data from the main receiving memory and second data from the sub receiving memory.
KR1020000052686A 2000-09-06 2000-09-06 Apparatus for preventing overflow of uart KR100678228B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000052686A KR100678228B1 (en) 2000-09-06 2000-09-06 Apparatus for preventing overflow of uart

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000052686A KR100678228B1 (en) 2000-09-06 2000-09-06 Apparatus for preventing overflow of uart

Publications (2)

Publication Number Publication Date
KR20020019690A KR20020019690A (en) 2002-03-13
KR100678228B1 true KR100678228B1 (en) 2007-02-01

Family

ID=19687673

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000052686A KR100678228B1 (en) 2000-09-06 2000-09-06 Apparatus for preventing overflow of uart

Country Status (1)

Country Link
KR (1) KR100678228B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990014340A (en) * 1997-07-31 1999-02-25 모리시타 요이치 Communication device, communication method and computer program recording medium for executing the method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990014340A (en) * 1997-07-31 1999-02-25 모리시타 요이치 Communication device, communication method and computer program recording medium for executing the method

Also Published As

Publication number Publication date
KR20020019690A (en) 2002-03-13

Similar Documents

Publication Publication Date Title
KR950703766A (en) A DEVICE WITH HOST INDICATION COMBINATION
US7698474B2 (en) Virtual first in first out (FIFO) direct memory access (DMA) device, electronic device and memory access method using the same
CN111354413B (en) Semiconductor device and semiconductor system having training function
CN104145255A (en) Data-forwarding device, data-forwarding method, and data-forwarding program
US20070110447A1 (en) Detecting an infrared transceiver type
CN100419723C (en) Multi-interruption cache device and method
US20240020246A1 (en) Method for Generating Information Based on FIFO Memory and Apparatus, Device and Medium
US20140082269A1 (en) EMBEDDED MULTIMEDIA CARD (eMMC), HOST CONTROLLING SAME, AND METHOD OF OPERATING eMMC SYSTEM
KR100678228B1 (en) Apparatus for preventing overflow of uart
US5748887A (en) Inter-processor asynchronous serial communication transmission/reception apparatus using each other's memories
KR20030033005A (en) A circuit arrangement and method for improving data management in a data communications circuit
KR970024724A (en) Serial data receiving and sending device
JP2597040B2 (en) FIFO memory device
KR100221297B1 (en) First-in and first-out buffer
KR100239050B1 (en) Data transmission apparatus
KR100974914B1 (en) USB Data Transmission Method Using DMA Suitable for SMART Card
KR100703450B1 (en) Common i/o part controll apparatus and method capable of decreasing load of cpu in a radio communication terminal
KR20060064147A (en) Universal asynchronous receiver transmitter
KR100265056B1 (en) Interface method between processor and serial input/output controller
US20070160037A1 (en) Memory interface device, memory interface method and modem device
KR100243010B1 (en) Ethernet buffer memory controller
KR0171547B1 (en) Fax-data processing method for portable terminal
KR100469436B1 (en) Data access circuit for multimedia device
JPS57159335A (en) Terminal controlling system
KR100353816B1 (en) receiving device for communication

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