KR100892370B1 - 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법 - Google Patents

차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법 Download PDF

Info

Publication number
KR100892370B1
KR100892370B1 KR1020060127675A KR20060127675A KR100892370B1 KR 100892370 B1 KR100892370 B1 KR 100892370B1 KR 1020060127675 A KR1020060127675 A KR 1020060127675A KR 20060127675 A KR20060127675 A KR 20060127675A KR 100892370 B1 KR100892370 B1 KR 100892370B1
Authority
KR
South Korea
Prior art keywords
diagnostic
vehicle
request
diagnosis
external
Prior art date
Application number
KR1020060127675A
Other languages
English (en)
Other versions
KR20090000008A (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 KR1020060127675A priority Critical patent/KR100892370B1/ko
Publication of KR20090000008A publication Critical patent/KR20090000008A/ko
Application granted granted Critical
Publication of KR100892370B1 publication Critical patent/KR100892370B1/ko

Links

Images

Classifications

    • G06Q50/40
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests

Abstract

본 발명은 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는 차량내 장착되어 있는 텔레매틱스 단말기와 같은 차량정보단말기의 서비스 중 하나인 차량진단 서비스를 소프트웨어로 구현시 발생할 수 있는 외부진단기와의 충돌을 방지하기 위한 제어 알고리즘에 관한 것이다.
본 발명에 따른 차량진단시 진단단말기간의 충돌방지 시스템은 차량정보단말기에 통신라인 드라이버를 통하여 통신라인으로부터 데이터를 읽고 써서 차량진단 서비스를 수행하는 진단데몬이 구비되되, 상기 진단데몬은 읽기 기능만 갖는 Read_thread()와 쓰기 기능만 갖는 Request()으로 분리 구성되어, 상기 Read_thread()은 통신라인 드라이버를 통해 통신라인으로부터 항상 데이터를 읽어 외부진단기 연결 여부를 검출하고, 상기 Request()은 상위 응용프로그램의 진단요청 메시지를 통신라인 프레임에 맞춰 설정한 후 통신라인 드라이버를 통해 대상 ECU에 진단요청하는 것을 특징으로 한다.
차량정보 단말기, 외부진단기, 충돌방지, 진단데몬, 읽기/쓰기

Description

차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법{Anticollision System Among Diagnosis Terminals and Method thereof}
도 1은 본 발명에 적용되는 차량진단 시스템의 구성도,
도 2는 본 발명에 의해 도 1에 나타낸 차량정보단말기에 구현되는 진단 소프트웨어 아키텍처를 나타낸 도면,
도 3은 도 2에 나타낸 진단데몬 내부 소프트웨어 아키텍처를 나타낸 도면,
도 4는 본 발명에 따른 차량정보단말기의 진단시 충돌방지 방법의 순서도.
<도면의 주요부분에 대한 부호의 설명>
10: 차량정보단말기 20: 외부진단기
30: 전자제어유닛(ECU) 40: 통신라인
50: 커넥터
본 발명은 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는 차량내 장착되어 있는 텔레매틱스 단말기와 같은 차량정보단말기의 서비스 중 하나인 차량진단 서비스를 소프트웨어로 구현시 발생할 수 있는 외부진단기와의 충돌을 방지하기 위한 제어 알고리즘에 관한 것이다.
차량의 기능이 고성능화됨에 따라 차량에 장착되는 각종 부품들이 전자제어를 통하여 동작하도록 되어있다.
일부 전자제어유닛(ECU)의 경우, 고장 발생시 안전한 차량운행에 영향을 주어 운전이 불가능한 경우도 발생한다.
이로 인하여 각종 전자에어유닛(ECU)의 고장 발생시 고장 상태를 실시간으로 판단하여 위험인자를 사용자(운전자)에게 알려주어 고장으로 인한 차량운행 중 위험이 발생하기 전에 미리 정비소를 찾아 고장부위를 수리할 수 있는 서비스의 기능이 차량정보단말기(예, 텔레매틱스 단말기, AV 단말기, Navi 시스템)에 추가되고 있다.
차량정보단말기 중에서 예를 들어 텔레매틱스 단말기의 서비스 중 하나인 차량진단 서비스를 구현할 때, 정비소에서 사용하는 진단통신 규약과 동일한 규약을 사용한다.
따라서, 정비소에서 사용하는 외부진단기의 진단 디바이스 코드(Device Code)와 텔레매틱스 단말기에 구현되어 사용되고 있는 진단 디바이스 코드는 동일하다.
이 경우 차량진단 기능이 구현된 텔레매틱스 단말기가 내장된 차량을 정비소에서 외부진단기를 연결하여 차량진단시 동일 네트워크 및 동일 통신규약을 사용함에 따른 동일 디바이스 ID 사용으로 오작동이 발생하고, 데이터 처리과정에서 서로 충돌이 발생할 수 있다.
그런데 외부진단기는 차량정보단말기가 존재한다는 것을 판단하지 못하므로 이 경우에 차량 또는 차량정보단말기에 외부진단기 검출 방안을 마련해야 하고, 그 검출 방안의 하나로 외부진단기 연결 여부를 검출할 수 있는 스위치를 차량정보단말기에 연결하여, 하드웨어적으로 외부진단기 연결 여부를 모니터링을 할 수 있으나, 이러한 경우 추가적인 하드웨어 설계를 고려해야 하므로, 생산원가가 상승하게 된다.
상기 차량정보단말기(텔레매틱스 단말기)는 일반적으로 운영체제(Operating System)를 내장하고 있으므로, 부팅시 최소한의 시간(일반적으로 10sec~수십sec)이 필요하다.
진단 대상 ECU(전자제어유닛)의 경우는 IGN-온 이후 수초(1-3sec) 이내에 부팅이 되므로, 외부진단기를 연결한 상태에서 IGN-온 이후 수초 이내에 차량진단, 전자제어유닛(ECU) 업그레이드 및 기타 서비스 기능이 가능하다.
따라서, IGN-온 이후 수초 이내에 외부진단기를 이용한 차량진단, 전자제어유닛(ECU) 업그레이드 및 기타 서비스를 실행한다고 하면, 차량정보단말기는 부팅후 통신 네트워크 상태를 모르는 상태에서 진단 기능을 위해서 연결을 시도하는 경우가 발생할 수 있다.
이러한 경우 통신 네트워크에 불필요한 데이터가 입력되어 외부진단기 또는 차량정보단말기 내부에 오류를 발생할 수 있고, 또한 업그레이드 중인 경우에는 대상 전자제어유닛(ECU)의 데이터 에러를 유발할 수 있는 문제점이 있었다.
본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로서, 차량정보단말 기에 내장된 차량진단 서비스 구현시 외부진단기와의 충돌을 예방하기 위해 소프트웨어적으로 외부진단기 연결을 검출함으로써, 하드웨어인 스위치의 연결을 생략할 수 있어 원가 상승을 방지할 수 있고 보다 효율적으로 차량정보단말기에 차량진단 서비스 기능을 구현할 수 있는 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법을 제공하는데 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명의 실시예에 따른 차량진단시 진단단말기간의 충돌방지 시스템은 차량에 장착되어 통신라인을 통해 서로 연결되며 진단대상이 되는 ECU와, 상기 차량에 내장되어 진단통신 규약을 이용하여 ECU의 차량진단 서비스를 수행하는 차량정보단말기와, 정비소 등에 구비되어 상기 차량정보단말기의 진단통신 규약과 동일한 규약을 사용하여 ECU의 차량진단 서비스를 수행하는 외부단말기로 이루어지는 차량진단 시스템에 있어서;
상기 차량정보단말기에 통신라인 드라이버를 통하여 통신라인으로부터 데이터를 읽고 써서 차량진단 서비스를 수행하는 진단데몬이 구비되되,
상기 진단데몬은 읽기 기능만 갖는 Read_thread()와 쓰기 기능만 갖는 Request()으로 분리 구성되어, 상기 Read_thread()은 통신라인 드라이버를 통해 통신라인으로부터 항상 데이터를 읽어 외부진단기 연결 여부를 검출하고, 상기 Request()은 상위 응용프로그램의 진단요청 메시지를 통신라인 프레임에 맞춰 설정한 후 통신라인 드라이버를 통해 대상 ECU에 진단요청하는 것을 특징으로 한다.
또한, 본 발명의 실시예에 따른 차량진단시 진단단말기간의 충돌방지 방법 은, 통신라인으로부터 데이터를 읽고 그 데이터를 분석하여 외부진단기가 연결되었는지 검출하는 단계와, 상기 외부진단기가 연결된 경우에 외부진단기 연결정보와 진단요청 디세이블(Disable) 메시지를 전송하는 단계와, 상기 외부진단기가 연결되지 않은 경우에 대상 ECU에 DTC가 발생하는지 감시하고 DTC가 발생하면 발생한 DTC 데이터를 분석하여 특정 상태의 DTC만 저장하는 단계와, 상기 특정 상태의 DTC를 센터 진단서버에 전송하는 단계로 이루어지는 데이터 읽기 루프와;
상기 센터 진단서버의 메시지와 데이터 읽기 루프에서 보내온 외부진단기 연결정보 및 진단요청 디세이블(Disable) 메시지를 분석하여 진단요청 디세이블 메시지인지 판단하는 단계와, 상기 진단요청 디세이블 메시지인 경우에 진단요청을 금지하고 진단요청 디세이블 메시지가 아닌 경우에 진단요청 메시지인지 판단하는 단계와, 진단요청 메시지인 경우에 대상 ECU에 진단을 요청하는 단계와, 진단요청 메시지가 아닌 경우에는 해당 메시지 명령을 실행하는 단계로 이루어지는 메시지 처리 루프를; 포함한다.
이하 본 발명의 실시예에 대하여 첨부된 도면을 참고로 그 구성 및 작용을 설명하기로 한다.
도 1은 본 발명에 적용되는 차량진단 시스템의 구성도이다.
도시된 바와 같이, 차량정보단말기(10), 외부진단기(20), 전자제어유닛(ECU,30) 및 통신라인(40)을 포함하여 구성된다.
전자제어유닛(ECU,30)은 차량의 각 구성 장치에 장착된 센서로부터 차량의 각종 상태를 파악하여 비교 판단하고 각 구성 장치를 구동하도록 하며 통신라인(40)을 통해 연결된다.
상기 통신라인(40)은 하이스피드 CAN 라인(예컨대, 500kbps)(40a), 로우 스피드 CAN 라인(예컨대, 10kbps)(40b), 그리고 CAN 라인이 아닌 FlexRay, L-line, K-Line 등의 기타 통신라인(40c)으로 이루어진다.
그리고 각 CAN 라인(40a,40b)은 2개의 하이, 로우 시그널을 가지고 있다.
예를 들어 하이스피드 CAN 라인(40a)은 하이스피드 CAN-하이와, 하이스피드 CAN-로우 라인으로 이루어진다.
본 발명에서는 상기 하이스피드 CAN 라인(40a)으로 진단 통신을 수행하는 것을 예를 들어 설명한다.
차량정보단말기(10)는 차량에 내장되어 상기 전자제어유닛(ECU,30)과 하이스피드 CAN 라인(40a)으로 연결되어 전자제어유닛(ECU,30)과 진단통신 규약을 이용하여 차량진단 서비스를 수행할 수 있는 모든 단말기를 지칭하는 것으로, 예를 들어 텔레매틱스 단말기(11), AV 단말기(12), Navi System(13) 등이 될 수 있다.
외부진단기(20)는 예를 들어 정비소 등에 구비되어 차량진단 서비스를 구현하는 단말기로, 상기 차량정보단말기(10)의 진단통신 규약과 동일한 규약을 사용한다.
이하에서는 하이스피드 CAN 라인(40a)을 통해 전자제어유닛(ECU,30)과 진단통신 규약을 이용하여 통신하는 시스템을 예를 들어 설명한다.
도 2는 본 발명에 의해 도 1에 나타낸 차량정보단말기에 구현되는 진단 소프트웨어 아키텍처를 나타낸 도면이다.
도시된 바와 같이 응용프로그램 계층(120), 진단데몬 계층(110), 하드웨어 계층(100)으로 이루어진다.
진단데몬(Diagnosis Daemon) 계층(110)의 진단데몬(111)은 차량정보단말기(10)에 구현된 차량진단 서비스를 수행하고, 별개의 소프트웨어 계층으로 분리되거나 하나의 소프트웨어로 구현 가능한 CAN 드라이버(112)를 포함한다.
상기 진단데몬(111)은 상기 CAN 드라이버(112)를 통하여 하드웨어 계층인 CAN 네트워크로부터 데이터를 읽고 쓴다.
진단데몬(111)은 하이스피드 CAN 라인(40a)을 통해 전자제어유닛(ECU,30)과 차량진단을 실행하여, 해당 결과를 상위 계층인 응용프로그램 계층(120)이 각 서비스에 따라 이용할 수 있도록 한다.
예를 들어 진단결과를 CDMA 모뎀을 통해 외부의 센터 진단서버로 전송하여 차량진단 서비스를 구현한다.
상기 응용프로그램 계층(120)은 차량정보단말기(10)에 구현되는 응용프로그램(121~124)으로 이루어지고, 예를 들어 외부의 센터 진단서버에 접속하여 진단고장코드(DTC)를 보내거나, 센터 진단서버를 받는 부분 및 기타 서비스 응용프로그램이 구현된다.
도 3은 도 2에 나타낸 진단데몬 내부 소프트웨어 아키텍처를 나타낸 도면이다.
본 발명에서는 진단데몬(111)의 기능을 전담화하기 위해 읽기/쓰기 2가지 기능을 분리하여 Read_thread()(114)와 Request()(118)로 구분해서 구성한다.
상기 Read_thread()(114)는 CAN 드라이버(112)를 통해 하이스피드 CAN 라 인(40a)으로부터 항상 데이터를 읽고 진단 관련 데이터를 버퍼링한 후, 퀵뷰(quick-view)하여 외부진단기(20) 연결 여부를 검출한다.
여기서 상기 Read_thread()(114)는 하이스피드 CAN 라인(40a)을 통해 읽어 들인 진단 관련 데이터가 진단요청 데이터프레임인 경우와 진단데몬(111)의 Request()(118)에서 진단요청을 하지 않았으나 진단응답 데이터프레임인 경우에 외부진단기(20)가 연결된 것으로 검출한다.
상기 진단데몬(111)에서 요청한 데이터프레임인 경우 CAN 드라이버(112) 구조상 Read_thread()(114)에서 이를 읽을 수 없고, 따라서 진단요청 데이터프레임인 경우는 외부진단기(20)에서 진단요청한 경우이므로 외부진단기(20)가 연결된 상태이다.
그리고 Request()(118)의 진단요청 리스트를 참조하여 진단을 요청한 경우가 없으나, 진단응답 데이터프레임을 읽어 들인 경우는 외부진단기(20)에서 진단요청하여 응답한 경우이므로 외부진단기(20)가 연결된 상태이다.
상기 Request()(118)는 상위 응용프로그램(121)의 진단요청 메시지를 대상 ECU(30) ID 및 진단 서비스 ID와 조합하여 CAN 프레임에 맞춰 설정하고, CAN 드라이버(112)를 통해 대상 ECU(30)에 진단을 요청한다.
상기한 바와 같이 읽기/쓰기 2가지 기능을 분리하여 기능을 전담화한 이유는 첫째 차량정보단말기(10)에 내장된 진단 프로그램이 소프트웨어적으로 모든 상태를 파악해야 하기 때문이다.
즉, 내부적으로 얻을 수 있는 모든 데이터는 하이스피드 CAN 라인(40a)을 통해 얻어야하므로 진단데몬(111)은 항상 하이스피드 CAN 라인(40a)내 모든 데이터를 읽고 분석해야 하고, 하나의 CAN 드라이버(112)를 통해 읽기/쓰기를 효율적으로 구현하기 위해 기능별로 스레드(thread)를 구현하여 각각의 기능이 시스템 성능을 효율적으로 분산하여 사용하도록 해야 하며, 데이터가 실시간 통신을 하나, 전자제어유닛(ECU,30)의 상태에 따라서는 데이터 응답시 수십 ms에서 수sec의 딜레이가 발생할 수 있어, 이로 인하여, 순차적으로 읽기/쓰기 기능을 구현하게 되면, 경우에 따라 응답을 기다리는 동안 대기시간이 비주기적으로 변하여 시스템에 부하를 주게 되기 때문이다.
둘째는 전자제어유닛(ECU,30)과 차량정보단말기(10)의 시스템 차이 때문으로 전자제어유닛(ECU,30)은 MCU로 구성되어 시스템 부팅시간이 1~3초로 짧지만, 차량정보단말기(10)는 CPU의 운영체제로 구성되어 시스템 부팅시간이 10~수십 초로 상대적으로 길다.
따라서 차량정보단말기(10)가 IGN-On 신호를 받고 부팅되는 시간 동안 하이스피드 CAN 라인(40a)에 외부진단기(20)가 연결되어 있어도, 차량정보단말기(10)가 하이스피드 CAN 라인(40a) 상태 즉, 외부진단기(20) 연결 상태를 파악할 수 없는 경우가 있어 진단 프로그램이 부팅후 처음으로 하이스피드 CAN 라인(40a)에 접속하기 위해서는 읽기 기능만으로 하이스피드 CAN 라인(40a)에 연결하여 데이터를 분석해야 하기 때문이다.
마지막으로 셋째는 외부진단기(20)의 연결이 검출된 경우에 소프트웨어적으로 버스-오프(Off) 상태가 유지되어야 하기 때문이다.
내장형 진단 프로그램은 소프트웨어적으로 모든 상태를 파악하므로, 완전히 버스-오프가 되면 버스 상태를 알 수가 없어, 외부진단기(20)의 연결이 검출되면 쓰기 기능을 구현하는 Request()(118)을 불활성시켜, 소프트웨어적으로 버스-오프가 되어 더 이상 쓰기 기능이 수행되지 않게 하기 위해서이다.
상기 진단데몬(111)의 Read_thread()(114)는 외부진단기(20)의 연결이 검출되지 않은 경우에, Request()(118)에 의해 진단요청이 실행되면 하이스피드 CAN 라인(40a)으로부터 데이터를 읽어 전자제어유닛(ECU,30)의 진단고장이 발생하는지 감시한다.
본 발명에서는 상기 진단데몬(111)에 DTC 분석 DB(116)를 내장해서 검출된 진단고장코드(DTC: Diagnosis Trouble Code)의 상태(status)를 분석하여, 그 중에서 특정 상태의 진단고장코드(DTC)만 메시지 처리해서 상위 응용프로그램(121)이 구현되는 외부의 센터 진단서버로 전송하여 서비스에 사용토록 한다.
상기 특정 상태의 진단고장코드(DTC)는 진단고장코드(DTC)가 현재 발생한 경우와 경고등 점등 진단고장코드(DTC)인 경우이다.
이와 같이 진단데몬(111)에 진단고장코드(DTC) 분석 DB(116)를 내장해서 특정 상태의 진단고장코드(DTC)만 서비스에 사용토록 함으로써 센터 진단서버에서 모든 진단고장코드(DTC)를 분석함으로 인하여 발생하는 부하 및 전송 데이터 양을 줄일 수 있고, 통신 비용을 감소할 수 있다.
도 4는 본 발명에 따른 차량정보단말기의 진단시 충돌방지 방법의 순서도로서, 좌측은 데이터 읽기 루프(S419)이고 우측은 메시지 처리 루프(S429)이다.
먼저, IGN-On 신호를 받고 차량정보 단말기(10)가 부팅되면서 CAN 드라이버(112)는 초기화되고(S402), Read_thread()(114)와 Msg_thread()(117)는 온된다(S404).
이후 데이터 읽기 루프(S419)로서 먼저 상기 Read_thread()(111)에서는 CAN 드라이버(112)를 통해 하이스피드 CAN 라인(40a)으로부터 데이터를 항상 읽어 들이고(S410), 그 읽어 들인 데이터를 분석하여(S411) 외부진단기(20)가 연결되었는 지를 검출한다(S412).
여기서, 상기 Read_thread()(114)는 읽어 들인 데이터가 진단요청 데이터프레임인 경우와, Request()(118)에서 진단요청을 하지 않았으나 진단응답 데이터프레임인 경우에 외부진단기(20)가 연결된 것으로 검출한다.
상기 외부진단기(20)가 연결된 경우에 외부진단기(20) 연결정보와 이에 따른 진단요청 디세이블(Disable) 메시지를 상기 Msg_thread()(117)에 전달한다(S414).
상기 디세이블(Disable)은 어떤 일을 억지하거나 발생하지 않도록 방지하는 것으로, 차량정보단말기(10)의 고장이나 오동작과는 관계없이 특정한 동작을 금지 또는 억지함으로써 시스템 기능을 제어한다.
상기 외부진단기(20)가 연결되지 않은 경우에 ECU(30)에 진단고장코드(DTC)가 발생하였는지 검사하고(S413), 진단고장코드(DTC)가 발생한 경우에 진단고장코드(DTC) 데이터를 분석하여 진단고장코드(DTC) 분석 DB(116)에 저장하며(S415), 차량정보 즉, 어느 전자제어유닛(ECU)에 어떤 고장이 발생하였는지를 텔레매틱스나 무선통신 디바이스를 이용하여 센터 진단서버에 전송한다(S416).
이때 본 발명에서는 상기 진단고장코드(DTC) 분석 DB(116)에 현재 발생한 진단고장코드(DTC)와 경고등 점등 진단고장코드(DTC)가 저장되고 그 진단고장코드(DTC)만 센터 진단서버에 전송된다.
상기 진단고장코드(DTC)가 발생하지 않은 경우에 차량정보단말기(10)에 팝 업으로 고장 없음을 나타낸다(S417).
한편, 메시지 처리 루프(S429)로, 상기 Msg_thread()(117)는 상위 응용프로그램(121)의 외부 메시지를 수신하여(S420), Read_thread()(114)에서 보내온 외부진단기(20) 연결정보 및 진단요청 디세이블(Disable) 메시지와 함께 분석하고(S421) 진단요청 디세이블 내용을 포함하는 메시지인지 판단한다(S422).
상기 진단요청 디세이블 내용을 포함하는 메시지인 경우에 전자제어유닛(ECU,30)에 대한 진단요청이 금지되므로 S421단계로 되돌아가고, 진단요청 디세이블 내용을 포함하는 메시지가 아닌 경우에 진단요청 내용을 포함하는 메시지인지 판단한다(S423).
상기 진단요청 내용을 포함하는 메시지인 경우에 Request()(118)는 진단요청 내용을 포함하는 메시지를 대상 전자제어유닛(ECU,30) ID 및 진단 서비스 ID와 조합하여 CAN 프레임에 맞춰 설정하고, CAN 드라이버(112)를 통해 대상 전자제어유닛(ECU,30)에 진단을 요청한다(S424).
그리고 진단요청 내용을 포함하는 메시지가 아닌 경우에는 해당 메시지 명령을 실행하고(S425), 이러한 단계를 시스템이 오프될 때까지(S430) 반복하여 수행한다.
상기한 바와 같이 차량내 장착되어 있는 차량정보단말기(10)의 서비스 중 하나인 차량진단 서비스를 소프트웨어적으로 구현시 발생할 수 있는 외부진단기(20)와의 충돌을 방지할 수 있다.
또한, 무선통신기기를 이용하여 데이터를 전송하므로 발생할 수 있는 데이터 요금을 내부적으로 진단고장코드(DTC) 분석 DB(116)를 가지고 필요한 데이터만 선별하여 전송하므로 줄일 수 있다.
이상에서 살펴본 바와 같이 본 발명에 의하면, 외부단말기의 연결을 소프트 웨어적으로 검출하고, 그에 따라 차량정보단말기에서 차량진단을 수행하지 않게 함으로써 차량정보단말기와 외부진단기가 기능적인 면에서 동일하여 발생할 수 있는 문제점(예를 들어 동일 ID 사용으로 인한 오동작, Data 충돌 등)을 해결할 수 있다.
따라서, 이러한 소프트웨어 판단 로직을 추가함으로써 별도의 하드웨어 추가 없이 외부진단기의 연결 여부를 실시간으로 판단할 수 있고, 소프트웨어 로직으로 개발되어 있으므로 호환성 및 재사용성이 높아, 향후 개발될 지능형 차량정보단말기에 쉽게 적용이 할 수 있다.

Claims (6)

  1. 차량에 장착되어 통신라인을 통해 서로 연결되며 진단대상이 되는 전자제어유닛(ECU)과, 상기 차량에 내장되어 진단통신 규약을 이용하여 전자제어유닛(ECU)의 차량진단 서비스를 수행하는 차량정보단말기와, 정비소 등에 구비되어 상기 차량정보단말기의 진단통신 규약과 동일한 규약을 사용하여 전자제어유닛(ECU)의 차량진단 서비스를 수행하는 외부단말기로 이루어지는 차량진단 시스템에 있어서;
    상기 차량정보단말기에 통신라인 드라이버를 통하여 통신라인으로부터 데이터를 읽고 써서 차량진단 서비스를 수행하는 진단데몬이 구비되되,
    상기 진단데몬은 읽기 기능만 갖는 Read_thread()와 쓰기 기능만 갖는 Request()으로 분리 구성되어, 상기 Read_thread()은 통신라인 드라이버를 통해 통신라인으로부터 항상 데이터를 읽어 외부진단기 연결 여부를 검출하고, 상기 Request()은 상위 응용프로그램의 진단요청 메시지를 통신라인 프레임에 맞춰 설정한 후 통신라인 드라이버를 통해 대상 전자제어유닛(ECU)에 진단요청하는 것을 특징으로 하는 차량진단시 진단단말기간의 충돌방지 시스템.
  2. 제 1 항에 있어서,
    상기 Read_thread()는 읽어 들인 데이터가 진단요청 데이터프레임인 경우와, 상기 Request()에서 진단요청을 하지 않았으나 읽어 들인 데이터가 진단응답 데이터프레임인 경우에 외부진단기가 연결된 것으로 검출하는 것을 특징으로 하는 차량진단시 진단단말기간의 충돌방지 시스템.
  3. 제 1 항에 있어서,
    상기 진단데몬은 읽어 들인 데이터로 진단고장코드(DTC)를 검출하고 진단고장코드(DTC)의 상태를 분석하여, 그 중에서 특정 상태의 진단고장코드(DTC)만 진단데몬에 내장된 진단분석 DB에 저장하고 센터 진단서버에 전송하는 것을 특징으로 하는 차량진단시 진단단말기간의 충돌방지 시스템.
  4. 제 3 항에 있어서,
    상기 특정 상태의 진단고장코드(DTC)는 현재 발생한 진단고장코드(DTC)와 경고등 점등 진단고장코드(DTC)인 것을 특징으로 하는 차량진단시 진단단말기간의 충돌방지 시스템.
  5. 제 1 항에 있어서,
    상기 외부진단기의 연결이 검출된 경우에 쓰기 기능의 Request()만을 불활성시켜 소프트웨어적으로 BUS-Off가 되도록 하는 것을 특징으로 하는 차량진단시 진단단말기간의 충돌방지 시스템.
  6. 차량에 장착되어 통신라인을 통해 서로 연결되며 진단대상이 되는 전자제어유닛(ECU)과, 상기 차량에 내장되어 진단통신 규약을 이용하여 전자제어유닛(ECU)의 차량진단 서비스를 수행하는 차량정보단말기와, 상기 차량정보단말기의 진단통신 규약과 동일한 규약을 사용하여 전자제어유닛(ECU)의 차량진단 서비스를 수행하는 외부단말기와, 상기 차량정보단말기에 구비되어 통신라인으로부터 데이터를 읽고 써서 차량진단 서비스를 수행하는 진단데몬으로 구성되는 차량진단시 진단단말기간의 충돌방지 시스템에서 진단단말기간 충돌을 방지하는 방법에 있어서,
    상기 진단데몬이 통신라인으로부터 데이터를 읽고 그 데이터를 분석하여 외부진단기가 연결되었는지 검출하는 단계와, 상기 외부진단기가 연결된 경우에 외부진단기 연결정보와 진단요청 디세이블(Disable) 메시지를 전송하는 단계와, 상기 외부진단기가 연결되지 않은 경우에 대상 전자제어유닛(ECU)에 진단고장코드(DTC)가 발생하는지 감시하고, 진단고장코드(DTC)가 발생하면 발생한 진단고장코드(DTC) 데이터를 분석하여 특정 상태의 진단고장코드(DTC)만 저장하는 단계와, 상기 특정 상태의 진단고장코드(DTC)를 센터 진단서버에 전송하는 단계로 이루어지는 데이터 읽기 루프와;
    상기 진단데몬이 센터 진단서버에서 보내온 메시지와 데이터 읽기 루프에서 보내온 외부진단기 연결정보 및 진단요청 디세이블(Disable) 메시지를 함께 분석하여 진단요청 디세이블 내용이 포함된 메시지인지 판단하는 단계와, 상기 진단요청 디세이블 내용이 포함된 메시지인 경우에 진단요청을 금지하고, 진단요청 디세이블 내용을 포함하고 있지 않는 메시지인 경우에 진단요청 내용을 포함하고 있는 메시지인지 판단하는 단계와, 상기 진단요청 내용을 포함하고 있는 메시지인 경우에 대상 전자제어유닛(ECU)에 진단을 요청하는 단계와, 상기 진단요청 내용을 포함하고 있는 메시지가 아닌 경우에 해당 메시지 명령을 실행하는 단계로 이루어지는 메시지 처리 루프를;
    포함하는 차량진단시 진단단말기간의 충돌방지 방법.
KR1020060127675A 2006-12-14 2006-12-14 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법 KR100892370B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060127675A KR100892370B1 (ko) 2006-12-14 2006-12-14 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060127675A KR100892370B1 (ko) 2006-12-14 2006-12-14 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090000008A KR20090000008A (ko) 2009-01-07
KR100892370B1 true KR100892370B1 (ko) 2009-04-10

Family

ID=40483250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060127675A KR100892370B1 (ko) 2006-12-14 2006-12-14 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100892370B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101448753B1 (ko) * 2012-12-27 2014-10-08 현대자동차 주식회사 게이트웨이를 이용한 차량 진단 시스템 및 그 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TR201006130A2 (tr) * 2010-07-26 2011-01-21 �Zsoy Organ�K Tem�Zl�K �R�Nler Paz. San. Ve T�C. Ltd. �T� Preslenmiş tablet mendil uygulama kutusu.
KR101297024B1 (ko) * 2011-12-09 2013-08-14 주식회사 현대케피코 캔통신을이용한 자동차 고장진단 네트워크 시스템 및 방법
KR102286050B1 (ko) * 2017-06-23 2021-08-03 현대자동차주식회사 차량 네트워크에서 진단 오류 방지를 위한 방법 및 장치
KR102308649B1 (ko) * 2018-12-27 2021-10-05 공주대학교 산학협력단 하·폐수 슬러지 탈수 효율 향상을 위한 약품 자동 주입시스템
CN113886127A (zh) * 2021-10-18 2022-01-04 常州新途软件有限公司 一种基于python的主机总线诊断方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980053727U (ko) * 1996-12-31 1998-10-07 박병재 자기진단장치
KR100411081B1 (ko) 2000-12-27 2003-12-18 현대자동차주식회사 휴대용 진단장치를 이용한 차량의 자기 진단 방법
KR20070048362A (ko) * 2005-11-04 2007-05-09 엘지전자 주식회사 차량 진단장비 충돌 방지방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980053727U (ko) * 1996-12-31 1998-10-07 박병재 자기진단장치
KR100411081B1 (ko) 2000-12-27 2003-12-18 현대자동차주식회사 휴대용 진단장치를 이용한 차량의 자기 진단 방법
KR20070048362A (ko) * 2005-11-04 2007-05-09 엘지전자 주식회사 차량 진단장비 충돌 방지방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101448753B1 (ko) * 2012-12-27 2014-10-08 현대자동차 주식회사 게이트웨이를 이용한 차량 진단 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20090000008A (ko) 2009-01-07

Similar Documents

Publication Publication Date Title
KR100892370B1 (ko) 차량진단시 진단단말기간의 충돌방지 시스템 및 그 방법
EP1602935A1 (en) Electronic device diagnostic methods and systems
US9128913B2 (en) Method and device for testing input/output interfaces of avionic modules of IMA type
JP2019008618A (ja) 情報処理装置、情報処理方法及びプログラム
KR101593571B1 (ko) 차량 전자제어유닛의 이상 진단을 위한 블랙박스장치 및 이의 제어 방법
CN111694702B (zh) 用于进行安全的信号操纵的方法和系统
JP2019071572A (ja) 制御装置及び制御方法
JP2004518578A (ja) 分配された安全上重要なシステムのコンポーネントの駆動方法
US5712967A (en) Method and system for graceful recovery from a fault in peripheral devices using a variety of bus structures
KR101027415B1 (ko) 차량용 운영체제의 관리 시스템, 관리 방법 및 오류 검출 방법
CN112740121B (zh) 用于车辆的控制架构
CN102687086B (zh) 用于机动车辆的远程诊断装置
JP2000155703A (ja) 単一プロセッサシステム
US20030115382A1 (en) Peripheral device testing system and a peripheral device testing method which can generally test whether or not a peripheral device is normally operated
JP6913869B2 (ja) 監視装置、監視システムおよびコンピュータプログラム
KR102290796B1 (ko) Lin 통신 오류 발생에 따른 ecu 자동 재시작 방법
US20200241883A1 (en) Method for operating a control unit, and device having an associated control unit
KR20220024905A (ko) 차량의 온보드 버스에서 컴퓨터와 대화하는 방법
RU2816885C2 (ru) Способ взаимодействия с вычислительным устройством на бортовой шине транспортного средства
US20230267213A1 (en) Mitigation of a manipulation of software of a vehicle
US20240101054A1 (en) In-vehicle device and method for starting the same
US7216261B2 (en) Method for controlling a program run of a central data processor
JP2000293407A (ja) 監視制御装置及びcpu監視方法並びにプログラム記録媒体
JP4413442B2 (ja) 連動装置
JP2002529963A (ja) ネットワークコンポーネントの伝送阻止装置の阻止機能の検査のための方法及び装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 11