KR20210133587A - 차량 ecu 소프트웨어 업데이트 장치 및 방법 - Google Patents

차량 ecu 소프트웨어 업데이트 장치 및 방법 Download PDF

Info

Publication number
KR20210133587A
KR20210133587A KR1020200052364A KR20200052364A KR20210133587A KR 20210133587 A KR20210133587 A KR 20210133587A KR 1020200052364 A KR1020200052364 A KR 1020200052364A KR 20200052364 A KR20200052364 A KR 20200052364A KR 20210133587 A KR20210133587 A KR 20210133587A
Authority
KR
South Korea
Prior art keywords
vehicle
data
ecu
cal
software
Prior art date
Application number
KR1020200052364A
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 KR1020200052364A priority Critical patent/KR20210133587A/ko
Publication of KR20210133587A publication Critical patent/KR20210133587A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 차량 ECU 소프트웨어 업데이트 장치 및 방법에 관한 것으로, 본 발명의 ECU 업데이트 장치는, 자동차에 구비된 ECU(Electronic Control Units)의 소프트웨어 업데이트를 수행하는 장치에 있어서, 상기 소프트웨어의 업데이트 수행 대상인 상기 ECU에 저장된 차량 데이터를 복수의 자동차 각각으로부터 수신하는 서버 통신부, 상기 수신된 복수의 차량 데이터가 저장되는 서버 메모리, 그리고 상기 저장된 복수의 차량 데이터에 기초하여 상기 소프트웨어의 식별 정보인 CAL ID(Calibration Identification) 별로 인증용 OTA(Over The Air) 차량 데이터를 생성하는 프로세서를 포함하고, 상기 프로세서는, 상기 복수의 차량 데이터를 상기 CAL ID 별로 분류하여 복수의 데이터 세트를 생성하고, 상기 복수의 데이터 세트 각각의 평균 및 표준편차 중 적어도 하나를 산출하여 상기 인증용 OTA 차량 데이터를 생성한다.

Description

