KR20000026467A - Asynchronous data communication system - Google Patents

Asynchronous data communication system Download PDF

Info

Publication number
KR20000026467A
KR20000026467A KR1019980043998A KR19980043998A KR20000026467A KR 20000026467 A KR20000026467 A KR 20000026467A KR 1019980043998 A KR1019980043998 A KR 1019980043998A KR 19980043998 A KR19980043998 A KR 19980043998A KR 20000026467 A KR20000026467 A KR 20000026467A
Authority
KR
South Korea
Prior art keywords
preamble
transmission
data
fifo
length
Prior art date
Application number
KR1019980043998A
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 KR1019980043998A priority Critical patent/KR20000026467A/en
Publication of KR20000026467A publication Critical patent/KR20000026467A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2655Synchronisation arrangements
    • H04L27/2689Link with other circuits, i.e. special connections between synchronisation arrangements and other circuits for achieving synchronisation
    • H04L27/2692Link with other circuits, i.e. special connections between synchronisation arrangements and other circuits for achieving synchronisation with preamble design, i.e. with negotiation of the synchronisation sequence with transmitter or sequence linked to the algorithm used at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal

Abstract

PURPOSE: An asynchronous data communication system is to prevent the generation of a transmission error in the asynchronous transfer using a preamble. CONSTITUTION: An asynchronous data communication system comprises: a transmission FIFO(First in first out) unit(22) for the data transmission; an entry control part(21) for inputting a transmission data transmitted from a CPU(Central processing unit) into the transmission FIFO unit; a preamble ROM(Read only memory)(23) in which a preamble data is stored; a multiplexer(26) for selectively outputting either an output of the transmission FIFO unit or an output of the preamble ROM; a preamble length register(27) for deciding a length of the preamble data; a preamble counter(25) for counting a length value designated at the preamble length register and controlling the selection of the multiplexer; and a transmission FIFO control part(24) for operating the preamble counter depending on the status of the transmission FIFO unit.

Description

비동기 데이터 통신 장치(asynchronous communication apparatus)Asynchronous communication apparatus

본 발명은 데이터 통신 장치에 관한 것으로, 좀더 구체적으로는 비동기 통신(asynchronous communication)을 위한 통신 장치에 관한 것이다.The present invention relates to a data communication device, and more particularly to a communication device for asynchronous communication.

비동기 통신(asynchronous communication) 상에서 서로 상이한 클락(clock)을 갖는 두 시스템(system)간에 에러(error)없이 데이터 전송을 위해서 통신에서는 프리앰블(preamble)이란 기술을 이용한다. 이 기술은 송수신단이 서로 약속한 고유의 비트 스트림(bit stream) 데이터를 송신단에서 수신단으로 반복해서 전송함으로서 수신단에서는 비트 스트림 데이터에서 약속된 데이터열이 수신되면 송신단과의 클락이 서로 동기(synchronized) 되었다고 판단하여 수신단에 있는 PLL 회로의 위상 쉬프트(phase shift)가 중지하여 현재까지의 쉬프트한 위상(phase)을 유지하여 데이터 수신에 임한다.In order to transmit data without error between two systems having different clocks in asynchronous communication, a technique called preamble is used in communication. This technique repeatedly transmits the unique bit stream data promised by the transmitting and receiving end to the receiving end, so that when the receiving end receives the data stream promised in the bit stream data, the clocks of the transmitting end are synchronized with each other. In this case, the phase shift of the PLL circuit at the receiving end is stopped to maintain the shifted phase up to the present time to receive data.

