KR20220069925A - 복수의 인터페이스를 이용하여 다른 전자 장치를 인식하는 방법 및 그 전자 장치 - Google Patents

복수의 인터페이스를 이용하여 다른 전자 장치를 인식하는 방법 및 그 전자 장치 Download PDF

Info

Publication number
KR20220069925A
KR20220069925A KR1020227005871A KR20227005871A KR20220069925A KR 20220069925 A KR20220069925 A KR 20220069925A KR 1020227005871 A KR1020227005871 A KR 1020227005871A KR 20227005871 A KR20227005871 A KR 20227005871A KR 20220069925 A KR20220069925 A KR 20220069925A
Authority
KR
South Korea
Prior art keywords
electronic device
information
interface
storage unit
information storage
Prior art date
Application number
KR1020227005871A
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 엘지전자 주식회사
Publication of KR20220069925A publication Critical patent/KR20220069925A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • 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
    • 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/4401Bootstrapping
    • 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/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 전자 장치는, 다른 전자 장치에 대한 정보를 저장하는 장치 정보 저장부의 정보를 수신하기 위한 제1 인터페이스; 상기 다른 전자 장치의 프로세서와 통신하기 위한 제2 인터페이스; 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되는 경우, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 다른 전자 장치의 정보를 획득하고, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되지 않는 경우 상기 제2 인터페이스를 통해 상기 다른 전자 장치가 식별되는지 여부를 확인하고, 상기 제2 인터페이스를 통해 상기 다른 전자 장치가 식별되는 경우, 상기 다른 전자 장치의 프로세서와의 통신에 기초하여 상기 다른 전자 장치에 대한 정보를 상기 제2 인터페이스를 통해 획득할 수 있다.

Description

