KR20240032068A - 신호 처리 장치 및 이를 구비하는 차량용 통신 장치 - Google Patents
신호 처리 장치 및 이를 구비하는 차량용 통신 장치 Download PDFInfo
- Publication number
- KR20240032068A KR20240032068A KR1020247003696A KR20247003696A KR20240032068A KR 20240032068 A KR20240032068 A KR 20240032068A KR 1020247003696 A KR1020247003696 A KR 1020247003696A KR 20247003696 A KR20247003696 A KR 20247003696A KR 20240032068 A KR20240032068 A KR 20240032068A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- processor
- intrusion detection
- signal processing
- accelerator
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 194
- 238000012545 processing Methods 0.000 title claims abstract description 131
- 238000001514 detection method Methods 0.000 claims abstract description 210
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000005540 biological transmission Effects 0.000 claims description 44
- 230000002265 prevention Effects 0.000 claims description 21
- 238000010586 diagram Methods 0.000 description 31
- 239000000446 fuel Substances 0.000 description 5
- 230000000737 periodic effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 2
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 2
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric 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/02—Electric 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/023—Electric 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5058—Service discovery by the service manager
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/10—Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/08—Access point devices
- H04W88/10—Access point devices adapted for operation in multiple networks, e.g. multi-mode access points
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/76—Routing in software-defined topologies, e.g. routing between virtual machines
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Mechanical Engineering (AREA)
- Small-Scale Networks (AREA)
Abstract
본 개시는 신호 처리 장치 및 이를 구비하는 차량용 통신 장치에 관한 것이다. 본 개시의 일 실시예에 따른 신호 처리 장치는, 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서와, 제2 통신 방식에 기초하여, 외부로부터 수신하는 통신 메시지를 포함하는 제2 메시지를 수신하고, 수신되는 제2 메시지의 신호 처리를 수행하는 제2 프로세서와, 제1 통신 방식의 메시지에 대한 처리를 가속하는 제1 가속기를 포함하고, 제1 프로세서와 제1 가속기는, 제1 메시지에 대한 침입 탐지를 분담하여 수행한다.한다. 이에 의해, 수신되는 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있게 된다.
Description
본 개시는 신호 처리 장치 및 이를 구비하는 차량용 통신 장치에 관한 것이며, 더욱 상세하게는 수신되는 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있는 신호 처리 장치 및 이를 구비하는 차량용 통신 장치에 관한 것이다.
차량은 탑승하는 사용자가 원하는 방향으로 이동시키는 장치이다. 대표적으로 자동차를 예를 들 수 있다.
한편, 차량을 이용하는 사용자의 편의를 위해, 차량 내부에 차량용 통신 장치가 탑재되고 있다.
특히, 차량 내부의 다양한 센서 장치에서의 센싱 신호는 CAN(Controller Area Network) 통신을 통해, 적어도 하나의 프로세서로 전송된다.
한편, CAN 통신을 위해, CAN 메시지가 전송되는데, CAN 메시지의 침입 탐지를 위해, 프로세서는, 수신되는 CAN 메시지의 전부에 대해 분석을 수행하여야 하므로, 프로세서의 부담이 증가되는 문제가 있다.
본 개시의 목적은, 수신되는 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있는 신호 처리 장치 및 이를 구비하는 차량용 통신 장치를 제공함에 있다.
한편, 본 개시의 다른 목적은, 수신되는 제1 메시지에 대한 침입 탐지 및 칩입 방지를 효율적으로 수행할 수 있는 신호 처리 장치 및 이를 구비하는 차량용 통신 장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 개시의 일 실시예에 따른 신호 처리 장치 및 이를 구비하는 차량용 통신 장치는, 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서와, 제2 통신 방식에 기초하여, 외부로부터 수신하는 통신 메시지를 포함하는 제2 메시지를 수신하고, 수신되는 제2 메시지의 신호 처리를 수행하는 제2 프로세서와, 제1 통신 방식의 메시지에 대한 처리를 가속하는 제1 가속기를 포함하고, 제1 프로세서와 제1 가속기는, 제1 메시지에 대한 침입 탐지를 분담하여 수행한다.
한편, 제1 프로세서는, 제1 타입 기반의 침입 탐지를 수행하고, 제1 가속기는, 제1 타입과 다른 제2 타입 기반의 침입 탐지를 수행할 수 있다.
한편, 제1 가속기는, 제1 메시지에 대한 침입 탐지가 검출되는 경우, 제1 메시지의 침입 방지를 수행할 수 있다.
한편, 제1 가속기는, 제1 프로세서에서 제1 타입 기반의 침입 탐지에 의해, 제1 메시지에 대한 침입 탑지가 검출되는 경우, 제1 메시지의 침입 방지를 수행하며, 제2 타입 기반의 침입 탐지에 의해, 제1 메시지에 대한 침입 탑지가 검출되는 경우, 제1 메시지의 침입 방지를 수행할 수 있다.
한편, 제1 프로세서는, 제1 타입 기반의 침입 탐지를 수행하는 제1 침입 탐지부를 포함하고, 제1 가속기는, 제1 프로세서와의 메시지 교환을 위한 인터페이스와, 제2 타입 기반의 침입 탐지를 수행하는 제2 침입 탐지부를 포함할 수 있다.
한편, 제1 가속기는, 제1 침입 탐지부 또는 제2 침입 탐지부에서 침입 탐지가 검출되는 경우, 메시지를 드랍하도록 제어할 수 있다.
한편, 제1 가속기는, 메시지 전송을 위한 전송 큐와, 메시지 수신을 위한 수신 큐를 더 포함하고, 제2 침입 탐지부에서 침입 탐지가 검출되는 경우, 메시지 전송이 중지될 수 있다.
한편, 제1 가속기는, 제1 메시지를 수신하고, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지로 검출되는 경우, 제2 타입 기반의 침입 탐지 메시지를 드랍하고, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지가 아닌 경우, 제1 프로세서로의 전송을 위해 공유 메모리에 기록할 수 있다.
한편, 제1 프로세서는, 공유 메모리에 기록된 제1 메시지를 수신할 수 있다.
한편, 제1 프로세서는, 제1 가속기를 통해, 제1 메시지를 수신하고, 제1 메시지가 제1 타입 기반의 침입 탐지 메시지로 검출되는 경우, 제1 메시지를 로그하고, 서버로 제1 메시지에 대한 로그를 전송하도록 제어할 수 있다.
한편, 제1 가속기는, 메시지의 포맷 또는 타이밍에 기초하여, 제1 메시지의 침입 탐지 여부를 검출하고, 제1 프로세서는, 메시지의 시맨틱(Semantic)에 기초하여, 제1 메시지의 침입 탐지 여부를 검출할 수 있다.
한편, 제1 가속기는, 제1 메시지의 메시지 아이디, 데이터 길이, 시그널 범위 또는 제1 메시지의 발생 주기에 기초하여, 제1 메시지의 침입 탐지 여부를 검출하고, 제1 프로세서는, 메시지의 시맨틱(Semantic)에 기초하여, 제1 메시지의 침입 탐지 여부를 검출할 수 있다.
한편, 제1 프로세서는, 제1 메시지 내의 메시지 시퀀스, 시그널의 증감 범위, 시그널의 상태, 또는 시그널의 상관 관계에 기초하여 제1 메시지의 침입 탐지 여부를 검출할 수 있다.
한편, 제1 가속기는, 제1 메시지 내의 차량 속도 범위가, 허용치를 초과하는 경우, 제2 타입 기반의 침입 탐지로 검출할 수 있다.
한편, 제1 프로세서는, 제1 메시지 내의 차량 속도의 증감 범위가 허용 증감 범위를 초과하는 경우, 제1 타입 기반의 침입 탐지로 검출할 수 있다.
한편, 본 개시의 일 실시예에 따른 신호 처리 장치 및 이를 구비하는 차량용 통신 장치는, 제2 통신 방식의 메시지에 대한 처리를 가속하는 제2 가속기를 더 포함할 수 있다.
본 개시의 다른 실시예에 따른 신호 처리 장치 및 이를 구비하는 차량용 통신 장치는, 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서와, 제1 통신 방식의 메시지에 대한 처리를 가속하는 제1 가속기를 포함하고, 제1 프로세서는, 제1 타입 기반의 침입 탐지를 수행하고, 제1 가속기는, 제1 타입과 다른 제2 타입 기반의 침입 탐지를 수행한다.
본 개시의 일 실시예에 따른 신호 처리 장치 및 이를 구비하는 차량용 통신 장치는, 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서와, 제2 통신 방식에 기초하여, 외부로부터 수신하는 통신 메시지를 포함하는 제2 메시지를 수신하고, 수신되는 제2 메시지의 신호 처리를 수행하는 제2 프로세서와, 제1 통신 방식의 메시지에 대한 처리를 가속하는 제1 가속기를 포함하고, 제1 프로세서와 제1 가속기는, 제1 메시지에 대한 침입 탐지를 분담하여 수행한다. 이에 따라, 수신되는 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있게 된다. 특히, 메시지를 제1 프로세서와 제1 가속기에서 분담하여 처리함으로써, 제1 프로세서의 부하를 저감할 수 있게 된다.
한편, 제1 프로세서는, 제1 타입 기반의 침입 탐지를 수행하고, 제1 가속기는, 제1 타입과 다른 제2 타입 기반의 침입 탐지를 수행할 수 있다. 특히, 메시지를 타입 별로, 제1 프로세서와 제1 가속기에서 분담하여 처리함으로써, 제1 프로세서의 부하를 저감할 수 있게 된다.
한편, 제1 가속기는, 제1 메시지에 대한 침입 탐지가 검출되는 경우, 제1 메시지의 침입 방지를 수행할 수 있다. 이에 따라, 수신되는 제1 메시지에 대한 침입 탐지 및 칩입 방지를 효율적으로 수행할 수 있게 된다.
한편, 제1 가속기는, 제1 프로세서에서 제1 타입 기반의 침입 탐지에 의해, 제1 메시지에 대한 침입 탑지가 검출되는 경우, 제1 메시지의 침입 방지를 수행하며, 제2 타입 기반의 침입 탐지에 의해, 제1 메시지에 대한 침입 탑지가 검출되는 경우, 제1 메시지의 침입 방지를 수행할 수 있다. 이에 따라, 수신되는 제1 메시지에 대한 침입 탐지 및 칩입 방지를 효율적으로 수행할 수 있게 된다.
한편, 제1 프로세서는, 제1 타입 기반의 침입 탐지를 수행하는 제1 침입 탐지부를 포함하고, 제1 가속기는, 제1 프로세서와의 메시지 교환을 위한 인터페이스와, 제2 타입 기반의 침입 탐지를 수행하는 제2 침입 탐지부를 포함할 수 있다. 이에 따라, 수신되는 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있게 된다. 특히, 메시지를 제1 프로세서와 제1 가속기에서 분담하여 처리함으로써, 제1 프로세서의 부하를 저감할 수 있게 된다.
한편, 제1 가속기는, 제1 침입 탐지부 또는 제2 침입 탐지부에서 침입 탐지가 검출되는 경우, 메시지를 드랍하도록 제어할 수 있다. 이에 따라, 제1 가속기를 통해, 침입 탐지된 메시지를 신속하게 드랍할 수 있게 된다.
한편, 제1 가속기는, 메시지 전송을 위한 전송 큐와, 메시지 수신을 위한 수신 큐를 더 포함하고, 제2 침입 탐지부에서 침입 탐지가 검출되는 경우, 메시지 전송이 중지될 수 있다. 이에 따라, 침입 탐지된 메시지를 신속하게 전송 중지할 수 있게 된다.
한편, 제1 가속기는, 제1 메시지를 수신하고, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지로 검출되는 경우, 제2 타입 기반의 침입 탐지 메시지를 드랍하고, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지가 아닌 경우, 제1 프로세서로의 전송을 위해 공유 메모리에 기록할 수 있다. 이에 따라, 메시지에 대한 침입 탐지 및 칩입 방지를 효율적으로 수행할 수 있게 된다.
한편, 제1 프로세서는, 공유 메모리에 기록된 제1 메시지를 수신할 수 있다. 이에 따라, 제1 메시지를 효율적으로 수신할 수 있게 된다.
한편, 제1 프로세서는, 제1 가속기를 통해, 제1 메시지를 수신하고, 제1 메시지가 제1 타입 기반의 침입 탐지 메시지로 검출되는 경우, 제1 메시지를 로그하고, 서버로 제1 메시지에 대한 로그를 전송하도록 제어할 수 있다. 이에 따라, 메시지에 대한 침입 탐지에 대해 서버로 전송할 수 있게 된다.
한편, 제1 가속기는, 메시지의 포맷 또는 타이밍에 기초하여, 제1 메시지의 침입 탐지 여부를 검출하고, 제1 프로세서는, 메시지의 시맨틱(Semantic)에 기초하여, 제1 메시지의 침입 탐지 여부를 검출할 수 있다. 이에 따라, 메시지에 대한 침입 탐지 및 칩입 방지를 효율적으로 수행할 수 있게 된다.
한편, 제1 가속기는, 제1 메시지의 메시지 아이디, 데이터 길이, 시그널 범위 또는 제1 메시지의 발생 주기에 기초하여, 제1 메시지의 침입 탐지 여부를 검출하고, 제1 프로세서는, 메시지의 시맨틱(Semantic)에 기초하여, 제1 메시지의 침입 탐지 여부를 검출할 수 있다. 이에 따라, 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있게 된다.
한편, 제1 프로세서는, 제1 메시지 내의 메시지 시퀀스, 시그널의 증감 범위, 시그널의 상태, 또는 시그널의 상관 관계에 기초하여 제1 메시지의 침입 탐지 여부를 검출할 수 있다. 이에 따라, 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있게 된다.
한편, 제1 가속기는, 제1 메시지 내의 차량 속도 범위가, 허용치를 초과하는 경우, 제2 타입 기반의 침입 탐지로 검출할 수 있다. 이에 따라, 차량 속도 범위에 관한 메시지의 침입 탐지를 효율적으로 수행할 수 있게 된다.
한편, 제1 프로세서는, 제1 메시지 내의 차량 속도의 증감 범위가 허용 증감 범위를 초과하는 경우, 제1 타입 기반의 침입 탐지로 검출할 수 있다. 이에 따라, 차량 속도의 증감 범위에 관한 메시지의 침입 탐지를 효율적으로 수행할 수 있게 된다.
한편, 본 개시의 일 실시예에 따른 신호 처리 장치 및 이를 구비하는 차량용 통신 장치는, 제2 통신 방식의 메시지에 대한 처리를 가속하는 제2 가속기를 더 포함할 수 있다. 이에 따라, 제2 메시지에 대한 처리를 가속할 수 있게 된다.
본 개시의 다른 실시예에 따른 신호 처리 장치 및 이를 구비하는 차량용 통신 장치는, 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서와, 제1 통신 방식의 메시지에 대한 처리를 가속하는 제1 가속기를 포함하고, 제1 프로세서는, 제1 타입 기반의 침입 탐지를 수행하고, 제1 가속기는, 제1 타입과 다른 제2 타입 기반의 침입 탐지를 수행한다. 이에 따라, 수신되는 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있게 된다. 특히, 메시지를 제1 프로세서와 제1 가속기에서 분담하여 처리함으로써, 제1 프로세서의 부하를 저감할 수 있게 된다.
도 1은 차량 외부 및 차량 내부의 일예를 도시한 도면이다.
도 2a 내지 도 2c는 본 개시의 실시예에 따른 차량용 통신 게이트웨이의 다양한 아키텍쳐를 도시한 도면이다.
도 3은 도 2a의 신호 처리 장치의 내부 블록도의 일예이다.
도 4a는 본 개시의 실시에에 따른 차량 내부의 차량용 디스플레이 장치의 배치의 일예를 도시한 도면이다.
도 4b는 본 개시의 실시에에 따른 차량 내부의 차량용 디스플레이 장치의 배치의 다른 예를 도시한 도면이다.
도 5는 도 4b의 차량용 디스플레이 장치의 내부 블록도의 일예이다.
도 6은 본 개시와 관련한 차량용 통신 장치의 내부 블록도의 일예이다.
도 7은 본 개시와 관련한 차량용 통신 장치의 내부 블록도의 다른 예이다.
도 8은 본 개시의 실시에에 따른 차량용 통신 장치의 내부 블록도의 일예이다.
도 9 내지 도 15는 도 8의 설명에 참조되는 도면이다.
도 2a 내지 도 2c는 본 개시의 실시예에 따른 차량용 통신 게이트웨이의 다양한 아키텍쳐를 도시한 도면이다.
도 3은 도 2a의 신호 처리 장치의 내부 블록도의 일예이다.
도 4a는 본 개시의 실시에에 따른 차량 내부의 차량용 디스플레이 장치의 배치의 일예를 도시한 도면이다.
도 4b는 본 개시의 실시에에 따른 차량 내부의 차량용 디스플레이 장치의 배치의 다른 예를 도시한 도면이다.
도 5는 도 4b의 차량용 디스플레이 장치의 내부 블록도의 일예이다.
도 6은 본 개시와 관련한 차량용 통신 장치의 내부 블록도의 일예이다.
도 7은 본 개시와 관련한 차량용 통신 장치의 내부 블록도의 다른 예이다.
도 8은 본 개시의 실시에에 따른 차량용 통신 장치의 내부 블록도의 일예이다.
도 9 내지 도 15는 도 8의 설명에 참조되는 도면이다.
이하에서는 도면을 참조하여 본 개시를 보다 상세하게 설명한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
도 1은 차량 외부 및 차량 내부의 일예를 도시한 도면이다.
도면을 참조하면, 차량(200)은, 동력원에 의해 회전하는 복수의 바퀴(103FR,103FL,103RL,..), 차량(200)의 진행 방향을 조절하기 위한 스티어링휠(150)에 의해 동작한다.
한편, 차량(200)은, 차량 전방의 영상 획득을 위한 카메라(195) 등을 더 구비할 수 있다.
한편, 차량(200)은, 내부에 영상, 정보 등의 표시를 위한 복수의 디스플레이(180a,180b)를 구비할 수 있다.
도 1에서는, 복수의 디스플레이(180a,180b)로, 클러스터 디스플레이(180a), AVN(Audio Video Navigation) 디스플레이(180b)를 예시한다. 그 외, HUD(Head Up Display) 등도 가능하다.
한편, AVN(Audio Video Navigation) 디스플레이(180b)는, 센터 정보 디스플레이(Center Information Dislpay)라 명명할 수도 있다.
한편 본 개시의 실시예에 따르면, 복수의 디스플레이(180a,180b)를 구비하는 차량용 디스플레이 장치(100)에서, 복수의 디스플레이(180a,180b)에서 동일한 영상을 동기화하여 표시할 수 있다.
특히, 차량용 디스플레이 장치(100) 내의 신호 처리 장치(170)는, 복수의 가상화 머신에 동일한 데이터를 동기화하여 전송하며, 복수의 디스플레이에 표시되는 영상은 서로 동일하도록 제어할 수 있다다.
한편, 본 명세서에서 기술되는 차량(200)은, 동력원으로서 엔진을 구비하는 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량 등을 모두 포함하는 개념일 수 있다.
도 2a 내지 도 2c는 본 개시의 실시예에 따른 차량용 통신 게이트웨이의 다양한 아키텍쳐를 도시한 도면이다.
먼저, 도 2a는 본 개시의 실시예에 따른 차량용 통신 게이트웨이의 제1 아키텍쳐를 도시한 도면이다.
도면을 참조하면, 제1 아키텍쳐(300a)는, 존(zone) 기반의 아키텍체에 대응할 수 있다.
이에 따라, 복수의 존(zone)(Z1~Z4)에, 각각 차량 내부의 센서 장치와 프로세서가 배치될 수 있으며, 복수의 존(zone)(Z1~Z4)의 중앙 영역에, 차량용 통신 게이트웨이(GWDa)를 포함하는 신호 처리 장치(170a)가 배치될 수 있다.
한편, 신호 처리 장치(170a)는, 차량용 통신 게이트웨이(GWDa) 외에, 추가로, 자율 주행 제어 모듈(ACC), 칵핏 제어 모듈(CPG) 등을 더 포함할 수 있다.
이러한, 신호 처리 장치(170a) 내의 차량용 통신 게이트웨이(GWDa)는, HPC(High Performance Computing) 게이트웨이일 수 있다.
즉, 도 2a의 신호 처리 장치(170a)는 통합형 HPC로서, 외부의 통신 모듈(미도시) 또는 복수의 존(zone)(Z1~Z4) 내의 프로세서(미도시)와 데이터를 교환할 수 있다.
도 2b는 본 개시의 실시예에 따른 차량용 통신 게이트웨이의 제2 아키텍쳐를 도시한 도면이다.
도면을 참조하면, 제2 아키텍쳐(300b)는, 도메인 통합형 아키텍쳐에 대응할 수 있다.
이에 따라, 게이트웨이(GWDb)에, 바디 샤시 제어 모듈(BSG), 파워 제어 모듈(PTG), ADAS 제어 모듈(ADG), 칵핏 제어 모듈(CPG)가 병렬로 접속되며, 각 모듈(BSG,PTG,ADG,CPG)에, 복수의 프로세서(ECU)가 각각 전기적으로 접속될 수 있다.
한편, 각 프로세서(ECU)는, 게이트웨이(GWDb)에 통합하여 접속될 수 있다.
한편, 도 2b의 게이트웨이(GWDb)를 포함하는 신호 처리 장치(170)는, 도메인 통합형 신호 처리 장치로서 동작하게 된다.
도 2c는 본 개시의 실시예에 따른 차량용 통신 게이트웨이의 제3 아키텍쳐를 도시한 도면이다.
도면을 참조하면, 제3 아키텍쳐(300c)는, 분산형 아키텍쳐에 대응할 수 있다.
이에 따라, 게이트웨이(GWDc)에, 바디 샤시 제어 모듈(BSG), 파워 제어 모듈(PTG), ADAS 제어 모듈(ADG), 칵핏 제어 모듈(CPG)이 병렬 접속되며, 특히, 각 제어 모듈 내의 복수의 프로세서(ECU)가, 병렬로 게이트웨이(GWDb)에 접속될 수 있다.
도 2b와 비교하면, 제3 아키텍쳐는, 각 프로세서(ECU)가, 다른 모듈에 접속 없이, 바로 게이트웨이(GWDb)에 접속되는 것에 그 차이가 있다.
한편, 도 2c의 게이트웨이(GWDc)를 포함하는 신호 처리 장치(170)는, 분산형 신호 처리 장치로서 동작하게 된다.
도 3은 도 2a의 신호 처리 장치의 내부 블록도의 일예이다.
도면을 참조하면, 본 개시의 실시에에 따른 신호 처리 장치(170)는, 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서(732a)와, 제2 통신 방식에 기초하여, 외부로부터 수신하는 통신 메시지를 포함하는 제2 메시지를 수신하고, 수신되는 제2 메시지의 신호 처리를 수행하는 제2 프로세서(732b)를 포함한다.
이때, 제2 통신 방식은, 제1 통신 방식 보다 통신 속도가 더 빠르거나, 대역폭이 더 클 수 있다.
예를 들어, 제2 통신 방식은, 이더넷 통신 방식이며, 제1 통신 방식은 CAN 통신 방식일 수 있다. 이에 따라, 제1 메시지는 CAN 메시지일 수 있으며, 제2 메시지는 이더넷 메시지일 수 있다.
한편, 본 개시의 실시에에 따른 신호 처리 장치(170)는, IPC 채널을 구비하는 제1 메모리(320)와, 차량 속도 데이터를 포함하는 센서 데이터를 저장하는 제2 메모리(330)를 더 구비한다.
예를 들어, 제1 메모리(320)는, SRAM(Static RAM)일 수 있으며, 제2 메모리(330)는 DDR 메모리일 수 있다. 특히, 제2 메모리(330)는, DDR SDRAM(Double data rate synchronous dynamic random access memory)일 수 있다.
한편, 본 개시의 실시에에 따른 신호 처리 장치(170)는, 제1 프로세서(732a)와 제2 프로세서(732b) 사이의 제1 메시지 또는 제2 메시지 전송을 위해 동작하는 공유 메모리(508)를 포함한다.
이와 같이, 제1 프로세서(732a)와 제2 프로세서(732b) 사이의 통신시 공유 메모리(508)를 이용한 프로세서간 통신을 수행함으로써, 프로세서 간 통신시 지연 시간 저감 및 고속의 데이터 전송을 수행할 수 있게 된다. 데이터 전송을 수행할 수 있게 된다.
한편, 공유 메모리(508)는, 제1 메모리(320) 내에 구비되는 것이 바람직하다. 이에 따라, 프로세서 간 통신시 지연 시간 저감 및 고속의 데이터 전송을 수행할 수 있게 된다.
한편, 제1 프로세서(732a)는, 내부에 복수의 프로세서 코어(317o,317a,317b)를 구비할 수 있다.
한편, 제1 프로세서(732a)는, 외부의 차량 센서들로부터 CAN 메시지를 수신하는 인터페이스(319)를 더 구비할 수 있다.
예를 들어, 제1 프로세서(732a) 내의 제1 프로세서 코어(317o)는, 복수의 애플리케이션을 실행하거나, 제1 오토사(AUTomotive Open System Architecture; AUTOSAR)(312)를 실행할 수 있다.
특히, 제1 프로세서 코어(317o)는, 제2 오토사(312)를 실행하여, 프로세서 간 통신 핸들러(IPC Handler)(314)를 실행할 수 있다.
한편, IPC Handler)(314)는, 제1 메모리(320)와 데이터를 교환하거나, 제1 프로세서 코어(317o)에서 실행되는 애플리케이션과 IPC 데이터를 교환할 수 있다.
한편, IPC Handler)(314)는, 제2 프로세서(732b) 내의 IPC 드라이버(348)로, 인터럽트를 교환할 수 있다.
한편, 제1 프로세서(732a) 내의 제2 프로세서 코어(317a)는, IDS를 실행하고, 제2 메모리(330)로부터의 CAN 데이터를 수신할 수 있다.
한편, 제1 프로세서(732a) 내의 제3 프로세서 코어(317b)는, Logging을 실행하여, 인터페이스(319)를 통해 수신되는 CAN 데이터를 제2 메모리(330)에 저장할 수 있다.
한편, 제1 프로세서(732a) 내의 제3 프로세서 코어(317b)는, 프로세서 간 통신(IPC) 모듈(318)을 실행하여, 제1 메모리(320)와 IPC 데이터를 교환할 수 있다.
한편, 제1 프로세서(732a) 내의 제3 프로세서 코어(317b)는, 제2 프로세서(732b) 내의 IPC 드라이버(348)로, 인터럽트를 전송할 수 있다.
제1 메모리(320)는, IPC Handler)(314) 또는 IPC 모듈(318)과 IPC 데이터를 교환할 수 있다.
한편, 제2 프로세서(732b)는, 애플리케이션(343), IPC 핸들러(345), IPC 데몬(daemon)(346), IPC 드라이버(348) 등을 실행할 수 있다.
한편, 제2 프로세서(732b)는, 서비스 지향 아키텍쳐(Service Oriented Architecture; SOA) 어댑터(341), 진단 서버(342), 제2 오토사(347)를 더 실행할 수 있다.
제2 오토사(347)는, 어댑티브 오토사(Adaptive AUTOSAR)일 수 있으며, 제1 오토사(312)는 클래식 오토사(Classic AUTOSAR)일 수 있다.
IPC 데몬(daemon)(346)은, SOA 어댑터(341), 진단 서버(342), IPC 핸들러(345), IPC 드라이버(348) 등과 인터럽트 신호를 교환할 수 있다.
한편, 제1 메모리(320)는, SOA 어댑터(341), 진단 서버(342), IPC 핸들러(345) 등과 IPC 데이터를 교환할 수 있다.
한편, 도 3의 설명에서 기술한 IPC 데이터는, CAN 메시지 또는 이더넷 메시지일 수 있다.
한편, IPC Handler(345)는, 진단, 펌웨어 Upgrade, 시스템 정보 등의 데이터를 제2 오토사(347) 기반으로 제공하는 Service Provider로 동작할 수 있다.
한편, 도 3에는 도시하지 않았지만, 제1 프로세서(732a)는, 메시지 라우터(미도시)를 실행하고, 메시지 라우터는, CAN 메시지와 같은 제1 메시지의 프레임을, 이더넷 메시지와 같은 제2 메시지의 프레임 형식으로 변환하여, 제2 프로세서(732b)로 전송하도록 제어할 수 있다.
한편, 도 3에는 도시하지 않았지만, 제1 프로세서(732a)는, CAN 드라이버(미도시), CAN 인터페이스(미도시)를 더 실행할 수 있다.
예를 들어, CAN 인터페이스(미도시)는, 제1 프로세서(732a) 내의 제4 프로세서 코어(미도시)와 제5 프로세서 코어(미도시)에서 각각 8개의 채널로, 총 16개의 채널로 실행되는 것도 가능하다.
이때, 제4 프로세서 코어(미도시)에서 실행되는 제1 CAN 인터페이스(미도시)는, 프로세서 간 통신시의 제1 큐(PTb)(queue)에 대응하고, 제5 프로세서 코어(미도시)에서 실행되는 제2 CAN 인터페이스(미도시)는, 프로세서 간 통신시의 제1 큐(PTb) 보다 우선권이 높이 제2 큐(PTa)에 대응할 수 있다.
도 4a는 본 개시의 실시에에 따른 차량 내부의 차량용 디스플레이 장치의 배치의 일예를 도시한 도면이다.
도면을 참조하면, 차량 내부에는, 클러스터 디스플레이(180a), AVN(Audio Video Navigation) 디스플레이(180b), 뒷 좌석 엔터테인먼트(Rear Seat Entertainment) 디스플레이(180c,180d), 룸미러 디스플레이(미도시) 등이 장착될 수 있다.
도 4b는 본 개시의 실시에에 따른 차량 내부의 차량용 디스플레이 장치의 배치의 다른 예를 도시한 도면이다.
본 개시의 실시예에 따른 차량용 디스플레이 장치(100)는, 복수의 디스플레이(180a~180b), 및 복수의 디스플레이(180a~180b)에 영상, 정보 등을 표시하기 위한 신호 처리를 수행하는 신호 처리 장치(170)를 구비할 수 있다.
복수의 디스플레이(180a~180b) 중 제1 디스플레이(180a)는, 주행 상태, 동작 정보 등의 표시를 위한 클러스터 디스플레이(180a)이고, 제2 디스플레이(180b)는, 챠량 운행 정보, 네비게이션 지도, 다양한 엔테테인먼트 정보 또는 영상의 표시를 위한 AVN(Audio Video Navigation) 디스플레이(180b)일 수 있다.
신호 처리 장치(170)는, 내부에 프로세서(175)를 구비하며, 프로세서(175) 내의 하이퍼바이저(미도시) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(미도시)을 실행할 수 있다.
제2 가상화 머신(미도시)은 제1 디스플레이(180a)를 위해 동작하며, 제3 가상화 머신(미도시)은, 제2 디스플레이(180b)를 위해 동작할 수 있다.
한편, 프로세서(175) 내의 제1 가상화 머신(미도시)은, 제2 가상화 머신(미도시) 및 제3 가상화 머신(미도시)으로, 동일한 데이터 전송을 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정되도록 제어할 수 있다. 이에 따라, 차량 내의 제1 디스플레이(180a)와 제2 디스플레이(180b)에 동일한 정보 또는 동일한 영상을 동기화하여 표시할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(미도시)은, 데이터 분담 처리를 위해, 제2 가상화 머신(미도시)과 제3 가상화 머신(미도시)에 데이터의 적어도 일부를 공유한다. 이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(미도시)은, 차량의 휠 속도 센서 데이터를 수신하고, 처리하여, 제2 가상화 머신(미도시) 또는 제3 가상화 머신(미도시) 중 적어도 하나로, 처리된 휠 속도 센서 데이터를 전송할 수 있다. 이에 따라, 차량의 휠 속도 센서 데이터를, 적어도 하나의 가상화 머신 등에 공유할 수 있게 된다.
한편, 본 개시의 실시예에 따른 차량용 디스플레이 장치(100)는, 주행 상태 정보, 간이 네비게이션 정보, 다양한 엔테테인먼트 정보 또는 영상의 표시를 위한 뒷 좌석 엔터네인먼트(Rear Seat Entertainment) 디스플레이(180c)를 더 구비할 수 있다.
신호 처리 장치(170)는, 프로세서(175) 내의 하이퍼바이저(미도시) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(미도시) 외에 추가로 제4 가상화 머신(미도시)를 실행하여, RSE 디스플레이(180c)를 제어할 수 있다.
이에 따라, 하나의 신호 처리 장치(170)를 이용하여, 다양한 디스플레이(180a~180c)를 제어할 수 있게 된다.
한편, 복수의 디스플레이(180a~180c) 중 일부는, 리눅스 OS 기반 하에 동작하며, 다른 일부는 웹 OS 기반 하에 동작할 수 있다.
본 개시의 실시예에 따른 신호 처리 장치(170)는, 다양한 운영 체제(Operating system;OS) 하에 동작하는 디스플레이(180a~180c)에서도, 동일한 정보 또는 동일한 영상을 동기화하여 표시하도록 제어할 수 있다.
한편, 도 4b에서는, 제1 디스플레이(180a)에, 차량 속도 인디케이터(212a), 차량 내부 온도 인디케이터(213a)가 표시되고, 제2 디스플레이(180b)에, 복수의 애플리케이션과 차량 속도 인디케이터(212b)와 차량 내부 온도 인디케이터(213b)를 포함하는 홈 화면(222)이 표시되고, 제3 디스플레이(180c)에, 복수의 애플리케이션과 차량 내부 온도 인디케이터(213c)를 포함하는 제2 홈 화면(222b)이 표시되는 것을 예시한다.
도 5는 도 4b의 차량용 디스플레이 장치의 내부 블록도의 일예이다.
도면을 참조하면, 본 개시의 실시예에 따른 차량용 디스플레이 장치(100)는, 입력부(110), 외부 장치와의 통신을 위한 통신부(120), 내부 통신을 위한 복수의 통신 모듈(EMa~EMd), 메모리(140), 신호 처리 장치(170), 복수의 디스플레이(180a~180c), 오디오 출력부(185), 전원 공급부(190)를 구비할 수 있다.
복수의 통신 모듈(EMa~EMd)은, 예를 들어, 도 2a의 복수의 존(zone)(Z1~Z4)에 각각 배치될 수 있다.
한편, 신호 처리 장치(170)는, 내부에, 각 통신 모듈(EM1~EM4)과의 데이터 통신을 위한 이더넷 스위치(736b)를 구비할 수 있다.
각 통신 모듈(EM1~EM4)은, 복수의 센서 장치(SN) 또는 ECU(770)와 데이터 통신을 수행할 수 있다.
한편, 복수의 센서 장치(SN)는, 카메라(195), 라이더(196), 레이더(197) 또는 위치 센서(198)를 포함할 수 있다.
입력부(110)는, 버튼 입력, 터치 입력 등을 위한 물리적인 버튼, 패드 등을 구비할 수 있다.
한편, 입력부(110)는, 사용자 음성 입력을 위한 마이크(미도시)를 구비할 수 있다.
통신부(120)는, 이동 단말기(800) 또는 서버(900)와 무선(wireless) 방식으로, 데이터를 교환할 수 있다.
특히, 통신부(120)는, 차량 운전자의 이동 단말기와, 무선으로 데이터를 교환할 수 있다. 무선 데이터 통신 방식으로는, 블루투스(Bluetooth), WiFi, WiFi Direct, APiX 등 다양한 데이터 통신 방식이 가능하다.
통신부(120)는, 이동 단말기(800) 또는 서버(900)로부터, 날씨 정보, 도로의 교통 상황 정보, 예를 들어, TPEG(Transport Protocol Expert Group) 정보를 수신할 수 있다. 이를 위해, 통신부(120)는, 이동 통신 모듈(미도시)를 구비할 수 있다.
복수의 통신 모듈(EM1~EM4)은, ECU(770) 또는 센서 장치(SN)로부터, 센서 정보 등을 수신하고, 수신한 정보를 신호 처리 장치(170)로 전송할 수 있다.
여기서, 센서 정보는, 차량 방향 정보, 차량 위치 정보(GPS 정보), 차량 각도 정보, 차량 속도 정보, 차량 가속도 정보, 차량 기울기 정보, 차량 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 차량 램프 정보, 차량 내부 온도 정보, 차량 내부 습도 정보 중 적어도 하나를 포함할 수 있다.
이러한 센서 정보는, 헤딩 센서(heading sensor), 요 센서(yaw sensor), 자이로 센서(gyro sensor), 포지션 모듈(position module), 차량 전진/후진 센서, 휠 센서(wheel sensor), 차량 속도 센서, 차체 경사 감지센서, 배터리 센서, 연료 센서, 타이어 센서, 핸들 회전에 의한 스티어링 센서, 차량 내부 온도 센서, 차량 내부 습도 센서 등으로부터 획득될 수 있다.
한편, 포지션 모듈은, GPS 정보 수신을 위한 GPS 모듈 또는 위치 센서(198)을 포함할 수 있다.
한편, 복수의 통신 모듈(EM1~EM4) 중 적어도 하나는, GPS 모듈 또는 위치 센서(198)에서 센싱된 위치 정보 데이터를 신호 처리 장치(170)로 전송할 수 있다.
한편, 복수의 통신 모듈(EM1~EM4) 중 적어도 하나는, 카메라(195) 또는 라이더(196) 또는 레이더(197) 등으로부터 차량 전방 영상 데이터, 차량 측방 영상 데이터, 차량 후방 영상 데이터, 차량 주변 장애물 거리 정보 등을 수신하고, 수신한 정보를 신호 처리 장치(170)로 전송할 수 있다.
메모리(140)는, 신호 처리 장치(170)의 처리 또는 제어를 위한 프로그램 등, 차량용 디스플레이 장치(100) 전반의 동작을 위한 다양한 데이터를 저장할 수 있다.
예를 들어, 메모리(140)는, 프로세서(175) 내에서 실행하기 위한, 하이퍼바이저, 제1 가상화 머신 내지 제3 가상화 머신에 관한 데이터를 저장할 수 있다.
오디오 출력부(185)는, 신호 처리 장치(170)로부터의 전기 신호를 오디오 신호로 변환하여 출력한다. 이를 위해, 스피커 등을 구비할 수 있다.
전원 공급부(190)는, 신호 처리 장치(170)의 제어에 의해, 각 구성요소들의 동작에 필요한 전원을 공급할 수 있다. 특히, 전원 공급부(190)는, 차량 내부의 배터리 등으로부터 전원을 공급받을 수 있다.
신호 처리 장치(170)는, 차량용 디스플레이 장치(100) 내의 각 유닛의 전반적인 동작을 제어한다.
예를 들어, 신호 처리 장치(170)는, 차량용 디스플레이(180a,180b)를 위한 신호 처리를 수행하는 프로세서(175)를 포함할 수 있다.
프로세서(175)는, 프로세서(175) 내의 하이퍼바이저(미도시) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(미도시)을 실행할 수 있다.
제1 가상화 머신 내지 제3 가상화 머신(미도시) 중 제1 가상화 머신(미도시)은, 서버 가상화 머신(Server Virtual Maschine)이라 명명할 수 있으며, 제2 가상화 머신 내지 제3 가상화 머신(미도시)은 게스트 가상화 머신(Guest Virtual Maschine)이라 명명할 수 있다.
예를 들어, 프로세서(175) 내의 제1 가상화 머신(미도시)은, 복수의 센서 장치로부터의 센서 데이터, 예를 들어, 차량 센서 데이터, 위치 정보 데이터, 카메라 영상 데이터, 오디오 데이터 또는 터치 입력 데이터를 수신하고, 처리 또는 가공하여 출력할 수 있다.
이와 같이, 제1 가상화 머신(미도시)에서 대부분의 데이터 처리를 수행함으로써, 1:N 방식의 데이터의 공유가 가능하게 된다.
다른 예로, 제1 가상화 머신(미도시)은, 제2 가상화 머신 내지 제3 가상화 머신()을 위해, CAN 데이터, 이더넷 데이터, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터를 직접 수신하고 처리할 수 있다.
그리고, 제1 가상화 머신(미도시)은, 처리된 데이터를 제2 가상화 머신 내지 제3 가상화 머신(530~540)으로 전송할 수 있다.
이에 따라, 제1 가상화 머신 내지 제3 가상화 머신(미도시) 중 제1 가상화 머신(미도시)만, 복수의 센서 장치로부터의 센서 데이터, 통신 데이터, 또는 외부 입력 데이터를 수신하여, 신호 처리를 수행할 수행함으로써, 다른 가상화 머신에서의 신호 처리 부담이 경감되며, 1:N 데이터 통신이 가능하게 되어, 데이터 공유시의 동기화가 가능하게 된다.
한편, 제1 가상화 머신(미도시)은, 데이터를 공유 메모리(508)에 기록하여, 제2 가상화 머신(미도시) 및 제3 가상화 머신(미도시)으로 동일한 데이터를 공유하도록 제어할 수 있다.
예를 들어, 제1 가상화 머신(미도시)은, 차량 센서 데이터, 상기 위치 정보 데이터, 상기 카메라 영상 데이터, 또는 상기 터치 입력 데이터를 공유 메모리(508)에 기록하여, 제2 가상화 머신(미도시) 및 제3 가상화 머신(미도시)으로 동일한 데이터를 공유하도록 제어할 수 있다. 이에 따라, 1:N 방식의 데이터의 공유가 가능하게 된다.
결국, 제1 가상화 머신(미도시)에서 대부분의 데이터 처리를 수행함으로써, 1:N 방식의 데이터의 공유가 가능하게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(미도시)은, 제2 가상화 머신(미도시) 및 제3 가상화 머신(미도시)으로, 동일한 데이터 전송을 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정되도록 제어할 수 있다.
한편, 신호 처리 장치(170)는, 오디오 신호, 영상 신호, 데이터 신호 등 다양한 신호를 처리할 수 있다. 이를 위해, 신호 처리 장치(170)는, 시스템 온 칩(System On Chip,SOC)의 형태로 구현될 수 있다.
한편, 도 5의 디스플레이 장치(100) 내의 신호 처리 장치(170)는, 도 7 등의 차량용 통신 장치(700)의 신호 처리 장치(170)와 동일할 수 있다.
도 6은 본 개시와 관련한 차량용 통신 장치의 내부 블록도의 일예이다.
도면을 참조하면, 본 개시와 관련한 차량용 통신 장치(600x)는, 제1 통신 게이트웨이(630a), 제2 통신 게이트 웨이(630b)를 구비한다.
제1 통신 게이트웨이(630a)는, 바디 모듈(610), 샤시 모듈(614), CAN 통신 진단 장치(616), 적어도 하나의 CAN 통신 ECU(618) 등과의 CAN 통신에 의한 CAN 신호를 교환하기 위한 CAN 트랜시버(636a)와, CAN 트랜시버(636a)에서 수신되는 CAN 신호를 신호 처리하는 제1 프로세서(632a)를 구비할 수 있다.
한편, 제1 프로세서(632a)는, 제2 통신 게이트 웨이(630b) 내의 제2 프로세서(632b)와 프로세서 간 통신을 수행하기 위한 IPC 매니저(634a)를 구비할 있다.
제2 통신 게이트웨이(630b)는, 텔레메틱스 제어 모듈(620), 헤드 모듈(622), 이더넷 통신 진단 장치(624), 적어도 하나의 이더넷 통신 ECU(626) 등과의 이더넷 통신에 의한 이더넷 메시지를 교환하기 위한 이더넷 스위치(636b)와, 이더넷 스위치(636b)에서 수신되는 이더넷 메시지를 신호 처리하는 제2 프로세서(632b)를 구비할 수 있다.
한편, 제2 프로세서(632b)는, 제1 통신 게이트 웨이(630a) 내의 제1 프로세서(632a)와 프로세서 간 통신을 수행하기 위한 IPC 매니저(634b)를 구비할 있다.
한편, 제1 프로세서(632a) 내의 IPC 매니저(634a)와 제2 프로세서(632b) 내의 IPC 매니저(634b)는, 이더넷 통신에 기반하여, 프로세서 간 통신을 수행할 수 있다.
이러한 방식에 의하면, 프로세서 간 통신이, 이더넷 기반의 High Bandwidth를 활용한 대용량 데이터의 고속 전송에는 유리하지만, 프로토콜 스택(Protocol Stack), 물리 계층(PHY) 간 통신에서 지연 시간(Latency)이 발생하는 단점이 있다.
이에 본 개시에서는, 프로세서 간 통신시 지연 시간(Latency) 저감 및 고속의 데이터 전송을 수행할 수 있는 방안을 제시한다. 이에 대해서는 도 7 이하를 참조하여 기술한다.
도 7은 본 개시와 관련한 차량용 통신 장치의 내부 블록도의 다른 예이다.
도면을 참조하면, 본 개시의 실시에에 따른 차량용 통신 장치(700)는, 제1 통신 게이트웨이(730a), 제2 통신 게이트 웨이(730b)와 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서(732a)와, 제2 통신 방식에 기초하여, 외부로부터 수신하는 통신 메시지를 포함하는 제2 메시지를 수신하고, 수신되는 제2 메시지의 신호 처리를 수행하는 제2 프로세서(732b)와, 제1 프로세서(732a)와 제2 프로세서(732b) 사이의 제1 메시지 또는 제2 메시지 전송을 위해 동작하는 공유 메모리(508)를 포함한다.
도 6의 통신 장치(600x)와 비교하여, 제1 프로세서(732a)와 제2 프로세서(732b) 사이의 프로세서 간 통신(IPC)을 위해, 공유 메모리(508)를 이용함으로써, 프로세서 간 통신시 지연 시간(Latency)이 저감되며, 고속의 데이터 전송을 수행할 수 있게 된다.
또한, 도 6의 통신 장치(600x)와 비교하여, 제1 프로세서(732a)와 제2 프로세서(732b), 및 공유 메모리(508)를 하나의 칩(Chip)인 하나의 신호 처리 장치(170)으로 구현함으로써, 프로세서 간 통신시 지연 시간(Latency)이 저감되며, 고속의 데이터 전송을 수행할 수 있게 된다.
한편, 제2 통신 방식은, 제1 통신 방식 보다, 대역폭이 더 크며, 전송 속도가 더 빠른 것이 바람직하다.
예를 들어, 제2 통신 방식은, 이더넷 통신 방식이며, 제1 통신 방식은 CAN 통신 방식일 수 있다. 이에 따라, 제1 메시지는 CAN 메시지 또는 CAN 신호일 수 있으며, 제2 메시지는 이더넷 메시지일 수 있다.
한편, 본 개시의 일 실시예에 따른 신호 처리 장치(170) 및 이를 구비하는 차량용 통신 장치(700)는, 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 제1 메시지를 제1 프로세서(732a)로 전송하는 트랜시버(736a)와, 제2 통신 방식에 기초하여, 외부로부터 수신하는 통신 메시지를 포함하는 제2 메시지를 수신하여, 제2 메시지를 제2 프로세서(732b)로 전송하는 스위치(736b)를 더 포함할 수 있다. 이에 따라, 제1 신회와 제2 메시지를 각각 안정적으로 제1 프로세서(732a)와 제2 프로세서(732b)로 전달할 수 있게 된다.
제1 프로세서(732a) 또는 트랜시버(736a)는, 바디 모듈(610), 샤시 모듈(614), CAN 통신 진단 장치(616), 적어도 하나의 CAN 통신 ECU(618) 등과의 CAN 통신에 의한 CAN 신호를 교환할 수 있다.
한편, 제1 프로세서(732a)는, 제2 프로세서(732b)와 프로세서 간 통신(Inter Processor Communication; IPC)을 위한 제1 매니저(734a)를 구비할 수 있다. 제1 매니저(734a)는, IPC 매니저라 명명할 수도 있다.
한편, 제1 매니저(734a)는, 제1 캐쉬(735a)(cache)를 포함할 수 있다.
한편, 제2 프로세서(732b) 또는 스위치(736b)는, 텔레메틱스 제어 모듈(620), 헤드 모듈(622), 이더넷 통신 진단 장치(624), 적어도 하나의 이더넷 통신 ECU(626) 등과의 이더넷 통신에 의한 이더넷 메시지를 교환할 수 있다. 스위치(736b)는, 이더넛 스위치라 명명할 수도 있다.
한편, 제2 프로세서(732b)는, 제1 프로세서(732a)와 프로세서 간 통신(Inter Processor Communication; IPC)을 위한 제2 매니저(734b)를 구비할 수 있다. 제2 매니저(734b)는, IPC 매니저라 명명할 수도 있다.
한편, 제2 매니저(734b)는, 제2 캐쉬(735b)와 타이머(737)를 포함하는 제2 매니저(734b)를 구비할 수 있다.
한편, 제2 프로세서(732b)는, 이더넷 프로세서 또는 이더넷 통신 ECU(626)로부터 제1 메시지의 주기적인 구독 요청을 수신할 수 있다.
이에 따라, 제2 프로세서(732b)는, 제1 메시지의 주기적인 구독 요청을 제1 프로세서(732a)로 전송할 수 있다.
특히, 제2 프로세서(732b)는, 프로세서 간 통신(IPC)을 통해, 구독 요청을 전송할 수 있다. 이에 따라, 프로세서 간 통신을 수행할 수 있게 된다.
한편, 제1 프로세서(732a)는, 적어도 하나의 CAN 통신 ECU(618) 등으로부터 주기적으로 CAN 통신 데이터를 수신한다.
예를 들어, 제1 프로세서(732a)는, CAN 데이터 베이스(DB)에 미리 정의된 제1 메시지를, 적어도 하나의 CAN 통신 ECU(618) 등으로부터 주기적으로 수신한다.
예를 들어, 주기적인 제1 메시지는, 센서 정보로서, 차량 속도 정보 또는 위치 정보 등을 포함할 수 있다.
다른 예로, 주기적인 제1 메시지는, 차량 방향 정보, 차량 위치 정보(GPS 정보), 차량 각도 정보, 차량 가속도 정보, 차량 기울기 정보, 차량 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 차량 램프 정보, 차량 내부 온도 정보, 차량 내부 습도 정보 중 적어도 하나를 포함할 수 있다.
한편, 제1 프로세서(732a)는, 주기적으로 수신되는 CAN 통신 데이터 또는 제1 메시지 중에서 구독 요청 받은 제1 메시지를 선별하고, 구독 요청 받은 제1 메시지를, 프로세서 간 통신을 통해, 제2 프로세서(732b)로 전송할 수 있다.
한편, 제1 프로세서(732a)는, 주기적으로 수신되는 CAN 통신 데이터 또는 제1 메시지 중에서 구독 요청 받지 않은 제1 메시지를, 내부 동작에 따라 별도로 처리하고, 제2 프로세서(732b)로 전송하지 않는다.
구체적으로, 제1 프로세서(732a)는, 구독 요청 받은 제1 메시지 수신시 제1 캐쉬(735a)에 저장 또는 관리하고, 제1 메시지 수신시, 제1 캐쉬(735a)에 저장된 값과 비교하여, 그 차이가 소정치 이상인 경우에, 프로세서 간 통신을 통해, 제2 프로세서(732b)로 제1 메시지를 전송할 수 있다.
한편, 제1 프로세서(732a)는, 구독 요청 받은 제1 메시지 수신시 제1 캐쉬(735a)에 저장 또는 관리하고, 제1 메시지 수신시, 제1 캐쉬(735a)에 저장된 값과 비교하여, 그 차이가 소정치 이상인 경우에, 공유 메모리(508)를 이용하여, 프로세서 간 통신을 통해, 제2 프로세서(732b)로 제1 메시지를 전송할 수 있다.
예를 들어, 제1 프로세서(732a)는, 제1 메시지 수신시, 제1 캐쉬(735a)에 저장된 값과 비교하여, 동일하지 않은 경우에, 공유 메모리(508)를 이용하여, 프로세서 간 통신을 통해, 제2 프로세서(732b)로 제1 메시지를 전송할 수 있다.
다른 예로, 제1 프로세서(732a)는, 제1 메시지 수신시, 제1 캐쉬(735a)에 저장된 값과 비교하여, 동일한 경우에, 제2 프로세서(732b)로 제1 메시지를 전송하지 않을 수 있다.
이에 따라, 동일 데이터의 캐쉬 점유 또는 버퍼 점유를 최소화하여 프로세서 간 통신시 지연 시간 저감 및 고속의 데이터 전송을 수행할 수 있게 된다. 이에 따라, 동일 데이터의 캐쉬 점유 또는 버퍼 점유를 최소화하여 프로세서 간 통신시 지연 시간 저감 및 고속의 데이터 전송을 수행할 수 있게 된다.
한편, 제2 프로세서(732b)는, 제1 메시지의 첫 수신시, 제2 캐쉬(735b)에 저장하고, 제1 메시지의 후속 수신시, 제2 캐쉬(735b)를 업데이트할 수 있다. 이에 따라, 프로세서 간 통신시 지연 시간 저감 및 고속의 데이터 전송을 수행할 수 있게 된다.
한편, 제2 프로세서(732b)는, 제1 메시지 수신에 따라 타이머(737)의 쓰레드를 생성하고, 쓰레드의 만료마다 제2 캐쉬(735b)의 값을, 이더넷 프로세서 또는 이더넷 통신 ECU(626)로 전달할 수 있다. 이에 따라, 프로세서 간 통신시 지연 시간 저감 및 고속의 데이터 전송을 수행할 수 있게 된다.
한편, 제2 프로세서(732b)는, 프로세서 간 통신이 수행되지 않아 제1 메시지가 수신되지 않는 주기 동안에는, 제2 캐쉬(735b)의 값을, 이더넷 프로세서 또는 이더넷 통신 ECU(626)로 전달할 수 있다.
즉, 구독한 제1 메시지의 값이 주기 내에 변경되지 않는 경우, 프로세서 간 통신 없이, 제2 프로세서((732b)에 저장된 캐쉬 값이, 이더넷 프로세서(626)로 전달될 수 있다.
이에 따라, FIFO로 운영되는 공유 메모리(508) 내의 IPC 버퍼의 사용을 최소화할 수 있게 된다. 또한, IPC 버퍼의 사용을 최소로 유지함으로써, 제1 메시지 또는 제2 메시지 등의 데이터를, 프로세서 간 통신을 통해, 신속하게 전송할 수 있게 된다.
한편, 제2 프로세서(732b)는, 프로세서 간 통신이 수행되어 제1 메시지가 수신되는 주기 동안에는, 제2 캐쉬(735b)에 업데이트된 값을, 이더넷 프로세서 또는 이더넷 통신 ECU(626)로 전달할 수 있다. 이에 따라, 프로세서 간 통신시 지연 시간 저감 및 고속의 데이터 전송을 수행할 수 있게 된다.
한편, 공유 메모리(508)는, 프로세서 간 통신시, 제1 큐(PTb)(queue)와, 제1 큐(PTb) 보다 우선권이 높이 제2 큐(PTa)를 통해, 데이터를, 제1 프로세서(732a)에서 제2 프로세서(732b) 사이에 전송되도록 할 수 있다.
특히, 공유 메모리(508)는, 프로세서 간 통신을 위한 이벤트가 증가하더라도, 제2 큐(PTa)를 위해 할당된 이벤트에 대응하는 데이터만 제2 큐(PTa)를 통해, 전송되록 할 수 있다. 이에 따라, 프로세서 간 통신에서 우선권 높은 이벤트의 실시간 전송을 보장할 수 있게 된다.
예를 들어, 제1 큐(PTb)는, 노말 순위 큐(Normal Priority Queue)일 수 있으며, 제2 큐(PTa)는 하이 순위 큐(High Priority Queue)일 수 있다.
구체적으로, 공유 메모리(508)는, 프로세서 간 통신시, 제1 큐(PTb)를 통해, 대부분의 데이터를 전송할 수 있다.
다만, 공유 메모리(508)는, 시간에 민감하고 중요한(Time sensitive-critical) 데이터만, 제1 큐(PTb) 보다 우선권이 높이 제2 큐(PTa)를 통해, 지연없이 전송되도록 할 수 있다.
예를 들어, 시간에 민감하고 중요한(Time sensitive-critical) 데이터는, 속도 데이터 또는 위치 정보 데이터 등일 수 있다.
즉, 공유 메모리(508)는, 속도 데이터 또는 위치 정보 데이터를, 제2 큐(PTa)를 통해, 제1 프로세서(732a)와 제2 프로세서(732b) 사이에 전송되도록 할 수 있다. 이에 따라, 프로세서 간 통신에서 우선권 높은 속도 데이터 또는 위치 정보 데이터의 실시간 전송을 보장할 수 있게 된다.
한편, 제1 프로세서(732a) 또는 제2 프로세서(732b)는, 제2 큐(PTa)를 이용할 수 있는 어플리케이션을 포함하는 리스트를 관리할 수 있다.
예를 들어, 제2 프로세서(732b)는, 속도 정보 표시를 위한 어플리케이션을, 제2 큐(PTa)를 이용할 수 있는 어플리케이션으로서, 제2 리스트(738b) 내에 포함시켜 관리할 수 있다.
한편, 제2 큐(PTa)를 이용한 실시간 데이터 전송을 위해, 시나리오 또는 애플리케이션이 중복되지 않도록 최소한으로 동작하도록 제어하는 것이 바람직하다.
이와 같이, 시간에 민감하고 중요한 데이터를 제2 큐(PTa)를 이용한 실시간 데이터 전송을 수행함으로써, 프로세서 간 통신에서 우선권 높은 이벤트의 실시간 전송을 보장할 수 있게 된다.
한편, 공유 메모리(508)는, 최소 2개의 큐 할당으로, 프로세서 간 통신에서의 지연 시간 저감 및 고속의 데이터 전송을 수행할 수 있게 된다.
도면에서는, 제1 프로세서(732a) 내의 제1 매니저(734a)가 화이트 리스트인 제1 리스트(738a)를 관리하며, 제2 프로세서(732b) 내의 제2 매니저(734b)가 화이트 리스트인 제2 리스트(738b)를 관리하는 것을 예시한다. 이에 따라, 프로세서 간 통신에서 우선권 높은 이벤트의 실시간 전송을 보장할 수 있게 된다.
도 8은 본 개시의 실시에에 따른 차량용 통신 장치의 내부 블록도의 일예이다.
도면을 참조하면, 본 개시의 실시에에 따른 차량용 통신 장치(800)는, 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 처리하고, 제2 통신 방식에 기초하여 제2 메시지를 처리하는 신호 처리 장치(170b)를 구비한다.
본 개시의 실시에에 따른 신호 처리 장치(170b)는, 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서(732a)와, 제2 통신 방식에 기초하여, 외부로부터 수신하는 통신 메시지를 포함하는 제2 메시지를 수신하고, 수신되는 제2 메시지의 신호 처리를 수행하는 제2 프로세서(732b)와, 제1 통신 방식의 메시지에 대한 처리를 가속하는 제1 가속기(820)를 포함하고, 제1 프로세서(732a)와 제1 가속기(820)는, 제1 메시지에 대한 침입 탐지를 분담하여 수행한다. 이에 따라, 수신되는 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있게 된다. 특히, 메시지를 제1 프로세서(732a)와 제1 가속기(820)에서 분담하여 처리함으로써, 제1 프로세서(732a)의 부하를 저감할 수 있게 된다.
한편, 본 개시의 실시에에 따른 차량용 통신 장치(800)는, 제2 통신 방식의 메시지에 대한 처리를 가속하는 제2 가속기(830)를 더 포함할 수 있다.
한편, 제1 메시지는, CAN 통신 방식에 기반한 CAN 메시지일 수 있으며, 제1 가속기(820)는, CAN Accelerator일 수 있다.
한편, 제2 메시지는, 이더넷 통신 방식에 기반한 이더넷 메시지일 수 있으며, 제2 가속기(830)는, Packet Forwarding Engine(PFE)일 수 있다.
여기서, 차량 내의 센서 신호는, 차량 휠 속도 데이터, 차량 방향 데이터, 차량 위치 데이터(GPS 데이터), 차량 각도 데이터, 차량 속도 데이터, 차량 가속도 데이터, 차량 기울기 데이터, 차량 전진/후진 데이터, 배터리 데이터, 연료 데이터, 타이어 데이터, 차량 램프 데이터, 차량 내부 온도 데이터, 차량 내부 습도 데이터, 차량 외부 카메라 데이터, 차량 내부 카메라 데이터, 차량 외부 레이더 데이터, 차량 외부 라이더 데이터 중 적어도 하나를 포함할 수 있다.
한편, 차량 내의 센서 신호의 종류가 증가할수록, 제1 프로세서(732a)에서 처리해야 하는 제1 메시지가 증가하며, 제1 메시지의 침입 탐지를 위해, 제1 프로세서(732a)의 부담이 증가할 수 있다.
이에 본 개시에서는, 수신되는 제1 메시지 중 일부는 제1 프로세서(732a)에서 침입 탐지를 담당하고, 수신되는 제1 메시지 중 다른 일부는 제1 가속기(820)에서 수행하는 것으로 한다. 이에 따라, 수신되는 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있게 된다. 특히, 메시지를 제1 프로세서(732a)와 제1 가속기(820)에서 분담하여 처리함으로써, 제1 프로세서(732a)의 부하를 저감할 수 있게 된다.
한편, 제1 프로세서(732a)는, 제1 타입 기반의 침입 탐지를 수행하고, 제1 가속기(820)는, 제1 타입과 다른 제2 타입 기반의 침입 탐지를 수행할 수 있다. 특히, 메시지를 타입 별로, 제1 프로세서(732a)와 제1 가속기(820)에서 분담하여 처리함으로써, 제1 프로세서(732a)의 부하를 저감할 수 있게 된다.
한편, 제1 가속기(820)는, 제1 메시지에 대한 침입 탐지가 검출되는 경우, 제1 메시지의 침입 방지를 수행할 수 있다. 이에 따라, 수신되는 제1 메시지에 대한 침입 탐지 및 칩입 방지를 효율적으로 수행할 수 있게 된다.
한편, 제1 가속기(820)는, 제1 프로세서(732a)에서 제1 타입 기반의 침입 탐지에 의해, 제1 메시지에 대한 침입 탑지가 검출되는 경우, 제1 메시지의 침입 방지를 수행하며, 제2 타입 기반의 침입 탐지에 의해, 제1 메시지에 대한 침입 탑지가 검출되는 경우, 제1 메시지의 침입 방지를 수행할 수 있다. 이에 따라, 수신되는 제1 메시지에 대한 침입 탐지 및 칩입 방지를 효율적으로 수행할 수 있게 된다.
한편, 제1 프로세서(732a)는, 제1 타입 기반의 침입 탐지를 수행하는 제1 침입 탐지부(810)를 포함한다. 여기서, 제1 타입 기반의 침입 탐지는, 메시지의 비결정론적 방법 또는 시맨틱(Semantic)에 기반한 칩입 탐지(Intrusion Detection)일 수 있다.
한편, 제1 침입 탐지부(810)는, 제1 침입 탐지 시스템((Intrusion Detection System; IDS)이라 명명할 수도 있다.
한편, 제1 프로세서(732a) 내의 제1 침입 탐지부(810)는, 수신되는 메시지 내의 신호 트렌드822), 신호 디펜던시(823), 신호 상태(824), 신호 컨시스턴시(825) 등에 기초하여, 제1 타입 기반의 침입 탐지 여부를 수행할 수 있다.
제1 가속기(820)는, 제2 타입 기반의 침입 탐지를 수행하는 제2 침입 탐지부(822)를 포함한다. 여기서, 제2 타입 기반의 침입 탐지는, 메시지의 결정론적 방법 또는 신택스(Syntax)에 기반한 칩입 탐지(Intrusion Detection)일 수 있다.
제2 침입 탐지부(822)는, 수신되는 메시지의 포맷(812) 또는 타이밍(813)에 기초하여, 제2 타입 기반의 침입 탐지를 수행할 수 있다.
한편, 제1 가속기(820)는, 제1 침입 탐지부(810) 또는 제2 침입 탐지부(822)에서 침입 탐지가 검출되는 경우, 메시지를 드랍하도록 제어할 수 있다. 이에 따라, 제1 가속기(820)를 통해, 침입 탐지된 메시지를 신속하게 드랍할 수 있게 된다.
한편, 본 개시의 실시에에 따른 신호 처리 장치(170b)는, 바디 ECU(610a), 샤시 ECU(614a), 파워트레인 ECU(619a) 등과의 CAN 통신에 의한 CAN 신호를 교환할 수 있다.
이를 위해, 신호 처리 장치(170b)는, 바디 ECU(610a), 샤시 ECU(614a), 파워트레인 ECU(619a) 등과의 CAN 통신을 위한 CAN 트랜시버(636a)를 구비할 수 있다.
한편, CAN 트랜시버(636a)에서 수신되는 CAN 메시지, 즉 제1 메시지는, 제1 가속기(820)를 통해, 제1 프로세서(732a)로 전달된다.
이때, 제1 가속기(820)는, 제1 메시지를 수신하고, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지인지 여부를 판단한다.
예를 들어, 제1 가속기(820)는, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지로 검출되는 경우, 제2 타입 기반의 침입 탐지 메시지를 드랍하고, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지가 아닌 경우, 제1 프로세서(732a)로의 전송을 위해 공유 메모리(508)에 기록할 수 있다. 이때의 공유 메모리(508)는, 도 3의 제1 메모리(320) 내에 구비될 수 있다.
한편, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지로 검출되지 않는 경우, 제1 프로세서(732a)는, 공유 메모리(508)에 기록된 제1 메시지를 수신하고, 제1 메시지가 제1 타입 기반의 침입 탐지 메시지인지 여부를 판단한다.
예를 들어, 제1 프로세서(732a)는, 제1 메시지가 제1 타입 기반의 침입 탐지 메시지로 검출되는 경우, 제1 메시지를 로그하고, 서버로 제1 메시지에 대한 로그를 전송하도록 제어할 수 있다.
한편, 제1 프로세서(732a)는, 제1 침입 탐지부(810)를 실행 또는 포함하는 것 외에, 오토사(AUTomotive Open System Architecture; AUTOSAR)(826), 게이트웨이 애플리케이션(828) 등을 실행 또는 포함할 수 있다.
한편, 제2 프로세서(732b)에서 제1 프로세서(732a)로 수신된 메시지는, 제1 가속기(820), 트랜시버(736a)를 거쳐, 바디 ECU(610a), 샤시 ECU(614a), 파워트레인 ECU(619a) 등으로 전달될 수도 있다.
한편, 본 개시의 실시에에 따른 신호 처리 장치(170b)는, 통신 장치(620) 또는 인포테인먼트 디바이스(622) 등과의 이더넷 통신에 의한 이더넷 메시지를 교환할 수 있다.
이를 위해, 신호 처리 장치(170b)는, 통신 장치(620) 또는 인포테인먼트 디바이스(622) 등과의 이더넷 통신을 위한 이더넷 스위치(636b)를 구비할 수 있다.
한편, 이더넷 스위치(636b)에 수신되는 제2 메시지는, 제2 가속기(830)를 거쳐, 제2 프로세서(732b)로 전달될 수 있다.
한편, 제2 프로세서(732b)는, 제2 메시지의 신호 처리 외에, 애플리케이션을 더 실행할 수 있다.
도 9 내지 도 15는 도 8의 설명에 참조되는 도면이다.
도 9는 본 발명과 관련한 신호 처리 장치(170bx)를 도시한 도면이다.
도면을 참조하면, 본 발명과 관련한 신호 처리 장치(170bx)는, 제1 프로세서(732ax)와 하드웨어(950x)를 구비할 수 있다.
제1 프로세서(732ax)는, 애플리케이션이 실행되는 영역(910x)과 오토사가 실행되는 영역(920x)으로 구분될 수 있다.
하드웨어(950x)를 통해 CAN 메시지인 제1 메시지가 수신되는 경우, 하드웨어(950x) 내의 CAN 컨트롤러(952x)에서, 제1 프로세서(732ax) 내의 통신 서비스(921)로 제1 메시지가 전달되고, 제1 메시지에 대한 침입 탐지를 위해, 디바이스 드라이버(823)을 거쳐, 데이터 수집(912), CAN 침입 탐지 시스템(IDS)(914)에서 제1 메시지에 대한 침입 탐지를 수행한다.
특히, CAN 침입 탐지 시스템(IDS)(914)는 수신되는 제1 메시지 전부에 대한 침입 탐지를 수행한다.
그러나, 센서 신호의 개수가 증가하는 추세 또는 센서 신호의 종류가 증가하는 추세에 따라, 제1 프로세서(732ax)의 부담이 상당히 증가하는 문제가 있다.
또한, CAN 통신은, 버스 토폴로지 기반으로 동작하기 때문에, CAN IDS(914)가 동일 버스에 연결되어 있는 경우에는, CAN 메시지의 드랍(Drop) 또는 무시(Ignore)하는 과정의 복잡도가 커서, 칩입 방지 시스템(Intrusion Prevention System; IPS) 적용이 어렵게 된다는 문제가 있다.
이에 본 개시에서는, 도 8의 설명에서와 같이, 침입 탐지를 위해, 메시지를 제1 프로세서(732a)와 제1 가속기(820)에서 분담하여 처리하는 방안을 제시한다.
도 10은 본 개시의 실시예에 따른 신호 처리 장치(170b)의 일예를 도시한 도면이다.
도면을 참조하면, 본 개시의 실시예에 따른 신호 처리 장치(170b)는, 제1 프로세서(732a)와, 제1 가속기(820), 하드웨어(950)를 구비할 수 있다.
제1 프로세서(732a)는, 애플리케이션이 실행되는 영역(910)과 오토사가 실행되는 영역(920)으로 구분될 수 있다.
한편, 제1 프로세서(732a)는, 게이트웨이 애플리케이션(828)과, 제1 침입 탐지부(810)를 실행할 수 있다.
또한, 제1 프로세서(732a)는, 통신 서비스(921)과 공유 메모리(508)을 실행할 수 있다. 한편, 도면과 달리, 공유 메모리(508)는, 도 3의 제1 메모리(320) 내에 구비될 수 있다.
제1 가속기(820)는, 제1 프로세서(732a)와의 메시지 교환을 위한 인터페이스(932)와, 제2 타입 기반의 침입 탐지를 수행하는 제2 침입 탐지부(822)를 포함할 수 있다.
인터페이스(932)는, 제1 프로세서(732a) 또는 외부로의 메시지 전송을 위한 전송 인터페이스(933), 제1 프로세서(732a) 또는 외부로부터의 메시지 수신을 위한 수신 인터페이스(934), 공유 메모리와의 인터페이싱을 위한 로깅 인터페이스(935)를 구비할 수 있다.
한편, 로깅 인터페이스(935)는, 공유 메모리(508)와의 미러링을 위해 동작할 수 있다.
한편, 제1 가속기(820)는, 메시지 교환을 위해, FIFO 동작을 수행하는 큐(Queue)(936)를 실행 또는 포함할 수 있다.
구체적으로, 제1 가속기(820)는, 제1 프로세서(732a) 또는 외부로의 메시지 전송을 위한 전송 큐(937)와, 제1 프로세서(732a) 또는 외부로부터의 메시지 수신을 위한 수신 큐(938)를 더 실행 또는 더 포함할 수 있다.
한편, 제1 가속기(820)는, 전송 큐(937)와 수신 큐(938)를 위한, 전송 엔진(939)와 수신 엔진(942), 그리고, 하드웨어와의 데이터 교환을 위한 데이터 전송 엔진(944)를 더 실행할 수 있다.
예를 들어, 하드웨어(950)를 통해 CAN 메시지인 제1 메시지가 수신되는 경우, 하드웨어(950) 내의 CAN 컨트롤러(952)에서, 제1 가속기(820)로 제1 메시지가 전달되고, 제1 가속기(820) 내의 제2 침입 탐지부(822)가, 제2 타입 기반의 침입 탐지를 수행한다.
제2 침입 탐지부(822)는, 제2 타입 기반의 침입 탐지에 대한 결과를, 전송 엔진(939) 또는 수신 엔진(942)으로 전송하고, 이에 따라, 전송 큐(937) 또는 수신 큐(938)가 동작한다.
예를 들어, 제1 메시지가 제2 타입 기반의 침입 탐지로 검출되는 경우, 메시지 전송이 중지될 수 있다. 이에 따라, 침입 탐지된 메시지를 신속하게 전송 중지할 수 있게 된다.
구체적으로, 제1 가속기(820)는, 제1 메시지를 수신하고, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지로 검출되는 경우, 제2 타입 기반의 침입 탐지 메시지를 드랍하고, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지가 아닌 경우, 제1 프로세서(732a)로의 전송을 위해 공유 메모리(508)에 기록할 수 있다. 이에 따라, 메시지에 대한 침입 탐지 및 칩입 방지를 효율적으로 수행할 수 있게 된다.
한편, 제1 프로세서(732a)는, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지가 아닌 경우, 공유 메모리(508)에 기록된 제1 메시지를 수신할 수 있다. 이에 따라, 제1 메시지를 효율적으로 수신할 수 있게 된다.
한편, 제1 프로세서(732a) 내의 제1 침입 탐지부(810)는, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지가 아닌 경우, 공유 메모리(508)에 기록된 제1 메시지를 수신하고. 제1 메시지가 제1 타입 기반의 침입 탐지 메시지인지 여부를 판단한다.
예를 들어, 제1 프로세서(732a) 내의 제1 침입 탐지부(810)는, 제1 메시지가 제1 타입 기반의 침입 탐지 메시지인 경우, 제1 메시지를 로그(log)하고, 제2 프로세서(732b) 등을 통해, 서버로 제1 메시지에 대한 로그를 전송하도록 제어할 수 있다. 이에 따라, 메시지에 대한 침입 탐지에 대해 서버로 전송할 수 있게 된다.
다른 예로, 제1 프로세서(732a)는, 제1 메시지가 제1 타입 기반의 침입 탐지 메시지가 아닌 경우, 제1 메시지에 대한 신호 처리를 수행할 수 있다. 예를 들어, 신호 처리된 제1 메시지 또는 제1 메시지와 관련된 정보를, 제2 프로세서(732b) 등으로 전송할 수 있다.
도 11은 본 본 개시의 실시에에 따른 신호 처리 장치의 동작 방법을 나타내는 순서도이다.
도면을 참조하면, 신호 처리 장치(170b) 내의 제1 가속기(820)는, CAN 메시지인 제1 메시지를 수신한다(S1110).
다음, 제1 가속기(820) 내의 제2 침입 탐지부(822)는, 제1 메시지가, 제2 타입 기반의 침입 탐지인지 여부를 검출한다(S1115).
예를 들어, 제1 메시지가 제2 타입 기반의 침입 탐지로 검출되는 경우, 제1 가속기(820)는, 제1 메시지의 전송을 중단하고 로그를 수행할 수 있다(S1120).
다른 예로, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지가 아닌 경우, 제1 프로세서(732a)로의 전송을 위해 공유 메모리(508)에 기록할 수 있다(S1125).
한편, 제1 프로세서(732a) 내의 제1 침입 탐지부(810)는, 공유 메모리(508)에 기록된 제1 메시지를 수신하고(S1130). 제1 메시지가 제1 타입 기반의 침입 탐지 메시지인지 여부를 판단한다(S1135).
예를 들어, 제1 프로세서(732a) 내의 제1 침입 탐지부(810)는, 제1 메시지가 제1 타입 기반의 침입 탐지 메시지인 경우, 제1 메시지를 로그(log)하고(S1140), 제2 프로세서(732b) 등을 통해, 서버로 제1 메시지에 대한 로그를 전송하도록 제어할 수 있다(S1145). 이에 따라, 메시지에 대한 침입 탐지에 대해 서버로 전송할 수 있게 된다.
제1 메시지가 침입 탐지 메시지인 지 여부는, 도 12a 이하를 참조하여 보다 상세히 기술한다.
도 12a는 침입 탐지를 위한 다양한 탐지 기준을 예시하는 도면이다.
도면을 참조하면, 침입 탐지 메시지인 지 여부는, Rule type(1210), Rule generation method(1215), Feature type(1220), Feature level(1230) 등으로 구분될 수 있다.
이때, Feature level(1230)은, meassage(1231), signle signal(1232),two signal(1233), multi signal(1234) 등으로 구분될 수 있다.
도 12b는 제1 침입 탐지부(810)와 제2 침입 탐지부(822)의 동작 설명을 위해 참조되는 도면이다.
도면을 참조하면, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지인 지 여부는, Signature(1212) 하의 Known-attack(1214)과 Specification(1216) 중 Specification(1216)에 기초하여 결정될 수 있다.
제1 가속기(820) 내의 제2 침입 탐지부(822)는, Specification(1216) 하의 포맷(1218)과 타이밍(1219)에 기초하여, 제1 메시지가 제2 타입 기반의 침입 탐지 메시지인 지 여부를 검출할 수 있다.
예를 들어, 제1 가속기(820)는, 제1 메시지 내의 차량 속도 범위가, 허용치를 초과하는 경우, 제2 타입 기반의 침입 탐지로 검출할 수 있다. 이에 따라, 차량 속도 범위에 관한 메시지의 침입 탐지를 효율적으로 수행할 수 있게 된다.
한편, 제1 메시지가 제1 타입 기반의 침입 탐지 메시지인 지 여부는, Anomaly(1213) 하의 Statistic/ML(1215)과 Protocol Characteristic(1217) 중 Statistic/ML(1215)에 기초하여 결정되며, Statistic/ML(1215) 하의 Semantics(1221)과 Fingerprint(1222) 중 Semantics(1221)에 기초하여 결정될 수 있다.
한편, 제1 프로세서(732a)는, 메시지의 시맨틱(Semantic)에 기초하여, 제1 메시지의 침입 탐지 여부를 검출할 수 있다.
제1 프로세서(732a) 내의 제1 침입 탐지부(810)는, 메시지 시퀀스(1223), 신호 트렌드(1224), 신호 상태(1226), 신호 디펜던시(1228), 신호 컨시스턴시(1229), 또는 신호 상관 관계(1232) 등에 기초하여, 제1 메시지가 제1 타입 기반의 침입 탐지 메시지인 지 여부를 검출할 수 있다.
예를 들어, 제1 침입 탐지부(810)는, 메시지 시퀀스가, 제1 ECU, 제7 ECU, 제2 ECU로 수신되는 경우, 제1 타입 기반의 침입 탐지 메시지로 검출할 수 있다.
다른 예로, 제1 침입 탐지부(810)는, 신호 트렌드와 관련하여, 제1 메시지 내의 신호의 증감 범위가 허용 증감 범위를 초과하는 경우, 제1 타입 기반의 침입 탐지로 검출할 수 있다.
구체적으로, 제1 프로세서(732a) 내의 제1 침입 탐지부(810)는, 제1 메시지 내의 차량 속도의 증감 범위가 허용 증감 범위를 초과하는 경우, 제1 타입 기반의 침입 탐지로 검출할 수 있다. 이에 따라, 차량 속도의 증감 범위에 관한 메시지의 침입 탐지를 효율적으로 수행할 수 있게 된다.
또 다른 예로, 제1 침입 탐지부(810)는, 신호 디펜던시와 관련하여, 제1 메시지 내의 신호의 변화 상관 관계가, 허용 범위를 초과하는 경우, 제1 타입 기반의 침입 탐지로 검출할 수 있다.
또 다른 예로, 제1 침입 탐지부(810)는, 신호 컨시스턴시와 관련하여, 제1 메시지가 속도 데이터에서 갑자기 위치 정보 데이터로 변경되는 경우, 제1 타입 기반의 침입 탐지로 검출할 수 있다.
또 다른 예로, 제1 침입 탐지부(810)는, 신호 상관 관계와 관련하여, 다중 신호의 상관 관계를 분석하고, 상관 관계가 허용 범위를 초과하는 경우, 제1 타입 기반의 침입 탐지로 검출할 수 있다.
한편, 제1 침입 탐지부(810)는, 추가로, 차량 컨텍스트(1234)와 관련하여, 제1 메시지가 주행 데이터에서 갑자기 정차 데이터로 변경되는 경우, 제1 타입 기반의 침입 탐지로 검출할 수 있다.
도 13a 내지 도 14b는 제1 가속기(820) 내의 제2 침입 탐지부(822) 동작 설명에 참조되는 도면이다.
도 13a는, 포맷 기반의 탐지를 위해, 제1 메시지인 클러스터 메시지를 예시하는 도면이다.
도면을 참조하면, 제1 가속기(820)는, 제1 메시지의 메시지 아이디, 데이터 길이, 시그널 범위 또는 제1 메시지의 발생 주기에 기초하여, 제1 메시지의 침입 탐지 여부를 검출할 수 있다.
도면에서는, 클러스터 메시지 내의 메시지 아이디, 8 byte의 데이터 길이, 8 byte의 페이로드 등을 예시한다.
한편, 8 byte의 페이로드의 일부는, 도면과 같이, Low fuel warning signal을 포함할 수 있다.
도 13b는 도 13a의 클러스터 메시지의 상세 정보를 도시한 도면이다.
도면을 참조하면, 메시지 아이디는, 50C이고, 데이터 길이는 8이며, 신호의 범위는 0에서 3인 것을 알 수 있다.
한편, 제1 가속기(820)는, 제1 메시지의 메시지 아이디가 변경되거나, 데이터 길이가 변경되거나 시그널 범위가 변경되는 경우, 제1 타입 기반의 침입 탐지로 검출할 수 있다.
도 14a는, 타이밍 기반의 탐지를 위해, 제1 메시지의 수신 간격이 달라지는 것을 예시하는 도면이다.
도면을 참조하면, 제1 메시지의 수신 간격은 100ms 이나, 공격 메시지로 인하여, 중간에, 수신 간격이 20ms, 80ms인 것이 나타난다.
이에, 제1 가속기(820)는, 제1 메시지의 발생 주기 또는 제1 메시지의 수신 주기에 기초하여, 제1 메시지의 침입 탐지 여부를 검출할 수 있다.
즉, 제1 가속기(820)는, 수신 간격이, 20ms인 메시지를 제1 타입 기반의 침입 탐지 메시지로 검출할 수 있다.
도 14b는 도 14a의 메시지의 상세 정보를 도시한 도면이다.
도면을 참조하면, 메시지 내의 메시지 아이디는, 50C이고, 메시지 사이클 타임은, 100ms인 것을 알 수 있다.
한편, 제1 가속기(820)는, 메시지 사이클 타임이 변경되는 경우, 제1 타입 기반의 침입 탐지로 검출할 수 있다.
도 15는 다양한 공격 유형을 도시하는 도면이다.
도면을 참조하면, 제1 가속기(820)는, 메시지의 포맷과 타이밍과 관련하여, 제2 타입 기반의 침입 탐지 메시지인 지 여부를 검출하고, 제1 프로세서(732a)는, 메시지의 시맨틱(Semantic)에 기초하여, 제1 타입 기반의 침입 탐지 메시지인 지 여부를 검출할 수 있다.
제1 가속기(820)는, 위치(location)과 관련하여, 메시지의 아이디에 기초하여 침입 탐지 메시지인 지 여부를 검출할 수 있다.
예를 들어, 제1 가속기(820)는, 버스 로드를 발생시킬 수 있는, 0x00과 같은 허용되지 않은 CAN ID가 나타나는 경우, 침입 탐지 메시지로 검출할 수 있다.
제1 가속기(820)는, 형식(Formality)과 관련하여, 메시지의 길이에 기초하여 침입 탐지 메시지인 지 여부를 검출할 수 있다.
예를 들어, 제1 가속기(820)는, ECU의 buffer overflow 유발할 수 있는, 지정된 DLC(Data Length Code)보다 큰 값으로 변경된 메시지가 나타나는 경우, 를 침입 탐지 메시지로 검출할 수 있다.
제1 가속기(820)는, 범위(range)과 관련하여, 메시지의 범위에 기초하여 침입 탐지 메시지인 지 여부를 검출할 수 있다.
예를 들어, 제1 가속기(820)는, 제1 메시지 내의 차량 속도 정보가 300km/h 로, 차량 속도 범위가, 허용치를 초과하는 경우, 침입 탐지 메시지로 검출할 수 있다.
제1 가속기(820)는, 주기(period)과 관련하여, 메시지의 발생 주기에 기초하여 침입 탐지 메시지인 지 여부를 검출할 수 있다.
예를 들어, 제1 가속기(820)는, 수신되는 제1 메시지의 주기 변경, 누락 또는 지연이 나타나는 경우, 침입 탐지 메시지로 검출할 수 있다.
한편, 제1 프로세서(732a)는, 개연성(Plausibility)과 관련하여, 메시지의 개연성에 기초하여 침입 탐지 메시지인 지 여부를 검출할 수 있다.
예를 들어, 제1 프로세서(732a)는, 차량 속도 20Km/h인 상태에서 200Km/h로 변경되는 경우, 개연성과 관련하여, 침입 탐지 메시지로 검출할 수 있다.
한편, 본 개시의 다른 실시예에 따른 신호 처리 장치(170b)는, 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서(732a)와, 제1 통신 방식의 메시지에 대한 처리를 가속하는 제1 가속기(820)를 포함하고, 제1 프로세서(732a)는, 제1 타입 기반의 침입 탐지를 수행하고, 제1 가속기(820)는, 제1 타입과 다른 제2 타입 기반의 침입 탐지를 수행한다.
이에 따라, 수신되는 메시지에 대한 침입 탐지를 효율적으로 수행할 수 있게 된다. 특히, 메시지를 제1 프로세서(732a)와 제1 가속기(820)에서 분담하여 처리함으로써, 제1 프로세서(732a)의 부하를 저감할 수 있게 된다.
한편, 이상에서는 본 개시의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
Claims (18)
- 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서;
제2 통신 방식에 기초하여, 외부로부터 수신하는 통신 메시지를 포함하는 제2 메시지를 수신하고, 수신되는 상기 제2 메시지의 신호 처리를 수행하는 제2 프로세서;
제1 통신 방식의 메시지에 대한 처리를 가속하는 제1 가속기;를 포함하고,
상기 제1 프로세서와 상기 제1 가속기는,
상기 제1 메시지에 대한 침입 탐지를 분담하여 수행하는 신호 처리 장치. - 제1항에 있어서,
상기 제1 프로세서는,
제1 타입 기반의 침입 탐지를 수행하고,
상기 제1 가속기는,
상기 제1 타입과 다른 제2 타입 기반의 침입 탐지를 수행하는 것인 신호 처리 장치. - 제1항에 있어서,
상기 제1 가속기는,
상기 제1 메시지에 대한 침입 탐지가 검출되는 경우, 상기 제1 메시지의 침입 방지를 수행하는 것인 신호 처리 장치. - 제2항에 있어서,
상기 제1 가속기는,
상기 제1 프로세서에서 상기 제1 타입 기반의 침입 탐지에 의해, 상기 제1 메시지에 대한 침입 탑지가 검출되는 경우, 상기 제1 메시지의 침입 방지를 수행하며,
상기 제2 타입 기반의 침입 탐지에 의해, 상기 제1 메시지에 대한 침입 탑지가 검출되는 경우, 상기 제1 메시지의 침입 방지를 수행하는 것인 신호 처리 장치. - 제2항에 있어서,
상기 제1 프로세서는,
상기 제1 타입 기반의 침입 탐지를 수행하는 제1 침입 탐지부;를 포함하고,
상기 제1 가속기는,
상기 제1 프로세서와의 메시지 교환을 위한 인터페이스;
상기 제2 타입 기반의 침입 탐지를 수행하는 제2 침입 탐지부;를 포함하는 것인 신호 처리 장치. - 제5항에 있어서,
상기 제1 가속기는,
상기 제1 침입 탐지부 또는 상기 제2 침입 탐지부에서 침입 탐지가 검출되는 경우, 메시지를 드랍하도록 제어하는 것인 신호 처리 장치. - 제5항에 있어서,
상기 제1 가속기는,
메시지 전송을 위한 전송 큐;
메시지 수신을 위한 수신 큐;를 더 포함하고,
상기 제2 침입 탐지부에서 침입 탐지가 검출되는 경우, 상기 메시지 전송이 중지되는 것인 신호 처리 장치. - 제2항에 있어서,
상기 제1 가속기는,
상기 제1 메시지를 수신하고, 상기 제1 메시지가 상기 제2 타입 기반의 침입 탐지 메시지로 검출되는 경우, 상기 제2 타입 기반의 침입 탐지 메시지를 드랍하고,
상기 제1 메시지가 상기 제2 타입 기반의 침입 탐지 메시지가 아닌 경우, 상기 제1 프로세서로의 전송을 위해 공유 메모리에 기록하는 것인 신호 처리 장치. - 제8항에 있어서,
상기 제1 프로세서는,
상기 공유 메모리에 기록된 상기 제1 메시지를 수신하는 것인 신호 처리 장치. - 제2항에 있어서,
상기 제1 프로세서는,
상기 제1 가속기를 통해, 상기 제1 메시지를 수신하고, 상기 제1 메시지가 상기 제1 타입 기반의 침입 탐지 메시지로 검출되는 경우, 상기 제1 메시지를 로그하고, 서버로 상기 제1 메시지에 대한 로그를 전송하도록 제어하는 것인 신호 처리 장치. - 제2항에 있어서,
상기 제1 가속기는,
메시지의 포맷 또는 타이밍에 기초하여, 상기 제1 메시지의 침입 탐지 여부를 검출하고,
상기 제1 프로세서는,
메시지의 시맨틱(Semantic)에 기초하여, 상기 제1 메시지의 침입 탐지 여부를 검출하는 것인 신호 처리 장치. - 제2항에 있어서,
상기 제1 가속기는,
상기 제1 메시지의 메시지 아이디, 데이터 길이, 시그널 범위 또는 상기 제1 메시지의 발생 주기에 기초하여, 상기 제1 메시지의 침입 탐지 여부를 검출하고,
상기 제1 프로세서는,
메시지의 시맨틱(Semantic)에 기초하여, 상기 제1 메시지의 침입 탐지 여부를 검출하는 것인 신호 처리 장치. - 제2항에 있어서,
상기 제1 프로세서는,
상기 제1 메시지 내의 메시지 시퀀스, 시그널의 증감 범위, 시그널의 상태, 또는 시그널의 상관 관계에 기초하여 상기 제1 메시지의 침입 탐지 여부를 검출하는 것인 신호 처리 장치. - 제2항에 있어서,
상기 제1 가속기는,
상기 제1 메시지 내의 차량 속도 범위가, 허용치를 초과하는 경우, 상기 제2 타입 기반의 침입 탐지로 검출하는 것인 신호 처리 장치. - 제2항에 있어서,
상기 제1 프로세서는,
상기 제1 메시지 내의 차량 속도의 증감 범위가 허용 증감 범위를 초과하는 경우, 상기 제1 타입 기반의 침입 탐지로 검출하는 것인 신호 처리 장치. - 제2항에 있어서,
제2 통신 방식의 메시지에 대한 처리를 가속하는 제2 가속기;를 더 포함하는 것인 신호 처리 장치. - 제1 통신 방식에 기초하여, 차량 내의 센서 신호를 포함하는 제1 메시지를 수신하여, 신호 처리를 수행하는 제1 프로세서;
제1 통신 방식의 메시지에 대한 처리를 가속하는 제1 가속기;를 포함하고,
상기 제1 프로세서는,
제1 타입 기반의 침입 탐지를 수행하고,
상기 제1 가속기는,
상기 제1 타입과 다른 제2 타입 기반의 침입 탐지를 수행하는 신호 처리 장치. - 제1항 내지 제18항 중 어느 한 항의 신호 처리 장치를 포함하는 것을 특징으로 하는 차량용 통신 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210086549 | 2021-07-01 | ||
KR1020210086549 | 2021-07-01 | ||
PCT/KR2022/009473 WO2023277634A1 (ko) | 2021-07-01 | 2022-06-30 | 신호 처리 장치 및 이를 구비하는 차량용 통신 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240032068A true KR20240032068A (ko) | 2024-03-08 |
Family
ID=84691867
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247003697A KR20240032069A (ko) | 2021-07-01 | 2022-06-30 | 신호 처리 장치 및 이를 구비하는 차량용 통신 장치 |
KR1020247003696A KR20240032068A (ko) | 2021-07-01 | 2022-06-30 | 신호 처리 장치 및 이를 구비하는 차량용 통신 장치 |
KR1020247003695A KR20240032067A (ko) | 2021-07-01 | 2022-06-30 | 차량용 통신 장치 및 이를 구비하는 차량 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247003697A KR20240032069A (ko) | 2021-07-01 | 2022-06-30 | 신호 처리 장치 및 이를 구비하는 차량용 통신 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247003695A KR20240032067A (ko) | 2021-07-01 | 2022-06-30 | 차량용 통신 장치 및 이를 구비하는 차량 |
Country Status (4)
Country | Link |
---|---|
US (3) | US20240308443A1 (ko) |
EP (4) | EP4366249A1 (ko) |
KR (3) | KR20240032069A (ko) |
WO (4) | WO2023277634A1 (ko) |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100463823B1 (ko) * | 2002-11-11 | 2004-12-29 | 에스케이 텔레콤주식회사 | 리거시 시스템 및 콘텐츠 프로바이더(cp) 연동용soap 기반 통신 게이트웨이 시스템 및 이를 이용한프로토콜 변환 방법 |
US20050216770A1 (en) * | 2003-01-24 | 2005-09-29 | Mistletoe Technologies, Inc. | Intrusion detection system |
US8335909B2 (en) * | 2004-04-15 | 2012-12-18 | Raytheon Company | Coupling processors to each other for high performance computing (HPC) |
US8589338B2 (en) * | 2008-01-24 | 2013-11-19 | Oracle International Corporation | Service-oriented architecture (SOA) management of data repository |
KR20090092370A (ko) * | 2008-02-27 | 2009-09-01 | 삼성전자주식회사 | 프로세서들 간의 데이터 이동 이벤트를 감소시키는멀티포트 반도체 메모리 장치 및 그를 채용한 멀티프로세서 시스템과 멀티포트 반도체 메모리 장치의구동방법 |
KR101020948B1 (ko) | 2008-04-22 | 2011-03-09 | 현대자동차주식회사 | 차량용 네트워크 게이트웨이 및 네트워크 시스템 |
KR101100336B1 (ko) * | 2009-04-06 | 2011-12-30 | 동의대학교 산학협력단 | 지능형 통합 게이트웨이를 갖는 차량 네트워크 시스템 및 그의 데이터 처리 방법 |
KR101206894B1 (ko) * | 2009-11-24 | 2012-11-30 | 한국전자통신연구원 | 이더넷-캔 프레임 변환 전송 장치 및 방법 |
KR101250024B1 (ko) * | 2011-09-21 | 2013-04-03 | 엘에스산전 주식회사 | 네트워크 시스템 및 네트워크 경로 설정방법 |
KR101280910B1 (ko) * | 2011-12-15 | 2013-07-02 | 한국전자통신연구원 | 고속 패킷 처리를 위한 네트워크 프로세서 기반 2단계 침입탐지장치 및 방법 |
KR101446525B1 (ko) * | 2013-09-27 | 2014-10-06 | 주식회사 유라코퍼레이션 | 차량 해킹 방지 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 매체 |
JP6523298B2 (ja) * | 2014-01-06 | 2019-05-29 | ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company | コンピュータシステムと車両インターフェースシステム |
KR101612825B1 (ko) * | 2014-11-20 | 2016-04-15 | 현대자동차주식회사 | Can 컨트롤러, 차량 내부 통신을 위한 게이트웨이 및 그 제어 방법 |
US10116528B2 (en) * | 2015-10-02 | 2018-10-30 | Keysight Technologies Singapore (Holdings) Ptd Ltd | Direct network traffic monitoring within VM platforms in virtual processing environments |
JP6566400B2 (ja) * | 2015-12-14 | 2019-08-28 | パナソニックIpマネジメント株式会社 | 電子制御装置、ゲートウェイ装置、及び検知プログラム |
KR20170099701A (ko) * | 2016-02-24 | 2017-09-01 | (주)제이엔디 | 차량 간 정보 수집 및 공유 시스템 |
EP3264711B1 (en) * | 2016-06-28 | 2018-09-19 | Virtual Open Systems | Virtual switch for multi-compartment mixed critical network communications |
EP3566400B1 (en) | 2017-01-05 | 2022-08-17 | Guardknox Cyber Technologies Ltd. | Specially programmed computing systems with associated devices configured to implement centralized services ecu based on services oriented architecture and methods of use thereof |
EP3402172B1 (en) * | 2017-05-12 | 2021-02-17 | Xilinx, Inc. | A data processing system |
KR102524290B1 (ko) * | 2017-12-26 | 2023-04-21 | 현대자동차주식회사 | 이더넷 스위치, 차량 내 네트워크 구성 방법 및 차량 |
KR102244569B1 (ko) * | 2018-11-26 | 2021-04-26 | 한국전자통신연구원 | 오토모티브 이더넷에 기초하여 차량 내부 네트워크에서 차량 내 디바이스간 통신 방법 및 장치 |
US10904167B2 (en) | 2019-04-25 | 2021-01-26 | Red Hat, Inc. | Incoming packet processing for a computer system |
KR20200140542A (ko) * | 2019-06-07 | 2020-12-16 | 현대자동차주식회사 | Can에 기반한 파셜 네트워크 장치 및 그의 동작 방법과 그를 포함하는 차량 |
US11797333B2 (en) * | 2019-12-11 | 2023-10-24 | Intel Corporation | Efficient receive interrupt signaling |
-
2022
- 2022-06-30 KR KR1020247003697A patent/KR20240032069A/ko unknown
- 2022-06-30 KR KR1020247003696A patent/KR20240032068A/ko unknown
- 2022-06-30 WO PCT/KR2022/009473 patent/WO2023277634A1/ko active Application Filing
- 2022-06-30 EP EP22833690.5A patent/EP4366249A1/en active Pending
- 2022-06-30 WO PCT/KR2022/009478 patent/WO2023277637A1/ko active Application Filing
- 2022-06-30 US US18/576,052 patent/US20240308443A1/en active Pending
- 2022-06-30 WO PCT/KR2022/009470 patent/WO2023277632A1/ko active Application Filing
- 2022-06-30 KR KR1020247003695A patent/KR20240032067A/ko unknown
- 2022-06-30 EP EP22833684.8A patent/EP4366246A1/en active Pending
- 2022-06-30 WO PCT/KR2022/009466 patent/WO2023277631A1/ko active Application Filing
- 2022-06-30 EP EP22833685.5A patent/EP4366247A4/en active Pending
- 2022-06-30 US US18/575,519 patent/US20240320068A1/en active Pending
- 2022-06-30 EP EP22833687.1A patent/EP4366248A1/en active Pending
- 2022-06-30 US US18/574,596 patent/US20240291841A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023277634A1 (ko) | 2023-01-05 |
WO2023277631A1 (ko) | 2023-01-05 |
EP4366247A4 (en) | 2024-10-23 |
US20240308443A1 (en) | 2024-09-19 |
WO2023277637A1 (ko) | 2023-01-05 |
US20240291841A1 (en) | 2024-08-29 |
EP4366248A1 (en) | 2024-05-08 |
US20240320068A1 (en) | 2024-09-26 |
KR20240032069A (ko) | 2024-03-08 |
WO2023277632A1 (ko) | 2023-01-05 |
KR20240032067A (ko) | 2024-03-08 |
EP4366249A1 (en) | 2024-05-08 |
EP4366247A1 (en) | 2024-05-08 |
EP4366246A1 (en) | 2024-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11044318B2 (en) | Efficient communications amongst computing nodes for operating autonomous vehicles | |
US10747228B2 (en) | Centralized scheduling system for operating autonomous driving vehicles | |
US10732634B2 (en) | Centralized scheduling system using event loop for operating autonomous driving vehicles | |
US10635108B2 (en) | Centralized scheduling system using global store for operating autonomous driving vehicles | |
US20160159350A1 (en) | Vehicle speed adjustment | |
EP2615779B1 (en) | In-vehicle communication system comprising gateway apparatus | |
KR20190105150A (ko) | 군집 주행 제어 장치 및 방법 | |
US11586202B2 (en) | Automatic driving safety interaction system | |
US9396659B2 (en) | Collision avoidance among vehicles | |
EP3179320B1 (en) | Method and device for processing real-time vehicle traveling data | |
US20240152370A1 (en) | Signal processing device and display apparatus for vehicles including the same | |
KR20240032068A (ko) | 신호 처리 장치 및 이를 구비하는 차량용 통신 장치 | |
KR20220015785A (ko) | 통신 장치, 그를 가지는 차량 | |
CN108271138B (zh) | 用于在车辆中灵活地适应售后设备的无线使能的消费者端口装置 | |
CN108401003B (zh) | 雷达数据的同步方法、装置、设备和计算机存储介质 | |
US20220073073A1 (en) | Device and Method for Controlling Platooning | |
EP4339778A1 (en) | Signal processing apparatus and communication apparatus for vehicle, comprising same | |
US20240354040A1 (en) | Display apparatus for vehicles | |
US20240231394A9 (en) | System, control device, and control method | |
JP2015075957A (ja) | 運転支援装置、車両、及び制御プログラム | |
TWI665113B (zh) | 自動跟車方法、電子裝置和存儲介質 | |
US20240078128A1 (en) | Control device, control system, and control method | |
US11520642B2 (en) | Task management device and task management method | |
US20210271773A1 (en) | On-board device and non-transitory storage medium | |
US20240217342A1 (en) | Vehicle display apparatus |