WO2020004886A1 - 통신용 ecu - Google Patents

통신용 ecu Download PDF

Info

Publication number
WO2020004886A1
WO2020004886A1 PCT/KR2019/007618 KR2019007618W WO2020004886A1 WO 2020004886 A1 WO2020004886 A1 WO 2020004886A1 KR 2019007618 W KR2019007618 W KR 2019007618W WO 2020004886 A1 WO2020004886 A1 WO 2020004886A1
Authority
WO
WIPO (PCT)
Prior art keywords
ecu
slave
vehicle
primary processor
communication
Prior art date
Application number
PCT/KR2019/007618
Other languages
English (en)
French (fr)
Inventor
강병진
푸니탄자비에
조병림
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US17/254,456 priority Critical patent/US11815983B2/en
Priority to EP19827122.3A priority patent/EP3813307A4/en
Publication of WO2020004886A1 publication Critical patent/WO2020004886A1/ko

Links

Images

Classifications

    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/023Avoiding failures by using redundant parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • 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
    • 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
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • B60R16/0232Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
    • 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/03Electric 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 supply of electrical power to vehicle subsystems or for
    • B60R16/0315Electric 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 supply of electrical power to vehicle subsystems or for using multiplexing techniques
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2231Master slave
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2239Reallocate, reschedule execution of controlled functions if one processor fails
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a communication ECU.
  • the vehicle is a device for moving in the direction desired by the user on board.
  • An example is a car.
  • An autonomous vehicle means a vehicle that can automatically drive without a human driving operation.
  • the autonomous vehicle includes a plurality of electronic control units (ECUs), such as an automated driving (AD) ECU, a MAP ECU, and an MMI Cluster ECU.
  • ECUs electronice control units
  • AD automated driving
  • MAP ECU a MAP ECU
  • MMI Cluster ECU an automated driving
  • an ECU is required to replace the fault.
  • an object of the present invention is to provide a communication ECU that implements the functions of a slave ECU when a fault occurs in the slave ECU.
  • a communication ECU in a vehicle, the communication ECU (Electronic Control Unit) for exchanging signals with an external device, a plurality of slave ECU (Slave ECU) in the vehicle A bus interface for exchanging signals with the bus interface; A primary processor to perform software cloning for at least one slave ECU of the plurality of slaves; And a secondary processor for determining whether to operate according to whether the primary processor is overloaded.
  • the communication ECU Electronic Control Unit
  • a plurality of slave ECU Slave ECU
  • a bus interface for exchanging signals with the bus interface
  • a primary processor to perform software cloning for at least one slave ECU of the plurality of slaves
  • a secondary processor for determining whether to operate according to whether the primary processor is overloaded.
  • the communication ECU implements the functions of the slave ECU, thereby preventing error.
  • the power consumption can be reduced by efficient system operation.
  • FIG. 1 is a view showing the appearance of a vehicle according to an embodiment of the present invention.
  • FIG. 2 is a control block diagram of a vehicle according to an embodiment of the present invention.
  • FIG. 3 is a hardware block diagram of a communication ECU according to an embodiment of the present invention.
  • FIG. 4 is a software block diagram of a communication ECU according to an embodiment of the present invention.
  • FIG. 5 is a block diagram of a primer processor and a secondary processor according to an embodiment of the present invention.
  • 6 to 11 are views for explaining the ECU for communication according to an embodiment of the present invention.
  • FIG. 1 is a view showing a vehicle according to an embodiment of the present invention.
  • a vehicle 10 is defined as a vehicle that runs on a road or a track.
  • the vehicle 10 is a concept including a car, a train and a motorcycle.
  • the vehicle 10 may be a concept including both an internal combustion engine vehicle having an engine as a power source, a hybrid vehicle having an engine and an electric motor as a power source, and an electric vehicle having an electric motor as a power source.
  • the vehicle 10 may be a shared vehicle.
  • the vehicle 10 may be an autonomous vehicle.
  • the vehicle 10 may include an electronic device 100.
  • the vehicle 10 may interact with at least one robot.
  • the robot may be an autonomous mobile robot (AMR) capable of traveling by magnetic force.
  • AMR autonomous mobile robot
  • the mobile robot may move by itself and may move freely, and a plurality of sensors may be provided to avoid obstacles while traveling, and may travel to avoid obstacles.
  • the mobile robot may be a flying robot (eg, a drone) having a flying device.
  • the mobile robot may be a wheeled robot having at least one wheel and moved through rotation of the wheel.
  • the mobile robot may be a legged robot provided with at least one leg and moved using the leg.
  • the robot may function as a device that supplements the convenience of the vehicle 10 user.
  • the robot may perform a function of moving a load loaded on the vehicle 10 to a user's final destination.
  • the robot may perform a function of guiding a road to a final destination to a user who gets off the vehicle 10.
  • the robot may perform a function of transporting a user who gets off the vehicle 10 to a final destination.
  • At least one electronic device included in the vehicle may communicate with the robot through the communication device 220.
  • the at least one electronic device included in the vehicle may provide the robot with data processed by the at least one electronic device included in the vehicle.
  • the at least one electronic device included in the vehicle may provide at least one of object data, HD map data, vehicle state data, vehicle location data, and driving plan data to the robot.
  • At least one electronic device included in the vehicle may receive data processed by the robot from the robot.
  • the at least one electronic device included in the vehicle may receive at least one of sensing data generated by the robot, object data, robot state data, robot position data, and movement plan data of the robot.
  • At least one electronic device included in the vehicle may generate a control signal based on data received from the robot. For example, the at least one electronic device included in the vehicle compares the information about the object generated in the object detection device 210 with the information about the object generated by the robot, and based on the comparison result, the control signal. Can be generated. At least one electronic device included in the vehicle may generate a control signal so that interference between the movement path of the vehicle 10 and the movement path of the robot does not occur.
  • At least one electronic device included in the vehicle may include a software module or a hardware module (hereinafter, referred to as an artificial intelligence module) that implements artificial intelligence (AI).
  • the at least one electronic device included in the vehicle may input the obtained data into the artificial intelligence module and use the data output from the artificial intelligence module.
  • the artificial intelligence module may perform machine learning on input data using at least one artificial neural network (ANN).
  • ANN artificial neural network
  • the artificial intelligence module may output driving plan data through machine learning on input data.
  • At least one electronic device included in the vehicle may generate a control signal based on data output from the artificial intelligence module.
  • At least one electronic device included in the vehicle may receive data processed by artificial intelligence from an external device through the communication device 220. At least one electronic device included in the vehicle may generate a control signal based on data processed by artificial intelligence.
  • FIG. 2 is a control block diagram of a vehicle according to an embodiment of the present invention.
  • the vehicle 10 includes a vehicle electronic device 100, a user interface device 200, an object detection device 210, a communication device 220, a driving manipulation device 230, and a main ECU 240. ), The vehicle driving device 250, the driving system 260, the sensing unit 270, and the position data generating device 280.
  • the user interface device 200 is a device for communicating with the vehicle 10 and the user.
  • the user interface device 200 may receive a user input and provide the user with information generated by the vehicle 10.
  • the vehicle 10 may implement a user interface (UI) or a user experience (UX) through the user interface device 200.
  • the user interface device 200 may be implemented as a display device, a head up display (HUD) device, a window display device, a cluster device, or the like mounted on the vehicle 10.
  • the user interface device 200 may include an input device, an output device, and a user monitoring device.
  • the user interface device 200 may include an input device such as a touch input device, a mechanical input device, a voice input device, a gesture input device, or the like.
  • the user interface device 200 may include an output device such as a speaker, a display, and a haptic module.
  • the user interface device 200 may include a user monitoring device such as a driver monitoring system (DMS) or an internal monitoring system (IMS).
  • DMS driver
  • the object detecting apparatus 210 may detect an object outside the vehicle 10.
  • the object detecting apparatus 210 may include at least one sensor capable of detecting an object outside the vehicle 10.
  • the object detecting apparatus 210 may include at least one of a camera, a radar, a lidar, an ultrasonic sensor, and an infrared sensor.
  • the object detecting apparatus 210 may provide data on the object generated based on the sensing signal generated by the sensor to at least one electronic device included in the vehicle.
  • the camera may generate information about an object outside the vehicle 10 using the image.
  • the camera may include at least one lens, at least one image sensor, and at least one processor that is electrically connected to the image sensor to process a received signal, and generates data about an object based on the processed signal.
  • the camera may be at least one of a mono camera, a stereo camera, and an AVM (Around View Monitoring) camera.
  • the camera may acquire position information of the object, distance information with respect to the object, or relative speed information with the object by using various image processing algorithms.
  • the camera may acquire distance information and relative speed information with respect to the object based on the change in the object size over time in the acquired image.
  • the camera may acquire distance information and relative velocity information with respect to an object through a pin hole model, road surface profiling, or the like.
  • the camera may obtain distance information and relative speed information with respect to the object based on the disparity information in the stereo image obtained by the stereo camera.
  • the camera may be mounted at a position capable of securing a field of view (FOV) in the vehicle to photograph the outside of the vehicle.
  • the camera may be disposed in close proximity to the front windshield, in the interior of the vehicle, to obtain an image in front of the vehicle.
  • the camera may be disposed around the front bumper or radiator grille.
  • the camera may be disposed in close proximity to the rear glass in the interior of the vehicle to obtain an image of the rear of the vehicle.
  • the camera may be disposed around the rear bumper, trunk or tail gate.
  • the camera may be disposed in close proximity to at least one of the side windows in the interior of the vehicle to acquire an image of the vehicle side.
  • the camera may be arranged around a side mirror, fender or door.
  • the radar may generate information about an object outside the vehicle 10 by using radio waves.
  • the radar may include at least one processor electrically connected to the electromagnetic wave transmitter, the electromagnetic wave receiver, and the electromagnetic wave transmitter and the electromagnetic wave receiver to process the received signal and generate data for the object based on the processed signal.
  • the radar may be implemented in a pulse radar method or a continuous wave radar method in terms of radio wave firing principle.
  • the radar may be implemented in a frequency modulated continuous wave (FMCW) method or a frequency shift keyong (FSK) method according to a signal waveform among continuous wave radar methods.
  • FMCW frequency modulated continuous wave
  • FSK frequency shift keyong
  • the radar detects an object based on a time of flight (TOF) method or a phase-shift method based on electromagnetic waves, and detects a position of the detected object, a distance from the detected object, and a relative speed.
  • TOF time of flight
  • the radar may be placed at a suitable location outside of the vehicle to detect objects located in front, rear or side of the vehicle.
  • the rider may generate information about an object outside the vehicle 10 using the laser light.
  • the lidar may include at least one processor electrically connected to the optical transmitter, the optical receiver and the optical transmitter, and the optical receiver to process the received signal and generate data for the object based on the processed signal. .
  • the rider may be implemented in a time of flight (TOF) method or a phase-shift method.
  • the lidar may be implemented driven or non-driven. When implemented in a driven manner, the lidar may be rotated by a motor and detect an object around the vehicle 10. When implemented in a non-driven manner, the lidar may detect an object located within a predetermined range with respect to the vehicle by the optical steering.
  • the vehicle 100 may include a plurality of non-driven lidars.
  • the lidar detects an object based on a time of flight (TOF) method or a phase-shift method using laser light, and detects the position of the detected object, the distance to the detected object, and the relative velocity. Can be detected.
  • the rider may be placed at a suitable location outside of the vehicle to detect objects located in front, rear or side of the vehicle.
  • the communication device 220 may exchange signals with a device located outside the vehicle 10.
  • the communication device 220 may exchange signals with at least one of an infrastructure (for example, a server and a broadcasting station) and another vehicle.
  • the communication device 220 may include at least one of a transmit antenna, a receive antenna, a radio frequency (RF) circuit capable of implementing various communication protocols, and an RF element to perform communication.
  • RF radio frequency
  • the communication device 220 may communicate with a device located outside the vehicle 10 by using a 5G (eg, new radio (NR)) scheme.
  • the communication device 220 may implement V2X (V2V, V2D, V2P, V2N) communication using a 5G scheme.
  • V2X V2V, V2D, V2P, V2N
  • the driving manipulation apparatus 230 is a device that receives a user input for driving. In the manual mode, the vehicle 10 may be driven based on a signal provided by the driving manipulation apparatus 230.
  • the driving manipulation apparatus 230 may include a steering input device (eg, a steering wheel), an acceleration input device (eg, an accelerator pedal), and a brake input device (eg, a brake pedal).
  • the main ECU 240 may control overall operations of at least one electronic device included in the vehicle 10.
  • the drive control device 250 is a device for electrically controlling various vehicle drive devices in the vehicle 10.
  • the drive control device 250 may include a power train drive control device, a chassis drive control device, a door / window drive control device, a safety device drive control device, a lamp drive control device, and an air conditioning drive control device.
  • the power train drive control device may include a power source drive control device and a transmission drive control device.
  • the chassis drive control device may include a steering drive control device, a brake drive control device, and a suspension drive control device.
  • the safety device drive control device may include a seat belt drive control device for the seat belt control.
  • the vehicle driving control apparatus 250 may be referred to as a control ECU (Electronic Control Unit).
  • a control ECU Electronic Control Unit
  • the driving system 260 may generate a signal for controlling the movement of the vehicle 10 or outputting information to the user based on the data about the object received by the object detecting apparatus 210.
  • the driving system 260 may provide the generated signal to at least one of the user interface device 200, the main ECU 240, and the vehicle driving device 250.
  • the traveling system 260 may be a concept including an ADAS.
  • the ADAS 260 includes an adaptive cruise control system (ACC), an automatic emergency braking system (AEB), a forward collision warning system (FCW), and a lane maintenance assistance system (LKA: Lane Keeping Assist (LCA) Lane Change Assist (LCA), Target Following Assist (TFA), Blind Spot Detection (BSD), Adaptive High Beam Control System (HBA) Beam Assist, Auto Parking System (APS), PD collision warning system (TSC), Traffic Sign Recognition (TSR), Trafffic Sign Assist (TSA), At least one of a night vision system (NV), a driver status monitoring system (DSM: driver status monitoring), and a traffic jam support system (TJA) may be implemented.
  • ACC adaptive cruise control system
  • AEB automatic emergency braking system
  • FCW forward collision warning system
  • LKA Lane Keeping Assist
  • LCA Lane Change Assist
  • TFB Blind Spot Detection
  • the driving system 260 may include an autonomous driving ECU (Electronic Control Unit).
  • the autonomous driving ECU may set an autonomous driving route based on data received from at least one of the other electronic devices in the vehicle 10.
  • the autonomous running ECU is based on data received from at least one of the user interface device 200, the object detecting device 210, the communication device 220, the sensing unit 270, and the position data generating device 280. Autonomous driving route can be set.
  • the autonomous running ECU may generate a control signal so that the vehicle 10 travels along the autonomous driving path.
  • the control signal generated by the autonomous driving ECU may be provided to at least one of the main ECU 240 and the vehicle driving apparatus 250.
  • the sensing unit 270 may sense a state of the vehicle.
  • the sensing unit 270 may include an inertial navigation unit (IMU) sensor, a collision sensor, a wheel sensor, a speed sensor, an inclination sensor, a weight sensor, a heading sensor, a position module, a vehicle, and a vehicle.
  • IMU inertial navigation unit
  • the inertial navigation unit (IMU) sensor may include one or more of an acceleration sensor, a gyro sensor, and a magnetic sensor.
  • the sensing unit 270 may generate state data of the vehicle based on a signal generated by at least one sensor.
  • the sensing unit 270 may include vehicle posture information, vehicle motion information, vehicle yaw information, vehicle roll information, vehicle pitch information, vehicle collision information, vehicle direction information, vehicle angle information, and vehicle speed.
  • a sensing signal about pressure applied to the brake pedal and pressure applied to the brake pedal may be acquired.
  • the sensing unit 270 further includes an accelerator pedal sensor, a pressure sensor, an engine speed sensor, an air flow sensor (AFS), an intake temperature sensor (ATS), a water temperature sensor (WTS), and a throttle position sensor. (TPS), TDC sensor, crank angle sensor (CAS), and the like.
  • the sensing unit 270 may generate vehicle state information based on the sensing data.
  • the vehicle state information may be information generated based on data sensed by various sensors provided in the vehicle.
  • the vehicle state information includes vehicle attitude information, vehicle speed information, vehicle tilt information, vehicle weight information, vehicle direction information, vehicle battery information, vehicle fuel information, vehicle tire pressure information
  • the vehicle may include steering information of the vehicle, vehicle indoor temperature information, vehicle indoor humidity information, pedal position information, vehicle engine temperature information, and the like.
  • the sensing unit may include a tension sensor.
  • the tension sensor may generate a sensing signal based on the tension state of the seat belt.
  • the position data generator 280 may generate position data of the vehicle 10.
  • the position data generating device 280 may include at least one of a global positioning system (GPS) and a differential global positioning system (DGPS).
  • the location data generation device 280 may generate location data of the vehicle 10 based on a signal generated by at least one of the GPS and the DGPS.
  • the position data generating apparatus 280 may correct the position data based on at least one of an IMU (Inertial Measurement Unit) of the sensing unit 270 and a camera of the object detection apparatus 210.
  • IMU Inertial Measurement Unit
  • the location data generating device 280 may be referred to as a location positioning device.
  • the location data generation device 280 may be referred to as a global navigation satellite system (GNSS).
  • GNSS global navigation satellite system
  • the vehicle 10 may include an internal communication system 50.
  • the plurality of electronic devices included in the vehicle 10 may exchange signals through the internal communication system 50.
  • the signal may include data.
  • the internal communication system 50 may use at least one communication protocol (eg, CAN, LIN, FlexRay, MOST, USB, Ethernet).
  • FIG. 3 is a hardware block diagram of a communication ECU according to an embodiment of the present invention.
  • FIG. 4 is a software block diagram of a communication ECU according to an embodiment of the present invention.
  • FIG. 5 is a block diagram of a communication ECU according to an embodiment of the present invention.
  • the communication device 220 may include a communication ECU (Electronic Control Unit) 300.
  • the communication ECU 300 may be provided in the vehicle 10 and used to exchange signals with an external device.
  • the external device may include any one of another vehicle, a server, and a user terminal.
  • the communication ECU 300 essentially includes a configuration for communication with an external device.
  • the communication ECU 300 is essentially included in a configuration for implementing a communication scheme such as 802.11p, LTE, Wi-Fi, BT.
  • a communication scheme such as 802.11p, LTE, Wi-Fi, BT.
  • Such a communication ECU can replace another ECU, but the other ECU cannot replace the communication ECU because the configuration for communication with an external device is not included. For this reason, the communication ECU 300 is suitable for performing software cloning for a slave ECU.
  • the communication device 220 includes a bus interface 301, a primary processor 400, a secondary processor 500, a flat antenna interface, memory, a hardware security module (HSM), GNSS Radio, 802.11p Radio, It may include LTE-PCS Radio, 4G / 5G Radio, Wi-Fi / BT Radio.
  • HSM hardware security module
  • the communication device 220 may include a Vehicle to Everything Connectivity Plane, a Hybridization Plane, a Non-V2X Connectivity Plane, a Slave ECU Clone Space, an ECU Redundancy Plane, a Security Plane, a Board Support Package Plane.
  • the communication ECU 300 may include a bus interface 301, a primary processor 400, and a secondary processor 500.
  • the communication ECU 300 may be referred to as a master ECU.
  • the bus interface 301 may exchange signals with a plurality of slave ECUs in the vehicle 10.
  • the bus interface 301 may exchange signals with a plurality of slave ECUs through at least one communication method among CAN, LIN, FlexRay, MOST, USB, and Ethernet.
  • the slave ECU includes a user interface device 200, an object detection device 210, a driving operation device 230, a main ECU 240, a vehicle driving device 250, a traveling system 260, a sensing unit 270, and a slave ECU. It may be understood as an ECU included in the position data generating device 280.
  • the slave ECU may be an automated driving (AD) ECU, a MAP ECU, an MMI Cluster ECU, or the like.
  • the slave ECU is software oriented.
  • the communication ECU can execute the software of the slave ECU by the processor to execute the work of the slave ECU, but the slave ECU cannot perform the communication function of the communication ECU.
  • the bus interface 301 may receive a plurality of sensor signals input to each of the plurality of slave ECUs. For example, the bus interface 301 may receive a first sensor signal input to the first slave ECU. The bus interface 301 may receive a second sensor signal input to the second slave EUC.
  • the bus interface 301 may provide the sensor signals received to the plurality of cores 460.
  • the bus interface 301 may provide a first sensor signal to the first core 461.
  • the bus interface 301 may provide a second sensor signal to the second core 462.
  • the primary processor 400 may perform software cloning for at least one slave ECU among the plurality of slave ECUs.
  • Software cloning may be defined as activating a plurality of cores each assigned to a plurality of slave ECUs.
  • the plurality of cores are included in the primary processor 400 and may implement the same software as the software of the plurality of slave ECUs. Meanwhile, in the present specification, software may be understood as a concept including firmware.
  • the primary processor 400 may perform software cloning for a slave ECU in which a fault is detected among the plurality of slave ECUs. For example, when a fault is detected in the first slave ECU among the plurality of slave ECUs, the processor 170 may activate the first core allocated to the first slave ECU.
  • the first core may be installed with the same first software as the first software of the first slave ECU. The activated first core may perform a function of the first slave ECU.
  • the primary processor 400 may include a plurality of cores 400, an onboard sensor interface 411, a sensor data service 412, an ECU redundancy manager 420, a power consumption reduction manager 430, and a primary V2X module ( 440, non-V2X connectivity module 450.
  • the primary processor 400 may include a plurality of cores 460 set to perform a function performed by each of the plurality of slave ECUs.
  • the plurality of cores 460 may be referred to as ECU Redunancy Clone.
  • the plurality of cores 460 may duplicate functional elements of the plurality of slave ECUs.
  • the primary processor 400 may include a first core 461 and a second core 462.
  • the first core 461 may be set to perform a function performed by the first slave ECU among the plurality of slave ECUs.
  • the second core 462 may be set to perform a function performed by the second slave ECU among the plurality of slave ECUs.
  • the primary processor 400 may activate the first core 461 when a fault of the first slave ECU is detected among the plurality of slave ECUs.
  • the first core 461 may be a core allocated to perform the same function as the first slave ECU when the application of the first slave ECU is installed and the first core 461 is activated.
  • the primary processor 400 may switch the first slave ECU to the sleep mode state when a fault of the first slave ECU is detected.
  • the first slave ECU is deactivated in the sleep mode, and the operation is stopped.
  • the primary processor 400 may activate the second core 462 when a fault of the second slave EUC is detected among the plurality of slave ECUs.
  • the second core 462 may be a core allocated to perform the same function as the second slave ECU when the application of the second slave ECU is installed and the second core 462 is activated.
  • the primary processor 400 may switch the second slave ECU to the sleep mode state when a fault of the second slave ECU is detected.
  • the second slave ECU is deactivated in the sleep mode, and the operation is stopped.
  • the plurality of cores 460 included in the primary processor 400 may be any one of a sleep mode, a monitoring mode, a semi-running mode, and a running mode. It can be set to the mode of.
  • the sleep mode may be defined as a mode in which the core is inactive.
  • the monitoring mode may be defined as a mode for monitoring a state of a matching ECU.
  • the semi-running mode may be defined as a mode in which only a specified algorithm is performed.
  • the running mode may be defined as a mode that performs the same function as the matching slave ECU.
  • the first core may include a sleep mode defined as an inactive state of the first core 861, a monitoring mode for monitoring a state of the first slave ECU, a semi-running mode performing only a specified algorithm, and a first slave ECU. It can be set to any one of the running mode to perform the same function as.
  • the second core 862 may include a sleep mode defined as an inactive state of the second core, a monitoring mode for monitoring a state of the second slave ECU, a semi-running mode performing only a specified algorithm, and a second slave ECU. It can be set to any one of the running mode to perform the same function as.
  • the on-board sensor interface 411 may receive data from onboard sensors.
  • the onboard sensor may be understood as sensors included in the sensing unit 270 described above.
  • the sensor data service 412 may provide sensor data required for the functions of the plurality of slave ECUs.
  • the ECU Redundancy Manager 420 may manage software cloning operations for a plurality of slave ECUs.
  • the ECU redundancy manager 420 may monitor the state of the plurality of slave EUCs connected to the bus interface 301.
  • the ECU redundancy manager 420 may activate or deactivate at least one of the plurality of cores 460.
  • the power consumption reduction manager 430 may monitor the power consumption states of the plurality of slave ECUs.
  • the power consumption reduction manager 430 may reduce power consumption by providing control information of the slave ECU to the ECU redundancy manager 420.
  • the primary V2X module 440 may perform communication related functions when the primary processor 400 is not overloaded.
  • the primary V2X module 440 may be an ITS Stack (ITS-G5 and WAVE) that includes use cases and applications.
  • the Non-V2X Connectivity Module 450 is a set of protocol stacks that are responsible for connecting to applications other than V2X, such as telematics and Wi-Fi.
  • the primary processor 400 may include a non-distributed mode, a fully-distributed mode, a semi-distributed mode, and a redundant mode. Mode) can be operated in at least one mode.
  • the primary processor 400 may switch the plurality of slave ECUs to the sleep mode and perform all the functions of the plurality of slave ECUs.
  • the primary processor 400 executes only the functions specified in the first core 461 of the plurality of cores 460, and the remaining cores are any of the sleep mode, the monitoring mode, and the semi-running mode. You can keep it as one.
  • the primary processor 400 may switch at least one of the plurality of slave ECUs to the sleep mode and perform a function of the slave ECU switched to the sleep mode.
  • the primary processor 400 may maintain at least one of the plurality of cores 460 in the running mode while operating the plurality of slave ECUs.
  • the secondary processor 500 may determine whether to operate according to whether the primary processor 400 is overloaded.
  • the secondary processor 500 may include a V2X Redundancy Manager 510, a secondary V2X module 520, a V2X data switch 530, a radio data splitter 540, and a radio interface 550. Can be.
  • the V2X redundancy manager 510 may manage load of the primary processor 400.
  • the V2X redundancy manager 510 may monitor the load of the primary processor 400. When the primary processor 400 is overloaded, the V2X redundancy manager 510 may manage to perform a communication related function of exchanging a signal with an external device on behalf of the primary processor 400.
  • the V2X redundancy manager 510 may manage the primary processor 400 to perform communication-related functions when the overload of the primary processor 400 is eliminated.
  • the secondary V2X module 520 may perform an operation in place of the operation of the primary V2X module 440 when the primary processor 400 is overloaded. In the secondary V2X module 520, the same application as that of the primary V2X module 440 may be installed.
  • the secondary V2X module 520 may be an ITS Stack (ITS-G5 and WAVE) that includes use cases and applications.
  • the V2X data switch 530 may control the V2X data flow between the primary processor 400 and the secondary processor 500.
  • the V2X data switch 530 may control the V2X data flow between the primary V2X module 440 and the secondary V2X module 520.
  • the radio data splitter 540 may separate the V2X data and the non-V2X (Non-V2X) data.
  • the radio data splitter 540 can separate V2X data and non-V2X (Non-V2X) data in telematics or network operation.
  • the radio interface 550 may be in charge of connecting to an external device.
  • the radio interface 550 may be in charge of connecting to an external device using any one of 802.11p, LTE-PC5 / Uu, and 4G / 5G networks.
  • 6 to 11 are views for explaining the ECU for communication according to an embodiment of the present invention.
  • a fail may be generated in the first slave ECU 610a among the plurality of slave ECUs 610a, 610b,..., 610c.
  • the first slave ECU 610a may be an AD ECU.
  • the communication ECU 300 may detect a fail state of the first slave ECU 610a through a connection bus in the vehicle 10.
  • the communication ECU 300 may perform a clone function of the first slave ECU 610a to perform a function of the first slave ECU 610a.
  • the communication ECU 300 may activate a first core 461 in which an application of the first slave ECU 610a may be implemented. In this case, the function of the AD ECU may be implemented in the ECU for communication 300.
  • the primary processor 400 included in the communication ECU 300 may perform a function of the first slave ECU 610a.
  • the secondary processor 500 included in the communication ECU 300 performs the communication function of the primary processor 400. You can do that instead.
  • the primary processor 400 may perform a natural communication function.
  • the primary processor 400 may simultaneously perform a function and a communication function of the first slave ECU 610a.
  • each of the plurality of slave ECUs 610a, 610b,..., 610n may be wirelessly or wiredly connected to a sensor that provides an input suitable for algorithm and software to perform an assigned function.
  • Each of the plurality of slave ECUs 610a, 610b, ..., 610n may be physically connected to the sensor or may be connected via a CAN or Ethernet bus.
  • Sensor inputs of the plurality of slave ECUs 610a, 610b,..., 610n may be connected to the communication ECU 300 in parallel. That is, the communication ECU 300 can simultaneously obtain the sensor inputs of the plurality of slave ECUs 610a, 610b, ..., 610n using a parallel connection circuit.
  • the communication ECU 300 has a very powerful application processor that supports a multi-core architecture.
  • the communication ECU 300 may include a primary processor 400 that supports a multi-core architecture.
  • the multi-cores included in the primary processor 400 may be matched to a plurality of slave ECUs, and each core may be assigned a task of executing the same software (including firmware) as the functionally matched slave ECU.
  • Each of the plurality of cores has a copy of the matching slave ECU.
  • the first core 461 has an application copy of the first slave ECU 610a
  • the second core 462 has a copy of the second slave ECU 610b.
  • each of the plurality of cores 460 may be operated in any one of a sleep mode, a monitoring mode, a semi-running mode, and a running mode.
  • the core In sleep mode, the core is completely off and does not handle software (including firmware) for the operation of the matching slave ECU.
  • the core In the monitoring mode, the core is activated and monitors the status of the matching slave ECU via the bus (eg CAN, Ethernet). In monitoring mode, the core collects sensor inputs of matching slave ECUs but does not process the sensor inputs.
  • the bus eg CAN, Ethernet
  • the core monitors the state of the matching slave ECU and collects sensor inputs. In semi-running mode, the core executes only the specified function or algorithm.
  • the core can run the entire software (including firmware) of the matching slave ECU and execute the same tasks as the slave ECU.
  • the communication ECU 300 may include a non-distributed mode 710 and a fully-distributed mode based on data received from the object detection device 210. It may be operated in at least one of the distributed mode 720, the semi-distributed mode 730, and the redundant mode 740.
  • the communication ECU 300 may include a non-distributed mode 710 and a fully-distributed mode based on various input conditions such as road conditions, traffic conditions, and network conditions. It may be operated in at least one of a distributed mode 720, a semi-distributed mode 730, and a redundant mode 740.
  • the communication ECU 300 turns off all of the plurality of slave ECUs and performs tasks of the plurality of slave ECUs in the plurality of cores 460.
  • the communication ECU 300 executes only unique tasks on a specially assigned core, and the remaining cores remain in either sleep mode, monitoring mode, or semi-running mode.
  • the plurality of slave ECUs are in operation mode and independently execute the assigned tasks.
  • the communication ECU 300 may have one or more slave ECUs in sleep mode while some of the plurality of slave ECUs are not in sleep mode. That is, at least one of the plurality of slave ECUs is a running mode for executing the assigned task.
  • the communication ECU 300 maintains the main core in the running mode to execute a task, and maintains one or more cores in the running mode to execute a task of a slave ECU in the sleep mode.
  • the communication ECU 300 maintains the main core in the running mode to perform a task.
  • the communication ECU 300 maintains one or more cores in the running mode, and the slave ECU is in the run mode to execute the task redundantly.
  • the communication ECU 300 may determine an operation according to the result of two overlapping tasks.
  • the main core described with reference to FIG. 10 may be described as a core for performing communication with an external device.
  • the main core may be the above-described Primary V2X Module 440, Non-V2X Connectivity Module 450, Secondary V2X Module 520, It may be at least one of the radio interfaces 550.
  • the power consumption reduction manager 430 may monitor power consumed in each mode and collect data.
  • the power consumption reduction manager 430 is one of the non-distributed mode 710, the fully-distributed mode 720, the semi-distributed mode 730, and the redundant mode 740 to reduce power consumption. Is selected optimally. For example, in non-distributed mode 710 all slave ECUs are turned off and all slave ECU functions are executed in the corresponding core of communication ECU 300. This reduces the overall load on the CAN controller by reducing the load.
  • AD redundancy may be classified into the following four types.
  • the first type 810 is a system that supports redundancy through a plurality of AD ECUs connected to a vehicle bus to independently execute AD tasks.
  • the AD operation may be performed using any one of a plurality of logics generated in the plurality of AD ECUs.
  • the communication ECU does not perform AD operations.
  • the second type 820 is a system that includes, in a single AC ECU, a plurality of cores each of which executes an AD task.
  • an AD operation may be performed using any one of a plurality of logics generated in a plurality of cores.
  • the communication ECU does not perform AD operations.
  • the third type 830 is a system for executing AD work on at least one of at least one independent AD ECU connected to the vehicle bus and a plurality of cores included in the communication ECU.
  • the fourth type 840 is a system for executing an AD task in at least one of at least one core included in a single AD ECU and a plurality of cores included in the communication ECU 300.
  • the present invention described above can be embodied as computer readable codes on a medium in which a program is recorded.
  • the computer-readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include hard disk drives (HDDs), solid state disks (SSDs), silicon disk drives (SDDs), ROMs, RAM, CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and the like. This also includes implementations in the form of carrier waves (eg, transmission over the Internet).
  • the computer may also include a processor or a controller. Accordingly, the above detailed description should not be construed as limiting in all aspects and should be considered as illustrative. The scope of the invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the invention are included in the scope of the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Traffic Control Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 차량에 구비되어, 외부 디바이스와 신호를 교환하는데 이용되는 통신용 ECU(Electronic Control Unit)에 있어서, 차량 내부의 복수의 슬레이브 ECU(Slave ECU)와 신호를 교환하는 버스 인터페이스(Bus Interface); 상기 복수의 슬레이브 ECU 중 적어도 하나의 슬레이브 ECU에 대한 소프트웨어 클로닝(software cloning)을 수행하는 프라이머리 프로세서(primary processor); 및 상기 프라이머리 프로세서의 과부하 여부에 따라 동작 여부를 결정하는 세컨더리 프로세서(secondary processor);를 포함하는 통신용 ECU에 관한 것이다.

Description

통신용 ECU
본 발명은 통신용 ECU에 관한 것이다.
차량은 탑승하는 사용자가 원하는 방향으로 이동시키는 장치이다. 대표적으로 자동차를 예를 들 수 있다. 자율 주행 차량은 인간의 운전 조작 없이 자동으로 주행할 수 있는 차량을 의미한다. 자율 주행 차량에는 AD(Automated Driving) ECU, MAP ECU, MMI Cluster ECU와 같이, 복수의 ECU(Electronic Control Unit)가 구비된다. 자율 주행 차량에 구비되는 복수의 ECU 중 어느 하나에 폴트(fault)가 발생되는 경우, 자율 주행이 원활하게 이루어지지 않을 뿐 아니라 사고 발생의 위험도 있다. 따라서, 자율 주행 차량에 구비되는 복수의 ECU 중 어느 하나에 폴트가 발생되는 경우, 이를 대체할 ECU가 필요하다.
본 발명은 상기한 문제점을 해결하기 위하여, 슬레이브 ECU에 폴트가 발생되는 경우, 슬레이브 ECU의 기능을 구현하는 통신용 ECU를 제공하는데 목적이 있다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 본 발명의 실시예에 따른 통신용 ECU는, 차량에 구비되어, 외부 디바이스와 신호를 교환하는 통신용 ECU(Electronic Control Unit)에 있어서, 차량 내부의 복수의 슬레이브 ECU(Slave ECU)와 신호를 교환하는 버스 인터페이스(Bus Interface); 상기 복수의 슬레이브 중 적어도 하나의 슬레이브 ECU에 대한 소프트웨어 클로닝(software cloning)을 수행하는 프라이머리 프로세서(primary processor); 및 상기 프라이머리 프로세서의 과부하 여부에 따라 동작 여부가 결정되는 세컨더리 프로세서(secondary processor);를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 슬레이브 ECU에 폴트가 발생되는 경우 통신용 ECU가 슬레이브 ECU의 기능을 구현함으로써, 오류 방지가 가능한 효과가 있다.
둘째, AD(Automated Driving) 기능을 위해 중복되는 ECU를 줄여 자율 주행 차량 제조 절감의 효과가 있다.
셋째, 효율적인 시스템 운영으로 전력 소비를 줄일 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 차량의 외관을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 차량의 제어 블럭도이다.
도 3은 본 발명의 실시예에 따른 통신용 ECU의 하드 웨어 블럭도이다.
도 4는 본 발명의 실시예에 따른 통신용 ECU의 소프트웨어 블럭도이다.
도 5는 본 발명의 실시예에 따른 프라이머 프로세서 및 세컨더리 프로세서의 구성도이다.
도 6 내지 도 11은 본 발명의 실시예에 따른 통신용 ECU를 설명하는데 참조되는 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 발명의 실시예에 따른 차량을 도시한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 차량(10)은, 도로나 선로 위를 달리는 수송 수단으로 정의된다. 차량(10)은, 자동차, 기차, 오토바이를 포함하는 개념이다. 차량(10)은, 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량등을 모두 포함하는 개념일 수 있다. 차량(10)은, 공유형 차량일 수 있다. 차량(10)은 자율 주행 차량일 수 있다.
차량(10)에는 전자 장치(100)가 포함될 수 있다.
한편, 차량(10)은, 적어도 하나의 로봇(robot)과 상호 작용할 수 있다. 로봇은, 자력으로 주행이 가능한 이동 로봇(Autonomous Mobile Robot, AMR)일 수 있다. 이동 로봇은, 스스로 이동이 가능하여 이동이 자유롭고, 주행 중 장애물 등을 피하기 위한 다수의 센서가 구비되어 장애물을 피해 주행할 수 있다. 이동 로봇은, 비행 장치를 구비하는 비행형 로봇(예를 들면, 드론)일 수 있다. 이동 로봇은, 적어도 하나의 바퀴를 구비하고, 바퀴의 회전을 통해 이동되는 바퀴형 로봇일 수 있다. 이동 로봇은, 적어도 하나의 다리를 구비하고, 다리를 이용해 이동되는 다리식 로봇일 수 있다.
로봇은 차량(10) 사용자의 편의를 보완하는 장치로 기능할 수 있다. 예를 들면, 로봇은, 차량(10)에 적재된 짐을 사용자의 최종 목적지까지 이동하는 기능을 수행할 수 있다. 예를 들면, 로봇은, 차량(10)에서 하차한 사용자에게 최종 목적지까지 길을 안내하는 기능을 수행할 수 있다. 예를 들면, 로봇은, 차량(10)에서 하차한 사용자를 최종 목적지까지 수송하는 기능을 수행할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 통신 장치(220)를 통해, 로봇과 통신을 수행할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 로봇에 차량에 포함되는 적어도 하나의 전자 장치에서 처리한 데이터를 제공할 수 있다. 예를 들면, 차량에 포함되는 적어도 하나의 전자 장치는, 오브젝트 데이터, HD 맵 데이터, 차량 상태 데이터, 차량 위치 데이터 및 드라이빙 플랜 데이터 중 적어도 어느 하나를 로봇에 제공할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 로봇으로부터, 로봇에서 처리된 데이터를 수신할 수 있다. 차량에 포함되는 적어도 하나의 전자 장치는, 로봇에서 생성된 센싱 데이터, 오브젝트 데이터, 로봇 상태 데이터, 로봇 위치 데이터 및 로봇의 이동 플랜 데이터 중 적어도 어느 하나를 수신할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 로봇으로부터 수신된 데이터에 더 기초하여, 제어 신호를 생성할 수 있다. 예를 들면, 차량에 포함되는 적어도 하나의 전자 장치는, 오브젝트 검출 장치(210)에 생성된 오브젝트에 대한 정보와 로봇에 의해 생성된 오브젝트에 대한 정보를 비교하고, 비교 결과에 기초하여, 제어 신호를 생성할 수 있다. 차량에 포함되는 적어도 하나의 전자 장치는, 차량(10)의 이동 경로와 로봇의 이동 경로간의 간섭이 발생되지 않도록, 제어 신호를 생성할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 인공 지능(artificial intelligence, AI)를 구현하는 소프트웨어 모듈 또는 하드웨어 모듈(이하, 인공 지능 모듈)을 포함할 수 있다. 차량에 포함되는 적어도 하나의 전자 장치는, 획득되는 데이터를 인공 지능 모듈에 입력(input)하고, 인공 지능 모듈에서 출력(output)되는 데이터를 이용할 수 있다.
인공 지능 모듈은, 적어도 하나의 인공 신경망(artificial neural network, ANN)을 이용하여, 입력되는 데이터에 대한 기계 학습(machine learning)을 수행할 수 있다. 인공 지능 모듈은, 입력되는 데이터에 대한 기계 학습을 통해, 드라이빙 플랜 데이터를 출력할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 인공 지능 모듈에서 출력되는 데이터에 기초하여, 제어 신호를 생성할 수 있다.
실시예에 따라, 차량에 포함되는 적어도 하나의 전자 장치는, 통신 장치(220)를 통해, 외부 장치로부터, 인공 지능에 의해 처리된 데이터를 수신할 수 있다. 차량에 포함되는 적어도 하나의 전자 장치는, 인공 지능에 의해 처리된 데이터에 기초하여, 제어 신호를 생성할 수 있다.
도 2는 본 발명의 실시예에 따른 차량의 제어 블럭도이다.
도 2를 참조하면, 차량(10)은, 차량용 전자 장치(100), 사용자 인터페이스 장치(200), 오브젝트 검출 장치(210), 통신 장치(220), 운전 조작 장치(230), 메인 ECU(240), 차량 구동 장치(250), 주행 시스템(260), 센싱부(270) 및 위치 데이터 생성 장치(280)를 포함할 수 있다.
사용자 인터페이스 장치(200)는, 차량(10)과 사용자와의 소통을 위한 장치이다. 사용자 인터페이스 장치(200)는, 사용자 입력을 수신하고, 사용자에게 차량(10)에서 생성된 정보를 제공할 수 있다. 차량(10)은, 사용자 인터페이스 장치(200)를 통해, UI(User Interface) 또는 UX(User Experience)를 구현할 수 있다. 사용자 인터페이스 장치(200)는, 차량(10)에 장착되는 디스플레이 장치, HUD(head up display) 장치, 윈도우 디스플레이 장치, 클러스터 장치 등으로 구현될 수 있다. 사용자 인터페이스 장치(200)는, 입력 장치, 출력 장치 및 사용자 모니터링 장치를 포함할 수 있다. 사용자 인터페이스 장치(200)는, 터치 입력 장치, 기계식 입력 장치, 음성 입력 장치, 제스쳐 입력 장치 등과 같은 입력 장치를 포함할 수 있다. 사용자 인터페이스 장치(200)는, 스피커, 디스플레이, 햅틱 모듈과 같은 출력 장치를 포함할 수 있다. 사용자 인터페이스 장치(200)는, DMS(Driver Monitoring System), IMS(Internal Monitoring System)과 같은 사용자 모니터링 장치를 포함할 수 있다.
오브젝트 검출 장치(210)는, 차량(10) 외부의 오브젝트를 검출할 수 있다. 오브젝트 검출 장치(210)는, 차량(10) 외부의 오브젝트를 검출할 수 있는 적어도 하나의 센서를 포함할 수 있다. 오브젝트 검출 장치(210)는, 카메라, 레이다, 라이다, 초음파 센서 및 적외선 센서 중 적어도 하나를 포함할 수 있다. 오브젝트 검출 장치(210)는, 센서에서 생성되는 센싱 신호에 기초하여 생성된 오브젝트에 대한 데이터를 차량에 포함된 적어도 하나의 전자 장치에 제공할 수 있다.
카메라는 영상을 이용하여 차량(10) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 카메라는 적어도 하나의 렌즈, 적어도 하나의 이미지 센서 및 이미지 센서와 전기적으로 연결되어 수신되는 신호를 처리하고, 처리되는 신호에 기초하여 오브젝트에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다.
카메라는, 모노 카메라, 스테레오 카메라, AVM(Around View Monitoring) 카메라 중 적어도 어느 하나일 수 있다. 카메라는, 다양한 영상 처리 알고리즘을 이용하여, 오브젝트의 위치 정보, 오브젝트와의 거리 정보 또는 오브젝트와의 상대 속도 정보를 획득할 수 있다. 예를 들면, 카메라는, 획득된 영상에서, 시간에 따른 오브젝트 크기의 변화를 기초로, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다. 예를 들면, 카메라는, 핀홀(pin hole) 모델, 노면 프로파일링 등을 통해, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다. 예를 들면, 카메라는, 스테레오 카메라에서 획득된 스테레오 영상에서 디스패러티(disparity) 정보를 기초로 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
카메라는, 차량 외부를 촬영하기 위해 차량에서 FOV(field of view) 확보가 가능한 위치에 장착될 수 있다. 카메라는, 차량 전방의 영상을 획득하기 위해, 차량의 실내에서, 프런트 윈드 쉴드에 근접하게 배치될 수 있다. 카메라는, 프런트 범퍼 또는 라디에이터 그릴 주변에 배치될 수 있다. 카메라는, 차량 후방의 영상을 획득하기 위해, 차량의 실내에서, 리어 글라스에 근접하게 배치될 수 있다. 카메라는, 리어 범퍼, 트렁크 또는 테일 게이트 주변에 배치될 수 있다. 카메라는, 차량 측방의 영상을 획득하기 위해, 차량의 실내에서 사이드 윈도우 중 적어도 어느 하나에 근접하게 배치될 수 있다. 또는, 카메라는, 사이드 미러, 휀더 또는 도어 주변에 배치될 수 있다.
레이다는 전파를 이용하여 차량(10) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 레이다는, 전자파 송신부, 전자파 수신부 및 전자파 송신부 및 전자파 수신부와 전기적으로 연결되어, 수신되는 신호를 처리하고, 처리되는 신호에 기초하여 오브젝트에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다. 레이다는 전파 발사 원리상 펄스 레이다(Pulse Radar) 방식 또는 연속파 레이다(Continuous Wave Radar) 방식으로 구현될 수 있다. 레이다는 연속파 레이다 방식 중에서 신호 파형에 따라 FMCW(Frequency Modulated Continuous Wave)방식 또는 FSK(Frequency Shift Keyong) 방식으로 구현될 수 있다. 레이다는 전자파를 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 레이다는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
라이다는, 레이저 광을 이용하여, 차량(10) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 라이다는, 광 송신부, 광 수신부 및 광 송신부 및 광 수신부와 전기적으로 연결되어, 수신되는 신호를 처리하고, 처리된 신호에 기초하여 오브젝트에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다. 라이다는, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식으로 구현될 수 있다. 라이다는, 구동식 또는 비구동식으로 구현될 수 있다. 구동식으로 구현되는 경우, 라이다는, 모터에 의해 회전되며, 차량(10) 주변의 오브젝트를 검출할 수 있다. 비구동식으로 구현되는 경우, 라이다는, 광 스티어링에 의해, 차량을 기준으로 소정 범위 내에 위치하는 오브젝트를 검출할 수 있다. 차량(100)은 복수의 비구동식 라이다를 포함할 수 있다. 라이다는, 레이저 광 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 라이다는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
통신 장치(220)는, 차량(10) 외부에 위치하는 디바이스와 신호를 교환할 수 있다. 통신 장치(220)는, 인프라(예를 들면, 서버, 방송국) 및 타 차량 중 적어도 어느 하나와 신호를 교환할 수 있다. 통신 장치(220)는, 통신을 수행하기 위해 송신 안테나, 수신 안테나, 각종 통신 프로토콜이 구현 가능한 RF(Radio Frequency) 회로 및 RF 소자 중 적어도 어느 하나를 포함할 수 있다.
통신 장치(220)는, 5G(예를 들면, 뉴 라디오(new radio, NR)) 방식을 이용하여, 차량(10) 외부에 위치하는 디바이스와 통신할 수 있다. 통신 장치(220)는, 5G 방식을 이용하여, V2X(V2V, V2D, V2P,V2N) 통신을 구현할 수 있다.
운전 조작 장치(230)는, 운전을 위한 사용자 입력을 수신하는 장치이다. 메뉴얼 모드인 경우, 차량(10)은, 운전 조작 장치(230)에 의해 제공되는 신호에 기초하여 운행될 수 있다. 운전 조작 장치(230)는, 조향 입력 장치(예를 들면, 스티어링 휠), 가속 입력 장치(예를 들면, 가속 페달) 및 브레이크 입력 장치(예를 들면, 브레이크 페달)를 포함할 수 있다.
메인 ECU(240)는, 차량(10) 내에 구비되는 적어도 하나의 전자 장치의 전반적인 동작을 제어할 수 있다.
구동 제어 장치(250)는, 차량(10)내 각종 차량 구동 장치를 전기적으로 제어하는 장치이다. 구동 제어 장치(250)는, 파워 트레인 구동 제어 장치, 샤시 구동 제어 장치, 도어/윈도우 구동 제어 장치, 안전 장치 구동 제어 장치, 램프 구동 제어 장치 및 공조 구동 제어 장치를 포함할 수 있다. 파워 트레인 구동 제어 장치는, 동력원 구동 제어 장치 및 변속기 구동 제어 장치를 포함할 수 있다. 샤시 구동 제어 장치는, 조향 구동 제어 장치, 브레이크 구동 제어 장치 및 서스펜션 구동 제어 장치를 포함할 수 있다.
한편, 안전 장치 구동 제어 장치는, 안전 벨트 제어를 위한 안전 벨트 구동 제어 장치를 포함할 수 있다.
차량 구동 제어 장치(250)는, 제어 ECU(Electronic Control Unit)로 명명될 수 있다.
주행 시스템(260)는, 오브젝트 검출 장치(210)에서 수신한 오브젝트에 대한 데이터에 기초하여, 차량(10)의 움직임을 제어하거나, 사용자에게 정보를 출력하기 위한 신호를 생성할 수 있다. 주행 시스템(260)는, 생성된 신호를, 사용자 인터페이스 장치(200), 메인 ECU(240) 및 차량 구동 장치(250) 중 적어도 어느 하나에 제공할 수 있다.
주행 시스템(260)은, ADAS를 포함하는 개념일 수 있다. ADAS(260)는, 적응형 크루즈 컨트롤 시스템(ACC : Adaptive Cruise Control), 자동 비상 제동 시스템(AEB : Autonomous Emergency Braking), 전방 충돌 알림 시스템(FCW : Foward Collision Warning), 차선 유지 보조 시스템(LKA : Lane Keeping Assist), 차선 변경 보조 시스템(LCA : Lane Change Assist), 타겟 추종 보조 시스템(TFA : Target Following Assist), 사각 지대 감시 시스템(BSD : Blind Spot Detection), 적응형 하이빔 제어 시스템(HBA : High Beam Assist), 자동 주차 시스템(APS : Auto Parking System), 보행자 충돌 알림 시스템(PD collision warning system), 교통 신호 검출 시스템(TSR : Traffic Sign Recognition), 교통 신호 보조 시스템(TSA : Trafffic Sign Assist), 나이트 비전 시스템(NV : Night Vision), 운전자 상태 모니터링 시스템(DSM : Driver Status Monitoring) 및 교통 정체 지원 시스템(TJA : Traffic Jam Assist) 중 적어도 어느 하나를 구현할 수 있다.
주행 시스템(260)은, 자율 주행 ECU(Electronic Control Unit)를 포함할 수 있다. 자율 주행 ECU는, 차량(10) 내 다른 전자 장치들 중 적어도 어느 하나로부터 수신되는 데이터에 기초하여, 자율 주행 경로를 설정할 수 있다. 자율 주행 ECU는, 사용자 인터페이스 장치(200), 오브젝트 검출 장치(210), 통신 장치(220), 센싱부(270) 및 위치 데이터 생성 장치(280) 중 적어도 어느 하나로부터 수신되는 데이터에 기초하여, 자율 주행 경로를 설정할 수 있다. 자율 주행 ECU는, 자율 주행 경로를 따라 차량(10)이 주행하도록 제어 신호를 생성할 수 있다. 자율 주행 ECU에서 생성된 제어 신호는, 메인 ECU(240) 및 차량 구동 장치(250) 중 적어도 어느 하나로 제공될 수 있다.
센싱부(270)는, 차량의 상태를 센싱할 수 있다. 센싱부(270)는, IMU(inertial navigation unit) 센서, 충돌 센서, 휠 센서(wheel sensor), 속도 센서, 경사 센서, 중량 감지 센서, 헤딩 센서(heading sensor), 포지션 모듈(position module), 차량 전진/후진 센서, 배터리 센서, 연료 센서, 타이어 센서, 핸들 회전에 의한 스티어링 센서, 차량 내부 온도 센서, 차량 내부 습도 센서, 초음파 센서, 조도 센서, 가속 페달 포지션 센서 및 브레이크 페달 포지션 센서 중 적어도 어느 하나를 포함할 수 있다. 한편, IMU(inertial navigation unit) 센서는, 가속도 센서, 자이로 센서, 자기 센서 중 하나 이상을 포함할 수 있다.
센싱부(270)는, 적어도 하나의 센서에서 생성되는 신호에 기초하여, 차량의 상태 데이터를 생성할 수 있다. 센싱부(270)는, 차량 자세 정보, 차량 모션 정보, 차량 요(yaw) 정보, 차량 롤(roll) 정보, 차량 피치(pitch) 정보, 차량 충돌 정보, 차량 방향 정보, 차량 각도 정보, 차량 속도 정보, 차량 가속도 정보, 차량 기울기 정보, 차량 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 차량 램프 정보, 차량 내부 온도 정보, 차량 내부 습도 정보, 스티어링 휠 회전 각도, 차량 외부 조도, 가속 페달에 가해지는 압력, 브레이크 페달에 가해지는 압력 등에 대한 센싱 신호를 획득할 수 있다.
센싱부(270)는, 그 외, 가속페달센서, 압력센서, 엔진 회전 속도 센서(engine speed sensor), 공기 유량 센서(AFS), 흡기 온도 센서(ATS), 수온 센서(WTS), 스로틀 위치 센서(TPS), TDC 센서, 크랭크각 센서(CAS), 등을 더 포함할 수 있다.
센싱부(270)는, 센싱 데이터를 기초로, 차량 상태 정보를 생성할 수 있다. 차량 상태 정보는, 차량 내부에 구비된 각종 센서에서 감지된 데이터를 기초로 생성된 정보일 수 있다.
예를 들면, 차량 상태 정보는, 차량의 자세 정보, 차량의 속도 정보, 차량의 기울기 정보, 차량의 중량 정보, 차량의 방향 정보, 차량의 배터리 정보, 차량의 연료 정보, 차량의 타이어 공기압 정보, 차량의 스티어링 정보, 차량 실내 온도 정보, 차량 실내 습도 정보, 페달 포지션 정보 및 차량 엔진 온도 정보 등을 포함할 수 있다.
한편, 센싱부는, 텐션 센서를 포함할 수 있다. 텐션 센서는, 안전 벨트의 텐션 상태에 기초하여 센싱 신호를 생성할 수 있다.
위치 데이터 생성 장치(280)는, 차량(10)의 위치 데이터를 생성할 수 있다. 위치 데이터 생성 장치(280)는, GPS(Global Positioning System) 및 DGPS(Differential Global Positioning System) 중 적어도 어느 하나를 포함할 수 있다. 위치 데이터 생성 장치(280)는, GPS 및 DGPS 중 적어도 어느 하나에서 생성되는 신호에 기초하여 차량(10)의 위치 데이터를 생성할 수 있다. 실시예에 따라, 위치 데이터 생성 장치(280)는, 센싱부(270)의 IMU(Inertial Measurement Unit) 및 오브젝트 검출 장치(210)의 카메라 중 적어도 어느 하나에 기초하여 위치 데이터를 보정할 수 있다.
위치 데이터 생성 장치(280)는, 위치 측위 장치로 명명될 수 있다. 위치 데이터 생성 장치(280)는, GNSS(Global Navigation Satellite System)로 명명될 수 있다.
차량(10)은, 내부 통신 시스템(50)을 포함할 수 있다. 차량(10)에 포함되는 복수의 전자 장치는 내부 통신 시스템(50)을 매개로 신호를 교환할 수 있다. 신호에는 데이터가 포함될 수 있다. 내부 통신 시스템(50)은, 적어도 하나의 통신 프로토콜(예를 들면, CAN, LIN, FlexRay, MOST, USB, 이더넷)을 이용할 수 있다.
도 3은 본 발명의 실시예에 따른 통신용 ECU의 하드 웨어 블럭도이다.
도 4는 본 발명의 실시예에 따른 통신용 ECU의 소프트웨어 블럭도이다.
도 5는 본 발명의 실시예에 따른 통신용 ECU의 구성도이다.
도 3 내지 도 5를 참조하면, 통신 장치(220)는, 통신용 ECU(Electronic Control Unit)(300)를 포함할 수 있다. 통신용 ECU(300)는, 차량(10)에 구비되어, 외부 디바이스와 신호를 교환하는데 이용될 수 있다. 외부 디바이스는, 타 차량, 서버, 사용자 단말기 중 어느 하나를 포함할 수 있다.
통신용 ECU(300)에는 외부 디바이스와의 통신을 위한 구성이 필수적으로 포함된다. 예를 들면, 통신용 ECU(300)에는, 802.11p, LTE, Wi-Fi, BT와 같은 통신 방식을 구현하기 위한 구성이 필수적으로 포함된다. 이러한 통신용 ECU는, 다른 ECU를 대체할 수 있지만, 다른 ECU는, 외부 디바이스와의 통신을 위한 구성이 포함하지 않기 때문에 통신용 ECU를 대체할 수 없다. 이러한 이유로, 통신용 ECU(300)는, 슬레이브 ECU(Slave ECU)에 대한 소프트웨어 클로닝(software cloning)을 수행하기에 적합하다.
하드웨어 관점에서, 통신 장치(220)는, 버스 인터페이스(301), 프라이머리 프로세서(400), 세컨더리 프로세서(500), 플랫 안테나 인터페이스, 메모리, HSM(Hardware Security Module), GNSS Radio, 802.11p Radio, LTE-PCS Radio, 4G/5G Radio, Wi-Fi/BT Radio 를 포함할 수 있다.
소프트웨어 관점에서, 통신 장치(220)는, Vehicle to Everything Connectivity Plane, Hybridization Plane, Non-V2X Connectivity Plane, Slave ECU Clone Space, ECU Redundancy Plane, Security Plane, Board Support Package Plane을 포함할 수 있다.
통신용 ECU(300)는, 버스 인터페이스(301), 프라이머리 프로세서(primary processor)(400) 및 세컨더리 프로세서(secondary processor)(500)를 포함할 수 있다.
한편, 통신용 ECU(300)는, 마스터 ECU(Master ECU)로 명명될 수 있다.
버스 인터페이스(301)는, 차량(10) 내부의 복수의 슬레이브 ECU(Slave ECU)와 신호를 교환할 수 있다. 버스 인터페이스(301)는, CAN, LIN, FlexRay, MOST, USB, 이더넷 중 적어도 어느 하나의 통신 방식으로 통해, 복수의 슬레이브 ECU와 신호를 교환할 수 있다.
슬레이브 ECU는, 사용자 인터페이스 장치(200), 오브젝트 검출 장치(210), 운전 조작 장치(230), 메인 ECU(240), 차량 구동 장치(250), 주행 시스템(260), 센싱부(270) 및 위치 데이터 생성 장치(280)에 포함되는 ECU로 이해될 수 있다. 예를 들면, 슬레이브 ECU는, AD(Automated Driving) ECU, MAP ECU, MMI Cluster ECU 등일 수 있다.
슬레이브 ECU는, 소프트웨어 지향적이다. 통신용 ECU는, 슬레이브 ECU의 소프트웨어를 프로세서에서 실행하여, 슬레이브 ECU의 작업을 실행할 수 있지만, 슬레이브 ECU는, 통신용 ECU의 통신 기능을 수행할 수 없다.
버스 인터페이스(301)는, 복수의 슬레이브 ECU 각각에 입력되는 복수의 센서 신호를 수신할 수 있다. 예를 들면, 버스 인터페이스(301)는, 제1 슬레이브 ECU에 입력되는 제1 센서 신호를 수신할 수 있다. 버스 인터페이스(301)는, 제2 슬레이브 EUC에 입력되는 제2 센서 신호를 수신할 수 있다.
버스 인터페이스(301)는, 수신되는 센서 신호를 복수의 코어(460)에 제공할 수 있다. 버스 인터페이스(301)는, 제1 센서 신호를 제1 코어(461)에 제공할 수 있다. 버스 인터페이스(301)는, 제2 센서 신호를 제2 코어(462)에 제공할 수 있다.
프라이머리 프로세서(400)는, 복수의 슬레이브 ECU 중 적어도 어느 하나의 슬레이브 ECU에 대한 소프트웨어 클로닝(software cloning)을 수행할 수 있다. 소프트웨어 클로닝은, 복수의 슬레이브 ECU에 각각 할당된 복수의 코어(core)를 활성화 시키는 것으로 정의될 수 있다. 복수의 코어는, 프라이머리 프로세서(400)에 포함되고, 복수의 슬레이브 ECU의 소프트웨어와 동일한 소프트웨어를 구현할 수 있다. 한편, 본 명세서에서 소프트웨어는 펌웨어를 포함하는 개념으로 이해될 수 있다.
프라이머리 프로세서(400)는, 복수의 슬레이브 ECU 중 폴트(fault)가 검출되는 슬레이브 ECU에 대한 소프트웨어 클로닝을 수행할 수 있다. 예를 들면, 프로세서(170)는, 복수의 슬레이브 ECU 중 제1 슬레이브 ECU에 폴트가 검출되는 경우, 제1 슬레이브 ECU에 할당된 제1 코어를 활성화시킬 수 있다. 제1 코어는, 제1 슬레이브 ECU의 제1 소프트웨어와 동일한 제1 소프트웨어가 설치될 수 있다. 활성화된 제1 코어는, 제1 슬레이브 ECU의 기능을 수행할 수 있다.
프라이머리 프로세서(400)는, 복수의 코어(400), 온보드 센서 인터페이스(411), 센서 데이터 서비스(412), ECU 리던던시 매니저(420), 파워 컨섬션 리덕션 매니저(430), 프라이머리 V2X 모듈(440), 논 V2X 커넥티비티 모듈(450)을 포함할 수 있다.
프라이머리 프로세서(400)는, 복수의 슬레이브 ECU 각각에서 수행하는 기능을 수행하도록 설정된 복수의 코어(460)를 포함할 수 있다. 복수의 코어(460)는, ECU 리던던시 클론(ECU Redunancy Clone)으로 명명될 수 있다. 복수의 코어(460)는, 복수의 슬레이브 ECU의 기능 요소를 복제할 수 있다.
프라이머리 프로세서(400)는, 제1 코어(461) 및 제2 코어(462)를 포함할 수 있다. 제1 코어(461)는, 복수의 슬레이브 ECU 중 제1 슬레이브 ECU에서 수행하는 기능을 수행하도록 설정될 수 있다. 제2 코어(462)는, 복수의 슬레이브 ECU 중 제2 슬레이브 ECU에서 수행하는 기능을 수행하도록 설정될 수 있다.
프라이머리 프로세서(400)는, 복수의 슬레이브 ECU 중 제1 슬레이브 ECU의 폴트가 검출되는 경우, 제1 코어(461)를 활성화시킬 수 있다. 제1 코어(461)는, 제1 슬레이브 ECU의 애플리케이션이 설치되어, 제1 코어(461)가 활성화되면, 제1 슬레이브 ECU와 동일한 기능을 수행할 수 있도록 할당된 코어일 수 있다. 프라이머리 프로세서(400)는, 제1 슬레이브 ECU의 폴트가 검출되는 경우, 제1 슬레이브 ECU를 슬립 모드 상태로 전환할 수 있다. 제1 슬레이브 ECU는 슬립 모드에서 비활성화 되어, 동작이 중단된다.
프라이머리 프로세서(400)는, 복수의 슬레이브 ECU 중 제2 슬레이브 EUC의 폴트가 검출되는 경우, 제2 코어(462)를 활성화시킬 수 있다. 제2 코어(462)는, 제2 슬레이브 ECU의 애플리케이션이 설치되어, 제2 코어(462)가 활성화되면, 제2 슬레이브 ECU와 동일한 기능을 수행할 수 있도록 할당된 코어일 수 있다. 프라이머리 프로세서(400)는, 제2 슬레이브 ECU의 폴트가 검출되는 경우, 제2 슬레이브 ECU를 슬립 모드 상태로 전환할 수 있다. 제2 슬레이브 ECU는 슬립 모드에서 비활성화 되어, 동작이 중단된다.
프라이머리 프로세서(400)에 포함되는 복수의 코어(460)는, 슬립 모드(sleep mode), 모니터링 모드(monitoring mode), 세미 러닝 모드(semi-running mode), 러닝 모드(running mode) 중 어느 하나의 모드로 설정될 수 있다. 슬립 모드는, 코어의 비활성 상태의 모드로 정의될 수 있다. 모니터링 모드는, 매칭되는 ECU의 상태를 모니터링하는 모드로 정의될 수 있다. 세미 러닝 모드는, 특정된 알고리즘만 수행하는 모드로 정의될 수 있다. 러닝 모드는, 매칭되는 슬레이브 ECU와 동일한 기능을 수행하는 모드로 정의될 수 있다. 예를 들면, 제1 코어는, 제1 코어(861)의 비활성 상태로 정의되는 슬립 모드, 제1 슬레이브 ECU의 상태를 모니터링하는 모니터링 모드, 특정된 알고리즘만 수행하는 세미 러닝 모드 및 제1 슬레이브 ECU와 동일한 기능을 수행하는 러닝 모드 중 어느 하나의 모드로 설정될 수 있다. 예를 들면, 제2 코어(862)는, 제2 코어의 비활성 상태로 정의되는 슬립 모드, 제2 슬레이브 ECU의 상태를 모니터링하는 모니터링 모드, 특정된 알고리즘만 수행하는 세미 러닝 모드 및 제2 슬레이브 ECU와 동일한 기능을 수행하는 러닝 모드 중 어느 하나의 모드로 설정될 수 있다.
온보드 센서 인터페이스(On-Board Sensor Interface)(411)는, 온보드 센서들로부터 데이터를 수신할 수 있다. 여기서, 온보드 센서는, 상술한 센싱부(270)에 포함되는 센서들로 이해될 수 있다.
센서 데이터 서비스(Sensor Data Service)(412)는, 복수의 슬레이브 ECU의 기능에 요구되는 센서 데이터를 제공할 수 있다.
ECU 리던던시 매니저(ECU Redundancy Manager)(420)는, 복수의 슬레이브 ECU에 대한 소프트웨어 클로닝 동작을 관리할 수 있다. ECU 리던던시 매니저(420)는, 버스 인터페이스(301)에 연결된 복수의 슬레이브 EUC의 상태를 모니터링할 수 있다. ECU 리던던시 매니저(420)는, 복수의 코어(460) 중 적어도 어느 하나를 활성화하거나 비활성화할 수 있다.
파워 컨섬션 리덕션 매니저(power consumption reduction manager)(430)는, 복수의 슬레이브 ECU의 전력 소비 상태를 모니터링할 수 있다. 파워 컨섬션 리덕션 매니저(430)는, 슬레이브 ECU의 제어 정보를 ECU 리던던시 매니저(420)에 제공하여 전력 소비를 줄일 수 있다.
프라이머리 V2X 모듈(Primary V2X Module)(440)는, 프라이머리 프로세서(400)에 과부하가 걸리지 않는 경우, 통신 관련 기능을 수행할 수 있다. 프라이머리 V2X 모듈(440)은, 유스 케이스들(use cases)과 애플리케이션들(applications)을 포함하는 ITS Stack(ITS-G5 and WAVE)일 수 있다.
논 V2X 커넥티비티 모듈(Non-V2X Connectivity Module)(450)는, 텔레매틱스, Wi-Fi 등과 같이 V2X 이외의 응용 프로그램에 대한 연결 작업을 담당하는 포로토콜 스택 세트이다.
한편, 프라이머리 프로세서(400)는, 논 디스트리뷰티드 모드(Non-Distributed Mode), 풀리 디스트리뷰티드 모드(Fully-Distributed Mode), 세미 디스트리뷰티드 모드(Semi-Distributed Mode), 리던던트 모드(Redundant Mode) 중 적어도 어느 하나의 모드로 동작될 수 있다.
논 디스트리뷰티드 모드에서, 프라이머리 프로세서(400)는, 복수의 슬레이브 ECU를 슬립 모드로 전환하고, 복수의 슬레이브 ECU의 기능을 모두 수행할 수 있다.
풀리 디스트리뷰티드 모드에서, 프라이머리 프로세서(400)는, 복수의 코어(460) 중 제1 코어(461)에서 특정된 기능만을 실행하고, 나머지 코어는 슬립 모드, 모니터링 모드, 세미 러닝 모드 중 어느 하나로 유지시킬 수 있다.
세미 디스트리뷰티드 모드에서, 프라이머리 프로세서(400)는, 복수의 슬레이브 ECU 중 적어도 어느 하나를 슬립 모드로 전환하고, 슬립 모드로 전환된 슬레이브 ECU의 기능을 수행할 수 있다.
리던던트 모드에서, 프라이머리 프로세서(400)는, 복수의 슬레이브 ECU가 동작되는 상태에서, 복수의 코어(460) 중 적어도 어느 하나가 러닝 모드로 유지시킬 수 있다.
세컨더리 프로세서(500)는, 프라이머리 프로세서(400)의 과부하 여부에 따라 동작 여부를 결정할 수 있다.
세컨더리 프로세서(500)는, V2X 리던던시 매니저(Vehicle to Everything Redundancy Manager)(510), 세컨더리 V2X 모듈(520), V2X 데이터 스위치(530), 라디오 데이터 스플리터(540) 및 라디오 인터페이스(550)를 포함할 수 있다.
V2X 리던던시 매니저(V2X Redundancy Manager)(510)는, 프라이머리 프로세서(400)의 부하를 관리할 수 있다.
V2X 리던던시 매니저(510)는, 프라이머리 프로세서(400)의 로드를 모니터링할 수 있다. V2X 리던던시 매니저(510)는, 프라이머리 프로세서(400)에 과부하가 걸리는 경우, 외부 디바이스와 신호를 교환하는 통신 관련 기능을 프라이머리 프로세서(400)를 대신하여 수행하도록 관리할 수 있다.
V2X 리던던시 매니저(510)는, 프라이머리 프로세서(400)의 과부하가 해소되는 경우, 통신 관련 기능을 프라이머리 프로세서(400)가 수행하도록 관리할 수 있다.
세컨더리 V2X 모듈(Secondary V2X Module)(520)는, 프라이머리 프로세서(400)에 과부하가 걸리는 경우, 프라이머리 V2X 모듈(440)의 동작을 대신하여 수행할 수 있다. 세컨더리 V2X 모듈(520)은, 프라이머리 V2X 모듈(440)의 애플리케이션과 동일한 애플리케이션이 설치될 수 있다. 세컨더리 V2X 모듈(520)은, 유스 케이스들(use cases)과 애플리케이션들(applications)을 포함하는 ITS Stack(ITS-G5 and WAVE)일 수 있다.
V2X 데이터 스위치(V2X Data Switch)(530)는, V2X 데이터 스위치(530)는, 프라이머리 프로세서(400)와 세컨더리 프로세서(500) 간의 V2X 데이터 흐름을 제어할 수 있다. V2X 데이터 스위치(530)는, 프라이머리 V2X 모듈(440) 및 세컨더리 V2X 모듈(520)간의 V2X 데이터 흐름을 제어할 수 있다.
라디오 데이터 스플리터(Radio Data Splitter)(540)는, V2X 데이터와 논 V2X(Non-V2X) 데이터를 분리할 수 있다. 예를 들면, 라디오 데이터 스플리터(540)는, 텔레매틱스 또는 네트워크 운영 등에 있어서, V2X 데이터와 논 V2X(Non-V2X) 데이터를 분리할 수 있다.
라디오 인터페이스(Radio Interface)(550)는, 외부 디바이스와의 연결을 담당할 수 있다. 라디오 인터페이스(550)는, 802.11p, LTE-PC5/Uu, 4G/5G 중 어느 하나의 네트워크를 이용한 외부 디바이스와의 연결을 담당할 수 있다.
도 6 내지 도 11은 본 발명의 실시예에 따른 통신용 ECU를 설명하는데 참조되는 도면이다.
도 6을 참조하면, 복수의 슬레이브 ECU(610a, 610b, ..., 610c)중 제1 슬레이브 ECU(610a)에 페일(fail)이 발생될 수 있다. 예를 들면, 제1 슬레이브 ECU(610a)는, AD ECU일 수 있다.
통신용 ECU(300)는, 제1 슬레이브 ECU(610a)의 페일 상태를 차량(10) 내 연결 버스를 통해 감지할 수 있다. 통신용 ECU(300)는, 제1 슬레이브 ECU(610a)의 클론 기능을 실행하여, 제1 슬레이브 ECU(610a)의 기능을 담당할 수 있다. 통신용 ECU(300)는, 제1 슬레이브 ECU(610a)의 애플리케이션이 구현될 수 있는 제1 코어(461)를 활성화 시킬 수 있다. 이경우, AD ECU의 기능이, 통신용 ECU(300)에서 구현될 수 있다.
통신용 ECU(300)에 포함된 프라이머리 프로세서(400)는, 제1 슬레이브 ECU(610a)의 기능을 수행할 수 있다. 제1 슬레이브 ECU(610a)의 기능 수행으로 인해, 프라이머리 프로세서(400)에 과부하가 발생되는 경우, 통신용 ECU(300)에 포함된 세컨더리 프로세서(500)가 프라이머리 프로세서(400)의 통신 기능을 대신 수행할 수 있다.
만약, 프라이머리 프로세서(400)의 과부하가 줄어들면, 프라이머리 프로세서(400)는, 본연의 통신 기능을 수행할 수 있다.
프라이머리 프로세서(400)는, 제1 슬레이브 ECU(610a)의 기능과 통신 기능을 동시에 수행할 수 있다.
도 7을 참조하면, 복수의 슬레이브 ECU(610a, 610b, ..., 610n) 각각은, 할당된 기능을 수행하기 위해, 알고리즘과 소프트웨어에 적합한 입력을 제공하는 센서에 무선 또는 유선으로 연결될 수 있다. 복수의 슬레이브 ECU(610a, 610b, ..., 610n) 각각은, 센서에 물리적으로 연결되거나, CAN 또는 이더넷 버스를 통해 연결될 수 있다.
복수의 슬레이브 ECU(610a, 610b, ... ,610n)의 센서 입력은, 통신 ECU(300)에 병렬로 연결될 수 있다. 즉, 통신 ECU(300)는, 병렬 연결 회로를 사용하여, 복수의 슬레이브 ECU(610a, 610b, ... , 610n)의 센서 입력을 동시에 얻을 수 있다.
도 8을 참조하면, 통신용 ECU(300)는, 멀티 코어 아키텍처(multi-core architecture)를 지원하는 매우 강력한 애플리케이션 프로세서를 구비한다. 통신용 ECU(300)는, 멀티 코어 아키텍처(multi-core architecture)를 지원하는 프라이머리 프로세서(400)를 포함할 수 있다.
프라이머리 프로세서(400)에 포함되는 멀티 코어는, 복수의 슬레이브 ECU에 매칭되고, 각 코어는 기능적으로 매칭된 슬레이브 ECU와 동일한 소프트웨어(펌웨어 포함)를 실행하는 작업이 할당될 수 있다. 복수의 코어 각각은 매칭되는 슬레이브 ECU의 카피(copy)를 가진다. 예를 들면, 제1 코어(461)는, 제1 슬레이브 ECU(610a)의 애플리케이션 카피를 가지고, 제2 코어(462)는, 제2 슬레이브 ECU(610b)의 카피를 가진다.
도 9를 참조하면, 복수의 코어(460) 각각은, 슬립 모드, 모니터링 모드, 세미 러닝 모드, 러닝 모드 중 어느 하나의 모드에서 동작될 수 있다.
슬립 모드에서, 코어는 완전히 꺼져 있고, 매칭되는 슬레이브 ECU의 작업을 위한 소프트웨어(펌웨어 포함)를 처리하지 않는다.
모니터링 모드에서, 코어는, 활성화되고, 버스(예를 들면, CAN, 이더넷)를 통해 매칭되는 슬레이브 ECU의 상태를 모니터링한다. 모니터링 모드에서, 코어는, 매칭되는 슬레이브 ECU의 센서 입력을 수집하지만, 센서 입력을 처리하지는 않는다.
세미 러닝 모드에서, 코어는, 매칭되는 슬레이브 ECU의 상태를 모니터링하고, 센서 입력을 수집한다. 세미 러닝 모드에서, 코어는, 특정된 기능 또는 알고리즘만을 실행한다.
러닝 모드에서, 코어는, 매칭되는 슬레이브 ECU의 전체 소프트웨어(펌웨어 포함)를 실행하고, 슬레이브 ECU와 동일한 작업을 실행할 수 있다.
도 10을 참조하면, 통신용 ECU(300)는, 오브젝트 검출 장치(210)로부터 수신되는 데이터에 기초하여, 논 디스트리뷰티드 모드(Non-Distributed Mode)(710), 풀리 디스트리뷰티드 모드(Fully-Distributed Mode)(720), 세미 디스트리뷰티드 모드(Semi-Distributed Mode)(730), 리던던트 모드(Redundant Mode)(740) 중 적어도 어느 하나의 모드로 동작될 수 있다. 예를 들면, 통신용 ECU(300)는, 도로 상황, 교통 상황, 네트워크 상황과 같은 다양한 입력 조건을 기초로, 논 디스트리뷰티드 모드(Non-Distributed Mode)(710), 풀리 디스트리뷰티드 모드(Fully-Distributed Mode)(720), 세미 디스트리뷰티드 모드(Semi-Distributed Mode)(730), 리던던트 모드(Redundant Mode)(740) 중 적어도 어느 하나의 모드로 동작될 수 있다.
논 디스트리뷰티드 모드(710)에서, 통신용 ECU(300)는, 복수의 슬레이브 ECU 모두를 끄고, 복수의 코어(460)에서 복수의 슬레이브 ECU의 작업을 수행한다.
풀리 디스트리뷰티드 모드(720)에서, 통신용 ECU(300)는, 특별하게 할당된 코어에서 고유한 작업만 실행하고, 나머지 코어는 슬립 모드, 모니터링 모드, 세미 러닝 모드 중 어느 하나로 유지된다. 풀리 디스트리뷰티드 모드에서, 복수의 슬레이브 ECU는, 운전 모드에 있으며, 할당된 작업을 독립적으로 실행한다.
세미 디스트리뷰티드 모드(730)에서, 통신용 ECU(300)는, 하나 이상의 슬레이브 ECU는 슬립 모드지만, 복수의 슬레이브 ECU 중 일부는 슬립 모드가 아니다. 즉, 복수의 슬레이브 ECU 중 적어도 하나는 할당된 작업을 실행하기 위한 러닝 모드다. 통신용 ECU(300)는, 작업을 실행하기 위해 메인 코어를 러닝 모드로 유지하고, 슬립 모드에 있는 슬레이브 ECU의 작업을 실행하기 위하 하나 이상의 코어를 러닝 모드로 유지한다.
리던던트 모드(740)에서, 통신용 ECU(300)는, 메인 코어를 러닝 모드로 유지하여 작업을 수행한다. 통신용 ECU(300)는, 하나 이상의 코어를 러닝 모드로 유지하고, 슬레이브 ECU는 해당 작업을 중복 실행하도록 실행 모드에 있다. 통신용 ECU(300)는, 두가지 중복 작업의 결과에 따라 동작을 결정할 수 있다.
한편, 도 10을 참조하여 설명된 메인 코어는, 외부 디바이스와의 통신을 수행하기 위한 코어로 설명될 수 있다. 예를 들면, 메인 코어는, 상술한 프라이머리 V2X 모듈(Primary V2X Module)(440), 논 V2X 커넥티비티 모듈(Non-V2X Connectivity Module)(450), 세컨더리 V2X 모듈(Secondary V2X Module)(520), 라디오 인터페이스(Radio Interface)(550) 중 적어도 어느 하나일 수 있다.
한편, 파워 컨섬션 리덕션 매니저(power consumption reduction manager)(430)는, 각각의 모드에서 소비되는 전력을 모니터링하고, 데이터를 수집할 수 있다. 파워 컨섬션 리덕션 매니저(430)는, 전력 소비를 줄이기 위해, 논 디스트리뷰티드 모드(710), 풀리 디스트리뷰티드 모드(720), 세미 디스트리뷰티드 모드(730), 리던던트 모드(740) 중 하나를 최적으로 선택한다. 예를 들면, 논 디스트리뷰티드 모드(710)에서 모든 슬레이브 ECU가 꺼지고 모든 슬레이브 ECU 기능이 통신용 ECU(300)의 해당 코어에서 실행된다. 이를 통해, CAN 컨트롤러의 부하를 줄임으로써 전체적인 전력 소비를 줄일 수 있다.
도 11을 참조하면, AD(Automated Driving) 시스템 아키넥처에서, AD 리던던시(redundancy)는 아래 4개의 타입으로 구분될 수 있다.
제1 타입(810)은, 차량 버스에 연결되어 독립적으로 AD 작업을 실행하는 복수의 AD ECU를 통해 리던던시를 지원하는 시스템이다. 이경우, 복수의 AD ECU에서 생성된 복수의 로직 중 어느 하나를 이용하여 AD 동작이 수행될 수 있다. 통신용 ECU는 AD 동작을 수행하지 않는다.
제2 타입(820)은, 단일 AC ECU에, 각각이 AD 작업을 실행하는 복수의 코어를 포함하는 시스템이다. 이경우, 복수의 코어에서 생성된 복수의 로직 중 어느 하나를 이용하여 AD 동작이 수행될 수 있다. 통신용 ECU는 AD 동작을 수행하지 않는다.
제3 타입(830)은, 차량 버스에 연결된 적어도 하나의 독립적인 AD ECU 및 통신용 ECU에 포함된 복수의 코어 중 적어도 어느 하나에서 AD 작업을 실행하는 시스템이다.
제4 타입(840)은, 단일 AD ECU 포함된 적어도 하나의 코어와 통신용 ECU(300)에 포함된 복수의 코어 중 적어도 어느 하나에서 AD 작업을 실행하는 시스템이다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 프로세서 또는 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
[부호의 설명]
10 : 차량
300 : 통신용 ECU

Claims (14)

  1. 차량에 구비되어, 외부 디바이스와 신호를 교환하는데 이용되는 통신용 ECU(Electronic Control Unit)에 있어서,
    차량 내부의 복수의 슬레이브 ECU(Slave ECU)와 신호를 교환하는 버스 인터페이스(Bus Interface);
    상기 복수의 슬레이브 ECU 중 적어도 하나의 슬레이브 ECU에 대한 소프트웨어 클로닝(software cloning)을 수행하는 프라이머리 프로세서(primary processor); 및
    상기 프라이머리 프로세서의 과부하 여부에 따라 동작 여부를 결정하는 세컨더리 프로세서(secondary processor);를 포함하는 통신용 ECU.
  2. 제 1항에 있어서,
    상기 프라이머리 프로세서는,
    상기 복수의 슬레이브 ECU 중 폴트(fault)가 검출되는 슬레이브 ECU에 대한 소프트웨어 클로닝을 수행하는 통신용 ECU.
  3. 제 1항에 있어서,
    상기 프라이머리 프로세서는,
    상기 복수의 슬레이브 ECU 각각에서 수행하는 기능을 수행하도록 설정된 복수의 코어를 포함하는 통신용 ECU.
  4. 제 3항에 있어서,
    상기 프라이머리 프로세서는,
    제1 슬레이브 ECU에서 수행하는 기능을 수행하도록 설정된 제1 코어; 및
    제2 슬레이브 ECU에서 수행하는 기능을 수행하도록 설정된 제2 코어;를 포함하는 통신용 ECU.
  5. 제 4항에 있어서,
    상기 프라이머리 프로세서는,
    상기 제1 슬레이브 ECU의 폴트가 검출되는 경우, 상기 제1 코어를 활성화시키는 통신용 ECU.
  6. 제 5항에 있어서,
    상기 프라이머리 프로세서는,
    상기 제1 슬레이브 ECU의 폴트가 검출되는 경우, 상기 제1 슬레이브 ECU를 슬립 모드 상태로 전환하는 통신용 ECU.
  7. 제 3항에 있어서,
    상기 복수의 코어는,
    코어의 비활성 상태로 정의되는 슬립 모드(sleep mode), 매칭되는 슬레이브 ECU의 상태를 모니터링 하는 모니터링 모드(monitoring mode), 특정된 알고리즘만 수행하는 세미 러닝 모드(semi-running mode) 및 매칭되는 슬레이브 ECU와 동일한 기능을 수행하는 러닝 모드(running mode) 중 어느 하나의 모드로 설정되는 통신용 ECU.
  8. 제 1항에 있어서,
    상기 세컨더리 프로세서는,
    상기 프라이머리 프로세서의 로드를 모니터링하고, 상기 프라이머리 프로세서에 과부하가 걸리는 경우, 외부 디바이스와 신호를 교환하는 통신 관련 기능을 상기 프라이머리 프로세서를 대신하여 수행하도록 관리하는 V2X 리던던시 매니저(Vehicle to Everything Redundancy Manager);를 포함하는 통신용 ECU.
  9. 제 8항에 있어서,
    상기 V2X 리던던시 매니저는,
    상기 프라이머리 프로세서의 과부하가 해소되는 경우, 상기 통신 관련 기능을 상기 프라이머리 프로세서가 수행하도록 관리하는 통신용 ECU.
  10. 제 9항에 있어서,
    상기 프라이머리 프로세서는,
    상기 프라이머리 프로세서에 과부하가 걸리지 않는 경우, 상기 통신 관련 기능을 수행하는 프라이머리 V2X 모듈(Primary V2X Module);을 포함하고,
    상기 세컨더리 프로세서는,
    상기 프라이머리 프로세서에 과부하가 걸리는 경우, 상기 프라이머리 V2X 모듈의 동작을 대신하여 수행하는 세컨더리 V2X 모듈(Secondary V2X Module);을 포함하는 통신용 ECU.
  11. 제 10항에 있어서,
    상기 세컨더리 프로세서는,
    상기 프라이머리 V2X 모듈 및 상기 세컨더리 V2X 모듈간의 V2X 데이터 흐름을 제어하는 V2X 데이터 스위치;를 더 포함하는 통신용 ECU.
  12. 제 7항에 있어서,
    상기 프라이머리 프로세서는,
    상기 복수의 슬레이브 ECU를 슬립 모드로 전환하고, 상기 복수의 슬레이브 ECU의 기능을 모두 수행하는 논 디스트리뷰티드 모드(Non-Distributed Mode),
    상기 복수의 코어 중 제1 코어에서 특정된 기능만을 실행하고, 나머지 코어는 상기 슬립 모드, 상기 모니터링 모드 및 상기 세미 러닝 모드 중 어느 하나로 유지시키는 풀리 디스트리뷰티드 모드(Fully-Distributed Mode),
    상기 복수의 슬레이브 ECU 중 적어도 어느 하나를 슬립 모드로 전환하고, 슬립 모드로 전환된 슬레이브 ECU의 기능을 수행하는 세미 디스트리뷰티드 모드(Semi-Distributed Mode) 및
    상기 복수의 슬레이브 ECU가 동작되는 상태에서, 상기 복수의 코어 중 적어도 어느 하나가 러닝 모드로 유지시키는 리던던트 모드(Redundant Mode) 중 적어도 어느 하나의 모드로 동작되는 통신용 ECU.
  13. 제 1항에 있어서,
    상기 버스 인터페이스는,
    상기 복수의 슬레이브 ECU 각각에 입력되는 복수의 센서 신호를 수신하는 통신용 ECU.
  14. 제 1항에 있어서,
    상기 프라이머리 프로세서는,
    상기 복수의 슬레이브 ECU의 전력 소비 상태를 모니터링 하는 파워 컨섬션 리덕션 메니저(power consumption reduction manager);를 포함하는 통신용 ECU.
PCT/KR2019/007618 2018-06-25 2019-06-25 통신용 ecu WO2020004886A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/254,456 US11815983B2 (en) 2018-06-25 2019-06-25 Communication ECU
EP19827122.3A EP3813307A4 (en) 2018-06-25 2019-06-25 ELECTRONIC CONTROL UNIT FOR COMMUNICATION

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862689247P 2018-06-25 2018-06-25
US62/689,247 2018-06-25

Publications (1)

Publication Number Publication Date
WO2020004886A1 true WO2020004886A1 (ko) 2020-01-02

Family

ID=68987383

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/007618 WO2020004886A1 (ko) 2018-06-25 2019-06-25 통신용 ecu

Country Status (3)

Country Link
US (1) US11815983B2 (ko)
EP (1) EP3813307A4 (ko)
WO (1) WO2020004886A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3881154A4 (en) * 2018-11-13 2022-12-28 Optimus Ride, Inc. REDUNDANCY SYSTEM AND METHOD

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090195058A1 (en) * 2008-02-06 2009-08-06 Jonathan Leslie Christopher Jackson brake system and method
US20130204493A1 (en) * 2011-11-16 2013-08-08 Flextronics Ap, Llc Duplicated processing in vehicles
KR101533081B1 (ko) * 2014-09-26 2015-07-03 성균관대학교산학협력단 저전력과 신뢰성을 동시에 확보하기 위한 이중화 대응 장치, 이중화 시스템 및 이중화 구성 설정 방법
JP2015194971A (ja) * 2014-03-31 2015-11-05 日本信号株式会社 冗長系制御装置
US20180046161A1 (en) * 2015-03-30 2018-02-15 Volvo Truck Corporation Method and arrangement for providing redundancy in a vehicle electrical control system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003303246A1 (en) * 2002-12-19 2004-07-14 International Business Machines Corporation Tcet expander
JP4492618B2 (ja) * 2007-01-18 2010-06-30 トヨタ自動車株式会社 車両用制御システム
US8930036B2 (en) 2011-04-13 2015-01-06 GM Global Technology Operations LLC Reconfigurable interface-based electrical architecture
JP6352325B2 (ja) * 2016-03-15 2018-07-04 本田技研工業株式会社 通信システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090195058A1 (en) * 2008-02-06 2009-08-06 Jonathan Leslie Christopher Jackson brake system and method
US20130204493A1 (en) * 2011-11-16 2013-08-08 Flextronics Ap, Llc Duplicated processing in vehicles
JP2015194971A (ja) * 2014-03-31 2015-11-05 日本信号株式会社 冗長系制御装置
KR101533081B1 (ko) * 2014-09-26 2015-07-03 성균관대학교산학협력단 저전력과 신뢰성을 동시에 확보하기 위한 이중화 대응 장치, 이중화 시스템 및 이중화 구성 설정 방법
US20180046161A1 (en) * 2015-03-30 2018-02-15 Volvo Truck Corporation Method and arrangement for providing redundancy in a vehicle electrical control system

Also Published As

Publication number Publication date
EP3813307A4 (en) 2022-03-23
US20210224169A1 (en) 2021-07-22
US11815983B2 (en) 2023-11-14
EP3813307A1 (en) 2021-04-28

Similar Documents

Publication Publication Date Title
WO2020241955A1 (ko) 차량용 전자 장치 및 차량용 전자 장치의 동작 방법
WO2021002519A1 (ko) 차량용 광고 제공 장치 및 차량용 광고 제공 방법
WO2020145441A1 (ko) 차량용 전자 장치 및 차량용 전자 장치의 동작 방법
WO2020241952A1 (ko) 자율 주행 차량 시스템 및 차량의 자율 주행 방법
WO2021002517A1 (ko) 공유형 차량 관리 장치 및 공유형 차량의 관리 방법
US11921503B2 (en) Automatic parking system
WO2021002515A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2020096083A1 (ko) 차량용 전자 장치, 차량용 전자 장치의 동작 방법 및 시스템
WO2020241971A1 (ko) 교통 사고 처리 장치 및 교통 사고 처리 방법
WO2020091119A1 (ko) 차량용 전자 장치, 차량용 전자 장치의 동작 방법 및 시스템
KR20210017897A (ko) 차량용 전자 장치 및 그의 동작 방법
WO2020004886A1 (ko) 통신용 ecu
WO2022144959A1 (ja) 車両制御装置、車両システム、車両制御方法、およびプログラム
WO2021002516A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2020145440A1 (ko) 차량용 전자 장치 및 차량용 전자 장치의 동작 방법
WO2021054492A1 (ko) 차량용 인포테인먼트 장치 및 그의 동작 방법
EP3470949B1 (en) Movement assistance system and movement assistance method
WO2020091113A1 (ko) 차량용 전자 장치, 차량용 전자 장치의 동작 방법 및 시스템
WO2020096081A1 (ko) 차량용 전자 장치, 차량용 전자 장치의 동작 방법 및 시스템
WO2021137604A1 (ko) 차량 군집주행 횡방향 제어 작동 모드 결정 방법
WO2021002518A1 (ko) 위치 데이터 생성 장치, 자율 주행 차량 및 위치 데이터 생성 방법
JP7198391B2 (ja) 車両制御装置、車両制御システム、車両制御方法、およびプログラム
WO2021010515A1 (ko) 차량용 방화벽 제공 장치
WO2021002504A1 (ko) 차량용 전자 장치 및 차량용 전자 장치의 동작 방법
WO2020101044A1 (ko) 차량용 전자 장치, 차량용 전자 장치의 동작 방법 및 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19827122

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019827122

Country of ref document: EP

Effective date: 20210125