도 1에는 종래의 비동기 데이터 통신 장치의 일 예를 보여주는 회로적인 블록도가 도시되어 있다. 도 1을 참조하여 비동기 데이터 통신 장치는 CPU(10), 기입 제어부(write control)(11), 전송 FIFO(First In First Out)(12), 프리앰블 ROM(preamble ROM)(13), 전송 FIFO 제어부(FIFO control)(14), 프래임 종료 검출부(end of frame detect)(15), 먹스(16)를 포함한다.1 is a circuit block diagram showing an example of a conventional asynchronous data communication device. Referring to FIG. 1, the asynchronous data communication apparatus includes a CPU 10, a write control 11, a transfer first in first out (FIFO) 12, a preamble ROM 13, and a transfer FIFO control unit. (FIFO control) 14, end of frame detect 15, and mux 16.

이상과 같은 비동기 데이터 통신 장치는 비동기 데이터 통신에서 다음과 같은 문제점이 발생될 수 있다. 먼저, 데이터 전송에서 비트 스트림 데이터로 항상 동일한 바이트(byte)의 데이터를 전송하므로 만일 1번째 전송된 고유 데이터에서 위상이 동기 되어 고정된다면 그 이후에 수신되는 많은 수의 고유 비트 스트림은 데이터 전송상 낭비요소가 되어 데이터전송 효율을 떨어뜨리게 된다. 반면, 짧은 수의 고유 데이터를 전송한다면 최악의 경우로 위상이 위치하게 된 상황에서는 두 시스템간 위상이 맞지 않은 상태에서 프리앰블 비트 스트림 데이터가 종료하게 되어 데이터 전송에의 에러 발생이 잦아진다.The asynchronous data communication device as described above may cause the following problems in asynchronous data communication. First, since the same byte of data is always transmitted from the data transmission to the bit stream data, a large number of unique bit streams received thereafter are wasted on data transmission if the phase is locked in synchronization with the first transmitted unique data. This will reduce the data transmission efficiency. On the other hand, if a short number of unique data is transmitted, in the worst case, the preamble bit stream data is terminated when the phases are out of phase between the two systems, causing frequent error in data transmission.

이러한 이유로 프리앰블의 길이를 충분히 길게 표준(standard)으로 정의하고 있다. 이러한 전송 문제로 CPU(Central Processor Unit)(또는 마이크로 프로세서(microprocessor))가 프리앰블의 길이를 임의로 줄이거나 늘리는 방법이 사용되고 있다. 이 방법은 프리앰블의 길이를 줄였을 때 에러가 발생하게 되면 그 길이를 다시 늘려서 에러가 발생하였는지를 검사하는 방법이다. 그러나 항상 CPU가 데이터 통신에 관여하여야 하므로 그 활용 효율을 떨어뜨리게 된다.For this reason, the length of the preamble is defined as long enough. Due to this transmission problem, a method in which a central processor unit (or a microprocessor) shortens or increases the length of the preamble is used. In this method, if an error occurs when the length of the preamble is reduced, the length of the preamble is increased to check whether the error has occurred. However, since the CPU must always be involved in data communication, the utilization efficiency is reduced.