복수의 인터페이스를 이용하여 다른 전자 장치를 인식하는 방법 및 그 전자 장치
본 발명은 복수의 인터페이스를 이용하여 다른 전자 장치를 인식하는 방법 및 그 전자 장치에 대한 것이다. 구체적으로, 본 발명은 다른 전자 장치의 장치 정보를 수신하는 제1 인터페이스와 다른 전자 장치의 통신을 수행하는 제2 인터페이스를 이용하여 다른 전자 장치를 인식하는 방법 및 그 전자 장치에 관한 것이다.
전자 기술의 급격한 발전에 따라, 일상생활에는 다양한 종류의 전자 장치들이 보급되고 있으며 다양한 전자 장치들을 함께 이용하여 서로의 기능을 보완하기 위한 시도가 증가하고 있다.
이러한 측면에서, 특정 장치에서 제공되는 기능을 다른 장치에서 이용하기 위해 이들을 서로 연결함으로써 기능을 확장하는 기능 확장 기술에 대한 관심이 증가하고 있다. 기능 확장 기술은 예를 들면, 티비(tv)에 모바일 단말을 연결하여, 티비에서도 모바일 단말에서 제공되는 기능을 이용할 수 있도록 하는 기술을 포함할 수 있다.
기능 확장은 연결되는 복수의 전자 장치가 상호 호환이 가능함에 기초하여 이루어질 수 있다. 즉, 기능 확장이 제공 가능한 전자 장치들이 연결되어야 기능 확장이 이루어질 수 있다. 이에 따라, 전자 장치는 연결되는 다른 전자 장치가 기능 확장의 제공이 가능한 전자 장치인지에 대한 식별을 수행해야할 필요가 있다.
기존에 전자 장치의 식별은 부팅이 완료된 후에 수행되기 때문에 전자 장치의 부팅 시작 시점에서부터 실질적으로 기능 확장에 따라 다른 전자 장치의 기능을 이용할 수 있게 되기까지 다소 시간이 걸리게 된다. 따라서, 보다 신속하게 전자 장치에 연결되는 다른 전자 장치를 식별하기 위한 방안이 요구된다.
본 발명이 해결하고자 하는 과제는, 전자 장치의 부팅 시점에 제1 인터페이스를 이용하여 다른 전자 장치의 장치 정보를 획득함으로써, 전자 장치에 연결되는 다른 전자 장치를 보다 신속하게 식별할 수 있도록 하는 것이다.
또한, 본 발명은 제1 인터페이스를 통한 장치 정보의 획득이 이루어지지 않는 경우에는 제2 인터페이스를 통해 다른 전자 장치의 프로세스와 통신하여 다른 전자 장치를 식별함으로써, 전자 장치에 연결되는 다른 전자 장치를 보다 정확하고 효과적으로 식별할 수 있도록 하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 바로 제한되지 않으며, 언급되지는 않았으나 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있는 목적을 포함할 수 있다.
본 발명의 일 실시예에 따른 전자 장치는, 다른 전자 장치에 대한 정보를 저장하는 장치 정보 저장부의 정보를 수신하기 위한 제1 인터페이스; 상기 다른 전자 장치의 프로세서와 통신하기 위한 제2 인터페이스; 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되는 경우, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 다른 전자 장치의 정보를 획득하고, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되지 않는 경우 상기 제2 인터페이스를 통해 상기 다른 전자 장치가 식별되는지 여부를 확인하고, 상기 제2 인터페이스를 통해 상기 다른 전자 장치가 식별되는 경우, 상기 다른 전자 장치의 프로세서와의 통신에 기초하여 상기 다른 전자 장치에 대한 정보를 상기 제2 인터페이스를 통해 획득할 수 있다.
본 발명의 일 실시예에 따른 전자 장치의 제어 방법은, 다른 전자 장치에 대한 정보를 저장하는 장치 정보 저장부의 정보를 수신하기 위한 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되는 경우, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 다른 전자 장치의 정보를 획득하는 단계와, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되지 않는 경우, 상기 다른 전자 장치의 프로세서와 통신하기 위한 제2 인터페이스를 통해 상기 다른 전자 장치가 식별되는지 여부를 확인하는 단계와, 상기 제2 인터페이스를 통해 상기 다른 전자 장치가 식별되는 경우, 상기 다른 전자 장치의 프로세서와의 통신에 기초하여 상기 다른 전자 장치에 대한 정보를 상기 제2 인터페이스를 통해 획득하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 전자 장치는, 상기 전자 장치에 대한 정보를 저장하는 장치 정보 저장부와, 적어도 하나의 프로세서와, 상기 장치 정보 저장부에 다른 전자 장치가 연결되면 상기 장치 저장 저장부의 정보를 상기 다른 전자 장치에게 전송하기 위한 제1 인터페이스와, 상기 다른 전자 장치와 통신하기 위한 제2 인터페이스를 포함하고, 상기 적어도 하나의 프로세서는, 상기 제1 인터페이스를 통한 상기 다른 전자 장치와의 연결이 식별되지 않는 경우, 상기 제2 인터페이스를 통한 상기 다른 전자 장치와의 통신에 기초하여 상기 전자 장치에 대한 정보를 상기 다른 전자 장치에게 전송할 수 있다.
본 발명의 일 실시예에 따른 시스템은, 제1 전자 장치와, 제2 전자 장치와, 상기 장치 정보 저장부로부터 상기 제1 전자 장치로 상기 제2 전자 장치에 대한 정보를 전송하기 위한 제1 인터페이스와, 상기 제1 전자 장치의 프로세서와 상기 제2 전자 장치의 프로세서 간의 통신을 위한 제2 인터페이스를 포함하고, 상기 제2 전자 장치는, 상기 제2 전자 장치에 대한 정보를 포함하는 장치 정보 저장부를 포함하고, 상기 제1 전자 장치는, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되는 경우, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 제2 전자 장치의 정보를 획득하고, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되지 않는 경우 상기 제2 인터페이스를 통해 상기 제2 전자 장치가 식별되는지 여부를 확인하고, 상기 제2 인터페이스를 통해 상기 제2 전자 장치가 식별되는 경우, 상기 제2 전자 장치의 프로세서와의 통신에 기초하여 상기 제2 전자 장치에 대한 정보를 상기 제2 인터페이스를 통해 획득할 수 있다.
본 발명의 실시예에 따른 전자 장치 및 방법은, 전자 장치의 부팅 시점에 제1 인터페이스를 이용하여 다른 전자 장치의 장치 정보를 획득함으로써 전자 장치에 연결되는 다른 전자 장치를 보다 신속하게 식별할 수 있다.
또한, 본 발명의 실시예에 따른 전자 장치 및 방법은, 제1 인터페이스를 통한 장치 정보의 획득이 이루어지지 않는 경우에는 제2 인터페이스를 통해 다른 전자 장치의 프로세스와 통신하여 다른 전자 장치를 식별함으로써, 전자 장치에 연결되는 다른 전자 장치를 보다 정확하고 효과적으로 식별할 수 있다.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 제1 전자 장치와 제2 전자 장치가 이용되는 예를 도시한다.
도 2는 본 발명의 일 실시예에 따른 제1 전자 장치와 제2 전자 장치의 기능 블록도를 도시한다.
도 3은 본 발명의 일 실시예에 따른 제1 전자 장치의 제어 방법의 흐름도를 도시한다.
도 4는 본 발명의 일 실시예에 따른 제1 전자 장치의 제어 방법 중 일부 단계의 흐름을 구체적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 제1 전자 장치의 제어 방법 중 다른 일부 단계의 흐름을 구체적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 제1 전자 장치의 제어 방법 중 또 다른 일부 단계의 흐름을 구체적으로 도시한다.
도 7은 본 발명의 다른 실시예에 따른 제1 전자 장치와 제2 전자 장치의 기능 블록도를 도시한다.
도 8은 본 발명의 다른 실시예에 따른 제1 전자 장치의 제어 방법의 흐름도를 도시한다.
도 9는 본 발명의 일 실시예에 따른 제1 전자 장치에서 제공되는 사용자 인터페이스의 예를 도시한다.
도 10은 본 발명의 일 실시예에 따른 제1 전자 장치에서 제공되는 사용자 인터페이스의 다른 예를 도시한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 포함할 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로서 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 이와 같은 용어들에 의해 한정되지는 않는다. 이 용어들은 하나의 구성요소들을 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 제1 전자 장치와 제2 전자 장치가 이용되는 예를 도시한다. 구체적으로, 도 1은 제1 전자 장치(100)와 제2 전자 장치(200)를 포함하는 시스템(2)이 구현되는 예를 나타낸다.
도 1을 참조하면, 시스템(2)은 차량의 기능 확장을 위한 시스템일 수 있다. 이 때, 제1 전자 장치(10)는 차량을 제어하는 차량 삽입용(또는 부착용) 장치일 수 있으며, 제2 전자 장치(20)는 차량에 탈부착 가능하고 제1 전자 장치(10)와 연결 가능한 별도의 장치일 수 있다.
구체적으로, 제1 전자 장치(10)는 차량의 제조 단계에서 차량에 장착되어 운전자에게 주행과 관련된 다양한 기능(예: 온도 조절, 멀티미디어 재생)을 제공하기 위한 장치일 수 있다. 제2 전자 장치(20)는 제1 전자 장치(10)와의 연결되어 차량에 장착가능한 장치일 수 있다. 제2 전자 장치(20)는 간단한 형태의 모듈로 구현될 수도 있다.
제1 전자 장치(10)는 제2 전자 장치(20)와의 연결에 기초하여, 제2 전자 장치(20)의 기능을 사용자에게 제공할 수 있다. 즉, 제1 전자 장치(10)는 제2 전자 장치(20)와 같은 외부의 다른 전자 장치와의 연결을 통해 기능을 확장함으로써 사용자에게 다양한 기능을 제공할 수 있다.
도 1에서는 본 발명이 차량 시스템(1)에 대해 적용되는 경우를 예로서 설명하고 있으나, 이에 제한되는 것은 아니고 기능의 확장이 요구되는 다양한 시스템에도 본 발명이 적용될 수 있다.
도 2는 본 발명의 일 실시예에 따른 제1 전자 장치와 제2 전자 장치의 기능 블록도를 도시한다. 구체적으로, 도 2는 제1 전자 장치(100)와 제2 전자 장치(200)를 포함하여 기능 확장을 가능하도록 하는 시스템(2)의 예를 나타낸다.
도 2를 참조하면, 시스템(2)은 제1 전자 장치(100), 제2 전자 장치(200), 제1 인터페이스(140), 제2 인터페이스(130)를 포함할 수 있다.
제1 전자 장치(100)는 제1 SoC(system on chip)(110), 스토리지(120)를 포함할 수 있으며, 경우에 따라 제1 인터페이스(140)의 적어도 일부, 제2 인터페이스(130)의 적어도 일부를 포함할 수도 있다.
제2 전자 장치(200)는 제2 SoC(210), 허브(hub)(230), 장치 정보 저장부(240), 스토리지(250)를 포함할 수 있으며, 경우에 따라 제1 인터페이스(140)의 적어도 일부, 제2 인터페이스(130)의 적어도 일부를 포함하도록 구현될 수도 있다.
이 때, 제1 전자 장치(100) 및 제2 전자 장치(200)에 포함되는 각 구성은 마이크로프로세서(microprocessor)를 포함하는 연산 장치에 의해 구현될 수 있다.
실시예에 따라, 제1 전자 장치(100)와 제2 전자 장치(200) 각각은 하나 또는 그 이상의 입력 장치(예: 카메라, 스피커, 마이크, 통신 모듈) 또는 하나 또는 그 이상의 출력 장치(예: 디스플레이)와 연결될 수 있다. 경우에 따라, 제1 전자 장치(100) 또는 제2 전자 장치(200)는 입력 장치 또는 출력 장치와 연결되는 형태가 아닌 입력 장치 또는 출력 장치를 포함하는 형태로 구현될 수도 있으며, 이에 본 발명이 제한되지는 않는다.
제1 전자 장치(100)는 제2 전자 장치(200)에 대한 정보에 기초하여 제2 전자 장치(200)를 이용한 특정 기능을 제공할 수 있다. 제2 전자 장치(200)에 대한 정보는 제2 전자 장치(200)의 하드웨어 또는 소프트웨어에 대한 정보를 포함할 수 있다.
제1 전자 장치(100)는 이와 같은 제2 전자 장치(200)에 대한 정보를 기초로 제2 전자 장치가 연결 가능한 장치인지(또는 이용 가능한 장치인지) 여부를 식별하고, 연결 가능한 장치인 경우, 제2 전자 장치(200)에서 제공되는 기능(예: 제2 전자 장치(200)에 설치된 어플리케이션을 이용한 기능)이 제1 전자 장치(100)를 통해서 제공되도록 할 수 있다.
제1 인터페이스(140)는 제2 전자 장치(200)와 연결되어 제2 전자 장치(200)의 장치 정보를 송수신할 수 있다. 구체적으로, 제1 인터페이스(140)는 장치 정보 저장부(240)와 제1 SoC(110)를 연결시켜 장치 정보 저장부(240)에 저장된 제2 전자 장치에 대한 정보가 제1 SoC(110)로 전송되도록 할 수 있다.
제2 인터페이스(130)는 제2 전자 장치(200)와 연결되어 통신을 수행할 수 있다. 구체적으로, 제2 인터페이스는 제1 SoC(110)와 제2 SoC(210)를 연결시켜 제1 전자 장치(100)와 제2 전자 장치(200) 사이의 통신이 수행되도록 할 수 있다. 또한, 제2 인터페이스(130)는 제2 SoC(210)로부터 제1 SoC(110)로 정보를 전달할 수도 있으며, 이 때 전달되는 정보는 제2 SoC(210)에 의해 획득되는 정보일 수 있다.
제1 인터페이스(140)는 시간당 데이터 전송량이 제2 인터페이스(130)를 통한 시간당 데이터 전송량보다 적은 인터페이스일 수 있다. 즉, 제1 인터페이스(140)는 저속의 인터페이스일 수 있고, 제2 인터페이스(130)는 고속의 인터페이스일 수 있다. 예를 들어, 제1 인터페이스(140)는 I2C(inter-integrated circuit) 또는 SPI(serial peripheral interface)를 포함할 수 있다. 제2 인터페이스(130)는 PCIe(peripheral component interconnect express)를 포함할 수 있다.
I2C는 저속의 주변기기를 연결하기 위해 사용되는 인터페이스로서, 데이터 송수신을 위한 선과 타이밍 동기화를 위한 선으로 이루어지는 통신 인터페이스일 수 있다. SPI는 전이중 통신이 가능한 인터페이스일 수 있다. PCIe는 입출력을 위한 직렬 구조의 인터페이스로, 보다 고속의 통신이 가능하도록 한다. PCIe는 I2C 또는 SPI에 비해 보다 복잡한 구성으로 초기화를 위해 I2C 또는 SPI보다 많은 시간이 소요될 수 있다. 한편, I2C, SPI, PCIe에 대해서는 통상의 기술자에게 용이한바 구체적인 설명은 생략하겠다.
제1 전자 장치(100)의 제1 SoC(110)는 제1 전자 장치(100)의 구동을 제어하기 위한 적어도 하나의 프로세서를 포함할 수 있으며, 실시예에 따라 제어부 또는 프로세서로 언급될 수도 있다.
제1 SoC(110)는 부팅(booting) 동작에 대응하여 제1 인터페이스(140)를 통해 제2 전자 장치(200)의 장치 정보 저장부(240)로부터 제2 전자 장치(200)의 정보 획득을 시도할 수 있다. 여기서, 부팅 동작은 제1 SoC(110)에 전원이 인가됨에 기초하여 제1 SoC(110)의 동작이 가능하도록 준비하는 절차를 의미할 수 있다.
구체적으로, 제1 SoC(110)는 부팅(booting)이 시작됨에 대응하여 제1 인터페이스(140)와 제2 인터페이스(130)를 초기화할 수 있다. 제1 인터페이스(140)와 제2 인터페이스(130)의 초기화는 서로 독립적으로 수행될 수 있으며, 순서에 무관하게 이루어질 수 있다.
경우에 따라, 제1 인터페이스(140)의 초기화에 소요되는 시간은 제2 인터페이스(130)의 초기화에 소요되는 시간보다 짧을 수 있는데, 이러한 경우, 후술되는 제1 인터페이스(140)를 이용하는 동작들이 수행되는 동안 제2 인터페이스(130)의 초기화가 병렬적으로 수행될 수 있다.
제1 SoC(110)는 제1 인터페이스(140)의 초기화가 완료되면, 제1 인터페이스(140)를 통해 제2 전자 장치(200)의 장치 정보 저장부(240)를 식별할 수 있다. 제1 SoC(110)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)와의 연결을 확인함에 기초하여 장치 정보 저장부(240)를 식별할 수 있다. 장치 정보 저장부(240)를 식별하는 동작은 부팅 동작에 대응하여 수행되는 것일 수 있다.
제1 SoC(110)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)와 통신을 시도할 수 있다. 제1 SoC(110)는 통신의 시도가 성공하면, 장치 정보 저장부(240)가 연결된 것으로, 즉 장치 정보 저장부(240)가 식별된 것으로 결정할 수 있다.
경우에 따라, 제1 SoC(110)는 도시된 바와 같이 제1 인터페이스(140) 및 제2 전자 장치(200)의 허브(230)를 통해 장치 정보 저장부(240)와 연결될 수도 있다. 이러한 경우, 제1 SoC(110)는 허브(230)를 통해 장치 정보 저장부(240)와 통신을 수행할 수 있고, 이에 기초하여 장치 정보 저장부(240)의 연결 여부를 식별할 수 있다.
한편, 허브(230)는 제1 인터페이스(140)뿐 아니라 다른 구성(예: 제2 SoC(210))이 장치 정보 저장부(240)에 연결되도록 할 수도 있다. 즉, 장치 정보 저장부(240)로의 진입은 하나의 경로로 가능할 수 있는데, 허브(230)가 장지 정보 저장부(240)의 일단에 연결됨에 기초하여 복수의 구성 중 하나가 선택적으로 장치 정보 저장부(240)에 연결될 수 있다.
장치 정보 저장부(240)는 제2 전자 장치(200)에 대한 정보, 예를 들어 제2 전자 장치(200)의 하드웨어(hardware)에 대한 정보 및 제2 전자 장치(200)의 소프트웨어(software)에 대한 정보를 포함할 수 있다. 여기서, 하드웨어에 대한 정보는 하드웨어와 관련된 다양한 정보로 예를 들어 하드웨어의 종류, 하드웨어의 버전(version), 하드웨어의 제조일자, 하드웨어의 성능에 대한 정보를 포함할 수 있다. 소프트웨어에 대한 정보는 소프트웨어와 관련된 다양한 정보로 예를 들어 소프트웨어의 종류, 소프트웨어의 버전, 소프트웨어의 제조일자, 소프트웨어의 업그레이드 일자에 대한 정보를 포함할 수 있다.
제1 SoC(110)는 장치 정보 저장부(240)가 식별되는 경우, 제1 인터페이스(140)를 통해 장치 정보 저장부(240)로부터 상기 제2 전자 장치(200)의 정보를 획득할 수 있다.
제1 SoC(110)는 제2 전자 장치(200)의 정보를 다양한 방식으로 획득할 수 있다. 예를 들어, 제1 SoC(110)는 장치 정보 저장부(240)가 식별되면 장치 정보 저장부(240)에 접근하여 제2 전자 장치(200)의 정보를 직접 획득할 수 있다. 다른 예를 들면, 제1 SoC(110)는 장치 정보 저장부(240)와의 통신에 기초하여 제2 전자 장치(200)의 정보를 수신함에 기초하여 제2 전자 장치(200)의 정보를 획득할 수 있다.
일 실시예에서, 제1 SoC(110)는 장치 정보 저장부(240)로부터 정보 획득을 복수회 시도할 수 있다. 제1 SoC(110)는 정보 획득이 성공하기까지 기지정된 횟수의 한도 내에서 장치 정보 저장부(240)에 대한 정보 획득을 시도할 수 있다.
정보 획득의 시도 횟수는 임의의 값으로 결정된 것일 수 있다. 다만 경우에 따라 정보 획득의 시도의 횟수는 제1 전자 장치(100)의 부팅 동작이 완료되는 시점에 기초하여 기결정될 수도 있다. 이와 관련된 보다 구체적인 설명은 도 4를 통해 후술하겠다.
이와 같은 제1 인터페이스(140)를 통한 제2 전자 장치(200)의 정보 획득은 부팅 동작에 대응하여 이루어질 수 있다. 즉, 제1 전자 장치(100)의 부팅이 완료되기 이전에 제1 인터페이스(140)와 관련된 동작이 수행될 수 있다. 한편, 후술하는 제2 인터페이스(130)를 이용한 동작은 제1 전자 장치(100)의 부팅이 완료된 이후에 수행될 수 있다.
제1 SoC(110)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)가 식별되지 않는 경우 제2 인터페이스(130)를 통해 제2 전자 장치(200)가 식별되는지 여부를 확인할 수 있다. 여기서, 제2 인터페이스(130)는 제2 전자 장치(200)의 제2 SoC(210)와 연결될 수 있는데, 이를 기초로 제1 SoC(110)는 제2 전자 장치(200)가 식별되는지 여부를 확인할 수 있다.
예를 들어, 제1 SoC(110)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)의 연결이 확인되지 않으면 장치 정보 저장부(240)가 식별되지 않는 것으로 결정하고, 제2 인터페이스(130)를 통해 제2 전자 장치(200)가 연결을 확인할 수 있다. 제2 인터페이스(130)를 통해 제2 전자 장치(200)가 연결됨이 확인되면 제1 SoC(110)는 제2 전자 장치(200)가 식별된 것으로 결정할 수 있다.
다른 예를 들어, 제1 SoC(110)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)를 통한 제2 전자 장치(200)의 정보가 획득되지 않으면 장치 정보 저장부(240)가 식별되지 않는 것으로 결정하고, 제2 인터페이스(130)를 통해 제2 전자 장치(200)가 연결을 확인할 수 있다. 제2 인터페이스(130)를 통해 제2 전자 장치(200)의 연결이 확인되면 제1 SoC(110)는 제2 전자 장치(200)가 식별된 것으로 결정할 수 있다.
한편, 제2 인터페이스(130)는 앞서 언급했던 바와 같이 PCIe를 포함할 수 있는데, 이러한 경우, 제1 SoC(110)는 PCIe 기반의 통신을 기초로 제2 전자 장치(200)의 연결 여부를 확인할 수 있다. 예를 들어, 제1 SoC(110)는 PCIe 채널 중 사이드밴드(sideband) 신호에 heartbeat check 신호를 추가하여 통신을 수행하고, 이와 관련된 변화를 감지하여 제2 전자 장치(200)가 연결되었는지 여부를 확인할 수 있다.
다른 예를 들면, 제1 SoC(110)는 PCIe 통신 후 링크 초기화(link initialization) 후 열거형(enumeration) 정리를 수행하고 BDF(bus device function)을 확인함에 기초하여 제2 전자 장치(200)가 연결되었는지 여부를 확인할 수 있다.
제1 SoC(110)는 제2 인터페이스(130)를 통해 제2 전자 장치(200)가 식별되는 경우, 제2 전자 장치(200)의 제2 SoC(210)와의 통신에 기초하여 제2 전자 장치(200)에 대한 정보를 제2 인터페이스(130)를 통해 획득할 수 있다.
구체적으로, 제1 SoC(110)는 제2 인터페이스(130)를 통해 제2 SoC(210)에 제2 전자 장치(200)에 대한 정보를 요청할 수 있다. 후술하겠으나, 제2 SoC(210)는 상기 요청에 대응하여 장치 정보 저장부(240)에 접근하여 제2 전자 장치(200)에 대한 정보를 획득할 수 있다. 제2 SoC(210)는 획득된 정보를 제2 인터페이스(130)를 통해 제1 SoC(110)에게 전송할 수 있다.
제1 SoC(110)는 제2 전자 장치(200)에 대한 정보를 획득하면 스토리지(120)에 저장되는 이용 가능 장치에 대한 정보 중 적어도 일부에 제2 전자 장치(200)에 대한 정보가 대응하는지 여부를 판별할 수 있다.
제1 SoC(110)는 제2 전자 장치(200)에 대한 정보가 이용 가능 장치에 대한 정보의 적어도 일부에 대응하는 경우, 제2 전자 장치(200)에 기초한 특정 기능의 사용이 가능한 것으로 판단할 수 있다. 제1 SoC(110)는 제2 전자 장치(200)에 대한 정보가 이용 가능 장치에 대한 정보 중 어느 일부에도 대응하지 않는 경우, 제2 전자 장치(200)와의 연결을 해제하거나 제2 전자 장치(200)의 소프트웨어의 업데이트를 요청하는 정보를 제공할 수 있다. 이와 관련된 보다 구체적인 설명은 도 5를 참조할 수 있다.
스토리지(120)는 제1 전자 장치(100)의 구동과 관련된 다양한 정보를 저장할 수 있다. 스토리지(120)는 예를 들면 이용 가능 장치에 대한 정보, 즉, 제1 전자 장치(100)와 연결되어 기능 확장이 가능한 다른 장치에 대한 정보를 저장할 수 있다.
구체적으로, 스토리지(120)는 이용 가능 장치의 하드웨어 또는 소프트웨어 중 적어도 하나에 대한 정보를 저장할 수 있다. 하드웨어에 대한 정보는 하드웨어와 관련된 다양한 정보로 예를 들어 하드웨어의 종류, 하드웨어의 버전(version), 하드웨어의 제조일자, 하드웨어의 성능에 대한 정보를 포함할 수 있다. 소프트웨어에 대한 정보는 소프트웨어와 관련된 다양한 정보로 예를 들어 소프트웨어의 종류, 소프트웨어의 버전, 소프트웨어의 제조일자, 소프트웨어의 업그레이드 일자에 대한 정보를 포함할 수 있다.
이용 가능 장치에 대한 정보는 제1 전자 장치(100)의 지원 사양에 따라 미리 결정되어 스토리지(120) 저장될 수 있다.
제2 SoC(210)는 제2 인터페이스(130)를 통해 제2 전자 장치(200)의 정보를 요청하는 신호가 수신되면, 장치 정보 저장부(240)에 접근하여 제2 전자 장치(200)의 정보를 획득할 수 있다. 제2 SoC(210)는 획득된 제2 전자 장치(200)에 대한 정보를 제2 인터페이스(130)를 통해 제1 SoC(110)에게 전송할 수 있다.
경우에 따라, 제2 SoC(210)는 허브(230)를 통해 장치 정보 저장부(240)와 연결될 수 있다. 이를 기초로, 제2 SoC(210)는 장치 정보 저장부(240)에서 제2 전자 장치(200)에 대한 정보를 획득할 수 있다.
허브(230)는 장치 정보 저장부(240)와 복수의 구성을 연결할 수 있다. 허브(230)는 기지정된 설정에 따라 장치 정보 저장부(240)와 연결되는 구성을 스위치(switch)함에 기초하여 복수의 구성 중 하나가 장치 정보 저장부(240)에 연결되도록 할 수 있다.
구체적으로, 허브(230)의 일단은 장치 정보 저장부(240)와 연결될 수 있으며, 타단은 장치 정보 저장부(240)와 연결되고자 하는 복수의 구성(예: 제1 SoC(110), 제2 SoC(210))와 연결될 수 있다.
허브(230)는 기지정된 조건에 따라 스위치하여 복수의 구성 중 하나가 장치 정보 저장부(240)에 연결되도록 할 수 있다. 예를 들어, 허브(230)는 제1 인터페이스로부터 특정 신호가 수신되면 장치 정보 저장부(240)가 제1 인터페이스(140)를 통해 제1 SoC(110)와 연결되도록 할 수 있다. 허브(230)는 제2 SoC(210)로부터 특정 신호가 수신되면 장치 정보 저장부(240)가 경로(220)를 통해 제2 SoC(210)와 연결되도록 할 수 있다.
장치 정보 저장부(240)는 제2 전자 장치(200)에 대한 정보를 저장할 수 있다. 구체적으로, 장치 정보 저장부(240)는 제2 전자 장치(200)에 대한 정보를 저장하며, 스토리지(250)와는 독립적으로 제1 전자 장치(100)와 같은 외부 장치로부터의 접근이 가능하도록 구현된 구성일 수 있다.
이에 따라, 상술한 바와 같이 제1 SoC(110)는 장치 정보 저장부(240)에 저장된 정보는 제2 SoC(210)를 통해서 획득할 수도 있고, 제2 SoC(210)를 통하지 않고 획득할 수도 있다.
장치 정보 저장부(240)는 제2 전자 장치(200)에 대한 정보, 즉 제2 전자 장치(200)의 하드웨어 또는 소프트웨어 중 적어도 하나에 대한 정보를 포함할 수 있다. 장치 정보 저장부(240)는 비휘발성 메모리일 수 있다. 장치 정보 저장부(240)는 예를 들면, EEPROM(electrically erasable programmable read-only memory)을 포함할 수 있다.
EEPROM은 비휘발성 메모리이지만 특정한 전기적 신호가 인가되는 경우 쓰기가 가능할 수 있다. 이를 기초로 제2 SoC(210)는 제2 전자 장치(200)의 정보에 변경이 생기는 경우, 장치 정보 저장부(240)에 저장된 제2 전자 장치(200)의 정보를 업데이트할 수 있다.
스토리지(250)는 제2 전자 장치(200)의 구동을 위해 요구되는 정보를 포함할 수 있다. 예를 들어, 스토리지(250)는 제2 전자 장치(200)의 OS(operating system)에 대한 정보를 포함할 수 있다. 이러한 스토리지(250)는 일반적인 저장소로 다른 전자 장치로부터의 직접적인 접근이 어려울 수 있다. 즉, 스토리지(250)에 저장된 정보는 제2 전자 장치(200)는 제2 SoC(210)를 통해서만 이용될 수 있다.
도 2에서는 장치 정보 저장부(240)와 스토리지(250)를 별개의 구성으로 도시하였으나, 경우에 따라 장치 정보 저장부(240)는 스토리지(250)에 포함되지만 스토리지(250)에 저장되는 다른 정보들과 구분되어 다른 전자 장치의 접근을 허여하는 방식으로 구현될 수 있다.
본 발명의 일 실시예에 따른 제1 전자 장치(100)는 부팅이 시작되면 부팅이 완료되기 전에 간단하게 구동 가능한 저속의 인터페이스인 제1 인터페이스(140)를 통해 장치 정보 저장부(240)로부터 제2 전자 장치(200)에 대한 정보를 획득함으로써, 제2 전자 장치(200)에 대한 식별이 보다 신속하게 이루어지도록 할 수 있다. 즉, 부팅이 완료되어 고속의 인터페이스인 제2 인터페이스(130)의 사용 가능 시점 이전에 미리 제2 전자 장치(200)에 대한 정보를 획득하여 보다 신속하게 제2 전자 장치(200)의 사용이 이루어지도록 할 수 있다.
또한, 제1 전자 장치(100)는 만약 제1 인터페이스(140)를 통해 제2 전자 장치(200)에 대한 정보를 획득하지 못하는 경우에는 보다 고속의 인터페이스인 제2 인터페이스(130)를 이용하여 제2 전자 장치(200)에 대한 정보를 획득할 수 있다. 이를 통해 제2 전자 장치(200)에 대한 정보 획득의 정확도 및 신뢰성을 향상시킬 수 있다.
도 3은 본 발명의 일 실시예에 따른 제1 전자 장치의 제어 방법의 흐름도를 도시한다. 구체적으로 도 3은 도 2에 도시된 시스템(2)의 제1 전자 장치(100)의 제어 방법의 흐름을 나타낸다. 이하 도 3의 각 단계는 경우에 따라 도면에 도시된 바와 그 순서를 달리하여 수행될 수 있다. 이하에서는 도 1 또는 도 2와 중복되는 내용이 생략될 수 있다.
도 3을 참조하면, 제1 전자 장치(100)는 제1 인터페이스(140) 및 제2 인터페이스(130)를 초기화할 수 있다(S110). 제1 인터페이스(140)의 초기화 및 제2 인터페이스(130)의 초기화는 제1 인터페이스(140) 및 제2 인터페이스(130)의 동작의 시작 단계에서 이루어지는 것으로, 서로 독립적이되 순서에 무관하게 수행될 수 있다.
제1 전자 장치(100)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)를 식별할 수 있다(S120). 구체적으로, 제2 전자 장치(200)는 제1 인터페이스(130)를 통해 제2 전자 장치(200)의 장치 정보 저장부(240)가 연결되어 있는지 여부를 확인함으로써 장치 정보 저장부(240)를 식별될 수 있다.
예를 들어, 제1 전자 장치(100)는 장치 정보 저장부(240)가 연결된 경우, 장치 정보 저장부(240)가 식별되는 것으로 결정할 수 있다. 제1 전자 장치(100)는 장치 정보 저장부(240)가 연결되지 않은 경우, 장치 정보 저장부(240)가 식별되지 않은 것으로 결정할 수 있다.
이와 같은 장치 정보 저장부(240)의 연결 여부는 제1 인터페이스(140)를 통한 제1 전자 장치(100)의 통신 시도를 통해 이루어질 수 있다. 예를 들어, 제1 전자 장치(100)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)에게 통신 신호를 전송할 수 있으며, 이에 대한 응답이 확인되면 장치 정보 저장부(240)가 연결된 것으로 결정할 수 있다.
경우에 따라, 제1 인터페이스(140)는 허브를 통해 장치 정보 저장부(240)와 연결될 수 있다. 허브는 복수의 장치와 장치 정보 저장부(240)를 연결하기 위한 매개체로서, 스위치를 포함하고 이를 제어하여 장치 정보 저장부(240)에 연결되는 장치를 제어할 수 있다. 예를 들어, 허브(230)는 스위치를 제1 위치로 조정하면 제1 인터페이스(140)와 장치 정보 저장부(240)가 연결되도록 할 수 있다. 허브(230)는 스위치를 제2 위치로 조정하여 다른 경로(예: 도 2의 경로(220))가 장치 정보 저장부(240)에 연결되도록 할 수 있다.
이와 같은 허브(230)의 스위칭 조건은 미리 지정되어 있을 수 있다. 예를 들어, 제1 전자 장치(100)가 통신 신호를 제1 인터페이스(140)를 통해 전송하면 허브(230)는 장치 정보 저장부(240)와 제1 전자 장치(100)가 연결되도록 할 수 있다.
제1 전자 장치(100)는 장치 정보 저장부(240)가 식별되면, 장치 정보 저장부(240)로부터 제2 전자 장치(200)의 정보를 획득할 수 있다(S130). 구체적으로, 제1 전자 장치(100)는 장치 정보 저장부(240)가 식별되며 장치 정보 저장부(240)에 저장된 제2 전자 장치(200)의 정보를 획득할 수 있다. 이와 같은 제1 인터페이스(140)를 통한 장치 정보 저장부(240)의 식별은 부팅 동작에 대응하여 이루어질 수 있다. 예를 들어, 제1 전자 장치(100)는 부팅 시작 시점에서부터 부팅 완료 시점까지 제1 인터페이스(140)를 통한 장치 정보 저장부(240)의 식별을 수행할 수 있다.
제1 전자 장치(100)는 장치 정보 저장부(240)가 식별되지 않으면, 제2 인터페이스(130)를 통해 제2 전자 장치(200)를 식별할 수 있다(S140). 구체적으로, 제1 전자 장치(100)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)를 인식할 수 없는 경우 또는 제2 전자 장치(200)에 대한 정보를 획득할 수 없는 경우에 제2 인터페이스(130)를 통한 제2 전자 장치(200)의 식별을 시도할 수 있다.
제2 전자 장치(200)의 식별은 제2 전자 장치(200)가 제2 인터페이스(130)를 통해 제1 전자 장치(100)와 연결되어 있는지 여부를 판별하는 것일 수 있다. 제2 인터페이스(130)는 제2 전자 장치(200)의 프로세서(또는 제2 SoC(210))와 연결되어 있을 수 있다. 이를 기초로 제1 전자 장치(100)는 제2 전자 장치(200)를 식별할 수 있다.
예를 들어, 제2 인터페이스(130)가 PCIe인 경우, 제1 전자 장치(100)는 PCIe의 채널 중 사이드밴드 신호에 특정 신호(예: heartbeat check 신호)를 추가하여 이를 제2 전자 장치(200)로 전송하고, 이에 대한 응답을 식별함으로써 제2 전자 장치(200)를 식별할 수 있다. 즉, 응답이 수신되면 제2 전자 장치(200)가 식별된 것으로 결정하고 응답이 수신되지 않으면 제2 전자 장치(200)가 식별되지 않은 것으로 결정할 수 있다. 사이드밴드 신호 또는 특정 신호에 대해서는 통상의 기술자에게 용이한바 구체적인 내용은 생략하겠다.
다른 예를 들면, 제2 인터페이스(130)가 PCIe인 경우, 제1 전자 장치(100)는 연결 초기화 후 연결형 정리를 수행하고 BDF를 확인하여 제2 전자 장치(200)를 식별 할 수 있다. 만약 BDF 확인을 통해 제2 전자 장치(200)가 존재하는 것으로 확인되면 제2 전자 장치(200)가 식별된 것으로 결정하고 제2 전자 장치(200)가 존재하지 않으면 제2 전자 장치(200)가 식별되지 않은 것으로 결정할 수 있다. 연결 초기화, 연결형 정리 및 BDF의 확인과 관련하여서는 통상의 기술자에게 용이한바 구체적인 내용은 생략하겠다.
제1 전자 장치(100)는 제2 인터페이스(130)를 통해 제2 전자 장치(200)가 식별되면 제2 전자 장치(200)로부터 제2 전자 장치(200)에 대한 정보를 획득할 수 있다(S150). 구체적으로, 제1 전자 장치(100)는 제2 전자 장치(200)가 식별되면, 제2 전자 장치(200)의 프로세서(또는 제2 SoC(210))에게 정보 요청 신호를 전송할 수 있다. 제2 전자 장치(200)의 프로세서는 정보 요청 신호를 수신하면 장치 정보 저장부(240)에 연결됨에 기초하여 장치 정보 저장부(240)에 저장된 제2 전자 장치(200)에 대한 정보를 획득할 수 있다.
제1 전자 장치(100)는 제2 인터페이스(130)를 통해 제2 전자 장치(200)가 식별되지 않으면, 제1 전자 장치(100)의 단일 동작을 수행할 수 있다(S160). 구체적으로, 제1 전자 장치(100)는 제2 인터페이스(130)를 통해 제2 전자 장치(200)가 식별되지 않으면, 제1 전자 장치(100)와 연결된 다른 전자 장치가 없는 것으로 보고 제1 전자 장치(100)만의 단일 동작을 수행할 수 있다.
경우에 따라 제1 전자 장치(100)는 디스플레이를 포함할 수 있는데, 이러한 경우 제1 전자 장치(100)는 제2 전자 장치(200)가 식별되지 않으면 제2 전자 장치(200)를 발견하지 못하였음을 알리는 알림창을 디스플레이에 표시할 수도 있다.
힌편, 제2 전자 장치(200)에 대한 정보의 획득 및 그 후의 구체적인 동작에 대해서는 도 5를 통해 후술하겠다.
도 4는 본 발명의 일 실시예에 따른 제1 전자 장치의 제어 방법 중 일부 단계의 흐름을 구체적으로 도시한다. 구체적으로, 도 4는 도 3의 단계 S120을 보다 구체적으로 나타낸다.
도 4를 참조하면, 제1 전자 장치(100)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)를 식별할 수 있다(S210). 구체적으로, 제1 전자 장치(100)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)가 제1 전자 장치(100)와 연결되었는지 여부를 식별할 수 있다.
제1 인터페이스(140)를 통해 장치 정보 저장부(240)가 제1 전자 장치(100)와 연결된 경우, 제1 전자 장치(100)는 도 3의 단계 S130을 수행할 수 있다.
만약, 제1 인터페이스(140)를 통해 장치 정보 저장부(240)가 제1 전자 장치(100)와 연결되지 않은 경우, 제1 전자 장치(100)는 카운트를 증가할 수 있다(S220). 여기서, 카운트는 제1 전자 장치(100)가 제1 인터페이스(140)를 통해 장치 정보 저장부(240)를 식별하도록 시도한 횟수를 의미할 수 있다. 이에 따라 카운트가 1만큼 증가되면 장치 정보 저장부(240)의 식별을 위한 시도가 한번 더 수행됨을 나타낼 수 있다.
제1 전자 장치(100)는 카운트가 특정 횟수 미만인지 여부를 식별할 수 있다(S230). 여기서, 특정 횟수는 제1 전자 장치(100)의 부팅 시간 및 장치 정보 저장부(240)의 인식 시간에 기초하여 기결정된 값일 수 있다. 예를 들어, 제1 전자 장치(100)의 부팅이 완료되기 까지 5초가 소요되고, 제1 전자 장치(100)가 장치 정보 저장부(240)를 인식하기 까지 1초가 소요되는 경우, 특정 횟수는 부팅이 완료되기 전까지 인식이 이루어질 수 있는 최대 횟수 이하의 특정한 값(예: 3회, 5회)로 결정될 수 있다. 다만, 이는 예시일 뿐 이에 제한되는 것은 아니고, 예를 들어 특정 횟수는 임의의 값으로 지정될 수도 있다.
카운트가 특정 횟수 미만인 경우, 제1 전자 장치(100)는 제1 인터페이스(140)를 통해 장치 정보 저장부(240)를 다시 식별하고(S210), 카운트의 증가와 같은 후술되는 동작을 수행할 수 있다.
도 5는 본 발명의 일 실시예에 따른 제1 전자 장치의 제어 방법 중 다른 일부 단계의 흐름을 구체적으로 도시한다. 구체적으로, 도 5는 도 3의 단계 S130 또는 단계 S150에 후행되는 제1 전자 장치(100)의 제어 방법의 동작을 보다 구체적으로 나타낸다.
도 5를 참조하면, 제1 전자 장치(100)는 제2 전자 장치(200)에 대한 정보를 획득할 수 있다(S310). 구체적으로, 제1 전자 장치(100)는 단계 S130과 관련하여 제1 인터페이스(140)를 통해 장치 정보 저장부(240)에 연결되어 제2 전자 장치(200)에 대한 정보를 획득하거나 단계 S150과 관련하여 제2 인터페이스(130)를 통해 제2 전자 장치(200)에 정보를 요청함에 기초하여 제2 전자 장치(200)의 정보를 획득할 수 있다.
제1 전자 장치(100)는 제2 전자 장치(200)가 연결 가능한 하드웨어인지 여부를 판단할 수 있다(S320). 제1 전자 장치(100)는 획득된 제2 전자 장치(200)에 대한 정보를 기초로 제2 전자 장치(200)가 제1 전자 장치(100)와 연결되어 특정 기능을 제공할 수 있는 하드웨어로 구성되는지 여부를 판단할 수 있다.
구체적으로, 제1 전자 장치(100)는 제1 전자 장치(100)의 스토리지의 이용 가능 장치에 대한 정보 중 제2 전자 장치(200)에 대한 정보와 대응하는 정보가 있는지 여부를 판별할 수 있다.
예를 들면, 이용 가능 장치에 대한 정보는 제1 전자 장치(100)와 연결 가능한 장치 또는 호환 가능한 장치에 대한 하드웨어 또는 소프트웨어에 대한 정보를 포함할 수 있다. 다른 예를 들면, 이용 가능 장치에 대한 정보는 제1 전자 장치(100)가 다른 장치와 연결되는 경우 다른 장치에서 제공되는 기능을 제1 전자 장치(100)에서 제공할 수 있는 적어도 하나의 장치에 대한 하드웨어 또는 소프트웨어에 대한 정보를 포함할 수 있다.
제1 전자 장치(100)는 이와 같은 이용 가능 장치에 대한 정보와 제2 전자 장치(200)의 정보 중 하드웨어에 대한 정보를 비교하여. 제2 전자 장치(200)가 제1 전자 장치(100)와 연결 가능한 하드웨어를 포함하는지 여부를 판별할 수 있다. 여기서, 연결 가능한 하드웨어란 제1 전자 장치(100)에 연결되어 특정 기능의 확장이 가능하도록 제조된 하드웨어를 의미할 수 있다.
제1 전자 장치(100)는 이용 가능 장치에 대한 정보 중 제2 전자 장치(200)의 하드웨어에 대한 정보와 대응되는 정보가 있는 경우, 제1 전자 장치(100)는 제2 전자 장치(200)는 연결 가능한 하드웨어를 가지는 것으로 결정할 수 있다. 예를 들어, 이용 가능한 장치에 대한 정보가 제1 하드웨어, 제2 하드웨어, 제1 소프트웨어, 제2 소프트웨어에 대한 정보를 포함하고, 제2 전자 장치(200)에 대한 정보가 제1 하드웨어에 대한 정보를 포함하는 경우, 제1 전자 장치(100)는 제2 전자 장치(200)는 연결 가능한 하드웨어를 가지는 것으로 결정할 수 있다.
제1 전자 장치(100)는 이용 가능 장치에 대한 정보 중 제2 전자 장치(200)의 하드웨어에 대한 정보와 대응되는 정보가 없는 경우, 제1 전자 장치(100)는 제2 전자 장치(200)는 연결 가능한 하드웨어를 가지지 않는 것으로 결정할 수 있다. 예를 들어, 이용 가능한 장치에 대한 정보가 제1 하드웨어, 제2 하드웨어, 제1 소프트웨어, 제2 소프트웨어에 대한 정보를 포함하고, 제2 전자 장치(200)에 대한 정보가 제3 하드웨어에 대한 정보를 포함하는 경우, 제1 전자 장치(100)는 제2 전자 장치(200)는 연결 가능한 하드웨어를 가지지 않는 것으로 결정할 수 있다.
제1 전자 장치(100)는 제2 전자 장치(200)가 연결 가능한 하드웨어를 가지지 않는 경우에는 연결 가능한 하드웨어에 대한 정보를 제공할 수 있다(S330). 연결 가능한 하드웨어에 대한 정보의 제공은 다양한 방식으로 이루어질 수 있다. 예를 들어, 제1 전자 장치(100)는 제1 전자 장치(100)의 출력 장치를 통해 연결 가능한 하드웨어에 대한 정보를 제공할 수 있다. 다른 예를 들면, 제1 전자 장치(100)는 제2 전자 장치(200)에게 연결 가능한 하드웨어에 대한 정보를 제공함으로써 제2 전자 장치(200)를 통해 연결 가능한 하드웨어에 대한 정보가 제공되도록 할 수 있다.
경우에 따라, 제1 전자 장치(100)는 연결 가능한 하드웨어에 대한 정보 대신 연결이 불가능함을 나타내는 알림(notificiation)을 제공할 수도 있다. 이와 관련된 보다 구체적인 예는 도 9를 참조할 수 있다.
제1 전자 장치(100)는 제2 전자 장치(200)가 연결 가능한 하드웨어를 가지는 경우 제2 전자 장치(200)가 지원 가능한 소프트웨어를 가지는지 여부를 판별할 수 있다(S340). 단계 S340도 단계 S320에 대응하는 방법으로 수행될 수 있다.
즉, 제1 전자 장치(100)는 스토리지에 저장된 이용 가능 장치에 대한 정보를 제2 전자 장치(200)에 대한 정보 중 소프트웨어에 대한 정보와 비교함에 기초하여 제2 전자 장치(200)가 지원 가능한 소프트웨어를 가지는지 여부를 판별할 수 있다. 여기서, 지원 가능한 소프트웨어란 특정 기능의 확장이 제1 전자 장치(100) 상에서 제공되도록 제1 전자 장치(100)의 하드웨어 또는 소프트웨어와 호환 가능한 소프트웨어를 의미할 수 있으다.
구체적으로, 제1 전자 장치(100)는 이용 가능 장치에 대한 정보 중 제2 전자 장치(200)의 소프트웨어에 대한 정보와 대응되는 정보가 있는 경우, 제1 전자 장치(100)는 제2 전자 장치(200)는 지원 가능한 소프트웨어를 가지는 것으로 결정할 수 있다. 제1 전자 장치(100)는 이용 가능 장치에 대한 정보 중 제2 전자 장치(200)의 소프트웨어에 대한 정보와 대응되는 정보가 없는 경우, 제1 전자 장치(100)는 제2 전자 장치(200)는 지원 가능한 소프트웨어를 가지지 않는 것으로 결정할 수 있다.
제2 전자 장치(200)가 지원 가능한 소프트웨어를 가지는 경우, 제1 전자 장치(100)는 정상 부팅을 진행할 수 있다(S350). 예를 들어, 제1 전자 장치(100)는 제2 전자 장치(200)가 지원 가능한 소프트웨어를 가지는 경우 제2 전자 장치(200)와 관련된 특정 기능에 이용되는 제1 전자 장치(100)의 하드웨어에 전원을 공급하여 정상적으로 부팅이 진행되도록 할 수 있다.
제2 전자 장치(200)가 지원 가능한 소프트웨어를 가지지 않는 경우, 제1 전자 장치(100)는 FOTA(firmware over the air) 또는 USB(universal serial bus)를 이용한 소프트웨어의 업데이트를 수행할 수 있다(S360). 이와 관련된 보다 구체적인 설명은 도 6을 통해 후술하겠다.
경우에 따라 제1 전자 장치(100)는 제2 전자 장치(200)가 연결 가능한 소프트웨어를 가지지 않는 경우, 소프트웨어의 업데이트가 필요함을 나타내는 정보를 제공할 수 있다. 예를 들어, 제1 전자 장치(100)는 소프트웨어의 업데이트가 필요함을 나타내는 정보를 제1 전자 장치(100)의 출력 장치를 통해 출력할 수 있다. 다른 예를 들면, 제1 전자 장치(100)는 소프트웨어의 업데이트가 필요함을 나타내는 정보를 제2 전자 장치(200)에 전송함에 기초하여 제2 전자 장치(200)를 통해 소프트웨어의 업데이트가 필요함을 나타내는 정보가 제공되도록 할 수 있다. 이러한 정보의 예는 도 10을 참조할 수 있다.
도 6은 본 발명의 일 실시예에 따른 제1 전자 장치의 제어 방법 중 또 다른 일부 단계의 흐름을 구체적으로 도시한다. 구체적으로, 도 6은 도 5의 단계 S360을 보다 구체적으로 나타낸다.
도 6을 참조하면, 제1 전자 장치(100)는 FOTA 또는 USB 중 업데이트(update)(또는 업그레이드(upgrade))를 수행할 방식을 결정하는 입력을 요청할 수 있다(S410). 구체적으로, 제1 전자 장치(100)는 제2 전자 장치(200)의 소프트웨어가 제1 전자 장치(100)에서 지원 가능한 소프트웨어가 아니라고 판별되는 경우, FOTA 또는 USB 중 업데이트를 수행할 방식을 결정하는 입력을 요청할 수 있다.
입력의 요청은 다양한 방식으로 이루어질 수 있다. 예를 들어, 제1 전자 장치(100)는 입력을 요청하는 정보를 포함하는 윈도우 창이 디스플레이하는 방식으로 FOTA 또는 USB 중 업데이트를 수행할 방식을 결정하는 입력을 요청할 수 있다. 이에 대한 보다 구체적인 예시는 도 10을 참조할 수 있다.
제1 전자 장치(100)는 FOTA를 이용한 업데이트의 수행 여부를 결정할 수 있다(S420). 제1 전자 장치(100)는 FOTA를 이용한 업데이트를 요청하는 입력이 인가되면 FOTA를 이용한 업데이트를 수행하는 것으로 결정할 수 있다. 제1 전자 장치(100)는 FOTA를 이용한 업데이트를 요청하는 입력이 인가되지 않으면 FOTA를 이용한 업데이트를 수행하지 않는 것으로 결정할 수 있다.
제1 전자 장치(100)는 FOTA를 이용한 업데이트를 수행하는 것으로 결정된 경우, 제1 전자 장치(100) 또는 제2 전자 장치(200)의 인터넷 연결 여부를 결정할 수 있다(S430).
제1 전자 장치(100)는 인터넷 연결에 기초하여 FOTA 기반의 소프트웨어의 업데이트를 수행할 수 있다(S440). 제1 전자 장치(100)는 제1 전자 장치(100)가 인터넷에 연결되어 있는 경우 제1 전자 장치(100)를 통해 제2 전자 장치(200)에 소프트웨어 업데이트를 위한 정보가 다운되도록 함으로써 소프트웨어의 업데이트를 수행할 수 있다. 만약 제2 전자 장치(200)에 인터넷이 연결되는 경우, 제1 전자 장치(100)는 제2 전자 장치(200) 소프트웨어 업데이트 요청을 전달함에 기초하여 소프트웨어가 업데이트 되도록 할 수 있다. FOTA 기반의 소프트웨어 업데이트와 관련하여서는 통상의 기술자에게 용이한바 구체적인 설명은 생략하겠다.
제1 전자 장치(100)는 FOTA를 이용한 업데이트를 수행하지 않는 것으로 결정되면, USB의 연결 여부를 확인할 수 있다(S450). 여기서, USB는 제1 전자 장치(100) 또는 제2 전자 장치(200)에 연결될 수 있으며, USB에는 소프트웨어의 업데이트를 위한 프로그램이 저장되어 있을 수 있다.
제1 전자 장치(100)는 USB 연결에 기초하여 USB에 저장된 소프트웨어 업데이트 프로그램을 실행시켜 제2 전자 장치(200)의 소프트웨어 업데이트를 수행할 수 있다(S460).
경우에 따라, 제1 전자 장치(100)는 단계 S410의 수행 전에 제2 전자 장치(200)에게 소프트웨어의 업데이트가 필요함을 나타내는 정보를 제공할 수 있다. 이를 기초로 도 6의 각 동작들은 제2 전자 장치(200)에 의해 이루어질 수도 있다.
도 7은 본 발명의 다른 실시예에 따른 제1 전자 장치와 제2 전자 장치의 기능 블록도를 도시한다. 구체적으로, 도 7은 제2 전자 장치가 자율 주행과 관련된 기능을 포함하는 자율주행 모듈인 경우 제1 전자 장치가 제2 전자 장치와의 연결에 기초하여 자율주행 기능을 이용하는 경우를 나타낸다.
도 7을 참조하면, 시스템(3)은 차량에 장착되는 제1 전자 장치(100)(301)와 자율주행 기능의 제공을 위한 프로그램을 포함하는 제2 전자 장치(302)를 포함할 수 있다. 제1 전자 장치(301)와 제2 전자 장치(302)는 제1 인터페이스(330)와 제2 인터페이스(340)를 통해 서로 연결될 수 있다. 제2 전자 장치(302)는 경우에 따라 자율주행을 위한 자율주행 모듈로 지칭될 수도 있다.
제1 전자 장치(301)는 제1 전자 장치(301)의 전반적인 구동을 제어하는 제1 SoC(310)와 제1 전자 장치(301)의 구동에 대한 정보 및 제1 전자 장치(301)와 연결 가능한 다른 장치에 대한 정보를 포함하는 스토리지(320)를 포함할 수 있다.
제2 전자 장치(302)는 제2 전자 장치(302)의 전반적인 구동을 제어하는 제2 SoC(350)와 제2 전자 장치(301)의 구동에 대한 정보를 포함하는 스토리지(390), 제2 전자 장치(302)에 대한 정보를 포함하는 자율주행 모듈 정보 저장부(380), 외부의 다른 전자 장치 또는 제2 SoC(350)가 자율주행 모듈 정보 저장부(380)와 연결되도록 하는 허브(370)를 포함할 수 있다.
또한 제2 전자 장치(302)는 자율주행 기능의 제공을 위한 외부 장치를 포함할 수 있다. 예를 들어, 제2 전자 장치(302)는 카메라(361), 레이더(rader)(363), 라이다(lidar)(365)를 포함할 수 있으나, 이에 제한되는 것은 아니고 자율주행 기능의 수행과 관련된 다양한 장치를 포함할 수 있다. 경우에 따라 외부 장치는 제2 전자 장치(302)와 연결되는 형태로 구현될 수도 있으나 이에 본 발명이 제한되는 것은 아니다.
한편, 레이더(363)는 전자기파를 방사하고 방사된 전자기파가 주변의 물체에 의해 반사되어 돌아오는 것을 분석하여 주변의 물체와의 거리를 측정하는 센서일 수 있다. 라이다(365)는 레이저를 방사하여 방사된 레이저가 주변의 물제에 의해 반사되어 돌아오는 빛을 분석하여 주변의 물체와의 거리를 측정하는 센서일 수 있다. 레이더(363) 및 라이다(365)와 관련하여서는 통상의 기술자에게 용이한바 구체적인 설명은 생략하겠다.
제1 SoC(310)는 부팅의 시작에 대응하여 제1 인터페이스(330) 및 제2 인터페이스(340)를 초기화시킬 수 있다. 제1 인터페이스(330) 및 제2 인터페이스(340)의 초기화는 독립적으로 순서에 무관하게 이루어질 수 있다.
제1 SoC(310)는 제1 인터페이스(330)를 통해 자율주행 모듈 정보 저장부(380)의 연결 여부를 식별할 수 있다. 제1 SoC(310)는 제1 인터페이스(330)를 통한 통신에 기초하여 자율주행 모듈 정보 저장부(380)의 연결 여부를 식별할 수 있다.
구체적으로, 제1 SoC(310)는 제1 인터페이스(330)를 통한 통신을 시도할 수 있다. 통신의 시도에 의해 특정 신호가 제1 인터페이스(330)를 통해 전송되면 허브(370)는 이를 인식하여 제1 인터페이스(330)가 자율주행 모듈 정보 저장부(380)와 연결되도록 할 수 있다. 자율주행 모듈 정보 저장부(380)로부터의 응답 신호가 제1 SoC(310)에 수신되면 제1 SoC(310)는 자율주행 모듈 정보 저장부(380)가 연결된 것으로 식별할 수 있다.
이와 같은 제1 인터페이스(330)를 통한 통신의 시도는 제1 전자 장치의 부팅 시간 및 자율주행 모듈 정보 저장부의 인식 시간에 기초하여 기결정된 특정 횟수 이하로 이루어질 수 있다. 이를 기초로 제1 인터페이스를 통한 통신의 시도는 제1 전자 장치(301)와 제2 전자 장치(302)의 부팅이 수행되는 시간 이내에 이루어질 수 있다,
제1 SoC(310)는 자율주행 모듈 정보 저장부(380)가 식별되면 자율주행 모듈 정보 저장부(380)와의 연결에 기초하여 저장된 제2 전자 장치(302)에 대한 정보를 획득할 수 있다. 제2 전자 장치(302)에 대한 정보는 제2 전자 장치(302)의 하드웨어 또는 소프트웨어 중 적어도 하나에 대한 정보를 포함할 수 있다. 하드웨어에 대한 정보는, 하드웨어의 종류, 하드웨어의 버전, 하드웨어의 제조일자, 하드웨어의 성능에 대한 정보를 포함할 수 있다. 소프트웨어에 대한 정보는 소프트웨어와 관련된 다양한 정보로 예를 들어 소프트웨어의 종류, 소프트웨어의 버전, 소프트웨어의 제조일자, 소프트웨어의 업그레이드 일자에 대한 정보를 포함할 수 있다.
제1 SoC(310)는 자율주행 모듈 정보 저장부(380)가 식별되지 않거나, 제2 전자 장치(302)에 대한 정보를 획득하지 못한 경우, 제2 인터페이스(340)를 통한 통신을 시도할 수 있다. 이와 같은 제2 인터페이스(340)를 통한 통신의 시도는 제1 전자 장치(301)와 제2 전자 장치(302)의 부팅이 완료된 이후에 이루어질 수 있다,
제1 SoC(310)는 제2 인터페이스(340)를 통해 제2 SoC(350)와 연결될 수 있다. 제2 SoC(350)는 제2 전자 장치(302)의 전반적인 구동을 담당하는 것이기 때문에 내부적으로 자율주행 모듈 정보 저장부(380)와 특정 경로(355)로 연결되어 있을 수 있다.
도시된 바와 같이 제2 SoC(350)는 허브(370)를 통해 자율주행 모듈 정보 저장부(380)와 연결될 수 있다. 한편, 허브(370)는 스위치를 포함할 수 있는데, 이를 통해 자율주행 모듈 정보 저장부(380)와 연결되는 구성을 변환할 수 있다. 예를 들어, 허브(370)는 제1 인터페이스를 통한 통신 신호가 수신되면 스위치를 제1 위치로 이동시켜 제1 인터페이스를 통해 제1 SoC(310)가 자율주행 모듈 정보 저장부(380)와 연결되도록 할 수 있다. 허브는 제2 SoC(350)에 의한 특정 신호가 수신되면 스위치를 제2 위치로 이동시켜 제2 SoC(350)가 특정 경로(355)를 통해 자율주행 모듈 정보 저장부(380)와 연결되도록 할 수 있다.
제1 SoC(310)는 제2 인터페이스(340)를 통해 자율주행 모듈 정보를 요청하는 신호(이하, 정보 요청 신호)를 제2 SoC(350)에게 전송할 수 있다. 정보 요청 신호에 대응하여 제2 SoC(350)는 자율주행 모듈 정보 저장부(380)와 연결되어 자율주행 모듈 정보 저장부(380)에 저장된 제2 전자 장치(302)에 대한 정보를 획득할 수 있다. 제2 SoC(350)는 제2 전자 장치(302)에 대한 정보를 제2 인터페이스(340)를 통해 제1 SoC(310)에 전송할 수 있다.
제1 SoC(310)는 획득된 제2 전자 장치(302)에 대한 정보가 기저장된 이용 가능 장치에 대한 정보 중 적어도 일부에 대응하는지 여부를 판별할 수 있다. 제1 SoC(310)는 획득된 제2 전자 장치(302)에 대한 정보가 기저장된 이용 가능 장치에 대한 정보 중 적어도 일부에 대응하는 경우, 제2 전자 장치(302)가 제1 전자 장치(301)와 연결가능한 장치인 것으로 결정할 수 있다.
이러한 경우 제1 전자 장치(301)는 애초에 자율주행 기능을 제공할 수 없는 장치일지라도 제2 전자 장치(302)의 자율주행 기능을 이용할 수 있게 됨으로써, 제1 전자 장치(301)의 사용자에게 자율주행 기능을 제공할 수 있다.
제1 SoC(310)는 획득된 제2 전자 장치(302)에 대한 정보가 기저장된 이용 가능 장치에 대한 정보 중 어느 일부에도 대응하지 않는 경우, 제2 전자 장치(302)가 제1 전자 장치(301)와 연결 불가능한 장치인 것으로 결정할 수 있다. 이러한 경우, 제1 SoC(310)는 연결이 불가함을 나타내는 정보를 제공하거나 업데이트 또는 장치의 교환을 요청하는 정보를 제1 전자 장치(301) 또는 제2 전자 장치(302)의 출력 장치를 통해 제공할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 제1 전자 장치의 제어 방법의 흐름도를 도시한다. 구체적으로, 도 8은 도 7의 제1 전자 장치(301)와 제2 전자 장치(302)를 포함하는 시스템(3) 내에서 제1 전자 장치(301)의 제어 방법의 흐름을 나타낸다.
도 8을 참조하면, 제1 전자 장치(301)는 부팅의 시작에 대응하여 제1 인터페이스(330) 및 제2 인터페이스(340)를 초기화할 수 있다(S510). 제1 전자 장치(301)는 제1 인터페이스(330)를 통해 자율주행 모듈 정보 저장부(380)를 식별할 수 있다(S520).
제1 전자 장치(301)는 자율주행 모듈 정보 저장부(380)가 식별되면 자율주행 모듈 정보 저장부(380)로부터 제2 전자 장치(302)에 대한 정보를 획득할 수 있다. 제2 전자 장치(302)에 대한 정보는 제2 전자 장치(302)의 하드웨어 또는 소프트웨어에 대한 정보를 포함할 수 있다. 제2 전자 장치(302)가 자율주행을 위한 장치이기 때문에, 소프트웨어는 자율주행을 위한 소프트웨어일 수 있다.
제1 전자 장치(301)는 자율주행 모듈 정보 저장부(380)가 식별되지 않으면 제2 인터페이스를 통해 제2 전자 장치(302)를 인식할 수 있다(S530). 제1 전자 장치(301)는 제2 전자 장치(302)가 인식되면 제2 전자 장치(302)로부터 제2 전자 장치(302)에 대한 정보를 획득(S560)할 수 있다. 제1 전자 장치(301)는 제2 전자 장치(302)에 대한 정보를 제1 전자 장치(301)의 이용 가능 장치에 대한 정보와 비교하여, 제2 전자 장치(302)가 제1 전자 장치(301)와 연결가능한 장치인지 여부를 확인할 수 있다.
제1 전자 장치(301)는 제2 전자 장치(302)가 연결가능한 장치인 것으로 확인되면, 제2 전자 장치(302)와의 연결에 기초하여 제2 전자 장치(302)가 제공하는 기능, 즉 자율주행을 제공할 수 있다.
제1 전자 장치(301)는 제2 전자 장치(302)가 인식되지 않으면 일반 주행을 수행할 수 있다(S540). 일반 주행은 제1 전자 장치(301)가 원래 제공하는 기능일 수 있다.
이와 같이, 본 발명의 일 실시예에 따르면 제1 전자 장치(301)는 제2 전자 장치(302)를 제1 전자 장치(301)에 연결함으로써 제1 전자 장치(301)에서는 제공되지 않았던 제2 전자 장치(302)에 기반한 기능을 사용자에게 제공할 수 있다.
이에 따라 사용자는 전자 기술의 발전에 따라 새로운 기능을 사용하기 위해, 제1 전자 장치(301)를 교체하지 않고, 새로운 기술을 제공하는 제2 전자 장치(302)와 같은 외부 장치를 연결하기만 하면 손쉽게 새로운 기능을 사용할 수 있다.
도 9는 본 발명의 일 실시예에 따른 제1 전자 장치에서 제공되는 사용자 인터페이스의 예를 도시한다. 구체적으로, 도 9는 제2 전자 장치의 하드웨어가 이용 불가한 경우에 제공되는 정보의 예를 나타낸다.
제1 전자 장치는 디스플레이와 같은 출력 장치를 포함할 수 있다. 이러한 경우에는, 도 9에 도시된 바와 같이 제2 전자 장치와 관련하여 제1 전자 장치를 통해 확인된 정보가 출력 장치를 통해 표시될 수 있다.
도 9를 참조하면, 제2 전자 장치의 하드웨어가 제1 전자 장치에서 이용 불가한 경우, '지원이 불가한 장치입니다'라는 텍스트가 포함된 윈도우 창이 제1 전자 장치에 표시될 수 있다.
도시하지는 않았으나, 제1 전자 장치는 도 9에 표시된 텍스트 이외에도, 현재 제2 전자 장치의 하드웨어가 무엇인지에 대한 정보, 제1 전자 장치와 연결가능한 하드웨어에 대한 정보(예: 하드웨어의 종류, 하드웨어의 버전)를 제공할 수도 있다.
경우에 따라, 도 9와 같은 정보는 제2 전자 장치를 통해서도 표시될 수 있으며, 이에 본 발명이 제한되지는 않는다.
도 10은 본 발명의 일 실시예에 따른 제1 전자 장치에서 제공되는 사용자 인터페이스의 다른 예를 도시한다. 구체적으로, 도 9는 제2 전자 장치의 소프트웨어가 지원 불가(또는 이용 불가)한 경우에 제공되는 정보의 예를 나타낸다.
도 10을 참조하면, 제2 전자 장치의 소프트웨어가 제1 전자 장치에서 이용할 수 없는 경우, 제1 전자 장치는 소프트웨어의 업데이트를 요청하는 정보, 현재 제2 전자 장치의 소프트웨어의 버전, 제1 전자 장치와 연결가능한 소프트웨어의 버전에 대한 정보를 제공할 수 있다. 이러한 정보는 제1 전자 장치의 출력 장치를 통해 표시될 수 있다.
제1 전자 장치는 도 9와 같이 FOTA를 이용하여 업데이트를 할 것인지 또는 USB를 이용하여 업데이트를 할 것인지 여부에 대한 입력창(410)을 표시함으로써 사용자의 입력을 요청할 수 있다.
'FOTA 업데이트'라고 표시된 영역에 대한 입력이 획득되면 경우, FOTA를 이용하여 업데이트가 제2 전자 장치의 소프트웨어에 대해 수행될 수 있다. 'USB 업데이트'라고 표시된 영역에 대한 입력이 획득되면, USB를 이용한 업데이트가 제2 전자 장치의 소프트웨어에 대해 수행될 수 있다.
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 전자 장치에 있어서,
    다른 전자 장치에 대한 정보를 저장하는 장치 정보 저장부의 정보를 수신하기 위한 제1 인터페이스;
    상기 다른 전자 장치의 프로세서와 통신하기 위한 제2 인터페이스; 및
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되는 경우, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 다른 전자 장치의 정보를 획득하고,
    상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되지 않는 경우 상기 제2 인터페이스를 통해 상기 다른 전자 장치가 식별되는지 여부를 확인하고,
    상기 제2 인터페이스를 통해 상기 다른 전자 장치가 식별되는 경우, 상기 다른 전자 장치의 프로세서와의 통신에 기초하여 상기 다른 전자 장치에 대한 정보를 상기 제2 인터페이스를 통해 획득하는
    전자 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 다른 전자 장치에 대한 정보에 기초하여 상기 다른 전자 장치를 이용한 특정 기능을 제공하는
    전자 장치.
  3. 제1항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 전자 장치의 부팅(booting) 동작에 대응하여 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 다른 전자 장치의 정보 획득을 시도하는
    전자 장치.
  4. 제3항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 다른 전자 장치의 정보가 획득되거나 상기 정보 획득의 시도와 병렬적으로 상기 전자 장치에 대한 초기화를 포함하는 부팅 동작을 수행하는
    전자 장치.
  5. 제3항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 전자 장치의 부팅 동작 완료에 대응하는 상기 정보 획득의 시도의 횟수를 기초로, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 다른 전자 장치의 정보 획득을 시도하는
    전자 장치.
  6. 제1항에 있어서,
    상기 제1 인터페이스를 통한 시간당 데이터 전송량이 상기 제2 인터페이스를 통한 시간당 데이터 전송량보다 적은
    전자 장치.
  7. 제6항에 있어서,
    상기 제1 인터페이스는 I2C(inter-integrated circuit) 또는 SPI(serial peripheral interface)를 포함하고,
    상기 제2 인터페이스는 PCIe(peripheral component interconnect express)를 포함하는
    전자 장치.
  8. 제1항에 있어서,
    상기 장치 정보 저장부는 비휘발성 메모리를 포함하며, 상기 다른 전자 장치의 스토리지(storage)와 구분되어 상기 다른 전자 장치에 포함되고,
    상기 스토리지는 상기 다른 전자 장치의 구동과 관련하여 요구되는 정보를 저장하는
    전자 장치.
  9. 제1항에 있어서,
    상기 다른 전자 장치에 대한 정보는,
    상기 다른 전자 장치의 하드웨어(hardware)에 대한 정보 및 상기 다른 전자 장치의 소프트웨어(software)에 대한 정보를 포함하고,
    전자 장치.
  10. 제9항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 다른 전자 장치에 대한 정보가 상기 전자 장치에서 이용 가능 장치에 대한 정보의 적어도 일부에 대응하는 경우, 상기 다른 전자 장치에 기초한 특정 기능의 사용이 가능한 것으로 판단하고,
    상기 다른 전자 장치에 대한 정보가 상기 전자 장치에서 이용 가능 장치에 대한 정보의 어느 일부에도 대응하지 않는 경우, 상기 다른 전자 장치와의 연결을 해제하거나 상기 다른 전자 장치의 소프트웨어의 업데이트를 요청하는 정보를 제공하며,
    상기 이용 가능 장치에 대한 정보는 상기 전자 장치에 미리 저장된
    전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    다른 전자 장치에 대한 정보를 저장하는 장치 정보 저장부의 정보를 수신하기 위한 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되는 경우, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 다른 전자 장치의 정보를 획득하는 단계와,
    상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되지 않는 경우, 상기 다른 전자 장치의 프로세서와 통신하기 위한 제2 인터페이스를 통해 상기 다른 전자 장치가 식별되는지 여부를 확인하는 단계와,
    상기 제2 인터페이스를 통해 상기 다른 전자 장치가 식별되는 경우, 상기 다른 전자 장치의 프로세서와의 통신에 기초하여 상기 다른 전자 장치에 대한 정보를 상기 제2 인터페이스를 통해 획득하는 단계를 포함하는
    전자 장치의 제어 방법.
  12. 제11항에 있어서,
    상기 전자 장치는,
    상기 다른 전자 장치에 대한 정보에 기초하여 상기 다른 전자 장치를 이용한 특정 기능을 제공하는
    전자 장치의 제어 방법.
  13. 제11항에 있어서,
    상기 다른 전자 장치의 정보를 획득하는 단계는,
    상기 전자 장치의 부팅(booting) 동작에 대응하여 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 다른 전자 장치의 정보 획득을 시도하는 단계를 더 포함하는
    전자 장치의 제어 방법.
  14. 제13항에 있어서,
    상기 다른 전자 장치의 정보가 획득되거나 상기 정보 획득의 시도와 병렬적으로 상기 전자 장치에 대한 초기화를 포함하는 부팅 동작을 수행하는 단계를 더 포함하는
    전자 장치의 제어 방법.
  15. 제13항에 있어서,
    상기 정보 획득을 시도하는 단계는,
    상기 전자 장치의 부팅 동작 완료에 대응하는 상기 정보 획득의 시도의 횟수를 기초로, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 다른 전자 장치의 정보 획득을 시도하는 단계를 포함하는
    전자 장치의 제어 방법.
  16. 제11항에 있어서,
    상기 제1 인터페이스를 통한 시간당 데이터 전송량이 상기 제2 인터페이스를 통한 시간당 데이터 전송량보다 적은
    전자 장치의 제어 방법.
  17. 제11항에 있어서,
    상기 다른 전자 장치에 대한 정보는,
    상기 다른 전자 장치의 하드웨어(hardware)에 대한 정보 및 상기 다른 전자 장치의 소프트웨어(software)에 대한 정보를 포함하는
    전자 장치의 제어 방법.
  18. 제11항에 있어서,
    상기 다른 전자 장치에 대한 정보가 상기 전자 장치에서 이용 가능 장치에 대한 정보의 적어도 일부에 대응하는 경우, 상기 다른 전자 장치에 기초한 특정 기능의 사용이 가능한 것으로 판단하는 단계와,
    상기 다른 전자 장치에 대한 정보가 상기 전자 장치에서 이용 가능 장치에 대한 정보의 어느 일부에도 대응하지 않는 경우, 상기 다른 전자 장치와의 연결을 해제하거나 상기 다른 전자 장치의 소프트웨어의 업데이트를 요청하는 정보를 제공하는 단계를 더 포함하고,
    상기 이용 가능 장치에 대한 정보는 상기 전자 장치에 미리 저장된
    전자 장치의 제어 방법.
  19. 전자 장치에 있어서,
    상기 전자 장치에 대한 정보를 저장하는 장치 정보 저장부와,
    적어도 하나의 프로세서와,
    상기 장치 정보 저장부에 다른 전자 장치가 연결되면 상기 장치 저장 저장부의 정보를 상기 다른 전자 장치에게 전송하기 위한 제1 인터페이스와,
    상기 다른 전자 장치와 통신하기 위한 제2 인터페이스를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 제1 인터페이스를 통한 상기 다른 전자 장치와의 연결이 식별되지 않는 경우, 상기 제2 인터페이스를 통한 상기 다른 전자 장치와의 통신에 기초하여 상기 전자 장치에 대한 정보를 상기 다른 전자 장치에게 전송하는
    전자 장치.
  20. 제1 전자 장치와,
    제2 전자 장치와,
    상기 장치 정보 저장부로부터 상기 제1 전자 장치로 상기 제2 전자 장치에 대한 정보를 전송하기 위한 제1 인터페이스와,
    상기 제1 전자 장치의 프로세서와 상기 제2 전자 장치의 프로세서 간의 통신을 위한 제2 인터페이스를 포함하고,
    상기 제2 전자 장치는,
    상기 제2 전자 장치에 대한 정보를 포함하는 장치 정보 저장부를 포함하고,
    상기 제1 전자 장치는,
    상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되는 경우, 상기 제1 인터페이스를 통해 상기 장치 정보 저장부로부터 상기 제2 전자 장치의 정보를 획득하고,
    상기 제1 인터페이스를 통해 상기 장치 정보 저장부가 식별되지 않는 경우 상기 제2 인터페이스를 통해 상기 제2 전자 장치가 식별되는지 여부를 확인하고,
    상기 제2 인터페이스를 통해 상기 제2 전자 장치가 식별되는 경우, 상기 제2 전자 장치의 프로세서와의 통신에 기초하여 상기 제2 전자 장치에 대한 정보를 상기 제2 인터페이스를 통해 획득하는
    시스템.
KR1020227005871A 2019-10-10 2019-10-10 복수의 인터페이스를 이용하여 다른 전자 장치를 인식하는 방법 및 그 전자 장치 KR20220069925A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/013285 WO2021070986A1 (ko) 2019-10-10 2019-10-10 복수의 인터페이스를 이용하여 다른 전자 장치를 인식하는 방법 및 그 전자 장치

Publications (1)

Publication Number Publication Date
KR20220069925A true KR20220069925A (ko) 2022-05-27

Family

ID=75438239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227005871A KR20220069925A (ko) 2019-10-10 2019-10-10 복수의 인터페이스를 이용하여 다른 전자 장치를 인식하는 방법 및 그 전자 장치

Country Status (3)

Country Link
US (1) US11983134B2 (ko)
KR (1) KR20220069925A (ko)
WO (1) WO2021070986A1 (ko)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182171B1 (en) * 1997-06-06 2001-01-30 Nissan Motor Co., Ltd. Information communication system and method applicable to in-vehicle networking architecture
KR20120074020A (ko) * 2010-12-27 2012-07-05 (주) 비앤디 기기 통합 시스템 및 방법
KR101490409B1 (ko) * 2014-02-13 2015-02-05 현대자동차주식회사 차량용 이더넷을 위한 제어기 및 그 제어방법
TWI530797B (zh) * 2014-04-30 2016-04-21 宏碁股份有限公司 電子裝置及偵測方法
US9971397B2 (en) * 2014-10-08 2018-05-15 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
US10558580B2 (en) * 2016-02-29 2020-02-11 Apple Inc. Methods and apparatus for loading firmware on demand
KR20180083572A (ko) * 2017-01-13 2018-07-23 삼성전자주식회사 전자장치 및 그 제어방법
JP2019070906A (ja) * 2017-10-06 2019-05-09 トヨタ自動車株式会社 電子制御装置のソフトウェア書換方法
TWI663505B (zh) * 2018-05-28 2019-06-21 凌華科技股份有限公司 功能電路板模組
US11003780B2 (en) * 2018-08-03 2021-05-11 Dell Products L.P. Method and apparatus for validating BIOS firmware using a baseboard management controller

