KR20140000404A - Multi-channel serial communication apparatus - Google Patents
Multi-channel serial communication apparatus Download PDFInfo
- Publication number
- KR20140000404A KR20140000404A KR1020120067250A KR20120067250A KR20140000404A KR 20140000404 A KR20140000404 A KR 20140000404A KR 1020120067250 A KR1020120067250 A KR 1020120067250A KR 20120067250 A KR20120067250 A KR 20120067250A KR 20140000404 A KR20140000404 A KR 20140000404A
- Authority
- KR
- South Korea
- Prior art keywords
- transmission
- data
- channel
- output
- channels
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
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
Description
본 발명은 시리얼 통신 장치에 관한 것으로, 더욱 상세하게는 시리얼 통신으로 연결되는 다수의 기기와 CPU 사이의 통신을 제공하는 멀티 채널 시리얼 통신 장치에 관한 것이다. The present invention relates to a serial communication device, and more particularly, to a multi-channel serial communication device for providing communication between a plurality of devices connected to the serial communication and the CPU.
범용 동기/비동기 송수신기(Universal Synchronous/Asynchronous Receiver and Transmitter : 이하 'USART'라 칭함)는 중앙처리장치와 입출력 장치의 사이에 연결되는 인터페이스로서, 중앙처리장치로부터의 병렬 데이터를 직렬화하여 직렬화된 데이터를 입출력 장치로 전송하며, 입출력 장치로부터의 직렬 데이터를 병렬화하여 병렬화된 데이터를 중앙처리장치로 전송한다.Universal Synchronous / Asynchronous Receiver and Transmitter (hereinafter referred to as 'USART') is an interface connected between the central processing unit and the input / output unit. The data is transmitted to the input / output device, and the serial data from the input / output device is parallelized to transmit the parallel data to the central processing device.
도 1은 USART의 블럭 구성도를 도시한 것으로, 특히 미합중국 어드밴스드 마이크로 디바이스(Advanced Micro Device)사에서 발행 및 배포하고 있는 1987-1988년도판 데이터북의 제목 'MOS Microprocessors and Peripherals Commercial/Industrial'하에 개시되어 있는 USART를 도시한 것이다.1 is a block diagram of a USART, especially under the title 'MOS Microprocessors and Peripherals Commercial / Industrial' of the 1987-1988 databook published and distributed by the United States Advanced Micro Device. The USART is shown.
상기 USART는 데이터의 전송시 동기를 어떻게 취하냐에 따라 비동기(Asynchronous) 모드 혹은 동기(Synchronous) 모드로 구분된다. 상기 동기 모드에서의 데이터 전송은 동기를 위한 클럭신호에 의해 제어되어 수행되고, 상기 비동기 모드에서의 데이터 전송은 스타트 비트 및 스톱 비트들에 의해 제어되어 수행된다.The USART is classified into an asynchronous mode or a synchronous mode according to how synchronization is performed when data is transmitted. Data transmission in the synchronous mode is controlled by a clock signal for synchronization, and data transmission in the asynchronous mode is controlled by a start bit and stop bits.
이제 상기 도 1을 참조하여 상기 UART의 일반적인 동작을 설명한다. A general operation of the UART will now be described with reference to FIG. 1.
미도시된 CPU(Central Processing Unit)로부터 인가되는 송신을 위한 병렬의 데이터들(D0∼D7)은 송신 데이터 버퍼(8) 및 송신기(16)를 거친 후 직렬의 송신데이터(TxD)로서 미도시된 입출력 장치로 송신된다. Parallel data D0 to D7 for transmission applied from a central processing unit (CPU) not shown are not shown as serial transmission data (TxD) after passing through the transmission data buffer 8 and the transmitter 16. Sent to the input / output device.
그리고 미도시된 입출력 장치로부터 수신되는 직렬의 데이터(RxD)는 수신기(12) 및 수신 데이터 버퍼(2)를 거친 후 병렬 데이터(D0∼D7)로서 CPU로 제공된다. The serial data RxD received from the input / output device (not shown) passes through the
상기 데이터 전송의 초기에 CPU는 모드 명령어(mode instruction) 및 컴맨드 명령어(command instruction)들을 UART로 송신한다. 여기서 상기 모드 명령어는 UART의 보오 레이트(baud rate), 데이터의 캐릭터 길이, 패리티 및 스톱 비트의 수를 설정하기 위한 것이고, 상기 컴맨드 명령어를 통해 UART의 송신 인에이블, 수신 인에이블, 데이터 종료 준비, 송신 요청, 에러 리세트 및 내부 리세트 등을 설정하기 위한 것이다. At the beginning of the data transfer, the CPU sends mode instructions and command instructions to the UART. Here, the mode command is for setting the baud rate of the UART, the character length of the data, the parity, and the number of stop bits. The command enables the transmit enable, the receive enable, and the end of data of the UART. , Transmission request, error reset and internal reset.
이러한 CPU로부터의 모드 명령어 및 컴맨드 명령어는 UART의 컴맨드 레지스터(6)에 저장된다. Mode instructions and command instructions from this CPU are stored in the
상기 UART의 동작모드를 결정하는 모드 명령어 및 컴맨드 명령어가 저장되면, 제어신호들 및 클럭을 수신하는 제어로직(10)에 의해 데이터들의 송수신 동작이 수행된다. When the mode command and the command command for determining the operation mode of the UART are stored, the
그리고 상태 레지스터(4)에는 수신 데이터 버퍼(2) 및 송신 데이터 버퍼(8)들에 입출력되는 데이터들의 현재상태에 따른 정보가 표시된다. In the
그리고 모뎀제어부(14)는 범용 비동기 송수신기와 입출력 장치 사이의 전송을 제어한다.The modem controller 14 controls the transmission between the general purpose asynchronous transceiver and the input / output device.
상기한 바와 같은 USART에 대해서는 대한민국 특허청에 범용 비동기 송수신기의 수신 데이터 처리 방법 및 그 장치를 명칭으로 하여 특허출원된 제10-1994-0040813호가 있다.
For the USART as described above, there is a patent application No. 10-1994-0040813 filed with the name of the method and apparatus for processing the received data of the general purpose asynchronous transceiver in the Korean Patent Office.
상기 CPU에 연결되는 입출력 장치가 다수인 경우에는 상기 CPU에 연결되는 USART는 다수가 되므로 구성이 복잡함은 물론이고 CPU가 다수의 USART를 직접 제어하여 통신하여야 하므로 CPU의 인터럽트 처리 루틴 및 아이들 시간이 많이 소요되는 문제가 있었다.
When there are a large number of input / output devices connected to the CPU, the number of USARTs connected to the CPU is not only complicated, but also requires a large number of USARTs to communicate with the CPU. There was a problem.
본 발명은 CPU에 연결되는 다수의 입출력 장치를 위한 멀티 시리얼 채널을 제공함을 물론이고, 상기 CPU의 통신 특성에 따라 송신기를 단일화함과 아울러 상기 단일화된 송신기와 채널 사이를 선택적으로 스위칭하여, 구성을 단순화시킴은 물론이며 CPU의 처리 프로세스를 절감시키는 멀티 채널 시리얼 통신 장치를 제공하는 것을 목적으로 한다.
The present invention not only provides a multi-serial channel for a plurality of input and output devices connected to the CPU, but also unifies the transmitter according to the communication characteristics of the CPU, and selectively switches between the unified transmitter and the channel, the configuration It is an object of the present invention to provide a multi-channel serial communication device that not only simplifies but also reduces CPU processing processes.
상기한 목적을 달성하기 위한 본 발명에 따르는 멀티 채널 시리얼 통신 장치는, 외부로부터 제공되는 송신 데이터를 수신받아 출력하는 송신모듈; 상기 송신모듈의 출력단자와 입력단자가 연결되고, 다수의 채널의 입력단자 각각과 다수의 출력단자가 서로 대응되게 연결되며, 상기 송신모듈이 출력하는 데이터가 입력되면 채널선택정보에 대응되는 채널과 연결된 출력단자로 출력하는 스위칭부; 상기 다수의 채널의 출력단자 각각과 대응되게 연결되어 상기 다수의 채널로부터 출력되는 데이터를 버퍼링하면서 외부로 전달하는 다수의 수신모듈;을 구비함을 특징으로 한다.
Multi-channel serial communication apparatus according to the present invention for achieving the above object, the transmission module for receiving and outputting the transmission data provided from the outside; The output terminal and the input terminal of the transmission module are connected, and each of the input terminals of the plurality of channels and the plurality of output terminals are connected to each other, and if the data outputted by the transmission module is input, it is connected to the channel corresponding to the channel selection information. A switching unit for outputting to an output terminal; And a plurality of receiving modules connected to the output terminals of the plurality of channels so as to buffer data output from the plurality of channels and to transfer the data to the outside.
본 발명은 CPU에 연결되는 다수의 입출력 장치를 위한 멀티 시리얼 채널을 제공함을 물론이고, 상기 CPU의 통신 특성에 따라 송신기를 단일화함과 아울러 상기 단일화된 송신기와 채널 사이를 선택적으로 스위칭하여, 구성을 단순화시킴은 물론이며 CPU의 처리 프로세스를 절감시킬 수 있는 효과를 야기한다.
The present invention not only provides a multi-serial channel for a plurality of input and output devices connected to the CPU, but also unifies the transmitter according to the communication characteristics of the CPU, and selectively switches between the unified transmitter and the channel, the configuration Simplification as well as the effect of reducing the processing process of the CPU.
도 1은 일반적인 USART의 블럭 구성도.
도 2는 본 발명의 바람직한 실시예에 따른 멀티 채널 시리얼 통신 장치의 구성도. 1 is a block diagram of a general USART.
2 is a block diagram of a multi-channel serial communication apparatus according to a preferred embodiment of the present invention.
본 발명의 멀티 채널 시리얼 통신 장치는 CPU에 연결되는 다수의 입출력 장치를 위한 멀티 시리얼 채널을 제공함을 물론이고, 상기 CPU의 통신 특성에 따라 송신기를 단일화함과 아울러 상기 단일화된 송신기와 채널 사이를 선택적으로 스위칭하여, 구성을 단순화시킴은 물론이며 CPU의 인터럽트 횟수를 감소시킴은 물론이고 아이들 시간을 감소시킬 수있다. The multi-channel serial communication apparatus of the present invention not only provides a multi-serial channel for a plurality of input / output devices connected to the CPU, but also unifies the transmitter according to the communication characteristics of the CPU and selectively selects between the unified transmitter and the channel. By switching to, it not only simplifies configuration, but also reduces the number of interrupts of the CPU as well as reducing idle time.
이러한 본 발명의 바람직한 실시예에 따른 멀티 채널 시리얼 통신 장치의 구성을 도 2를 참조하여 설명한다. The configuration of the multi-channel serial communication apparatus according to the preferred embodiment of the present invention will be described with reference to FIG.
상기 CPU(100)는 데이터의 송신시에는 제1 내지 제N채널 중 어느 한 채널에 대한 송신 데이터를 멀티 채널 시리얼 통신 장치(200)로 제공하고, 데이터의 수신시에는 상기 멀티 채널 시리얼 통신장치(200)로부터 제1 내지 제N채널 중 어느 한 채널에 대한 수신 데이터를 제공받는다. The CPU 100 provides the multi-channel
상기 멀티 채널 시리얼 통신 장치(200)는 송신모듈(202)과 스케줄 모듈(204)과 먹스(206)와 제1 내지 제N수신모듈(2081~208N)로 구성된다. The multi-channel
상기 송신모듈(202)은 CPU(100)로부터 제1 내지 제N채널 중 어느 한 채널에 대한 송신 데이터를 제공받아 먹스(206)로 전달한다. The transmission module 202 receives the transmission data for any one of the first to Nth channels from the CPU 100 and transmits the transmission data to the
상기 스케줄 모듈(204)은 상기 CPU(100)로부터 제1 내지 제N채널 중 어느 한 채널에 대한 송신 데이터를 제공받아 송신 처리를 수행한다. The
좀 더 설명하면, 상기 스케줄 모듈(204)은 제1 내지 제N채널 중 어느 한 채널에 대한 송신 데이터가 수신되면, 상기 해당 채널에 대한 선택정보를 생성하여 먹스(206)에 제공하여 송신모듈(202)로부터의 송신 데이터가 먹스(206)를 통해 채널에 대응되는 출력단자로 출력되게 한다. 이러한 스케줄 모듈(204)은 CPU(100) 대신 송신 처리를 수행함으로써, 데이터 송신을 위한 CPU(100)의 인터럽트 처리 및 송신모듈(202)의 버퍼 확인 절차를 생략할 수 있게 한다. In more detail, when the transmission data for any one of the first to Nth channels is received, the
상기 제어정보는 n의 숫자로 정해지며, 상기 스케줄 모듈(204)이 생성하는 채널선택정보는 수학식 1에 따라 산출된다 The control information is determined by a number of n, and the channel selection information generated by the
상기 먹스(206)는 하나의 입력단자와 제1 내지 제N출력단자를 구비하며, 상기 하나의 입력단자는 상기 송신모듈(202)의 출력단자와 연결되고, 상기 제1 내지 제N출력단자는 제1 내지 제N채널의 입력단자와 연결된다. The
그리고 상기 제1 내지 제N채널의 출력단자는 제1 내지 제N수신모듈(2081 내지 208N)의 입력단자와 연결된다. The output terminals of the first to Nth channels are connected to the input terminals of the first to Nth receiving modules 2021 to 208N.
상기 제1 내지 제N수신모듈(2081 내지 208N)은 상기 제1 내지 제N채널을 통해 수신되는 데이터를 내부 버퍼에 버퍼링하면서 상기 CPU(100)로 전달한다. The first to Nth receiving modules 2021 to 208N transfer the data received through the first to Nth channels to the CPU 100 while buffering the data received in the internal buffer.
상기한 바와 같이 본 발명은 CPU(100)가 한 번에 단 한 개의 송신모듈에만 접근할 수 있음을 감안하여 멀티 채널을 구성함에 있어 하나의 송신모듈을 구비시킴으로써 기기의 구성을 단순화시켜 원가를 절감시키고 부피를 줄일 수 있다. As described above, in the present invention, since the CPU 100 can access only one transmission module at a time, a single transmission module is provided in the configuration of a multi-channel, thereby simplifying the configuration of the device and reducing the cost. Can reduce the volume.
또한 멀티 채널을 통한 시리얼 통신시의 복잡도를 개선하며 CPU의 처리 부하를 절감한다. It also improves the complexity of serial communication over multi-channels and reduces the processing load on the CPU.
이러한 본 발명의 효과를 좀 더 설명한다. The effect of this invention is demonstrated further.
도 1에서 송신에 관계된 부분과 수신에 관계된 부분으로 나누어 보면, 송신 관련부분은 송신 데이터 버퍼(8)와 송신기(16)와 상태 레지스터(4)의 송신부 관련부분과 제어로직(10)의 송신부 관련부분이고, 수신 관련부분은 수신 데이터 버퍼(4), 수신기(12), 상태 레지스터(4)의 수신부 관련부분, 제어로직(10)의 수신부 관련부분이다. In Fig. 1, the transmission related portion is divided into a transmission related portion and a reception related portion. The transmission related portion is related to the transmission portion of the transmission data buffer 8, the transmitter 16, and the
이렇게 두 부분으로 나누어 송신 관련부분의 자원을 Tx라 정의하고, 수신 관련부분의 자원을 Rx라 정의한다면, 일반적인 UART의 복잡도는 Tx+Rx 라 할 수 있다. 또한 총 n개의 멀티 채널이라면 (Tx+Rx) × n의 복잡도를 가진다. If the resource of transmission related part is defined as Tx and the resource of reception related part is defined as Rx, the complexity of general UART can be called Tx + Rx. In addition, a total of n multichannels has a complexity of (Tx + Rx) × n.
본 발명은 일반적인 UART의 복잡도보다 송신 관련부분이 좀 더 효율적이다. 즉, 일반적인 방법의 복잡도가 Tx × n (n=멀티채널의 수)라면, 본 발명에 따른 복잡도는 Tx + Cn (Cn = n 채널의 스케줄모듈(204)의 복잡도)이다. In the present invention, the transmission related part is more efficient than the complexity of the general UART. That is, if the complexity of the general method is Tx × n (n = number of multichannels), the complexity according to the present invention is Tx + Cn (complexity of the
이러한 조건에서 멀티 채널을 구성하게 되는 경우, 일반적인 방법은 n배 증가하지만 본 발명은 Cn의 복잡도만 증가하게 되므로 일반적인 방법에 대해 본 발명의 복잡도가 현격하게 감소된다. 이러한 복잡도의 감소 정도를 일반적인 방법의 복잡도대 본 발명의 복잡도를 토대로 산출하면, 1/n과 같다. In the case of configuring a multi-channel under such conditions, the general method increases by n times, but the complexity of the present invention is remarkably reduced with respect to the general method because the present invention increases only the complexity of Cn. The degree of reduction in complexity is calculated as 1 / n based on the complexity of the general method versus the complexity of the present invention.
100 : CPU
200 : 멀티 채널 시리얼 통신 장치
202 : 송신모듈
204 : 스케줄 모듈
206 : 먹스
2081~208N : 제1 내지 제N수신모듈100: CPU
200: multi-channel serial communication device
202 transmission module
204: schedule module
206: mux
2081 ~ 208N: First to Nth receiving module
Claims (3)
외부로부터 제공되는 송신 데이터를 수신받아 출력하는 송신모듈;
상기 송신모듈의 출력단자와 입력단자가 연결되고,
다수의 채널의 입력단자 각각과 다수의 출력단자가 서로 대응되게 연결되며, 상기 송신모듈이 출력하는 데이터가 입력되면 채널선택정보에 대응되는 채널과 연결된 출력단자로 출력하는 스위칭부;
상기 다수의 채널의 출력단자 각각과 대응되게 연결되어 상기 다수의 채널로부터 출력되는 데이터를 버퍼링하면서 외부로 전달하는 다수의 수신모듈;
을 구비함을 특징으로 하는 멀티 채널 시리얼 통신 장치. In the multi-channel serial communication device,
A transmission module for receiving and outputting transmission data provided from the outside;
An output terminal and an input terminal of the transmission module are connected,
A switching unit connected to each of the input terminals of the plurality of channels and the plurality of output terminals to correspond to each other, and outputting the data to the output terminal connected to the channel corresponding to the channel selection information when data output by the transmitting module is input;
A plurality of receiving modules connected to the output terminals of the plurality of channels so as to buffer data output from the plurality of channels and to transmit them to the outside;
Multi-channel serial communication device comprising a.
외부로부터 제공되는 제어정보에 따라 상기 스위칭부로 제공할 채널선택정보를 생성하는 스케줄 모듈;을 더 구비함을 특징으로 하는 멀티 채널 시리얼 통신 장치. The method of claim 1,
And a schedule module for generating channel selection information to be provided to the switching unit according to control information provided from the outside.
상기 스케줄 모듈은 외부로부터 제공되는 제어정보 N을 수학식 2에 따라 연산하여 상기 채널선택정보를 생성함을 특징으로 하는 멀티 채널 시리얼 통신 장치.
수학식 2
3. The method of claim 2,
The schedule module generates the channel selection information by calculating control information N provided from the outside according to Equation 2.
Equation 2
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120067250A KR101377066B1 (en) | 2012-06-22 | 2012-06-22 | Multi-channel serial communication apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120067250A KR101377066B1 (en) | 2012-06-22 | 2012-06-22 | Multi-channel serial communication apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140000404A true KR20140000404A (en) | 2014-01-03 |
KR101377066B1 KR101377066B1 (en) | 2014-03-25 |
Family
ID=50138283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120067250A KR101377066B1 (en) | 2012-06-22 | 2012-06-22 | Multi-channel serial communication apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101377066B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487992A (en) * | 2014-09-17 | 2016-04-13 | 上海新跃仪表厂 | Multi-channel software-hardware paralleled serial communication processing method |
-
2012
- 2012-06-22 KR KR1020120067250A patent/KR101377066B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487992A (en) * | 2014-09-17 | 2016-04-13 | 上海新跃仪表厂 | Multi-channel software-hardware paralleled serial communication processing method |
CN105487992B (en) * | 2014-09-17 | 2018-11-06 | 上海新跃仪表厂 | The parallel serial communication processing method of multichannel software and hardware |
Also Published As
Publication number | Publication date |
---|---|
KR101377066B1 (en) | 2014-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951388B (en) | PCIe-based DMA data transmission method and system | |
CN111078606B (en) | Analog I2C slave computer, implementation method thereof, terminal device and storage medium | |
AU2013330114A1 (en) | Synchronization time-division multiplexing bus communication method adopting serial communication interface | |
CN102819512A (en) | Full-duplex communication device based on SPI and method thereof | |
CN107592250B (en) | Multi-rate self-adaptive test equipment based on aviation FC bus | |
CN104142901A (en) | Implementation method of serial port multiplexer with transmission priority | |
CN103678209A (en) | Method and system for transmitting data on basis of serial peripheral interface buses | |
EP2815555B1 (en) | Communication bridging between devices via multiple bridge elements | |
CN112269749B (en) | I2C communication system | |
GB2536725A (en) | USB connections | |
CN108920401B (en) | Multi-master multi-slave I2C communication method, system and node equipment | |
US7590146B2 (en) | Information processing unit | |
KR101630599B1 (en) | Serial peripheral interface with control logic for system performance improvement, and method therefor | |
CN105573952A (en) | Multi-channel data transmission system | |
WO2016069944A1 (en) | Simultaneous edge toggling immunity circuit for multi-mode bus | |
KR101377066B1 (en) | Multi-channel serial communication apparatus | |
US8824295B2 (en) | Link between chips using virtual channels and credit based flow control | |
WO2016000376A1 (en) | Signal processing method and signal processing apparatus based on pci-e interfaces | |
CN107181552A (en) | Synchronisation signal transmission method and device, FPGA | |
CN116126771A (en) | Communication system and method for two-wire SPI | |
CN112416837B (en) | Method, circuit and electronic device for forwarding data from SPI module to UART module | |
CN210129207U (en) | Interactive intelligent tablet | |
JP2006304011A (en) | Interface circuit | |
CN106407140B (en) | Data processing method and device | |
EP3188423B1 (en) | Frame reception monitoring method in serial communications |
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 | ||
FPAY | Annual fee payment |
Payment date: 20170203 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180122 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20200204 Year of fee payment: 7 |