또 다른 문제로는, CPU에서 전송 장치(통상 주변 장치(peripheral device)라 칭함)에 전송을 인에이블(enable)하면 주변 장치는 즉시 프리앰블을 수신단으로 전송하여 두 시스템의 클락에 대한 위상을 동기하려 한다. 프리앰블 길이가 고정되어 있는 경우에는 정의된 프리앰블 길이 이후에 전송 데이터가 즉시 뒤따라야 한다. 그러나 주변 장치로부터 CPU에 가해지는 인터럽트(interrupt)는 통상 낮게 설정되어 있다. 그런 이유로, CPU가 주변 장치에 데이터 전송을 인에이블 하였지만 즉시 전송해야 할 데이터를 기입해 주지 못하는 경우가 발생할 수 있다. 이런 인터럽트 서비스(interrupt service) 상황에서 정의한 프리앰블 길이가 다 전송되어 두 시스템간 동기가 이루어진 상태에서 주변 장치는 버퍼(Buffer)(통상 FIFO(First In First Out)로 구성됨)의 데이터를 전송하게 된다. 이 데이터는 CPU가 전송하고자 하는 자료가 아닌 에러 데이터로 FIFO 제어부(FIFO control)에서는 '언더 런 에러(under run error)'라 하는 에러가 발생하게 된다. 이러한 에러를 방지하기 위해서 CPU가 FIFO에 전송할 데이터를 기입한 뒤까지 프리앰블 데이터를 전송하여야 할 필요가 있기에 프리앰블 길이를 제어하여서 길이를 조절한다.Another problem is that when the CPU enables a transmission to a transmitting device (commonly called a peripheral device), the peripheral device immediately sends a preamble to the receiving end to synchronize the phase of the clocks of the two systems. do. If the preamble length is fixed then the transmitted data must immediately follow the defined preamble length. However, the interrupt from the peripheral device to the CPU is usually set low. For this reason, the CPU may enable data transfer to peripheral devices but fail to write data to be transferred immediately. In this interrupt service situation, the preamble length defined is transmitted and the peripheral device transmits data in a buffer (usually composed of FIFOs (First In First Out)) while the two systems are synchronized. This data is error data, not data that the CPU wants to transmit, and an error called 'under run error' occurs in the FIFO control. In order to prevent such an error, the preamble data needs to be transmitted until the CPU writes data to be transmitted to the FIFO, and thus the length is controlled by controlling the preamble length.

항상 CPU가 길이를 조절하고서 에러가 발생하는지를 검사하려면 CPU의 활용도가 떨어지므로 하드웨어(Hardware)적으로 전송 동작을 제어하므로 CPU의 활용도를 높이는 방법이다. 하드웨어적인 해결로서 FIFO의 레벨을 검사하여 그 레벨이 'half full'이 되거나 1개의 완벽한 패킷(packet)이 구성되는 데이터 바이트가 FIFO에 기입되어 프레임(frame)의 끝이 인식될 때까지 프리앰블을 전송하는 방법을 IBM(International Business Machine)에서 채용하고 있다. 그러나 이 방법의 경우 FIFO의 'half full'이 될 때까지는 별 어려움이 없으나 1바이트만 전송하고자 할 때에는 프리앰블이 전송됨과 동시에 CPU가 FIFO에 데이터를 전송한다면 아직 두 시스템간 동기가 되지 않은 상황에서 데이터가 전송될 가능성이 있다.In order to check whether an error occurs by adjusting the length of the CPU at all times, since the CPU utilization decreases, hardware transfer control is controlled by hardware, thus increasing the utilization of the CPU. As a hardware solution, check the level of the FIFO and send the preamble until the level is 'half full' or until a data byte that constitutes one complete packet is written to the FIFO and the end of the frame is recognized. How to do it is being adopted by IBM (International Business Machine). However, this method does not have any difficulty until it becomes 'half full' of the FIFO, but if only one byte is to be transmitted, the preamble is transmitted and the CPU transmits the data to the FIFO. Is likely to be sent.

따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로서 프리앰블을 이용한 비동기 전송에서 전송 에러가 발생되지 않는 비동기 데이터 전송 장치를 제공하는데 있다.Accordingly, it is an object of the present invention to provide an asynchronous data transmission apparatus in which a transmission error does not occur in an asynchronous transmission using a preamble as proposed to solve the above-mentioned problems.

도 1은 종래의 비동기 데이터 통신 장치의 일 예를 보여주는 회로적인 블록도;1 is a circuit block diagram showing an example of a conventional asynchronous data communication apparatus;

도 2는 본 발명의 바람직한 실시예에 따른 비동기 데이터 통신 장치의 일 예를 보여주는 회로적인 블록도;2 is a circuit block diagram showing an example of an asynchronous data communication apparatus according to a preferred embodiment of the present invention;

도 3은 비동기 데이터 통신에서 전송 에러가 발생하지 않는 경우의 일 예를 보여주는 타이밍도;3 is a timing diagram illustrating an example in which a transmission error does not occur in asynchronous data communication;

도 4는 비동기 데이터 통신에서 전송 에러 발생하는 경우의 일 예를 보여주는 타이밍도; 그리고4 is a timing diagram illustrating an example of a case where a transmission error occurs in asynchronous data communication; And

도 5는 비동기 데이터 통신에서 언더 런 에러를 방지하는 경우의 일 예를 보여주는 타이밍도 이다.5 is a timing diagram illustrating an example of preventing underrun errors in asynchronous data communication.

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

10, 20: CPU 11, 21: 기입 제어부10, 20: CPU 11, 21: write control unit

12, 22: 전송 FIFO 13, 23: 프리앰블 ROM12, 22: Transmit FIFO 13, 23: Preamble ROM

14, 24: 전송 FIFO 제어부 15: 프리앰블 종료 검출부14, 24: transmission FIFO control unit 15: preamble end detection unit

16, 26: 먹스 25: 프리앰블 카운터16, 26: MUX 25: Preamble Counter

27: 기입 제어부27: entry control unit

상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 프리앰블을 이용하여 비동기 통신을 하는 비동기 데이터 전송 장치는: 데이터 전송을 위한 전송 FIFO(First In First Out)와; 프로세서로부터 입력되는 전송 데이터를 상기 FIFO로 입력하는 기입 제어부와; 프리앰블 데이터가 저장된 프리앰블 롬과; 상기 프리애블 롬의 출력 또는 상기 전송 FIFO의 출력을 선택적으로 송신 데이터로 출력하는 먹스와; 프리앰블의 길이를 결정하기 위한 프리앰블 길이 레지스터와; 상기 프리앰블 길이 래지스터에 설정된 길이 값을 카운트하며, 상기 먹스의 선택을 제어하는 프리앰블 카운터와; 상기 전송 FIFO의 상태에 따라 상기 프리앰블 카운터를 동작시키는 전송 FIFO 제어부(24)를 포함한다.According to a feature of the present invention for achieving the object of the present invention as described above, an asynchronous data transmission apparatus for asynchronous communication using the preamble includes: a transmission First In First Out (FIFO) for data transmission; A write control unit which inputs transmission data input from a processor to the FIFO; A preamble rom in which the preamble data is stored; A mux for selectively outputting the output of the preamble or the output of the transmission FIFO as transmission data; A preamble length register for determining the length of the preamble; A preamble counter for counting a length value set in the preamble length register and controlling selection of the mux; And a transmission FIFO control unit 24 for operating the preamble counter according to the state of the transmission FIFO.

이 실시예에 있어서, 상기 전송 FIFO 제어부는 상기 전송 FIFO에 전송 데이터가 없는 경우, 상기 프리앰블 카운터를 동작시킨다.In this embodiment, the transmission FIFO control unit operates the preamble counter when there is no transmission data in the transmission FIFO.

(실시예)(Example)

이하 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 바람직한 실시예에 따른 비동기 데이터 통신 장치의 일 예를 보여주는 회로적인 블록도이다. 도 2를 참조하여, 본 발명의 바람직한 실시예에 따른 비동기 데이터 전송 장치는 CPU(20), 기입 제어부(21), 전송 FIFO(22), 프리앰블 ROM(23), 전송 FIFO 제어부(24), 프리앰블 카운터(25), 먹스(26), 프리앰블 길이 레지스터(preamble length register)(27)를 포함하여 구성된다.2 is a circuit block diagram illustrating an example of an asynchronous data communication apparatus according to a preferred embodiment of the present invention. Referring to FIG. 2, the asynchronous data transmission apparatus according to the preferred embodiment of the present invention includes a CPU 20, a write control unit 21, a transfer FIFO 22, a preamble ROM 23, a transfer FIFO control unit 24, and a preamble. The counter 25, the mux 26, and the preamble length register 27 are comprised.

