KR20210071490A - 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법 - Google Patents

캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법 Download PDF

Info

Publication number
KR20210071490A
KR20210071490A KR1020190161719A KR20190161719A KR20210071490A KR 20210071490 A KR20210071490 A KR 20210071490A KR 1020190161719 A KR1020190161719 A KR 1020190161719A KR 20190161719 A KR20190161719 A KR 20190161719A KR 20210071490 A KR20210071490 A KR 20210071490A
Authority
KR
South Korea
Prior art keywords
time
bit
communication
frame
electronic control
Prior art date
Application number
KR1020190161719A
Other languages
English (en)
Other versions
KR102274671B1 (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 KR1020190161719A priority Critical patent/KR102274671B1/ko
Publication of KR20210071490A publication Critical patent/KR20210071490A/ko
Application granted granted Critical
Publication of KR102274671B1 publication Critical patent/KR102274671B1/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/4013Management of data rate on the bus
    • 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/40032Details regarding a bus interface enhancer
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법이 개시된다. 본 발명의 일 측면에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치는, 통신속도 설정모드를 선택하기 위한 스위치부, 통신속도(Baud rate)를 저장하는 메모리, 캔(CAN) 버스 라인을 통해 비트 신호를 송신 또는 수신하는 인터페이스부, 상기 스위치부에 설정된 통신속도 설정모드에 따라, 통신속도를 상기 메모리에 저장된 통신속도로 동작하도록 제어하거나, 상기 인터페이스부로부터의 비트 신호에서 감지된 캔 프레임에 기초하여 통신속도를 설정하는 컨트롤러를 포함하고, 상기 컨트롤러는, 상기 캔 프레임에서 한(one) 비트(1 bit)의 최소 시간을 산출하고, 상기 산출된 최소 시간을 이용하여 통신속도를 산출하는 것을 특징으로 한다.

Description

캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법{APPARATUS AND METHOD FOR SETTING BAUD RATE OF ELECTRONIC CONTROL UNIT BASED ON CAN COMMUNICATION}
본 발명은 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법에 관한 것으로서, 보다 상세하게는 CAN 버스 라인을 통해 수신되는 비트 신호를 모니터링하고, 이를 이용하여 CAN 통신의 통신속도(Baud Rate)를 자동으로 설정하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법에 관한 것이다.
일반적으로 차량에는, ETACS(Electronic Time Alarm Control System), 도어 구동 모듈(DDM), 어시스트 도어 모듈(ADM), INPANEL 유닛, 에어백 유닛, NAVI 세트, 각종 멀티미디어 기기(예컨대, TV 세트, DVDC와 CDC, RADIO유닛, AMP 유닛 등)와 같은 전자장치가 다량 장착된다.
차량에 장착된 전자장치는 전자 제어 장치(ECU: Electronic Control Unit)와 네트워크 통신을 통해 데이터를 송수신하게 되며, 이때 사용되는 차량용 네트워크 통신 프로토콜이 CAN(Controller Area Network) 프로토콜이다. 즉, 차량에서는 수많은 정보가 각종의 전자 제어 장치간에 통신되고 있고, 이러한 정보 교환은 캔을 통해서 주로 이루어진다.
캔을 지원하는 전자 제어 장치는 캔 통신방식에 따라 데이터를 송수신하는 통신모듈인 캔 컨트롤러와 캔 버스 라인을 통해 신호를 송수신하는 트랜시버(transceiver)를 캔 통신방식에 기반한 통신을 위해 포함하고 있으며, 캔 버스에 연결된 노드들 간에는 수백 kbps ~ 1Mbps 범위 내에서 정해진 속도로 통신하게 된다. 이러한 전자 제어 장치를 캔 트랜시버(CAN Transceiver)의 캔 버스에 연결할 때, 캔 버스의 통신속도, 즉 보드 레이트(Baud Rate)를 미리 알아 내어 그 값으로 통신속도 변수를 변경하고, 해당 프로그램을 전자 제어 장치에 다시 깔아주어야 한다. 또한, 차량의 통신사양이 변경될 경우 차량에 장착된 전자 제어 장치들에 SW 배포 및 리프로그래밍을 해야 한다.
그러나, 상품화된 캔 모듈(전자 제어 장치)은 외함으로 싸여져 있기 때문에 그것을 제거하고 프로그래밍할 경우 그 절차가 매우 복잡하고 번거로우며, 프로그래밍하는 수고를 감수한다 하더라도, 통신속도를 모르는 캔 버스에는 캔 모듈을 설치할 수 없는 문제점이 있다.
본 발명의 배경기술은 대한민국 등록특허공보 제10-1987890호(2019.09.30. 공고)의 '통신모듈의 버스에의 연결을 매개하기 위해 그 통신모듈의 전송속도를 확인하는 방법과 그 방법을 위한 기기'에 개시되어 있다.
본 발명은 상기와 같은 문제점들을 개선하기 위하여 안출된 것으로, 본 발명의 일 측면에 따른 목적은 CAN 버스 라인을 통해 수신되는 비트 신호를 모니터링하고, 이를 이용하여 CAN 통신의 통신속도(Baud Rate)를 자동으로 설정함으로써, 전자 제어 장치에서 프로그램 변경 없이 어떠한 캔 버스에도 연결이 가능하도록 하여 다른 전자 제어 장치와의 원활한 통신이 이루어질 수 있도록 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 측면에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치는, 통신속도 설정모드를 선택하기 위한 스위치부, 통신속도(Baud rate)를 저장하는 메모리, 캔(CAN) 버스 라인을 통해 비트 신호를 송신 또는 수신하는 인터페이스부, 상기 스위치부에 설정된 통신속도 설정모드에 따라, 통신속도를 상기 메모리에 저장된 통신속도로 동작하도록 제어하거나, 상기 인터페이스부로부터의 비트 신호에서 감지된 캔 프레임에 기초하여 통신속도를 설정하는 컨트롤러를 포함하고, 상기 컨트롤러는, 상기 캔 프레임에서 한(one) 비트(1 bit)의 최소 시간을 산출하고, 상기 산출된 최소 시간을 이용하여 통신속도를 산출하는 것을 특징으로 한다.
본 발명에서 상기 인터페이스부는, 상기 캔 버스 라인을 통해 비트 신호를 송신하는 송신 포트, 상기 캔 버스 라인을 통해 비트 신호를 수신하는 수신 포트, 상기 캔 프레임의 수신 시간을 카운팅하기 위한 클럭 카운터 포트(Clock Counter)를 포함할 수 있다.
본 발명에서 상기 컨트롤러는, 상기 스위치부에 자동 설정모드가 설정된 경우, 상기 클럭 카운터 포트의 인터럽트를 통해 타이머를 활성화시킬 수 있다.
본 발명에서 상기 컨트롤러는, 상기 비트 신호의 비트 수에 기초하여 캔 프레임 여부를 판단하고, 캔 프레임인 경우 상기 타이머를 통해 상기 캔 프레임의 수신 시간을 카운팅할 수 있다.
본 발명에서 상기 컨트롤러는, 상기 캔 프레임의 전체 비트가 수신되는 시간을 카운팅하고, 상기 캔 프레임의 전체 비트 수를 상기 카운팅된 시간으로 나누어 한 비트(1bit)의 제1 시간을 산출하며, 상기 산출된 제1 시간을 최소 시간으로 산출할 수 있다.
본 발명에서 상기 컨트롤러는, 상기 캔 프레임에서 동일한 비트값이 연속되지 않은 한 비트(1bit)의 제2 시간을 추출하고, 상기 추출된 제2 시간을 최소 시간으로 산출할 수 있다.
본 발명에서 상기 컨트롤러는, 상기 캔 프레임이 동일한 비트값이 2개 이상 연속으로 구성된 경우, 상기 캔 프레임에서 비트값이 변하는 모든 지점의 시간을 추출하고, 상기 추출된 모든 지점의 시간에 대한 평균을 산출하며, 상기 산출된 평균 시간을 한 비트(1bit)의 제3 시간으로 설정하며, 상기 설정된 제3 시간을 최소 시간으로 산출할 수 있다.
본 발명에서 상기 컨트롤러는, 상기 최소 시간의 역수를 통신속도로 산출할 수 있다.
본 발명에서 상기 컨트롤러는, 상기 산출된 통신속도로 테스트 메시지를 캔 버스 라인을 통해 전자 제어 장치로 전송하여 에러가 없는 경우 상기 통신속도를 최종 통신속도로 자동 설정할 수 있다.
본 발명의 다른 측면에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 방법은, 통신속도 설정모드가 자동 설정모드인 경우, 컨트롤러가 타이머를 활성화시키고, 캔(CAN) 버스 라인을 통해 캔 프레임을 수신하는 단계, 상기 컨트롤러가 상기 캔 프레임에서 한 비트(1bit)의 최소 시간을 산출하는 단계, 상기 컨트롤러가 상기 산출된 최소 시간을 이용하여 통신속도를 산출하는 단계를 포함한다.
본 발명은 상기 캔 프레임에서 한 비트(1bit)의 최소 시간을 산출하는 단계에서, 상기 컨트롤러는, 상기 캔 프레임의 전체 비트가 수신되는 시간을 카운팅하고, 상기 캔 프레임의 전체 비트 수를 상기 카운팅된 시간으로 나누어 한 비트(1bit)의 제1 시간을 산출하며, 상기 산출된 제1 시간을 최소 시간으로 산출할 수 있다.
본 발명은 상기 캔 프레임에서 한 비트(1bit)의 최소 시간을 산출하는 단계에서, 상기 컨트롤러는, 상기 캔 프레임에서 동일한 비트값이 연속되지 않은 한 비트(1bit)의 제2 시간을 추출하고, 상기 추출된 제2 시간을 최소 시간으로 산출할 수 있다.
본 발명은 상기 캔 프레임에서 한 비트(1bit)의 최소 시간을 산출하는 단계에서, 상기 컨트롤러는, 상기 캔 프레임이 동일한 비트값이 2개 이상 연속으로 구성된 경우, 상기 캔 프레임에서 비트값이 변하는 모든 지점의 시간을 추출하고, 상기 추출된 모든 지점의 시간에 대한 평균을 산출하며, 상기 산출된 평균 시간을 한 비트(1bit)의 제3 시간으로 설정하며, 상기 설정된 제3 시간을 최소 시간으로 산출할 수 있다.
본 발명은 상기 산출된 최소 시간을 이용하여 통신속도를 산출하는 단계 이후, 상기 컨트롤러가 상기 산출된 통신속도로 테스트 메시지를 캔 버스 라인을 통해 전자 제어 장치로 전송하여 에러가 없는 경우 상기 통신속도를 최종 통신속도로 자동 설정하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법은 CAN 버스 라인을 통해 수신되는 비트 신호를 모니터링하고, 이를 이용하여 CAN 통신의 통신속도(Baud Rate)를 자동으로 설정함으로써, 전자 제어 장치에서 프로그램 변경 없이 어떠한 캔 버스에도 연결이 가능하도록 하여 다른 전자 제어 장치와의 원활한 통신이 이루어질 수 있게 한다.
한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.
도 1은 본 발명의 일 실시예에 따른 차량용 네트워크 시스템을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치를 설명하기 위한 도면이다.
도 3은 도 2에 도시된 컨트롤러의 기능을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 캔(CAN) 프레임의 구조를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 캔 프레임의 전체 비트에 기초하여 최소 시간을 산출하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 캔 프레임의 비트값에 기초하여 최소 시간을 산출하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 방법을 설명하기 위한 흐름도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 일 실시예에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법을 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다.
또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 차량용 네트워크 시스템을 개략적으로 나타낸 구성도이다.
본 발명의 일 실시예에 따른 차량용 네트워크 시스템은 차량 내 전자 제어 장치들 간의 통신을 위한 차량 내부 네트워크 시스템으로서, 도 1에 도시된 바와 같이, 2가닥의 와이어가 꼬여서 형성된 하나의 CAN 버스 라인(100)과 이 CAN 버스 라인(100)에 연결된 복수의 전자 제어 장치(200a, 200b,..., 200n, 이하 200이라 칭함)를 포함하여 구성될 수 있다.
CAN 버스 라인(100)의 양 끝단에는 각각 종단저항(미도시)이 연결되고, 전자 제어 장치들(200)은 CAN 통신 프로토콜을 이용하는 복수의 전자 제어 장치(200)로 구성될 수 있다.
전자 제어 장치들(200)은 각각 CAN 버스 라인(100)에 모두 연결되어서, CAN 버스 라인(100)을 통해 데이터를 전송할 수 있다.
이러한 전자 제어 장치들(200)은 CAN 버스 라인(100)을 통해 캔 트랜시버(미도시)에 각각 연결되며, 전자 제어 장치(200)내 각각의 송수신 포트는 캔 트랜시버내 해당 송수신 포트에 연결된다.
CAN 버스 라인(100)을 사용하는 모든 전자 제어 장치들(200)은 다른 전자 제어 장치로부터 수신(피드백)되는 CAN 프레임을 감지하고, 감지된 CAN 프레임에서 1 Bit의 최소 시간을 통신속도(Baud Rate)로 검출하며, 검출된 통신속도로 같은 CAN 버스 라인을 사용하는 전자 제어 장치들(200)의 통신속도를 자동으로 변경할 수 있다.
도 2는 본 발명의 일 실시예에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치를 설명하기 위한 도면, 도 3은 도 2에 도시된 컨트롤러의 기능을 설명하기 위한 도면, 도 4는 본 발명의 일 실시예에 따른 캔(CAN) 프레임의 구조를 설명하기 위한 도면, 도 5는 본 발명의 일 실시예에 따른 캔 프레임의 전체 비트에 기초하여 최소 시간을 산출하는 방법을 설명하기 위한 도면, 도 6은 본 발명의 일 실시예에 따른 캔 프레임의 비트값에 기초하여 최소 시간을 산출하는 방법을 설명하기 위한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치는 스위치부(210), 인터페이스부(220), 컨트롤러(240)(MCU, Micro Control Unit) 및 메모리(250)를 포함한다.
스위치부(210)는 통신속도 설정모드를 선택하기 위한 구성으로, 자동 설정 모드 또는 이전 속도 이용 모드로 변환시킨다. 즉, 스위치부(210)는 자동 설정 모드 또는 이전 속도 이용 모드 중에서 선택된 모드로 동작하도록 할 수 있다. 자동 설정 모드는 CAN 프레임에 기초하여 통신속도를 검출 및 설정하는 모드일 수 있고, 이전 속도 이용 모드는 메모리(250)에 저장된 통신속도를 이용하는 모드일 수 있다.
인터페이스부(220)는 CAN 버스 라인(100)을 통해 비트 신호를 송신 또는 수신한다. 이러한 인터페이스부(220)는 CAN 버스 라인(100)을 통해 비트 신호를 송신하는 송신 포트, CAN 버스 라인(100)을 통해 비트 신호를 수신하는 수신 포트, 및 피드백되는 비트 신호를 수신하는 클럭 카운터 포트(Clock Counter)를 포함할 수 있다. 클럭 카운터 포트는 캔 프레임의 시간을 카운팅하기 위해 이용할 수 있다. 예를 들어, ECU1(200a)에서 송신 포트로 비트 신호를 전송하면, 전송된 비트 신호는 CAN 버스 라인(100)으로 출력되되, 이때 출력되는 비트 신호는 ECU1(200a)의 피드백 신호 입력단인 클럭 카운터 포트로 피드백되어 전송된 비트 신호의 출력으로 확인할 수 있다. 또한, ECU2(200b)에서 ECU1(200a)으로 비트 신호를 전송한 경우, ECU1(200a)은 수신 포트를 통해 비트 신호를 수신하되, 이때 CAN 버스 라인(100)을 통해 수신되는 비트 신호는 ECU1(200a)의 피드백 신호 입력단인 클럭 카운터 포트로 피드백되어 수신된 비트 신호로 확인할 수 있다.
컨트롤러(240)는 스위치부(210)에 설정된 통신속도 설정모드에 따라, 통신속도를 메모리(250)에 저장된 통신속도로 동작하도록 제어하거나, 인터페이스부(220)로부터의 비트 신호에서 감지된 캔 프레임에 기초하여 통신속도를 설정한다. 즉, 스위치부(210)에서 이전 속도 이용 모드가 설정된 경우, 컨트롤러(240)는 메모리(250)에 저장된 통신속도를 현재의 통신속도로 설정할 수 있다. 또한, 스위치부(210)에서 자동 설정 모드가 설정된 경우, 컨트롤러(240)는 캔 프레임에서 통신속도를 검출하고, 검출된 통신속도를 캔 버스 라인(100)을 사용하는 전자 제어 장치들의 통신속도로 자동으로 변경할 수 있다.
이하, 컨트롤러(240)의 기능에 대해 도 3을 참조하여 설명하기로 한다. 컨트롤러(240)는 도 3에 도시된 바와 같이 모드 확인부(241), CAN 프레임 감지부(242), 통신속도 산출부(243) 및 검증부(244)를 포함한다.
모드 확인부(241)는 스위치부(210)에 설정된 모드를 확인한다. 스위치부(210)에 자동 설정 모드가 설정된 경우, 모드 확인부(241)는 캔 프레임의 수신 시간을 카운팅하기 위한 타이머(미도시)를 활성화시킬 수 있다. 여기서, 타이머는 클럭 카운터 포트의 인터럽트를 이용할 수 있다.
CAN 프레임 감지부(242)는 인터페이스부(220)를 통해 수신되는 비트 신호의 비트 수에 기초하여 캔 프레임 여부를 판단한다. 즉, CAN 프레임 감지부(242)는 수신되는 비트 신호가 CAN 통신 프로토콜에 따른 프레임인 경우 캔 프레임으로 판단할 수 있다. 이때, CAN 프레임 감지부(242)는 캔 프레임의 비트 수를 통해 캔 프레임인지 판단할 수 있다.
CAN 통신을 위한 프레임(캔 프레임)은 도 4와 같은 구조일 수 있다. 도 4에 도시된 바와 같이, 캔 프레임은 프레임 시작을 알리는 SOF(Start od Frame), 데이터 우선순위 중재를 위한 중재 ID 삽입을 위한 중재 ID 필드(Arbitration ID Field), 특정 ID(Identification)의 데이터 전송을 요청하기 위한 RTR(Remote Transmission Request) 비트, 제어 신호의 전송을 위한 제어필드(Control Field), 소정의 데이터 길이를 갖는 데이터가 실리는 데이터 필드(Data Field), 에러 검출을 위해 CRC Sequence와 CRC Delimiter로 구성된 CRC(Cyclic Redundancy Check) 필드, 데이터 수신의 정확성을 알리기 위해 ACK 슬롯과 ACK Delimiter로 구성된 ACK(Acknowledgement) 필드, 및 EOF(End of Frame)으로 구성될 수 있다. 제어필드(Control Field)에는 일반적으로 중재 ID의 길이가 표준(11비트)인지 확장(29 비트)인지를 알리기 위한 IDE(Identifier Extension)와 데이터 길이를 나타내는 DLC(Data Length Code)를 포함한다.
따라서, CAN 프레임 감지부(242)는 피드백되는 비트 신호가 도 4와 같은 구조를 갖는 경우, 해당 비트 신호를 캔 프레임으로 판단할 수 있다.
통신속도 산출부(243)는 캔 프레임에서 한(one) 비트(1 bit)의 최소 시간을 산출하고, 산출된 최소 시간을 이용하여 통신속도로 구한다.
이때, 통신속도 산출부(243)는 캔 프레임에서 한 비트(1bit)의 시간을 측정하고, 측정된 1bit의 시간을 최소 시간으로 산출할 수 있다. 그러나, 1bit의 최소 시간은 외부 노이즈 등의 외란으로 1bit를 인지하기 어려울 수 있다. 예컨대, Start Bit 하나로 최소 단위의 시간 측정은 가능하나, Start Bit의 감지가 제대로 되지 않을 경우 통신속도(Baud rate)의 결정도 불가하기 때문이다.
이에, 통신속도 산출부(243)는 캔 프레임의 전체 비트가 수신되는 시간을 카운팅하고, 캔 프레임의 전체 비트 수를 카운팅된 시간으로 나누어 1bit의 제1 시간을 산출하며, 산출된 제1 시간을 최소 시간으로 산출할 수 있다. 통신속도 산출부(243)는 캔 프레임이 수신되는 시간을 카운팅하기 위해 클럭 카운터 포트(Clock Counter)의 인터럽트를 이용할 수 있다.
예를 들어, 도 5와 같은 캔 프레임(51 bit)을 수신하는(피드백 받은) 전체 시간을 F2라고 가정하여 설명하기로 한다. 이 경우, 통신속도 산출부(243)는 캔 프레임의 전체 비트 수(51 bit)을 F2로 나누어, 1bit의 제1 시간을 산출할 수 있다.
통신속도 산출부(243)는 제1 시간을 이용하여 캔 버스 라인(100)의 통신속도를 산출할 수 있다. 즉, 통신속도 산출부(243)는 제1 시간의 역수를 구하고, 구해진 제1 시간의 역수를 통신속도로 산출할 수 있다. 하지만 상술한 방법은 측정된 시간 파라미터의 값이 부정확할 경우 신뢰하지 못하는 문제가 있다.
이에, 통신속도 산출부(243)는 캔 프레임에서 동일한 비트값이 연속되지 않은 한 비트(1bit)의 시간을 제2 시간으로 산출하고, 제2 시간을 이용하여 통신속도를 산출할 수 있다. 예를 들어, 도 6의 (a)와 같이 1bit 값이 '1', '0', '1' 순으로 변하는 구간이 존재하는 경우, 통신속도 산출부(243)는 1bit 값이 '1'에서 '0'으로 변하는 시간인 T2를 제2 시간으로 산출할 수 있다.
한편, 캔 프레임은 도 6의 (b)와 같이 동일한 비트값이 2개 이상 연속으로 구성될 수 있다. 이런 경우 통신속도를 산출하기 위해 1비트의 최소 시간을 찾을 수 없다. 이처럼 캔 프레임에서 동일한 비트값이 연속되지 않은 1비트가 존재하지 않은 경우, 통신속도 산출부(243)는 캔 프레임에서 비트값이 변하는 모든 지점의 시간을 추출하고, 추출된 모든 지점의 시간에 대한 평균을 산출하며, 산출된 평균을 1bit의 제3 시간으로 산출할 수 있다.
예를 들어 도 6의 (b)를 참조하면, 통신속도 산출부(243)는 비트값이 '0'에서 '1'로 변하는 지점 D1 및 D3의 시간, 비트값이 '1'에서 '0'으로 변하는 지점 D2의 시간을 각각 추출하고, 추출된 D1, D2 및 D3의 시간들의 평균을 산출하여, 제3 시간으로 산출할 수 있다.
통신속도 산출부(243)는 제1 시간, 제2 시간 및 제3 시간 중 하나를 선택하여 통신속도를 구할 수 있다. 즉, 통신속도 산출부(243)는 제1 시간, 제2 시간 및 제3 시간 중에서 가장 짧은 시간을 최소 시간으로 선택할 수 있다. 그런 후, 통신속도 산출부(243)는 선택된 최소 시간의 역수를 계산하여 통신속도(보드 레이트)를 구한다. 즉, 통신속도 산출부(243)는 '1/최소 시간'을 통신속도로 산출할 수 있다.
검증부(244)는 통신속도 산출부(243)에서 구한 통신속도로 테스트 메시지를 캔 버스 라인(100)을 통해 다른 전자 제어 장치로 전송하여 에러가 없는 경우 통신속도를 최종 결정한다. 이때, 검증부(244)는 에러 프레임의 발생 여부를 확인하여, 에러 프레임이 발생되지 않으면 그 통신속도를 최종 통신속도로 최종 결정함으로써, 전자 제어 장치간의 원활한 통신이 가능해지도록 한다.
상기와 같이 구성된 통신속도 설정 장치는 전자 제어 장치(200) 자체 또는 전자 제어 장치(200)의 내부에 구비된 장치일 수 있다.
도 7은 본 발명의 일 실시예에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 통신속도 설정 장치는 통신속도 설정모드가 자동 설정모드인지 판단한다(S710). 즉, 통신속도 설정 장치는 스위치부(210)를 확인하여 자동 설정모드 또는 이전 속도 이용모드인지를 판단한다.
S710 단계의 판단결과, 자동 설정모드이면, 통신속도 설정 장치는 캔 프레임의 펄스 변화 시간을 카운팅하기 위한 타이머(230)를 활성화시킨다(S720).
S720 단계 수행 후, 통신속도 설정 장치는 다른 전자 제어 장치로부터 캔 프레임이 수신되는지를 판단한다(S730). 이때, 통신속도 설정 장치는 다른 전자 제어 장치로부터의 비트 신호가 CAN 통신 프로토콜에 따른 프레임인 경우 캔 프레임으로 판단할 수 있다.
S730 단계의 판단결과, 캔 프레임이 수신되면, 통신속도 설정 장치는 캔 프레임에서 1bit의 최소 시간을 산출하고(S740), 산출된 최소 시간을 이용하여 통신속도를 구한다(S750). 즉, 통신속도 설정 장치는 캔 프레임의 전체 비트가 수신되는 시간을 카운팅하고, 캔 프레임의 전체 비트 수를 카운팅된 시간으로 나누어 1bit의 제1 시간을 산출하며, 산출된 제1 시간을 최소 시간으로 산출할 수 있다. 또한, 통신속도 설정 장치는 캔 프레임에서 동일한 비트값이 연속되지 않은 한 비트(1bit)의 시간을 제2 시간으로 산출할 수 있다. 또한, 캔 프레임에서 동일한 비트값이 연속되지 않은 1비트가 존재하지 않은 경우, 통신속도 설정 장치는 캔 프레임에서 비트값이 변하는 모든 지점의 시간을 추출하고, 추출된 모든 지점의 시간에 대한 평균을 산출하며, 산출된 평균을 1bit의 제3 시간으로 산출할 수 있다.
통신속도 설정 장치는 제1 시간, 제2 시간 및 제3 시간 중 하나를 선택하여 통신속도를 구할 수 있다. 즉, 통신속도 설정 장치는 제1 시간, 제2 시간 및 제3 시간 중에서 가장 짧은 시간을 최소 시간으로 선택할 수 있다. 그런 후, 통신속도 설정 장치는 선택된 최소 시간의 역수를 계산하여 통신속도(보드 레이트)를 구한다. 즉, 통신속도 산출부(243)는 '1/최소 시간'을 통신속도로 산출할 수 있다.
S750 단계가 수행되면, 통신속도 설정 장치는 구한 통신속도로 테스트 메시지를 캔 버스 라인(100)을 통해 다른 전자 제어 장치로 전송하여 에러가 없는 경우 통신속도를 최종 결정한다(S760).
만약, S710 단계의 판단결과, 이전 속도 이용 모드이면, 통신속도 설정 장치는 메모리(250)에 저장된 통신속도를 로딩하고(S770), 로딩된 통신속도를 현재의 통신속도로 설정한 후(S780), S760 단계를 수행한다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법은 CAN 버스 라인을 통해 수신되는 비트 신호를 모니터링하고, 이를 이용하여 CAN 통신의 통신속도(Baud Rate)를 자동으로 설정함으로써, 전자 제어 장치에서 프로그램 변경 없이 어떠한 캔 버스에도 연결이 가능하도록 하여 다른 전자 제어 장치와의 원활한 통신이 이루어질 수 있게 한다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
100 : CAN 버스 라인
200 : 전자 제어 장치
210 : 스위치부
220 : 인터페이스부
240 : 컨트롤러
241 : 모드 확인부
242 : CAN 프레임 감지부
243 : 통신속도 산출부
244 : 검증부
250 : 메모리

Claims (14)

  1. 통신속도 설정모드를 선택하기 위한 스위치부;
    통신속도(Baud rate)를 저장하는 메모리;
    캔(CAN) 버스 라인을 통해 비트 신호를 송신 또는 수신하는 인터페이스부; 및
    상기 스위치부에 설정된 통신속도 설정모드에 따라, 통신속도를 상기 메모리에 저장된 통신속도로 동작하도록 제어하거나, 상기 인터페이스부로부터의 비트 신호에서 감지된 캔 프레임에 기초하여 통신속도를 설정하는 컨트롤러;를 포함하고,
    상기 컨트롤러는,
    상기 캔 프레임에서 한(one) 비트(1 bit)의 최소 시간을 산출하고, 상기 산출된 최소 시간을 이용하여 통신속도를 산출하는 것을 특징으로 하는, 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치.
  2. 제1항에 있어서,
    상기 인터페이스부는,
    상기 캔 버스 라인을 통해 비트 신호를 송신하는 송신 포트;
    상기 캔 버스 라인을 통해 비트 신호를 수신하는 수신 포트; 및
    상기 캔 프레임의 수신 시간을 카운팅하기 위한 클럭 카운터 포트(Clock Counter)를 포함하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치.
  3. 제2항에 있어서,
    상기 컨트롤러는,
    상기 스위치부에 자동 설정모드가 설정된 경우, 상기 클럭 카운터 포트의 인터럽트를 통해 타이머를 활성화시키는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치.
  4. 제3항에 있어서,
    상기 컨트롤러는,
    상기 비트 신호의 비트 수에 기초하여 캔 프레임 여부를 판단하고, 캔 프레임인 경우 상기 타이머를 통해 상기 캔 프레임의 수신 시간을 카운팅하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치.
  5. 제3항에 있어서,
    상기 컨트롤러는,
    상기 캔 프레임의 전체 비트가 수신되는 시간을 카운팅하고, 상기 캔 프레임의 전체 비트 수를 상기 카운팅된 시간으로 나누어 한 비트(1bit)의 제1 시간을 산출하며, 상기 산출된 제1 시간을 최소 시간으로 산출하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치.
  6. 제3항에 있어서,
    상기 컨트롤러는,
    상기 캔 프레임에서 동일한 비트값이 연속되지 않은 한 비트(1bit)의 제2 시간을 추출하고, 상기 추출된 제2 시간을 최소 시간으로 산출하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치.
  7. 제3항에 있어서,
    상기 컨트롤러는,
    상기 캔 프레임이 동일한 비트값이 2개 이상 연속으로 구성된 경우, 상기 캔 프레임에서 비트값이 변하는 모든 지점의 시간을 추출하고, 상기 추출된 모든 지점의 시간에 대한 평균을 산출하며, 상기 산출된 평균 시간을 한 비트(1bit)의 제3 시간으로 설정하며, 상기 설정된 제3 시간을 최소 시간으로 산출하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치.
  8. 제1항에 있어서,
    상기 컨트롤러는,
    상기 최소 시간의 역수를 통신속도로 산출하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치.
  9. 제1항에 있어서,
    상기 컨트롤러는,
    상기 산출된 통신속도로 테스트 메시지를 캔 버스 라인을 통해 전자 제어 장치로 전송하여 에러가 없는 경우 상기 통신속도를 최종 통신속도로 자동 설정하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치.
  10. 통신속도 설정모드가 자동 설정모드인 경우, 컨트롤러가 타이머를 활성화시키고, 캔(CAN) 버스 라인을 통해 캔 프레임을 수신하는 단계;
    상기 컨트롤러가 상기 캔 프레임에서 한 비트(1bit)의 최소 시간을 산출하는 단계; 및
    상기 컨트롤러가 상기 산출된 최소 시간을 이용하여 통신속도를 산출하는 단계
    를 포함하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 방법.
  11. 제10항에 있어서,
    상기 캔 프레임에서 한 비트(1bit)의 최소 시간을 산출하는 단계에서,
    상기 컨트롤러는, 상기 캔 프레임의 전체 비트가 수신되는 시간을 카운팅하고, 상기 캔 프레임의 전체 비트 수를 상기 카운팅된 시간으로 나누어 한 비트(1bit)의 제1 시간을 산출하며, 상기 산출된 제1 시간을 최소 시간으로 산출하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 방법.
  12. 제10항에 있어서,
    상기 캔 프레임에서 한 비트(1bit)의 최소 시간을 산출하는 단계에서,
    상기 컨트롤러는, 상기 캔 프레임에서 동일한 비트값이 연속되지 않은 한 비트(1bit)의 제2 시간을 추출하고, 상기 추출된 제2 시간을 최소 시간으로 산출하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 방법.
  13. 제10항에 있어서,
    상기 캔 프레임에서 한 비트(1bit)의 최소 시간을 산출하는 단계에서,
    상기 컨트롤러는, 상기 캔 프레임이 동일한 비트값이 2개 이상 연속으로 구성된 경우, 상기 캔 프레임에서 비트값이 변하는 모든 지점의 시간을 추출하고, 상기 추출된 모든 지점의 시간에 대한 평균을 산출하며, 상기 산출된 평균 시간을 한 비트(1bit)의 제3 시간으로 설정하며, 상기 설정된 제3 시간을 최소 시간으로 산출하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 방법.
  14. 제10항에 있어서,
    상기 산출된 최소 시간을 이용하여 통신속도를 산출하는 단계 이후,
    상기 컨트롤러가 상기 산출된 통신속도로 테스트 메시지를 캔 버스 라인을 통해 전자 제어 장치로 전송하여 에러가 없는 경우 상기 통신속도를 최종 통신속도로 자동 설정하는 단계를 더 포함하는 것을 특징으로 하는 캔 통신 기반 전자 제어 장치의 통신속도 설정 방법.
KR1020190161719A 2019-12-06 2019-12-06 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법 KR102274671B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190161719A KR102274671B1 (ko) 2019-12-06 2019-12-06 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190161719A KR102274671B1 (ko) 2019-12-06 2019-12-06 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210071490A true KR20210071490A (ko) 2021-06-16
KR102274671B1 KR102274671B1 (ko) 2021-07-08

Family

ID=76603254

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190161719A KR102274671B1 (ko) 2019-12-06 2019-12-06 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102274671B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030000578A (ko) * 2001-06-26 2003-01-06 주식회사 엘지이아이 수신신호검출을 통한 기기의 통신속도 검출방법
KR20050033138A (ko) * 2003-10-06 2005-04-12 주식회사 만도 캔 통신노드의 통신속도 설정방법
KR20180064274A (ko) * 2016-12-05 2018-06-14 한국전자통신연구원 Can 컨트롤러 및 이를 이용한 데이터 전송 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030000578A (ko) * 2001-06-26 2003-01-06 주식회사 엘지이아이 수신신호검출을 통한 기기의 통신속도 검출방법
KR20050033138A (ko) * 2003-10-06 2005-04-12 주식회사 만도 캔 통신노드의 통신속도 설정방법
KR20180064274A (ko) * 2016-12-05 2018-06-14 한국전자통신연구원 Can 컨트롤러 및 이를 이용한 데이터 전송 방법

Also Published As

Publication number Publication date
KR102274671B1 (ko) 2021-07-08

Similar Documents

Publication Publication Date Title
JP5664799B2 (ja) 通信システム及び通信方法
US7620075B2 (en) Serial communication system with baud rate generator
KR101921357B1 (ko) 직렬 버스 시스템에서 데이터 전송 용량을 증대하기 위한 방법 및 장치
US8823498B2 (en) Transceiver
US8983714B2 (en) Failsafe communication system and method
US9338035B2 (en) Microcontroller with can bus module and auto speed detect
CN102170347B (zh) 同步信号检测装置
US10491418B2 (en) Can controller and data transmission method using the same
EP2725436B1 (en) Communication device connectable to a control device and a plurality of sensors
CN112751738B (zh) 波特率自适应方法、装置、计算机设备和可读存储介质
EP2339789A1 (en) Improved pattern detection for partial networking
EP2965460A1 (en) Dynamic pause period calculation for serial data transmission
EP3332510B1 (en) Determining a state of a network device
JP2011035473A (ja) ボーレートエラー検出回路、ボーレートエラー検出方法
KR102274671B1 (ko) 캔 통신 기반 전자 제어 장치의 통신속도 설정 장치 및 방법
JP2017092565A (ja) スリープ制御方法
CN114128221B (zh) 用于串行总线系统的用户站和用于在串行总线系统中通信的方法
JP5064161B2 (ja) 電子制御ユニット
JP2006254045A (ja) シリアルバスデータ収集装置及びデータ収集システム
KR100506366B1 (ko) 복합마이컴형 제품 및 슬레이브 리셋 방법
CN108632242B (zh) 通信装置及接收装置
JP5678828B2 (ja) トランシーバ
KR20180057503A (ko) 차량 네트워크에서 시간 동기화를 위한 통신 노드의 동작 방법
JP5374025B2 (ja) 差動型伝送装置
KR101889649B1 (ko) 풀푸르프(Fool-Proof) 장치의 무선 시리얼통신에서 연속적 수신데이터의 일시적 오류 제거를 위한 3-저장소 알고리즘

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right