차량 ECU 소프트웨어 업데이트 장치 및 방법{APPARATUS AND METHOD FOR UPDATING SOFTWARE OF ELECTRONIC CONTROL UNIT OF VEHICLE}
본 발명은, 차량에 구비된 ECU(Electronic Control Unit)의 소프트웨어를 무선 통신 네트워크를 통해 업데이트할 때 ECU에 저장된 차량 데이터를 수신하여 저장하는 장치 및 방법에 관한 것이다.
자동차는 동력 전달 장치, 샤시, 조향 장치, 운전자 편의 장치 등을 포함하고, 최근 들어 고안전 차량을 위한 각종 전자 제어 유닛(Electronic Control Unit, ECU)이 증가하고 있으며, 각종 법규, 품질 개선 등 다양한 이유로 ECU의 소프트웨어 변경에 따른 프로그래밍의 빈도도 증가하고 있다. ECU의 소프트웨어 프로그래밍을 처리하기 위해 일반 시장에서는 스캐너 툴이나, 온라인 리프로래밍 방법을 이용하는 등 다양한 기술이 발전하고 있는 추세이다.
차량의 각 주행 상태에 따른 정확한 엔진 및 기타 장치의 동작을 제어하기 위하여 서로 다른 기능을 수행하는 복수 개의 ECU들이 차량에 탑재된다. ECU은 차량 출고 시 설정된 알고리즘에 의하여 동작하는데, ECU의 플래쉬 메모리에 ECU의 동작 또는 제어와 관련된 데이터가 저장된다.
이러한 ECU의 구조 및 기능이 점점 복잡해짐에 따라, 해당 ECU 내부의 소프트웨어는 새로운 기능 추가와 에러 개선을 위해 업데이트가 필요하다.
ECU의 소프트웨어 업데이트는 차량과 진단기 간의 유선 연결을 통한 진단 통신을 이용할 수 있다. 그러나, 유선 연결 방식은, 진단 통신의 속도가 느리고 업데이트가 필요할 때마다 정비소 등 진단기 장비가 구비된 장소에 방문해야 하는 불편함이 있다. 최근 들어, 무선 통신 방식으로 소프트웨어를 업데이트하기 위한 OTA(Over The Air) 서비스가 제공되기 시작하였으며, 그를 통해 비용 효율적인 소프트웨어 업데이트를 안전하고 빠르게 실시할 수 있고, 소프트웨어 리콜 및 관련 비용을 감소시킬 수 있다.
한편, ECU의 소프트웨어가 업데이트되면 ECU에 저장된 각종 차량 데이터들이 초기화된다. 차량 데이터들 중에는 인증기관에 제출이 요구되는 정보들도 포함되어 있어, 소프트웨어를 업데이트할 때마다 차량 데이터를 별도로 저장하는 등의 불편함이 있다.
본 발명은, 차량에 구비된 ECU(Electronic Control Unit)의 소프트웨어를 업데이트할 때 ECU에 저장된 차량 데이터를 서버로 자동 전송하여 저장하는 차량 ECU 소프트웨어 업데이트 장치 및 방법을 제공하고자 한다.
본 발명은, 복수의 자동차로부터 전송된 ECU의 차량 데이터에 기초하여 인증기관에 제공하기 위한 인증용 OTA(Over The Air) 차량 데이터를 생성하는 차량 ECU 소프트웨어 업데이트 장치 및 방법을 제공하고자 한다.
본 발명의 일 특징에 따른 ECU 업데이트 장치는, 자동차에 구비된 ECU(Electronic Control Units)의 소프트웨어 업데이트를 수행하는 장치에 있어서, 상기 소프트웨어 업데이트 수행 대상인 상기 ECU에 저장된 차량 데이터를 복수의 자동차 각각으로부터 수신하는 서버 통신부, 상기 수신된 복수의 차량 데이터가 저장되는 서버 메모리, 그리고 상기 저장된 복수의 차량 데이터에 기초하여 상기 소프트웨어의 식별 정보인 CAL ID(Calibration Identification) 별로 인증용 OTA(Over The Air) 차량 데이터를 생성하는 프로세서를 포함하고, 상기 프로세서는, 상기 복수의 차량 데이터를 상기 CAL ID 별로 분류하여 복수의 데이터 세트를 생성하고, 상기 복수의 데이터 세트 각각의 평균 및 표준편차 중 적어도 하나를 산출하여 상기 인증용 OTA 차량 데이터를 생성한다.
상기 차량 데이터는, 상기 CAL ID를 포함하는 인증 데이터, OBD(On-Board Diagnosis) 항목에 대한 진단율 정보인 IUMPR(In-Use Monitor Performance Ratio) 데이터, 및 차량 성능 데이터 중 적어도 하나를 포함하고, 상기 프로세서는, 상기 복수의 차량 데이터에 기초하여 복수의 상기 인증 데이터, 복수의 상기 IUMPR 데이터, 및 복수의 상기 차량 성능 데이터를 상기 CAL ID 별로 분류하여 상기 복수의 데이터 세트를 생성하고, 상기 복수의 데이터 세트 각각에 대한 평균 및 표준편차를 계산하고, 상기 계산된 평균 및 표준편차를 상기 CAL ID와 매핑하여 상기 인증용 OTA 차량 데이터를 생성할 수 있다.
상기 프로세서는, 미리 설정된 조건이 만족되거나 또는 상기 자동차로부터 상기 소프트웨어 업데이트 요청이 있으면, 상기 서버 통신부를 통해 상기 ECU에 대한 소프트웨어 최신 버전 정보를 포함하는 ECU 업데이트 정보를 상기 자동차로 전송하고, 운전자의 소프트웨어 업데이트 선택 신호가 상기 자동차로부터 수신되면, 상기 ECU에 대한 소프트웨어 업데이트 이미지를 상기 자동차로 전송하여 무선 통신 방식의 소프트웨어 업데이트 서비스인 OTA 서비스를 제공할 수 있다.
상기 프로세서는, 상기 운전자의 소프트웨어 업데이트 선택 신호가 상기 자동차로부터 수신되면, 상기 ECU에 대한 소프트웨어 업데이트 이미지를 상기 자동차로 전송하기 전에 상기 ECU에 대한 상기 차량 데이터의 전송을 상기 자동차에 요청할 수 있다.
본 발명의 다른 특징에 따른 ECU 업데이트 방법은, 자동차에 구비된 ECU(Electronic Control Units)의 소프트웨어 업데이트를 수행하는 방법에 있어서, 운전자의 소프트웨어 업데이트 선택 신호가 상기 자동차로부터 수신되어 무선 통신 방식의 소프트웨어 업데이트 서비스인 OTA(Over The Air) 서비스가 수행되는지 여부를 판단하는 단계, 상기 판단결과에 따라 상기 소프트웨어의 업데이트 수행 대상인 상기 ECU에 저장된 차량 데이터를 복수의 자동차 각각으로부터 요청하여 수신하는 단계, 상기 복수의 차량 데이터를 상기 소프트웨어의 식별 정보인 CAL ID(Calibration Identification) 별로 분류하여 복수의 데이터 세트를 생성하는 단계, 그리고, 상기 복수의 데이터 세트 각각의 평균 및 표준편차 중 적어도 하나를 산출하여 상기 CAL ID 별로 인증용 OTA 차량 데이터를 생성하는 단계를 포함한다.
상기 차량 데이터는, 상기 CAL ID를 포함하는 인증 데이터, OBD(On-Board Diagnosis) 항목에 대한 진단율 정보인 IUMPR(In-Use Monitor Performance Ratio) 데이터, 및 차량 성능 데이터 중 적어도 하나를 포함하고, 상기 복수의 데이터 세트를 생성하는 단계는, 상기 복수의 차량 데이터에 기초하여 복수의 상기 인증 데이터, 복수의 상기 IUMPR 데이터, 및 복수의 상기 차량 성능 데이터를 상기 CAL ID 별로 분류하여 상기 복수의 데이터 세트를 생성하고, 상기 인증용 OTA 차량 데이터를 생성하는 단계는, 상기 복수의 데이터 세트 각각에 대한 평균 및 표준편차를 계산하고 상기 계산된 평균 및 표준편차를 상기 CAL ID와 매핑하여 상기 인증용 OTA 차량 데이터를 생성할 수 있다.
상기 OTA 서비스가 수행되는지 여부를 판단하는 단계는, 미리 설정된 조건이 만족되거나 또는 상기 자동차로부터 상기 소프트웨어 업데이트 요청이 있으면, 상기 ECU에 대한 소프트웨어 최신 버전 정보를 포함하는 ECU 업데이트 정보를 상기 자동차로 전송할 수 있다.
상기 ECU에 저장된 차량 데이터를 복수의 자동차 각각으로부터 요청하여 수신하는 단계는, 상기 운전자의 소프트웨어 업데이트 선택 신호가 상기 자동차로부터 수신되면, 상기 ECU에 대한 소프트웨어 업데이트 이미지를 상기 자동차로 전송하기 전에 상기 ECU에 대한 상기 차량 데이터의 전송을 상기 자동차에 요청할 수 있다.
본 발명은, ECU에 저장된 차량 데이터를 서버로 자동 전송하여 저장함으로써 ECU의 소프트웨어를 업데이트할 때 차량 데이터가 초기화되는 것을 예방할 수 있다.
도 1은 일 실시예에 따른 차량 ECU 소프트웨어 업데이트 시스템을 설명하는 도면이다.
도 2는 도 1의 자동차의 기능을 설명하는 도면이다.
도 3은 도 1의 서버의 기능을 설명하는 도면이다.
도 4는 일 실시예에 따라 차량 ECU 소프트웨어 업데이트 방법을 설명하는 순서도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일, 유사한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및/또는 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 일 실시예에 따른 차량 ECU 소프트웨어 업데이트 시스템을 설명하는 도면이고, 도 2는 도 1의 자동차의 기능을 설명하는 도면이고, 도 3은 도 1의 서버의 기능을 설명하는 도면이다.
도 1을 참고하면, 차량 ECU 소프트웨어 업데이트 시스템(1)은, 자동차(100) 및 서버(200)를 포함한다.
복수의 자동차(100_1-100_n) 각각은 무선 통신 네트워크를 통해 서버(200)와 통신하여 해당 차량에 구비된 복수의 ECU(Electronic Control Units)의 소프트웨어 업데이트를 수행할 수 있다.
자동차(100) 및 서버(200) 간의 데이터의 전송을 위한 무선 통신 네트워크는, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA1000(Code Division Multi Access 1000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등이 있을 수 있으나, 본 발명은 이에 한정되지 아니한다.
도 2를 참고하면, 자동차(100)는 복수의 ECU(1-N; 10), 디스플레이 유닛(20), 모뎀(30), 및 메모리(40)를 포함할 수 있다.
자동차(100)는 다양한 기능을 제공하는 소프트웨어가 탑재된 복수의 ECU(1-N; 10)를 포함할 수 있다. 예를 들어, 자동차(100)는 엔진을 제어하는 엔진 ECU, 브레이크를 제어하는 브레이크 ECU, 변속기를 제어하는 변속기 ECU 등 복수의 ECU(1-N; 10)을 구비할 수 있다. 또한, 차량 내에서 정보 또는 미디어를 제공하기 위한 인포테인먼트 장치(IVI, In Vehicle Infortainment)나 AVN(Audio Video Navigation), 경로 안내 기능을 제공하는 내비게이션 단말기, 사고와 같은 긴급상황 발생 시 콜센터나 관계 기관으로 바로 긴급상황을 전달하는 긴급콜(eCall) 기능이나 SOS기능을 제공하는 단말기 등도, 각각 하나의 ECU(10)에 해당할 수 있다. 이러한 ECU(10) 각각에는 해당 기능을 구현하기 위한 소프트웨어가 탑재되며, ECU(10) 소프트웨어는 에러 수정이나 기능 개선 등을 위해 업데이트가 필요할 수 있다.
ECU(10), 예를 들어, 엔진 ECU는, 인증 데이터(record identification data), IUMPR(In-Use Monitor Performance Ratio) 데이터, 및 차량 성능 데이터(vehicle tracking data) 등의 차량 데이터를 메모리(40)에 저장할 수 있다. 실시예에 따라, ECU(10)는, 소프트웨어 업데이트가 수행되는 시점에 동기되어, 메모리(40)에 저장된 차량 데이터를 모뎀(30)을 통해 서버(200)에 전송할 수 있다. 또한, 차량 데이터가 저장되는 장소는, 메모리(40)에 한정되는 것은 아니며, ECU(10)에 구비된 개별 메모리(미도시)에 저장될 수 있다.
디스플레이 유닛(20)은, ECU의 소프트웨어 업데이트 관련 운전자 인터페이스(UI, User Interface)의 화면에 표시할 수 있다. 예를 들어, 디스플레이 유닛(20)은, 차량 내의 인포테인먼트 시스템이나 AVN 등에 구비되어 본 발명의 일 실시예에 따른 기능을 수행할 수 있으나, 본 발명은 이에 한정되지 아니하며, 그 이외의 차량 내 장치 또는 별도의 장치로 구현될 수도 있다.
예를 들어, AVN 장치는 차량에 구비되어, 오디오(Audio), 비디오(Video) 및 내비게이션(Navigation) 기능을 통합하여 하나의 유닛으로 제공하며, AVN 장치 또한 차량용 소프트웨어를 탑재하여 오디오, 비디오 및 내비게이션 기능을 통합적으로 수행 가능하다.
디스플레이 유닛(20)은, 차량의 시동 시, 차량의 운행 중 일정 주기로, 또는 운전자의 요청이 있는 경우 차량에 구비된 복수의 ECU(1-N; 10) 각각에 대한 소프트웨어 최신 버전 정보와 업데이트 중요도 정보를 포함하는 ECU 업데이트 정보를 모뎀(30)을 통해 서버(200)에 요청할 수 있다. 예를 들어, 디스플레이 유닛(20)은, 복수의 ECU(1-N; 10) 중 운전자가 선택한 ECU(10)에 대한 ECU 업데이트 정보 조회를 요청할 수 있다.
모뎀(30)은, 무선 통신 네트워크를 통해 서버(200)와 통신할 수 있다. 모뎀(30)은, 복수의 ECU(1-N; 10) 각각에 대한 ECU 업데이트 정보를 무선 통신 네트워크를 통해 서버(200)로부터 수신할 수 있다. 실시예에 따라, 모뎀(30)은, 소프트웨어 업데이트의 대상인 ECU(10)에 저장된 차량 데이터를 서버(200)로 전송할 수 있다.
도 2에서는 모뎀(30)이 디스플레이 유닛(20)을 통해 복수의 ECU(1-N; 10)로 데이터를 전달하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 아니하며 모뎀(30)은 차량 내 통신 네트워크, 예를 들어 CAN 통신망을 통해 ECU 소프트웨어 업데이트 이미지 등과 같은 데이터를 복수의 ECU(1-N; 10) 각각으로 직접 전달할 수 있다.
메모리(40)는, 모뎀(30)을 통해 서버(200)로부터 전송된 복수의 ECU(1-N; 10) 각각에 대한 ECU 업데이트 정보를 저장할 수 있다. 메모리(40)는 S램(S-RAM), D랩(D-RAM) 등의 휘발성 메모리뿐만 아니라 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read Only Memory: EEPROM) 등의 비휘발성 메모리를 포함할 수 있다.
예를 들어, 디스플레이 유닛(20)은, 복수의 ECU(1-N; 10) 중 적어도 하나에 대해, 메모리(40)에 저장된 소프트웨어 최신 버전 정보와 해당 ECU(10)의 소프트웨어 현재 버전 정보를 비교하여, 해당 ECU(10)의 소프트웨어가 최신 버전인지 여부를 확인할 수 있다. 이때, ECU 소프트웨어 최신 버전 정보는 ECU별 업데이트 정보에 포함되어 서버(200)로부터 수신된 것이고, ECU 소프트웨어 현재 버전 정보는 차량의 시동 시에 해당 ECU(10)로부터 수집된 것일 수 있다. 비교 결과 버전 정보가 서로 상이한 경우, 즉 해당 ECU(10)의 소프트웨어가 최신 버전이 아닌 경우, 해당 ECU(10)의 소프트웨어 업데이트와 관련된 운전자 인터페이스(UI, User Interface)의 화면 표시 여부 및 표시 시점 중 적어도 하나를 업데이트 중요도 정보에 따라 결정할 수 있다. 이때, 업데이트 중요도 정보는, 서버(200)로부터 수신된 ECU별 업데이트 정보에 포함된 것으로, 해당 ECU 소프트웨어 최신 버전의 업데이트에 대한 중요도를 나타낼 수 있다.
디스플레이 유닛(20)은, 결정 결과에 따라 ECU 소프트웨어 업데이트를 위한 운전자 인터페이스(UI)를 화면에 표시하며, 운전자는 화면에 표시된 운전자 인터페이스(UI)를 이용하여 해당 ECU(10)에 대한 소프트웨어 업데이트와 관련된 다양한 정보를 제공받고 그에 따른 입력을 수행할 수 있다. 디스플레이 유닛(20)의 화면에 표시된 운전자 인터페이스(UI)를 통해 ECU에 대한 소프트웨어 업데이트가 선택되는 경우, 모뎀(30)은 해당 ECU(10)에 대한 소프트웨어 업데이트 이미지를 서버(200)로부터 수신하여 해당 ECU(10)로 전달할 수 있다.
서버(200)는, 미리 설정된 조건이 만족하거나 또는 자동차(100)로부터 소프트웨어 업데이트 요청이 있으면 자동차(100)에 구비된 차량 ECU 소프트웨어 업데이트를 수행한다. 실시예에 따라, 서버(200)는, 차량 ECU 소프트웨어 업데이트를 실행하기 전에, 자동차(100)로부터 차량 데이터를 수신하여 저장할 수 있다.
도 3을 참고하면, 서버(200)는, 서버 통신부(210), 서버 메모리(220), 및 프로세서(230)를 포함할 수 있다.
서버 통신부(210)는 무선 통신 네트워크를 통해 복수의 자동차(100_1-100_N) 각각의 모뎀(30)과 통신할 수 있다. 서버 통신부(210)는 자동차(100)에 구비된 복수의 ECU(1-N; 10) 각각에 대한 ECU 업데이트 정보를 무선 통신 네트워크를 통해 모뎀(30)으로 전송할 수 있다. 실시예에 따라, 서버 통신부(210)는, 소프트웨어 업데이트의 대상인 ECU(10)에 저장된 차량 데이터를 모뎀(30)으로부터 수신할 수 있다.
서버 메모리(220)는, 서버(200)의 적어도 하나의 구성요소에 관계된 명령 또는 데이터가 저장된다. 예를 들어, 서버 메모리(220)는 비휘발성 메모리, 휘발성 메모리, 플래시 메모리(flash-memory), 하드디스크 드라이브(HDD), 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 서버 메모리(220)는 프로세서(230)에 의해 액세스되며, 프로세서(230)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(220), 프로세서(230) 내 롬(미도시), 램(미도시) 또는 서버(200)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
서버 메모리(220)는, 서버 통신부(210)를 통해 복수의 자동차(100_1-100_N)로부터 전송된 차량 데이터가 저장된다. 또한, 서버 메모리(220)는, 프로세서(230)에 의해 계산되거나 분석된 인증용 OTA 차량 데이터가 저장될 수 있다. 예를 들어, 서버(200)는, 차량 데이터 및 인증용 OTA 차량 데이터가 저장되는 데이터 베이스(DB)(미도시)를 추가로 포함할 수 있다. 이때, 인증용 OTA 차량 데이터는, 소프트웨어 정보(CAL ID) 별로 분류된 차량 데이터 세트에 대한 평균 및 표준편차 계산으로 산출될 수 있다.
프로세서(230)는, 서버 통신부(210) 및 서버 메모리(220)와 전기적으로 연결되어 서버(200)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 프로세서(230)는, 차량 ECU의 소프트웨어를 업데이트할 때, 업데이트 대상 ECU에 저장된 차량 데이터를 서버 통신부(210)를 통해 수신하여 서버 메모리(220)에 저장하고, 차량 데이터에 기초한 인증용 OTA 차량 데이터를 생성할 수 있다. 이후, 프로세서(230)는, 인증기관에 인증용 OTA 차량 데이터를 서버 통신부(210)를 통해 전송할 수 있다.
도 4는 일 실시예에 따라 차량 ECU 소프트웨어 업데이트 방법을 설명하는 순서도이다.
도 1 내지 도 4를 참고하여, 차량 ECU 소프트웨어 업데이트 장치 및 방법을 설명한다.
우선, 서버(200)는, ECU(10)에 대한 운전자의 소프트웨어 업데이트 선택 신호가 수신되어 무선 통신 방식의 소프트웨어 업데이트 서비스인 OTA(Over The Air) 서비스가 수행되는지 여부를 판단한다(S101).
자동차(100)는, 차량의 시동 시, 차량의 운행 중 일정 주기로, 또는 운전자의 요청이 있는 경우 차량에 구비된 복수의 ECU(1-N; 10) 각각에 대한 소프트웨어 최신 버전 정보와 업데이트 중요도 정보를 포함하는 ECU 업데이트 정보를 서버(200)에 요청할 수 있다. 예를 들어, 자동차(100)는, 복수의 ECU(1-N; 10) 중 운전자가 선택한 ECU(10)에 대한 ECU 업데이트 정보 조회를 요청할 수 있다.
서버(200)는, 미리 설정된 조건이 만족되거나 또는 자동차(100)로부터 소프트웨어 업데이트 요청이 있으면, 자동차(100)로 ECU 업데이트 정보를 전송한다. 이때, 자동차(100)는, 소프트웨어의 식별 정보인 소프트웨어 정보(Calibration Identification: 이하, CAL ID)를 기초로 소프트웨어 최신 버전 정보와 ECU(10)의 소프트웨어 현재 버전 정보를 비교하여, ECU(10)의 소프트웨어가 최신 버전인지 여부를 확인할 수 있다.
자동차(100)는, ECU(10)의 소프트웨어 업데이트를 위한 운전자 인터페이스(UI)를 디스플레이 유닛(20)의 화면에 표시한다. 운전자는 화면에 표시된 운전자 인터페이스(UI)를 이용하여 해당 ECU(10)에 대한 소프트웨어 업데이트와 관련된 다양한 정보를 제공받고 그에 따른 입력을 수행할 수 있다. 디스플레이 유닛(20)의 화면에 표시된 운전자 인터페이스(UI)를 통해 ECU에 대한 소프트웨어 업데이트가 선택되는 경우, ECU(10)에 대한 운전자의 소프트웨어 업데이트 선택 신호는 모뎀(30)을 통해 서버(200)로 전송될 수 있다.
이후, 서버(200)는, 운전자의 소프트웨어 업데이트 선택 신호가 자동차(100)로부터 수신되면, 해당 ECU(10)에 대한 소프트웨어 업데이트 이미지를 자동차(100)로 전송하여 OTA 서비스를 제공할 수 있다. 이때, OTA 서비스는 무선 통신 방식에 의한 차량 ECU에 대한 소프트웨어 업데이트 서비스이다.
다음으로, OTA 서비스가 수행되는 것으로 판단되면(S101, Yes), 서버(200)는, 소프트웨어 업데이트 대상인 ECU(10)의 차량 데이터를 자동차(100)에 요청하여 수신한다(S102).
ECU(100)의 소프트웨어가 업데이트되면 ECU(100)에 저장된 각종 차량 데이터들이 초기화되므로, 서버(200)는, 소프트웨어 업데이트 이미지를 자동차(100)로 전송하기 전에 차량 데이터를 우선 수신하거나 또는, 소프트웨어 업데이트 이미지를 전송하면서 자동차(100)에 차량 데이터를 요청할 수 있다. 이때, 차량 데이터는, 인증 데이터(record identification data), IUMPR(In-Use Monitor Performance Ratio) 데이터, 및 차량 성능 데이터(vehicle tracking data) 중 적어도 하나를 포함할 수 있다.
인증 데이터는, 자동차 모델 연도 정보(model year data), OBD(On-Board Diagnosis) 인증번호, OTA 이벤트 정보 등의 ECU 고유 사양정보를 포함할 수 있다. 이때, OTA 이벤트 정보는 소프트웨어 정보(CAL ID)를 포함할 수 있다.
IUMPR는, 북미 On-Board Diagnosis 항목에 대한 진단율 정보이다. IUMPR는, 법규적으로 정의한 진단 항목에 대해서 차량 주행 시 얼마나 자주 진단이 이루어 지는지를 지수로 표시한 것으로, 분모는 주행회수 분자는 진단 횟수를 지시할 수 있다.
차량 성능 데이터는, 연료 소모율과 주행시간에 대한 정보를 포함할 수 있다.
다음으로, 서버(200)는, 특정 ECU(10)에 대한 OTA 서비스의 제공이 결정된 시점부터 소정 기간이 경과하였는지 여부를 판단한다(S103).
특정 ECU(10), 예를 들어, 엔진 ECU(10)에 대한 OTA 서비스 제공이 결정된 후, 서버(200)는, 동종 모델의 복수의 자동차(100_1-100_n)로 ECU 업데이트 정보를 전송할 수 있다. 따라서, 서버(200)는, 복수의 자동차(100_1-100_n) 각각으로부터 차량 데이터가 수신될 때까지 소정 기간을 카운팅 한다. OTA 서비스는 복수의 자동차(100_1-100_n) 운전자들의 ECU에 대한 소프트웨어 업데이트에 대한 개별 선택이 필요할 수 있다. 이때, 소정기간은, 동종 모델의 복수의 자동차(100_1-100_n)로부터 차량 데이터가 모두 수신될 때까지 기간을 포함할 수 있다.
다음으로, 서버(200)는, 차량 데이터에 포함된 소프트웨어 정보(CAL ID)를 확인하여 데이터 분류 대상 소프트웨어 정보(CAL ID)에 해당하는지 여부를 확인한다(S104). 이때, 소프트웨어 정보(CAL ID)는, ECU에 대한 소프트웨어 식별 정보를 지시할 수 있다.
다음으로, 데이터 분류 대상 소프트웨어 정보(CAL ID)에 해당하지 않으면(S104, No), 서버(200)는, 차량 데이터를 분류하지 않고 종결한다. 예를 들어, 데이터 분류 대상 소프트웨어 정보(CAL ID)는, 제1 내지 제4 CAL ID이고, 판단 대상 소프트웨어 정보(CAL ID)는 제 5 CAL ID인 경우, 서버(200)는, 차량 데이터를 분류하지 않고 종결한다.
다음으로, 데이터 분류 대상 소프트웨어 정보(CAL ID)에 해당하면(S104, Yes), 서버(200)는, 소프트웨어 정보(CAL ID) 별로 차량 데이터를 분류하여 복수의 데이터 세트를 생성한다(S105).
서버(200)는, 데이터 분류 대상 소프트웨어 정보(CAL ID)가 제1 내지 제4 CAL ID이면, 복수의 자동차(100_1-100_n)으로부터 수신한 차량 데이터를 제1 내지 제4 CAL ID 별로 분류하여 복수의 데이터 세트를 생성한다. 예를 들어, 50대 자동차(100_1-100_50)으로부터 제1 CAL ID에 대응하는 차량 데이터가 수신되고, 20대 자동차(100_1-100_20)으로부터 제2 CAL ID에 대응하는 차량 데이터가 수신되었다고 가정하자. 서버(200)는, 각각 50개의 데이터로 구성되는 제1 CAL ID-인증 데이터 세트, 제1 CAL ID-IUMPR 세트, 및 제1 CAL ID-차량 성능 데이터 세트를 포함하는 제1 CAL ID에 대한 복수의 데이터 세트를 생성할 수 있다. 또한, 서버(200)는, 각각 20개의 데이터로 구성되는 제2 CAL ID-인증 데이터 세트, 제2 CAL ID-IUMPR 세트, 및 제2 CAL ID-차량 성능 데이터 세트를 포함하는 제2 CAL ID에 대한 복수의 데이터 세트를 생성할 수 있다.
다음으로, 서버(200)는, 소프트웨어 정보(CAL ID) 별로 분류된 복수의 데이터 세트 각각에 대한 평균 및 표준편차 중 적어도 하나를 산출하고 소프트웨어 정보(CAL ID)와 매핑하여 인증용 OTA 차량 데이터를 생성한다(S106). 이후, 서버(200)는, 메모리(220)에 저장된 인증용 OTA 차량 데이터를 인증기관에 제출할 수 있다.
예를 들어, 서버(200)는, 50개의 데이터로 구성되는 제1 CAL ID-인증 데이터 세트에 대한 평균 및 표준편차, 50개의 데이터로 구성되는 제1 CAL ID-IUMPR 세트에 대한 평균 및 표준편차, 그리고 50개의 데이터로 구성되는 제1 CAL ID-차량 성능 데이터 세트에 대한 평균 및 표준편차를 각각 구할 수 있다. 실시예에 따라, 서버(200)는, 제1 CAL ID-인증 데이터 세트, 제1 CAL ID-IUMPR 세트, 및 제1 CAL ID-차량 성능 데이터 세트 각각에 대한 평균 및 표준편차를 소프트웨어 정보(제1 CAL ID)와 매핑하여 메모리(220)에 저장할 수 있다.
또한, 서버(200)는, 20개의 데이터로 구성되는 제2 CAL ID-인증 데이터 세트에 대한 평균 및 표준편차, 20개의 데이터로 구성되는 제2 CAL ID-IUMPR 세트에 대한 평균 및 표준편차, 그리고 20개의 데이터로 구성되는 제2 CAL ID-차량 성능 데이터 세트에 대한 평균 및 표준편차를 각각 구할 수 있다. 실시예에 따라, 서버(200)는, 제2 CAL ID-인증 데이터 세트, 제2 CAL ID-IUMPR 세트, 및 제2 CAL ID-차량 성능 데이터 세트 각각에 대한 평균 및 표준편차를 소프트웨어 정보(제2 CAL ID)와 매핑하여 메모리(220)에 저장할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.