전송 FIFO 제어부(24)에서는 전송 FIFO(22)가 비어(empty) 있음을 검사하여 비어 있으면 계속해서 프리앰블을 출력하고, 1바이트라도 전송 FIFO(22)에 기입이 되면 전송 FIFO(22)가 비어 있지 않음을 표시하기 위한 신호를 발생하여 프리앰블 카운터(25)로 입력하여 프리앰블 카운터(25)를 동작시켜 프리앰블 길이 레지스터(27)에 정의된 수의 바이트로 프리앰블 데이터가 출력되게 한다. 즉, 전송 인에이블 이후에 CPU(20) 기입 명령이 동작하기 전까지 프리앰블 카운터(25)의 제어 신호를 고정하고서 FIFO(22)가 비어 있지 않음을 표시하기 위한 신호가 있은 후에 프리앰블 카운터(25)를 동작시킴으로서 프리앰블 길이를 조절할 수 있도록 한다.The transmission FIFO control unit 24 checks whether the transmission FIFO 22 is empty, and if it is empty, continuously outputs a preamble. If even one byte is written to the transmission FIFO 22, the transmission FIFO 22 is not empty. A signal for indicating no is generated and input to the preamble counter 25 to operate the preamble counter 25 so that the preamble data is output in the number of bytes defined in the preamble length register 27. That is, the preamble counter 25 is set after the signal for indicating that the FIFO 22 is not empty and the control signal of the preamble counter 25 is fixed until the CPU 20 write command is operated after the transfer enable. By operating the preamble length can be adjusted.

이러한 동작으로는 전송 FIFO(22)에 기입하고자 하는 인터럽트가 아무리 우선 순위가 늦어진다 하여도 전송 FIFO(22)에 전송 데이터를 기입하고 나서 프리앰블이 종료되므로 에러의 확률은 거의 없게 된다. 프리앰블을 아무리 많이 하여도 수신단에서는 PLL회로에서 synch만 계속하고 있을 뿐 아무런 에러 수신을 발생하지 않는다.In this operation, even if the priority of the interrupt to be written to the transfer FIFO 22 becomes low, the preamble is terminated after the transfer data is written to the transfer FIFO 22, so that there is almost no probability of error. No matter how many preambles the receiver receives, only the synch continues in the PLL circuit and no error reception occurs.

도 3에는 비동기 데이터 통신에서 전송 에러가 발생하지 않는 경우의 일 예를 보여주는 타이밍도이고, 도 4에는 비동기 데이터 통신에서 전송 에러 발생하는 경우의 일 예를 보여주는 타이밍도이다. 도 3을 참조하여, 전송 인에이블 이후에 CUP(20)의 기입 신호가 즉시 진행된 경우로 종래의 경우에도 에러가 발생하지 않는 경우이다. 도 4를 참조하여, 전송 인에이블 이후에 전송 기입 신호가 즉시 진행되지 않은 경우로 종래의 경우 반드시 언더 런 에러가 발생하여 CPU(20)로 에러 메시지가 알려 진다. 즉, CUP는 전송 인에이블을 주변 장치에 전하였으나 전송 FIFO에 기입하는 인터럽트보다 상위의 인터럽트가 발생하여 CPU는 상위 인터럽트를 처리하느라 주변 장치에 전송하여야 할 데이터를 기입하지 않아서 언더 런 에러가 발생한다. 즉 참조 번호 40으로 표시된 전송 바이트는 전송 FIFO에 존재하는 데이터는 맞으나 CUP가 전송하고자 한 데이터는 아닌 오류 데이터가 전송된다.3 is a timing diagram illustrating an example of a case in which a transmission error does not occur in asynchronous data communication, and FIG. 4 is a timing diagram illustrating an example of a case in which a transmission error occurs in asynchronous data communication. Referring to FIG. 3, the write signal of the CUP 20 proceeds immediately after the transmission enable, and no error occurs even in the conventional case. Referring to FIG. 4, when the transfer write signal does not proceed immediately after the transfer enable, underrun error always occurs in the conventional case and an error message is known to the CPU 20. In other words, the CUP has transmitted a transmit enable to the peripheral device, but an interrupt higher than the interrupt written to the transmit FIFO occurs, and the CPU does not write data to be transmitted to the peripheral device while processing the upper interrupt, causing an underrun error. . That is, the transmission byte indicated by reference numeral 40 is correct in the data present in the transmission FIFO, but error data is transmitted, not data that the CUP intends to transmit.

도 5는 비동기 데이터 통신에서 언더 런 에러를 방지하는 경우의 일 예를 보여주는 타이밍도 이다. 도 5를 참조하여, 본 발명의 실시예의 비동기 데이터 통신 장치는 도 4에서와 같은 경우 발생할 수 있는 언더 런 에러를 방지한다. 즉, 프리앰블 데이터는 전송 FIFO(22)에 전송데이터가 1바이트라도 기입되어야만 프리앰블 카운터(25)가 인에이블 되어서 CUP(20)가 전송하고자 하는 데이터를 전송한다. CPU(20)가 전송 인에이블 신호를 주변 장치에 가한다하여도 전송할 데이터를 전송 FIFO(22)에 기입해주지 않아 전송 FIFO(22)가 비어 있으면 전송할 데이터가 아직 기입되지 않았으므로 주변 장치는 전송 FIFO(22)에 전송 데이터가 전송되기까지 기다리면서 프리앰블 데이터만을 전송하여 수신단과 동기만을 계속 유지한다. CPU(20)가 전송 FIFO(22)에 데이터를 기입하면 주변 장치는 전송할 데이터가 기입 되었음으로 프리앰블 길이 레지스터(27)에서 정의한 여분의 프리앰블을 전송하고서 전송 FIFO(22) 내의 데이터를 송신한다.5 is a timing diagram illustrating an example of preventing underrun errors in asynchronous data communication. Referring to FIG. 5, the asynchronous data communication apparatus of the embodiment of the present invention prevents underrun errors that may occur in the case of FIG. 4. That is, the preamble data must be written even if only one byte of transmission data is transmitted to the transmission FIFO 22 before the preamble counter 25 is enabled to transmit data to be transmitted by the CUP 20. Even if the CPU 20 applies the transmit enable signal to the peripheral device, if the transmission FIFO 22 is not written because the data to be transmitted is not written to the transmission FIFO 22, the peripheral device has not been written yet. While waiting for transmission data to be transmitted to 22, only preamble data is transmitted to keep only synchronization with the receiving end. When the CPU 20 writes data to the transmission FIFO 22, the peripheral device transmits the data in the transmission FIFO 22 by transmitting the extra preamble defined by the preamble length register 27 because the data to be transmitted has been written.

도 3 내지 도 5에서 사용된 기호 P는 프리앰블 데이터 바이트(8비트 데이터)를 ST는 시작 플레그(Start flag)를 그리고 PA는 패이로드(Payload) 데이터로서 실제 CPU가 송신 하고자 하는 데이터를 표시한다.The symbols P used in FIGS. 3 to 5 denote preamble data bytes (8-bit data), ST denotes a start flag, and PA denotes data to be transmitted by the actual CPU as payload data.

도 3 내지 도 5에서 예시한 타이밍은 프리앰블 길이 레지스터를 8로 프로그래밍 하였을 때의 동작을 나타낸 것이다. 도 3에서는 전송 인에이블 이후에 프리앰블이 약 4바이트가 전송되었을 때 CPU 기입이 되어 전송 FIFO에 전송될 데이터가 기입되어 8 프리앰블이 전송되고 난 다음에 시작 플래그를 2바이트 전송하고서 뒤이어 패이로드 데이터를 전송하여 에러가 없는 전송이 이루어진다.3 to 5 show an operation when the preamble length register is programmed to eight. In FIG. 3, when the preamble is about 4 bytes transmitted after the transmit enable, the CPU writes and the data to be transmitted to the transmit FIFO is written. After 8 preambles are transmitted, the start flag is transmitted 2 bytes, followed by payload data. By transmission, error-free transmission occurs.

