KR20120126873A - Uds 통신 기반의 자동차용 소프트웨어 동적 분석 장치 - Google Patents
Uds 통신 기반의 자동차용 소프트웨어 동적 분석 장치 Download PDFInfo
- Publication number
- KR20120126873A KR20120126873A KR1020110044977A KR20110044977A KR20120126873A KR 20120126873 A KR20120126873 A KR 20120126873A KR 1020110044977 A KR1020110044977 A KR 1020110044977A KR 20110044977 A KR20110044977 A KR 20110044977A KR 20120126873 A KR20120126873 A KR 20120126873A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- uds
- communication
- module
- unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
- G06F11/0739—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 자동차용 임베디드 소프트웨어 동적 분석 장치에 관한 것으로서, 더욱 상세하게는 자동차용 임베디드 소프트웨어에 대한 동적 분석을 수행하고, 이를 통해 임베디드 소프트웨어의 오류를 실시간으로 검출할 수 있는 동적 분석 장치에 관한 것이다. 이에 본 발명은, 차량에 탑재된 전장유니트와 UDS 기반 CAN 통신을 통해 실시간으로 데이터를 송수신하는 데이터 통신부와; 상기 데이터 통신부를 통해 수신받은 데이터를 기초로 상기 전장유니트의 임베디드 소프트웨어가 사용하는 CPU 및 메모리 중 적어도 하나의 상태를 모니터링하고 이에 대한 결과를 출력하는 제어부;를 포함하는 것을 특징으로 하는 UDS 통신 기반 자동차용 소프트웨어 동적 분석 장치를 제공한다.
Description
본 발명은 자동차용 임베디드 소프트웨어 동적 분석 장치에 관한 것으로서, 더욱 상세하게는 자동차용 임베디드 소프트웨어에 대한 동적 분석을 수행하고, 이를 통해 임베디드 소프트웨어의 오류를 실시간으로 검출할 수 있는 동적 분석 장치에 관한 것이다.
임베디드 시스템(Embedded System, 내장형 시스템)이란 시스템을 동작시키는 소프트웨어를 하드웨어에 내장하여 특수한 기능만을 수행할 수 있도록 한 컴퓨터 시스템이다.
상기 임베디드 시스템은 개인용 컴퓨터(PC)와는 달리 특정한 요구 사항을 가지고 있으며, 미리 정의된 작업(Task)을 수행하게 된다. 이러한 임베디드 시스템 상에서 구동되는 소프트웨어를 임베디드 소프트웨어라고 한다.
최근 자동차의 상품성 향상을 위해 차량에서 다양한 기능들이 구현되고 있으며, 이를 위해 차량 전장품 또한 점점 복잡해지고 있다. 이에 따라, 차량 전장품에 탑재된 임베디드 소프트웨어 또한 그 복잡도가 증가하고 있고, 그로 인해 해당 소프트웨어의 구현에도 많은 시간이 소요되고 있다.
한편, 본 기술이 속한 분야에서 임베디드 소프트웨어 구현의 용이성을 증가시키기 위해 OSEK 운영체제가 개발된 바 있다. OSEK은 독일어로 "Offend Systeme und deren Schnittstellen fur die Elektronik im Kraftfahrzeug"의 약자이며, 영어로는 "Open System and the Corresponding Interfaces for Automotive Electronic"을 뜻한다. 상기 OSEK은 차량용 분산제어장치의 공개 아키텍처에 대한 산업 표준화를 목표로 하여 자동차 산업계 공동 프로젝트로 설립되었다.
현재 많은 차량들이 OSEK 운영체제를 활용한 소프트웨어 플랫폼을 탑재하고 있으며, 이 소프트웨어 플랫폼은 BCM(Body Control Module) 등뿐만 아니라 샤시 전장품으로도 확대 적용되고 있다.
그런데, 이러한 소프트웨어 플랫폼의 적용으로 운영체제의 품질은 향상되었으나, 개별 임베디드 소프트웨어는 그 기능 복잡도의 증가에 비례하여 오류도 높아지고 있는 것이 현실이다.
이러한 소프트웨어의 오류는 차량 전장품의 작동 오류를 일으키게 되므로 어플리케이션 소프트웨어를 포함한 전체 소프트웨어의 오류를 검출하고 분석할 수 있는 장치에 대한 개발이 요구되고 있다.
종래에 자동차 전장품에 들어가는 소프트웨어의 오류를 검증하기 위한 것으로는 K-라인 통신 기반의 임베디드 소프트웨어 검증 툴 및 기법이 있다. 그러나, K-라인 통신, 즉 KWP2000 통신의 경우 통신 속도가 19.2 kbps로 매우 느리기 때문에 실시간으로 검증을 수행하는데 있어 한계가 존재한다. 또한 K-라인 통신을 위해서는 전장품에 K-라인 통신단을 별도로 구성해야 한다.
본 발명은 상기와 같은 점을 고려하여 창출된 것으로서, 자동차용 소프트웨어의 오류를 자동으로 검증하기 위한 동적 검증을 더욱 빠른 속도로 실시간 수행할 수 있는 자동차용 소프트웨어 동적 분석 장치를 제공하는데 그 목적이 있다.
특히, 본 발명은 자동차의 전장품(전장유니트)에 탑재되는 임베디드 소프트웨어에 대한 동적 분석을 수행하고, 이를 통해 임베디드 소프트웨어의 오류를 실시간으로 검출할 수 있는 동적 분석 장치를 제공하는데 그 목적이 있다.
또한 본 발명은 소프트웨어 오류를 검증하는 알고리즘을 OSEK 운영체제 기반의 임베디드 소프트웨어에 대한 소프트웨어 레벨의 동적 분석을 통해 오류 발생의 직접적인 문제를 검출할 수 있는 동적 분석 장치를 제공하고자 하는 목적을 가지고 있다.
상기한 목적을 달성하기 위해, 본 발명은, 차량에 탑재된 전장유니트와 UDS 기반 CAN 통신을 통해 실시간으로 데이터를 송수신하는 데이터 통신부와; 상기 데이터 통신부를 통해 수신받은 데이터를 기초로 상기 전장유니트의 임베디드 소프트웨어가 사용하는 CPU 및 메모리 중 적어도 하나의 상태를 모니터링하고 이에 대한 결과를 출력하는 제어부;를 포함하는 UDS 통신 기반의 자동차용 소프트웨어 동적 분석 장치를 제공한다.
여기서, 상기 데이터 통신부와 전장유니트는 각각 UDS 기반 CAN 통신을 수행하기 위한 UDS 모듈, CAN TP 모듈, 및 CAN 드라이버를 구비하며, 상기 UDS 모듈은 상기 제어부와 전장유니트 내 상위 레이어로부터 전달되는 데이터를 UDS 프로토콜 포맷으로 변환하여 CAN TP 모듈에 전달하고, CAN TP 모듈로부터 전달된 데이터에서 UDS 프로토콜 관련 데이터를 제거한 뒤 상기 상위 레이어로 전달하는 것을 특징으로 한다.
또한 상기 CAN TP 모듈은, UDS 모듈로부터 전달받은 UDS 프로토콜 포맷의 데이터를 CAN 메시지 형태로 CAN 드라이버에 전달하고, 상기 CAN 드라이버에서 수신된 CAN 메시지로부터 데이터를 추출하여 UDS 모듈로 전달하며, 상기 CAN 드라이버는, 데이터 통신부와 전장유니트 내에서 해당 CAN TP 모듈로부터 전달받은 CAN 메시지를 상대측 CAN 드라이버에 송신하고, 상대측 CAN 드라이버로부터 수신된 CAN 메시지를 해당 CAN TP 모듈로 전달하는 것을 특징으로 한다.
또한 상기 제어부는 상기 메모리 상의 임베디드 소프트웨어의 스택 호출 사용 깊이를 모니터링하는 것을 특징으로 한다.
또한 상기 제어부는 상기 임베디드 소프트웨어의 CPU 사용률을 모니터링하는 것을 특징으로 한다.
또한 상기 제어부는 상기 임베디드 소프트웨어의 소프트웨어 플랫폼에서 검출한 에러 코드들을 모니터링하는 것을 특징으로 한다.
또한 상기 제어부는 상기 메모리의 특정 주소에 대한 데이터 값을 모니터링하고, 사용자의 입력에 따라 상기 주소에 대한 데이터 값을 변경하는 것을 특징으로 한다.
또한 상기 제어부는 상기 메모리 상의 임베디드 소프트웨어의 스택 호출 사용 깊이, 상기 임베디드 소프트웨어의 CPU 사용률, 상기 메모리의 특정 주소 값 및 에러 코드 데이터를 로깅하고, 저장된 데이터를 화면상으로 재연 또는 전장유니트에 인가하는 재생 기능을 수행하는 것을 특징으로 한다.
이에 따라, 본 발명에 따른 자동차용 임베디드 소프트웨어 동적 분석 장치에 의하면, 임베디드 소프트웨어, 특히 OSEK 운영체제 기반의 소프트웨어에 대한 동적 분석을 통해 단순한 기능 검증으로는 발견하기 어려운 소프트웨어 내부 문제를 검출할 수 있다.
따라서 본 발명에 따른 자동차용 임베디드 소프트웨어 동적 분석 장치는 임베디드 소프트웨어에서 발생하는 오류를 직접적으로 검출하여, 간헐적으로 발생하는 전장품의 품질 문제나 원인 불명의 문제점을 해결하는데 기여할 수 있다.
도 1은 본 발명의 실시예에 따른 자동차용 임베디드 소프트웨어 동적 분석 장치의 구성 및 연결 관계를 나타내는 구성도이다.
도 2는 본 발명의 실시예에 따른 분석 장치에서 데이터 통신부와 전장유니트에 UDS 모듈, CAN TP 모듈, CAN 드라이버가 구비됨을 보여주는 구성도이다.
도 3은 본 발명의 실시예에 따른 자동차용 임베디드 소프트웨어 동적 분석 과정을 나타내고 있다.
도 4는 본 발명의 실시예에 따른 분석 장치에서 UDS 모듈, CAN TP 모듈, CAN 드라이버의 UDS I/F 수행 기능을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 분석 장치에서 제공하는 모니터링 화면을 예시한 도면이다.
도 2는 본 발명의 실시예에 따른 분석 장치에서 데이터 통신부와 전장유니트에 UDS 모듈, CAN TP 모듈, CAN 드라이버가 구비됨을 보여주는 구성도이다.
도 3은 본 발명의 실시예에 따른 자동차용 임베디드 소프트웨어 동적 분석 과정을 나타내고 있다.
도 4는 본 발명의 실시예에 따른 분석 장치에서 UDS 모듈, CAN TP 모듈, CAN 드라이버의 UDS I/F 수행 기능을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 분석 장치에서 제공하는 모니터링 화면을 예시한 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명하기로 한다.
본 발명은 자동차의 전장품(전장유니트)에 탑재되는 임베디드 소프트웨어에 대한 동적 분석(Dynamic Analysis)을 수행하고 실시간으로 신속히 오류 검출을 수행할 수 있는 분석 장치에 대한 것이다.
특히, 본 발명은 UDS(Unified Diagnostic Service) 기반 CAN 통신을 활용하여 임베디드 소프트웨어 오류를 동적 분석 방법에 의해 검출하는 분석 장치로서, 소프트웨어 오류를 검증하는 검증 소프트웨어를 OSEK 운영체제에 탑재하고 이 전체 소프트웨어를 전장품에 탑재하여, OSEK 운영체제 내 탑재된 검증 소프트웨어와 분석 장치 간의 UDS CAN 통신을 통해 전장품이 기능을 수행하는 과정에서 소프트웨어가 이상 행동을 수행하는지 등의 소프트웨어 오류를 검출하고 분석하는 점에 특징이 있는 것이다.
진단 통신 관련 국제 표준으로 UDS CAN 방식이 제정된 바 있고, 이는 통신속도가 500 kbps 수준으로 매우 빠르다. 또한 대용량 데이터 전송에 제한이 없어 메모리 데이터 확인이 용이하며, 빠른 응답성을 갖는다. 아울러, CAN 통신이 기본적으로 적용되므로 전장품의 경우 별도 하드웨어를 구성할 필요가 없다.
그러나, 아직 UDS CAN 통신을 활용한 임베디드 소프트웨어 검증 기술에 대해서는 개발되거나 알려진 바가 없으며, 차량 내 전장품들 간에 CAN 통신 적용이 늘면서 임베디드 소프트웨어와 분석 장치 간의 통신매체도 CAN 통신을 적용하는 것이 바람직하다. 이에 따라, 본 발명에서는 진단 CAN 통신의 국제 표준인 UDS CAN 방식의 소프트웨어 동적 분석 방식을 제시한다.
도 1은 본 발명의 실시예에 따른 자동차용 임베디드 소프트웨어 동적 분석 장치의 구성 및 연결 관계를 나타내고 있다. 본 발명의 분석 장치(9)는 실차 상에서 전장유니트(10)의 소프트웨어를 분석하는 장치로 구성되거나, HILS(Hardware In the Loop System)를 활용한 전장유니트의 소프트웨어 분석 장치로 구성되는 것이 모두 가능하다.
도 1에 도시된 바와 같이, 본 발명에 따른 분석 장치(9)는 차량(1)의 전장유니트(2)와 통신을 수행하는 데이터 통신부(20), 상기 데이터 통신부(20)를 통해 수신받은 데이터를 기초로 전장유니트(2)에 탑재된 임베디드 소프트웨어의 동적 분석을 수행하는 제어부(10)를 포함한다.
여기서, 분석 장치(9)는 자체 전원공급부(Power Supply)(30)를 구비하여 상기 전원공급부(30)가 제어부(10) 및 데이터 통신부(20)의 작동 전원을 공급하도록 구성될 수 있으며, 또는 차량(1)의 배터리(8)가 제어부(10) 및 데이터 통신부(20)의 작동 전원을 공급하도록 구성될 수 있다. 또한 분석 장치(9) 내 전원공급부(30)와 차량(1)의 배터리(8) 중 어느 하나가 선택되어 작동 전원을 공급하도록 구성될 수 있다.
본 발명에서 데이터 통신부(20)는 검사 대상이 되는 전장유니트(2)와의 실시간 데이터 송수신을 위한 장치로서, 이때 데이터 송수신을 위해 UDS 기반 CAN 통신이 이용된다.
즉, 본 발명에서는 분석 장치(9)의 제어부(10)와 검사 대상이 되는 차량(1)의 전장유니트(2) 간에는 UDS 기반 CAN 통신(UDS on CAN 통신, 이하 UDS CAN 통신이라 칭함)을 통하여 실시간 데이터 송수신이 이루어지는 점에 주된 특징이 있는 것이다. 상기 데이터 통신부(20)는 UDS CAN 통신을 통해 차량(1)의 전장유니트(2)와 데이터를 송수신하며, UDS 프로토콜의 데이터가 수신되면 수신된 데이터를 변환하여 제어부(10)로 전달하게 된다.
이러한 UDS CAN 통신의 활용이 가능하도록 분석 장치(9) 내 제어부(10)와 연결된 데이터 통신부(20)는 UDS 모듈, CAN TP 모듈, CAN 드라이버(CAN Driver)를 구비한다. 또한 차량(1)의 전장유니트(2)에도 UDS CAN 통신이 가능하도록 UDS 모듈, CAN TP 모듈, CAN 드라이버가 구비된다(도 1에서는 UDS 모듈, CAN TP 모듈, CAN 드라이버를 도시하지 않음).
이와 같이 본 발명에서는 CAN 통신을 이용하여 전장유니트(2)에 탑재된 OSEK 운영체제 기반 소프트웨어의 오류를 검출하며, 특히 전장유니트(2)와 분석 장치(9) 간에 UDS CAN 통신을 이용하여 소프트웨어 분석을 위한 각종 데이터가 송수신된다.
또한 본 발명에서는 대용량 데이터를 통신 네트워크 버스 부하(Bus Load)의 증가 없이 전송할 수 있는 TP 통신 기술이 이용되고(CAN TP의 이용), 동적 에러 및 메모리 주소 값을 로깅 및 재생하는 과정이 포함된다.
CAN TP(Transport Protocol)는 CAN 통신이 최대 8 byte의 데이터만을 전송할 수 있는 단점을 극복하기 위하여 데이터를 여러 메시지에 나누어 전송함으로써 대용량 데이터의 전송을 가능하게 하는 방법이다.
한편, 본 발명에서 제어부(10)는 데이터 통신부(20)를 통해 수신받은 데이터를 기초로, 전장유니트(2)에 탑재되어 구동되는 임베디드 소프트웨어의 사용 CPU 또는 메모리의 상태를 모니터링하고 이에 대한 결과를 출력할 수 있다. 또한 상기 제어부(10)는 임베디드 소프트웨어의 프로그램 수행 중 수신되는 데이터를 통해 로그를 분석하고 발생 오류를 실시간으로 검출할 수 있다.
본 발명에서 임베디드 소프트웨어는 전장유니트(2)의 ECU(Electronic Control Unit)에 탑재될 수 있으며, 임베디드 소프트웨어의 각종 모니터링 정보를 제공하는 소프트웨어 플랫폼을 구비한다.
도 2는 본 발명의 실시예에 따른 분석 장치에서 데이터 통신부와 전장유니트에 UDS 모듈, CAN TP 모듈, CAN 드라이버가 구비됨을 보여주는 구성도로서, 이에 도시된 바와 같이, 전장유니트(2)의 ECU에는 어플리케이션 소프트웨어, 표준 API(Application programming interface), OSEK 소프트웨어 플랫폼, SysMon 모듈(3)이 구비되며, 이와 더불어 전장유니트(2)에는 UDS CAN 통신을 위한 UDS 모듈(4), CAN TP 모듈(5), CAN 드라이버(6)가 구비된다.
또한 분석 장치(9)의 데이터 통신부(20)에도 전장유니트(2)와의 UDS CAN 통신을 위한 UDS CAN I/F(Interface) 구성부, 즉 전장유니트의 것과 동일한 기능을 수행하는 UDS 모듈(20), CAN TP 모듈(22), CAN 드라이버(23)가 구비되며, UDS 프로토콜을 통해 수신된 데이터를 변환하여 제어부(10)로 전달하게 된다.
도 3은 본 발명의 실시예에 따른 자동차용 임베디드 소프트웨어 동적 분석 과정을 나타내고 있다.
본 발명의 실시예에 따라 검사 대상이 되는 전장유니트의 전원이 인가되면(S10), 상기 전장유니트에 연결된 본 발명의 분석 장치를 통해 모니터링을 수행할지 여부의 선택을 입력받을 수 있다(S20). 만약, 모니터링을 수행하도록 선택된다면, 본 발명의 실시예에 따라 전장유니트와 분석 장치 간의 통신이 개시된다(S30). 이때, 통신으로는 UDS CAN 통신이 이용된다.
또한 데이터 재생을 수행할지 여부의 선택을 입력받을 수 있는데(S22), 데이터 재생을 수행하도록 선택된다면, 저장된 데이터를 화면상으로 재연 또는 UDS CAN 통신을 통해 전장유니트에 인가하는 재생 기능을 수행하게 된다(S24).
본 발명에 따른 분석 장치는, UDS CAN 통신을 이용하여, 즉 UDS 모듈, CAN TP 모듈, CAN 드라이버의 UDS I/F 수행에 의해, 데이터 로깅 기능 사용시 전장유니트의 소프트웨어 플랫폼으로부터 실시간으로 데이터를 전달받아 저장할 수 있다(S32). 또한 상기 분석 장치는 전달받은 데이터를 기초로 임베디드 소프트웨어의 모니터링을 실시하도록 구동될 수 있다.
본 발명에 따른 분석 장치의 구동이 시작되면, 분석 장치는 CPU 사용량 확인 기능(S40), 스택 호출 사용 깊이(Stack Depth) 확인 기능(S42), 에러 코드 모니터링 기능(S44) 및 메모리 데이터 읽기/쓰기 기능(S46), 데이터 로깅(S48) 등의 동적 분석 기능을 제공할 수 있다. 상기 기능들은 본 발명의 분석 장치가 연결되는 전장유니트의 소프트웨어 플랫폼에서 제공하는 데이터를 기초로 이루어질 수 있다.
이때, CPU 사용량 확인 기능(S40)이 설정되면 작업(Task) 시간과 아이들(Idle) 시간 등을 저장하고 백분률로 전장유니트의 CPU 사용률 데이터가 전달된다. 또한 스택 호출 사용 깊이 확인 기능(S42)이 설정되면 현재의 스택 사용량이 확인되어 그에 따른 데이터 값이 전달된다.
또한 에러 코드 모니터링 기능(S44)이 설정되면 제어부의 에러 검출기(도 2에서 도면부호 13임)가 실행되고, 이에 에러 발생시마다 에러 발생 시간 및 발생된 에러 코드가 저장된다. 이때, 발생 시간으로는 전장유니트의 CPU 시간과 분석 장치의 제어부 내 시스템 시간을 동시에 저장한다.
또한 메모리 데이터 일기/쓰기 기능(S46)에서는 메모리 데이터 읽기 설정시 메모리 값 변화를 실시간으로 확인하고, 메모리 데이터 쓰기 설정시에는 특정 주소 값을 강제로 변경한다.
도 4는 UDS 모듈, CAN TP 모듈, CAN 드라이버의 UDS I/F 수행 기능을 설명하기 위한 도면으로서, 전장유니트 내 UDS 모듈, CAN TP 모듈, CAN 드라이버를 기준으로 나타낸 것이다.
기본적으로 데이터 통신부(20) 및 전장유니트(2) 내에 각각 구비되는 UDS 모듈(21,4)은 상위 레이어인 제어부(10)와 전장유니트(2)의 ECU(SysMon 모듈)로부터 전달되는 데이터를 UDS 프로토콜 포맷으로 변환하여 CAN TP 모듈(22,5)에 전달하고, 반대로 CAN TP 모듈(22,5)로부터 전달된 데이터에서 UDS 프로토콜 관련 데이터를 제거한 뒤 제어부(10)와 전장유니트(2)의 ECU로 전달한다(도면부호는 도 2 참조).
또한 CAN TP 모듈(22,5)은 UDS 모듈(21,4)로부터 전달받은 UDS 프로토콜 포맷의 데이터를 CAN 메시지 형태로 CAN 드라이버(23,6)에 전달하고, 반대로 CAN 드라이버(23,6)를 통해 수신된 CAN 메시지에서 데이터를 추출하여 UDS 모듈(21,4)로 전달한다.
또한 CAN 드라이버(23,6)는 데이터 통신부(20)와 전장유니트(2) 내 CAN TP 모듈(22,5)로부터 전달받은 CAN 메시지를 상대측 CAN 드라이버에 송신하고, 반대로 상대측 CAN 드라이버로부터 수신된 CAN 메시지를 CAN TP 모듈로 전달한다.
이러한 기능에 대하여 도 4를 참조하여 좀더 상세히 설명하면, 먼저 전장유니트의 ECU 내 SysMon 모듈(3)은 분석 장치(9)에 전송할 데이터를 UDS 모듈(4)에 전달하고, 이에 UDS 모듈(4)은 SysMon 모듈(3)로부터 전달받은 데이터를 UDS 프로토콜 포맷에 맞게 구성한 뒤 CAN TP 모듈(5)에 전달한다.
또한 CAN TP 모듈(5)은 데이터 크기에 따라 싱글 프레임(Single Frame)인 경우는 단일 CAN 메시지를 전송하고, 멀티 프레임(Multi Frame)인 경우는 플로우 컨트롤(Flow Control)을 하면서 다수의 CAN 메시지를 전송한다.
또한 CAN 드라이버(6)는 CAN TP 모듈(5)에서 전달받은 CAN 메시지를 분석 장치(9)에 송신한다. 또한 CAN 드라이버(6)는 분석 장치(9)에서 전송된 CAN 메시지를 수신하여 해당 CAN 메시지를 CAN TP 모듈(5)로 전달한다.
이에 CAN TP 모듈(5)은 CAN 드라이버(6)에서 전달받은 CAN 메시지를 수집하여 데이터 부분만을 추출한 뒤 UDS 모듈(4)로 전달하며, 이때 하나의 CAN 메시지가 전달할 수 있는 최대 데이터 크기는 8 byte가 될 수 있다.
통신 데이터가 이보다 클 경우는 멀티 프레임으로서 송신할 때와 마찬가지로 CAN TP 모듈(5)에서 여러 개의 CAN 메시지를 수집하여 하나의 큰 통신 데이터를 완성한 후 이를 상위 레이어로 전달한다.
이 경우에는 여러 개의 CAN 메시지를 수신해야 하므로 플로우 컨트롤이 필요하며, 통신 데이터가 이보다 작으면 싱글 프레임으로서 하나의 CAN 메시지를 수신하여 데이터 추출 후 상위 레이어로 전달한다.
이에 UDS 모듈(4)은 UDS 프로토콜과 관련된 헤더를 제거한 후 순수한 데이터 부분을 추출하여 상위 레이어(도 4에서는 전장유니트의 SysMon 모듈임)에 전달한다.
한편, 본 발명의 실시예에서 제공하는 동적 분석 기능을 도 5를 참조로 설명하면 다음과 같다.
도 5는 본 발명의 실시예에 따른 분석 장치에서 제공하는 모니터링 화면을 예시한 도면으로서, 먼저 임베디드 소프트웨어가 탑재되는 전장유니트 내 ECU의 메모리 상에서 임베디드 소프트웨어의 실행에 따른 스택 호출 사용 깊이를 모니터링할 수 있다(도면부호 14 참조). 즉, 본 발명의 제어부는 스택 호출 사용 깊이를 모니터링하여 이를 디스플레이 등을 통해 그래프 형식으로 사용자에게 출력할 수 있으며, 사용자는 스택 깊이가 무한히 증가하는 경우를 확인할 수 있다. 이를 통해 사용자는 무한 루프 또는 재귀 호출 등에 기인한 오류 가능성을 파악할 수 있게 된다.
다음으로, 본 발명에 따른 분석 장치의 제어부는 임베디드 소프트웨어의 CPU 사용률을 모니터링할 수 있으며, 이를 그래프 형식으로 출력할 수 있다(15). 즉, 사용자는 본 발명의 분석 장치를 통해 임베디드 소프트웨어가 수행됨에 따른 CPU 부하도의 추이를 확인할 수 있으며, CPU 과부하로 인한 오작동의 오류 가능성을 파악할 수 있다. 또한, 비정상 인터럽트에 의한 CPU 폭주 현상을 예방할 수 있다.
그리고, 본 발명에 따른 분석 장치의 제어부는 임베디드 소프트웨어의 소프트웨어 플랫폼에서 검출한 에러 코드들을 모니터링할 수 있다(16). 즉, 상기 제어부는 전장유니트에 탑재된 소프트웨어 플랫폼에서 자체적으로 검출한 에러 코드를 수신하여 이를 사용자에게 출력할 수 있다. 본 발명의 실시예에 따라 제어부는 각 에러 코드별 변동사항을 표시할 수 있으며, 에러 코드가 발생한 횟수 및 발생한 시간을 출력할 수 있다. 이때, 에러 코드가 발생한 시간으로는 전장유니트 내 ECU의 CPU 시간과 분석장치 내 제어부의 시스템 시간을 동시에 저장할 수 있다.
본 발명의 일 실시예에 따라 상기 소프트웨어 플랫폼으로 CARNES SWP가 사용될 경우 출력되는 에러 코드는 다음과 같다.
또한 본 발명의 실시예에서 분석 장치의 제어부는 전장유니트 내 ECU의 메모리 상의 특정 주소에 대한 데이터 값을 모니터링하고, 사용자의 입력에 따라 데이터 값을 변경하도록 할 수 있다(17). 이때, 본 발명의 제어부는 모니터링하고자 하는 특정 메모리 주소 및 크기를 입력할 수 있는 입력창을 제공할 수 있으며, 태그로 지정된 각 메모리의 모니터링 값(태그명, 주소, 크기, 데이터 값)을 표시할 수 있다. 또한, 다수의 태그를 지정하여 여러 메모리 주소를 동시에 모니터링할 수도 있다.
또한 본 발명의 실시예에서 분석 장치의 제어부는 데이터 로깅 및 재생 기능을 수행할 수 있는데, 메모리 상의 임베디드 소프트웨어의 스택 호출 사용 깊이, 임베디드 소프트웨어의 CPU 사용률, 특정 메모리 주소의 값 및 에러 코드를 로깅하고(18), 저장된 데이터를 화면상으로 재연 또는 전장유니트에 인가하는 재생 기능 등을 수행할 수 있다.
본 발명의 실시예에 따르면, 상기 제어부는 메모리의 특정 주소에 대한 데이터 값을 강제로 변경하기 위한 입력창을 제공하고, 사용자의 입력에 따라 상기 주소에 대한 데이터 값을 변경하도록 하는 기능을 제공할 수 있다. 따라서, 사용자는 메모리의 특정 주소에 대한 데이터 값을 분석하고 특정 값을 인가하여 이상 현상을 직접 확인할 수 있게 된다.
이처럼 본 발명의 실시예에 따른 자동차용 임베디드 소프트웨어 동적 분석 장치는 전장유니트와의 UDS CAN 통신을 통해 데이터를 입력받고, 상기 데이터를 통한 임베디드 소프트웨어의 CPU 또는 메모리 사용 현황을 모니터링하여 사용자에게 제공함으로써, 사용자가 소프트웨어 레벨의 동적 분석을 통해 오류 발생의 직접적인 문제를 검출할 수 있도록 한다.
특히, 본 발명에 따른 동적 분석 장치는 임베디드 소프트웨어의 실행 중에 실시간으로 분석을 수행하고 오류를 검출할 수 있으므로, 임베디드 소프트웨어에 대한 동적 분석을 수행할 수 있는 것이다.
이상으로 본 발명의 실시예에 대해 상세히 설명하였는바, 본 발명의 권리범위는 상술한 실시예에 한정되지 않으며, 다음의 특허청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 포함된다.
1 : 차량 2 : 전장유니트
3 : SysMon 모듈 4 : UDS 모듈
5 : CAN TP 모듈 6 : CAN 드라이버
9 : 분석 장치 10 : 제어부
20 : UDS 모듈 22 : CAN TP 모듈
23 : CAN 드라이버
3 : SysMon 모듈 4 : UDS 모듈
5 : CAN TP 모듈 6 : CAN 드라이버
9 : 분석 장치 10 : 제어부
20 : UDS 모듈 22 : CAN TP 모듈
23 : CAN 드라이버
Claims (8)
- 차량에 탑재된 전장유니트와 UDS 기반 CAN 통신을 통해 실시간으로 데이터를 송수신하는 데이터 통신부와;
상기 데이터 통신부를 통해 수신받은 데이터를 기초로 상기 전장유니트의 임베디드 소프트웨어가 사용하는 CPU 및 메모리 중 적어도 하나의 상태를 모니터링하고 이에 대한 결과를 출력하는 제어부;
를 포함하는 것을 특징으로 하는 UDS 통신 기반의 자동차용 소프트웨어 동적 분석 장치.
- 청구항 1에 있어서,
상기 데이터 통신부와 전장유니트는 각각 UDS 기반 CAN 통신을 수행하기 위한 UDS 모듈, CAN TP 모듈, 및 CAN 드라이버를 구비하며,
상기 UDS 모듈은 상기 제어부와 전장유니트 내 상위 레이어로부터 전달되는 데이터를 UDS 프로토콜 포맷으로 변환하여 CAN TP 모듈에 전달하고, CAN TP 모듈로부터 전달된 데이터에서 UDS 프로토콜 관련 데이터를 제거한 뒤 상기 상위 레이어로 전달하는 것을 특징으로 하는 UDS 통신 기반의 자동차용 소프트웨어 동적 분석 장치.
- 청구항 2에 있어서,
상기 CAN TP 모듈은 UDS 모듈로부터 전달받은 UDS 프로토콜 포맷의 데이터를 CAN 메시지 형태로 CAN 드라이버에 전달하고, 상기 CAN 드라이버에서 수신된 CAN 메시지로부터 데이터를 추출하여 UDS 모듈로 전달하며,
상기 CAN 드라이버는 데이터 통신부와 전장유니트 내에서 해당 CAN TP 모듈로부터 전달받은 CAN 메시지를 상대측 CAN 드라이버에 송신하고, 상대측 CAN 드라이버로부터 수신된 CAN 메시지를 해당 CAN TP 모듈로 전달하는 것을 특징으로 하는 UDS 통신 기반의 자동차용 소프트웨어 동적 분석 장치.
- 청구항 1에 있어서,
상기 제어부는 상기 메모리 상의 임베디드 소프트웨어의 스택 호출 사용 깊이를 모니터링하는 것을 특징으로 하는 UDS 통신 기반의 자동차용 소프트웨어 동적 분석 장치.
- 청구항 1에 있어서,
상기 제어부는 상기 임베디드 소프트웨어의 CPU 사용률을 모니터링하는 것을 특징으로 하는 UDS 통신 기반의 자동차용 소프트웨어 동적 분석 장치.
- 청구항 1에 있어서,
상기 제어부는 상기 임베디드 소프트웨어의 소프트웨어 플랫폼에서 검출한 에러 코드들을 모니터링하는 것을 특징으로 하는 UDS 통신 기반의 자동차용 소프트웨어 동적 분석 장치.
- 청구항 1에 있어서,
상기 제어부는 상기 메모리의 특정 주소에 대한 데이터 값을 모니터링하고, 사용자의 입력에 따라 상기 주소에 대한 데이터 값을 변경하는 것을 특징으로 하는 UDS 통신 기반의 자동차용 소프트웨어 동적 분석 장치.
- 청구항 1에 있어서,
상기 제어부는 상기 메모리 상의 임베디드 소프트웨어의 스택 호출 사용 깊이, 상기 임베디드 소프트웨어의 CPU 사용률, 상기 메모리의 특정 주소 값 및 에러 코드 데이터를 로깅하고, 저장된 데이터를 화면상으로 재연 또는 전장유니트에 인가하는 재생 기능을 수행하는 것을 특징으로 하는 UDS 통신 기반의 자동차용 소프트웨어 동적 분석 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110044977A KR20120126873A (ko) | 2011-05-13 | 2011-05-13 | Uds 통신 기반의 자동차용 소프트웨어 동적 분석 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110044977A KR20120126873A (ko) | 2011-05-13 | 2011-05-13 | Uds 통신 기반의 자동차용 소프트웨어 동적 분석 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120126873A true KR20120126873A (ko) | 2012-11-21 |
Family
ID=47512126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110044977A KR20120126873A (ko) | 2011-05-13 | 2011-05-13 | Uds 통신 기반의 자동차용 소프트웨어 동적 분석 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20120126873A (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140134066A (ko) * | 2013-05-13 | 2014-11-21 | 현대모비스 주식회사 | 차량 ecu의 소프트웨어 디버깅 장치 및 방법 |
KR20190040714A (ko) * | 2017-10-11 | 2019-04-19 | 현대자동차주식회사 | Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 |
CN109697143A (zh) * | 2017-10-24 | 2019-04-30 | 龙海特尔福汽车电子研究所有限公司 | 一种基于udsz诊断的电子产品下线检测系统及其检测方法 |
KR20190071208A (ko) * | 2017-12-14 | 2019-06-24 | 현대자동차주식회사 | 전자 제어 장치용 메모리 감시 및 사용 표시 방법 및 장치 |
CN111736578A (zh) * | 2020-08-14 | 2020-10-02 | 广州汽车集团股份有限公司 | 一种基于双cpu控制器的uds诊断方法及装置 |
KR102399597B1 (ko) * | 2020-11-26 | 2022-05-19 | 주식회사 브이웨이 | 인공지능을 활용한 고장형태 영향분석 자동화 시스템 |
-
2011
- 2011-05-13 KR KR1020110044977A patent/KR20120126873A/ko not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140134066A (ko) * | 2013-05-13 | 2014-11-21 | 현대모비스 주식회사 | 차량 ecu의 소프트웨어 디버깅 장치 및 방법 |
KR20190040714A (ko) * | 2017-10-11 | 2019-04-19 | 현대자동차주식회사 | Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 |
CN109697143A (zh) * | 2017-10-24 | 2019-04-30 | 龙海特尔福汽车电子研究所有限公司 | 一种基于udsz诊断的电子产品下线检测系统及其检测方法 |
KR20190071208A (ko) * | 2017-12-14 | 2019-06-24 | 현대자동차주식회사 | 전자 제어 장치용 메모리 감시 및 사용 표시 방법 및 장치 |
CN111736578A (zh) * | 2020-08-14 | 2020-10-02 | 广州汽车集团股份有限公司 | 一种基于双cpu控制器的uds诊断方法及装置 |
KR102399597B1 (ko) * | 2020-11-26 | 2022-05-19 | 주식회사 브이웨이 | 인공지능을 활용한 고장형태 영향분석 자동화 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20120126873A (ko) | Uds 통신 기반의 자동차용 소프트웨어 동적 분석 장치 | |
WO2015000278A1 (zh) | 一种车辆诊断方法及服务器 | |
CN100576935C (zh) | 嵌入式机顶盒调试、测试方法 | |
CN104734911A (zh) | 一种can总线网络管理测试系统及方法 | |
KR20120062064A (ko) | 자동차용 임베디드 소프트웨어 동적 분석 장치 | |
CN115221071A (zh) | 芯片验证方法、装置、电子设备和存储介质 | |
CN112241160A (zh) | 车辆测试方法、装置、车辆检测系统以及测试板卡 | |
CN106100939A (zh) | 网络设备启动时间测试方法及测试控制台 | |
CN111970166B (zh) | 一种测试方法、装置、设备、系统及计算机可读存储介质 | |
CN114170705A (zh) | 车辆数据上传方法、装置和设备 | |
CN109471763B (zh) | 抓取NVME硬盘trace的方法、装置、设备及系统 | |
CN115514590B (zh) | 电动载具部件、电动载具数据收集系统及电动载具数据收集方法 | |
CN110704148A (zh) | 设备页面元素的获取方法、装置、服务器及存储介质 | |
CN114218004A (zh) | 基于BMC的Kubernetes集群物理节点的故障处理方法和系统 | |
WO2020259339A1 (zh) | 总线监控装置及方法、存储介质、电子装置 | |
KR20130063866A (ko) | 엠투엠 단말기 진단시스템 및 방법 | |
CN109446002B (zh) | 一种用于服务器抓取sata硬盘的治具板、系统及方法 | |
KR20120071175A (ko) | 웹 플랫폼이 탑재된 이동통신 단말기와 이를 이용한 로그 정보 제공 방법 및 웹 플랫폼에 대한 검증 시스템과 이를 이용한 검증 방법 | |
CN115484184B (zh) | 故障诊断方法、故障诊断系统、车辆和可读存储介质 | |
CN101800079B (zh) | 一种实现参数自标定的方法和装置 | |
CN103257648B (zh) | 汽车标定系统 | |
CN116009510A (zh) | 车载控制系统异常处理方法、装置和车辆 | |
CN115657639A (zh) | 用于监控车载芯片功能的系统、方法、设备及存储介质 | |
CN115442224A (zh) | 一种mcu日志处理方法、装置和车辆 | |
CN113960991A (zh) | 车辆故障诊断系统、方法、装置、片上系统芯片及车辆 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |