KR20190091929A - Uart 통신속도 자동 전환 방법 - Google Patents

Uart 통신속도 자동 전환 방법 Download PDF

Info

Publication number
KR20190091929A
KR20190091929A KR1020180011090A KR20180011090A KR20190091929A KR 20190091929 A KR20190091929 A KR 20190091929A KR 1020180011090 A KR1020180011090 A KR 1020180011090A KR 20180011090 A KR20180011090 A KR 20180011090A KR 20190091929 A KR20190091929 A KR 20190091929A
Authority
KR
South Korea
Prior art keywords
communication speed
communication
speed
start bit
interrupt
Prior art date
Application number
KR1020180011090A
Other languages
English (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 KR1020180011090A priority Critical patent/KR20190091929A/ko
Priority to JP2019010422A priority patent/JP2019134419A/ja
Priority to EP19153822.2A priority patent/EP3518114A1/en
Priority to US16/257,772 priority patent/US10785063B2/en
Priority to CN201910086657.7A priority patent/CN110096464A/zh
Publication of KR20190091929A publication Critical patent/KR20190091929A/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/382Information transfer, e.g. on bus using universal interface adapter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0262Arrangements for detecting the data rate of an incoming signal
    • 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
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • 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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0036Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
    • H04L1/0038Blind format detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0202Channel estimation
    • H04L25/0222Estimation of channel variability, e.g. coherence bandwidth, coherence time, fading frequency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0202Channel estimation
    • H04L25/0238Channel estimation using blind estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/05Electric or magnetic storage of signals before transmitting or retransmitting for changing the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/24Interrupt
    • G06F2213/2418Signal interruptions by means of a message

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Quality & Reliability (AREA)
  • Communication Control (AREA)
  • Dc Digital Transmission (AREA)

Abstract

본 발명은 저속 장치와 통신하는 중 다른 장치로부터 고속통신 요구가 들어올 때 통신속도를 요구된 고속통신의 통신속도로 자동 전환하여 기존 종래 기술에서 네트워크에 한가지 속도만 지정할 수 있는 문제점을 해결할 수 있는 방법에 관한 것이다. 본 발명의 UART 통신속도 자동 전환 방법은, (A) 인터럽트 검출부를 통해 인터럽트 신호를 이용하여 스타트 비트의 펄스 폭을 측정하는 단계; (B) 통신속도 검출부를 통해 상기 측정된 펄스 폭이 유지되는 시간을 이용하여 통신속도를 산출하는 단계; 및 (C) 통신속도 전환부를 통해 상기 산출된 통신속도로 현재의 통신속도를 전환하는 단계;를 포함한다.

Description

UART 통신속도 자동 전환 방법{Method for Automatic Switching Communication Speed of UART}
본 발명은 UART(Universal Asynchronous Receiver Transmitter) 통신에 관한 것으로, 구체적으로, UART 통신에서 장치 간의 저속통신 중 자신이 지원하는 범위 내의 고속통신 요구가 들어오는 경우 통신속도를 가변적으로 변경하여 데이터 통신을 수행하는 방법에 관한 것이다.
통신이란 장치 간에 필요한 데이터를 주고 받는 일련의 시스템을 말하며, UART(Universal asynchronous receiver transmitter : 범용 비동기화 송수신기)는 컴퓨터에 부착된 직렬 장치들로 향하는 인터페이스를 제어하는 프로그램이 들어 있는 마이크로 칩으로서, 모뎀이나 기타 다른 직렬 장치들과 통신하거나 데이터를 주고 받을 수 있게 한다.
이러한 UART를 이용한 UART 통신은 일반적인 CPU에 내장되어 있는 보편적인 통신으로서, 장치 간의 통신을 위해 일반적으로 사용되는 통신이다.
그런데, UART 통신은 고속통신을 지원하는 장치가 저속통신 장치와 통신하기 위해 부득이하게 낮은 속도로 통신하도록 설정되는 경우, 다른 고속통신 장치와의 통신이 앞에 설정된 낮은 속도로 통신을 수행해야 하거나, 경우에 따라서는 통신속도 차이로 인해 다른 고속통신 장치와의 해석불가로 무시되어 통신이 이루어지지 못하는 경우가 발생된다.
도 1a, 도 1b 및 도 1c는 종래의 서로 다른 통신속도를 갖는 장치가 같은 네트워크에 연결된 구조를 나타낸 구성도이다.
도 1a에서 도시하고 있는 것과 같이, 제 1 장치(10), 제 2 장치(20) 및 제 3 장치(30)는 하나의 통신 라인(40)으로 연결되어 있으며, 제 1 장치(10) 및 제 3 장치(30)는 1900[bps]부터 115200[bps]까지의 통신속도를 지원하고, 제 2 장치(20)는 4800[bps]의 통신속도만을 지원한다.
이에 따라, 제 1 장치(10)는 제 2 장치(30)와 통신하기 위해 4800[bps]의 통신속도로 설정되어, 도 1b에서 도시하고 있는 것과 같이, 제 2 장치(10)와 4800[bps]의 통신속도로 통신을 수행하게 된다.
그리고 제 1 장치(10)가 4800[bps]의 통신속도로 제 2 장치(20)와 통신하고 있는 상태에서 제 3 장치(30)로부터 제 1 장치(10)로 115200[bps]의 통신속도로 통신요구가 이루어지면, 도 1c에서 도시하고 있는 것과 같이, 제 1 장치(10)는 자신이 지원하는 범위 내의 통신속도 임에도 제 3 장치(30)와의 통신이 이루어지지 못하게 된다.
이는 제 1 장치(10)가 제 2 장치(20)와의 통신을 위해 미리 낮은 속도인 4800[bps]로 통신속도를 설정하게 되에 따라, 제 3 장치(30)가 제 1 장치(10)로 요청한 데이터가 제 1 장치(10)가 지원하는 범위 내의 통신속도 임에도 제 1 장치(10)는 제 3 장치(30)에서 요청한 통신요구는 속도 차이로 인해 해석불가로 무시되어 응답이 발생하지 않게 된다.
이와 같이 장치 간 설정된 속도가 다른 경우에는 서로 간에 통신을 절대 할 수 없다는 문제점이 있다. 실제로 산업현장에서 비교적 간단한 센서와 같은 장치들 중 지원속도가 다른 경우가 존재하며, 이런 경우에 이와 같은 문제점으로 인해 네트워크 전체 속도를 느리게 하는 요인이 되기도 한다.
본 발명은, 저속 장치와 통신하는 중 다른 장치로부터 고속통신 요구가 들어올 때 통신속도를 요구된 고속통신의 통신속도로 자동 전환하여 기존 종래 기술에서 네트워크에 한가지 속도만 지정할 수 있는 문제점을 해결할 수 있는 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은, UART 통신에서 장치 간의 저속통신 중 자신이 지원하는 범위 내의 고속통신 요구가 들어오는 경우 통신속도를 가변적으로 변경하여 데이터 통신을 수행하는 방법을 제공하는데 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이와 같은 문제를 해결하기 위하여, 본 발명의 UART 통신속도 자동 전환 방법은, 장치 간의 데이터 통신을 수행하는 UART 통신 방법에 있어서, (A) 인터럽트 검출부를 통해 인터럽트 신호를 이용하여 스타트 비트의 펄스 폭을 측정하는 단계; (B) 통신속도 검출부를 통해 상기 측정된 펄스 폭이 유지되는 시간을 이용하여 통신속도를 산출하는 단계; 및 (C) 통신속도 전환부를 통해 상기 산출된 통신속도로 현재의 통신속도를 전환하는 단계를 포함한다.
또한, 상기 (A) 단계는 스타트 비트의 폴링 에지 또는 라이징 에지에서부터 스타트 비트가 로우 레벨 또는 하이 레벨인 동안에 발생되는 모든 인터럽트 신호를 샘플링하는 단계와, 상기 샘플링되는 인터럽트 신호의 개수 및 인터럽트 신호가 제공되는 일정한 주기를 이용하여 스타트 비트의 펄스 폭을 측정하는 단계를 포함한다.
또한, 상기 (A) 단계는 스타트 비트의 폴링 에지 또는 라이징 에지에서부터 스타트 비트가 로우 레벨 또는 하이 레벨인 동안에 발생되는 모든 인터럽트 신호 중 최초 인터럽트 신호와 마지막 인터럽트 신호를 검출하는 단계와, 상기 최초 인터럽트 신호가 검출된 시간과 마지막 인터럽트 신호가 검출된 시간을 이용하여 스타트 비트의 펄스 폭을 측정하는 단계를 포함한다.
또한, 상기 (B) 단계는 상기 측정된 스타트 비트의 펄스 폭이 유지되는 시간으로 일정 시간 동안 발생된 펄스의 횟 수를 측정하여 통신속도를 산출한다.
또한, 상기 (B) 단계는 수식
Figure pat00001
를 이용하여 통신속도를 산출하며, 이때, 상기
Figure pat00002
는 스타트 비트의 로우 레벨 또는 하이 레벨이 유지되는 시간이고, 상기
Figure pat00003
는 통신속도이고, 상기
Figure pat00004
는 1초를 나타낸다.
또한, 상기 (C) 단계는 상기 산출된 통신속도를 현재 설정된 통신속도와 비교하는 단계와, 상기 비교결과, 산출된 통신속도와 현재 통신속도가 서로 다르면, 현재의 통신속도를 산출된 통신속도로 전환하여 변경하는 단계와, 상기 비교결과, 산출된 통신속도와 현재 통신속도가 서로 동일하면, 현재의 통신속도를 그대로 유지하는 단계를 포함한다.
또한, 상기 산출된 통신속도로 전환하여 변경하는 단계는 상기 산출된 통신속도보다 지원 가능한 통신속도가 느린 경우, 지원 가능한 가장 빠른 통신속도로 전환하여 변경하는 단계를 포함한다.
또한, 상기 (C) 단계에서 전환된 통신속도로 데이터 통신을 지원하여 데이터를 수신하는 단계와, 엔드(end) 비트가 도착하면 현재 장치간 통신을 완료하는 단계를 포함한다.
또한, 상기 현재 장치간 통신이 완료되면, 변경된 통신속도를 기존의 통신속도로 회귀되도록 변경한다.
전술한 바와 같은 본 발명에 의하면, 본 발명의 UART 통신속도 자동 전환 방법은, 자신이 지원하는 범위 내에서 다른 장치로부터 요구되는 통신속도로 자동 전환하여 저속통신에서 고속통신까지 모두 가능한 효과가 있다.
이는 고속 통신을 지원하는 장치가 저속 통신 장치와 통신하기 위해 낮은 속도로 통신하도록 설정되어, 고속 통신 장치와의 통신도 저속으로 이루어지는 불합리한 현상을 해소할 수 있다.
따라서 같은 네트워크에 서로 다른 통신속도를 갖는 장치가 연결된 구조에서도 저속 통신 장치의 통신속도 뿐만 아니라 고속 통신 장치의 통신속도까지 모두 가능하게 됨에 따라, 네트워크 전체 속도를 느리게 하는 요인이 해소되어 빠른 통신속도를 제공할 수 있다.
상술한 효과와 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도 1a, 도 1b 및 도 1c 는 종래의 서로 다른 통신속도를 갖는 장치가 같은 네트워크에 연결된 구조를 나타낸 구성도
도 2 는 본 발명의 실시예에 따른 UART 통신속도 자동 전환을 위한 구성을 나타낸 구성도
도 3 은 도 2의 인터럽트 검출부에서 통신속도를 구분하기 위한 스타트 비트 특성을 나타낸 도면
도 4 는 도 2의 인터럽트 검출부에서 스타트 비트의 펄스폭을 측정하는 방법을 나타낸 실시예
도 5 는 도 2의 인터럽트 검출부에서 스타트 비트의 펄스폭을 측정하는 방법을 나타낸 다른 실시예
도 6 은 본 발명의 실시예에 따른 UART 통신속도 자동 전환 방법을 설명하기 위한 흐름도
도 7 은 도 6에서 통신속도를 전환하는 과정을 상세히 설명하기 위한 흐름도
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
이하에서는, 도 2 내지 도 7을 참조하여 본 발명의 몇몇 실시예에 따른 UART 통신속도 자동 전환 방법에 대해 설명하도록 한다.
도 2 는 본 발명의 실시예에 따른 UART 통신속도 자동 전환을 위한 구성을 나타낸 구성도이고, 도 3 은 도 2의 인터럽트 검출부에서 통신속도를 구분하기 위한 스타트 비트 특성을 나타낸 도면이다.
도 2를 참조하면, UART(110)와 연결되는 UART 신호선 중 임의의 한 선이 사용하는 MPU(100)의 인터럽트부(120)와 연결되는 MPU(100)와, 상기 인터럽트부(120)에서 제공되는 인터럽트 신호를 이용하여 스타트(start) 비트의 펄스 폭을 측정하는 인터럽트 검출부(200)와, 상기 인터럽트 검출부(200)에서 측정된 스타트 비트의 펄스 폭을 이용하여 통신속도를 산출하는 통신속도 산출부(300)와, 상기 통신속도 산출부(300)에서 산출된 통신속도로 현재의 통신속도를 전환하는 통신속도 전환부(400)로 구성된다. 도 2에서는 인터럽트 검출부(200), 통신속도 산출부(300) 및 통신속도 전환부(400)를 MPU(100)와 별도 구성되도록 도시하고 있지만, 이에 한정되지 않으며, MPU(100) 내에 인터럽트 검출부(200), 통신속도 산출부(300) 및 통신속도 전환부(400) 중 적어도 하나 이상이 포함될 수 있다.
이때, 상기 MPU(100)는 UART(110)와 인터럽트부(120)를 포함하며, 외부에서 인가되는 제 1, 2 UART 신호선이 UART(110)에 연결되고, 상기 UART(110)와 연결되는 제 1, 2 UART 신호선 중 임의의 한 선이 인터럽트부(120)에 연결된다.
또한 상기 인터럽트 검출부(200)는 도 3에서 도시하고 있는 것과 같이, 스타트 비트가 검출되면 폴링(falling) 에지 또는 라이징(rising) 에지로 인해 인터럽트부(120)에서 제공되는 인터럽트 신호를 측정하여 스타트 비트의 펄스 폭을 측정한다. 이때, 스타트 비트는 일반적으로 하이(high) 레벨에서 로우(low) 레벨로 1회 떨어졌다 다시 올라간다. 따라서 스타트 비트의 로우 레벨 동안에 측정되는 인터럽트 신호의 시간 정보를 이용하면 스타트 비트의 펄스폭을 측정할 수 있다.
상기 인터럽트 검출부(200)는 측정되는 인터럽트 신호를 이용하여 스타트 비트의 펄스폭을 측정하는 방법에는 다양한 방법이 있을 수 있으며, 그 바람직한 실시예로서 다음 두 가지를 기재하여 설명하고자 한다. 그러나 이는 바람직한 하나의 실시예일 뿐, 그 제한을 가지는 것은 아니며 그 기술적 사상을 통해 다양한 실시예를 가질 수 있다.
도 4 는 도 2의 인터럽트 검출부에서 스타트 비트의 펄스폭을 측정하는 방법을 나타낸 첫 번째 실시예이다.
도 4에서 도시하고 있는 것과 같이, 스타트 비트가 검출되면, 폴링(falling) 에지에서부터 스타트 비트가 로우 레벨인 동안에 인터럽트부(120)에서 제공되는 인터럽트 신호를 모두 수신하여 샘플링한다. 이때 인터럽트부(120)에서 제공되는 인터럽트 신호는 스타트 비트가 로우 레벨에서 하이 레벨로 올라갈 때까지 일정한 주기로 제공되며, 하이 레벨로 올라간 이후에는 제공되는 인터럽트 신호가 정지된다. 도 4에서는 제 1 샘플링 인터럽트 신호와 제 2 샘플링 인터럽트 신호의 주기를 8[㎲]로 기재하고 있으나, 이는 인터럽트부(120) 및 통신속도 등에 따라 변경이 가능하다. 그러나 인터럽트 신호의 주기는 설정된 이후에는 고정되거나, 또는 하나의 장치 간 통신 중에는 변경되지 않고 일정한 주기를 가지게 된다.
이어 이렇게 샘플링되는 인터럽트 신호의 개수 및 인터럽트 신호가 제공되는 일정한 주기를 이용하여 스타트 비트의 펄스 폭을 측정한다.
도 5 는 도 2의 인터럽트 검출부에서 스타트 비트의 펄스폭을 측정하는 방법을 나타낸 두 번째 실시예이다.
도 5에서 도시하고 있는 것과 같이, 스타트 비트가 검출되면, 폴링 에지에서부터 스타트 비트가 로우 레벨인 동안에 인터럽트부(120)에서 제공되는 인터럽트 신호 중 최초 인터럽트 신호와 마지막 인터럽트 신호만을 검출한다. 이때, 최초 인터럽트 신호가 검출된 시간과 마지막 인터럽트 신호가 검출된 시간을 함께 검출한다.
이어 최초 인터럽트 신호가 검출된 시간과 마지막 인터럽트 신호가 검출된 시간을 이용하여 스타트 비트의 펄스 폭을 측정한다.
그리고 상기 통신속도 산출부(300)는 인터럽트 검출부(200)에서 측정된 스타트 비트의 펄스 폭이 유지되는 시간으로 일정 시간(1초) 동안 몇 회의 펄스가 발생할 수 있는지를 측정하여 통신속도를 산출한다. 다음 수학식 1은 통신속도를 산출하기 위한 수식을 나타낸다.
Figure pat00005
이때, 상기
Figure pat00006
는 스타트 비트의 로우 레벨 또는 하이 레벨이 유지되는 시간이고, 상기
Figure pat00007
는 통신속도이고, 상기
Figure pat00008
는 1초를 나타낸다.
상기 수학식 1을 이용하여 통신속도를 산출하면, 로우 레벨이 유지되는 시간이 833[㎲]인 경우 통신속도는 1200[bps]가 산출되고, 로우 레벨이 유지되는 시간이 8.6[㎲]인 경우 통신속도는 115200[bps]가 산출된다.
그리고 상기 통신속도 전환부(400)는 통신속도 산출부(300)에서 산출된 통신속도를 현재 설정된 통신 속도와 비교하여, 다른 경우 산출된 통신속도로 현재의 통신속도를 자동 전환한다.
이에 따라, 본 발명이 적용되면 고속통신을 지원하는 장치와는 고속데이터 통신을, 저속 데이터 통신을 지원하는 장치와는 저속 데이터 통신을 수행할 수 있어, 보다 효과적인 네트워크를 구축할 수 있다.
이와 같이 구성된 본 발명의 실시예에 따른 UART 통신속도 자동 전환을 위한 구성에 따른 동작을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다. 도 1a 내지 도 1c 및 도 2와 동일한 참조부호는 동일한 기능을 수행하는 동일한 부재를 지칭한다.
도 6 은 본 발명의 실시예에 따른 UART 통신속도 자동 전환 방법을 설명하기 위한 흐름도이다.
도 6을 참조하여 설명하면, 먼저 스타트 비트가 검출되면(S100), 인터럽트 검출부(200)를 이용하여 인터럽트부(120)에서 제공되는 인터럽트 신호를 이용하여 스타트(start) 비트의 펄스 폭을 측정한다(S200).
이때, 스타트 비트의 펄스 폭은 도 3에서 도시하고 있는 것과 같이, 스타트 비트가 검출되면 폴링(falling) 에지 또는 라이징(rising) 에지로 인해 인터럽트부(120)에서 제공되는 인터럽트 신호를 측정하여 스타트 비트의 펄스 폭을 측정한다. 이때, 스타트 비트는 일반적으로 하이(high) 레벨에서 로우(low) 레벨로 1회 떨어졌다 다시 올라간다. 따라서 스타트 비트의 로우 레벨 동안에 측정되는 인터럽트 신호의 시간 정보를 이용하면 스타트 비트의 펄스폭을 측정할 수 있다.
상기 인터럽트 신호를 이용하여 스타트 비트의 펄스폭을 측정하는 방법에는 다양한 방법이 있을 수 있으며, 그 바람직한 실시예로서 다음 두 가지를 기재하여 설명하고자 한다. 그러나 이는 바람직한 하나의 실시예일 뿐, 그 제한을 가지는 것은 아니며 그 기술적 사상을 통해 다양한 실시예를 가질 수 있다.
첫 번째 실시예로서, 도 4에서 도시하고 있는 것과 같이, 스타트 비트가 검출되면, 폴링 에지에서부터 스타트 비트가 로우 레벨인 동안에 샘플링되는 인터럽트 신호의 개수 및 인터럽트 신호가 제공되는 일정한 주기를 이용하여 스타트 비트의 펄스 폭을 측정한다. 상기 첫 번째 실시예는 전술되어 있음에 따라, 상세한 설명은 생략한다.
두 번째 실시예로서, 도 5에서 도시하고 있는 것과 같이, 스타트 비트가 검출되면, 폴링 에지에서부터 스타트 비트가 로우 레벨인 동안에 최초 인터럽트 신호가 검출된 시간과 마지막 인터럽트 신호가 검출된 시간을 이용하여 스타트 비트의 펄스 폭을 측정한다. 상기 두 번째 실시예는 전술되어 있음에 따라, 상세한 설명은 생략한다.
이어, 통신속도 검출부(300)를 이용하여, 상기 측정된 스타트 비트의 펄스 폭을 이용하여 통신속도를 산출한다(S300).
상기 단계 300을 바람직한 실시예를 통해 상세히 설명하면, 상기 수학식 1을 이용하여 측정된 스타트 비트의 펄스 폭이 유지되는 시간으로 일정 시간(1초) 동안 몇 회의 펄스가 발생할 수 있는지를 측정하여 통신속도를 산출한다.
실시예로서, 상기 수학식 1을 이용하여 통신속도를 산출하면, 로우 레벨이 유지되는 시간이 833[㎲]인 경우 통신속도는 1200[bps]가 산출되고, 로우 레벨이 유지되는 시간이 8.6[㎲]인 경우 통신속도는 115200[bps]가 산출된다.
다음으로, 통신속도 전환부(400)를 이용하여, 상기 산출된 통신속도로 현재의 통신속도를 전환한다(S400).
상기 단계 400을 바람직한 실시예를 통해 상세히 설명하면 다음과 같다.
도 7 은 도 6에서 통신속도를 전환하는 과정을 상세히 설명하기 위한 흐름도이다.
도 7에서 도시하고 있는 것과 같이, 먼저 통신속도 산출부(300)에서 산출된 통신속도를 현재 설정된 통신속도와 비교한다(S410).
상기 비교결과, 산출된 통신속도와 현재 통신속도가 서로 다르면(S420), 현재의 통신속도를 산출된 통신속도로 전환하여 변경한다(S430). 즉, 도 1b에서 제 1 장치(10)는 제 2 장치(20)간에 서로 4800[bps]의 통신속도로 통신한 후, 제 3 장치(30)로부터 통신요구가 이루어지면, 제 1 장치(10)는 현재 통신속도가 4800[bps]를 설정하고 있으며, 제 3 장치(30)로부터 산출된 통신속도는 115200[bps]이므로, 제 1 장치(10)는 산출된 통신속도인 115200[bps]로 전환하여 변경한다. 한편, 제 2 장치(20)와 같이 오직 4800[bps]의 통신속도로만 통신이 이루어지는 장치의 경우는 타 장치의 통신속도가 다른 통신속도(예로서 115200[bps]로 산출되더라도, 제 2 장치(20)에서 지원 가능한 통신속도인 4800[bps]만으로 통신이 이루어지게 된다. 이때, 제 2 장치(20)에서 지원 가능한 통신속도가 최대 19200[bps]인 경우라면, 현재 통신속도를 지원 가능한 통신속도 중 최고인 19200[bps]로 전환하여 변경할 수 있다.
또한 상기 비교결과, 산출된 통신속도와 현재 통신속도가 서로 동일하면(S420), 현재의 통신속도를 그대로 유지한다(S440).
이렇게 설정되어 있는 통신속도로 데이터 통신을 지원하여 데이터를 수신하고 저장한다(S450).
그리고 엔드(end) 비트가 도착할 때까지 모든 데이터를 수신하여 저장하고, 모든 데이터의 전송이 완료된 후 엔드 비트가 도착하면(S460), 현재 장치간 통신은 완료된 것으로 판단하고 종료한다. 이때, 엔드 비트는 스타트 비트와 마찬가지로 하이(high) 레벨에서 로우(low) 레벨로 1회 떨어졌다 다시 올라가는 신호로서, 데이터는 설정에 따라 7비트 또는 8비트씩 도달하기 때문에 데이터의 전송이 완료된 후 도착하는 엔드 비트는 손쉽게 확인이 가능하다.
한편, 현재의 통신속도가 변경되는 타겟 장치는 엔드 비트가 도착하여 현재 통신이 완료된 것으로 판단되면, 변경된 통신속도를 그대로 유지하거나 또는 기존의 통신속도로 회귀되도록 변경할 수도 있다. 이는 같은 네트워크에 연결된 서로 다른 통신속도를 갖는 장치들의 각각의 통신속도, 데이터 전송량, 데이터 전송 횟수 등에 따라 변경되어 설정될 수 있다.
이에 따라, 본 발명이 적용되면 고속통신을 지원하는 장치와는 고속데이터 통신을, 저속 데이터 통신을 지원하는 장치와는 저속 데이터 통신을 수행할 수 있어, 보다 효과적인 네트워크를 구축할 수 있다.
전술한 UART 통신속도 자동 전환 방법을 도 1a, 도 1b의 구성과 같이, 1900[bps]부터 115200[bps]까지의 통신속도를 지원하는 제 1 장치(10) 및 제 3 장치(30)와, 4800[bps]의 통신속도만을 지원하는 제 2 장치(20)가 하나의 통신 라인(40)으로 연결된 네트워크 구조를 적용하여 설명하면 다음과 같다.
먼저, 제 1 장치(10)를 타겟으로 제 2 장치(20)와 통신속도 4800[bps]로 통신을 수행하고 있는 상태에서, 제 3 장치(30)가 제 1 장치(10)를 타겟으로 데이터를 전송한다.
이때, 제 1 장치(10)는 제 2 장치(20)와 통신속도 4800[bps]로 모든 데이터를 수신 및 저장되면, 먼저 제 3 장치(30)로부터 통신속도 115200[bps]로 전달되는 데이터에서 스타트 비트를 검출한다.
그리고 인터럽트 검출부(200)를 이용하여 인터럽트부(120)에서 제공되는 인터럽트 신호를 이용하여 전술한 도 4 또는 도 5에서 도시하고 있는 방법을 이용하여 스타트 비트의 펄스 폭을 측정한다.
이어, 통신속도 검출부(300)를 이용하여, 상기 수학식 1을 이용하여 측정된 스타트 비트의 펄스 폭이 유지되는 시간에 일정 시간(1초) 동안 몇 회의 펄스가 발생할 수 있는지를 측정하여 통신속도를 산출한다.
다음으로, 통신속도 전환부(400)를 이용하여, 산출된 통신속도를 현재 설정된 통신속도와 비교하고, 산출된 통신속도와 현재 통신속도가 서로 다르면 현재의 통신속도를 산출된 통신속도로 전환하여 변경한다. 또한 상기 비교결과, 산출된 통신속도와 현재 통신속도가 서로 동일하면, 현재의 통신속도를 그대로 유지한다.
이렇게 설정되어 있는 통신속도로 데이터 통신을 지원하여 엔드(end) 비트가 도착할 때까지 데이터를 수신하고 저장한다.
이처럼, 제 1 장치(10)는 자신이 지원하는 범위 내에서 다른 장치로부터 요구되는 통신속도로 자동 전환할 수 있어, 제 2 장치(20)와는 4800[bps]의 통신속도로 데이터 통신을 수행하고, 제 3 장치(30)와는 115200[bps]의 통신속도로 데이터 통신을 수행하여 저속통신에서 고속통신까지 모두 가능한 효과가 있다.
이는 고속 통신을 지원하는 장치가 저속 통신 장치와 통신하기 위해 낮은 속도로 통신하도록 설정되어, 고속 통신 장치와의 통신도 저속으로 이루어지는 불합리한 현상을 해소할 수 있어, 네트워크 전체 속도를 느리게 하는 요인이 해소되어 빠른 통신속도를 제공할 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100: MPC 110: UART
120: 인터럽트부 200: 인터럽트 검출부
300: 통신속도 산출부 400: 통신속도 전환부

Claims (9)

  1. 장치 간의 데이터 통신을 수행하는 UART 통신 방법에 있어서,
    (A) 인터럽트 검출부를 통해 인터럽트 신호를 이용하여 스타트 비트의 펄스 폭을 측정하는 단계;
    (B) 통신속도 검출부를 통해 상기 측정된 펄스 폭이 유지되는 시간을 이용하여 통신속도를 산출하는 단계; 및
    (C) 통신속도 전환부를 통해 상기 산출된 통신속도로 현재의 통신속도를 전환하는 단계를 포함하는
    통신속도 자동 전환 방법.
  2. 제 1 항에 있어서,
    상기 (A) 단계는
    스타트 비트의 폴링 에지 또는 라이징 에지에서부터 스타트 비트가 로우 레벨 또는 하이 레벨인 동안에 발생되는 모든 인터럽트 신호를 샘플링하는 단계와,
    상기 샘플링되는 인터럽트 신호의 개수 및 인터럽트 신호가 제공되는 일정한 주기를 이용하여 스타트 비트의 펄스 폭을 측정하는 단계를 포함하는 통신속도 자동 전환 방법.
  3. 제 1 항에 있어서,
    상기 (A) 단계는
    스타트 비트의 폴링 에지 또는 라이징 에지에서부터 스타트 비트가 로우 레벨 또는 하이 레벨인 동안에 발생되는 모든 인터럽트 신호 중 최초 인터럽트 신호와 마지막 인터럽트 신호를 검출하는 단계와,
    상기 최초 인터럽트 신호가 검출된 시간과 마지막 인터럽트 신호가 검출된 시간을 이용하여 스타트 비트의 펄스 폭을 측정하는 단계를 포함하는 통신속도 자동 전환 방법.
  4. 제 1 항에 있어서,
    상기 (B) 단계는
    상기 측정된 스타트 비트의 펄스 폭이 유지되는 시간으로 일정 시간 동안 발생된 펄스의 횟 수를 측정하여 통신속도를 산출하는 통신속도 자동 전환 방법.
  5. 제 4 항에 있어서,
    상기 (B) 단계는
    수식
    Figure pat00009
    를 이용하여 통신속도를 산출하며,
    이때, 상기
    Figure pat00010
    는 스타트 비트의 로우 레벨 또는 하이 레벨이 유지되는 시간이고, 상기
    Figure pat00011
    는 통신속도이고, 상기
    Figure pat00012
    는 1초를 나타내는 통신속도 자동 전환 방법.
  6. 제 1 항에 있어서,
    상기 (C) 단계는
    상기 산출된 통신속도를 현재 설정된 통신속도와 비교하는 단계와,
    상기 비교결과, 산출된 통신속도와 현재 통신속도가 서로 다르면, 현재의 통신속도를 산출된 통신속도로 전환하여 변경하는 단계와,
    상기 비교결과, 산출된 통신속도와 현재 통신속도가 서로 동일하면, 현재의 통신속도를 그대로 유지하는 단계를 포함하는 통신속도 자동 전환 방법.
  7. 제 6 항에 있어서,
    상기 산출된 통신속도로 전환하여 변경하는 단계는
    상기 산출된 통신속도보다 지원 가능한 통신속도가 느린 경우, 지원 가능한 가장 빠른 통신속도로 전환하여 변경하는 단계를 포함하는 통신속도 자동 전환 방법.
  8. 제 1 항에 있어서,
    상기 (C) 단계에서 전환된 통신속도로 데이터 통신을 지원하여 데이터를 수신하는 단계와,
    엔드(end) 비트가 도착하면 현재 장치간 통신을 완료하는 단계를 포함하는 통신속도 자동 전환 방법.
  9. 제 8 항에 있어서,
    상기 현재 장치간 통신이 완료되면,
    변경된 통신속도를 기존의 통신속도로 회귀되도록 변경하는 통신속도 자동 전환 방법.
KR1020180011090A 2018-01-30 2018-01-30 Uart 통신속도 자동 전환 방법 KR20190091929A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180011090A KR20190091929A (ko) 2018-01-30 2018-01-30 Uart 통신속도 자동 전환 방법
JP2019010422A JP2019134419A (ja) 2018-01-30 2019-01-24 Uart通信速度自動切替方法
EP19153822.2A EP3518114A1 (en) 2018-01-30 2019-01-25 Uart-based communication-speed automatic-switching method
US16/257,772 US10785063B2 (en) 2018-01-30 2019-01-25 UART-based communication-speed automatic-switching method
CN201910086657.7A CN110096464A (zh) 2018-01-30 2019-01-29 通用异步收发器通信速度自动切换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180011090A KR20190091929A (ko) 2018-01-30 2018-01-30 Uart 통신속도 자동 전환 방법

Publications (1)

Publication Number Publication Date
KR20190091929A true KR20190091929A (ko) 2019-08-07

Family

ID=65236916

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180011090A KR20190091929A (ko) 2018-01-30 2018-01-30 Uart 통신속도 자동 전환 방법

Country Status (5)

Country Link
US (1) US10785063B2 (ko)
EP (1) EP3518114A1 (ko)
JP (1) JP2019134419A (ko)
KR (1) KR20190091929A (ko)
CN (1) CN110096464A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220032350A (ko) * 2020-09-07 2022-03-15 (주)파인디어칩 이종의 직렬통신 프로토콜을 위한 제어 집적회로 및 이를 포함하는 시스템 제어 장치
CN117171072A (zh) * 2023-11-03 2023-12-05 深圳联芯微电子科技有限公司 微控制单元单向通讯方法及系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138400B (zh) * 2018-02-09 2020-12-01 博通集成电路(上海)股份有限公司 提高发射和接收性能的车载单元及其方法
CN112187631A (zh) * 2020-08-24 2021-01-05 浙江布兰图智慧能源科技有限公司 一种自动切换收发模式的网关
CN113595755A (zh) * 2021-06-10 2021-11-02 山西三友和智慧信息技术股份有限公司 用于通信终端的通信提速设备
CN115242351B (zh) * 2022-07-13 2024-02-13 厦门九华通信设备厂 一种串行数据通信速率自适应方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1226960A (en) 1985-06-28 1987-09-15 Gregory F. Hicks Rate adaptation circuit and method for asynchronous data on digital networks
US5627858A (en) * 1992-07-20 1997-05-06 Telefonaktiebolaget L M Ericsson Multi-channel autobauding circuit
US5799208A (en) * 1996-04-03 1998-08-25 United Microelectronics Corporation Apparatus for data communication between universal asynchronous receiver/transmitter (UART) modules and transceivers in a chip set by selectively connecting a common bus between multiplexer/demultiplexer units
US6157689A (en) 1998-03-16 2000-12-05 Ericsson Inc. Automatic speed detection for asynchronous serial communications
JP3565730B2 (ja) * 1999-01-13 2004-09-15 株式会社リコー Atコマンド解析装置
JP3366277B2 (ja) * 1999-03-25 2003-01-14 日本電気株式会社 Atコマンド受信回路
US20030048862A1 (en) * 2001-09-10 2003-03-13 Hsin-Hsien Lee Automatic calibration & synchronization for digital asynchronous communication
JP4455194B2 (ja) * 2004-07-09 2010-04-21 シャープ株式会社 光通信用受信回路および電子機器
DE102006029438B4 (de) * 2006-06-20 2018-05-17 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Verfahren und Vorrichtung zur Ansteuerung von Leuchtdioden einer Beleuchtungsvorrichtung
JP2010124268A (ja) 2008-11-20 2010-06-03 Sony Corp データ通信装置、および通信制御方法、並びにプログラム
US10108578B2 (en) * 2013-09-11 2018-10-23 Texas Instruments Incorporated Single wire communications interface and protocol
CN104378090B (zh) * 2014-09-15 2017-02-15 小米科技有限责任公司 Pwm数据的处理方法及装置
US10566962B2 (en) * 2017-10-02 2020-02-18 Cirrus Logic, Inc. Pulse-width modulation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220032350A (ko) * 2020-09-07 2022-03-15 (주)파인디어칩 이종의 직렬통신 프로토콜을 위한 제어 집적회로 및 이를 포함하는 시스템 제어 장치
CN117171072A (zh) * 2023-11-03 2023-12-05 深圳联芯微电子科技有限公司 微控制单元单向通讯方法及系统
CN117171072B (zh) * 2023-11-03 2024-02-23 深圳联芯微电子科技有限公司 微控制单元单向通讯方法及系统

Also Published As

Publication number Publication date
US20190238369A1 (en) 2019-08-01
CN110096464A (zh) 2019-08-06
EP3518114A1 (en) 2019-07-31
US10785063B2 (en) 2020-09-22
JP2019134419A (ja) 2019-08-08

Similar Documents

Publication Publication Date Title
KR20190091929A (ko) Uart 통신속도 자동 전환 방법
US8943234B1 (en) Multi-protocol storage controller
KR100694034B1 (ko) 데이터 전송률 자동 검출장치
JP2003207556A5 (ko)
JP2001352350A (ja) 連続ビットストリームの統計的アイダイアグラムによる測定装置及び方法
CN106646237B (zh) 一种can总线伺服电机的瞬态响应测试方法及装置
IL273275B1 (en) A method for selecting a carrier and communication device
JP2010011365A5 (ko)
CN104952233A (zh) 一种基于北斗卫星和移动通信的气象环境监测设备及方法
CN102404174A (zh) 网络带宽检测的方法
RU175190U1 (ru) Устройство оценки вероятности ошибки на бит для сигналов с шестнадцатипозиционной фазовой модуляцией по двухпозиционным сигналам
CN113992548B (zh) 一种带宽测速方法及装置
KR102549516B1 (ko) 차량 거동에 영향을 미치기 위한 방법 및 장치
JP4722137B2 (ja) 少なくとも3つの無線送受信機装置を含むシステムでの無線通信フレームの処理
US9876506B2 (en) Measuring device, measuring system, measuring method, and computer readable recording medium
JPH01132249A (ja) 調歩同期方式のモード自動設定方式
US8036302B2 (en) Apparatus with communication capability, method for adjusting the same, and medium recording adjusting program
CN114363209B (zh) 基于tcp网络的性能探测方法、装置、设备和存储介质
KR20110066501A (ko) 모델을 이용하여 센서 데이터를 송수신하는 시스템 및 방법
JPH05172945A (ja) 車間距離検知装置
KR100373007B1 (ko) 차량용 제어장치의 윈도우즈 모니터링 장치
KR100493238B1 (ko) 다중모드 모뎀 검증 장치 및 방법
EP3521769A1 (en) Control apparatus and control method
JP2009118315A (ja) 通信システム、送信装置、受信装置、通信装置及び半導体装置並びに通信方式
JPS61177845A (ja) デ−タ端末装置