KR20220125649A - Can 버스를 이용한 다중 uart 통신 방법, 이를 수행하기 위한 기록 매체 및 장치 - Google Patents

Can 버스를 이용한 다중 uart 통신 방법, 이를 수행하기 위한 기록 매체 및 장치 Download PDF

Info

Publication number
KR20220125649A
KR20220125649A KR1020210050962A KR20210050962A KR20220125649A KR 20220125649 A KR20220125649 A KR 20220125649A KR 1020210050962 A KR1020210050962 A KR 1020210050962A KR 20210050962 A KR20210050962 A KR 20210050962A KR 20220125649 A KR20220125649 A KR 20220125649A
Authority
KR
South Korea
Prior art keywords
uart
bus
data
input
mode
Prior art date
Application number
KR1020210050962A
Other languages
English (en)
Other versions
KR102535563B1 (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 숭실대학교산학협력단
Publication of KR20220125649A publication Critical patent/KR20220125649A/ko
Application granted granted Critical
Publication of KR102535563B1 publication Critical patent/KR102535563B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Traffic Control Systems (AREA)
  • Near-Field Transmission Systems (AREA)
  • Communication Control (AREA)

Abstract

CAN 버스를 이용한 다중 UART 통신 방법은, CAN(Controller Area Network) 모드 및 UART(Universal Asynchronous Receiver/Transmitter) 모드로 동작할 수 있는 통합 콘트롤러에 RxD 신호가 입력되면, UART 상태 수신 모드로 동작하여 입력된 RxD 데이터를 송신 버퍼(Transmit Buffer)에 저장하는 단계; CAN 상태 송신 모드에서 송신 버퍼에 저장된 RxD 데이터를 CAN 버스를 통해 CANH 및 CANL 신호로 출력하는 단계; 통합 콘트롤러에 CAN 버스를 통해 CAN 신호가 입력되면, CAN 상태 수신 모드로 동작하여 입력된 CAN 데이터를 수신 FIFO 버퍼에 저장하는 단계; 및 UART 상태 송신 모드에서 수신 FIFO 버퍼에 저장된 CAN 데이터를 TxD 신호로 출력하는 단계;를 포함한다. 이에 따라, UART와 CAN 컨트롤러를 통합하여 버스 구조의 통신이 가능하며, 높은 신뢰성을 제공하고 데이터 손실을 방지할 수 있다.

Description

CAN 버스를 이용한 다중 UART 통신 방법, 이를 수행하기 위한 기록 매체 및 장치{METHOD FOR MULTIPLE UART COMMUNICATIONS USING CAN BUS, RECORDING MEDIUM AND DEVICE FOR PERFORMING THE METHOD}
본 발명은 CAN 버스를 이용한 다중 UART 통신 방법, 이를 수행하기 위한 기록 매체 및 장치에 관한 것으로서, 더욱 상세하게는 UART(Universal Asynchronous Receiver/Transmitter)와 CAN(Controller Area Network)의 장점을 활용할 수 있는 차량통신 콘트롤러에 관한 것이다.
UART(Universal Asynchronous Receiver/ Transmitter)는 1대1 통신에 사용되며 데이터 유효성 검사로 패리티 비트를 사용한다. 하지만, 최근 통신 네트워크의 복잡도가 증가하면서 1대1 통신은 배선 수가 늘어나고 단선 또는 단락이 일어날 확률이 커지는 등 적합하지 않다.
또한, 패리티 비트는 짝수 개의 비트가 변하는 경우 오류를 검출하지 못하고, 재전송 기능이 존재하지 않아 데이터 손실이 발생할 수 있다. 이 UART 통신은 기본적으로 1대1 방식으로 통신된다. 하지만, 기술의 발달로 인해 증가하는 데이터를 1대1 방식으로 처리하기 위해서는 다중으로 연결해야 한다.
하지만, 이러한 방식은 배선 수가 늘어나 케이블 중량이 증가하고, 단선 또는 단락이 발생할 확률이 증가하는 등 여러 문제점이 있기 때문에 적합하지 않다.
KR 10-1585856 B1 JP 5849142 B2 KR 10-2006-0017035 A
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 CAN 버스를 이용한 다중 UART 통신 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 CAN 버스를 이용한 다중 UART 통신 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.
본 발명의 또 다른 목적은 상기 CAN 버스를 이용한 다중 UART 통신 방법을 수행하기 위한 장치를 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 CAN 버스를 이용한 다중 UART 통신 방법은, CAN(Controller Area Network) 모드 및 UART(Universal Asynchronous Receiver/Transmitter) 모드로 동작할 수 있는 통합 콘트롤러에 RxD 신호가 입력되면, UART 상태 수신 모드로 동작하여 입력된 RxD 데이터를 송신 버퍼(Transmit Buffer)에 저장하는 단계; CAN 상태 송신 모드에서 송신 버퍼에 저장된 RxD 데이터를 CAN 버스를 통해 CANH 및 CANL 신호로 출력하는 단계; 통합 콘트롤러에 CAN 버스를 통해 CAN 신호가 입력되면, CAN 상태 수신 모드로 동작하여 입력된 CAN 데이터를 수신 FIFO 버퍼에 저장하는 단계; 및 UART 상태 송신 모드에서 수신 FIFO 버퍼에 저장된 CAN 데이터를 TxD 신호로 출력하는 단계;를 포함한다.
본 발명의 실시예에서, 상기 CAN 버스를 이용한 다중 UART 통신 방법은, 통합 콘트롤러에 입력되는 UART 신호가 1 내지 8 바이트일 수 있다.
본 발명의 실시예에서, 상기 CAN 버스를 이용한 다중 UART 통신 방법은, CAN 데이터 프레임의 CRC(cyclic redundancy check)를 사용하여 데이터의 유효성을 검사하는 단계; 및 유효성 검사 결과 전송 오류를 확인한 경우, 데이터를 재전송하는 단계;를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 CAN 버스를 이용한 다중 UART 통신 방법은, CAN 버스를 통해 버스 네트워크 방식으로 다중 UART 통신을 지원할 수 있다.
상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 상기 CAN 버스를 이용한 다중 UART 통신 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다.
상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 CAN 버스를 이용한 다중 UART 통신 장치는, CAN(Controller Area Network) 모드 및 UART(Universal Asynchronous Receiver/Transmitter) 모드로 동작할 수 있는 통합 콘트롤러에 RxD 신호가 입력되면, 입력된 RxD 데이터를 송신 버퍼(Transmit Buffer)에 저장하는 UART 상태 수신 모드부; 송신 버퍼에 저장된 RxD 데이터를 CAN 버스를 통해 CANH 및 CANL 신호로 출력하는 CAN 상태 송신 모드부; 통합 콘트롤러에 CAN 버스를 통해 CAN 신호가 입력되면, 입력된 CAN 데이터를 수신 FIFO 버퍼에 저장하는 CAN 상태 수신 모드부; 및 수신 FIFO 버퍼에 저장된 CAN 데이터를 TxD 신호로 출력하는 UART 상태 송신 모드부;를 포함한다.
본 발명의 실시예에서, 상기 CAN 버스를 이용한 다중 UART 통신 장치는, 통합 콘트롤러에 입력되는 UART 신호가 1 내지 8 바이트일 수 있다.
본 발명의 실시예에서, 상기 CAN 버스를 이용한 다중 UART 통신 장치는, 버스 네트워크 방식으로 다중 UART 통신을 지원할 수 있다.
본 발명의 실시예에서, 상기 CAN 버스를 이용한 다중 UART 통신 장치는, 시리얼 통신을 지원하는 장치와 직접 연결될 수 있다.
본 발명의 실시예에서, 상기 CAN 버스를 이용한 다중 UART 통신 장치는, 차량통신 콘트롤러에 적용될 수 있다.
이와 같은 CAN 버스를 이용한 다중 UART 통신 장치에 따르면, UART와 CAN의 장점을 활용할 수 있는 통합 차량통신 콘트롤러를 제안한다. 본 발명에 따른 차량통신 콘트롤러에서 UART는 CAN 콘트롤러를 통해 버스 구조의 통신이 가능하다. 또한, CAN 프레임에 있는 CRC(cyclic redundancy check)를 사용할 수 있어 신뢰도를 높일 수 있고 전송 오류를 확인한 후 재전송을 통해 데이터 손실을 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 CAN 버스를 이용한 다중 UART 통신 장치의 블록도이다.
도 2는 도 1의 장치가 적용된 통합 콘트롤러의 아키텍쳐를 보여주는 도면이다.
도 3은 다중 UART 통신 네트워크를 설명하기 위한 도면이다.
도 4는 본 발명에서 제안하는 통합 콘트롤러의 버스 토폴로지를 보여주는 도면이다.
도 5는 본 발명에서 제안하는 통합 콘트롤러의 응용 예를 보여주는 도면이다.
도 6은 본 발명에서 UART로 입력받고 CAN 통신을 거쳐 UART로 출력하는 시뮬레이션 결과를 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 CAN 버스를 이용한 다중 UART 통신 방법의 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 CAN 버스를 이용한 다중 UART 통신 장치의 블록도이다. 도 2는 도 1의 장치가 적용된 통합 콘트롤러의 아키텍쳐를 보여주는 도면이다.
본 발명에 따른 CAN 버스를 이용한 다중 UART 통신 장치(10, 이하 장치)는 UART(Universal Asynchronous Receiver/Transmitter)와 CAN(Controller Area Network)의 장점을 활용할 수 있는 통합 차량통신 콘트롤러를 제안한다.
도 1을 참조하면, 본 발명에 따른 장치(10)는 UART 상태 수신 모드부(110), CAN 상태 송신 모드부(130), CAN 상태 수신 모드부(150) 및 UART 상태 송신 모드부(170)를 포함한다.
상기 장치(10)는 CAN 모드 또는 UART 모드로 동작하는 통합 콘트롤러(1, 도 2 참조)의 일부일 수 있다.
도 2를 참조하면, 통합 콘트롤러(1) 설계의 일례를 보여주는 것으로, 통합 콘트롤러(1)는 CAN 모드 또는 UART 모드로 각각 동작할 수 있다. 즉, 통합 모드로 사용할 수 있다.
본 발명의 상기 장치(10)는 CAN 버스를 이용한 다중 UART 통신을 수행하기 위한 소프트웨어(애플리케이션)가 설치되어 실행될 수 있으며, 상기 UART 상태 수신 모드부(110), 상기 CAN 상태 송신 모드부(130), 상기 CAN 상태 수신 모드부(150) 및 상기 UART 상태 송신 모드부(170)의 구성은 상기 장치(10)에서 실행되는 상기 CAN 버스를 이용한 다중 UART 통신을 수행하기 위한 소프트웨어에 의해 제어될 수 있다.
상기 장치(10)는 별도의 단말이거나 또는 단말의 일부 모듈일 수 있다. 또한, 상기 UART 상태 수신 모드부(110), 상기 CAN 상태 송신 모드부(130), 상기 CAN 상태 수신 모드부(150) 및 상기 UART 상태 송신 모드부(170)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어 질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.
상기 장치(10)는 이동성을 갖거나 고정될 수 있다. 상기 장치(10)는, 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수 있다.
상기 장치(10)는 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. 상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.
먼저, UART에서 CAN 데이터 흐름을 살펴보면, 통합 콘트롤러(1)에 RxD 신호가 입력으로 들어오는 경우 UART 상태 수신(UART State Machine Rx) 모드부(110) 모드에서 데이터를 송신 버퍼(Transmit Buffer)에 저장한다.
그 후 상기 CAN 상태 송신(CAN State Machine Tx) 모드부(130)는 송신 버퍼(Transmit Buffer)에 저장된 데이터를 CANH와 CANL 신호로 출력한다.
이때 통합 콘트롤러(1)는 UART 신호로 1 내지 8 바이트까지 입력받을 수 있는데 그 이유는 CAN 데이터 프레임에 실릴 수 있는 데이터는 1 내지 8 바이트이기 때문이다.
CAN에서 UART로 데이터 흐름을 살펴보면, 통합 콘트롤러(1)에 CAN 신호가 입력으로 들어오는 경우 상기 CAN 상태 수신(CAN State Machine Rx) 모드부(150) 모드에서 데이터를 수신 FIFO 버퍼(Receive FIFO Buffer)에 저장한다.
상기 UART 상태 송신 모드부(170)는 CAN 데이터 프레임 수신이 완료되면 FIFO 버퍼(Receive FIFO Buffer)에 저장된 데이터를 TxD 신호로 출력한다.
UART 통신은 기본적으로 1대1 방식으로 통신된다. 하지만 기술의 발달로 인해 증가하는 데이터를 1대1 방식으로 처리하기 위해서는 도 3과 같이 연결해야 한다. 하지만 이러한 방식은 배선 수가 늘어나 케이블 중량이 증가하고, 단선 또는 단락이 발생할 확률이 증가하는 등 여러 문제점이 있기 때문에 적합하지 않다. 이러한 문제점을 해결하기 위해 본 발명은 버스 네트워크 방식으로 통신하는 것이다.
도 4를 참조하면, 통합 콘트롤러(1)가 CAN 버스를 이용해 다중 UART 통신을 지원하는 것으로 UART를 통해 수신된 데이터가 CAN 버스를 통해 송신되기 때문에 1대1 방식이 아닌 버스 네트워크 방식으로 통신이 이루어진다.
UART 콘트롤러 입장에서의 본 발명의 장점은 다음과 같다. UART 통신은 데이터 유효성 검사로 1비트의 패리티 비트를 사용한다. 하지만, 패리티 비트는 홀수 개의 비트가 변하는 경우에는 오류를 검출할 수 있지만 짝수 개의 비트가 변하는 경우에는 검출하지 못한다. 또한, 오류를 감지해도 재전송 기능이 존재하지 않아 데이터 손실이 발생한다.
이러한 점에서 통합 콘트롤러(1)는 UART를 통해 수신된 데이터가 CAN 버스를 통해 송신되기 때문에 CAN 데이터 프레임에 내재된 CRC(cyclic redundancy check)를 사용할 수 있어 데이터 유효성 검사의 신뢰도를 높이고 전송 오류를 확인한 경우에는 재전송을 통해 데이터 손실을 방지할 수 있다.
CAN 콘트롤러 입장에서의 본 발명의 장점은 다음과 같다. CAN 콘트롤러는 주로 ECU(Electronic Control Unit)에 연결되어 마이크로프로세서에 의해 제어된다. 따라서, ECU에 요청에 따라 CAN 콘트롤러와 연결되어 있는 액츄에이터 또는 센서에서 측정된 데이터를 송/수신 한다.
하지만, CAN 콘트롤러는 패러럴 통신을 통해 입력 데이터를 수신하는데 대부분의 액츄에이터 또는 센서는 시리얼 통신을 통해 출력 데이터를 송신한다. 이러한 점에서 통합 콘트롤러는 UART 통신이 가능하기 때문에 RS-232, RS-422, RS-485와 같은 시리얼 통신이 가능해 액츄에이터 또는 센서와의 통신이 수월하다.
통합 콘트롤러(1)는 UART 통신이 가능하기 때문에 PC와 같이 시리얼 통신을 지원하는 장치로 쉽게 CAN 콘트롤러와 통신할 수 있다. 이를 이용하면 CAN 콘트롤러의 특성을 설정하는 배열(Configuration) 역시 PC와 같이 시리얼 통신을 지원하는 장치를 이용하여 설정할 수 있다.
도 5는 통합 콘트롤러의 응용 방법을 설명한 것이다.
도 5를 참조하면, ① UART는 시리얼 통신으로 쉽게 센서로부터 값을 읽어올 수 있고, ② UART 상태 수신 모드에서 RxD 데이터를 입력받고, UART 상태 송신 모드에서 CAN 버스를 통해 프레임 데이터를 출력한다. ③ UART는 시리얼 통신이 쉬우므로 PC와 같은 시리얼 통신을 지원하는 디바이스와 용이하게 통신할 수 있다.
④ CAN 콘트롤러를 이용하여 ECU에서 마이크로프로세서로 통신이 가능하고, ⑤ CAN 콘트롤러의 구성은 PC와 같은 시리얼 통신을 지원하는 디바이스를 통해 설정될 수 있다.
이하에서는, 유효성을 검증하기 위해 본 발명을 적용한 통합 차량 통신 콘트롤러를 Verilog HDL을 이용하여 구현하여 시뮬레이션 한 결과를 설명한다.
도 6은 도 4와 같이 구성된 CAN 버스를 시뮬레이션한 것이다.
도 6을 참조하면, ① CAN 버스에서 Transmitter 역할을 하는 통합 콘트롤러에 UART 신호로 외부에서 데이터를 수신한다. 통합 콘트롤러는 UART로 수신한 데이터를 CAN 데이터 프레임에 실어서 송신하기 때문에 1 내지 8 바이트의 연속 데이터를 수신할수 있는데, 본 실험에서는 5 바이트의 연속 데이터를 수신하는 상황을 시뮬레이션하였다.
② Transmitter 역할을 하는 통합 콘트롤러는 수신한 UART 신호를 디코딩하여 Transmit Buffer에 데이터 크기와 값을 저장한다. ③ Transmit Buffer에 저장한 데이터를 CAN 데이터 프레임에 실어서 CAN 버스로 송신한다. ④ CAN 버스에 연결되어 Receiver 역할을 하는 통합 콘트롤러는 CAN 데이터 프레임을 성공적으로 수신하였기 때문에 Ack 신호를 송신한다.
⑤ Receiver 역할을 하는 통합 콘트롤러는 수신한 CAN 데이터 프레임을 디코딩하여 Receive FIFO Buffer에 데이터 크기와 값을 저장하고 저장한 데이터를 UART TxD 신호로 송신한다.
UART의 경우, 1대1 방식으로 통신을 하는데 처리해야 할 데이터의 양이 늘어나면 배선 수가 늘어나 중량이 증가하고 Short가 발생 할 확률이 높아지는 문제가 발생한다. 또한, 패리티(Parity) 비트를 사용하여 데이터 유효성 검사를 진행하는데 짝수개의 비트가 변하는 경우에는 오류를 검출하지 못하고 오류를 발견하더라도 재전송기능이 존재하지 않아 데이터 손실이 발생한다.
CAN의 경우 주로 ECU에 연결되어 마이크로프로세서의 요청에 따라 CAN 콘트롤러와 연결된 액츄에이터 또는 센서에 데이터를 송수신한다. 하지만, CAN 콘트롤러는 패러럴 통신을 통해 입력 데이터를 수신하는데 대부분의 액츄에이터 또는 센서는 시리얼 통신을 통해 출력 데이터를 송신한다.
이러한 문제를 해결하기 위해 본 발명에서는 UART와 CAN을 통합하여 UART와 CAN에서의 한계점을 보완할 수 있는 통합 콘트롤러를 제안하였다. 이를 검증하기 위해 Verilog HDL을 이용하여 통합 콘트롤러를 설계하였으며 시뮬레이션을 통해 제안한 기법이 1 내지 8 바이트의 UART RxD 신호를 입력으로 받아 CAN 통신을 거쳐 다시 UART TxD 신호를 출력으로 내보내는 것을 확인하였다.
도 7은 본 발명의 일 실시예에 따른 CAN 버스를 이용한 다중 UART 통신 방법의 흐름도이다.
본 실시예에 따른 CAN 버스를 이용한 다중 UART 통신 방법은, 도 1의 장치(10)와 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 장치(10)와 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다.
또한, 본 실시예에 따른 CAN 버스를 이용한 다중 UART 통신 방법은 CAN 버스를 이용한 다중 UART 통신을 수행하기 위한 소프트웨어(애플리케이션)에 의해 실행될 수 있다.
본 발명은 UART(Universal Asynchronous Receiver/Transmitter)와 CAN(Controller Area Network)의 장점을 활용할 수 있는 통합 차량통신 콘트롤러를 통해 CAN 버스를 이용한 다중 UART 통신을 제공한다.
도 7을 참조하면, 본 실시예에 따른 CAN 버스를 이용한 다중 UART 통신 방법은, CAN(Controller Area Network) 모드 및 UART(Universal Asynchronous Receiver/Transmitter) 모드로 동작할 수 있는 통합 콘트롤러에 RxD 신호가 입력되면, UART 상태 수신 모드로 동작하여 입력된 RxD 데이터를 송신 버퍼(Transmit Buffer)에 저장한다(단계 S10).
이 경우, CAN 데이터 프레임에 실릴 수 있는 데이터는 1 내지 8 바이트이기 때문에, 통합 콘트롤러에 입력되는 UART 신호는 1 내지 8 바이트일 수 있다.
CAN 상태 송신 모드에서 송신 버퍼에 저장된 RxD 데이터를 CAN 버스를 통해 CANH 및 CANL 신호로 출력한다(단계 S20).
UART 통신은 기본적으로 1대1 방식으로 통신된다. 하지만 기술의 발달로 인해 증가하는 데이터를 1대1 방식으로 처리하기 위해서는 다중 UART이 연결된다. 하지만 이러한 방식은 배선 수가 늘어나 케이블 중량이 증가하고, 단선 또는 단락이 발생할 확률이 증가하는 등 여러 문제점이 있기 때문에 적합하지 않다. 이러한 문제점을 해결하기 위해 본 발명은 버스 네트워크 방식으로 통신한다.
통합 콘트롤러에 CAN 버스를 통해 CAN 신호가 입력되면, CAN 상태 수신 모드로 동작하여 입력된 CAN 데이터를 수신 FIFO 버퍼에 저장한다(단계 S30). UART 상태 송신 모드에서 수신 FIFO 버퍼에 저장된 CAN 데이터를 TxD 신호로 출력한다(단계 S40).
UART 콘트롤러 입장에서의 본 발명의 장점은 다음과 같다. UART 통신은 데이터 유효성 검사로 1비트의 패리티 비트를 사용한다. 하지만, 패리티 비트는 홀수 개의 비트가 변하는 경우에는 오류를 검출할 수 있지만 짝수 개의 비트가 변하는 경우에는 검출하지 못한다. 또한, 오류를 감지해도 재전송 기능이 존재하지 않아 데이터 손실이 발생한다.
CAN 콘트롤러 입장에서의 본 발명의 장점은 다음과 같다. CAN 콘트롤러는 주로 ECU(Electronic Control Unit)에 연결되어 마이크로프로세서에 의해 제어된다. 따라서, ECU에 요청에 따라 CAN 콘트롤러와 연결되어 있는 액츄에이터 또는 센서에서 측정된 데이터를 송/수신 한다.
하지만, CAN 콘트롤러는 패러럴 통신을 통해 입력 데이터를 수신하는데 대부분의 액츄에이터 또는 센서는 시리얼 통신을 통해 출력 데이터를 송신한다. 이러한 점에서 통합 콘트롤러는 UART 통신이 가능하기 때문에 RS-232, RS-422, RS-485와 같은 시리얼 통신이 가능해 액츄에이터 또는 센서와의 통신이 수월하다.
이와 같은 CAN 버스를 이용한 다중 UART 통신 방법에 따르면, UART와 CAN의 장점을 활용할 수 있는 통합 차량통신 콘트롤러를 이용하여 UART는 CAN 콘트롤러를 통해 버스 구조의 통신이 가능하다. 또한, CAN 프레임에 있는 CRC(cyclic redundancy check)를 사용할 수 있어 신뢰도를 높일 수 있고 전송 오류를 확인한 후 재전송을 통해 데이터 손실을 방지할 수 있다.
이와 같은, CAN 버스를 이용한 다중 UART 통신 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
본 발명에서 제안하는 차량통신 콘트롤러를 사용하는 경우에는 UART를 CAN으로 변환하여 1대1 통신뿐만 아니라 버스 구조의 다중 통신도 가능하다. 또한, 데이터 유효성 검사를 패리티보다 발전된 CRC(cyclic redundancy check)를 통해 수행하므로 신뢰도가 올라간다. CAN은 마이크로프로세서에 의해 제어되지만 제안하는 차량통신 콘트롤러를 사용하는 경우에는 RS-232, RS-422, RS-485를 지원하는 장치라면 무엇이든지 제어가 가능하다.
10: CAN 버스를 이용한 다중 UART 통신 장치
110: UART 상태 수신 모드부
130: CAN 상태 송신 모드부
150: CAN 상태 수신 모드부
170: UART 상태 송신 모드부

Claims (10)

  1. CAN(Controller Area Network) 모드 및 UART(Universal Asynchronous Receiver/Transmitter) 모드로 동작할 수 있는 통합 콘트롤러에 RxD 신호가 입력되면, UART 상태 수신 모드로 동작하여 입력된 RxD 데이터를 송신 버퍼(Transmit Buffer)에 저장하는 단계;
    CAN 상태 송신 모드에서 송신 버퍼에 저장된 RxD 데이터를 CAN 버스를 통해 CANH 및 CANL 신호로 출력하는 단계;
    통합 콘트롤러에 CAN 버스를 통해 CAN 신호가 입력되면, CAN 상태 수신 모드로 동작하여 입력된 CAN 데이터를 수신 FIFO 버퍼에 저장하는 단계; 및
    UART 상태 송신 모드에서 수신 FIFO 버퍼에 저장된 CAN 데이터를 TxD 신호로 출력하는 단계;를 포함하는, CAN 버스를 이용한 다중 UART 통신 방법.
  2. 제1항에 있어서,
    통합 콘트롤러에 입력되는 UART 신호는 1 내지 8 바이트인, CAN 버스를 이용한 다중 UART 통신 방법.
  3. 제1항에 있어서,
    CAN 데이터 프레임의 CRC(cyclic redundancy check)를 사용하여 데이터의 유효성을 검사하는 단계; 및
    유효성 검사 결과 전송 오류를 확인한 경우, 데이터를 재전송하는 단계;를 더 포함하는, CAN 버스를 이용한 다중 UART 통신 방법.
  4. 제1항에 있어서,
    CAN 버스를 통해 버스 네트워크 방식으로 다중 UART 통신을 지원하는, CAN 버스를 이용한 다중 UART 통신 방법.
  5. 제1항에 따른 상기 CAN 버스를 이용한 다중 UART 통신 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.
  6. CAN(Controller Area Network) 모드 및 UART(Universal Asynchronous Receiver/Transmitter) 모드로 동작할 수 있는 통합 콘트롤러에 RxD 신호가 입력되면, 입력된 RxD 데이터를 송신 버퍼(Transmit Buffer)에 저장하는 UART 상태 수신 모드부;
    송신 버퍼에 저장된 RxD 데이터를 CAN 버스를 통해 CANH 및 CANL 신호로 출력하는 CAN 상태 송신 모드부;
    통합 콘트롤러에 CAN 버스를 통해 CAN 신호가 입력되면, 입력된 CAN 데이터를 수신 FIFO 버퍼에 저장하는 CAN 상태 수신 모드부; 및
    수신 FIFO 버퍼에 저장된 CAN 데이터를 TxD 신호로 출력하는 UART 상태 송신 모드부;를 포함하는, CAN 버스를 이용한 다중 UART 통신 장치.
  7. 제6항에 있어서,
    통합 콘트롤러에 입력되는 UART 신호는 1 내지 8 바이트인, CAN 버스를 이용한 다중 UART 통신 장치.
  8. 제6항에 있어서,
    버스 네트워크 방식으로 다중 UART 통신을 지원하는, CAN 버스를 이용한 다중 UART 통신 장치.
  9. 제6항에 있어서,
    시리얼 통신을 지원하는 장치와 직접 연결되는, CAN 버스를 이용한 다중 UART 통신 장치.
  10. 제6항에 있어서,
    차량통신 콘트롤러에 적용되는, CAN 버스를 이용한 다중 UART 통신 장치.
KR1020210050962A 2021-03-05 2021-04-20 Can 버스를 이용한 다중 uart 통신 방법, 이를 수행하기 위한 기록 매체 및 장치 KR102535563B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210029226 2021-03-05
KR1020210029226 2021-03-05

Publications (2)

Publication Number Publication Date
KR20220125649A true KR20220125649A (ko) 2022-09-14
KR102535563B1 KR102535563B1 (ko) 2023-05-26

Family

ID=83279175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210050962A KR102535563B1 (ko) 2021-03-05 2021-04-20 Can 버스를 이용한 다중 uart 통신 방법, 이를 수행하기 위한 기록 매체 및 장치

Country Status (1)

Country Link
KR (1) KR102535563B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116781448A (zh) * 2023-08-17 2023-09-19 北京芯驰半导体科技有限公司 一种can报文防丢失方法、装置、系统、芯片及介质
DE102023104918B3 (de) 2023-02-28 2024-04-18 Elmos Semiconductor Se Integrierte Schaltung mit umschaltbaren Anschlussmöglichkeiten

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5849142B2 (ja) 1975-01-30 1983-11-02 ダニエル、トマス、トンプソン パン生地前処理装置
KR20060017035A (ko) 2004-08-19 2006-02-23 학교법인 울산공업학원 복수의 센서 데이터를 하나의 캔 메시지로 전송하는 방법
KR20120006485A (ko) * 2009-04-23 2012-01-18 마이크로칩 테크놀로지 인코포레이티드 컨트롤러 영역 네트워크 데이터 페이로드 연결 방법
KR101585856B1 (ko) 2014-12-30 2016-01-15 주식회사 현대케피코 차량 내 uart 및 can 통합 통신 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5849142B2 (ja) 1975-01-30 1983-11-02 ダニエル、トマス、トンプソン パン生地前処理装置
KR20060017035A (ko) 2004-08-19 2006-02-23 학교법인 울산공업학원 복수의 센서 데이터를 하나의 캔 메시지로 전송하는 방법
KR20120006485A (ko) * 2009-04-23 2012-01-18 마이크로칩 테크놀로지 인코포레이티드 컨트롤러 영역 네트워크 데이터 페이로드 연결 방법
KR101585856B1 (ko) 2014-12-30 2016-01-15 주식회사 현대케피코 차량 내 uart 및 can 통합 통신 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023104918B3 (de) 2023-02-28 2024-04-18 Elmos Semiconductor Se Integrierte Schaltung mit umschaltbaren Anschlussmöglichkeiten
CN116781448A (zh) * 2023-08-17 2023-09-19 北京芯驰半导体科技有限公司 一种can报文防丢失方法、装置、系统、芯片及介质
CN116781448B (zh) * 2023-08-17 2023-11-07 北京芯驰半导体科技有限公司 一种can报文防丢失方法、装置、系统、芯片及介质

Also Published As

Publication number Publication date
KR102535563B1 (ko) 2023-05-26

Similar Documents

Publication Publication Date Title
CN107835040B (zh) 一种基于蓝牙的数据通讯的方法、设备及存储介质
KR102535563B1 (ko) Can 버스를 이용한 다중 uart 통신 방법, 이를 수행하기 위한 기록 매체 및 장치
CN101227263B (zh) 一种在线故障检测系统、装置及方法
CN110719647B (zh) 一种随机接入方法、终端及网络设备
KR102707737B1 (ko) 제어기 진단 장치 및 그 방법
KR101334017B1 (ko) 차량 네트워크의 메시지 무결성 체크 시스템 및 방법
CN104184543A (zh) 一种数据传输的方法、装置和系统
GB2301268A (en) Interface apparatus and method in a mobile communication system
CN111752881A (zh) 一种模块间通信方法及系统
US20210058495A1 (en) Communication device, communication system, and protocol switchover method
KR20220111302A (ko) 멀티 안테나 채널 장치 및 구성 방법
JP2002116961A (ja) シリアル通信装置およびシリアル通信方法
CN108241586B (zh) 控制器电路与估计延迟补偿方法
CN111193650B (zh) 一种基于sae as5643标准的节点收发控制装置
CN101345706A (zh) 包括处理和缓冲特征用于数据的发送和接收的系统与方法
CN101056157B (zh) 一种传输控制装置及其控制方法
US7334040B2 (en) Method of transmission between two processors of a radio communication unit
KR20190008198A (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
KR20170108739A (ko) DIX (Data Integrity Extension )모드의 NVMe(Non-Volatile Memory Express) 인터페이스에서 데이터를 전송하기 위한 방법 및 시스템
JP6706180B2 (ja) デバイス装置及びデータ転送システム
CN114726482B (zh) 一种spi数据传输方法
CN114201425B (zh) 一种可弥补通信速率慢的通信方法和系统
CN104079443A (zh) 数据传输性能测试系统及方法
KR20140074685A (ko) 전자 태그 장치 및 그의 통신 방법
CN103888161A (zh) 一种无线传输设备的数据传输方法及无线传输系统

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant