KR101544887B1 - Can 통신 진단 방법 및 장치 - Google Patents

Can 통신 진단 방법 및 장치 Download PDF

Info

Publication number
KR101544887B1
KR101544887B1 KR1020140092390A KR20140092390A KR101544887B1 KR 101544887 B1 KR101544887 B1 KR 101544887B1 KR 1020140092390 A KR1020140092390 A KR 1020140092390A KR 20140092390 A KR20140092390 A KR 20140092390A KR 101544887 B1 KR101544887 B1 KR 101544887B1
Authority
KR
South Korea
Prior art keywords
electronic control
diagnostic
transmission
control device
communication
Prior art date
Application number
KR1020140092390A
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 KR1020140092390A priority Critical patent/KR101544887B1/ko
Application granted granted Critical
Publication of KR101544887B1 publication Critical patent/KR101544887B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks

Abstract

본 발명은 CAN 통신 진단 방법 및 장치에 관한 것으로, CAN 통신 진단 방법은, 전자제어장치로부터 정보를 송수신하는 통신 모드에서 CAN 통신을 진단하기 위한 진단 모드로 진입하는 단계와, 진단 모드로 진입하면 상기 진단 대상이 되는 전자제어장치 이외의 전자제어장치를 가상으로 구성하고, 미리 저장된 CAN 데이터베이스에 기초하여 가상의 전자제어장치와 상기 전자제어장치 간의 메시지 송수신을 분석하여 진단을 수행하는 단계 및 진단 결과 에러 발생이 확인되면 에러 발생 사실을 통지하기 위한 신호를 출력하는 단계를 포함하는 것을 특징으로 한다.

Description

CAN 통신 진단 방법 및 장치{Apparatus And Method for diagnosing CAN communication error}
본 발명은 CAN 통신 진단 방법 및 장치에 관한 것이다.
본 발명은 차량용 캔 네트워크 시스템에서의 자기진단방법에 관한 것으로, 특히 캔 네트워크 시스템에서 다수의 전자제어유닛에 연결된 기존의 캔버스 라인을 이용하여 자기진단을 할 수 있도록 한 차량용 캔 네트워크 시스템에서의 자기진단방법에 관한 것이다.
최근에는 제어 시스템이 점차 복잡해지고 지능화됨과 동시에 마이크로프로세서 등과 같은 반도체 장치의 성능이 향상하고 가격이 낮아짐에 따라서 분산 제어 시스템에 대한 요구가 점차로 높아져 제어용 실시간 네트워크에 대한 필요성이 부각되고 있다. 이러한 제어용 실시간 네트워크의 통신을 지원하는 통신망으로 이용되는 것으로 캔(Controller Area Network ; 이하, 'CAN'이라 칭함)이 있다. 상기 CAN은 원래 1980년대에 차량용 네트워크 프로토콜로 개발된 것으로 성능이 우수하면서도 비용이 저렴하여 ISO에 의해서 직렬 통신 규약 ISO11898국제 표준으로 지정되어 다른 산업 분야로의 적용이 활발하게 적용되고 있다. 특히, 상기 CAN의 높은 데이타 처리 속도, 전기적 장애에 대한 강력한 면역성과 에러를 감지하고 교정하는 능력 때문에 차량뿐만 아니라 제조업, 항공, 철도 등의 여러 산업 분야에도 널리 이용될 수 있는 체계로 알려지고 있다.
도 1은 종래의 차량용 캔 네트워크 시스템에서 자기진단을 설명하기 위한 기능 블록도이다.
도 1에 도시한 바와 같이, 종래의 차량용 CAN 네트워크 시스템에 있어서, 차량내의 적소에 장착되고, 캔버스(CAN BUS)라인으로 연결된 다수개의 전자제어유닛(Electric Control Unit;ECU)(1~12)의 CAN 통신을 진단하기 위해서는, 상기 각각의 전자제어유닛(1~11)에 통신라인을 연결하고, 이 통신라인을 CAN 트랜시버에 접속하여 이를 통해 각각의 전자제어유닛(E1~En)과 통신을 하면서 각종 진단을 행할 수 있다.
그러나, 이와 같이 구성된 종래의 CAN 통신 진단 방법은 모든 구성요소를 갖추어 연결시켜야 하기 때문에 개발 시점에서는 검증 대상이 되는 전자제어유닛 이외의 전자제어유닛도 모두 연결시켜야 하기 때문에 비용이 증가하고 검증을 준비하기 위한 시간이 늘어날 수 있다는 문제가 있다.
본 발명은 상기의 문제점을 해결하기 위해 창안된 것으로서, 개발 단계에서 진단 대상이 되는 제어기 이외의 구성요소를 직접 연결하지 않아도 CAN 통신을 진단할 수 있는 장치 및 방법을 제공함에 그 목적이 있다.
이를 위하여, 본 발명의 일 실시예에 따르면, 진단 장치가 전자제어장치의 CAN 통신을 진단하는 방법은, 진단 대상이 되는 제1 전자제어장치로부터 정보를 송수신하는 통신 모드에서 CAN 통신을 진단하기 위한 진단 모드로 진입하는 단계와, 진단 모드로 진입하면 가상의 제2 전자제어장치를 구성하고, 미리 저장된 CAN 데이터베이스에 기초하여 가상의 제2 전자제어장치와 상기 제1 전자제어장치 간의 메시지 송수신을 분석하여 진단을 수행하는 단계 및 진단 결과 에러 발생이 확인되면 에러 발생 사실을 통지하기 위한 신호를 출력하는 단계를 포함하는 것을 특징으로 한다.
상기 진단을 수행하는 단계는, 상기 제1 전자제어장치의 전송 메시지에 대응하여, 가상의 제2 전자제어장치에 상기 전송 메시지를 전송하거나 상기 가상의 제2 전자제어장치로부터의 전송 메시지를 상기 제1 전자제어장치에 전송하며, 송수신되는 메시지에 대하여 미리 저장된 CAN 데이터베이스에 기초하여 에러를 판단하는 것을 특징으로 하는 특징으로 한다.
상기 CAN 데이터베이스는 차량의 CAN 네트워크에 포함되는 제1 전자제어장치와 제2 전자제어장치 각각에 대한 CAN 전송 메시지 및 수신 메시지에 대한 정보를 포함하고, 상기 CAN 전송 메시지 및 수신 메시지의 정보에는 CAN 채널 식별자, 전자제어장치 ID, 데이터 타입, 데이터 길이, 데이터 전송 주기 및 메시지 송출 반복 횟수 중 어느 하나 이상을 포함하는 것을 특징으로 한다.
상기 진단 모드로 진입하는 단계는, 진단 모듈의 전원을 연결하는 단계와, 상기 제1 전자제어장치와 연결된 통신 모듈의 수신포트와 진단모드의 전송 포트를 연결하는 단계 및 통신 모듈의 전송포트와 진단모드의 수신 포트를 연결하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 CAN 통신 진단 장치는 접속된 전자제어장치로부터 신호를 송수신하는 통신 모듈 및 진단 대상이 되는 제1 전자제어장치의 CAN 통신의 진단 모드로 진입하면 가상의 제2 전자제어장치를 구성하고, 미리 저장된 CAN 데이터베이스에 기초하여 가상의 전자제어장치와 상기 전자제어장치 간의 메시지 송수신을 분석하여 진단을 수행하고, 진단 결과 에러 발생이 확인되면 에러 발생 사실을 통지하기 위한 신호를 출력하는 진단 모듈을 포함하는 것을 특징으로 한다.
상기 진단 모듈은 상기 제1 전자제어장치의 전송 메시지에 대응하여, 가상의 제2 전자제어장치에 전송하거나 상기 가상의 제2 전자제어장치로부터의 전송 메시지를 상기 제1 전자제어장치에 전송하고, 메시지의 송수신에 대하여 미리 저장된 CAN 데이터베이스에 기초하여 에러를 판단하는 것을 특징으로 한다.
상기 진단 장치는 상기 진단모드로 진입하도록 상기 진단 모듈의 전원 스위치를 온하고, 상기 통신 모듈의 수신포트와 진단모드의 전송 포트를 연결하며, 상기 통신 모듈의 전송포트와 진단모드의 수신 포트를 연결하는 스위칭 모듈을 더 포함하는 것을 특징으로 한다.
본 발명에 따르면, 전자 제어장치(ECU) 개발 단계에서의 CAN 네트워크 시뮬레이션의 검증이 용이하다.
도 1은 종래의 차량 진단 시스템을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 차량 진단 시스템을 개략적으로 나타낸 구성도이다.
도 3은 본 발명의 일 실시예에 따른 차량 진단 장치를 개략적으로 나타낸 구성도이다.
도 4는 본 발명의 일 실시예에 따른 진단 장치에 의한 진단 방법을 설명하기 위한 흐름도이다.
도 5는 도 4에 따른 진단 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 CAN 데이터베이스의 일 예이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다. 본 발명의 구성 및 그에 따른 작용 효과는 이하의 상세한 설명을 통해 명확하게 이해될 것이다. 본 발명의 상세한 설명에 앞서, 동일한 구성요소에 대해서는 다른 도면 상에 표시되더라도 가능한 동일한 부호로 표시하며, 공지된 구성에 대해서는 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 구체적인 설명은 생략하기로 함에 유의한다.
도 2는 본 발명의 일 실시예에 따른 차량 진단 시스템을 개략적으로 나타낸 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 차량 진단 시스템은 전자 제어 장치(ECU;100), 진단 장치(200)를 포함할 수 있다.
ECU(100)는 차량 내 EMS(Engine Management System), TCU(Telecommunication Control Unit), HCU(HybridControl Unit), BMS(Battery Management System), ECS(Electronic Power Steering), MDPS(Motor Driving Power Steering), LKAS(Lane Keeping Assist System), SCC(Smart cruise control) 등에 설치되어 그 기능을 제어하는 장치로 진단 장치(200)에 CAN 통신을 통해 연결된다.
각 ECU(100)는 차량의 시동(IGN ON)으로 전원이 인가되면 통신을 개시하고, 브로드캐스팅(Broadcasting) 방식인 CAN 통신을 통해 각자의 노드를 통해 메시지를 송신한다. 여기서, 상기 메시지는 차량의 구동에 따른 각 ECU(100)의 동작 상태정보(예; 로그 정보)를 포함할 수 있다.
또한, 각 ECU(100)는 협조 제어를 위해 필요한 각종 데이터를 주고 받는데, 이벤트가 발생한 경우 이벤트가 발생되었다는 사실을 통지하기 위한 메시지를 송수신할 수도 있고, 미리 설정된 주기에 따라 임의의 제어 신호를 주고 받기도 한다. 여기서 말하는 이벤트는 시스템의 결함 및 통신상의 문제로 발생하는 각종 고장을 포함할 수 있다.
한편, 본 발명의 일 실시예에 따른 진단 장치(200)는 진단이 필요하지 않은 때에는, 일반적인 통신 모드의 기능을 수행하고, 진단이 필요한 경우에 진단 모드의 기능을 수행한다.
통신 모드란, 각 ECU(100)가 연결된 노드로부터 정보를 수신하여 적절한 노드에 수신된 정보를 송출하는 트랜시버의 기능을 의미한다.
진단 모드란, ECU(100)의 CAN 통신의 이상을 진단하기 위하여 연결된 노드에 대응하는 ECU(100) 이외의 노드를 가상으로 구성하여, 각 노드에 연결된 가상의 ECU로부터의 신호 송수신을 대행함으로써 실제 연결된 노드의 ECU(100)의 CAN 네트워크의 상태를 진단하는 기능을 의미한다.
도 3은 본 발명의 일 실시예에 따른 차량 진단 장치를 개략적으로 나타낸 구성도이다.
도 3에 도시한 바와 같이, 진단장치(200)는 통신모듈(210), 진단모듈(220) 및 스위칭 모듈(230)을 포함할 수 있다.
스위칭 모듈(230)은 통신 모드와 진단 모드의 전환을 수행하는 역할을 한다.
스위칭 모듈(230)은 전원 스위치(SW1), 송신 스위치(SW2) 및 수신 스위치(SW3)을 포함할 수 있다.
진단 모드로의 진입을 명령하는 신호를 수신받으면 전원 스위치(SW1), 송신 스위치(SW2) 및 수신 스위치(SW3)가 온된다.
전원 스위치(SW1)가 온되면 베터리가 연결되어 진단 모듈(220)이 활성된다.
송신 스위치(SW2)가 온되면 통신 모듈(210)의 전송 포트와 진단 모듈(220)의 수신 포트가 연결되고, 수신 스위치(SW3)가 온되면 통신 모듈(210)의 수신 포트와 진단 모듈(220)의 전송 포트가 연결된다.
진단 모드로 진입하여 스위칭 모듈(230)이 모두 온되면, 진단 모드가 수행된다.
진단 모듈(220)은 코어부(222), 버퍼부(224) 및 저장부(226)를 포함할 수 있다.
코어부(222)는 진단을 수행하는 구성요소이다. 보다 구체적으로 진단을 위한 진단 신호를 생성하고, 진단 신호에 대한 전자 제어 장치(100)의 응답을 모니터링하여 전자 제어 장치(100)의 CAN 통신 정상 여부 및 메시지 제얼를 확인할 수 있다. 또하느 코어부(222)는 연결된 전자 제어 장치(100)로부터 주기적으로 발생하는 신호를 수신하여
버퍼부(224)는 코어부(222)의 지시에 따라 임의의 데이터를 임시 저장한다.
저장부(226)는 진단의 기초가 되는 CAN 데이터베이스(DB)를 저장한다.
CAN 데이터베이스(DB)는 CAN 네트워크의 정보가 담긴 데이터베이스이고, 모든 전자 제어기의 CAN 송신(TX) 메시지와 수신(RX) 메시지에 대한 정보가 담겨져 있다. 즉 현재 연결된 전자 제어기 뿐만 아니라 연결되지 않은 전자 제어기에 대한 CAN 송신(TX) 메시지와 수신(RX) 메시지에 대한 정보가 저장되어 있다.
도 6에 예시되어 있는 바와 같이, CAN 메시지의 정보에는 CAN 채널(CHANNEL), 노드 ID, 데이터 길이(DATA LENGTH), 메시지 클래스(MESSAGE CLASS)와 같은 CAN MESSAGE에 대한 기본적인 정보와 SendType(주기 메시지인지 이벤트 메시지인지), 사이클 타임(cycle time), 메시지 송출 반복 횟수, 스타트시 동작 특성 등과 같은 데이터 속성(Attribute)들을 모두 포함한다.
도 4는 본 발명의 일 실시예에 따른 진단 장치에 의한 진단 방법을 설명하기 위한 흐름도이다.
진단 모듈(220)은 CAN 통신을 진단하기 위한 진단 모드로의 진입을 의미하는 신호를 수신한다(S10). 예컨대 진단 모드로의 진입을 의미하는 신호가 제어핀을 통해 입력될 수 있다.
스위칭 모듈(230)에 의해 CAN 통신의 진단 모드로의 진입을 준비한다(S20).
진단 모드로의 진입을 위해 전원 스위치(SW1)가 닫혀 진단 모듈을 활성화시킨다. 다음 송신 스위치(SW3)가 닫혀 통신 모듈의 수신포트와 진단모드의 전송 포트를 연결하고, 수신 스위치(SW1)가 닫혀 통신 모듈의 전송포트와 진단모드의 수신 포트를 연결한다.
진단 모드로 진입하면 진단 모듈(220)은 기 저장된 CAN 데이터베이스에 따라 가상의 노드를 구성하도 2는 본 발명의 일 실시예에 따른 차량 진단 시스템을 개략적으로 나타낸 구성도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 차량 진단 시스템은 전자제어장치(ECU;100), 진단 장치(200)를 포함할 수 있다.
ECU(100)는 차량 내 EMS(Engine Management System), TCU(Transmission Control Unit), HCU(HybridControl Unit), BMS(Battery Management System), ECS(Electronic Control System), MDPS(Motor Driving Power Steering), LKAS(Lane Keeping Assist System), SCC(Smart cruise control) 등에 설치되어 그 기능을 제어하는 장치로 진단 장치(200)에 CAN 통신을 통해 연결된다.
각 ECU(100)는 차량의 시동(IGN ON)으로 전원이 인가되면 통신을 개시하고, 브로드캐스팅(Broadcasting) 방식인 CAN 통신을 통해 각자의 노드를 통해 메시지를 송신한다. 여기서, 상기 메시지는 차량의 구동에 따른 각 ECU(100)의 동작 상태정보(예; 로그 정보)를 포함할 수 있다.
또한, 각 ECU(100)는 협조 제어를 위해 필요한 각종 데이터를 주고 받는데, 이벤트가 발생한 경우 이벤트가 발생되었다는 사실을 통지하기 위한 메시지를 송수신할 수도 있고, 미리 설정된 주기에 따라 임의의 제어 신호를 주고 받기도 한다. 여기서 말하는 이벤트는 시스템의 결함 및 통신상의 문제로 발생하는 각종 고장을 포함할 수 있다.
한편, 본 발명의 일 실시예에 따른 진단 장치(200)는 진단이 필요하지 않은 때에는, 일반적인 통신 모드의 기능을 수행하고, 진단이 필요한 경우에 진단 모드의 기능을 수행한다.
통신 모드란, 각 ECU(100)가 연결된 노드로부터 정보를 수신하여 적절한 노드에 수신된 정보를 송출하는 트랜시버의 기능을 수행하는 모드를 의미한다.
진단 모드란, ECU(100)의 CAN 통신의 이상을 진단하기 위하여 연결된 노드에 대응하는 ECU(100) 이외의 노드를 가상으로 구성하여, 각 노드에 연결된 가상의 ECU로부터의 신호 송수신을 대행함으로써 실제 연결된 노드의 ECU(100)의 CAN 네트워크의 상태를 진단하는 기능을 수행하는 모드를 의미한다.
도 3은 본 발명의 일 실시예에 따른 차량 진단 장치를 개략적으로 나타낸 구성도이다.
도 3에 도시한 바와 같이, 진단장치(200)는 통신모듈(210), 진단모듈(220) 및 스위칭 모듈(230)을 포함할 수 있다.
스위칭 모듈(230)은 통신 모드와 진단 모드의 전환을 수행하는 역할을 한다.
스위칭 모듈(230)은 전원 스위치(SW1), 송신 스위치(SW2) 및 수신 스위치(SW3)을 포함할 수 있다.
진단 모드로의 진입을 명령하는 신호를 수신받으면 전원 스위치(SW1), 송신 스위치(SW2) 및 수신 스위치(SW3)가 온된다.
전원 스위치(SW1)가 온되면 베터리가 진단장치(200)에 연결되어 진단 모듈(220)이 활성화 된다.
송신 스위치(SW2)가 온되면 통신 모듈(210)의 전송 포트와 진단 모듈(220)의 수신 포트가 연결되고, 수신 스위치(SW3)가 온되면 통신 모듈(210)의 수신 포트와 진단 모듈(220)의 전송 포트가 연결된다. 이로써 진단 모드로의 진입이 완료된다.
진단 모드로 진입 완료되면 즉, 스위칭 모듈(230)이 모두 온되면, 진단 모드가 수행된다.
진단 모드를 수행하는 진단 모듈(220)은 코어부(222), 버퍼부(224) 및 저장부(226)를 포함할 수 있다.
코어부(222)는 진단을 수행하는 구성요소이다. 보다 구체적으로 진단을 위한 진단 신호를 생성하고, 진단 신호에 대한 전자제어장치(100)의 응답을 모니터링하여 전자제어장치(100)의 CAN 통신 정상 여부 및 메시지 제어를 확인할 수 있다. 또한 코어부(222)는 연결된 전자제어장치(100)로부터 주기적으로 발생하는 신호를 수신하거나, 연결된 전자제어장치(100)에 진단 신호를 전송한 후 응답을 대기한다. 코어부(222)는 응답을 분석하여 에러 상태를 판단한다.
버퍼부(224)는 코어부(222)의 지시에 따라 임의의 데이터를 임시 저장한다.
저장부(226)는 진단의 기초가 되는 CAN 데이터베이스(DB)이다. 예를 들어 관리자의 단말(110)을 통해 입력된 정보는 CAN 데이터베이스(DB)로서 저장부(226)에 저장된다. 이 CAN 데이터베이스(DB)는 경우에 따라 업데이트 되거나 수정될 수 있다.
CAN 데이터베이스(DB)는 CAN 네트워크의 정보가 담긴 데이터베이스이고, 모든 전자 제어기의 CAN 송신(TX) 메시지와 수신(RX) 메시지에 대한 정보가 담겨 있다. 즉 현재 연결된 전자 제어기뿐 만 아니라 연결되지 않은 전자 제어기에 대한 CAN 송신(TX) 메시지와 수신(RX) 메시지에 대한 정보가 저장되어 있다.
도 6에 예시되어 있는 바와 같이, CAN 메시지의 정보에는 CAN 채널(CHANNEL), 노드 ID, 데이터 길이(DATA LENGTH), 메시지 클래스(MESSAGE CLASS)와 같은 CAN 메시지에 대한 기본적인 정보와 SendType(주기 메시지인지 이벤트 메시지인지), 사이클 타임(cycle time), 메시지 송출 반복 횟수, 스타트시 동작 특성 등과 같은 데이터 속성(Attribute)들을 모두 포함한다.
도 4는 본 발명의 일 실시예에 따른 진단 장치에 의한 진단 방법을 설명하기 위한 흐름도이다.
진단 모듈(220)은 CAN 통신을 진단하기 위한 진단 모드로의 진입을 의미하는 신호를 수신한다(S10). 예컨대 진단 모드로의 진입을 의미하는 신호가 제어핀을 통해 입력되면, 신호의 의미를 인지한다. 스위칭 모듈(230)에 의해 CAN 통신의 진단 모드로의 진입을 준비한다(S20).
진단 모드로의 진입을 위해 전원 스위치(SW1)가 닫혀 진단 모듈을 활성화시킨다. 다음 송신 스위치(SW3)가 닫혀 통신 모듈의 수신포트와 진단모드의 전송 포트를 연결하고, 수신 스위치(SW1)가 닫혀 통신 모듈의 전송포트와 진단모드의 수신 포트를 연결한다.
진단 모드로 진입하면 진단 모듈(220)은 상기 진단 대상이 되는 전자제어장치 이외의 전자제어장치를 가상으로 구성하고 진단을 수행한다(S30). 미리 저장된 CAN 데이터베이스에 기초하여 가상의 전자제어장치와 상기 전자제어장치 간의 메시지 송수신을 분석하여 진단을 수행한다.
도 5는 본 발명의 일 실시예에 따른 진단 방법을 설명하기 위한 흐름도이다.
진단을 위한 방법은 도 5를 참조하여 이하에 설명한다.
CAN 데이터베이스에 기초하여 진단 신호를 전송 또는 수신한다(S310).
이를 위해 진단 모듈이 상기 진단 대상이 되는 전자제어장치 이외의 전자제어장치를 가상으로 구성한다. 전자제어장치를 가상으로 구성하기 위하여, 복수개의 전자제어장치(100)에 상응하게 할당된 노드에서, 현재 접속한 전자제어장치(100)의 노드를 제외한 나머지 노드를 가상으로 구성한다. 가상의 노드로의 신호 처리는 진단 모듈(220)의 코어부(222)에서 담당한다.
또한, 코어부(222)는 상기 CAN 데이터베이스에 기초하여 전자제어장치로부터 송출된 전송 메시지 이에 대응하는, 가상의 전자제어장치에 전송하거나 상기 가상의 전자제어장치로부터의 전송 메시지를 상기 전자제어장치에 전송한다.
예컨대, 진단 모듈(220)이 현재 접속한 전자제어장치(100)의 CAN 통신 상태를 검진하기 위하여 전자제어장치(100)에 임의의 가상 노드에서 임의의 신호가 전송되는 것을 가정하여, 진단 모듈(220)이 임의의 진단 신호를 상기 전자제어장치(100)에 전송하고, 응답을 대기한다.
전자제어장치(100)로부터 응답 신호를 수신하여 에러를 판단한다(S330).
보다 구체적으로 전자제어장치(100)로부터 미리 저장된 시간 이내에 응답 신호가 수신되는지, 수신된 응답 신호가 정상적인 신호인지에 대하여 상기 CAN 데이터베이스에 기초하여 판단한다. 정상적인 신호라는 것은 전송 신호에 대한 미리 정해진 메시지 속성에 따른 신호인지를 의미할 수 있다.
표 1은 CAN 데이터베이스의 일 예이다.
ECU_A ECU_B ECU_C 채널 ID 데이터 타입 CYCLE TIME
송신 메시지 0×111, ...... 1 0×111 CYCLIC 200ms
수신 메시지 0×111, ...... 0×111, ......
예를 들어 표 1과 같은 CAN 데이터베이스에 기초하여 전자 제어장치(ECU_A)의 CAN 통신을 진단하는 것을 가정하면, 전자 제어장치(ECU_A)는 1채널을 통해 (0×111) 메시지를 200ms의 주기로 전송하며, ECU_B와 ECU_C는 해당 메시지를 수신하여야 한다. 따라서, 진단 모듈(100)은 상기 ECU_B와 ECU_C의 노드를 가상으로 구성하여 전자 제어장치(ECU_A)로부터 전송되는 전송 메시지(0×111)가 200ms의 주기로 ECU_B와 ECU_C의 노드에 수신되는지를 모니터링하여 검진을 행할 수 있다.
한편, 표 1과 같은 CAN 데이터베이스에 기초하여 전자 제어장치(ECU_B)의 CAN 통신을 진단하는 것을 가정하면, 진단 모듈(100)은 상기 ECU_A와 ECU_C의 노드를 가상으로 구성하여 진단 모듈(100)이 전자 제어장치(ECU_A)대신에 전송 메시지(0×111)가 200ms의 주기로 전송되도록 하여 ECU_B에 수신되는지를 모니터링하여 검진을 행할 수 있다.
표 1은 설명의 편의를 위하여 데이터를 간략하게 제공한 것일 뿐이며 이에 한정하는 것이 아니다.
진단 모듈(220)은 진단 결과 에러 발생이 검출되는지 확인하고(S40), 에러가 발생하면 에러 발생 사실을 통지하기 위한 신호를 출력한다(S50). 에러 발생이 검출되지 않으면, 진단을 종료하거나, 진단의 정확도를 높이기 위해 단계 S30으로 되돌아 갈 수 있다. 단계S30으로 되돌아 가는 횟수를 미리 정하여 무한 루프를 돌지 않도록 할 수 있다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서가 속하는 기술분야의 통상의 지식을 가진 자는 본 명세서가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 명세서의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 명세서의 범위에 포함되는 것으로 해석되어야 한다.
100 : 전자 제어 장치
200 : 진단 장치
210 : 통신모듈
220 : 진단모듈
230 : 스위칭 모듈

Claims (8)

  1. 진단 장치가 전자제어장치의 CAN 통신을 진단하는 방법에 있어서,
    CAN 채널 식별자, 복수의 전자제어장치 ID, 데이터 타입, 테이터 길이, 테이터 전송 주기 및 메시지 송출 반복횟수 중 어느 하나 이상을 포함하는 CAN 데이터베이스를 유지하는 단계;
    진단 대상이 되는 제1 전자제어장치로부터 정보를 송수신하는 통신 모드에서 CAN 통신을 진단하기 위한 진단 모드로 진입하는 단계;
    진단 모드로 진입하면 가상의 제2 전자제어장치를 구성하고, 미리 저장된 상기 CAN 데이터베이스에 기초하여 가상의 제2전자제어장치와 상기 제1 전자제어장치 간의 메시지 송수신을 분석하여 진단을 수행하는 단계; 및
    진단 결과 에러 발생이 확인되면 에러 발생 사실을 통지하기 위한 신호를 출력하는 단계;
    를 포함하며,
    상기 CAN 데이터베이스는 차량의 CAN 네트워크에 포함되는 제1 전자제어장치와 제2 전자제어장치를 포함한 복수의 전자제어장치 각각에 대한 CAN 전송 메시지 및 수신 메시지에 대한 정보를 포함함으로써 복수의 전자제어장치들을 가상으로 구성할 수 있는 것을 특징으로 하는 CAN 통신 진단 방법.
  2. 제1항에 있어서,
    상기 진단을 수행하는 단계는
    상기 제1 전자제어장치의 전송 메시지에 대응하여, 가상의 제2 전자제어장치에 상기 전송 메시지를 전송하거나 상기 가상의 제2 전자제어장치로부터의 전송 메시지를 상기 제1 전자제어장치에 전송하며, 송수신되는 메시지에 대하여 상기 미리 저장된 CAN 데이터베이스에 기초하여 에러를 판단하는 것을 특징으로 하는 CAN 통신 진단 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 진단 모드로 진입하는 단계는,
    진단 모듈의 전원을 연결하는 단계;
    상기 제1 전자제어장치와 연결된 통신 모듈의 수신포트와 진단모드의 전송 포트를 연결하는 단계; 및
    통신 모듈의 전송포트와 진단모드의 수신 포트를 연결하는 단계
    를 포함하는 것을 특징으로 하는 CAN 통신 진단 방법.
  5. 접속된 전자제어장치로부터 신호를 송수신하는 통신 모듈; 및
    진단 대상이 되는 제1 전자제어장치의 CAN 통신의 진단 모드로 진입하면 가상의 제2 전자제어장치를 구성하고, 미리 저장된 CAN 데이터베이스에 기초하여 가상의 전자제어장치와 상기 전자제어장치 간의 메시지 송수신을 분석하여 진단을 수행하고, 진단 결과 에러 발생이 확인되면 에러 발생 사실을 통지하기 위한 신호를 출력하는 진단 모듈을 포함하며,
    상기 CAN 데이터베이스는 CAN 채널 식별자, 복수의 전자제어장치 ID, 데이터 타입, 테이터 길이, 테이터 전송 주기 및 메시지 송출 반복횟수 중 어느 하나 이상을 포함하는 복수의 전자제어장치 각각에 대한 CAN 전송 메시지 및 수신 메시지에 대한 정보를 포함함으로써 복수의 전자제어장치들을 상기 진단모듈 내에 가상으로 구성할 수 있는 것을 특징으로 하는 CAN 통신 진단 장치.
  6. 제5항에 있어서,
    상기 진단 모듈은 상기 제1 전자제어장치의 전송 메시지에 대응하여, 가상의 제2 전자제어장치에 전송하거나 상기 가상의 제2 전자제어장치로부터의 전송 메시지를 상기 제1 전자제어장치에 전송하고, 메시지의 송수신에 대하여 미리 저장된 CAN 데이터베이스에 기초하여 에러를 판단하는 것을 특징으로 하는 CAN 통신 진단 장치.
  7. 삭제
  8. 제5항에 있어서,
    상기 진단 모드로 진입하도록 상기 진단 모듈의 전원 스위치를 온하고, 상기 통신 모듈의 수신포트와 진단모드의 전송 포트를 연결하며, 상기 통신 모듈의 전송포트와 진단모드의 수신 포트를 연결하는 스위칭 모듈
    을 더 포함하는 CAN 통신 진단 장치.
KR1020140092390A 2014-07-22 2014-07-22 Can 통신 진단 방법 및 장치 KR101544887B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140092390A KR101544887B1 (ko) 2014-07-22 2014-07-22 Can 통신 진단 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140092390A KR101544887B1 (ko) 2014-07-22 2014-07-22 Can 통신 진단 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101544887B1 true KR101544887B1 (ko) 2015-08-17

Family

ID=54061190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140092390A KR101544887B1 (ko) 2014-07-22 2014-07-22 Can 통신 진단 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101544887B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170114526A (ko) * 2016-04-05 2017-10-16 현대모비스 주식회사 Can 통신 부하 제어 장치 및 방법
KR20180073182A (ko) 2016-12-22 2018-07-02 한국철도기술연구원 캔 통신을 이용한 자체구동롤러 제어 방법
US20200106826A1 (en) * 2018-10-02 2020-04-02 Hyundai Motor Company Controlling can communication in a vehicle using shifting can message reference
KR20220080550A (ko) 2020-12-07 2022-06-14 현대오토에버 주식회사 메시지 중복 에러 검출 기능을 구비한 오토사 운영체제, 및 그것의 메시지 중복 에러 검출 방법
KR102586820B1 (ko) * 2023-06-27 2023-10-11 주식회사 드림에이스 가상 ecu 검증 시스템 및 이의 오차 보정 방법
KR102595323B1 (ko) * 2023-06-27 2023-10-31 주식회사 드림에이스 차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100514773B1 (ko) * 1996-02-09 2006-03-14 혼다 기켄 고교 가부시키가이샤 차량제어용통신망및그진단방법
KR101100985B1 (ko) * 2009-08-21 2011-12-29 주식회사 케피코 차량용 제어기 진단장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100514773B1 (ko) * 1996-02-09 2006-03-14 혼다 기켄 고교 가부시키가이샤 차량제어용통신망및그진단방법
KR101100985B1 (ko) * 2009-08-21 2011-12-29 주식회사 케피코 차량용 제어기 진단장치 및 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170114526A (ko) * 2016-04-05 2017-10-16 현대모비스 주식회사 Can 통신 부하 제어 장치 및 방법
KR102543531B1 (ko) * 2016-04-05 2023-06-15 현대모비스 주식회사 Can 통신 부하 제어 장치 및 방법
KR20180073182A (ko) 2016-12-22 2018-07-02 한국철도기술연구원 캔 통신을 이용한 자체구동롤러 제어 방법
US20200106826A1 (en) * 2018-10-02 2020-04-02 Hyundai Motor Company Controlling can communication in a vehicle using shifting can message reference
US11539782B2 (en) * 2018-10-02 2022-12-27 Hyundai Motor Company Controlling can communication in a vehicle using shifting can message reference
KR20220080550A (ko) 2020-12-07 2022-06-14 현대오토에버 주식회사 메시지 중복 에러 검출 기능을 구비한 오토사 운영체제, 및 그것의 메시지 중복 에러 검출 방법
KR102586820B1 (ko) * 2023-06-27 2023-10-11 주식회사 드림에이스 가상 ecu 검증 시스템 및 이의 오차 보정 방법
KR102595323B1 (ko) * 2023-06-27 2023-10-31 주식회사 드림에이스 차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법

Similar Documents

Publication Publication Date Title
KR101544887B1 (ko) Can 통신 진단 방법 및 장치
CN109656172B (zh) 一种获取波特率的方法、装置
CN103168292B (zh) 一种用于监控至少两个微控制器的方法
CN105075186B (zh) 数据处理装置和通信系统
CN104272663A (zh) 车辆用网络的通信管理装置及通信管理方法
CN109729128A (zh) 一种车联网测试系统及其测试方法
US9110951B2 (en) Method and apparatus for isolating a fault in a controller area network
US20180367436A1 (en) Operation method of communication node for diagnosing vehicle network
US20150113328A1 (en) Method and apparatus for isolating a fault in a controller area network
CN111614531B (zh) 用于监视lin节点的方法、介质、监视设备
CN112578764A (zh) 车辆故障诊断方法、系统及车辆
KR101039926B1 (ko) 차량용 자기진단 제어 시스템
US11482060B2 (en) Method for diagnosing a slave computer communicating with a master computer
CN115441896A (zh) 收发器装置
EP3642718A1 (en) Graphical user interface tool for configuring a vehicle's intrusion detection system
CN110580037B (zh) 一种uart通信系统及车载设备
CN113608516A (zh) 一种高级驾驶辅助系统功能安全故障注入测试系统及方法
CN114170705A (zh) 车辆数据上传方法、装置和设备
Kocić et al. A novel solution for an ECU simulator as a key component for automated testing and verification of a vehicle diagnostic device
JP2017114406A (ja) ネットワークシステム
CN108068733B (zh) 信息配置方法、装置及计算机可读存储介质
KR101603549B1 (ko) 차량 네트워크 시스템 및 그 진단 방법
CN110471399A (zh) 基于ecu的车辆诊断方法、装置、系统及车辆
CN216486128U (zh) 具有doip收发功能的诊断装置
US20220317671A1 (en) On-board diagnostics device and system, and detection method and readable storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190725

Year of fee payment: 5