도 4에서는 전송 인에이블 이후에 CPU에 전송 FIFO 기입 interrupt가 발생하여 FIFO 기입 인터럽트 서비스가 지연되어 8바이트의 프리앰블이 모두 전송이 되어도 FIFO에 전송하여야 할 데이터가 기입되지 않아서 언더 런 에러가 발생한다.In FIG. 4, a transfer FIFO write interrupt occurs to the CPU after the transfer enable, and the FIFO write interrupt service is delayed. However, even when all 8-byte preambles are transmitted, data to be transmitted to the FIFO is not written, thereby causing an underrun error.

도 5에서는 전송 인에이블 이후에 CPU에 전송 FIFO 기입 인터럽트 보다 우선하는 인터럽트가 발생하는 전송 FIFO 기입 인터럽트 서비스가 지연되어도 전송 FIFO가 비어 있으면 계속해서 프리앰블을 전송하여도 프리앰블 길이 카운터가 동작하지 않는다. 즉, 전송 FIFO가 비어 있는 상태에서 전송된 프리앰블은 총 전송된 프리앰블 길이 카운터에 카운트되지 않는다. 전송 FIFO에 전송 데이터가 기입되면 전송 FIFO가 비어 있는 것이 아님으로 이때부터 프리앰블이 프리앰블 카운터에 카운트된다.In FIG. 5, even if the transfer FIFO write interrupt service, in which an interrupt prior to the transfer FIFO write interrupt occurs to the CPU after the transfer enable, is delayed, the preamble length counter does not operate even if the transmission of the preamble is continued. That is, the preamble transmitted with the transmission FIFO empty is not counted in the total transmitted preamble length counter. When the transmission data is written to the transmission FIFO, the transmission FIFO is not empty, and thus the preamble is counted in the preamble counter.

이상과 같은 본 발명에 의하면, 전송 FIFO의 상태에 따라 프리앰블의 길이를 조정하여 비동기 데이터 전송에서 전송 에러의 발생을 방지한다.According to the present invention as described above, the length of the preamble is adjusted according to the state of the transmission FIFO to prevent the occurrence of transmission errors in asynchronous data transmission.

Claims (2)

프리앰블을 이용하여 비동기 통신을 하는 비동기 데이터 전송 장치에 있어서:In an asynchronous data transmission device using a preamble for asynchronous communication: 데이터 전송을 위한 전송 FIFO(First In First Out)와;A transmission first in first out (FIFO) for data transmission; 프로세서로부터 입력되는 전송 데이터를 상기 FIFO로 입력하는 기입 제어부와;A write control unit which inputs transmission data input from a processor to the FIFO; 프리앰블 데이터가 저장된 프리앰블 롬과;A preamble rom in which the preamble data is stored; 상기 프리애블 롬의 출력 또는 상기 전송 FIFO의 출력을 선택적으로 송신 데이터로 출력하는 먹스와;A mux for selectively outputting the output of the preamble or the output of the transmission FIFO as transmission data; 프리앰블의 길이를 결정하기 위한 프리앰블 길이 레지스터와;A preamble length register for determining the length of the preamble; 상기 프리앰블 길이 래지스터에 설정된 길이 값을 카운트하며, 상기 먹스의 선택을 제어하는 프리앰블 카운터와;A preamble counter for counting a length value set in the preamble length register and controlling selection of the mux; 상기 전송 FIFO의 상태에 따라 상기 프리앰블 카운터를 동작시키는 전송 FIFO 제어부(24)를 포함하는 것을 특징으로 하는 비동기 데이터 전송 장치.And a transmission FIFO controller (24) for operating the preamble counter according to the state of the transmission FIFO. 제 1 항에 있어서,The method of claim 1, 상기 전송 FIFO 제어부는 상기 전송 FIFO에 전송 데이터가 없는 경우, 상기 프리앰블 카운터를 동작시키는 것을 특징으로 하는 비동기 데이터 전송 장치.And the transmission FIFO control unit operates the preamble counter when there is no transmission data in the transmission FIFO.
KR1019980043998A 1998-10-20 1998-10-20 Asynchronous data communication system KR20000026467A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980043998A KR20000026467A (en) 1998-10-20 1998-10-20 Asynchronous data communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980043998A KR20000026467A (en) 1998-10-20 1998-10-20 Asynchronous data communication system

Publications (1)

Publication Number Publication Date
KR20000026467A true KR20000026467A (en) 2000-05-15

Family

ID=19554760

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980043998A KR20000026467A (en) 1998-10-20 1998-10-20 Asynchronous data communication system

Country Status (1)

Country Link
KR (1) KR20000026467A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100484134B1 (en) * 2002-02-16 2005-04-18 삼성전자주식회사 Asynchronous data interface apparatus using a FIFO
KR100943699B1 (en) * 2008-01-24 2010-02-22 (주)와이콤테크놀러지 Data communications apparatus, and signal processing and communicating method thereof
KR101049289B1 (en) * 2008-08-27 2011-07-14 주식회사 쿠오핀 Transmission speed control device and method in asynchronous transmission system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100484134B1 (en) * 2002-02-16 2005-04-18 삼성전자주식회사 Asynchronous data interface apparatus using a FIFO
KR100943699B1 (en) * 2008-01-24 2010-02-22 (주)와이콤테크놀러지 Data communications apparatus, and signal processing and communicating method thereof
KR101049289B1 (en) * 2008-08-27 2011-07-14 주식회사 쿠오핀 Transmission speed control device and method in asynchronous transmission system

Similar Documents

Publication Publication Date Title
US6687255B1 (en) Data communication circuit having FIFO buffer with frame-in-FIFO generator
US5493570A (en) End of packet detector and resynchronizer for serial data buses
EP0281307B1 (en) Asynchronous interface and method for coupling data between a data module and a serial asynchronous peripheral
EP0239937B1 (en) Serial communications controller
US5003558A (en) Data synchronizing buffers for data processing channels
US8625627B2 (en) Apparatus and method for controlling data transmission
US5561771A (en) System for transmitting data between systems using selected subsets of plural interconnecting bus lines and including selection of a compatible transmission speed
US20030112798A1 (en) Data communication method
US7821919B2 (en) Data processing apparatus and data processing method
US5748684A (en) Resynchronization of a synchronous serial interface
US6952739B2 (en) Method and device for parameter independent buffer underrun prevention
US6128317A (en) Transmitter and receiver supporting differing speed codecs over single links
US7296108B2 (en) Apparatus and method for efficient transmission of unaligned data
US7149186B1 (en) Apparatus and method for rate adaptation control
US6882661B1 (en) System for detection of asynchronous packet rates and maintenance of maximum theoretical packet rate
US6108734A (en) Method and apparatus for a relaxed bus protocol using heuristics and higher level supervision
KR20000026467A (en) Asynchronous data communication system
US11729030B2 (en) De-skew circuit, de-skew method, and receiver
JP2648752B2 (en) Device that guarantees accurate decoding of data information
US20020041650A1 (en) Elastic serial buffer to compensate for different transmit and receive clock rates for any serial protocol
US5721891A (en) Detection of N length bit serial communication stream
JP3253547B2 (en) Data transfer system
US6751685B2 (en) E1/T1 to asynchronous communications interface
KR100231286B1 (en) The packet router
KR940007555B1 (en) Td/bus interface method of network synchronous apparatus

Legal Events

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