Claims (8)

  1. 자동차에 구비된 ECU(Electronic Control Units)의 소프트웨어 업데이트를 수행하는 장치에 있어서,
    상기 소프트웨어 업데이트 수행 대상인 상기 ECU에 저장된 차량 데이터를 복수의 자동차 각각으로부터 수신하는 서버 통신부,
    상기 수신된 복수의 차량 데이터가 저장되는 서버 메모리, 그리고
    상기 저장된 복수의 차량 데이터에 기초하여 상기 소프트웨어의 식별 정보인 CAL ID(Calibration Identification) 별로 인증용 OTA(Over The Air) 차량 데이터를 생성하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 복수의 차량 데이터를 상기 CAL ID 별로 분류하여 복수의 데이터 세트를 생성하고, 상기 복수의 데이터 세트 각각의 평균 및 표준편차 중 적어도 하나를 산출하여 상기 인증용 OTA 차량 데이터를 생성하는, ECU 업데이트 장치.
  2. 제1항에 있어서,
    상기 차량 데이터는,
    상기 CAL ID를 포함하는 인증 데이터, OBD(On-Board Diagnosis) 항목에 대한 진단율 정보인 IUMPR(In-Use Monitor Performance Ratio) 데이터, 및 차량 성능 데이터 중 적어도 하나를 포함하고,
    상기 프로세서는,
    상기 복수의 차량 데이터에 기초하여 복수의 상기 인증 데이터, 복수의 상기 IUMPR 데이터, 및 복수의 상기 차량 성능 데이터를 상기 CAL ID 별로 분류하여 상기 복수의 데이터 세트를 생성하고, 상기 복수의 데이터 세트 각각에 대한 평균 및 표준편차를 계산하고, 상기 계산된 평균 및 표준편차를 상기 CAL ID와 매핑하여 상기 인증용 OTA 차량 데이터를 생성하는, ECU 업데이트 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    미리 설정된 조건이 만족되거나 또는 상기 자동차로부터 상기 소프트웨어 업데이트 요청이 있으면, 상기 서버 통신부를 통해 상기 ECU에 대한 소프트웨어 최신 버전 정보를 포함하는 ECU 업데이트 정보를 상기 자동차로 전송하고,
    운전자의 소프트웨어 업데이트 선택 신호가 상기 자동차로부터 수신되면, 상기 ECU에 대한 소프트웨어 업데이트 이미지를 상기 자동차로 전송하여 무선 통신 방식의 소프트웨어 업데이트 서비스인 OTA 서비스를 제공하는, ECU 업데이트 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 운전자의 소프트웨어 업데이트 선택 신호가 상기 자동차로부터 수신되면, 상기 ECU에 대한 소프트웨어 업데이트 이미지를 상기 자동차로 전송하기 전에 상기 ECU에 대한 상기 차량 데이터의 전송을 상기 자동차에 요청하는, ECU 업데이트 장치.
  5. 자동차에 구비된 ECU(Electronic Control Units)의 소프트웨어 업데이트를 수행하는 방법에 있어서,
    운전자의 소프트웨어 업데이트 선택 신호가 상기 자동차로부터 수신되어 무선 통신 방식의 소프트웨어 업데이트 서비스인 OTA(Over The Air) 서비스가 수행되는지 여부를 판단하는 단계,
    상기 판단결과에 따라 상기 소프트웨어의 업데이트 수행 대상인 상기 ECU에 저장된 차량 데이터를 복수의 자동차 각각으로부터 요청하여 수신하는 단계,
    상기 복수의 차량 데이터를 상기 소프트웨어의 식별 정보인 CAL ID(Calibration Identification) 별로 분류하여 복수의 데이터 세트를 생성하는 단계, 그리고,
    상기 복수의 데이터 세트 각각의 평균 및 표준편차 중 적어도 하나를 산출하여 상기 CAL ID 별로 인증용 OTA 차량 데이터를 생성하는 단계를 포함하는, ECU 업데이트 방법.
  6. 제5항에 있어서,
    상기 차량 데이터는,
    상기 CAL ID를 포함하는 인증 데이터, OBD(On-Board Diagnosis) 항목에 대한 진단율 정보인 IUMPR(In-Use Monitor Performance Ratio) 데이터, 및 차량 성능 데이터 중 적어도 하나를 포함하고,
    상기 복수의 데이터 세트를 생성하는 단계는,
    상기 복수의 차량 데이터에 기초하여 복수의 상기 인증 데이터, 복수의 상기 IUMPR 데이터, 및 복수의 상기 차량 성능 데이터를 상기 CAL ID 별로 분류하여 상기 복수의 데이터 세트를 생성하고,
    상기 인증용 OTA 차량 데이터를 생성하는 단계는,
    상기 복수의 데이터 세트 각각에 대한 평균 및 표준편차를 계산하고 상기 계산된 평균 및 표준편차를 상기 CAL ID와 매핑하여 상기 인증용 OTA 차량 데이터를 생성하는, ECU 업데이트 방법.
  7. 제6항에 있어서,
    상기 OTA 서비스가 수행되는지 여부를 판단하는 단계는,
    미리 설정된 조건이 만족되거나 또는 상기 자동차로부터 상기 소프트웨어 업데이트 요청이 있으면, 상기 ECU에 대한 소프트웨어 최신 버전 정보를 포함하는 ECU 업데이트 정보를 상기 자동차로 전송하는, ECU 업데이트 방법.
  8. 제7항에 있어서,
    상기 ECU에 저장된 차량 데이터를 복수의 자동차 각각으로부터 요청하여 수신하는 단계는,
    상기 운전자의 소프트웨어 업데이트 선택 신호가 상기 자동차로부터 수신되면, 상기 ECU에 대한 소프트웨어 업데이트 이미지를 상기 자동차로 전송하기 전에 상기 ECU에 대한 상기 차량 데이터의 전송을 상기 자동차에 요청하는, ECU 업데이트 방법.

