KR20150142482A - 가상화를 이용한 차량용 avn 시스템 및 그 작동 방법 - Google Patents

가상화를 이용한 차량용 avn 시스템 및 그 작동 방법 Download PDF

Info

Publication number
KR20150142482A
KR20150142482A KR1020140071460A KR20140071460A KR20150142482A KR 20150142482 A KR20150142482 A KR 20150142482A KR 1020140071460 A KR1020140071460 A KR 1020140071460A KR 20140071460 A KR20140071460 A KR 20140071460A KR 20150142482 A KR20150142482 A KR 20150142482A
Authority
KR
South Korea
Prior art keywords
data
vehicle
unit
application
information processing
Prior art date
Application number
KR1020140071460A
Other languages
English (en)
Other versions
KR102177407B1 (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 KR1020140071460A priority Critical patent/KR102177407B1/ko
Publication of KR20150142482A publication Critical patent/KR20150142482A/ko
Application granted granted Critical
Publication of KR102177407B1 publication Critical patent/KR102177407B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R11/00Arrangements for holding or mounting articles, not otherwise provided for
    • B60R11/02Arrangements for holding or mounting articles, not otherwise provided for for radio sets, television sets, telephones, or the like; Arrangement of controls thereof
    • B60R11/0258Arrangements for holding or mounting articles, not otherwise provided for for radio sets, television sets, telephones, or the like; Arrangement of controls thereof for navigation systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 가상화 기술을 이용하여 물리적 공간을 분리하며, 분리된 공간 중 일 영역을 안드로이드 기반으로 구성하고 타 영역을 차량용으로 사용하기에 적합한 OS 기반으로 구성하는 가상화를 이용한 차량용 AVN 시스템 및 그 작동 방법을 제안한다. 본 발명에 따른 차량용 AVN 시스템은 가상화 방법을 이용하여 미리 정해진 크기의 공간을 서로 다른 OS로 운용될 적어도 두개의 영역들로 분리하는 공간 분리부; 제1 OS를 기초로 상기 영역들 중 하나인 제1 영역에서 제1 OS의 업그레이드, 어플리케이션의 다운로드 및 어플리케이션의 실행을 포함하는 정보 처리를 수행하는 제1 정보 처리부; 및 제2 OS를 기초로 상기 영역들 중 다른 하나인 제2 영역에서 차량에 장착된 기기들의 제어를 포함하는 정보 처리를 수행하는 제2 정보 처리부를 포함한다.

Description

가상화를 이용한 차량용 AVN 시스템 및 그 작동 방법 {An AVN system of a vehicle using a virtualization and an operating method of the AVN system}
본 발명은 차량용 AVN(Audio Video Navigation) 시스템 및 그 작동 방법에 관한 것이다. 보다 상세하게는, 가상화(Virtualization)를 이용한 차량용 AVN 시스템 및 그 작동 방법에 관한 것이다.
종래 AVN(Audio Video Navigation) 시스템은 안드로이드(Android) 기반의 AVN 시스템으로서, 퓨어 안드로이드(Pure Android)에 비해 프레임워크의 수정량이 많기 때문에 다음과 같은 문제점이 있다. 퓨어 안드로이드는 구글에서 공개하는 안드로이드 소스 코드에 아무런 수정도 하지 않은 상태를 의미한다.
첫째, 다운로드 어플리케이션을 통한 확장성에 많은 제약이 생긴다. 즉 종래 AVN 시스템의 구조에서는 모바일에서처럼 사용자가 원하는 다운로드 어플리케이션을 자유롭게 사용하지 못한다.
둘째, 종래 AVN 시스템을 지원하는 커스트마이즈드 안드로이드 플랫폼(Customized Android Platform)에서는 OS 버전을 업그레이드시키는 것이 거의 불가능하거나 매우 큰 시간과 인력이 투입되어야 한다.
셋째, 신기술 솔루션들을 커스트마이즈드 안드로이드 위에 적용시키기 위해 불필요한 자원(Resource)이 추가적으로 낭비된다.
넷째, 코드를 재사용하여 개발하기에도 용이하지 못한 구조이다.
또한 종래 AVN 시스템에서는 안드로이드 자체가 차량용(Automotive)에서 요구하는 안정성이나 신뢰성에 적합한 OS가 아니기 때문에 크리티컬 이슈를 대비한 설계 때문에 안드로이드의 성능(Performance)을 제대로 활용할 수 없다.
한국공개특허 제2012-0017686호는 차량용 AVN 시스템에 대하여 제안하고 있다. 그러나 이 시스템은 OS를 업그레이드하거나 복구하는 것이 가능할 뿐 전술한 문제점을 해결할 수는 없다.
본 발명은 상기한 문제점을 해결하기 위해 안출된 것으로서, 가상화 기술(Virtualization technique)을 이용하여 물리적 공간을 분리하며, 분리된 공간 중 일 영역을 안드로이드 기반으로 구성하고 타 영역을 차량용으로 사용하기에 적합한 OS 기반으로 구성하는 가상화를 이용한 차량용 AVN 시스템 및 그 작동 방법을 제안하는 것을 목적으로 한다.
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명은 상기한 목적을 달성하기 위해 안출된 것으로서, 가상화(Virtualization) 방법을 이용하여 미리 정해진 크기의 공간을 서로 다른 OS(Operating System)로 운용될 적어도 두개의 영역들로 분리하는 공간 분리부; 제1 OS를 기초로 상기 영역들 중 하나인 제1 영역에서 상기 제1 OS의 업그레이드, 어플리케이션의 다운로드 및 상기 어플리케이션의 실행을 포함하는 정보 처리를 수행하는 제1 정보 처리부; 및 제2 OS를 기초로 상기 영역들 중 다른 하나인 제2 영역에서 차량에 장착된 기기들의 제어를 포함하는 정보 처리를 수행하는 제2 정보 처리부를 포함하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템을 제안한다.
바람직하게는, 상기 제1 정보 처리부는 상기 제1 OS로 모바일 단말 기반의 OS를 이용하며, 상기 제2 정보 처리부는 상기 제2 OS로 임베디드 시스템 기반의 OS를 이용한다.
바람직하게는, 상기 제1 정보 처리부는, 상기 어플리케이션을 저장하는 어플리케이션 저장부; 및 상기 어플리케이션과 관련된 API(Application Program Interface)로 상기 어플리케이션을 실행시키는 어플리케이션 실행부를 포함하며, 상기 제2 정보 처리부는, 상기 차량의 현재 상태에 대한 정보와 상기 차량의 외부 환경에 대한 정보를 출력하며, 상기 차량을 제어하기 위한 정보를 입력받는 입출력부; 및 상기 차량을 제어하기 위한 정보를 기초로 상기 차량에 장착된 기기들을 제어하며, 상기 차량에 장착된 기기들로부터 입력된 정보를 상기 어플리케이션 실행부로 바이패스(bypass)하고, 상기 어플리케이션로부터 요청받은 데이터에 대해 권한을 확인하고 반환하는 차량 기기 제어부를 포함한다.
바람직하게는, 상기 차량 기기 제어부는 커널(Kernel)을 이용하여 상기 어플리케이션 실행부와 IPC(Inter Process Communication)를 수행하며, CAN(Controller Area Network), 모뎀을 이용한 통신, 및 시리얼 통신 중 적어도 하나를 이용하여 상기 차량에 장착된 기기들과 통신한다.
바람직하게는, 상기 차량 기기 제어부는, 상기 요청받은 데이터가 수신되면 상기 요청받은 데이터에 대한 권한이 부여되어 있는지 여부를 판단하는 권한 판단부; 상기 권한이 부여되어 있지 않은 것으로 판단되면 IPC를 이용하여 상기 어플리케이션 실행부로 상기 요청받은 데이터의 처리 거부와 관련된 메시지를 전송하는 미처리 결과 알림부; 및 상기 권한이 부여되어 있는 것으로 판단되면 상기 요청받은 데이터를 처리하며, 상기 IPC를 이용하여 상기 어플리케이션 실행부로 상기 요청받은 데이터의 처리 결과를 전송하는 처리 결과 알림부를 포함한다.
바람직하게는, 상기 차량 기기 제어부는, 커널에 수신 데이터가 있는지 여부를 판단하는 데이터 존재 판단부; 상기 커널에 상기 수신 데이터가 있는 것으로 판단되면 상기 수신 데이터를 버퍼에 저장하는 데이터 버퍼링부; 상기 버퍼에 저장된 데이터가 공용 데이터와 전용 데이터 중 어느 데이터인지를 판단하는 데이터 성질 판단부; 및 상기 버퍼에 저장된 데이터가 상기 공용 데이터인 것으로 판단되면 상기 버퍼에 저장된 데이터를 지정된 메모리에 저장하며, 상기 버퍼에 저장된 데이터가 상기 전용 데이터인 것으로 판단되면 IPC를 이용하여 상기 어플리케이션 실행부로 상기 버퍼에 저장된 데이터를 전송하는 버퍼링 데이터 처리부를 포함한다.
바람직하게는, 상기 데이터 성질 판단부는 상기 버퍼에 저장된 데이터를 순차적으로 추출하여 패킷을 구성하고, 상기 패킷을 대상으로 상기 공용 데이터와 상기 전용 데이터를 판단한다.
또한 본 발명은 가상화(Virtualization) 방법을 이용하여 미리 정해진 크기의 공간을 서로 다른 OS(Operating System)로 운용될 적어도 두개의 영역들로 분리하는 단계; 제1 OS를 기초로 상기 영역들 중 하나인 제1 영역에서 상기 제1 OS의 업그레이드, 어플리케이션의 다운로드 및 상기 어플리케이션의 실행을 포함하는 제1 정보 처리를 수행하는 단계; 및 제2 OS를 기초로 상기 영역들 중 다른 하나인 제2 영역에서 차량에 장착된 기기들의 제어를 포함하는 제2 정보 처리를 수행하는 단계를 포함하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템의 작동 방법을 제안한다.
바람직하게는, 상기 제1 정보 처리를 수행하는 단계는 상기 제1 OS로 모바일 단말 기반의 OS를 이용하며, 상기 제2 정보 처리를 수행하는 단계는 상기 제2 OS로 임베디드 시스템 기반의 OS를 이용한다.
바람직하게는, 상기 제2 정보 처리를 수행하는 단계는, 요청받은 데이터가 수신되면 상기 요청받은 데이터에 대한 권한이 부여되어 있는지 여부를 판단하는 단계; 및 상기 권한이 부여되어 있지 않은 것으로 판단되면 IPC를 이용하여 상기 요청받은 데이터의 처리 거부와 관련된 메시지를 전송하며, 상기 권한이 부여되어 있는 것으로 판단되면 상기 요청받은 데이터를 처리하며 상기 제1 정보 처리가 가능하도록 상기 IPC를 이용하여 상기 요청받은 데이터의 처리 결과를 전송하는 단계를 포함한다.
바람직하게는, 상기 제2 정보 처리를 수행하는 단계는, 커널에 수신 데이터가 있는지 여부를 판단하는 단계; 상기 커널에 상기 수신 데이터가 있는 것으로 판단되면 상기 수신 데이터를 버퍼에 저장하는 단계; 상기 버퍼에 저장된 데이터가 공용 데이터와 전용 데이터 중 어느 데이터인지를 판단하는 단계; 및 상기 버퍼에 저장된 데이터가 상기 공용 데이터인 것으로 판단되면 상기 버퍼에 저장된 데이터를 지정된 메모리에 저장하며, 상기 버퍼에 저장된 데이터가 상기 전용 데이터인 것으로 판단되면 상기 제1 정보 처리가 가능하도록 IPC를 이용하여 상기 버퍼에 저장된 데이터를 전송하는 단계를 포함한다.
바람직하게는, 상기 어느 데이터인지를 판단하는 단계는 상기 버퍼에 저장된 데이터를 순차적으로 추출하여 패킷을 구성하고, 상기 패킷을 대상으로 상기 공용 데이터와 상기 전용 데이터를 판단한다.
본 발명은 가상화 기술을 이용하여 물리적 공간을 분리하며, 분리된 공간 중 일 영역을 안드로이드 기반으로 구성하고 타 영역을 차량용으로 사용하기에 적합한 OS 기반으로 구성함으로써 다음 효과를 얻을 수 있다.
첫째, 죽어서는 안되는 중요한 차량의 시스템은 신뢰성과 안정성을 고려하여 강건하게 설계하고, 편의성과 즐거움을 위한 인포테인먼트 시스템은 이식성과 호환성을 고려하여 퍼포먼스 위주로 설계함으로써 각각의 영역에 필요한 성능을 효율적으로 향상시킬 수 있다.
둘째, 기존의 모바일 기기의 안드로이드와 최대한 유사하게 설계되기 때문에 호환성 등의 문제에서 사용자들에게 편의성을 제공할 수 있다.
셋째, 기존의 안드로이드 시스템을 대부분 활용하기 때문에 코드 수정량이 줄어든다.
넷째, 코드 재사용이 수월해지므로 재설계시 개발비를 감소시킬 수 있고, 타사의 솔루션을 도입하더라도 기존 안드로이드를 거의 그대로 사용하기 때문에 인터그래이션(Integration)에 소요되는 비용을 절감할 수 있다.
도 1과 도 2는 본 발명의 일실시예에 따른 안드로이드 기반 차량용 인포테인먼트 시스템의 분리 설계 구조를 설명하기 위한 개념도이다.
도 3은 안드로이드 기반 영역과 차량용 OS 기반 영역 사이의 통신 방법을 도시한 개념도이다.
도 4와 도 5는 차량용 프레임워크의 작동 방법을 도시한 흐름도이다.
도 6은 본 실시예에 따른 공유 자원 참조 방법을 설명하기 위한 개념도이다.
도 7은 본 발명의 바람직한 실시예에 따른 가상화를 이용한 차량용 AVN 시스템을 개략적으로 도시한 블록도이다.
도 8은 도 7의 차량용 AVN 시스템을 구성하는 차량 기기 제어부의 내부 구성을 도시한 블록도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
종래 안드로이드 기반 인포테인먼트 시스템은 사실상 안드로이드의 장점을 살리기 힘든 구조이다. 본 발명은 OS 버전의 업데이트나 다운로드 어플리케이션의 이용, 코드 재사용의 관점에서 열악한 종래의 문제점을 개선하기 위한 안드로이드 기반 인포테인먼트 플랫폼의 구성에 관한 것이다.
도 1과 도 2는 본 발명의 일실시예에 따른 안드로이드 기반 차량용 인포테인먼트 시스템의 분리 설계 구조를 설명하기 위한 개략적인 개념도이다.
종래 안드로이드 기반 차량용 인포테인먼트 시스템은 차량용(Automotive)에 적합하게 많은 부분을 수정하기 때문에, 안드로이드용 모바일 기기와 비교하여 다운로드 어플리케이션과의 호환성이 떨어지고, OS 버전 업그레이드가 매우 힘들고, 코드를 재사용하기에도 용이하지 못하며, 안드로이드 기반의 신기술 솔루션들을 적용하는 데에도 인력 및 비용이 많이 소요된다. 또한 차량 시스템에서 가장 중요한 요소인 신뢰성과 안정성을 보장하기 위해 안드로이드의 퍼포먼스(Performance)를 제대로 활용할 수 없다. 본 발명은 이러한 문제점을 개선하기 위해 제안된 차량용 인포테인먼트 플랫폼의 구성에 관한 것이다.
도 1은 물리적으로 분리되어 동작하는 것과 동일한(Perform like physically separated) 수행을 하는 CPU 벤더(vendor)의 가상화 기술(Virtualization technique)을 토대로 영역을 분리한 후 제1 영역(110)에 퓨어 안드로이드(Pure Android)에서 최소한의 수정만 한 커스트마이즈드 안드로이드(Customized Android: Android with minimal modification)를 올리고, 제2 영역(120)에 차량용 OS로 사용하기에 적합한 QNX나 리눅스 등을 올려 구성한 실시예이다.
제1 영역(110)은 가상화 기술을 이용한 분리된 공간에 최소한의 수정만 한 안드로이드 기반 영역으로서, 안드로이드 어플리케이션(Android Application; 111), 안드로이드 프레임워크(Android Framework; 112), 라이브러리(Library; 113), 안드로이드 런타임(Android Runtime; 114) 및 리눅스 커널(Linux Kernel; 115)을 포함한다. 제1 영역(110)은 안드로이드에 최적화된 솔루션(Solutions optimized on Android; 140)과 연동된다.
안드로이드 어플리케이션(111)은 안드로이드 프레임워크에서 제공하는 API와 안드로이드 SDK를 이용하여 주로 사용자가 직접 터치를 통해 조작하거나 눈으로 볼 수 있는 화면을 그리는 역할을 주로 한다. 일반적으로 액티비티(Activity) 단위로 구분한다.
안드로이드 프레임워크(112)는 퓨어 안드로이드에서 기본적으로 사용하는 프레임워크를 통칭한다. 안드로이드 프레임워크(112)의 특징은 수정 사항이 많지 않다는 점이다.
제2 영역(120)은 안정성과 신뢰성이 뛰어나 차량용으로 적합한 OS 기반 영역으로서, 차량용 HMI 시스템(Automotive HMI System; 121), 차량용 프레임워크(Automotive Framework; 122) 및 BSP(125)를 포함한다. 제2 영역(120)은 OS로 리눅스, QNX 등을 이용할 수 있으며, MCU(130)와 연동된다.
차량용 HMI 시스템(121)은 최상위에 표시해야 될 GUI 즉, 주행 규제, 후방 카메라, 각종 경고창 등을 표시하도록 하는 로직을 포함한다.
일반적으로 안드로이드는 모바일에 특화된 OS이므로 이를 차량용 시스템(Automotive System)에 적용하기 위해서는 안드로이드 프레임워크나 커널에 추가되거나 수정해야될 사항이 생긴다. 차량용 프레임워크(122)는 이러한 부분 요소들을 통칭하는 개념이다.
프레임워크 영역(112, 122)에서는 타 솔루션의 쉬운 이식성, 코드 재사용을 고려한 설계, 모바일 기기와의 호환성 등을 고려하여 최소한의 수정만 한다. 차량용 프레임워크(122)는 퓨어 안드로이드에 차량용으로 사용하기에 필요한 API를 추가하기 위해 구성한 코드를 포함하며, 안드로이드 버전에 독립적으로 설계한다.
차량용 프레임워크(122)는 CAN 인터페이스(CAN Interface; 123)와 우선순위 프로세싱부(High Priority Processes; 124)를 포함한다.
CAN 인터페이스(123)는 차량의 ECU, 클러스터(Cluster) 등과 실시간 정보 송수신을 위한 것으로서, 차량의 각 모듈과 연결된다.
우선순위 프로세싱부(124)는 가장 우선 처리되어야 하고 죽어서는 안되는 것이다.
BSP(125)는 각 디바이스를 사용하기 위한 드라이버를 지원한다.
MCU(130)는 CAN, UART, SPI 등의 통신 방법으로 Key, CAN Message 등 각종 External Signal과 CPU를 이어 주고, 전원 관리 등의 기능을 수행한다.
도 1에 따른 본 실시예 구성의 핵심은 편의 기능의 퍼포먼스가 핵심인 안드로이드 시스템부에서 오토모티브(Automotive) 영역을 분리하는 것이다. 이하 도면을 참조하여 도 1의 실시예로써 구성도, 각 부분간 통신 방법, 외부에서 들어오는 데이터 처리 로직 등을 차례대로 설명한다.
도 2는 본 발명의 일실시예에 따른 안드로이드 기반 차량용 인포테인먼트 시스템의 분리 설계 구조를 설명하기 위한 구체적인 개념도이다.
안드로이드 어플리케이션(Android Application; 111)은 안드로이드에서 동작하는 어플리케이션으로서, 음악 재생 플레이어(AV 플레이어), 다운로드 앱스(Download Apps), 라디오(Radio), 내비게이션(Navigation) 등과 같이 편의 기능 위주로 구성된다.
안드로이드 프레임워크(Android Frameworks; 112)는 안드로이드에 어플리케이션에서 사용하는 API들을 구현하고, 데이터 처리나 디바이스 제어 등의 역할을 하며 차량용 프레임워크(122)와 통신하는 부분을 포함한다.
이상 설명한 안드로이드 영역에서는 기능 중심의 설계를 하여 프로그램의 속도를 향상시키고 GUI가 빠르게 반응하도록 할 수 있다. 예외 처리와 ECU와의 실시간 통신이 최소화되기 때문에 상기한 효과를 얻을 수 있으며, 사용자가 답답함 없이 조작 가능하여 더욱 쾌적하게 편의 기능들을 사용할 수 있도록 한다.
차량용 HMI 시스템(121)은 AVN 디스플레이(210)를 통하여 안전에 관련된 화면을 송출하는 시스템이다.
차량용 프레임워크(Automotive Frameworks; 122)는 각 ECU와의 통신을 총괄하는 부분과 안전에 관련된 프레임워크를 내재하고 있다. 차량용 프레임워크(122)는 각 ECU(231, 232, 233, …)로부터 데이터를 받아 필요시 안드로이드 프레임워크(112)로 바이패스(Bypass)하거나 안드로이드 프레임워크(112)로부터 요청받은 데이터의 권한을 확인하여 반환해주는 통신부를 포함하며, 차량 정보를 실시간으로 저장하고 관리하는 역할을 한다. 차량용 프레임워크(122)는 SOS 신고 접수시 모뎀(220)과 통신하여 센터로 신고 접수하기 위한 처리도 수행한다.
다음으로 안드로이드 기반 영역과 차량용 OS 기반 영역 사이의 통신 방법에 대하여 설명한다. 도 3은 안드로이드 기반 영역과 차량용 OS 기반 영역 사이의 통신 방법을 도시한 개념도이다.
안드로이드 어플리케이션(111) ↔ 안드로이드 프레임워크(112) : 기본적으로 구글에서 제공하는 통신 방법인 Intent, Broadcast, Listener, Binder 등을 이용하며, 필요한 경우 직접 소켓(Socket)을 이용하며 통신한다. 데이터의 특징에 따라 구분하여 사용하며, 이는 구글 안드로이드에서 권장하는 방법으로 사용하면 되므로 여기에서는 논외로 한다.
안드로이드 프레임워크(112) ↔ 차량용 프레임워크(122) : 일반적인 Linux 커널(310)에서 사용하는 Binder Driver를 이용하여 IPC(Inter Process Communication)하며, 커널(310)에서 공유 메모리 접근 방법에 대한 알고리즘을 포함하고 있으므로 별도의 로직을 필요로 하지 않는다. 따라서 종래의 공유 메모리 참조 방법에 대한 방법 없이도 교착 상태 등의 문제는 발생하지 않는다. 본 발명에 따른 공유 자원의 참조 방법은 도 6을 참조하여 후술한다.
차량용 HMI 시스템(121) ↔ 차량용 프레임워크(122) : 같은 프로세스 내에 있으므로 직접적으로 메모리를 참조하거나 함수 콜의 방법을 이용하여 데이터를 주고 받는다.
MCU(130) ↔ 커널(310) : 외부 ECU에서 받은 CAN 시그널이나 외부 장치(키, USB 등)로부터 입력받은 데이터를 UART나 SPI 통신을 통해 커널로 전송한다.
MCU(130) ↔ ECUs(231, 232, 233, …) : 차량의 각 ECU와 MCU는 CAN 통신으로 신호를 주고 받는다.
도 4와 도 5는 차량용 프레임워크(122)의 작동 방법을 도시한 흐름도이다.
먼저 도 4를 참조하여 설명한다.
1. 커널은 계속하여 UART 포트를 바라보며 수신된 데이터가 있는지 관찰한다(S410).
2. 커널에 데이터가 수신되면 차량용 프레임워크에서 해당 데이터를 버퍼에 저장한다(S420).
3. 버퍼에 저장한 데이터를 순차적으로 꺼내어 패킷을 만들고, 이 패킷이 안드로이드 영역에서만 필요한 데이터인지 검사한다(S430).
4-1. 만약 안드로이드에서만 필요한 데이터가 아니라면 Automotive 영역의 로컬 메모리에 저장한다(S440).
4-2. 만약 안드로이드 영역에서만 필요한 데이터라면 IPC로 해당 데이터를 Bypass한다(S450).
다음으로 도 5를 참조하여 설명한다.
1. IPC를 통해 데이터 요청을 수신하게 되면(S510) 요청한 안드로이드 영역의 어플리케이션이 해당 데이터에 대한 권한을 가지고 있는지 판단한다(S520).
2-1. 판단 결과 권한을 가지고 있다면 IPC를 통해 안드로이드 프레임워크로 송신한다(S530).
2-2. 판단 결과 권한을 가지고 있지 않다면 IPC를 통해 거절 메시지를 송신한다(S540).
안드로이드 프레임워크에서는 이상 설명한 두가지 역할을 수행하는 두개의 스레드를 포함한다.
본 발명과 같이 플랫폼을 구성할 경우 안드로이드 기반의 인포테인먼트 시스템과 리눅스 기반의 차량용 시스템으로 나누어 동작하는 것과 같은 효과가 있다.
인포테인먼트 시스템(Infortainment System)은 시스템이 죽어도 안전과는 거리가 멀어 안드로이드 내부 구조를 완전히 뜯어고칠 필요가 없어 안드로이드 고유의 Performance를 활용할 수 있고 개발 시간도 단축할 수 있다.
차량용 시스템(Automotive System)은 충분히 강건 설계를 하여 시스템이 죽지 않도록 해야 한다. OS도 최적화되었고 컴포넌트 또한 필수적인 요소만 배치하여 설계 시간을 단축할 수 있고 안정성과 신뢰성 또한 더욱 수월하게 확보할 수 있다.
도 6은 본 실시예에 따른 공유 자원 참조 방법을 설명하기 위한 개념도이다.
도 6의 (a)는 ECU 정보 등을 공유하는 방법을 도시한 것이다.
먼저 안드로이드 영역(610)이 커널(310)을 통해 리눅스 영역(630)에 필요 정보를 요청한다.
이후 리눅스 영역(630)이 권한을 확인한다.
권한이 있는 것으로 확인되면 리눅스 영역(630)이 제2 로컬 메모리(640)에 해당 정보를 저장하고 안드로이드 영역(610)에 해당 정보를 반환한다. 반면 권한이 없는 것으로 확인되면 리눅스 영역(630)이 해당 정보의 처리를 거절하는 메시지를 안드로이드 영역(610)으로 전송한다.
도 6의 (b)는 키 입력, External I/O 장치 정보, CAN 신호 등을 공유하는 방법을 도시한 것이다.
외부 입력이 수신되면 리눅스 영역(630)이 외부 입력의 바이패스 여부를 확인한다.
바이패스가 확인되면 리눅스 영역(630)은 외부 입력을 안드로이드 영역(610)으로 바이패스한다.
이후 리눅스 영역(630)이 외부 입력을 제2 로컬 메모리(640)에 저장한다.
도 6의 (c)는 음악 재생 정보, 차량 상태 설정값 등을 공유하는 방법을 도시한 것이다.
안드로이드 영역(610)이 리눅스 영역(620)으로 공유 정보를 전달한다.
이후 리눅스 영역(620)이 권한을 확인한다.
권한이 확인되면 리눅스 영역(620)은 제2 로컬 메모리(640)를 이용하여 업데이트를 수행한다.
이후 리눅스 영역(620)은 안드로이드 영역(610)으로 업데이트 성공 여부를 통보하며, 그 사실을 외부로도 출력한다.
이상 도 1 내지 도 6을 참조하여 본 발명의 일실시예에 대하여 설명하였다. 이하에서는 이러한 일실시예로부터 추론 가능한 본 발명의 바람직한 실시예에 대하여 설명한다. 도 7은 본 발명의 바람직한 실시예에 따른 가상화를 이용한 차량용 AVN 시스템을 개략적으로 도시한 블록도이다.
도 7에 따르면, 차량용 AVN 시스템(700)은 공간 분리부(710), 제1 정보 처리부(720), 제2 정보 처리부(730), 전원부(740) 및 주제어부(750)를 포함한다.
전원부(740)는 차량용 AVN 시스템(700)을 구성하는 각 구성에 전원을 공급하는 기능을 수행한다. 주제어부(750)는 차량용 AVN 시스템(700)을 구성하는 각 구성의 전체 작동을 제어하는 기능을 수행한다. 차량용 AVN 시스템(700)이 차량에 장착되어 운용됨을 고려할 때 전원부(740)와 주제어부(750)는 본 실시예에서 구비되지 않아도 무방하다.
공간 분리부(710)는 가상화(Virtualization) 방법을 이용하여 미리 정해진 크기의 공간을 서로 다른 OS(Operating System)로 운용될 적어도 두개의 영역들로 분리하는 기능을 수행한다.
제1 정보 처리부(720)는 제1 OS를 기초로 공간 분리부(710)에 의해 분리된 영역들 중 하나인 제1 영역에서 제1 OS의 업그레이드, 어플리케이션의 다운로드 및 어플리케이션의 실행을 포함하는 정보 처리를 수행한다.
제1 정보 처리부(720)는 제1 OS로 모바일 단말 기반의 OS를 이용할 수 있다. 모바일 단말에서 구동 가능한 OS에는 예컨대 안드로이드(Android)가 있다.
제1 정보 처리부(720)는 어플리케이션 저장부(721)와 어플리케이션 실행부(722)를 포함할 수 있다.
어플리케이션 저장부(721)는 어플리케이션을 저장하는 것이다. 어플리케이션 저장부(721)는 도 1 내지 도 3의 안드로이드 어플리케이션(111)으로부터 추론되는 개념이다.
어플리케이션 실행부(722)는 어플리케이션과 관련된 API(Application Program Interface)로 어플리케이션을 실행시키는 기능을 수행한다. 어플리케이션 실행부(722)는 도 1 내지 도 3의 안드로이드 프레임워크(112)로부터 추론되는 개념이다.
제2 정보 처리부(730)는 제2 OS를 기초로 공간 분리부(710)에 의해 분리된 영역들 중 다른 하나인 제2 영역에서 차량에 장착된 기기들의 제어를 포함하는 정보 처리를 수행한다.
제2 정보 처리부(730)는 제2 OS로 임베디드 시스템 기반의 OS를 이용할 수 있다. 임베디드 시스템에서 구동 가능한 OS에는 예컨대 리눅스(Linux), QNX 등이 있다.
제2 정보 처리부(730)는 입출력부(731)와 차량 기기 제어부(732)를 포함할 수 있다.
입출력부(731)는 차량의 현재 상태에 대한 정보와 차량의 외부 환경에 대한 정보를 출력하며, 차량을 제어하기 위한 정보를 입력받는 기능을 수행한다. 입출력부(731)는 도 1 내지 도 3의 차량용 HMI 시스템(121)으로부터 추론되는 개념이다.
차량 기기 제어부(732)는 차량을 제어하기 위한 정보를 기초로 차량에 장착된 기기들을 제어하며, 차량에 장착된 기기들로부터 입력된 정보를 어플리케이션 실행부(722)로 바이패스(bypass)하고, 어플리케이션로부터 요청받은 데이터에 대해 권한을 확인하고 반환하는 기능을 수행한다. 차량 기기 제어부(732)는 도 1 내지 도 3의 차량용 프레임워크(122)로부터 추론되는 개념이다.
차량 기기 제어부(732)는 커널(Kernel)을 이용하여 어플리케이션 실행부(722)와 IPC(Inter Process Communication)를 수행하며, CAN(Controller Area Network), 모뎀을 이용한 통신, 및 시리얼 통신 중 적어도 하나를 이용하여 차량에 장착된 기기들과 통신할 수 있다. 상기에서 모뎀을 이용한 통신에는 예컨대 UART(Universal Asynchronous Receiver Transmitter)가 있으며, 시리얼 통신에는 예컨대 SPI(Serial Peripheral Interface)가 있다.
차량 기기 제어부(732)는 도 8의 (a)에 도시된 바와 같이 권한 판단부(811), 처리 결과 알림부(812) 및 미처리 결과 알림부(813)를 포함할 수 있다. 도 8은 도 7의 차량용 AVN 시스템을 구성하는 차량 기기 제어부의 내부 구성을 도시한 블록도이다.
권한 판단부(811)는 요청받은 데이터가 수신되면 요청받은 데이터에 대한 권한이 부여되어 있는지 여부를 판단하는 기능을 수행한다.
미처리 결과 알림부(812)는 권한이 부여되어 있지 않은 것으로 판단되면 IPC를 이용하여 어플리케이션 실행부(722)로 요청받은 데이터의 처리 거부와 관련된 메시지를 전송하는 기능을 수행한다.
처리 결과 알림부(813)는 권한이 부여되어 있는 것으로 판단되면 요청받은 데이터를 처리하며, IPC를 이용하여 어플리케이션 실행부(722)로 요청받은 데이터의 처리 결과를 전송하는 기능을 수행한다.
차량 기기 제어부(732)는 도 8의 (b)에 도시된 바와 같이 데이터 존재 판단부(821), 데이터 버퍼링부(822), 데이터 성질 판단부(823) 및 버퍼링 데이터 처리부(824)를 포함할 수 있다.
데이터 존재 판단부(821)는 커널에 수신 데이터가 있는지 여부를 판단하는 기능을 수행한다.
데이터 버퍼링부(822)는 커널에 수신 데이터가 있는 것으로 판단되면 수신 데이터를 버퍼에 저장하는 기능을 수행한다.
데이터 성질 판단부(823)는 버퍼에 저장된 데이터가 공용 데이터와 전용 데이터 중 어느 데이터인지를 판단하는 기능을 수행한다. 데이터 성질 판단부(823)는 버퍼에 저장된 데이터를 순차적으로 추출하여 패킷을 구성하고, 이 패킷을 대상으로 공용 데이터와 전용 데이터를 판단할 수 있다.
버퍼링 데이터 처리부(824)는 버퍼에 저장된 데이터가 공용 데이터인 것으로 판단되면 버퍼에 저장된 데이터를 지정된 메모리에 저장하며, 버퍼에 저장된 데이터가 전용 데이터인 것으로 판단되면 IPC를 이용하여 어플리케이션 실행부(722)로 버퍼에 저장된 데이터를 전송하는 기능을 수행한다.
다음으로 도 7 및 도 8에서 설명한 차량용 AVN 시스템의 작동 방법에 대하여 설명한다.
먼저 공간 분리부(710)가 가상화(Virtualization) 방법을 이용하여 미리 정해진 크기의 공간을 서로 다른 OS(Operating System)로 운용될 적어도 두개의 영역들로 분리한다.
이후 제1 정보 처리부(720)가 제1 OS를 기초로 공간 분리부(710)에 의해 분리된 영역들 중 하나인 제1 영역에서 제1 OS의 업그레이드, 어플리케이션의 다운로드 및 어플리케이션의 실행을 포함하는 제1 정보 처리를 수행한다.
이후 제2 정보 처리부(730)가 제2 OS를 기초로 공간 분리부(710)에 의해 분리된 영역들 중 다른 하나인 제2 영역에서 차량에 장착된 기기들의 제어를 포함하는 제2 정보 처리를 수행한다. 제2 정보 처리 수행 단계는 제1 정보 처리 수행 단계 이후에 수행될 수 있으나, 제1 정보 처리 수행 단계 이전에 수행되거나 제1 정보 처리 수행 단계와 동시에 수행되는 것도 가능하다.
이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 기록매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (10)

  1. 가상화(Virtualization) 방법을 이용하여 미리 정해진 크기의 공간을 서로 다른 OS(Operating System)로 운용될 적어도 두개의 영역들로 분리하는 공간 분리부;
    제1 OS를 기초로 상기 영역들 중 하나인 제1 영역에서 상기 제1 OS의 업그레이드, 어플리케이션의 다운로드 및 상기 어플리케이션의 실행을 포함하는 정보 처리를 수행하는 제1 정보 처리부; 및
    제2 OS를 기초로 상기 영역들 중 다른 하나인 제2 영역에서 차량에 장착된 기기들의 제어를 포함하는 정보 처리를 수행하는 제2 정보 처리부
    를 포함하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템.
  2. 제 1 항에 있어서,
    상기 제1 정보 처리부는 상기 제1 OS로 모바일 단말 기반의 OS를 이용하며, 상기 제2 정보 처리부는 상기 제2 OS로 임베디드 시스템 기반의 OS를 이용하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템.
  3. 제 1 항에 있어서,
    상기 제1 정보 처리부는,
    상기 어플리케이션을 저장하는 어플리케이션 저장부; 및
    상기 어플리케이션과 관련된 API(Application Program Interface)로 상기 어플리케이션을 실행시키는 어플리케이션 실행부
    를 포함하며,
    상기 제2 정보 처리부는,
    상기 차량의 현재 상태에 대한 정보와 상기 차량의 외부 환경에 대한 정보를 출력하며, 상기 차량을 제어하기 위한 정보를 입력받는 입출력부; 및
    상기 차량을 제어하기 위한 정보를 기초로 상기 차량에 장착된 기기들을 제어하며, 상기 차량에 장착된 기기들로부터 입력된 정보를 상기 어플리케이션 실행부로 바이패스(bypass)하고, 상기 어플리케이션로부터 요청받은 데이터에 대해 권한을 확인하고 반환하는 차량 기기 제어부
    를 포함하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템.
  4. 제 3 항에 있어서,
    상기 차량 기기 제어부는 커널(Kernel)을 이용하여 상기 어플리케이션 실행부와 IPC(Inter Process Communication)를 수행하며, CAN(Controller Area Network), 모뎀을 이용한 통신, 및 시리얼 통신 중 적어도 하나를 이용하여 상기 차량에 장착된 기기들과 통신하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템.
  5. 제 3 항에 있어서,
    상기 차량 기기 제어부는,
    상기 요청받은 데이터가 수신되면 상기 요청받은 데이터에 대한 권한이 부여되어 있는지 여부를 판단하는 권한 판단부;
    상기 권한이 부여되어 있지 않은 것으로 판단되면 IPC를 이용하여 상기 어플리케이션 실행부로 상기 요청받은 데이터의 처리 거부와 관련된 메시지를 전송하는 미처리 결과 알림부; 및
    상기 권한이 부여되어 있는 것으로 판단되면 상기 요청받은 데이터를 처리하며, 상기 IPC를 이용하여 상기 어플리케이션 실행부로 상기 요청받은 데이터의 처리 결과를 전송하는 처리 결과 알림부
    를 포함하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템.
  6. 제 3 항에 있어서,
    상기 차량 기기 제어부는,
    커널에 수신 데이터가 있는지 여부를 판단하는 데이터 존재 판단부;
    상기 커널에 상기 수신 데이터가 있는 것으로 판단되면 상기 수신 데이터를 버퍼에 저장하는 데이터 버퍼링부;
    상기 버퍼에 저장된 데이터가 공용 데이터와 전용 데이터 중 어느 데이터인지를 판단하는 데이터 성질 판단부; 및
    상기 버퍼에 저장된 데이터가 상기 공용 데이터인 것으로 판단되면 상기 버퍼에 저장된 데이터를 지정된 메모리에 저장하며, 상기 버퍼에 저장된 데이터가 상기 전용 데이터인 것으로 판단되면 IPC를 이용하여 상기 어플리케이션 실행부로 상기 버퍼에 저장된 데이터를 전송하는 버퍼링 데이터 처리부
    를 포함하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템.
  7. 제 6 항에 있어서,
    상기 데이터 성질 판단부는 상기 버퍼에 저장된 데이터를 순차적으로 추출하여 패킷을 구성하고, 상기 패킷을 대상으로 상기 공용 데이터와 상기 전용 데이터를 판단하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템.
  8. 가상화(Virtualization) 방법을 이용하여 미리 정해진 크기의 공간을 서로 다른 OS(Operating System)로 운용될 적어도 두개의 영역들로 분리하는 단계;
    제1 OS를 기초로 상기 영역들 중 하나인 제1 영역에서 상기 제1 OS의 업그레이드, 어플리케이션의 다운로드 및 상기 어플리케이션의 실행을 포함하는 제1 정보 처리를 수행하는 단계; 및
    제2 OS를 기초로 상기 영역들 중 다른 하나인 제2 영역에서 차량에 장착된 기기들의 제어를 포함하는 제2 정보 처리를 수행하는 단계
    를 포함하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템의 작동 방법.
  9. 제 8 항에 있어서,
    상기 제2 정보 처리를 수행하는 단계는,
    요청받은 데이터가 수신되면 상기 요청받은 데이터에 대한 권한이 부여되어 있는지 여부를 판단하는 단계; 및
    상기 권한이 부여되어 있지 않은 것으로 판단되면 IPC를 이용하여 상기 요청받은 데이터의 처리 거부와 관련된 메시지를 전송하며, 상기 권한이 부여되어 있는 것으로 판단되면 상기 요청받은 데이터를 처리하며 상기 제1 정보 처리가 가능하도록 상기 IPC를 이용하여 상기 요청받은 데이터의 처리 결과를 전송하는 단계
    를 포함하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템의 작동 방법.
  10. 제 8 항에 있어서,
    상기 제2 정보 처리를 수행하는 단계는,
    커널에 수신 데이터가 있는지 여부를 판단하는 단계;
    상기 커널에 상기 수신 데이터가 있는 것으로 판단되면 상기 수신 데이터를 버퍼에 저장하는 단계;
    상기 버퍼에 저장된 데이터가 공용 데이터와 전용 데이터 중 어느 데이터인지를 판단하는 단계; 및
    상기 버퍼에 저장된 데이터가 상기 공용 데이터인 것으로 판단되면 상기 버퍼에 저장된 데이터를 지정된 메모리에 저장하며, 상기 버퍼에 저장된 데이터가 상기 전용 데이터인 것으로 판단되면 상기 제1 정보 처리가 가능하도록 IPC를 이용하여 상기 버퍼에 저장된 데이터를 전송하는 단계
    를 포함하는 것을 특징으로 하는 가상화를 이용한 차량용 AVN 시스템의 작동 방법.
KR1020140071460A 2014-06-12 2014-06-12 가상화를 이용한 차량용 avn 시스템 및 그 작동 방법 KR102177407B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140071460A KR102177407B1 (ko) 2014-06-12 2014-06-12 가상화를 이용한 차량용 avn 시스템 및 그 작동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140071460A KR102177407B1 (ko) 2014-06-12 2014-06-12 가상화를 이용한 차량용 avn 시스템 및 그 작동 방법

Publications (2)

Publication Number Publication Date
KR20150142482A true KR20150142482A (ko) 2015-12-22
KR102177407B1 KR102177407B1 (ko) 2020-11-11

Family

ID=55081764

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140071460A KR102177407B1 (ko) 2014-06-12 2014-06-12 가상화를 이용한 차량용 avn 시스템 및 그 작동 방법

Country Status (1)

Country Link
KR (1) KR102177407B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019031630A1 (ko) * 2017-08-10 2019-02-14 주식회사 드림에이스 차량 시스템
KR101951292B1 (ko) * 2017-09-26 2019-02-22 한국정보통신주식회사 장치 모듈의 제어 호환성을 제공하는 결제 단말 장치
KR20190035625A (ko) * 2019-01-14 2019-04-03 한국정보통신주식회사 장치 모듈의 제어 호환성을 제공하는 결제 단말 장치
CN110687891A (zh) * 2019-10-11 2020-01-14 无锡沃尔福汽车技术有限公司 一种基于安卓原生技术用于台架的转股测试方法
KR20220073474A (ko) * 2020-11-26 2022-06-03 주식회사 드림에이스 차량 가상화 구조 기반의 시스템 제어 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009073386A (ja) * 2007-09-21 2009-04-09 Hitachi Ltd ナビゲーション利用自動車制御装置および制御方法
KR20110015951A (ko) * 2009-08-10 2011-02-17 한국전자통신연구원 헤드 유닛 장치와 그 동작 방법
KR20130046904A (ko) * 2011-10-28 2013-05-08 주식회사 현대케피코 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009073386A (ja) * 2007-09-21 2009-04-09 Hitachi Ltd ナビゲーション利用自動車制御装置および制御方法
KR20110015951A (ko) * 2009-08-10 2011-02-17 한국전자통신연구원 헤드 유닛 장치와 그 동작 방법
KR20130046904A (ko) * 2011-10-28 2013-05-08 주식회사 현대케피코 가상화 및 이중화를 이용한 전자제어유닛의 리프로그래밍 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019031630A1 (ko) * 2017-08-10 2019-02-14 주식회사 드림에이스 차량 시스템
KR101951292B1 (ko) * 2017-09-26 2019-02-22 한국정보통신주식회사 장치 모듈의 제어 호환성을 제공하는 결제 단말 장치
KR20190035625A (ko) * 2019-01-14 2019-04-03 한국정보통신주식회사 장치 모듈의 제어 호환성을 제공하는 결제 단말 장치
CN110687891A (zh) * 2019-10-11 2020-01-14 无锡沃尔福汽车技术有限公司 一种基于安卓原生技术用于台架的转股测试方法
KR20220073474A (ko) * 2020-11-26 2022-06-03 주식회사 드림에이스 차량 가상화 구조 기반의 시스템 제어 방법 및 장치

Also Published As

Publication number Publication date
KR102177407B1 (ko) 2020-11-11

Similar Documents

Publication Publication Date Title
EP3092566B1 (en) Vehicle with multiple user interface operating domains
US10891921B2 (en) Separate operating systems for dashboard display
US9649999B1 (en) Vehicle remote operations control
KR20150142482A (ko) 가상화를 이용한 차량용 avn 시스템 및 그 작동 방법
WO2020140902A1 (en) Multi-window display controller
US20180307515A1 (en) Method and apparatus for controlling devices in a personal environment using a portable computing device
US20110247013A1 (en) Method for Communicating Between Applications on an External Device and Vehicle Systems
CN110851271B (zh) 资源共享方法及装置、存储介质
KR102262926B1 (ko) 차량용 소프트웨어 제어 장치
CN108549812A (zh) 基于Trustzone的安全隔离方法、安全隔离装置及车载终端
KR101856930B1 (ko) 유에스비 액세서리의 유에스비 통신 제어 방법
US11455180B2 (en) Extensible computing architecture for vehicles
WO2024007987A1 (zh) 数字钥匙系统的车端固件升级方法、装置、设备及介质
CN111414249A (zh) 一种车载主机系统
US11836475B2 (en) Electronic control unit, software update method, software update program product and electronic control system
KR20180024450A (ko) Usb 호스트의 usb 통신 제어 방법
CN106341269A (zh) 一种车载系统的控制方法和装置
WO2023185478A1 (zh) 应用程序间通信方法、装置、存储介质及程序产品
CN114844726B (zh) 防火墙实现方法、芯片、电子设备及计算机可读存储介质
US20180157534A1 (en) Vehicle operating method and vehicle operating apparatus
JP7484746B2 (ja) 車両用装置、車両用システム
WO2024166336A1 (ja) 無線基地局、無線中継装置、移動体、無線通信システム、無線通信方法、及びプログラム
CN114625425B (zh) 基于硬隔离的音频播放方法、系统和设备
KR102491361B1 (ko) 차량 가상화 구조 기반의 시스템 제어 방법 및 장치
Shelly Advanced In-Vehicle Systems: A Reference Design for the Future

Legal Events

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