KR101377066B1 - 멀티 채널 시리얼 통신 장치 - Google Patents

멀티 채널 시리얼 통신 장치 Download PDF

Info

Publication number
KR101377066B1
KR101377066B1 KR1020120067250A KR20120067250A KR101377066B1 KR 101377066 B1 KR101377066 B1 KR 101377066B1 KR 1020120067250 A KR1020120067250 A KR 1020120067250A KR 20120067250 A KR20120067250 A KR 20120067250A KR 101377066 B1 KR101377066 B1 KR 101377066B1
Authority
KR
South Korea
Prior art keywords
data
transmission
output
channel
channels
Prior art date
Application number
KR1020120067250A
Other languages
English (en)
Other versions
KR20140000404A (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 KR1020120067250A priority Critical patent/KR101377066B1/ko
Publication of KR20140000404A publication Critical patent/KR20140000404A/ko
Application granted granted Critical
Publication of KR101377066B1 publication Critical patent/KR101377066B1/ko

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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

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

멀티 채널 시리얼 통신 장치{Multi-channel serial communication apparatus}
본 발명은 시리얼 통신 장치에 관한 것으로, 더욱 상세하게는 시리얼 통신으로 연결되는 다수의 기기와 CPU 사이의 통신을 제공하는 멀티 채널 시리얼 통신 장치에 관한 것이다.
범용 동기/비동기 송수신기(Universal Synchronous/Asynchronous Receiver and Transmitter : 이하 'USART'라 칭함)는 중앙처리장치와 입출력 장치의 사이에 연결되는 인터페이스로서, 중앙처리장치로부터의 병렬 데이터를 직렬화하여 직렬화된 데이터를 입출력 장치로 전송하며, 입출력 장치로부터의 직렬 데이터를 병렬화하여 병렬화된 데이터를 중앙처리장치로 전송한다.
도 1은 USART의 블럭 구성도를 도시한 것으로, 특히 미합중국 어드밴스드 마이크로 디바이스(Advanced Micro Device)사에서 발행 및 배포하고 있는 1987-1988년도판 데이터북의 제목 'MOS Microprocessors and Peripherals Commercial/Industrial'하에 개시되어 있는 USART를 도시한 것이다.
상기 USART는 데이터의 전송시 동기를 어떻게 취하냐에 따라 비동기(Asynchronous) 모드 혹은 동기(Synchronous) 모드로 구분된다. 상기 동기 모드에서의 데이터 전송은 동기를 위한 클럭신호에 의해 제어되어 수행되고, 상기 비동기 모드에서의 데이터 전송은 스타트 비트 및 스톱 비트들에 의해 제어되어 수행된다.
이제 상기 도 1을 참조하여 상기 UART의 일반적인 동작을 설명한다.
미도시된 CPU(Central Processing Unit)로부터 인가되는 송신을 위한 병렬의 데이터들(D0∼D7)은 송신 데이터 버퍼(8) 및 송신기(16)를 거친 후 직렬의 송신데이터(TxD)로서 미도시된 입출력 장치로 송신된다.
그리고 미도시된 입출력 장치로부터 수신되는 직렬의 데이터(RxD)는 수신기(12) 및 수신 데이터 버퍼(2)를 거친 후 병렬 데이터(D0∼D7)로서 CPU로 제공된다.
상기 데이터 전송의 초기에 CPU는 모드 명령어(mode instruction) 및 컴맨드 명령어(command instruction)들을 UART로 송신한다. 여기서 상기 모드 명령어는 UART의 보오 레이트(baud rate), 데이터의 캐릭터 길이, 패리티 및 스톱 비트의 수를 설정하기 위한 것이고, 상기 컴맨드 명령어를 통해 UART의 송신 인에이블, 수신 인에이블, 데이터 종료 준비, 송신 요청, 에러 리세트 및 내부 리세트 등을 설정하기 위한 것이다.
이러한 CPU로부터의 모드 명령어 및 컴맨드 명령어는 UART의 컴맨드 레지스터(6)에 저장된다.
상기 UART의 동작모드를 결정하는 모드 명령어 및 컴맨드 명령어가 저장되면, 제어신호들 및 클럭을 수신하는 제어로직(10)에 의해 데이터들의 송수신 동작이 수행된다.
그리고 상태 레지스터(4)에는 수신 데이터 버퍼(2) 및 송신 데이터 버퍼(8)들에 입출력되는 데이터들의 현재상태에 따른 정보가 표시된다.
그리고 모뎀제어부(14)는 범용 비동기 송수신기와 입출력 장치 사이의 전송을 제어한다.
상기한 바와 같은 USART에 대해서는 대한민국 특허청에 범용 비동기 송수신기의 수신 데이터 처리 방법 및 그 장치를 명칭으로 하여 특허출원된 제10-1994-0040813호가 있다.
상기 CPU에 연결되는 입출력 장치가 다수인 경우에는 상기 CPU에 연결되는 USART는 다수가 되므로 구성이 복잡함은 물론이고 CPU가 다수의 USART를 직접 제어하여 통신하여야 하므로 CPU의 인터럽트 처리 루틴 및 아이들 시간이 많이 소요되는 문제가 있었다.
본 발명은 CPU에 연결되는 다수의 입출력 장치를 위한 멀티 시리얼 채널을 제공함을 물론이고, 상기 CPU의 통신 특성에 따라 송신기를 단일화함과 아울러 상기 단일화된 송신기와 채널 사이를 선택적으로 스위칭하여, 구성을 단순화시킴은 물론이며 CPU의 처리 프로세스를 절감시키는 멀티 채널 시리얼 통신 장치를 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명에 따르는 멀티 채널 시리얼 통신 장치는, 외부로부터 제공되는 송신 데이터를 수신받아 출력하는 송신모듈; 상기 송신모듈의 출력단자와 입력단자가 연결되고, 다수의 채널의 입력단자 각각과 다수의 출력단자가 서로 대응되게 연결되며, 상기 송신모듈이 출력하는 데이터가 입력되면 채널선택정보에 대응되는 채널과 연결된 출력단자로 출력하는 스위칭부; 상기 다수의 채널의 출력단자 각각과 대응되게 연결되어 상기 다수의 채널로부터 출력되는 데이터를 버퍼링하면서 외부로 전달하는 다수의 수신모듈;을 구비함을 특징으로 한다.
본 발명은 CPU에 연결되는 다수의 입출력 장치를 위한 멀티 시리얼 채널을 제공함을 물론이고, 상기 CPU의 통신 특성에 따라 송신기를 단일화함과 아울러 상기 단일화된 송신기와 채널 사이를 선택적으로 스위칭하여, 구성을 단순화시킴은 물론이며 CPU의 처리 프로세스를 절감시킬 수 있는 효과를 야기한다.
도 1은 일반적인 USART의 블럭 구성도.
도 2는 본 발명의 바람직한 실시예에 따른 멀티 채널 시리얼 통신 장치의 구성도.
본 발명의 멀티 채널 시리얼 통신 장치는 CPU에 연결되는 다수의 입출력 장치를 위한 멀티 시리얼 채널을 제공함을 물론이고, 상기 CPU의 통신 특성에 따라 송신기를 단일화함과 아울러 상기 단일화된 송신기와 채널 사이를 선택적으로 스위칭하여, 구성을 단순화시킴은 물론이며 CPU의 인터럽트 횟수를 감소시킴은 물론이고 아이들 시간을 감소시킬 수있다.
이러한 본 발명의 바람직한 실시예에 따른 멀티 채널 시리얼 통신 장치의 구성을 도 2를 참조하여 설명한다.
상기 CPU(100)는 데이터의 송신시에는 제1 내지 제N채널 중 어느 한 채널에 대한 송신 데이터를 멀티 채널 시리얼 통신 장치(200)로 제공하고, 데이터의 수신시에는 상기 멀티 채널 시리얼 통신장치(200)로부터 제1 내지 제N채널 중 어느 한 채널에 대한 수신 데이터를 제공받는다.
상기 멀티 채널 시리얼 통신 장치(200)는 송신모듈(202)과 스케줄 모듈(204)과 먹스(206)와 제1 내지 제N수신모듈(2081~208N)로 구성된다.
상기 송신모듈(202)은 CPU(100)로부터 제1 내지 제N채널 중 어느 한 채널에 대한 송신 데이터를 제공받아 먹스(206)로 전달한다.
상기 스케줄 모듈(204)은 상기 CPU(100)로부터 제1 내지 제N채널 중 어느 한 채널에 대한 송신 데이터를 제공받아 송신 처리를 수행한다.
좀 더 설명하면, 상기 스케줄 모듈(204)은 제1 내지 제N채널 중 어느 한 채널에 대한 송신 데이터가 수신되면, 상기 해당 채널에 대한 선택정보를 생성하여 먹스(206)에 제공하여 송신모듈(202)로부터의 송신 데이터가 먹스(206)를 통해 채널에 대응되는 출력단자로 출력되게 한다. 이러한 스케줄 모듈(204)은 CPU(100) 대신 송신 처리를 수행함으로써, 데이터 송신을 위한 CPU(100)의 인터럽트 처리 및 송신모듈(202)의 버퍼 확인 절차를 생략할 수 있게 한다.
상기 제어정보는 n의 숫자로 정해지며, 상기 스케줄 모듈(204)이 생성하는 채널선택정보는 수학식 1에 따라 산출된다
Figure 112012049795450-pat00001
상기 먹스(206)는 하나의 입력단자와 제1 내지 제N출력단자를 구비하며, 상기 하나의 입력단자는 상기 송신모듈(202)의 출력단자와 연결되고, 상기 제1 내지 제N출력단자는 제1 내지 제N채널의 입력단자와 연결된다.
그리고 상기 제1 내지 제N채널의 출력단자는 제1 내지 제N수신모듈(2081 내지 208N)의 입력단자와 연결된다.
상기 제1 내지 제N수신모듈(2081 내지 208N)은 상기 제1 내지 제N채널을 통해 수신되는 데이터를 내부 버퍼에 버퍼링하면서 상기 CPU(100)로 전달한다.
상기한 바와 같이 본 발명은 CPU(100)가 한 번에 단 한 개의 송신모듈에만 접근할 수 있음을 감안하여 멀티 채널을 구성함에 있어 하나의 송신모듈을 구비시킴으로써 기기의 구성을 단순화시켜 원가를 절감시키고 부피를 줄일 수 있다.
또한 멀티 채널을 통한 시리얼 통신시의 복잡도를 개선하며 CPU의 처리 부하를 절감한다.
이러한 본 발명의 효과를 좀 더 설명한다.
도 1에서 송신에 관계된 부분과 수신에 관계된 부분으로 나누어 보면, 송신 관련부분은 송신 데이터 버퍼(8)와 송신기(16)와 상태 레지스터(4)의 송신부 관련부분과 제어로직(10)의 송신부 관련부분이고, 수신 관련부분은 수신 데이터 버퍼(4), 수신기(12), 상태 레지스터(4)의 수신부 관련부분, 제어로직(10)의 수신부 관련부분이다.
이렇게 두 부분으로 나누어 송신 관련부분의 자원을 Tx라 정의하고, 수신 관련부분의 자원을 Rx라 정의한다면, 일반적인 UART의 복잡도는 Tx+Rx 라 할 수 있다. 또한 총 n개의 멀티 채널이라면 (Tx+Rx) × n의 복잡도를 가진다.
본 발명은 일반적인 UART의 복잡도보다 송신 관련부분이 좀 더 효율적이다. 즉, 일반적인 방법의 복잡도가 Tx × n (n=멀티채널의 수)라면, 본 발명에 따른 복잡도는 Tx + Cn (Cn = n 채널의 스케줄모듈(204)의 복잡도)이다.
이러한 조건에서 멀티 채널을 구성하게 되는 경우, 일반적인 방법은 n배 증가하지만 본 발명은 Cn의 복잡도만 증가하게 되므로 일반적인 방법에 대해 본 발명의 복잡도가 현격하게 감소된다. 이러한 복잡도의 감소 정도를 일반적인 방법의 복잡도대 본 발명의 복잡도를 토대로 산출하면, 1/n과 같다.
100 : CPU
200 : 멀티 채널 시리얼 통신 장치
202 : 송신모듈
204 : 스케줄 모듈
206 : 먹스
2081~208N : 제1 내지 제N수신모듈

Claims (3)

  1. 멀티 채널 시리얼 통신 장치에 있어서,
    외부로부터 제공되는 송신 데이터를 수신받아 출력하는 송신모듈;
    상기 송신모듈의 출력단자와 입력단자가 연결되고,
    다수의 채널의 입력단자 각각과 다수의 출력단자가 서로 대응되게 연결되며, 상기 송신모듈이 출력하는 데이터가 입력되면 채널선택정보에 대응되는 채널과 연결된 출력단자로 출력하는 스위칭부;
    상기 다수의 채널의 출력단자 각각과 대응되게 연결되어 상기 다수의 채널로부터 출력되는 데이터를 버퍼링하면서 외부로 전달하는 다수의 수신모듈; 및
    외부로부터 제공되는 제어정보에 따라 상기 스위칭부로 제공할 채널선택정보를 생성하는 스케줄 모듈;을 구비함을 특징으로 하는 멀티 채널 시리얼 통신 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 스케줄 모듈은 외부로부터 제공되는 제어정보 n을 수학식 2에 따라 연산하여 상기 채널선택정보를 생성함을 특징으로 하는 멀티 채널 시리얼 통신 장치.
    수학식 2
    Figure 112013083223310-pat00005
KR1020120067250A 2012-06-22 2012-06-22 멀티 채널 시리얼 통신 장치 KR101377066B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120067250A KR101377066B1 (ko) 2012-06-22 2012-06-22 멀티 채널 시리얼 통신 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120067250A KR101377066B1 (ko) 2012-06-22 2012-06-22 멀티 채널 시리얼 통신 장치

Publications (2)

Publication Number Publication Date
KR20140000404A KR20140000404A (ko) 2014-01-03
KR101377066B1 true KR101377066B1 (ko) 2014-03-25

Family

ID=50138283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120067250A KR101377066B1 (ko) 2012-06-22 2012-06-22 멀티 채널 시리얼 통신 장치

Country Status (1)

Country Link
KR (1) KR101377066B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105487992B (zh) * 2014-09-17 2018-11-06 上海新跃仪表厂 多通道软硬件并行串口通讯处理方法

Also Published As

Publication number Publication date
KR20140000404A (ko) 2014-01-03

Similar Documents

Publication Publication Date Title
CN106951388B (zh) 一种基于PCIe的DMA数据传输方法及系统
US10261930B2 (en) System, device and method for transmitting signals between different communication interfaces
US20150220472A1 (en) Increasing throughput on multi-wire and multi-lane interfaces
CN111078606B (zh) 一种模拟i2c从机及其实现方法、终端设备和存储介质
CN102819512A (zh) 一种基于spi的全双工通信装置及其方法
EP3273359A1 (en) Configurable clock tree
AU2013330114A1 (en) Synchronization time-division multiplexing bus communication method adopting serial communication interface
CN104142901A (zh) 一种具有传输优先级的串口复用器实现方法
CN103678209A (zh) 基于串行外围设备接口总线的数据传输方法和系统
CN112269749B (zh) I2c通信系统
US9990330B2 (en) Simultaneous edge toggling immunity circuit for multi-mode bus
CN105573952A (zh) 一种多通道数据传输的系统
KR101377066B1 (ko) 멀티 채널 시리얼 통신 장치
KR20150039142A (ko) 시스템 성능 향상을 위한 제어 로직을 구비한 직렬 주변기기 인터페이스 및 그 구동 방법
US8824295B2 (en) Link between chips using virtual channels and credit based flow control
CN112328523B (zh) 传输双倍速率信号的方法、装置及系统
KR20160016843A (ko) 데이터 통신 방법, 통신 제어기 및 회로 배열체
US20160299861A1 (en) Method for improving the performance of synchronous serial interfaces
WO2016000376A1 (zh) 一种基于pci-e接口的信号处理方法及信号处理装置
CN203054827U (zh) 基于串行外围设备接口总线的数据传输系统
US11580040B2 (en) Synchronized processing of process data and delayed transmission
US7724775B2 (en) Data transmission circuit and method for controlling the data transmission circuit
JP2006304011A (ja) インタフェース回路
CN106407140B (zh) 数据处理方法及装置
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