Also Published As

Publication number Publication date
WO2021070986A1 (ko) 2021-04-15
US20230315666A1 (en) 2023-10-05
US11983134B2 (en) 2024-05-14

Similar Documents

Publication Publication Date Title
JP5065297B2 (ja) Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス
US10922251B2 (en) Electronic device and method for controlling same
EP3474517B1 (en) Electronic device for controlling iot device to correspond to state of external electronic device and operation method thereof
EP3089046B1 (en) Electronic device operating method and electronic device for supporting the same
US10165611B2 (en) Bluetooth pairing system and operating method thereof
CN115658582A (zh) 一种pcie设备扫描方法及服务器
CN102081526B (zh) 基本输入/输出系统架构
CN112395018B (zh) 一种方向控制应用启动方法、装置、电子设备和存储介质
US7890666B2 (en) Embedded protocol selection technique, related interface and computer program product
US7814254B2 (en) Mode setting method and system in hot plug of PCI device
CN116431546B (zh) 参数配置方法、电子设备、存储介质及程序产品
US11059429B1 (en) Car multimedia device with function for automatically switching between internal device control mode and external device control mode and car multimedia device control method
US20190205863A1 (en) Electronic device and method for providing payment service
CN110908733B (zh) 工作模式确定方法及装置、控制方法及装置
KR20220069925A (ko) 복수의 인터페이스를 이용하여 다른 전자 장치를 인식하는 방법 및 그 전자 장치
CN110011824B (zh) 一种蓝牙单线通讯的配对方法、存储介质及设备
CN112650510A (zh) 一种仪表控制系统软件升级的方法、装置和汽车
CN116340230A (zh) 一种硬盘扩展装置及方法
CN105704707A (zh) 从设备及其空中升级的方法
CN109711519B (zh) 一种基于金融芯片的外设扩展方法及金融卡
CN106445571B (zh) 主机板及开机的方法
CN219590811U (zh) 数据烧录装置
KR20160043378A (ko) 복수개의 모듈들을 구비하는 차량 기기의 업데이트 장치 및 방법
CN105867954B (zh) 一种系统数据更新方法、第一电子设备及系统
KR102204053B1 (ko) 거치형 센서모듈 모니터링 시스템

Legal Events

Date Code Title Description
A201 Request for examination