KR-20260061969-A - Vehicle Control Unit Capable of Installing Third-Party Software and Service Provision Method Using the Same
Abstract
본 발명은 차량용 서드파티 소프트웨어 설치가 가능한 제어기 및 이를 이용한 서비스 제공 방법에 관한 것으로서, 상기 차량용 서드파티 소프트웨어 설치가 가능한 제어기는 하드웨어를 제어하기 위한 어플리케이션이 저장되는 메모리와, 소프트웨어 플랫폼을 이용하여 상기 메모리에 저장된 어플리케이션을 실행하여 상기 하드웨어의 작동을 제어하는 프로세서를 구비하고, 상기 메모리는 기설정된 기본 기능을 수행하도록 상기 하드웨어를 제어하기 위한 기등록된 레거시 어플리케이션이 저장된 레거시 저장 슬롯과, 상기 기본 기능과 상이한 추가 기능을 수행할 수 있게 상기 하드웨어를 제어하기 위한 서드파티 어플리케이션이 저장될 수 있는 서드파티 저장 슬롯을 포함한다. 본 발명에 따른 차량용 서드파티 소프트웨어 설치가 가능한 제어기 및 이를 이용한 서비스 제공 방법은 제어기의 메모리에, 서드파티 어플리케이션을 설치하기 위한 슬롯을 미리 마련하여 차량의 제어기에 서드파티 어플리케이션을 설치하고 독립적으로 실행할 수 있도록 함으로써, 새로운 기능을 유연하게 추가하거나 확장할 수 있는 환경을 제공하므로 기존 시스템의 안정성을 유지하면서 다양한 소프트웨어를 실행할 수 있다는 장점이 있다.
Inventors
- 서석현
Assignees
- 한국공학대학교산학협력단
Dates
- Publication Date
- 20260506
- Application Date
- 20241028
Claims (15)
- 차량에 설치된 하드웨어의 작동을 제어하는 제어기에 있어서, 상기 하드웨어를 제어하기 위한 어플리케이션이 저장되는 메모리; 및 소프트웨어 플랫폼을 이용하여 상기 메모리에 저장된 어플리케이션을 실행하여 상기 하드웨어의 작동을 제어하는 프로세서;를 구비하고, 상기 메모리는 기설정된 기본 기능을 수행하도록 상기 하드웨어를 제어하기 위한 기등록된 레거시 어플리케이션이 저장된 레거시 저장 슬롯과, 상기 기본 기능과 상이한 추가 기능을 수행할 수 있게 상기 하드웨어를 제어하기 위한 서드파티 어플리케이션이 저장될 수 있는 서드파티 저장 슬롯을 포함하는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기.
- 제1항에 있어서, 상기 프로세서는 상기 메모리에 저장된 레거시 어플리케이션과 서드파티 어플리케이션을 상호 독립적으로 실행시키는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기.
- 제1항에 있어서, 상기 서드파티 어플리케이션은 상기 메모리의 서드파티 저장 슬롯에 바이너리 형태로 저장되는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기.
- 제1항에 있어서, 상기 메모리는 다수의 상기 서드파티 저장 슬롯이 마련되고, 상기 서드파티 어플리케이션은 상기 서드파티 저장 슬롯 중 기설정된 속성 정보에 대응되는 서드파티 저장 슬롯에 저장되는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기.
- 제4항에 있어서, 상기 속성 정보는 상기 서드파티 어플리케이션의 실행주기, 메모리 시작 위치, 메모리 크기, 정보를 송수신하기 위한 통신 정보, 전자 서명 정보를 포함하는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기.
- 제5항에 있어서, 상기 프로세서는 상기 서드파티 저장 슬롯에, 상기 서드파티 어플리케이션이 설치시 해당 서드파티 어플리케이션의 전자 서명을 검증하여 해당 서드파티 어플리케이션의 위변조 여부를 판별하고, 상기 서드파티 어플리케이션이 위변조된 것으로 판별되면 상기 서드파티 어플리케이션을 미실행시키거나 상기 메모리에서 삭제하는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기.
- 제1항에 있어서, 무선 통신망을 이용하여 사용자 또는 관리서버로부터 상기 서드파티 어플리케이션 또는 해당 서드파티 어플리케이션을 업데이트하기 위한 업데이트 데이터를 수신할 수 있는 통신모듈;을 더 구비하고, 상기 프로세서는 상기 통신모듈에서 수신된 서드파티 어플리케이션을 상기 메모리에 저장하거나 상기 업데이트 데이터를 이용하여 상기 서드파티 어플리케이션을 업데이트하는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기.
- 차량에 설치된 하드웨어가 기설정된 기본 기능과 상이한 추가 기능을 수행할 수 있도록 상기 하드웨어를 제어하기 위한 서드파티 어플리케이션이, 상기 하드웨어의 제어기에 설치되는 어플리케이션 설치단계; 및 상기 제어기가, 사용자로부터 수신된 상기 추가 기능에 대한 작동 신호에 대응되게 상기 하드웨어가 작동되도록 상기 서드파티 어플리케이션을 실행시키는 실행단계;를 포함하고, 상기 제어기는 상기 기본 기능을 수행하도록 상기 하드웨어를 제어하기 위한 기등록된 레거시 어플리케이션이 자장된 레거시 저장 슬롯과, 상기 서드파티 어플리케이션이 저장될 수 있는 서드파티 저장 슬롯이 마련된 메모리를 구비하는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기를 이용한 서비스 제공 방법.
- 제8항에 있어서, 상기 어플리케이션 설치단계에서는, 상기 메모리의 서드파티 저장 슬롯들 중 상기 서드파티 어플리케이션에 기설정된 속성 정보에 대응되는 서드파티 저장 슬롯에, 해당 서드파티 어플리케이션이 저장되는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기를 이용한 서비스 제공 방법.
- 제9항에 있어서, 상기 속성 정보는 상기 서드파티 어플리케이션의 실행주기, 메모리 시작 위치, 메모리 크기, 정보를 송수신하기 위한 통신 정보, 전자 서명을 포함하는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기를 이용한 서비스 제공 방법.
- 제10항에 있어서, 상기 어플리케이션 설치단계에서, 상기 제어기의 프로세서는 상기 서드파티 어플리케이션이 설치시 해당 서드파티 어플리케이션의 전자 서명을 검증하여 해당 서드파티 어플리케이션의 위변조 여부를 판별하고, 상기 서드파티 어플리케이션이 위변조된 것으로 판별되면 상기 서드파티 어플리케이션을 미실행시키거나 상기 메모리에서 삭제하는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기를 이용한 서비스 제공 방법.
- 제8항에 있어서, 상기 실행단계에서, 상기 제어기의 프로세서는 상기 서드파티 어플리케이션에 기설정된 실행주기에 대응되게 주기적으로 상기 서드파티 어플리케이션을 실행시키는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기를 이용한 서비스 제공 방법.
- 제8항에 있어서, 상기 어플리케이션 설치단계에서, 상기 제어기는 무선통신망을 이용하여 상기 서드파티 어플리케이션을 수신하고, 수신된 서드파티 어플리케이션을 상기 메모리에 설치하는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기를 이용한 서비스 제공 방법.
- 제8항에 있어서, 상기 실행단계 이후에, 상기 제어기는 무선통신망을 이용하여 상기 서드파티 어플리케이션을 업데이트하기 위한 업데이트 데이터를 수신하고, 수신된 업데이트 데이터를 이용하여 상기 서드파티 어플리케이션을 업데이트하는 업데이트 단계;를 더 포함하는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기를 이용한 서비스 제공 방법.
- 제8항에 있어서, 사용자의 단말기에, 사용자로부터 입력된 상기 작동신호를 상기 제어기에 전송하기 위한 입력 어플리케이션이 설치되는 단말기 준비단계;를 더 포함하는, 차량용 서드파티 소프트웨어 설치가 가능한 제어기를 이용한 서비스 제공 방법.
Description
차량용 서드파티 소프트웨어 설치가 가능한 제어기 및 이를 이용한 서비스 제공 방법{Vehicle Control Unit Capable of Installing Third-Party Software and Service Provision Method Using the Same} 본 발명은 차량용 서드파티 소프트웨어 설치가 가능한 제어기 및 이를 이용한 서비스 제공 방법에 관한 것으로서, 차량내 하드웨어가 추가 기능을 수행하도록 서드파티 어플리케이션을 설치할 수 있는 제어기와 이를 이용한 서비스 제공 방법에 관한 것이다. 현재 대부분의 차량은 다양한 전자제어장치(ECU)를 통해 차량의 주요 기능을 제어한다. 이러한 ECU는 차량의 엔진, 브레이크, 인포테인먼트 시스템 등 다양한 하드웨어를 제어하며, 이들 제어기는 기본적으로 레거시 어플리케이션을 이용하여 차량의 기능을 수행한다. 레거시 어플리케이션은 차량 제조사에 의해 미리 설치된 상태로 출고되며, 이는 차량의 성능을 안정적으로 유지하는 중요한 역할을 한다. 그러나 차량 소프트웨어가 고정된 상태로 출고되기 때문에, 새로운 기능을 추가하거나 업데이트하는 데 제한이 있다. 이는 빠르게 발전하는 기술 환경에서 다양한 새로운 기능을 제공하기 위한 서드파티 어플리케이션의 설치 및 실행 요구를 충족시키지 못하는 문제점을 야기한다. 특히 무선통신(OTA)을 통한 소프트웨어 업데이트가 보편화되고 있는 상황에서, 차량 소프트웨어 역시 새로운 기능을 추가하거나 수정하기 위한 유연한 시스템이 요구된다. 도 1은 본 발명에 따른 차량용 서드파티 소프트웨어 설치가 가능한 제어기를 이용한 서비스 제공 방법에 대한 개념도이고, 도 2는 도 1의 차량용 서드파티 소프트웨어 설치가 가능한 제어기에 대한 개념도이고, 도 3은 도 1의 차량용 서드파티 소프트웨어 설치가 가능한 제어기의 소프트웨어 구조에 대한 도면이고, 도 4는 도 1의 차량용 서드파티 소프트웨어 설치가 가능한 제어기의 소프트웨어 메모리 구조에 대한 도면이고, 도 5는 본 발명에 따른 차량용 서드파티 소프트웨어 설치가 가능한 제어기를 이용한 서비스 제공 방법에 대한 순서도이다. 이하, 첨부한 도면을 참조하여 본 발명의 실시예에 따른 서드파티 소프트웨어 설치가 가능한 제어기 및 이를 이용한 서비스 제공 방법에 대해 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하여 도시한 것이다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 도 1 내지 도 4에는 본 발명에 따른 차량용 서드파티 소프트웨어 설치가 가능한 제어기(100)가 도시되어 있다. 도면을 참조하면, 상기 차량용 서드파티 소프트웨어 설치가 가능한 제어기(100)는 차량에 설치된 하드웨어(10)의 작동을 제어하는 제어기(100)로서, 상기 하드웨어(10)를 제어하기 위한 어플리케이션이 저장되는 메모리(110)와, 무선 통신망을 이용하여 사용자 또는 관리서버로부터 상기 서드파티 어플리케이션 또는 해당 서드파티 어플리케이션을 업데이트하기 위한 업데이트 데이터를 수신할 수 있는 통신모듈(120)과, 소프트웨어 플랫폼을 이용하여 상기 메모리(110)에 저장된 어플리케이션을 실행하여 상기 하드웨어(10)의 작동을 제어하는 프로세서(130)를 구비한다. 여기서, 하드웨어(10)는 차량의 운행 및 사용자의 편의를 위해 차량 내에 설치되는 시스템 및 부품으로서, ABS(Anti-lock Braking System), HVAC, 인포테인먼트 시스템(AVN), BCM(Body Control Module) 등이 포함된다. 메모리(110)는 적어도 하나의 어플리케이션을 저장할 수 있도록 구현될 수 있다. 상기 메모리(110)는 휘발성 메모리 혹은 비휘발성 메모리를 포함할 수 있다. 일예로, 메모리(110)는 RAM(Random Access Memory), SRAM(Static Random Access Memory), ROM(Read-Only Memory), PROM(Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), NAND Flash memory, NOR Flash memory와 같은 저장매체를 포함할 수 있다. 한편, 메모리(110)는 도 4와 같이 기설정된 기본 기능을 수행하도록 상기 하드웨어(10)를 제어하기 위한 기등록된 레거시 어플리케이션이 저장된 레거시 저장 슬롯(111)과, 상기 기본 기능과 상이한 추가 기능을 수행할 수 있게 상기 하드웨어(10)를 제어하기 위한 서드파티 어플리케이션이 저장될 수 있는 다수의 서드파티 저장 슬롯(112)을 포함한다. 여기서, 레거시 어플리케이션은 차량의 제조시 하드웨어(10)의 제어를 위해 설치된 소프트웨어로서, 해당 하드웨어(10)가 기본 기능을 수행하도록 제어할 수 있다. 서드파티 어플리케이션은 차량의 제조 이후에, 하드웨어(10)가 새로운 추가 기능을 수행할 수 있도록 해당 하드웨어(10)를 제어하기 위한 소프트웨어이다. 그리고 서드파티 어플리케이션은 기설정된 속성 정보를 갖는다. 해당 속성 정보는 상기 서드파티 어플리케이션의 실행주기, 메모리(110) 시작 위치, 메모리(110) 크기, 정보를 송수신하기 위한 통신 정보, 전자 서명 정보 등을 포함한다. 상기 레거시 저장 슬롯(111)에는 레거시 어플리케이션과 함께, 소프트웨어 플랫폼이 저장되어 있다. 상기 소프트웨어 플랫폼은 하드웨어(10)와 소프트웨어 간의 중간 계층으로, 운영체제(OS), 라이브러리, 프레임워크, API 등을 포함하여, 특정 하드웨어(10) 환경에서 다양한 소프트웨어 애플리케이션이 효율적으로 실행될 수 있도록 지원한다. 해당 소프트웨어 플랫폼은 AUTOSAR (AUTomotive Open System ARchitecture), Adaptive Autosar, Genivi, Automotive Grade Linux, Non-OS 등이 적용된다. 서드파티 저장 슬롯(112)은 다수개가 상기 메모리(110)에 마련된다. 해당 서드파티 저장 슬롯(112)들은 각각 저장 가능 용량, 저장 위치 등이 상이하게 설정될 수 있다. 각 서드파티 저장 슬롯(112)에는 단일한 서드파티 어플리케이션이 저장될 수 있다. 서드파티 어플리케이션은 상기 서드파티 저장 슬롯(112)들 중 속성 정보에 대응되는 서드파티 저장 슬롯(112)에 저장되는 것이 바람직하다. 여기서, 서드파티 어플리케이션은 상기 메모리(110)의 서드파티 저장 슬롯(112)에 바이너리 형태로 저장된다. 이때, 서드파티 어플리케이션은 사전에 저장 가능한 저장 크기가 미리 지정되어 있고, 서드파티 저장 슬롯(112)의 저장 가능 용량이 서드파티 어플리케이션의 지정된 크기보다 작을 경우, 해당 서드파티 어플리케이션은 해당 메모리(110)의 서드파티 저장 슬롯(112)어 설치할 수 없도록 설정되는 것이 바람직하다. 또한, 제어기(100) 하드웨어(10)의 스펙에 따라 여유 메모리 공간이 상이하므로 저장 가능한 서드파티 어플리케이션의 크기와 개수는 제어기(100)에 따라 다를 수 있다. 통신모듈(120)은 무선통신망을 통해 사용자의 단말기 또는 관리서버와 통신한다. 해당 통신모듈(120)은 CAN(Controller Area Network) 통신, LIN(Local Interconnect Network) 통신, Ethernet 통신 등의 무선 통신 방식으로 통신할 수 있다. 여기서, 통신모듈(120)은 차량용 제어기(100)가 외부와 통신하기 위해 종래에 일반적으로 사용되는 통신수단이므로 상세한 설명은 생략한다. 해당 통신모듈(120)은 사용자 또는 관리서버로부터 전송된 서드파티 어플리케이션 및 해당 서드파티 어플리케이션의 업데이트를 위한 업데이트 데이터를 수신한다. 프로세서(130)는 소프트웨어 플랫폼을 이용하여 메모리(110)에 저장된 어플리케이션을 실행하여 차량 내의 하드웨어(10)를 작동시킨다. 해당 프로세서(130)는 MCU(Microcontroller Unit), DSP(Digital Signal Processor) 등이 적용되나, 이에 한정하는 것이 아니라 차량용 하드웨어(10) 제어기(100)에 적용가능한 프로세