KR20190079511A - 차량 탑재 시스템 및 그 제어 방법 - Google Patents

차량 탑재 시스템 및 그 제어 방법 Download PDF

Info

Publication number
KR20190079511A
KR20190079511A KR1020180156836A KR20180156836A KR20190079511A KR 20190079511 A KR20190079511 A KR 20190079511A KR 1020180156836 A KR1020180156836 A KR 1020180156836A KR 20180156836 A KR20180156836 A KR 20180156836A KR 20190079511 A KR20190079511 A KR 20190079511A
Authority
KR
South Korea
Prior art keywords
data
database
field
vehicle
registered
Prior art date
Application number
KR1020180156836A
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 KR20190079511A publication Critical patent/KR20190079511A/ko

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/65Data transmitted between vehicles
    • G05D2201/0213
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Traffic Control Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

차량 탑재 시스템에 있어서, 데이터베이스의 데이터를 공유하는 것이다.
차량 탑재 시스템은, 각각이 데이터베이스를 구비하는 복수의 전자 장치를 구비한다. 데이터베이스는, 필드마다, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스의 정보가 등록되어 있다. 전자 장치는, 자신의 데이터베이스에 등록되어 있는 필드의 데이터를 공유하는 경우, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스를 구비하는 전자 장치에 대해, 해당 필드의 데이터를 송신한다.

Description

차량 탑재 시스템 및 그 제어 방법{ONBOARD SYSTEM AND CONTROL METHOD OF THE SAME}
본 발명은, 차량 탑재 시스템 및 그 제어 방법에 관한 것이다.
특허문헌 1에는, 차량에 탑재된 센서마다, 그 센서와의 사이에서 입출력하는 데이터를, 데이터베이스로서 기억하는 차량 탑재 시스템이 개시되어 있다.
일본 특허 공개 제2010-231407호 공보
그런데, 차량 탑재 시스템에서는, 각종 기능을 실현하기 위해, 복수의 유닛끼리가 제휴하여 동작을 행하고 있다. 또한, 복수의 유닛의 각각은, 자신이 제어하는 센서의 데이터 등을 등록해 두는 데이터베이스를 구비하는 경우가 많다.
따라서, 차량 탑재 시스템에 있어서, 근년, 실용화가 진행되고 있는 자동 운전을 행할 때에는, 복수의 유닛의 각각은, 데이터베이스에 등록된 센서의 데이터 등을 서로 이용하면서, 제휴하여 처리를 행할 기회가 매우 많아질 것으로 예상된다.
그 때문에, 특허문헌 1에 개시되어 있는 바와 같이, 차량 탑재 시스템에서는, 데이터베이스의 데이터를 공유하는 것이 적합하다. 그러나, 특허문헌 1에는, 데이터베이스의 데이터를 공유하는 것에 대해서는 개시되어 있지만, 데이터베이스의 데이터를 공유하기 위한 구체적인 방법에 대해서는 전혀 개시되어 있지 않다.
그 밖의 과제와 신규 특징은, 본 명세서의 기술 및 첨부 도면으로부터 명백하게 될 것이다.
일 실시 형태에 따르면, 차량 탑재 시스템은, 각각이 데이터베이스를 구비하는 복수의 전자 장치를 구비한다. 데이터베이스는, 필드마다, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스의 정보가 등록되어 있다. 전자 장치는, 자신의 데이터베이스에 등록되어 있는 필드의 데이터를 공유하는 경우, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스를 구비하는 전자 장치에 대해, 해당 필드의 데이터를 송신한다.
상기 일 실시 형태에 따르면, 상술한 과제의 해결에 공헌할 수 있다.
도 1은 실시 형태에 관한 차량 탑재 시스템의 전체 구성의 예를 도시하는 도면.
도 2는 실시 형태에 관한 차량 탑재 시스템용 SoC의 하드웨어 구성의 예를 도시하는 도면.
도 3은 실시 형태에 관한 차량 탑재 시스템용 SoC의 하드웨어 구성의 예를 도시하는 도면.
도 4는 실시 형태에 관한 차량 탑재용 마이크로컨트롤러의 하드웨어 구성의 예를 도시하는 도면.
도 5는 실시 형태에 관한 차량 탑재 시스템의 소프트웨어 스택의 예를 도시하는 도면.
도 6은 실시 형태에 관한 차량 탑재 시스템에 있어서, 정주기 처리에서 센서의 데이터를 데이터베이스에 기입하는 동작의 예를 도시하는 도면.
도 7은 실시 형태에 관한 차량 탑재 시스템에 있어서, 인터럽트 처리에서 센서의 데이터를 데이터베이스에 기입하는 동작의 예를 도시하는 도면.
도 8은 실시 형태에 관한 데이터베이스가 유지하는 필드 리스트의 구조의 예를 도시하는 도면.
도 9는 실시 형태에 관한 데이터베이스가 유지하는 이력 관리 리스트의 구조의 예를 도시하는 도면.
도 10은 실시 형태에 관한 데이터베이스가 유지하는 이력 데이터 리스트의 구조의 예를 도시하는 도면.
도 11은 실시 형태에 관한 차량 탑재 시스템에 있어서, 데이터베이스의 데이터를, 데이터베이스 단위로 공유하는 그룹의 예를 도시하는 도면.
도 12는 실시 형태에 관한 차량 탑재 시스템에 있어서, 데이터베이스의 데이터를, 데이터베이스 단위로 공유하는 그룹의 그룹 정보의 예를 도시하는 도면.
도 13은 실시 형태에 관한 차량 탑재 시스템에 있어서, 시각 동기를 행하는 방법의 예를 도시하는 도면.
도 14는 실시 형태에 관한 차량 탑재 시스템에 의해 실현 가능한 차량 탑재 시스템의 구체적인 구성의 예를 도시하는 도면.
이하, 실시 형태에 대하여 설명한다. 또한, 이하의 기재 및 도면은, 설명의 명확화를 위해, 적절히, 생략 및 간략화가 이루어져 있다. 또한, 각 도면에 있어서, 동일한 요소에는 동일한 부호가 붙여져 있고, 필요에 따라서 중복 설명은 생략되어 있다.
<차량 탑재 시스템의 전체 구성>
먼저, 도 1을 참조하여, 본 실시 형태에 관한 차량 탑재 시스템(1)의 전체 구성에 대하여 설명한다. 도 1에 도시된 바와 같이, 본 실시 형태에 관한 차량 탑재 시스템(1)은, 차량 탑재 시스템용 SoC(System on a Chip)(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20)를 구비하고 있다. 또한, 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20)는 전자 장치의 일례이다.
차량 탑재 시스템용 SoC(10A)는, 차량 전방, 후방, 좌측, 우측을 각각 촬영하는 4개의 센서 카메라(31A)를 제어한다. 차량 탑재 시스템용 SoC(10A)는, 데이터베이스 DB_A를 구비하고 있고, 데이터베이스 DB_A에는, 예를 들어 4개의 센서 카메라(31A)에 의해 촬영된 카메라 화상을 나타내는 카메라 정보(camera info) 등이 등록된다. 또한, 차량 탑재 시스템용 SoC(10A)는, 데이터의 공유, 통신, 암호화를 담당하는 커뮤니케이터(Communicator)(100A)를 구비하고 있다. 또한, 차량 탑재 시스템용 SoC(10A)는, 데이터베이스 DB_A 이외의 데이터베이스를 구비하고 있어도 된다.
차량 탑재 시스템용 SoC(10B)는, 차량의 전방, 후방, 좌측, 우측을 각각 촬영하는 4개의 센서 카메라(31B)를 제어한다. 차량 탑재 시스템용 SoC(10B)는, 데이터베이스 DB_B를 구비하고 있고, 데이터베이스 DB_B에는, 예를 들어 4개의 센서 카메라(31B)에 의해 촬영된 카메라 화상을 나타내는 카메라 정보 등이 등록된다. 또한, 차량 탑재 시스템용 SoC(10B)는, 데이터의 공유, 통신, 암호화를 담당하는 커뮤니케이터(100B)를 구비하고 있다. 또한, 차량 탑재 시스템용 SoC(10B)는, 데이터베이스 DB_B 이외의 데이터베이스를 구비하고 있어도 된다.
차량 탑재용 마이크로컨트롤러(20)는 차량의 전방, 후방에 존재하는 물체를 각각 검출하는 2개의 레이더 센서(Radar Sensor)(41) 및 차량의 가속도를 검출하는 가속도 센서(Acceleration sensor)(42)를 제어한다. 차량 탑재용 마이크로컨트롤러(20)는, 데이터베이스 DB_C를 구비하고 있고, 데이터베이스 DB_C에는, 예를 들어 2개의 레이더 센서(41)의 검출 결과를 나타내는 레이더 데이터(Radar data) 및 가속도 센서(42)의 검출 결과를 나타내는 가속도 데이터(Acceleration data) 등이 등록된다. 또한, 차량 탑재용 마이크로컨트롤러(20)는, 데이터의 공유, 통신, 암호화를 담당하는 커뮤니케이터(200)를 구비하고 있다. 또한, 차량 탑재용 마이크로컨트롤러(20)는 데이터베이스 DB_C 이외의 데이터베이스를 구비하고 있어도 된다.
차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20)는, LAN(Local Area Network), PCI(Peripheral Component Interconnect) Express, SPI(Serial Peripheral Interface), CAN(Controller Area Network) 등을 통해, 서로 접속되어 있고, 데이터베이스 DB_A, DB_B, DB_C의 내용을 나타내는 데이터베이스 정보(database info)를 서로 통신한다. 이와 같이 하여, 데이터베이스 DB_A, DB_B, DB_C 중 임의의 2개 이상의 데이터베이스간에서, 데이터를 공유한다.
또한, 도 1은 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20) 간에서 행하는 데이터 통신의 흐름을 설명하기 위해, 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20)의 구성의 일부를 간략화하여 도시하고 있다. 그 때문에, 이하, 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20)의 상세한 하드웨어 구성에 대하여 설명한다.
<차량 탑재 시스템용 SoC의 하드웨어 구성>
계속해서, 도 2를 참조하여, 본 실시 형태에 관한 차량 탑재 시스템용 SoC(10A)의 하드웨어 구성에 대해서 설명한다.
도 2에 도시된 바와 같이, 본 실시 형태에 관한 차량 탑재 시스템용 SoC(10A)는, 시리얼 I/F(102A), LAN I/F(103A), PCI Express I/F(104A), CAN I/F(105A), 시큐어 엔진(Secure Engine)(106A), 화상 도입부(Video Capture)(107A), 이미지 프로세서(Image Processor)(108A), 그래픽 프로세서(Graphics Processor)(109A), 메모리(Memory)(110A), 플래시 메모리(Flash Memory)(111A), 및 CPU(Central Processing Unit)(112A)를 구비하고 있다.
메모리(110A)는 데이터베이스 DB_A 등을 기억한다.
플래시 메모리(111A)는, CPU(112A), 화상 도입부(107A), 이미지 프로세서(108A), 그래픽 프로세서(109A) 및 커뮤니케이터(100A)의 기능을 실현하기 위한 프로그램을 기억한다. CPU(112A), 화상 도입부(107A), 이미지 프로세서(108A), 그래픽 프로세서(109A) 및 커뮤니케이터(100A)는, 플래시 메모리(111A)에 기억된 프로그램을 실행함으로써, 자신의 기능을 실현한다.
화상 도입부(107A)는, 4개의 센서 카메라(31A)에 각각 대응하여 4개 설치되어 있고, 대응하는 센서 카메라(31A)에 의해 촬영된 카메라 화상을 도입하기 위한 처리를 행한다.
이미지 프로세서(108A)는, 화상 도입부(107A)에 의해 도입된 카메라 화상에 대하여 실시간으로 화상 인식 처리를 행하고, 화상 인식 처리의 결과를 카메라 정보로서 센서층(Sensor Layer)(101A)을 통해 데이터베이스 DB_A에 기입한다.
그래픽 프로세서(109A)는, 화상 도입부(107A) 및 이미지 프로세서(108A)의 처리 결과나, 지도 정보 등을 도시하지 않은 디스플레이에 표시하는 표시 처리를 행한다.
커뮤니케이터(100A)는, 외부와의 사이에서 데이터의 통신을 행함과 함께, 데이터베이스 DB_A의 데이터의 판독 기입을 행한다. 또한, 커뮤니케이터(100A)는, 시큐어 엔진(106A)을 사용하여, 외부와 통신하는 데이터나, 데이터베이스 DB_A에 판독 기입하는 데이터에 대한 암호 처리/복호 처리를 행한다.
LAN I/F(103A)는, LAN 통신용의 인터페이스이다. PCI Express I/F(104A)는, PCI Express 통신용의 인터페이스이다. CAN I/F(120)는, CAN 통신용의 인터페이스이다. 시리얼 I/F(102A)는, 시리얼 통신용의 시리얼 인터페이스이며, 예를 들어 SPI 등의 시리얼 인터페이스이다.
CPU(112A)는, 차량 탑재 시스템용 SoC(10A) 전체를 제어한다.
또한, 차량 탑재 시스템용 SoC(10B)의 하드웨어 구성도, 차량 탑재 시스템용 SoC(10A)와 마찬가지이다. 즉, 도 3에 도시된 바와 같이, 차량 탑재 시스템용 SoC(10B)는, 시리얼 I/F(102B), LAN I/F(103B), PCI Express I/F(104B), CAN I/F(105B), 시큐어 엔진(106B), 화상 도입부(107B), 이미지 프로세서(108B), 그래픽 프로세서(109B), 메모리(110B), 플래시 메모리(111B) 및 CPU(112B)를 구비하고 있다.
<차량 탑재용 마이크로컨트롤러의 하드웨어 구성>
계속해서, 도 4를 참조하여, 본 실시 형태에 관한 차량 탑재용 마이크로컨트롤러(20)의 하드웨어 구성에 대하여 설명한다. 도 4에 도시된 바와 같이, 본 실시 형태에 관한 차량 탑재용 마이크로컨트롤러(20)는, 시리얼 I/F(202), LAN I/F(203), CAN I/F(204), 시큐어 엔진(205), DSP(Digital Signal Processor)(206), AD 컨버터(AD Converter)(207), 타이머(Timer)(208), 메모리(209), 플래시 메모리(210) 및 CPU(211)를 구비하고 있다.
메모리(209)는 데이터베이스 DB_C 등을 기억한다.
플래시 메모리(210)는 CPU(211), DSP(206), 센서층(201) 및 커뮤니케이터(200)의 기능을 실현하기 위한 프로그램을 기억한다. CPU(211), DSP(206), 센서층(201) 및 커뮤니케이터(200)는, 플래시 메모리(210)에 기억된 프로그램을 실행함으로써, 자신의 기능을 실현한다.
AD 컨버터(207)는, 2개의 레이더 센서(41)의 레이더 데이터 및 가속도 센서(42)의 가속도 데이터를, 아날로그값으로부터 디지털값으로 변환한다.
DSP(206)는, AD 컨버터(207)에 의해 AD 변환된 레이더 데이터 및 가속도 데이터를 처리하고, 처리한 데이터를 센서층(201)을 통해 데이터베이스 DB_C에 기입한다. 또한, DSP(206)는, 레이더 데이터를 기초로, 차량의 전후의 물체를 인식하고, 인식한 물체를 센서층(201)을 통해 데이터베이스 DB_C에 기입하는 것도 행한다.
CPU(211)는, 차량 탑재용 마이크로컨트롤러(20) 전체를 제어한다. 예를 들어, CPU(211)는, 속도 제어, 스티어링 제어 등의 차량 제어를 행한다. 또한, CPU(211)는, 차량 제어를 행할 때에, 타이머(208)를 사용하여, 엔진, 모터 등에 대한 제어용 신호(PWM(Pulse Width Modulation) 신호 등)를 생성한다.
또한, 시리얼 I/F(202), LAN I/F(203), CAN I/F(204)는, 도 2에 도시된 시리얼 I/F(102A), LAN I/F(103A), CAN I/F(105A)와 기능이 마찬가지이기 때문에, 설명을 생략한다.
<차량 탑재 시스템의 소프트웨어 스택>
계속해서, 도 5를 참조하여, 본 실시 형태에 관한 차량 탑재 시스템(1)의 소프트웨어 스택에 대하여 설명한다.
도 5에 도시된 바와 같이, 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20)는, 소프트웨어 스택의 구성에 대해서는 마찬가지이다.
도 5에 있어서, 통신 드라이버(Communication Driver), OS(Operating System), 어플리케이션층/미들웨어층(Application/Middleware)이 소프트웨어층(Software Layer)에 상당하고, 통신 드라이버와 어플리케이션층/미들웨어층 사이에 배치되는 것이, 세이프티 플랫폼(Safety Platform)에 상당한다.
<센서의 데이터를 데이터베이스에 기입하는 동작>
계속해서, 도 6 및 도 7을 참조하여, 본 실시 형태에 관한 차량 탑재 시스템(1)에 있어서, 센서의 센서 데이터를 데이터베이스에 기입하는 동작에 대하여 설명한다. 데이터베이스에 대한 센서의 센서 데이터의 기입은, 센서층(101A, 101B, 201)에 의해 행해진다. 도 6 및 도 7은 차량 탑재용 마이크로컨트롤러(20)에 있어서, DSP(206)에 배치되는 센서층(201)이, 레이더 센서(41)의 레이더 데이터 및 가속도 센서(42)의 가속도 데이터를 데이터베이스 DB_C에 기입하는 동작의 예를 도시하고 있다.
도 6은, 정기적으로 행해지는 정주기 처리에 있어서, 레이더 센서(41)의 레이더 데이터를 데이터베이스 DB_C에 기입함과 함께, 가속도 센서(42)의 가속도 데이터를 데이터베이스 DB_C에 기입하는 예를 도시하고 있다.
도 6의 예에서는, 레이더 센서(41)는 레이더 데이터를 정기적으로 출력하고 있고, 레이더 데이터는, LAN I/F(203)의 버퍼(Buffer)에 저장되어 있다. 한편, 가속도 센서(42)는 가속도 데이터를 부정기하게 출력한다. 그 때문에, 가속도 데이터는, CAN I/F(204)의 버퍼에 저장되어 있지 않다.
센서층(201)은, 정주기 처리에 있어서, LAN I/F(203)에 레이더 데이터의 리드 요구를 출력한다(S11). 이때, LAN I/F(203)의 버퍼에는, 레이더 데이터가 저장되어 있다. 그 때문에, LAN I/F(203)에 배치된 통신 드라이버는, LAN I/F(203)의 버퍼에 저장되어 있는 레이더 데이터를 센서층(201)에 출력한다(S12). 센서층(201)은, 상위층인 어플리케이션층에 레이더 데이터를 출력함과 함께(S13), 데이터베이스 DB_C에 레이더 데이터를 기입하여, 데이터베이스 DB_C를 갱신한다(S14).
또한, 센서층(201)은, 정주기 처리에 있어서, CAN I/F(204)에 가속도 데이터의 리드 요구를 출력한다(S21). 그러나, 이때, CAN I/F(204)의 버퍼에는, 가속도 데이터가 저장되어 있지 않다. 그 때문에, CAN I/F(204)에 배치된 통신 드라이버는, 가속도 센서(42)에 가속도 데이터의 리드 요구를 출력한다(S22). 이것을 받아, 가속도 센서(42)는 가속도 데이터를 CAN I/F(204)에 출력한다(S23). 통신 드라이버는, 가속도 데이터를, CAN I/F(204)의 버퍼에 일시적으로 저장하고, 센서층(201)에 출력한다(S24). 센서층(201)은 상위층인 어플리케이션층에 가속도 데이터를 출력함과 함께(S25), 데이터베이스 DB_C에 가속도 데이터를 기입하여, 데이터베이스 DB_C를 갱신한다(S26).
도 7은 이벤트로서 행해지는 인터럽트 처리에 있어서, 레이더 센서(41)의 레이더 데이터를 데이터베이스 DB_C에 기입하는 예를 도시하고 있다.
도 7의 예에서는, LAN I/F(203)에 배치된 통신 드라이버는, 레이더 센서(41)로부터 레이더 데이터가 출력된 타이밍에(S31), 센서층(201)에 인터럽트 통지를 출력하고 있다(S32). 이 S32에 있어서는, 통신 드라이버는, LAN I/F(203)의 버퍼에 레이더 데이터를 일시적으로 저장하고, 레이더 데이터를 인터럽트 통지와 함께 센서층(201)에 출력한다. 센서층(201)은 상위층인 어플리케이션층에 인터럽트 통지 및 레이더 데이터를 출력함과 함께(S33), 데이터베이스 DB_C에 레이더 데이터를 기입하여, 데이터베이스 DB_C를 갱신한다(S34).
이와 같이, 통신 프로토콜의 종류, 센서의 종류가 상이한 경우에도, 그 상이를 센서층(201)이 흡수한다. 그 때문에, 어플리케이션층은, 통신 프로토콜의 종류, 센서의 종류의 상이를 신경쓰지 않고, 센서 데이터를 처리할 수 있다.
<데이터베이스의 구조>
계속해서, 도 8 내지 도 10을 참조하여, 본 실시 형태에 관한 차량 탑재 시스템(1)에 있어서의 데이터베이스 DB_A, DB_B, DB_C의 구조에 대하여 설명한다. 또한, 도 8 내지 도 10은, 차량 탑재용 마이크로컨트롤러(20)가 구비하는 데이터베이스 DB_C의 구조를 도시하고 있지만, 차량 탑재 시스템용 SoC(10A, 10B)가 구비하는 데이터베이스 DB_A, DB_B의 구조도, 데이터베이스 DB_C와 마찬가지이다. 데이터베이스 DB_C는, 필드 리스트, 이력 관리 리스트, 이력 데이터 리스트를 유지하고 있다. 도 8은 필드 리스트의 예를 도시하고, 도 9는 이력 관리 리스트의 예를 도시하고, 도 10은 이력 데이터 리스트의 예를 도시하고 있다.
먼저, 도 8을 참조하여, 필드 리스트에 대하여 설명한다. 도 8에 도시된 바와 같이, 필드 리스트에는, 필드마다, 「필드 데이터명」, 「데이터 사이즈」, 「데이터형」, 「데이터 플래그」, 「이력수 상한」, 「이력 관리 리스트 포인터」, 「공유처 정보」가 등록된다.
「필드 데이터명」은, 해당하는 필드를 식별하는 명칭을 나타내고 있다.
「데이터 사이즈」는, 해당하는 필드의 데이터의 1개분의 사이즈를 나타내고 있다.
「데이터형」은, 해당하는 필드의 데이터의 형(타입)을 나타내고 있다.
「데이터 플래그」는, 전부 8비트이다. 1비트째는, 해당하는 필드의 데이터의 기입의 가능 또는 불가능을 나타내는 플래그이다. 2비트째는, 해당하는 필드의 데이터가 후술하는 「이력수 상한」을 초과한 경우의 행동을 나타내는 플래그이다. "OverWrite"는 데이터를 덮어쓰기하는 것을 나타내고, "Error"는 데이터를 기입하지 않고, 에러를 회신하는 것을 나타내고 있다. 3 내지 8비트째는, 리저브 영역이 된다.
「이력수 상한」은, 해당하는 필드의 데이터를 등록할 수 있는 상한수를 나타내고 있다. 그 때문에, 후술하는 이력 데이터 리스트에 있어서의 해당하는 필드의 데이터가 등록되는 영역으로서, 「데이터 사이즈」×「이력수 상한」분의 영역이 확보된다.
「이력 관리 리스트 포인터」는, 후술하는 이력 관리 리스트에 있어서의 해당하는 필드의 정보를 참조하기 위한 어드레스이다.
「공유처 정보」는, 해당하는 필드의 데이터를 공유하는 공유처의 데이터베이스를 식별하는 명칭을 나타내고 있다. 도 8의 예에서는, 필드 F-A의 데이터는, 차량 탑재 시스템용 SoC(10A)가 구비하는 데이터베이스 DB_A와 공유하고, 필드 F-B, F-C의 데이터는, 차량 탑재 시스템용 SoC(10B)가 구비하는 데이터베이스 DB_B와 공유하는 것을 나타내고 있다.
계속해서, 도 9를 참조하여, 이력 관리 리스트에 대하여 설명한다. 도 9에 도시된 바와 같이, 이력 관리 리스트에는, 필드마다, 「유효 데이터수」, 「데이터 최종 기입 위치」, 「이력 데이터 포인터」가 등록된다.
「유효 데이터수」는, 해당하는 필드의 데이터 중 사용 가능한 데이터의 개수를 나타내고 있다.
「데이터 최종 기입 위치」는, 해당하는 필드의 데이터 중 마지막으로 등록된 데이터의 위치(어드레스 등)를 나타내고 있다.
「이력 데이터 포인터」는, 후술하는 이력 데이터 리스트에 있어서의 해당하는 필드의 데이터가 등록되어 있는 선두 어드레스를 나타내고 있다.
계속해서, 도 10을 참조하여, 이력 데이터 리스트에 대하여 설명한다. 도 10에 도시된 바와 같이, 이력 데이터 리스트에는, 「데이터 본체」, 「데이터 기입 시간」이 등록된다.
「데이터 본체」는 실제 데이터를 나타내고 있다.
「데이터 기입 시각」은, 실제 데이터가 등록된 시각을 나타내고 있다. 여기에서는, 타임 스탬프값으로 되어 있다.
여기서, 도 8 내지 도 10에 도시된, 필드 리스트, 이력 관리 리스트, 이력 데이터 리스트의 내용에 대하여, 구체예를 들어, 보다 상세하게 설명한다.
도 8에 있어서, 「이력수 상한」은, 필드 F-A가 "3", 필드 F-B가 "100", 필드 F-C가 "300"이다. 그 때문에, 도 10에 있어서, 맨위로부터 3개분이, 필드 F-A의 데이터가 등록되는 영역으로서 정의되고, 다음 100개분이, 필드 F-B의 데이터가 등록되는 영역으로서 정의되며, 다음 300개분이, 필드 F-C의 데이터가 등록되는 영역으로서 정의된다. 따라서, 맨위로부터 3개분의 데이터가 필드 F-A의 데이터가 되고, 그 아래의 100개분의 데이터가 필드 F-B의 데이터가 되고, 그 아래의 300개분의 데이터가 필드 F-C의 데이터가 된다.
또한, 도 8에 있어서, 필드 F-A는, 「데이터 사이즈」가 "2", 「이력수 상한」이 "3"이다. 그 때문에, 필드 F-A의 데이터를 등록하기 위한 영역으로서, 2(데이터 사이즈)×3(이력수 상한)분의 영역이 확보된다.
또한, 도 8에 있어서, 필드 F-A는, 「데이터 플래그」의 2비트째가 "OverWrite"이다. 그 때문에, 필드 F-A의 4개째 이후의 데이터에 대해서는, 가장 오래된 데이터를 파기하고, 덮어쓰기해 간다.
또한, 도 9에 있어서, 필드 F-A는, 「유효 데이터수」가 "3"이다. 그 때문에, 도 10에 있어서, 맨위로부터 3개분의 필드 F-A의 데이터는, 모두 사용 가능한 것을 나타내고 있다.
또한, 도 10에 있어서, 필드 F-A의 데이터 중 마지막으로 등록된 데이터는 "22"이다. 그 때문에, 도 9에 있어서, 필드 F-A의 「데이터 최종 기입 위치」는, 데이터 "22"의 위치를 나타내는 것이 된다.
또한, 도 10에 있어서, 필드 F-A의 데이터는, 맨위로부터 3개분의 데이터가 된다. 그 때문에, 도 9에 있어서, 필드 F-A의 「이력 데이터 포인터」는, 선두의 데이터 "23"이 등록되어 있는 어드레스를 나타내는 것이 된다.
<데이터베이스의 공유>
계속해서, 본 실시 형태에 관한 차량 탑재 시스템(1)에 있어서의 데이터베이스 DB_A, DB_B, DB_C를 공유하는 방법에 대하여 설명한다.
도 8 내지 도 10의 예에서는, 차량 탑재용 마이크로컨트롤러(20)가 구비하는 데이터베이스 DB_C에 있어서, 필드 F-A의 데이터를 공유하는 공유처로서, 차량 탑재 시스템용 SoC(10A)가 구비하는 데이터베이스 DB_A가 등록되어 있다.
그 때문에, 차량 탑재용 마이크로컨트롤러(20)의 커뮤니케이터(200)는, 데이터베이스 DB_C의 이력 데이터 리스트에 있어서의 필드 F-A의 데이터가 갱신되면, 데이터베이스 DB_C의 필드 리스트를 참조하여, 필드 F-A의 데이터의 공유처가 데이터베이스 DB_A인 것을 확인한다. 그리고, 커뮤니케이터(200)는, 데이터베이스 DB_A를 구비하는 차량 탑재 시스템용 SoC(10A)에 대해, 필드 F-A를 통지하는 공유 리퀘스트를 송신하고, 계속해서, 필드 F-A의 갱신 후의 모든 데이터를 송신한다. 예를 들어, 도 10의 예에서는, 이력 데이터 리스트에 있어서의, 맨위로부터 3개분의 필드 F-A의 「데이터 본체」, 「데이터 기입 시간」을 모두 송신한다.
차량 탑재 시스템용 SoC(10A)에 배치된 커뮤니케이터(100A)는, 차량 탑재용 마이크로컨트롤러(20)로부터, 공유 리퀘스트에 이어서, 갱신 후의 필드 F-A의 데이터를 수신하면, 데이터베이스 DB_A의 필드 리스트를 참조하여, 이력 데이터 리스트에 있어서의 필드 F-A의 데이터를 등록하는 영역을 확인한다. 그리고, 커뮤니케이터(100A)는, 이력 데이터 리스트에 있어서의 필드 F-A의 데이터를 등록하는 영역에, 필드 F-A의 갱신 후의 데이터를 등록하고, 또한, 이력 관리 리스트에 있어서의 필드 F-A의 정보를 갱신한다.
이에 의해, 데이터베이스 DB_C 및 데이터베이스 DB_A는, 필드 F-A의 데이터를 공유할 수 있다.
또한, 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20)에 배치된 커뮤니케이터(100A, 100B, 200)는, 데이터의 갱신이 없어도, 공유 리퀘스트를 송신해도 된다. 예를 들어, CPU(112A, 112B, 211)에 배치된 어플리케이션층으로부터의 리퀘스트를 받아, 공유 리퀘스트를 송신하는 것이 생각된다.
또한, 공유 리퀘스트는, 공유하는 필드가 필드 리스트 및 이력 관리 리스트에 이미 설정되어 있는 데이터베이스, 즉, 그 필드의 데이터를 이미 모두 갖고 있는 데이터베이스를 향하여 송신하는 것에 한하지 않고, 그 필드의 데이터를 새롭게 공유하는 데이터베이스를 향하여 송신해도 된다. 이 경우, 커뮤니케이터(100A, 100B, 200)는, 필드 리스트에 있어서의 공유하는 필드의 정보를 먼저 송신하고, 공유하는 필드를 설정시킨 후, 공유 리퀘스트를 송신하면 된다. 또한, 공유하는 필드를 설정시킬 때에는, 이력 관리 리스트에 있어서의 공유하는 필드의 정보를 송신해도 된다. 이에 의해, 새로운 데이터베이스와의 사이에서도 필드의 데이터를 공유할 수 있다.
또한, 도 8 내지 도 10의 예에서는, 데이터베이스 DB_A, DB_B, DB_C의 데이터를, 필드 단위로 공유하였지만, 데이터베이스의 데이터는, 데이터베이스 단위로 공유할 수도 있다.
계속해서, 도 11 및 도 12를 참조하여, 데이터베이스의 데이터를, 데이터베이스 단위로 공유하는 방법에 대하여 설명한다.
여기에서는, 도 11에 도시된 바와 같이, 차량 탑재 시스템용 SoC(10A)는, 데이터베이스 DB_A 외에, 데이터베이스 DB_D, DB_G를 구비하고 있는 것으로 한다. 또한, 차량 탑재 시스템용 SoC(10B)는, 데이터베이스 DB_B 외에, 데이터베이스 DB_E, DB_H를 구비하고 있는 것으로 한다. 또한, 차량 탑재용 마이크로컨트롤러(20)는 데이터베이스 DB_C 외에, 데이터베이스 DB_F, DB_I를 구비하고 있는 것으로 한다.
또한, 데이터베이스 DB_A, DB_B, DB_C는, 그룹 A로 그룹핑되어 있고, 데이터베이스 DB_A, DB_B, DB_C의 데이터는, 데이터베이스 단위로 공유하는 것으로 한다. 또한, 데이터베이스 DB_D, DB_E, DB_F는, 그룹 B로 그룹핑되어 있고, 데이터베이스 DB_D, DB_E, DB_F의 데이터는, 데이터베이스 단위로 공유하는 것으로 한다.
이 경우, 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20)는, 도 12에 도시된 바와 같이, 그룹마다, 해당하는 그룹의 그룹명과, 해당하는 그룹으로 그룹핑된 데이터베이스의 데이터베이스명이 등록된 그룹 정보를 유지한다. 상세하게는, 그룹 정보는 데이터베이스층이 유지한다.
예를 들어, 차량 탑재용 마이크로컨트롤러(20)에 배치된 커뮤니케이터(200)는, 데이터베이스 DB_C의 데이터를 공유하는 경우, 그룹 정보를 참조하여, 데이터베이스 DB_C와 동일한 그룹 A로 그룹핑된 데이터베이스 DB_A, DB_B를 확인한다. 그리고, 커뮤니케이터(200)는, 데이터베이스 DB_A, DB_B를 각각 구비하는 차량 탑재 시스템용 SoC(10A, 10B)에 대해, 데이터베이스 DB_C를 통지하는 공유 리퀘스트를 송신하고, 계속해서, 데이터베이스 DB_C의 모든 데이터를 송신한다.
차량 탑재 시스템용 SoC(10A)에 배치된 커뮤니케이터(100A)는, 차량 탑재용 마이크로컨트롤러(20)로부터, 공유 리퀘스트에 이어서, 데이터베이스 DB_C의 모든 데이터를 수신하면, 그룹 정보를 참조하여, 데이터베이스 DB_C와 동일한 그룹 A로 그룹핑된 데이터베이스 DB_A를 확인한다. 그리고, 커뮤니케이터(100A)는, 데이터베이스 DB_C의 모든 데이터를, 데이터베이스 DB_A에 등록한다. 마찬가지로, 차량 탑재 시스템용 SoC(10B)에 있어서도, 데이터베이스 DB_C의 모든 데이터를, 데이터베이스 DB_B에 등록한다.
이에 의해, 그룹 A로 그룹핑된 데이터베이스 DB_A, DB_B, DB_C의 데이터는, 데이터베이스 단위로 공유할 수 있다. 또한, 데이터베이스 DB_A, DB_B, DB_C의 데이터를, 데이터베이스 단위로 공유하는 타이밍은, 예를 들어 필드 단위의 공유의 경우와 마찬가지로, 데이터베이스를 갱신한 타이밍 등이다. 단, 이것에 한정되는 것은 아니다.
또한, 도 12의 예에서는, 데이터베이스 DB_G, DB_H의 데이터는, 필드 단위로 공유한다. 필드 단위의 공유 방법은, 도 8 내지 도 10에 도시된 방법과 마찬가지이다. 즉, 데이터베이스 DB_G, DB_H는, 필드 리스트에 있어서의 공유하는 필드의 공유처 정보로서, 서로 상대의 데이터베이스가 등록되어 있으면 된다.
또한, 데이터베이스의 데이터를, 데이터베이스 단위로 공유하는 방법은, 도 8 내지 도 10에 도시된 방법에 의해서도 실현 가능하다. 즉, 어떤 데이터베이스의 필드 리스트에 있어서의 모든 필드의 공유처 정보에는, 그 데이터베이스와 동일한 그룹으로 그룹핑된 모든 데이터베이스의 정보를 등록해 둔다. 이것에 의해서도, 데이터베이스 단위로 데이터를 공유하는 구성은 실현 가능하다. 그러나, 이 방법은, 데이터를 공유할 때에, 그 데이터의 필드를 판별하고, 그 필드의 공유처 정보를 참조해야만 하여, 데이터의 공유에 시간이 걸린다.
이에 반해, 상기의 그룹 정보를 사용하는 방법은, 데이터의 필드를 판별할 필요가 없기 때문에, 데이터의 공유에 걸리는 시간의 단축화를 도모할 수 있다.
<시각 동기>
본 실시 형태에 관한 차량 탑재 시스템(1)은, 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20)가, 데이터베이스에 등록된 데이터를 이용하면서, 제휴하여 처리를 행하면서, 자동 운전을 행하는 것을 상정하고 있다. 그 때문에, 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20) 간에서 시각을 동기시킬 필요가 있다.
본 실시 형태에 있어서는, 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20) 중 어느 하나가 제어 주체가 되어, 다른 장치와의 사이에서 시각 동기 처리를 행하는 것으로 한다.
여기서, 도 13을 참조하여, 본 실시 형태에 관한 차량 탑재 시스템(1)에 있어서의 시각 동기를 행하는 방법에 대하여 설명한다. 또한, 도 13은, 차량 탑재 시스템용 SoC(10A)가 제어 주체가 되는 경우의 방법을 도시하고 있지만, 차량 탑재 시스템용 SoC(10B)나 차량 탑재용 마이크로컨트롤러(20)가 제어 주체가 되는 경우의 방법도 마찬가지이다.
도 13에 도시된 바와 같이, 차량 탑재 시스템용 SoC(10A)에 배치된 커뮤니케이터(100A)는, 자신이 제어 주체가 되어 시각 동기 처리를 행한다는 취지의 통지를, 차량 탑재 시스템용 SoC(10B) 및 차량 탑재용 마이크로컨트롤러(20)에 대하여 행한다(S41). 이 통지는, 유니캐스트로 행해도 되고, 브로드캐스트로 행해도 된다.
그 후에, 차량 탑재 시스템용 SoC(10A)에 배치된 커뮤니케이터(100A)는, S41의 통지에 대한 응답을, 차량 탑재 시스템용 SoC(10B) 및 차량 탑재용 마이크로컨트롤러(20)로부터 수신하면(S42), 제어 주체로서 확정된다.
이후, 차량 탑재 시스템용 SoC(10A)에 배치된 커뮤니케이터(100A)는, 일정한 동기 간격으로, 차량 탑재 시스템용 SoC(10B) 및 차량 탑재용 마이크로컨트롤러(20) 사이에서, 시각 동기 처리를 행한다(S43). 이에 의해, 차량 탑재 시스템용 SoC(10A, 10B) 및 차량 탑재용 마이크로컨트롤러(20) 간에서 시각을 동기시킬 수 있다. 또한, 시각 동기 처리의 방법은, 특별히 한정되지 않고, 주지의 시각 동기 처리를 행하면 된다.
<차량 탑재 시스템의 구체적인 구성>
상술한 바와 같이, 본 실시 형태에 관한 차량 탑재 시스템(1)은, 데이터베이스의 공유 및 시각 동기가 가능하기 때문에, 다양한 기능을 실현하는 것이 가능하다. 따라서, 도 14를 참조하여, 본 실시 형태에 관한 차량 탑재 시스템(1)에 의해 실현 가능한 차량 탑재 시스템의 구체적인 구성에 대하여 설명한다.
도 14에 도시된 바와 같이, 차량 탑재 시스템용 SoC(10A)는, 데이터베이스 DB_A를 구비하는 것 외에, 물체 인식용 프로세서(Object recognition processor)(121A) 및 물체 검출 기능(Object detection function)부(122A)를 구비하고 있다. 물체 인식용 프로세서(121A) 및 물체 검출 기능부(122A)는, 이미지 프로세서(108A)에 의해 실현된다.
차량 탑재 시스템용 SoC(10B)는, 데이터베이스 DB_B를 구비하는 것 외에, 이미지 캡처 기능(Image capture function)부(123B), 백선 검출 기능(White line detection function)부(124B), 차량 컨트롤러(Vehicle controller)(125B)를 구비하고 있다. 이미지 캡처 기능부(123B) 및 백선 검출 기능부(124B)는, 이미지 프로세서(108B)에 의해 실현되고, 차량 컨트롤러(125B)는, CPU1(12B)에 의해 실현된다.
차량 탑재용 마이크로컨트롤러(20)는 데이터베이스 DB_C를 구비하는 것 외에, 스티어링 컨트롤러(Steering controller)(221), 속도 컨트롤러(Speed controller)(222), 레이더 데이터 취득 기능(radar data obtain function)부(223)를 구비하고 있다. 스티어링 컨트롤러(221) 및 속도 컨트롤러(222)는 CPU(211) 및 타이머(208)에 의해 실현된다. 레이더 데이터 취득 기능부(223)는 DSP(206)에 의해 실현된다.
이하, 도 14에 도시된 각 구성 요소의 기능에 대하여 설명한다. 여기에서는, 데이터베이스 DB_A, DB_B, DB_C는, 데이터베이스 단위로 데이터를 공유하는 것으로 한다.
이미지 캡처 기능부(123B)는, 4개의 센서 카메라(31B)에 의해 촬영된 카메라 화상을 캡처하고, 캡처한 화상 데이터(Image data)를 데이터베이스 DB_B에 기입한다.
백선 검출 기능부(124B)는, 이미지 캡처 기능부(123B)에 의해 캡처된 화상 데이터를 기초로, 도로 상의 백선을 검출하고, 백선의 검출 결과(White line detection result)를 데이터베이스 DB_B에 기입한다.
물체 검출 기능부(122A)는, 데이터베이스 DB_A로부터, 이미지 캡처 기능부(123B)에 의해 캡처된 화상 데이터를 판독하고, 판독한 화상 데이터를 기초로, 물체인식용 프로세서(121A)와 협동하여, 차량 주위의 물체(사람, 타차량, 장해물 등)를 인식하고, 물체의 인식 결과(Object recognition result)를 데이터베이스 DB_A에 기입한다.
레이더 데이터 취득 기능부(223)는 2개의 레이더 센서(41)의 레이더 데이터를 취득하고, 취득한 레이더 데이터(Radar data)를 데이터베이스 DB_C에 기입한다.
스티어링 컨트롤러(221)는 데이터베이스 DB_C로부터, 후술하는 차량 제어 정보(Vehicle control information)를 판독하고, 판독한 차량 제어 정보를 기초로, 차량의 스티어링을 제어함과 함께, 현재의 스티어링의 상태를 나타내는 스티어링 정보(Steering information)를 데이터베이스 DB_C에 기입한다.
속도 컨트롤러(222)는 데이터베이스 DB_C로부터, 후술하는 차량 제어 정보를 판독하고, 판독한 차량 제어 정보를 기초로, 차량의 속도를 제어함과 함께, 현재의 속도를 나타내는 속도 정보(Speed information)를 데이터베이스 DB_C에 기입한다.
차량 컨트롤러(125B)는, 데이터베이스 DB_B로부터, 물체 정보(물체의 인식 결과), 백선 정보(백선의 검출 결과), 센서 정보(레이더 데이터), 차량 정보(스티어링 정보 및 속도 정보)를 판독한다. 그리고, 차량 컨트롤러(125B)는, 판독한 정보를 기초로, 차량의 스티어링이나 속도 등을 제어하기 위한 차량 제어 정보를 생성하고, 생성한 차량 제어 정보를 데이터베이스 DB_B에 기입한다.
이상, 본 발명자에 의해 이루어진 발명을 실시 형태에 기초하여 구체적으로 설명하였지만, 본 발명은 이미 설명한 실시 형태에 한정되는 것은 아니고, 그 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능한 것은 물론이다.
예를 들어, 상기의 실시 형태에 있어서, 차량 탑재 시스템용 SoC 및 차량 탑재용 마이크로컨트롤러는, 데이터베이스의 데이터를 송신할 때의 통신 경로의 정보를 유지해 두고, 그 통신 경로가, 고장나거나 하지 않아, 사용 가능한 경우에는, 그 통신 경로를 사용하여, 데이터베이스의 데이터를 송신해도 된다. 또한, 차량 탑재 시스템용 SoC 및 차량 탑재용 마이크로컨트롤러는, 대체 경로의 정보를 유지할 수도 있다. 차량 탑재 시스템용 SoC 및 차량 탑재용 마이크로컨트롤러는, 통신 경로를 고장 등에 의해 사용할 수 없는 경우에는, 대체 경로를 사용하여, 데이터베이스의 데이터를 송신하면 된다. 예를 들어, 통신 경로는, SPI를 사용하는 경로로 하고, 대체 경로는 LAN을 사용하는 경로로 하는 것 등이 생각된다.
또한, 상기의 실시 형태에 있어서, 차량 탑재 시스템용 SoC 및 차량 탑재용 마이크로컨트롤러 내에서 다양한 처리를 행하는 각 요소는, 상술한 바와 같이, 하드웨어적으로는, CPU, 메모리, 그 밖의 회로로 구성할 수 있고, 소프트웨어적으로는, 메모리에 로드된 프로그램 등에 의해 실현된다. 따라서, 이들 각 요소가 하드웨어만, 소프트웨어만 또는 그것들의 조합에 의해 다양한 형태로 실현할 수 있는 것은 당업자에게는 이해되는 바이며, 어느 것에 한정되는 것은 아니다.
또한, 상기의 프로그램은, 다양한 타입의 비일시적인 컴퓨터 판독 가능 매체(non-transitory computer readable medium)를 사용하여 저장되어, 컴퓨터에 공급할 수 있다. 비일시적인 컴퓨터 판독 가능 매체는, 다양한 타입의 실체가 있는 기록 매체(tangible storage medium)를 포함한다. 비일시적인 컴퓨터 판독 가능 매체의 예는, 자기 기록 매체(예를 들어 플렉시블 디스크, 자기 테이프, 하드디스크 드라이브), 광자기 기록 매체(예를 들어 광자기 디스크), CD-ROM(Compact Disc-Read Only Memory), CD-R(CD-Recordable), CD-R/W(CD-ReWritable), 반도체 메모리(예를 들어, 마스크 ROM, PROM(Programmable ROM), EPROM(Erasable PROM), 플래시 ROM, RAM(Random Access Memory))를 포함한다. 또한, 프로그램은, 다양한 타입의 일시적인 컴퓨터 판독 가능 매체(transitory computer readable medium)에 의해 컴퓨터에 공급되어도 된다. 일시적인 컴퓨터 판독 가능 매체의 예는, 전기 신호, 광신호 및 전자파를 포함한다. 일시적인 컴퓨터 판독 가능 매체는, 전선 및 광 파이버 등의 유선 통신로, 또는 무선 통신로를 통해, 프로그램을 컴퓨터에 공급할 수 있다.
DB_A 내지 DB_I : 데이터베이스
10A, 10B : 차량 탑재 시스템용 SoC
100A, 100B : 커뮤니케이터
101A, 101B : 센서층
102A, 102B : 시리얼 I/F
103A, 103B : LAN I/F
104A, 104B : PCI Express I/F
105A, 105B : CAN I/F
106A, 106B : 시큐어 엔진
107A, 107B : 화상 도입부
108A, 108B : 이미지 프로세서
109A, 109B : 그래픽 프로세서
110A, 110B : 메모리
111A, 111B : 플래시 메모리
112A, 112B : CPU
121A : 물체 인식용 프로세서
122A : 물체 검출 기능부
123B : 이미지 캡처 기능부
124B : 백선 검출 기능부
125B : 차량 컨트롤러
20 : 차량 탑재용 마이크로컨트롤러
200 : 커뮤니케이터
201 : 센서층
202 : 시리얼 I/F
203 : LAN I/F
204 : CAN I/F
205 : 시큐어 엔진
206 : DSP
207 : AD 컨버터
208 : 타이머
209 : 메모리
210 : 플래시 메모리
211 : CPU
221 : 스티어링 컨트롤러
222 : 속도 컨트롤러
223 : 레이더 데이터 취득 기능부
31A, 31B : 센서 카메라
41 : 레이더 센서
42 : 가속도 센서

Claims (11)

  1. 각각이 데이터베이스를 구비하는 복수의 전자 장치를 구비하고,
    상기 데이터베이스는,
    필드마다, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스의 정보가 등록되어 있고,
    상기 전자 장치는,
    자신의 데이터베이스에 등록되어 있는 필드의 데이터를 공유하는 경우, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스를 구비하는 전자 장치에 대해, 해당 필드의 데이터를 송신하는 차량 탑재 시스템.
  2. 제1항에 있어서,
    상기 전자 장치는,
    자신의 데이터베이스에 등록되어 있는 필드의 데이터가 갱신된 경우, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스를 구비하는 전자 장치에 대해, 해당 필드의 데이터를 송신하는 차량 탑재 시스템.
  3. 제1항에 있어서,
    상기 전자 장치는,
    자신의 데이터베이스에 등록되어 있는 필드의 데이터를 공유하는 리퀘스트를 받은 경우, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스를 구비하는 전자 장치에 대해, 해당 필드의 데이터를 송신하는 차량 탑재 시스템.
  4. 제1항에 있어서,
    상기 데이터베이스는,
    데이터가 등록되는 이력 데이터 리스트와,
    필드마다, 상기 이력 데이터 리스트에 있어서의 해당 필드의 데이터가 등록되는 영역과, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스의 정보가 등록되는 필드 리스트를 유지하는 차량 탑재 시스템.
  5. 제4항에 있어서,
    상기 전자 장치는,
    자신의 데이터베이스에 등록되어 있는 필드의 데이터를, 해당 필드가 설정되어 있지 않은 데이터베이스와 공유하는 경우, 해당 데이터베이스를 구비하는 전자 장치에 대해, 상기 필드 리스트에 있어서의 해당 필드의 정보를 송신하여, 해당 필드를 설정시킨 후에, 해당 필드의 데이터를 송신하는 차량 탑재 시스템.
  6. 제1항에 있어서,
    상기 전자 장치는,
    상기 데이터베이스가 그룹핑된 그룹의 그룹 정보를 유지하고,
    자신의 데이터베이스에 등록되어 있는 데이터를 공유하는 경우, 자신의 데이터베이스와 동일한 그룹으로 그룹핑된 데이터베이스를 구비하는 전자 장치에 대해, 자신의 데이터베이스의 데이터를 송신하는 차량 탑재 시스템.
  7. 제6항에 있어서,
    상기 전자 장치는,
    자신의 데이터베이스에 등록되어 있는 데이터가 갱신된 경우, 자신의 데이터베이스와 동일한 그룹으로 그룹핑된 데이터베이스를 구비하는 전자 장치에 대해, 자신의 데이터베이스의 데이터를 송신하는 차량 탑재 시스템.
  8. 제1항에 있어서,
    상기 전자 장치는,
    다른 전자 장치에 대해, 시각 동기를 행한다는 취지의 통지를 행하고, 해당 다른 전자 장치로부터, 상기 통지에 대한 응답을 수신하면, 이후, 해당 다른 전자 장치와의 사이에서, 시각 동기 처리를 행하는 차량 탑재 시스템.
  9. 제1항에 있어서,
    상기 데이터베이스에 등록되는 데이터는, 센서 정보, 물체 정보, 백선 정보, 차량 정보, 차량 제어 정보 중 적어도 하나를 포함하는 차량 탑재 시스템.
  10. 제1항에 있어서,
    상기 전자 장치는,
    상기 데이터베이스의 데이터를 송신할 때의 통신 경로 및 대체 경로의 정보를 유지하고,
    상기 통신 경로가 사용 가능한 경우에는, 상기 통신 경로를 사용하여, 상기 데이터베이스의 데이터를 송신하고,
    상기 통신 경로가 사용 불가능한 경우에는, 상기 대체 경로를 사용하여, 상기 데이터베이스의 데이터를 송신하는 차량 탑재 시스템.
  11. 각각이 데이터베이스를 구비하는 복수의 전자 장치를 구비하는 차량 탑재 시스템의 제어 방법으로서,
    상기 데이터베이스는,
    필드마다, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스의 정보가 등록되어 있고,
    상기 전자 장치는,
    자신의 데이터베이스에 등록되어 있는 필드의 데이터를 공유하는 경우, 해당 필드의 데이터를 공유하는 공유처의 데이터베이스를 구비하는 전자 장치에 대해, 해당 필드의 데이터를 송신하는 차량 탑재 시스템의 제어 방법.