KR1020200052364A 2020-04-29 2020-04-29 차량 ecu 소프트웨어 업데이트 장치 및 방법 KR20210133587A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200052364A KR20210133587A (ko) 2020-04-29 2020-04-29 차량 ecu 소프트웨어 업데이트 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200052364A KR20210133587A (ko) 2020-04-29 2020-04-29 차량 ecu 소프트웨어 업데이트 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20210133587A true KR20210133587A (ko) 2021-11-08

Family

ID=78497028

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200052364A KR20210133587A (ko) 2020-04-29 2020-04-29 차량 ecu 소프트웨어 업데이트 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20210133587A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102561411B1 (ko) 2022-11-30 2023-07-31 펜타시큐리티시스템 주식회사 Oma-dm 표준 확장 구조를 이용하는 ota 기반 차량 긴급 업데이트 알림 배포 방법 및 장치
CN116620331A (zh) * 2023-07-19 2023-08-22 禾多科技(北京)有限公司 车辆控制方法、装置、电子设备和计算机可读介质
CN116700808A (zh) * 2023-06-26 2023-09-05 中国第一汽车股份有限公司 一种eol配置码处理方法、系统、电子设备和存储介质
KR102585388B1 (ko) 2022-11-30 2023-10-23 펜타시큐리티 주식회사 차량 ota 업데이트의 효율성 향상을 위한 oma-dm 프로토콜의 메시지 노드 확장 방법 및 이를 이용하는 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102561411B1 (ko) 2022-11-30 2023-07-31 펜타시큐리티시스템 주식회사 Oma-dm 표준 확장 구조를 이용하는 ota 기반 차량 긴급 업데이트 알림 배포 방법 및 장치
KR102585388B1 (ko) 2022-11-30 2023-10-23 펜타시큐리티 주식회사 차량 ota 업데이트의 효율성 향상을 위한 oma-dm 프로토콜의 메시지 노드 확장 방법 및 이를 이용하는 장치
CN116700808A (zh) * 2023-06-26 2023-09-05 中国第一汽车股份有限公司 一种eol配置码处理方法、系统、电子设备和存储介质
CN116700808B (zh) * 2023-06-26 2024-05-14 中国第一汽车股份有限公司 一种eol配置码处理方法、系统、电子设备和存储介质
CN116620331A (zh) * 2023-07-19 2023-08-22 禾多科技(北京)有限公司 车辆控制方法、装置、电子设备和计算机可读介质
CN116620331B (zh) * 2023-07-19 2023-10-13 禾多科技(北京)有限公司 车辆控制方法、装置、电子设备和计算机可读介质

Similar Documents

Publication Publication Date Title
JP6722198B2 (ja) モバイル支援型自動車ソフトウェア・アップデート及び車両データ分析の集中管理システム
KR20210133587A (ko) 차량 ecu 소프트웨어 업데이트 장치 및 방법
US20140074318A1 (en) Vehicle information processing system and method
KR102154542B1 (ko) 차량 ecu 소프트웨어 업데이트 시스템
US20150186548A1 (en) System and method for acquiring data of electronic control unit
US20140297110A1 (en) In-vehicle relay apparatus and communication system
DE102016106802A1 (de) Fahrzeugsteuerungsspeichermethoden und -systeme
US20100138080A1 (en) Remote management of vehicle modules based on geographic location
US10272923B2 (en) Driver-centric learning
CN111176695A (zh) 一种车辆ecu配置的方法、服务器及终端
WO2020059033A1 (ja) 車載装置、更新決定方法及び更新決定プログラム
CN112015489A (zh) 一种车载软件的管理方法、装置、存储介质及系统
US11445059B2 (en) Method and apparatus for an adaptive mobile device vehicle control application
DE102017107795A1 (de) Fahrzeugcomputersystem zum autorisieren von versicherungs- und zulassungsbescheinigungen
US20220308857A1 (en) Control device and terminal device
US20190121798A1 (en) Updating a Digital Map
KR102064519B1 (ko) 차량 ecu 소프트웨어 업데이트 방법, 그를 수행하기 위한 장치 및 시스템
KR102497357B1 (ko) 차량 및 차량의 제어방법
DE102016201940B4 (de) Verfahren, Vorrichtung und Computerprogramm zur Auswahl einer Applikation
KR102275142B1 (ko) 차량용 제어기의 업데이트 시스템 및 방법
JP2017123060A (ja) 車両情報書込装置
US20190108356A1 (en) Method for managing collected transportation vehicle data
US20150235482A1 (en) Method for providing data associated with a vehicle
Kim et al. Compare of vehicle management over the air and on-board diagnostics
JP7419287B2 (ja) 車両プログラム更新管理システム、及び車両プログラム更新管理方法