KR1020180156836A 2017-12-12 2018-12-07 차량 탑재 시스템 및 그 제어 방법 KR20190079511A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017237573A JP2019105964A (ja) 2017-12-12 2017-12-12 車載システム及びその制御方法
JPJP-P-2017-237573 2017-12-12

Publications (1)

Publication Number Publication Date
KR20190079511A true KR20190079511A (ko) 2019-07-05

Family

ID=64048672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180156836A KR20190079511A (ko) 2017-12-12 2018-12-07 차량 탑재 시스템 및 그 제어 방법

Country Status (5)

Country Link
US (1) US20190180531A1 (ko)
EP (1) EP3499848A1 (ko)
JP (1) JP2019105964A (ko)
KR (1) KR20190079511A (ko)
CN (1) CN109910786A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220083510A1 (en) * 2020-09-15 2022-03-17 Open Text Holdings, Inc. Connector for content repositories
JPWO2023053357A1 (ko) * 2021-09-30 2023-04-06

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231407A (ja) 2009-03-26 2010-10-14 Autonetworks Technologies Ltd 入出力装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112006002638B4 (de) * 2005-10-12 2015-10-15 Autonetworks Technologies, Ltd. Fahrzeuginterner Datenbankverteilungsknoten und fahrzeuginternes Datenbanksystem
US10223437B2 (en) * 2015-02-27 2019-03-05 Oracle International Corporation Adaptive data repartitioning and adaptive data replication
US20160378846A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Object based storage cluster with multiple selectable data handling policies

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231407A (ja) 2009-03-26 2010-10-14 Autonetworks Technologies Ltd 入出力装置

Also Published As

Publication number Publication date
US20190180531A1 (en) 2019-06-13
CN109910786A (zh) 2019-06-21
JP2019105964A (ja) 2019-06-27
EP3499848A1 (en) 2019-06-19

Similar Documents

Publication Publication Date Title
US10569652B2 (en) Information processing system, on-vehicle device, and terminal device for privacy management
US11180082B2 (en) Warning output device, warning output method, and warning output system
US20200357205A1 (en) Time master and sensor data collection for robotic system
US20200186730A1 (en) In-vehicle device, program, and vehicle
CN104866440A (zh) 电子设备和连接操作方法
KR20190079511A (ko) 차량 탑재 시스템 및 그 제어 방법
US20220309915A1 (en) Server, server control method, server control program, vehicle, vehicle control method, and vehicle control program
JP2010055264A (ja) 駐車場管理サーバ、駐車場管理システム及び駐車場管理方法
CN114564209A (zh) 智能汽车数据的处理方法、装置、设备及存储介质
JP2007048129A (ja) 車両周囲状況表示システム、車両周囲状況表示方法、およびプログラム
JP7107596B2 (ja) 駅監視システム及び駅監視方法
JP2023179491A (ja) システムおよびプログラム等
JP7107597B2 (ja) 駅監視装置、駅監視方法及びプログラム
CN112572793B (zh) 管理装置
US20200184237A1 (en) Server, in-vehicle device, program, information providing system, method of providing information, and vehicle
CN115396056A (zh) 数据传输方法、装置及相关设备
KR20170041502A (ko) 초음파 센서와 영상 센서의 데이터 통합처리 시스템
JP2021026457A (ja) 画像配信装置及び方法並びに画像配信システム
JP6793516B2 (ja) 車両動画送信システムおよび車両動画送信方法
JP2020149518A (ja) 特定映像収集システム、特定映像収集方法
CN109218365B (zh) 数据传输方法和系统
JP7344923B2 (ja) 地域監視システム、及び地域監視システムの制御方法
WO2018008145A1 (ja) 制御装置及び制御方法
EP3539632B1 (en) Method, mobile device, and computer program product for remotely controlling at least one toy car
JP7058757B2 (ja) 情報処理装置および情報処理方法