CN106796538A - 网关装置、车载网络系统以及固件更新方法 - Google Patents
网关装置、车载网络系统以及固件更新方法 Download PDFInfo
- Publication number
- CN106796538A CN106796538A CN201680001976.8A CN201680001976A CN106796538A CN 106796538 A CN106796538 A CN 106796538A CN 201680001976 A CN201680001976 A CN 201680001976A CN 106796538 A CN106796538 A CN 106796538A
- Authority
- CN
- China
- Prior art keywords
- firmware
- ecu
- control unit
- renewal
- electronic control
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 131
- 230000008569 process Effects 0.000 claims abstract description 78
- 238000012795 verification Methods 0.000 claims description 86
- 238000004321 preservation Methods 0.000 claims description 8
- 238000009790 rate-determining step (RDS) Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 157
- 238000012545 processing Methods 0.000 description 82
- 230000015654 memory Effects 0.000 description 32
- 238000004891 communication Methods 0.000 description 28
- 238000012546 transfer Methods 0.000 description 25
- 230000006855 networking Effects 0.000 description 19
- 238000004519 manufacturing process Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 102000009142 CRC domains Human genes 0.000 description 1
- 108050000006 CRC domains Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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
-
- 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/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/83—Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures
-
- 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
- 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]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mechanical Engineering (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Small-Scale Networks (AREA)
Abstract
本公开涉及网关装置、车载网络系统以及固件更新方法。连接于供车辆所搭载的多个ECU(100a~100d)进行通信所使用的总线的网关(300)具备:接收部,其从作为车辆外的外部装置的服务器(500)接收固件更新信息,所述固件更新信息包括以多个ECU(100a~100d)中的一个ECU为适用对象的更新用固件;以及控制部,其基于作为更新用固件的适用对象的ECU的信息,判定该ECU是否满足预定条件,并进行控制以使得:在满足预定条件的情况下,使该ECU执行与固件的更新关联的预定处理,在不满足预定条件的情况下,在该ECU以外执行预定处理。
Description
技术领域
本公开涉及对在车载网络中通信的电子控制单元的固件进行更新(升级)的技术。
背景技术
近年来,在汽车中的系统内,配置有许多被称为电子控制单元(ECU:ElectronicControl Unit)的装置。连接这些ECU的网络被称为车载网络。车载网络存在多种标准。作为其中最主流的车载网络之一,存在由ISO11898-1规定的CAN(Controller Area Network:控制器局域网络)这一标准。
在CAN中,通信路径由两条总线构成,与总线连接的ECU被称为节点。与总线连接的各节点收发被称为帧的消息。发送帧的发送节点通过在两条总线上施加电压,并在总线间产生电位差,从而发送被称为隐性(recessive)的“1”的值和被称为显性(dominant)的“0”的值。多个发送节点在完全相同的定时发送了隐性和显性的情况下,优先发送显性。接收节点在接收到的帧的格式(format)存在异常的情况下,发送被称为错误帧(error frame)的帧。错误帧是通过连续地发送6比特(bit)的显性来向发送节点和/或其他接收节点通知帧的异常的帧。
另外,在CAN中不存在指示发送目的地和/或发送源的标识符,发送节点对每一帧附加被称为消息ID的ID而进行发送(也就是向总线送出信号),各接收节点仅接收预先确定的ID的帧(也就是从总线读取信号)。另外,采用CSMA/CA(Carrier Sense MultipleAccess/Collision Avoidance:载波侦听多路访问/冲突避免)方式,在多个节点同时发送时基于消息ID进行仲裁(调停),优先发送消息ID的值小的帧。
在许多ECU通过经由总线的消息授受而联合起来工作的情况下,当某个ECU开始更新固件(FW:Firmware)时,在其更新期间可能会因无法进行消息的授受等而影响汽车的行驶。关于这点,已知一种仅在根据表示汽车的状态的信息判断为如停车期间等这样的可以更新ECU的固件的情况下对固件进行更新的技术(参照专利文献1)。
现有技术文献
专利文献1:日本特开2010-273181号公报
发明内容
发明所要解决的问题
然而,上述现有的技术需要进一步的改善。
用于解决问题的技术方案
为了解决上述问题,本公开的一个技术方案涉及的网关装置连接于供车辆所搭载的多个电子控制单元进行通信所使用的总线,所述网关装置具备:接收部,其从所述车辆外的外部装置接收固件更新信息,所述固件更新信息包括以所述多个电子控制单元中的一个电子控制单元为适用对象的更新用固件;以及控制部,其基于作为所述更新用固件的适用对象的电子控制单元的预定信息,判定该电子控制单元是否满足预定条件,并进行控制以使得,在满足预定条件的情况下,使该电子控制单元执行与固件的更新关联的预定处理,在不满足预定条件的情况下,在该电子控制单元以外执行所述预定处理。
此外,这些总括性的或者具体的技术方案既可以通过装置、系统、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质来实现,也可以通过装置、系统、方法、计算机程序以及记录介质的任意组合来实现。
发明效果
根据上述技术方案,能够实现进一步的改善。
此外,本公开的进一步的效果以及优点可由本说明书以及附图的公开内容明确。上述进一步的效果以及优点也可以由本说明书以及附图所公开的各种实施方式以及特征来个别地提供,未必需要提供所有的效果以及优点。
附图说明
图1是表示实施方式1涉及的车载网络系统的整体结构的图。
图2是表示由CAN协议规定的数据帧的格式的图。
图3是实施方式1涉及的网关的结构图。
图4是表示接收ID列表的一例的图。
图5是表示网关所使用的转送规则的一例的图。
图6是表示实施方式1涉及的预定信息(ECU信息)的列表的一例的图。
图7是实施方式1涉及的具有签名验证功能以及固件(FW)缓存功能的ECU的结构图。
图8是实施方式1涉及的具有签名验证功能的ECU的结构图。
图9是实施方式1涉及的具有FW缓存功能的ECU的结构图。
图10是实施方式1涉及的不具有签名验证功能以及FW缓存功能的ECU的结构图。
图11是实施方式1涉及的服务器的结构图。
图12是表示服务器所保持的车辆ECU管理信息的一例的图。
图13是表示实施方式1涉及的固件(FW)更新信息的格式的一例的图。
图14是表示实施方式1中的FW更新信息的发布涉及的工作例的时序图。
图15是表示实施方式1涉及的由网关进行的FW更新控制处理的一例的流程图。
图16是表示实施方式1涉及的由具有签名验证功能以及FW缓存功能的ECU进行的FW更新控制处理的一例的流程图。
图17是表示实施方式1涉及的由具有签名验证功能的ECU进行的FW更新控制处理的一例的流程图。
图18是表示实施方式1涉及的由具有FW缓存功能的ECU进行的FW更新控制处理的一例的流程图。
图19是表示实施方式1涉及的由不具有签名验证功能以及FW缓存功能的ECU进行的FW更新控制处理的一例的流程图。
图20是表示实施方式1中的FW更新GW(网关)代办处理涉及的工作例的时序图。
图21是表示实施方式2涉及的车载网络系统的整体结构的图。
图22是表示实施方式2涉及的由网关进行的FW更新控制处理的一例的流程图。
图23是表示实施方式2涉及的由网关进行的签名验证ECU代办处理的一例的流程图。
图24是表示实施方式2中的对于FW更新的ECU代办处理涉及的工作例的时序图。
图25是表示作为ECU的结构例的由计算机所实现的虚拟环境的软件结构的一例的图。
具体实施方式
(成为本公开的基础的见解)
专利文献1的技术虽然在适当(例如安全)的定时执行固件的更新,但是在ECU不具有进行更新固件所需的一定处理的功能的情况下并没有用。
根据上述研究,本发明人为了解决上述问题,研究了下述改善方案。
本公开的一个技术方案涉及的网关装置连接于供车辆所搭载的多个电子控制单元进行通信所使用的总线,所述网关装置具备:接收部,其从所述车辆外的外部装置接收固件更新信息,所述固件更新信息包括以所述多个电子控制单元中的一个电子控制单元为适用对象的更新用固件;以及控制部,其基于作为所述更新用固件的适用对象的电子控制单元的预定信息,判定该电子控制单元是否满足预定条件,并进行控制以使得,在满足预定条件的情况下,使该电子控制单元执行与固件的更新关联的预定处理,在不满足预定条件的情况下,在该电子控制单元以外执行所述预定处理。
由此,网关装置在与总线连接的电子控制单元(ECU)中的固件的更新对象的ECU不具有用于执行与更新关联的预定处理(例如签名验证处理等)的功能的情况下、处于无法执行预定处理的状况等情况下,能够进行控制以使得其他ECU或者该网关装置代替该ECU执行(也就是说代办)预定处理。因此,例如即使在不具有为了确保安全地进行固件的更新所需的功能的ECU等中,也能够适当地实施固件的更新。
另外,也可以为,所述控制部基于表示作为所述更新用固件的适用对象的电子控制单元的处理能力的所述预定信息,进行所述判定。由此,即使在更新用固件的适用对象(更新对象)的ECU在处理能力方面无法进行预定处理的情况下,也能够适当地实施固件的更新。
另外,也可以为,表示所述处理能力的所述预定信息示出是否具有所述预定处理的执行功能,所述控制部以如下方式进行所述判定:作为所述更新用固件的适用对象的电子控制单元在具有所述预定处理的执行功能的情况下,满足所述预定条件,在不具有所述预定处理的执行功能的情况下,不满足所述预定条件。由此,即使在更新用固件的适用对象的ECU不具有执行在适当进行更新方面有用的预定处理的功能的情况下,也因为该预定处理得到代办,所以能够适当地实施固件的更新。
另外,也可以为,所述预定处理是在所述固件更新信息中附于所述更新用固件的签名的验证处理。由此,即使在不具有进行对更新用固件所附带的签名的验证处理的签名验证功能的ECU中,通过签名验证得到代办,由此也能够确保安全且适当地实施固件的更新。
另外,也可以为,所述预定处理是作为所述更新用固件的适用对象的电子控制单元中的更新前的固件的保存处理。由此,即使在当更新固件时因不具有足够的存储器等而无法对更新前的固件进行保存的ECU中,通过更新前的固件的保存处理得到代办,也变得能够在固件的更新失败时,恢复为更新前的固件。
另外,也可以为,所述控制部选定所述多个电子控制单元中的并非所述更新用固件的适用对象的一个电子控制单元,使所选定出的该电子控制单元执行所述预定处理。由此,能够有效利用可执行预定处理的ECU,在不执行预定处理的ECU中适当地实施固件的更新。
另外,也可以为,所述控制部进行控制以使得在所述网关装置中执行所述预定处理。由此,通过由网关装置进行的预定处理的代办,能够在不执行预定处理的ECU中适当地实施固件的更新。
另外,也可以为,所述预定处理是在所述固件更新信息中附于所述更新用固件的签名的验证处理,所述控制部选定所述多个电子控制单元中的、并非所述更新用固件的适用对象且具有所述签名的验证用密钥的一个电子控制单元,使所选定出的该电子控制单元执行所述预定处理。由此,能够有效利用具有签名的验证用密钥的ECU,在不具有验证用密钥的ECU中适当地实施固件的更新。
另外,也可以为,所述多个电子控制单元遵循CAN协议即控制器局域网络协议经由所述总线进行通信。由此,能够适当地实施遵循CAN的车载网络中的ECU的固件的更新。
另外,本公开的一个技术方案涉及的车载网络系统具备经由一条以上的总线进行通信的多个电子控制单元以及连接于所述总线的网关装置,所述网关装置具有:接收部,其从搭载有该网关装置的车辆外的外部装置接收固件更新信息,所述固件更新信息包括以所述多个电子控制单元中的一个电子控制单元为适用对象的更新用固件;以及控制部,其基于作为所述更新用固件的适用对象的电子控制单元的预定信息,判定该电子控制单元是否满足预定条件,并进行控制以使得,在满足预定条件的情况下,使该电子控制单元执行与固件的更新关联的预定处理,在不满足预定条件的情况下,在该电子控制单元以外执行所述预定处理。由此,例如即使在不具有为了确保安全地进行固件的更新所需的功能的ECU等中,也能够适当地实施固件的更新。
另外,本公开的一个技术方案涉及的固件更新方法是在具备经由一条以上的总线进行通信的多个电子控制单元的车载网络系统中使用的固件更新方法,所述固件更新方法包括:接收步骤,从搭载有所述多个电子控制单元的车辆外的外部装置接收固件更新信息,所述固件更新信息包括以所述多个电子控制单元中的一个电子控制单元为适用对象的更新用固件;控制步骤,基于作为所述更新用固件的适用对象的电子控制单元的预定信息,判定该电子控制单元是否满足预定条件,并进行控制以使得,在满足预定条件的情况下,使该电子控制单元执行与固件的更新关联的预定处理,在不满足预定条件的情况下,在该电子控制单元以外执行所述预定处理。由此,能够适当地实施固件的更新。
此外,这些总括性的或者具体的技术方案既可以通过系统、方法、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质来实现,也可以通过系统、方法、集成电路、计算机程序或者记录介质的任意组合来实现。
以下,参照附图,对包括实施方式涉及的网关装置的车载网络系统进行说明。在此所示的实施方式均表示本公开的一具体例。因此,在以下的实施方式中示出的数值、构成要素、构成要素的配置及连接方式、步骤(工序)及步骤的顺序等仅为一例而并非限定本公开。关于以下的实施方式中的构成要素中的未记载在独立权利要求中的构成要素,是能够任意附加的构成要素。另外,各附图仅为示意图,不一定是严格图示。
(实施方式1)
以下,作为本公开的实施方式,使用附图,说明在包括网关装置在内的多个电子控制单元(ECU)经由总线进行通信的车载网络系统10中所使用的固件更新方法。固件更新方法是用于通过由位于车辆外部的服务器所发布的新的更新用固件来对实装于车辆所搭载的各ECU的固件(FW:Firmware)进行更新(也就是说替换为更新用固件)的方法。在车载网络系统10中,在ECU进行固件的更新方面,使用如下的固件更新方法:网关装置代替无法执行为了安全且适当地更新固件所需的处理(例如签名验证处理等)的ECU而代办该处理。由此,即使在不具有执行为了更新固件所需的处理的功能等的ECU、或者处于无法执行该功能的状态的ECU中,也能够适当地进行固件的更新。
[1.1 车载网络系统10的整体结构]
图1是表示实施方式1涉及的车载网络系统10的整体结构的图。
车载网络系统10是遵循CAN协议进行通信的网络通信系统的一例,是搭载有控制装置、传感器、执行器、用户接口装置等各种设备的车辆中的网络通信系统。车载网络系统10具备经由总线进行涉及帧的通信的多个装置,并使用固件更新方法。具体而言,如图1所示,车载网络系统10构成为包括:与搭载于车辆的各种设备连接的ECU100a~100d、总线200a、200b、网关300;车辆外的网络400以及服务器500。此外,车载网络系统10中除了网关300、ECU100a~100d以外还可以包含若干个ECU,但在此,为方便起见着眼于网关300以及ECU100a~100d来进行说明。ECU例如是包括处理器(微处理器)、存储器等数字电路、模拟电路、通信电路等的装置。存储器是ROM、RAM等,能够存储由处理器执行的控制程序(作为软件的计算机程序)。固件是该控制程序的全部或者一部分,例如存储于EEPROM(ElectricallyErasable Programmable Read Only Memory,电可擦可编程只读存储器)等非易失性存储器(称为启动ROM)。例如通过处理器按照控制程序(计算机程序)进行工作,由此ECU实现各种功能。此外,计算机程序是为了实现预定的功能而组合多个表示对处理器的指令的命令代码而构成的。此外,固件也可以包括用于在处理器内进行命令解释(解析)的微代码的全部或者一部分。
ECU100a~100d分别连接于发动机101、制动器102、车门开闭传感器103、车窗(window)开闭传感器104这样的设备,取得该设备的状态,周期性地将表示状态的帧(数据帧)发送给由总线200a、总线200b等构成的车载网络。
网关300是作为连接总线200a以及总线200b的网关装置的一种ECU,总线200a连接有ECU100a和ECU100b,总线200b连接有ECU100c和ECU100d。网关300具有将从一方总线接收到的帧转送给另一方总线的功能,另外,具有经由网络400与服务器500进行通信的功能。
作为位于车辆外部的外部装置的服务器500是具有如下功能的计算机:经由网络400,发布作为用于更新ECU100a~100d的固件的数据的FW更新信息。网络400中的通信可以应用无线通信或者有线通信的任意的通信协议。
车载网络系统10中的各ECU遵循CAN协议进行帧的授受。CAN协议中的帧有数据帧、远程帧、超载帧以及错误帧。
[1.2 数据帧格式]
以下,对作为在遵循CAN协议的网络中使用的帧之一的数据帧进行说明。
图2是表示由CAN协议规定的数据帧的格式的图。在该图中,表示了由CAN协议规定的标准ID格式的数据帧。数据帧由SOF(Start Of Frame:帧起始)、ID域、RTR(RemoteTransmission Request:远程传输请求)、IDE(Identifier Extension:标识符扩展)、预留位“r”、DLC(Data Length Code:数据长度码)、数据域、CRC(Cyclic Redundancy Check:循环冗余校验)序列、CRC定界符“DEL”、ACK(Acknowledgement:应答)间隙、ACK定界符“DEL”以及EOF(End Of Frame:帧结束)的各个域构成。
SOF由1比特的显性构成。总线空闲的状态成为隐性,通过由SOF变更为显性来通知帧的发送开始。
ID域是由11比特构成的、保存表示数据的种类的值即ID(消息ID)的域。在多个节点同时开始发送的情况下,为了通过该ID域进行通信仲裁,设计成使ID小的值的帧具有高优先级。
RTR是用于标识(识别)数据帧和远程帧的值,在数据帧中由1比特的显性构成。
IDE和“r”双方都由1比特的显性构成。
DLC由4比特构成,是表示数据域的长度的值。此外,将IDE、“r”以及DLC统称为控制域。
数据域是最大由64比特构成的表示要发送的数据的内容的值。能够按每8比特来调整长度。关于所发送的数据的规格,并不在CAN协议中规定,而是在车载网络系统10中设定。因此,成为取决于车型、制造者(制造商)等的规格。
CRC序列由15比特构成。可根据SOF、ID域、控制域以及数据域的发送值来算出。
CRC定界符是由1比特的隐性构成的、表示CRC序列的结束的分隔符号。此外,将CRC序列和CRC定界符统称为CRC域。
ACK间隙由1比特构成。发送节点将ACK间隙设为隐性并进行发送。如果到CRC序列为止都正常地完成了接收,则接收节点将ACK间隙设为显性并发送。由于显性比隐性优先,因此,只要在发送后ACK间隙为显性,发送节点就能够确认某一接收节点成功地进行了接收。
ACK定界符是由1比特的隐性构成的、表示ACK的结束的分隔符号。
EOF由7比特的隐性构成,表示数据帧的结束。
[1.3 网关300的结构]
图3是网关300的结构图。网关300执行在总线间的帧转送、与外部的服务器500的通信(对用于更新ECU100a~100d等的固件的FW更新信息的接收等)等功能。因此,如图3所示,网关300构成为包括帧收发部310、帧解释部320、接收ID判断部330、接收ID列表保持部340、帧处理部350、转送规则保持部360、FW更新处理部370、固件(FW)缓存保持部371、ECU信息保持部372、签名验证部373、密钥保持部374、外部通信部375以及帧生成部380。这些各构成要素通过网关300中的通信电路、执行储存于存储器的控制程序的处理器、存储器或者数字电路等来实现。
帧收发部310分别向总线200a以及总线200b发送、从总线200a以及总线200b接收遵循CAN协议的帧。从总线200a或者总线200b接收帧,并转送给帧解释部320。另外,帧收发部310基于从帧生成部380收到了通知的表示转送目的地的总线的总线信息以及帧,将该帧的内容发送给总线200a或者总线200b。
帧解释部320从帧收发部310接收帧的值,并进行解释以使得映射到由CAN协议规定的帧格式的各域。帧解释部320将判断为是ID域的值向接收ID判断部330进行转送。帧解释部320根据从接收ID判断部330通知的判定结果,决定是将ID域的值、和出现在ID域之后的数据域(数据)转送给帧处理部350,还是中止帧的接收。另外,帧解释部320在判断为是未遵循CAN协议的帧的情况下,以发送错误帧的方式通知给帧生成部380。另外,帧解释部320在接收到错误帧的情况下,对于接收期间的帧,自此之后将该帧废弃,也就是中止帧的解释。
接收ID判断部330从帧解释部320接收被通知的ID域的值,按照接收ID列表保持部340所保持的消息ID的列表,进行是否接收该ID域之后的帧的各域的判定。接收ID判断部330将该判定结果通知给帧解释部320。
接收ID列表保持部340保持网关300所要接收的ID(消息ID)的列表、即接收ID列表。图4是表示接收ID列表的一例的图。
帧处理部350按照转送规则保持部360所保持的转送规则,根据接收到的帧的ID,决定进行转送的总线,将进行转送的总线的总线信息、从帧解释部320通知的消息ID、以及数据通知给帧生成部380。另外,帧处理部350将从帧解释部320通知的固件更新涉及的更新结果的数据通知给FW更新处理部370。此外,帧处理部350不将固件更新涉及的更新结果的数据作为转送的对象。
转送规则保持部360保持表示每条总线的关于帧的转送的规则的信息、即转送规则。图5是表示转送规则的一例的图。
FW更新处理部370将从外部通信部375通知的包含更新用固件等FW数据的FW更新信息的签名验证,委托给签名验证部373,并接收签名验证的结果(是否成功)。FW更新处理部370基于ECU信息保持部372所保持的ECU信息的列表,辨别(区分)与车载网络(总线200a、200b)连接的各ECU中的、成为固件的更新对象的ECU是否具有执行为了更新固件所需的处理的功能。在成为固件的更新对象的ECU不具有执行为了更新固件所需的处理的功能的情况下,FW更新处理部370进行控制以使得在网关300中进行该功能的代办。执行为了更新固件所需的处理的功能之一是验证FW更新信息中各个ECU用的固件(FW)涉及的FW数据所附带的签名的功能(签名验证功能)。另一个执行为了更新固件所需的处理的功能是在ECU更新固件时,预先将更新前的固件储存(保存)于存储器等存储介质并在更新失败的情况下将该预先所保存的固件进行复原的功能(FW缓存功能)。即,FW缓存功能包括进行对更新前的固件的保存处理的功能。FW更新处理部370,在代办FW缓存功能的情况下,进行控制以使得从固件的更新对象的ECU接收更新前的固件并将其储存(保存)于FW缓存保持部371,根据需要从FW缓存保持部371取出预先所保存的固件并进行发送以使固件的更新对象的ECU能够接收。FW更新处理部370,在代办签名验证功能的情况下,将与固件的更新对象的ECU对应的FW数据所附带的签名的验证委托给签名验证部373。另外,FW更新处理部370将更新用固件涉及的FW数据以及成为更新对象的ECU所连接的总线的总线信息通知给帧生成部380。另外,FW更新处理部370将从帧处理部350通知的、由ECU进行的通知(更新结果等)通知给外部通信部375。另外,FW更新处理部370将更新固件时与ECU100a~100d的通信所需的数据通知给帧生成部380。此外,FW更新处理部370作为控制部发挥功能,所述控制部基于更新用固件的适用对象(更新对象)的ECU的信息,判定该ECU是否满足预定条件(如具有签名验证功能、具有FW缓存功能等这样的条件),并进行控制以使得,在满足预定条件的情况下,使该ECU执行与固件的更新关联的预定处理(签名验证的处理、FW缓存功能涉及的处理等),在不满足预定条件的情况下,在该ECU以外(在此为网关300)执行该预定处理。
FW缓存保持部371例如通过网关300中的非易失性存储器等的存储区域来实现,用于在更新固件时对从作为更新对象的ECU的、不具有FW缓存功能的ECU100b、100d接收到的已有的固件进行储存(保存)等。
ECU信息保持部372保持与所有连接于总线200a、总线200b的ECU(ECU100a~100d)的各ECU有关的预定信息、即ECU信息的列表。将该ECU信息的列表的一例表示在图6中。
签名验证部373从FW更新处理部370接收FW更新信息涉及的成为签名验证对象的数据,使用从密钥保持部374取得的签名验证用的密钥来进行签名验证,将该验证结果通知给FW更新处理部370。
密钥保持部374保持关于从服务器500接收的FW更新信息的数据的、签名验证用的密钥。
外部通信部375具有作为从服务器500接收包含更新用固件涉及的FW数据的FW更新信息的接收部的功能,将接收到的FW更新信息通知给FW更新处理部370。另外,外部通信部375将从FW更新处理部370通知的更新结果发送给服务器500。外部通信部375例如预先保持有为了经由网络400访问服务器500而所需的服务器500的地址信息等。此外,在网关300中,可以将从服务器500接收到的FW数据等根据需要转换格式以使其包含于遵循CAN协议的帧,并发送给ECU100a~100d。
帧生成部380按照从帧解释部320通知的错误帧发送的请求,将错误帧通知给帧收发部310并使其发送该错误帧。另外,帧生成部380使用从帧处理部350通知的消息ID以及数据来构成帧,并将该帧与总线信息一起通知给帧收发部310。另外,帧生成部380使用从FW更新处理部370通知的更新用固件涉及的FW数据来构成帧,并将该帧与总线信息一起通知给帧收发部310。
[1.4 接收ID列表例]
图4是表示网关300的接收ID列表保持部340所保持的接收ID列表的一例的图。
图4中示例的接收ID列表用于对包含ID(消息ID)的值为“1”、“2”、“3”以及“4”中的某一方的消息ID的帧进行选择性地接收并处理。这仅为一例,而接收ID列表中可列举确定为网关300要接收的帧的消息ID。
[1.5 转送规则例]
图5表示网关300的转送规则保持部360所保持的转送规则的一例。
该转送规则使转送源的总线、转送目的地的总线以及转送对象的ID(消息ID)相关联。图5中的“*”表示与消息ID无关地进行帧的转送。图5的例子表示了设定为与消息ID无关地将从总线200a接收的帧转送给总线200b这一情况。另外,表示了设定为仅将从总线200b接收的帧中的、消息ID为“3”的帧转送给总线200a这一情况。
[1.6 ECU信息的列表例]
图6表示网关300的ECU信息保持部372所保持的ECU信息的列表的一例。
图6所示的列表由每个ECU的ECU信息而构成。ECU信息例如构成为包括ECU-ID、表示ECU的功能类别的ECU类别、ECU的制造公司、表示ECU是否具有签名验证功能(也就是说签名验证功能的有无)的信息、以及表示ECU是否具有作为用于实现FW缓存功能的存储介质的区域的FW缓存(也就是说FW缓存功能的有无)的信息。ECU-ID例如是各ECU的标识信息,例如是序列号等标识符。ECU信息保持部372所保持的ECU信息的列表例如可以说是按每个ECU表示ECU的处理能力(例如签名验证功能、FW缓存功能的有无等)的信息。
图6的例子表示了关于与发动机101连接的ECU100a的ECU-ID为“0001”、ECU类别为由“发动机”标识的发动机控制用这一类别、制造公司为“A公司”、具有签名验证功能、具有FW缓存功能这一情况。另外,表示了关于与制动器102连接的ECU100b的ECU-ID为“0002”、ECU类别为由“制动器”标识的制动器控制用这一类别、制造公司为“B公司”、具有签名验证功能、不具有FW缓存功能这一情况。另外,表示了关于与车门开闭传感器103连接的ECU100c的ECU-ID为“0003”、ECU类别为由“车门”标识的车门开闭控制用这一类别、制造公司为“C公司”、不具有签名验证功能、具有FW缓存功能这一情况。另外,表示了关于与车窗开闭传感器104连接的ECU100a的ECU-ID为“0004”、ECU类别为由“车窗”标识的车窗开闭控制用这一类别、制造公司为“D公司”、不具有签名验证功能、不具有FW缓存功能这一情况。
ECU信息保持部372所保持的ECU信息既可以在制造时设定,也可以在例如开始对网关300供给电力时,网关300从服务器500等外部装置取得。另外,在连接于总线200a、200b的ECU因更换或者固件的更新等而状态发生变化的情况下,和/或新将ECU引入车辆并连接于总线200a或者总线200b的情况下等,网关300也可以收集新的ECU信息并对ECU信息保持部372所保持的ECU信息的列表进行更新。
[1.7 ECU100a的结构]
图7是ECU100a的结构图。ECU100a具有签名验证功能以及FW缓存功能,构成为包括帧收发部110、帧解释部120、接收ID判断部130、接收ID列表保持部140、帧处理部150、FW更新处理部160、FW缓存保持部161、签名验证部163、密钥保持部164、数据取得部170以及帧生成部180。这些各构成要素通过ECU100a中的通信电路、执行储存于存储器的控制程序的处理器、存储器或者数字电路等来实现。
帧收发部110向总线200a发送、从总线200a接收遵循CAN协议的帧。从总线逐比特地接收帧,并转送给帧解释部120。另外,将从帧生成部180收到了通知的帧的内容发送给总线200a。
帧解释部120从帧收发部110接收帧的值,并进行解释以使得映射到由CAN协议规定的帧格式的各域。将判断为是ID域的值转送给接收ID判断部130。帧解释部120根据从接收ID判断部130通知的判定结果,决定是将ID域的值、和出现在ID域之后的数据域转送给帧处理部150,还是在收到了该判定结果之后中止帧的接收。另外,帧解释部120在判断为是未遵循CAN协议的帧的情况下,以发送错误帧的方式通知给帧生成部180。另外,帧解释部120在接收到错误帧的情况下,自此之后将该帧废弃,也就是中止帧的解释。
接收ID判断部130从帧解释部120接收被通知的ID域的值,按照接收ID列表保持部140所保持的消息ID的列表,进行是否接收该ID域之后的帧的各域的判定。接收ID判断部130将该判定结果通知给帧解释部120。
接收ID列表保持部140保持ECU100a所要接收的消息ID的列表、即接收ID列表。该接收ID列表例如与上述的图4的例子是同样的。
帧处理部150根据接收到的帧的数据按每个ECU进行不同的处理。例如,连接于发动机101的ECU100a具备当在时速超过30km的状态下车门为打开的状态时,使警报声响起的功能。而且,ECU100a的帧处理部150管理从其他ECU接收到的数据(例如表示车门的状态的信息),基于从发动机101取得的时速,在一定条件下进行使警报声响起的处理等。ECU100b~ECU100d也具备帧处理部150,在ECU100c中,具备在没有踩刹车的状况下车门打开时响起警报声的功能。在ECU100b、ECU100d中并不特别做什么。此外,ECU100a~100d也可以具备除上述以外的功能。另外,帧处理部150在取得了固件的更新用的FW数据的情况下,通知给FW更新处理部160。
FW更新处理部160将从网关300接收并从帧处理部150通知的FW数据的签名验证委托给签名验证部163,在签名验证成功的情况下,基于FW数据,对ECU100a的启动ROM内的固件进行更新(重写)。启动ROM例如是设定为在由ECU100a的处理器进行复位(reset)后所执行的固件的储存目的地的非易失性存储器。在更新启动ROM内的固件时,FW更新处理部160为了能够在更新失败时复原(还原)到更新前的状态,例如在FW缓存保持部161中储存(保存)已有的固件。另外,FW更新处理部160通知帧生成部180以使其生成并发送表示FW数据的签名验证的结果(表示成功与否的信息)的帧、以及表示基于FW数据的固件的更新结果的帧。
FW缓存保持部161例如通过ECU100a中的非易失性存储器等的存储区域来实现,用于在更新启动ROM内的固件时对已有的固件进行储存(保存)等。
签名验证部163从FW更新处理部160接收成为签名验证对象的FW数据,使用从密钥保持部164取得的签名验证用的密钥来进行签名验证,将该验证结果通知给FW更新处理部160。
密钥保持部164保持固件的更新用的FW数据的签名验证用的密钥。
数据取得部170取得表示连接于ECU的设备、传感器等的状态的数据,通知给帧生成部180。
帧生成部180按照从帧解释部120通知的指示错误帧发送的通知,构成错误帧,将错误帧通知给帧收发部110并使其发送该错误帧。另外,帧生成部180针对从数据取得部170通知的数据的值,附加上预先确定的消息ID而构成帧,并通知给帧收发部110。另外,帧生成部180根据FW更新处理部160的对固件的签名验证的结果的帧或者固件的更新结果的帧的生成指示,分别构成附加了预先确定的消息ID的帧,并通知给帧收发部110。
[1.8 ECU100b的结构]
图8是ECU100b的结构图。ECU100b具有签名验证功能但不具有FW缓存功能,构成为包括帧收发部110、帧解释部120、接收ID判断部130、接收ID列表保持部140、帧处理部150、FW更新处理部165、签名验证部163、密钥保持部164、数据取得部170以及帧生成部180。这些各构成要素通过ECU100b中的通信电路、执行储存于存储器的控制程序的处理器、存储器或者数字电路等来实现。此外,对于ECU100b的构成要素中的与ECU100a同样的构成要素,在图8中赋予与图7相同的标号,在此省略说明。
FW更新处理部165将从网关300接收并从帧处理部150通知的FW数据的签名验证,委托给签名验证部163,通知帧生成部180以使其生成并发送表示该FW数据的签名验证的结果(表示成功与否的信息)的帧。另外,FW更新处理部165在被帧处理部150通知接收到了来自网关300的对启动ROM内的数据(固件)的请求时,通知帧生成部180以使其生成并发送包含启动ROM内的已有的固件来作为数据的帧。该启动ROM例如是设定为在由ECU100b的处理器进行复位后所执行的固件的储存目的地的非易失性存储器。另外,FW更新处理部165根据从网关300接收并从帧处理部150通知的更新ROM数据(更新后的固件),对ECU100b的启动ROM的内容进行更新(重写)。另外,FW更新处理部165通知帧生成部180以使其生成并发送表示固件的更新结果的帧。
[1.9 ECU100c的结构]
图9是ECU100c的结构图。ECU100c不具有签名验证功能但具有FW缓存功能,构成为包括帧收发部110、帧解释部120、接收ID判断部130、接收ID列表保持部140、帧处理部150、FW更新处理部166、FW缓存保持部161、数据取得部170以及帧生成部180。这些各构成要素通过ECU100c中的通信电路、执行储存于存储器的控制程序的处理器、存储器或者数字电路等来实现。此外,对于ECU100c的构成要素中的与ECU100a同样的构成要素,在图9中赋予与图7相同的标号,在此省略说明。
FW更新处理部166基于从网关300接收并从帧处理部150通知的FW数据,对ECU100c的启动ROM内的固件进行更新(重写)。启动ROM例如是设定为在由ECU100c的处理器进行复位后所执行的固件的储存目的地的非易失性存储器。在更新启动ROM内的固件时,FW更新处理部166为了能够在更新失败时复原到更新前的状态,例如在FW缓存保持部161中储存(保存)已有的固件。另外,FW更新处理部166通知帧生成部180以使其生成并发送表示基于FW数据的固件的更新结果的帧。
[1.10 ECU100d的结构]
图10是ECU100d的结构图。ECU100d不具有签名验证功能以及FW缓存功能,构成为包括帧收发部110、帧解释部120、接收ID判断部130、接收ID列表保持部140、帧处理部150、FW更新处理部167、数据取得部170以及帧生成部180。这些各构成要素通过ECU100d中的通信电路、执行储存于存储器的控制程序的处理器、存储器或者数字电路等来实现。此外,对于ECU100d的构成要素中的与ECU100a同样的构成要素,在图10中赋予与图7相同的标号,在此省略说明。
FW更新处理部167在被帧处理部150通知接收到了来自网关300的对启动ROM内的数据(固件)的请求时,通知帧生成部180以使其生成并发送包含启动ROM内的已有的固件来作为数据的帧。该启动ROM例如是设定为在由ECU100d的处理器进行复位后所执行的固件的储存目的地的非易失性存储器。另外,FW更新处理部167根据从网关300接收并从帧处理部150通知的更新ROM数据(更新后的固件),对ECU100d的启动ROM的内容进行更新(重写)。另外,FW更新处理部165通知帧生成部180以使其生成并发送表示固件的更新结果的帧。
[1.11 服务器500的结构]
服务器500是位于搭载车载网络系统10的车辆的外部的计算机,包括存储器、硬盘等存储介质、处理器、通信电路等。服务器500也可以具备作为用户接口的输入装置(键盘等)、显示器等。以对多个车辆分别搭载有车载网络涉及的多个ECU为前提,服务器500管理由各种ECU的制造公司等提供的固件,具有对各车辆发布包含更新用固件的FW更新信息的功能。
图11是服务器500的结构图。如该图所示,服务器500构成为包括数据收发部510、发布数据生成部570、FW保持部571、ECU管理信息保持部572、签名生成部590以及密钥保持部591。这些各构成要素通过服务器500中的通信电路、执行储存于存储器的控制程序的处理器等来实现。
数据收发部510与网关300进行通信,收发数据。数据收发部510向网关300发布从发布数据生成部570通知的数据(包含应该更新的固件的FW更新信息)。另外,数据收发部510在从网关300接收到固件的更新结果的情况下,对ECU管理信息保持部572所保持的车辆ECU管理信息进行更新。
发布数据生成部570生成作为用于对网关300发布的更新用固件的数据包(package)的FW更新信息(发布数据),并委托签名生成部590使其生成针对FW更新信息的签名。发布数据生成部570为了生成FW更新信息,从FW保持部571取得各ECU的最新的固件(FW),并从ECU管理信息保持部572取得关于成为更新对象的ECU的信息。关于FW更新信息(发布数据)的格式,将在后面进行说明(参照图13)。
FW保持部571保持各种ECU用的固件(FW)。
ECU管理信息保持部572保持车辆ECU管理信息,所述车辆ECU管理信息是与各车辆的车载网络中的各ECU有关的信息。关于车辆ECU管理信息,将在后面进行说明(参照图12)。
签名生成部590受发布数据生成部570的委托,使用密钥保持部591所保持的签名用的密钥,生成针对FW更新信息的签名并通知给发布数据生成部570。签名生成部590例如可以进行针对FW更新信息中的各FW数据的签名以及针对FW更新信息整体的签名。
密钥保持部591保持签名生成部590为了对FW更新信息进行签名所使用的密钥。
[1.12 车辆ECU管理信息]
图12表示服务器500的ECU管理信息保持部572所保持的车辆ECU管理信息(按车辆区分的ECU信息的列表)的一例。
本例的车辆ECU管理信息按每个成为服务器500的管理对象的车辆,构成为包括车辆信息以及关于搭载于该车辆的各ECU的ECU信息。车辆信息是用于标识车辆的标识符(车辆ID)。在车辆ECU管理信息中与车辆信息相关联的ECU信息构成为包括:ECU-ID、表示ECU的功能类别的ECU类别、ECU的制造公司、签名验证功能的有无、FW缓存功能的有无、作为实装于ECU的固件的版本号等的FW版本、以及作为与该ECU对应的最新的固件的版本号等的最新FW版本。车辆ECU管理信息中的、关于某一车辆的各ECU信息例如基于下述信息来设定:从该车辆的网关300接收到的信息(固件的更新结果等);以及从各种ECU的制造公司上传到服务器500并保持于FW保持部571的关于固件的FW版本。此外,在图12中,仅示例出与一台车辆A有关的信息,但车辆ECU管理信息也可以包含关于其他车辆的信息。
[1.13 FW更新信息的格式例]
图13表示作为服务器500所发布的发布数据的FW更新信息的格式的一例。
FW更新信息包括表示FW数据的个数的FW数F1、1个以上的FW数据(在图13的例子中为两个单独的FW数据F10、F20)、以及作为针对FW更新信息(发布数据)整体的签名的FW更新信息签名F30。FW数据F10、F20分别包括:更新用的固件(FW)F13、F23;标识成为对象的ECU的ECU-ID F11、F21;表示固件的版本号等的FW版本F12、F22;以及作为针对这些数据的签名的FW数据签名F14、F24。固件F13、F23是固件本身也就是二进制数据。
[1.14 FW更新信息的发布以及固件的更新涉及的工作例]
以下,对车载网络系统10中的FW更新信息的发布以及ECU的固件的更新涉及的工作进行说明。
图14是表示服务器500将发布数据(FW更新信息)发布给网关300而在网关300的控制下进行固件的更新的工作例的时序图。这里的各时序意味着各装置中的各处理步骤(step)。该时序例如可以在有新的固件上传并登记于服务器500的定时开始,或者按照来自发布目的地的车辆的网关300的发布请求而开始。
服务器500基于ECU管理信息保持部572所保持的车辆ECU管理信息等,决定要对网关300发布的更新用的1个以上的固件(步骤S1101)。更新用的固件的个数也根据该决定而被决定。
接着,服务器500通过发布数据生成部570进行FW更新信息(参照图13)的生成。即,发布数据生成部570以与更新用的固件的个数即FW数相当的次数(步骤S1102),反复进行取得FW保持部571所保持的固件等的FW数据(步骤S1103),以及附加针对FW数据的由签名生成部590生成的FW数据签名(步骤S1104)。另外,发布数据生成部570使签名生成部590生成针对FW更新信息的签名(FW更新信息签名)(步骤S1105),从而生成附加有该签名的FW更新信息。
在服务器500中,在生成了FW更新信息时,使数据收发部510对FW更新信息(发布数据)进行发送(步骤S1106a)。由此,从服务器500向网关300发送FW更新信息,网关300接收该FW更新信息(步骤S1106b)。
网关300在接收到FW更新信息时,通过签名验证部373,对FW更新信息的签名(FW更新信息签名)进行验证(步骤S1107)。然后,网关300的FW更新处理部370判定签名的验证是否成功(步骤S1108),在验证没有成功的情况下,将FW更新信息废弃(步骤S1110),在该情况下不进行基于FW更新信息的固件更新。在验证成功的情况下,网关300主要通过FW更新处理部370,与符合更新对象的ECU联合起来,进行FW更新控制处理(步骤S1109)。关于FW更新控制处理的内容,将在后面进行说明。
网关300在结束步骤S1109中的FW更新控制处理后,或者在步骤S1110中的FW更新信息的废弃后,将固件的更新结果发送给服务器500(步骤S1111a)。固件的更新结果例如是表示更新是否成功的信息,该信息例如也可以包含更新后的固件涉及的FW版本。由此,服务器500接收更新结果(步骤S1111b)。此外,服务器500可以在接收到固件的更新结果的情况下,对ECU管理信息保持部572所保持的车辆ECU管理信息进行更新,以使其表现该固件的更新后的状态。
[1.15 由网关300进行的FW更新控制处理例]
图15是表示由网关300进行的FW更新控制处理的一例的流程图。
以下,结合图15,对在上述的步骤S1109中由网关300执行的FW更新控制处理进行说明。
网关300通过FW更新处理部370取得FW更新信息(参照图13)中的FW数(步骤S1201),将步骤S1203~步骤S1213中的处理反复进行与FW数相当的次数(步骤S1202)。
FW更新处理部370取得FW更新信息的FW数据中的ECU-ID,确定固件的更新对象的ECU(步骤S1203)。
接下来,在网关300中,FW更新处理部370参照ECU信息保持部372所保持的ECU信息的列表(参照图6),判定更新对象的ECU(由在步骤S1203中取得的ECU-ID所标识的ECU)是否具有签名验证能力(是否具有签名验证功能)(步骤S1204)。
在步骤S1204中判定为更新对象的ECU具有签名验证功能的情况下,FW更新处理部370为了向该ECU进行发送而使帧生成部380生成包含FW数据的帧,帧收发部310将该帧经由与该ECU连接的总线发送给ECU(步骤S1205)。然后,网关300接收由该固件的更新对象的ECU得到的针对FW数据的签名(FW数据签名)的验证结果(步骤S1206)。
在步骤S1204中判定为更新对象的ECU不具有签名验证功能的情况下,FW更新处理部370使签名验证部373验证针对FW数据的签名(FW数据签名)(步骤S1207)。即,网关300代办对于固件更新对象的ECU中的FW数据签名的验证。
在步骤S1206或者步骤S1207之后,在网关300中,判定FW数据签名的验证结果(步骤S1208),如果验证失败则将FW数据废弃(步骤S1209)。另外,如果验证成功,则FW更新处理部370参照ECU信息保持部372所保持的ECU信息的列表(参照图6),判定更新对象的ECU是否具有FW缓存(是否具有FW缓存功能)(步骤S1210)。
在步骤S1210中判定为更新对象的ECU具有FW缓存功能的情况下,如果尚未向该ECU发送FW数据,则FW更新处理部370使帧生成部380生成包含FW数据的帧,帧收发部310将该帧经由与该ECU连接的总线发送给ECU(步骤S1211)。由此,该固件的更新对象的ECU接收该FW数据,进行用于更新固件的处理并将该更新结果发送给网关300。而且,网关300接收从该ECU发送来的更新结果(步骤S1212)。
在步骤S1210中判定为更新对象的ECU不具有FW缓存功能的情况下,网关300与更新对象的ECU联合起来进行FW更新GW代办处理(步骤S1213)。关于该FW更新GW代办处理,将在下面进行说明。
[1.16 ECU100a中的固件的更新的工作例]
图16是表示由具有签名验证功能以及FW缓存功能的ECU100a进行的FW更新控制处理的一例的流程图。以下,结合图16,说明ECU100a所进行的FW更新控制处理。
在ECU100a中,帧收发部110从网关300接收通过上述的步骤S1205发送来的包含FW数据的帧(步骤S1301)。
ECU100a的FW更新处理部160经由帧解释部120以及帧处理部150,取得在步骤S1301中接收到的帧涉及的FW数据,使签名验证部163对FW数据中的FW数据签名进行验证(步骤S1302)。然后,ECU100a将表示该FW数据签名的验证结果的帧通过帧收发部110发送给总线200a(步骤S1303)。由此,将FW数据签名的验证结果通知给网关300。
FW更新处理部160辨别FW数据签名的验证是否成功(步骤S1304),在没有成功的情况下将FW数据废弃(步骤S1305),不进行固件的更新。
在FW数据签名的验证成功的情况下,FW更新处理部160通过进行复制(copy)将ECU100a中的启动ROM的内容即固件保存在FW缓存保持部161中(步骤S1306)。
接着,FW更新处理部160利用FW数据中的固件(FW),进行对启动ROM内的固件的更新(步骤S1307),通过进行复位来重新启动(再启动)ECU100a的处理器(步骤S1308)。
在ECU100a中,预先设定为在通过启动ROM的启动不成功的情况下,根据FW缓存保持部161的内容进行启动,在步骤S1308中的重新启动不成功的情况下(步骤S1309),启动FW缓存保持部161所保存的更新前的固件(步骤S1310)。然后,在该更新前的固件的控制下,通过将FW缓存保持部161所保存的更新前的固件复制到启动ROM中而将启动ROM的内容返回到更新前的状态(步骤S1311)。
在步骤S1308中的重新启动成功了的情况下,ECU100a将包含表示固件的更新成功之意的更新结果的帧发送给总线200a,在步骤S1308中的重新启动没有成功的情况下,ECU100a在步骤S1311之后,将包含表示固件的更新失败之意的更新结果的帧发送给总线200a(步骤S1312)。由此,将固件的更新结果通知给网关300。
[1.17 ECU100b中的固件的更新的工作例]
图17是表示由具有签名验证功能但不具有FW缓存功能的ECU100b进行的FW更新控制处理的一例的流程图。在该图中,对与已经叙述的步骤同样的步骤赋予相同标号。以下,结合图17,说明ECU100b所进行的FW更新控制处理。
在ECU100b中,帧收发部110从网关300接收通过上述的步骤S1205发送来的包含FW数据的帧(步骤S1301)。
ECU100b的FW更新处理部165经由帧解释部120以及帧处理部150,取得在步骤S1301中接收到的帧涉及的FW数据,使签名验证部163对FW数据中的FW数据签名进行验证(步骤S1302)。然后,ECU100b将表示该FW数据签名的验证结果的帧通过帧收发部110发送给总线200a(步骤S1303)。由此,将FW数据签名的验证结果通知给网关300。
FW更新处理部165辨别FW数据签名的验证是否成功(步骤S1304),在没有成功的情况下将FW数据废弃(步骤S1305),不进行固件的更新。
在FW数据签名的验证成功的情况下,ECU100b与网关300联合起来,进行后述的FW更新GW代办处理(步骤S1213)。ECU100b将包含由FW更新GW代办处理得到的固件的更新结果的帧发送给总线200a(步骤S1312)。由此,将固件的更新结果通知给网关300。
[1.18 ECU100c中的固件的更新的工作例]
图18是表示由不具有签名验证功能但具有FW缓存功能的ECU100c进行的FW更新控制处理的一例的流程图。在该图中,对与已经叙述的步骤同样的步骤赋予相同标号。以下,结合图18,说明ECU100c所进行的FW更新控制处理。
在ECU100c中,帧收发部110从网关300接收通过上述的步骤S1211发送来的包含FW数据的帧(步骤S1301)。
ECU100c的FW更新处理部166经由帧解释部120以及帧处理部150,取得在步骤S1301中接收到的帧涉及的FW数据,通过进行复制将ECU100c中的启动ROM的内容即固件保存在FW缓存保持部161中(步骤S1306)。
接着,FW更新处理部166利用FW数据中的固件(FW),进行对启动ROM内的固件的更新(步骤S1307),通过进行复位来重新启动ECU100c的处理器(步骤S1308)。
在ECU100c中,预先设定为在通过启动ROM的启动不成功的情况下,根据FW缓存保持部161的内容进行启动,在步骤S1308中的重新启动不成功的情况下(步骤S1309),启动FW缓存保持部161所保存的更新前的固件(步骤S1310)。然后,在该更新前的固件的控制下,通过将FW缓存保持部161所保存的更新前的固件复制到启动ROM中而将启动ROM的内容返回到更新前的状态(步骤S1311)。
在步骤S1308中的重新启动成功了的情况下,ECU100c将包含表示固件的更新成功之意的更新结果的帧发送给总线200b,在步骤S1308中的重新启动没有成功的情况下,ECU100c在步骤S1311之后,将包含表示固件的更新失败之意的更新结果的帧发送给总线200b(步骤S1312)。由此,将固件的更新结果通知给网关300。
[1.19 ECU100d中的固件的更新的工作例]
图19是表示由不具有签名验证功能以及FW缓存功能的ECU100d进行的FW更新控制处理的一例的流程图。在该图中,对与已经叙述的步骤同样的步骤赋予相同标号。
ECU100d与网关300联合起来,进行后述的FW更新GW代办处理(步骤S1213)。ECU100d将包含由FW更新GW代办处理得到的固件的更新结果的帧发送给总线200b(步骤S1312)。由此,将固件的更新结果通知给网关300。
[1.20 网关300以及ECU中的FW更新GW代办处理]
以下,结合图20,对FW更新GW代办处理进行说明。图20是表示在更新ECU(ECU100b、100d)中的固件时,网关300对处理的一部分进行代办的FW更新GW代办处理的一例的时序图。
首先,网关300请求不具有FW缓存功能的、固件的更新对象的ECU发送启动ROM数据(启动ROM内的更新前的固件)(步骤S1401a)。
ECU接收来自网关300的请求(步骤S1401b),发送该ECU的启动ROM数据(启动ROM内的固件)(步骤S1402a)。
网关300接收来自ECU的启动ROM数据(步骤S1402b),向FW缓存保持部371储存副本(步骤S1403),并制作更新ROM数据(例如应用更新用的FW数据的固件对更新前的固件进行更新而得到的数据)(步骤S1404)。
接着,网关300发送所制作的更新ROM数据(步骤S1405a),固件的更新对象的ECU接收该更新ROM数据(步骤S1405b)。
接收到更新ROM数据的ECU利用更新ROM数据进行对启动ROM内的数据的更新(步骤S1406),通过进行复位来重新启动该ECU的处理器(步骤S1407)。此外,重新启动时,在ECU中,预先设定为在通过启动ROM的启动不成功的情况下,请求重新发送启动ROM数据,在步骤S1407中的重新启动不成功的情况下(步骤S1408),请求重新发送启动ROM数据(步骤S1409a)。与此相对应地,在网关300中接收到启动ROM数据的重新发送请求时(步骤S1409b),发送FW缓存保持部371所储存的启动ROM数据(步骤S1410a)。由此,ECU接收启动ROM数据(步骤S1410b),用该启动ROM数据来进行对启动ROM内的数据的更新(步骤S1406),返回到原来的固件并重新启动(步骤S1407)。在步骤S1408中重新启动成功的情况下,ECU结束固件更新的处理。
[1.21 实施方式1的效果]
在实施方式1涉及的车载网络系统10中,网关300代替与车载网络(总线200a、200b)连接的ECU中的、是固件的更新对象的ECU但不具有用于更新的功能(签名验证功能、FW缓存功能)的ECU,进行该功能涉及的处理(代办)。由此,即使是不具有可靠的固件更新所需的功能的ECU,也能够安全地更新固件。
(实施方式2)
以下,说明对实施方式1中示出的车载网络系统10的一部分进行变形而得到的车载网络系统20。
在本实施方式涉及的车载网络系统20中,在ECU进行固件的更新方面,使用如下的固件更新方法:代替无法执行为了安全且适当地更新固件所需的处理(例如签名验证处理等)的ECU,而由网关装置以及其他ECU来代办该处理。由此,即使在不具有执行为了更新固件所需的处理的功能等的ECU、或者处于无法执行该功能的状态的ECU中,也能够适当地进行固件的更新。关于在本实施方式中未特别进行说明之处,车载网络系统20与车载网络系统10是同样的。
[2.1 车载网络系统20的整体结构]
图21是表示实施方式2涉及的车载网络系统20的整体结构的图。
如图21所示,车载网络系统20构成为包括:与搭载于车辆的各种设备连接的ECU1100a~1100d、总线200a、200b、网关1300;车辆外的网络400以及服务器500。此外,车载网络系统20中除了网关1300、ECU1100a~1100d以外还可以包含若干个ECU,但在此,为方便起见着眼于网关1300以及ECU1100a~1100d来进行说明。在图21中,对与在实施方式1中示出的车载网络系统10同样的构成要素赋予与图1相同的标号,在此省略说明。
ECU1100a~1100d分别连接于发动机101、制动器102、车门开闭传感器103、车窗开闭传感器104这样的设备,取得该设备的状态,周期性地将表示状态的帧(数据帧)发送给由总线200a、总线200b等构成的车载网络。此外,与ECU1100a~1100d有关的ECU信息例如与图6所示的内容是同样的。
网关1300是作为连接总线200a以及总线200b的网关装置的一种ECU,总线200a连接有ECU1100a和ECU1100b,总线200b连接有ECU1100c和ECU1100d。网关1300是将实施方式1中示出的网关300局部进行了变形而得到的,具有与除某个ECU以外的ECU联合起来代办用于更新该某个ECU的固件的处理的功能。网关1300的功能结构与图3中示出的网关300的结构是同样的。此外,网关1300中的FW更新处理部370作为控制部发挥功能,所述控制部基于更新用的固件的适用对象(更新对象)的ECU的信息,判定该ECU是否满足预定条件(如具有签名验证功能、具有FW缓存功能等这样的条件),并进行控制以使得,在满足预定条件的情况下,使该ECU执行与固件的更新关联的预定处理(签名验证的处理、FW缓存功能涉及的处理等),在不满足预定条件的情况下,在该ECU以外(也就是所选定出的代办ECU)执行该预定处理。另外,网关1300与网关300同样地,具有将从一方总线接收到的帧转送给另一方总线的功能,另外,具有经由网络400与服务器500进行通信的功能。服务器500具有发布FW更新信息的功能,所述FW更新信息是用于更新ECU1100a~1100d的固件的数据。
[2.2 由网关1300进行的FW更新控制处理例]
在车载网络系统20中,也与车载网络系统10同样地,由服务器500发布FW更新信息,并在网关1300的控制下,ECU进行固件的更新(参照图14)。
图22是表示由网关1300进行的FW更新控制处理的一例的流程图。该FW更新控制处理是由接收到从服务器500发布的FW更新信息的网关1300所执行的与图14的步骤S1109相当的处理。此外,对于与实施方式1的FW更新控制处理(参照图15)同样的步骤,在图22中赋予与图15相同的标号,在此适当地省略说明。
网关1300通过FW更新处理部370取得FW更新信息(参照图13)中的FW数(步骤S1201),将关于步骤S1203~步骤S1212、S2207、S2213等的处理反复进行与FW数相当的次数(步骤S1202)。
网关1300在步骤S1203中根据FW更新信息的FW数据的ECU-ID,确定固件的更新对象的ECU,参照ECU信息保持部372所保持的ECU信息的列表(参照图6),判定更新对象的ECU是否具有签名验证功能(步骤S1204)。
在步骤S1204中判定为更新对象的ECU不具有签名验证功能的情况下,网关1300进行后述的签名验证ECU代办处理(步骤S2207)。通过该签名验证ECU代办处理,网关1300使其他ECU代办对于固件更新对象的ECU中的FW数据签名的验证。
在步骤S1206或者步骤S2207之后,在网关1300中,判定FW数据签名的验证结果(步骤S1208),如果验证失败则将FW数据废弃(步骤S1209)。另外,如果验证成功,则参照ECU信息的列表(参照图6),判定更新对象的ECU是否具有FW缓存(是否具有FW缓存功能)(步骤S1210)。
在步骤S1210中判定为更新对象的ECU不具有FW缓存功能的情况下,网关1300进行后述的FW更新ECU代办处理(步骤S2213)。
[2.3 签名验证ECU代办处理例]
图23是表示由网关1300进行的签名验证ECU代办处理的一例的流程图。
网关1300基于ECU信息保持部372所保持的ECU信息的列表(参照图6),选定与固件的更新对象的ECU不同的、具有与固件更新相伴的处理的执行功能的ECU,作为代办该处理的ECU(代办ECU)(步骤S2200)。具体而言,在签名验证ECU代办处理中,选择具有签名验证功能的ECU(例如具有签名的验证用的密钥的ECU)作为代办签名验证功能涉及的处理的代办ECU。
在网关1300中,相对于在步骤S2200中所选定出的代办ECU,FW更新处理部370为了向该代办ECU进行发送而使帧生成部380生成包含FW数据的帧,帧收发部310将该帧经由与该代办ECU连接的总线发送给代办ECU(步骤S1205)。然后,网关1300接收由该代办ECU得到的针对FW数据的签名(FW数据签名)的验证结果(步骤S1206)。
[2.4 网关1300以及ECU中的FW更新ECU代办处理例]
图24是表示由网关1300以及ECU(ECU1100a、1100d)进行的FW更新ECU代办处理的一例的时序图。该图的例子表示ECU1100a代替不具有FW缓存功能的ECU1100d,代办FW缓存处理的例子。此外,对于与在实施方式1中由图21示出的步骤同样的步骤,在图24中也赋予相同的标号,在此适当地省略说明。
网关1300基于ECU信息保持部372所保持的ECU信息的列表(参照图6),选择与固件的更新对象的ECU不同的、具有与固件更新相伴的处理的执行功能的ECU,作为代办该处理的ECU(代办ECU)(步骤S2200)。具体而言,在FW更新ECU代办处理中,选定具有FW缓存功能的ECU1100a,作为代办FW缓存功能涉及的处理的代办ECU。
接着,网关1300经由总线200a向代办针对固件更新对象的ECU1100d的FW缓存处理的代办ECU即ECU1100a发送FW数据(步骤S2400a)。ECU1100a接收该FW数据(步骤S2400b),认识到应该作为FW缓存功能涉及的代办ECU而发挥功能,并等待接收启动ROM数据。
接下来,网关1300请求不具有FW缓存功能的、固件的更新对象的ECU1100d发送启动ROM数据(启动ROM内的更新前的固件)(步骤S2401a)。更新对象的ECU1100d接收来自网关1300的请求(步骤S2401b),发送ECU1100d的启动ROM数据(启动ROM内的固件)(步骤S2402a)。从ECU1100d向总线200b发送的启动ROM数据(启动ROM内的固件)由网关1300转送并经由总线200a被ECU1100a接收(步骤S2402b)。此外,在图24中,省略了由网关1300进行的在总线间的帧的转送的处理,以下,省略对在总线间的帧的转送的说明。
ECU1100a接收来自ECU1100d的启动ROM数据(步骤S2402b),向FW缓存保持部371储存副本(步骤S1403),基于启动ROM数据以及FW数据,制作更新ROM数据(步骤S1404)。
接着,ECU1100a发送所制作的更新ROM数据(步骤S2405a),ECU1100d接收该更新ROM数据(步骤S2405b)。
接收到更新ROM数据的ECU1100d利用更新ROM数据进行对启动ROM内的数据的更新(步骤S1406),通过进行复位来重新启动ECU1100d的处理器(步骤S1407)。此外,重新启动时,在ECU1100d中,预先设定为在通过启动ROM的启动不成功的情况下,请求重新发送启动ROM数据,在步骤S1407中的重新启动不成功的情况下(步骤S1408),请求重新发送启动ROM数据(步骤S2409a)。与此相对应地,在ECU1100a中,接收到启动ROM数据的重新发送请求时(步骤S2409b),发送FW缓存保持部371所储存的启动ROM数据(步骤S2410a)。由此,ECU1100d接收启动ROM数据(步骤S2410b),用该启动ROM数据来进行对启动ROM内的数据的更新(步骤S1406),返回到原来的固件并重新启动(步骤S1407)。在步骤S1408中重新启动成功的情况下,ECU1100d结束固件更新的处理。
[2.5 实施方式2的效果]
在实施方式2涉及的车载网络系统20中,网关1300进行控制,以使得代替与车载网络(总线200a、200b)连接的ECU中的、是固件的更新对象的ECU但不具有用于更新的功能(签名验证功能、FW缓存功能)的ECU,而选定可代办该功能涉及的处理的其他ECU并使其进行代办。由此,有效利用ECU的资源,即使是不具有可靠的固件更新所需的功能的ECU,也能够安全地更新固件。而且,网关1300不需要保持代办能力,这在成本削减方面是有用的。
(其他实施方式)
如上所述,作为本公开涉及的技术的示例,对实施方式1、2进行了说明。然而,本公开涉及的技术并不限定于此,也能够适用于进行了适当的变更、替换、附加、省略等的实施方式。例如,如下的变形例也包含在本公开的一个实施方式中。
(1)作为一例,上述实施方式中示出的ECU100a~100d、1100a~1100d等ECU是包括处理器、存储器等数字电路、模拟电路、通信电路等的装置,但也可以包括硬盘装置、显示器、键盘、鼠标等其他的硬件构成要素。另外,也可以取代由处理器执行存储于存储器的控制程序从而以软件方式来实现功能,而通过专用的硬件(数字电路等)来实现其功能。
另外,也可以为,ECU100a~100d、1100a~1100d等ECU中的、多个ECU通过由一个物理的装置(计算机)等构建的虚拟环境来实现。图25是表示作为ECU的结构例的通过计算机800实现的虚拟环境的软件结构的一例的图。
如该图所示,在计算机800中工作的软件包括:虚拟机监视器801;虚拟机802、803、804、805;虚拟硬件810、820、830、840;通用OS(操作系统)811、821;RTOS(实时操作系统)831;固件841;应用(应用程序)A812;应用B813;应用C814;应用D822以及应用E832。
计算机800是电脑,在处理器上执行软件(虚拟机监视器801等)。虚拟机监视器801具有下述功能:在其上控制虚拟机802~805以使其彼此独立工作的虚拟机控制功能;对该虚拟机分配存储器和/或CPU等硬件资源并进行管理的资源管理功能;按照来自虚拟机的请求对器件进行访问的器件访问功能;调度虚拟机的调度功能等。虚拟机802~805分别构成为包括虚拟硬件、OS、应用或者固件,各自独立地由虚拟机监视器801来执行。虚拟硬件810、820、830、840对各自的虚拟机以虚拟的方式提供硬件的功能,另外,可以包括IPL(InitialProgram Loader,初始程序加载器)、BIOS(Basic Input/Output System,基本输入/输入系统)。通用OS811具有将应用(应用A812、应用B813、应用C814)加载到存储器上并执行,或者将该各应用从存储器上删除(卸载)的功能,对各应用提供基于CAN协议的网络通信功能。通用OS821也是同样的。RTOS831是用于使重视实时性的应用工作的OS。应用A812、应用B813、应用C814、应用D822、应用E832具有如汽车导航功能、驾驶辅助功能、转向控制功能、发动机控制功能、制动器控制功能、传感器信息(转矩、角度、速度、转速等)的取得功能等汽车用的各种功能。这些汽车用的功能群分别既可以通过一个应用来执行,也可以通过多个应用来执行。固件841是使不需要OS的功能工作的软件等。此外,固件841既可以包括OS,也可以成为其他应用的工作环境而具有控制其他应用的执行的功能。此外,在图25中示出的在通用OS811、821或者RTOS831上进行工作的应用的数量仅为一例,也可以是更多的应用进行工作。另外,图示出了通用OS工作的虚拟机为两个、RTOS工作的虚拟机为一个、固件工作的虚拟机为一个的情况,但这仅为一例。例如,既可以仅通过固件工作的虚拟机构成虚拟环境,也可以仅通过固件工作的虚拟机和RTOS工作的虚拟机来构成虚拟环境。
在计算机800中,将ECU100a~100d、1100a~1100d等中的全部或者一部分的多个ECU分别通过上述的虚拟机802~805等这样的一个虚拟机来实现。例如,在虚拟机监视器801上生成多个(与构成工作环境的ECU的数量相当的个数)虚拟机805并使其工作,通过各个虚拟机805的虚拟硬件840实现一个ECU的硬件方面的工作,例如,固件841与该ECU所实装的固件内容相同。例如,虚拟机监视器801构成为使得在工作在其上的多个虚拟硬件之间实现经由ECU间的总线的通信。
(2)在上述实施方式中,具有外部通信部375(外部通信功能)的网关300、1300经由车辆外的网络400而与服务器500进行通信,但这仅为一例。例如,网关300、1300也可以经由具有与外部的通信功能的另一ECU(例如主机(head unit)等),与服务器500进行通信。主机是具备较高性能的处理器的ECU的一种,是包含设置于汽车的仪表盘(instrument panel)等的液晶显示器等显示装置的、可以进行向车辆的驾驶员的报告等的装置。此外,车载网络中存在被称为OBD2(On-Board Diagnostics2,在线诊断器)等的、作为与诊断工具等外部装置进行通信的接口的诊断端口,用于ECU的诊断。于是,网关300、1300例如也可以通过与如下外部装置进行通信而间接地与服务器500通信,所述外部装置能够与服务器500进行通信并且与诊断端口连接。在这些情况下,网关300、1300也可以不必具有用于与车辆外部进行通信的外部通信功能,而经由其他ECU或者外部装置,就能够在网关300、1300与服务器500之间,进行FW更新信息等的授受。另外,网关300、1300也可以取得存储于与本装置或者其他ECU连接的外部的存储介质(非易失性存储器等)的FW更新信息。
(3)在上述实施方式中,示出了车载网络作为遵循CAN协议进行通信的网络通信系统的例子。本公开涉及的技术并非限定于车载网络,除了机器人、工业设备等的网络,也能够应用于车载网络以外的遵循CAN协议进行通信的网络通信系统。另外,CAN协议应该被看作也包括在自动化系统内的嵌入式系统等中使用的CANOpen、或者TTCAN(Time-TriggeredCAN:时间触发CAN)、CANFD(CAN with Flexible Data Rate:具有灵活数据传输率的CAN)等派生协议在内的广义含义的CAN协议。另外,在上述实施方式中,示出了基于CAN协议在总线上收发与固件有关的数据(帧)的例子,但也可以应用另外的协议,可以利用任意协议的通信路径以及通信方式来作为用于对固件涉及的数据进行通信的通信路径以及通信方式。
(4)在上述实施方式中,为了确保数据(FW数据、FW更新信息等)的安全性,使用了对数据赋予签名的结构,但也可以进一步为了确保保密性而进行对数据的加密。也可以将签名用的密钥和加密用的密钥设为不同的密钥。
(5)在上述实施方式中,在生成针对FW更新信息的签名和生成针对FW数据的签名时,使用了相同的密钥,但也可以使用各不相同的密钥。例如,针对作为发布数据的FW更新信息的整体的签名(FW更新信息签名)可以使用汽车厂商所持有的密钥来生成,针对单个的FW数据的签名(FW数据签名)可以使用对该FW数据涉及的固件进行实装的ECU的制造公司(或者该固件的制造公司)所持有的密钥来生成。与此相对应地,为了通过网关300代办ECU的签名的验证,网关300构成为预先保持所需的密钥。另外,在服务器500中对于FW数据签名而将用于签名的密钥设为按每个实装固件的ECU的制造公司所确定的密钥的情况下,网关1300也可以基于ECU信息的列表(参照图6),选定制造公司与固件的更新对象的ECU相同的ECU(保持有该制造公司的签名验证所需的密钥的ECU)作为代办ECU。另外,作为ECU信息,也可以包含ECU是否具有代办签名验证的功能(是否具有用于代办对于本装置以外的固件的签名验证的密钥)的信息,网关1300也可以基于该信息来选定代办ECU。
(6)在上述实施方式中,示出了网关300、1300基于ECU信息保持部372所保持的ECU信息的列表,判定是进行控制以使得是通过固件的更新对象的ECU以外的ECU或者网关来代办固件的更新对象的ECU的处理,还是使更新对象的ECU执行该ECU的处理(也就是说是否需要代办)。该是否需要代办的判定(更新对象的ECU是否满足预定条件的判定)例如可以对每个ECU基于表示ECU的处理能力(例如是否具有预定处理的执行功能)的信息而做出。在不满足预定条件的情况下,需要代办。是否具有预定处理的执行功能例如是签名验证功能、FW缓存功能的有无等。网关300、1300的FW更新处理部370(控制部)可以进行下述判定:在更新用固件的适用对象(也就是说更新对象)的ECU具有预定处理的执行功能的情况下,判定为满足预定条件,在该ECU不具有预定处理的执行功能的情况下,判定为不满足预定条件。表示该ECU的处理能力的信息除了签名验证功能、FW缓存功能的有无之外,也可以是ECU的存储器容量、处理性能等信息。另外,网关300、1300也可以基于车载网络中的通信负荷的状况、ECU的处理器的负荷状况等来进行该判定,例如,在尽管有处理能力但处理器的负荷高于一定程度的状况下,也可以判定为需要代办。
(7)上述实施方式中示出的更新用的固件(二进制数据)既可以是实装于ECU的固件的整体也可以是其一部分。在更新用的固件是实装于ECU的固件的一部分的情况下,对ECU内的已有的固件的一部分进行覆写。在该情况下,更新用的固件可以构成为包括差分数据(二进制数据)以及表示可适用于哪一部分的信息(例如地址信息等)。在该情况下,也可以在网关300、符合更新对象的ECU或者代办ECU中,将差分数据与已有的固件进行整合(merge)后,再进行ECU的启动ROM中的固件的替换。
(8)上述实施方式中示出的各种处理的步骤(例如图14~图20、图22~图24示出的步骤等)的执行顺序不必限制于如上所述的顺序,在不偏离公开的宗旨的范围内,可以更换执行顺序,或并行进行多个步骤,或省略该步骤的一部分。
(9)上述实施方式中的构成各装置的构成要素的一部分或全部也可以由1个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是在一个芯片上集成多个构成部而制造出的超多功能LSI,具体而言,是构成为包括微处理器、ROM、RAM等的计算机系统。在所述RAM中记录有计算机程序。所述微处理器按照所述计算机程序进行工作,由此系统LSI实现其功能。另外,构成上述各装置的构成要素的各部分既可以单独地单芯片化,也可以以包括一部分或全部的方式单芯片化。另外,虽然此处设为系统LSI,但根据集成度不同,也可以称为IC、LSI、超大LSI(super LSI),特大LSI(ultra LSI)。另外,集成电路化的方法不限于LSI,也可以通过专用电路或通用处理器实现。也可以在LSI制造后利用可编程的FPGA(Field Programmable Gate Array:现场可编程门阵列)和/或可以对LSI内部的电路单元的连接和/或设定进行重构的可重构处理器(reconfigurable processor)。再者,随着半导体技术的发展或派生的其他技术的出现,如果出现能够代替LSI的集成电路化的技术,当然也可以使用该技术进行功能模块的集成化。也存在应用生物技术等的可能性。
(10)构成上述各装置的构成要素的一部分或全部也可以由能够装卸于各装置的IC卡或单体模块构成。所述IC卡或所述模块是由微处理器、ROM、RAM等构成的计算机系统。所述IC卡或所述模块也可以包括上述的超多功能LSI。微处理器按照计算机程序进行工作,由此所述IC卡或所述模块实现其功能。该IC卡或该模块可以具有防篡改性能。
(11)作为本公开的一个技术方案,例如也可以是包括图14~图20、图22~图24等所示的处理步骤的全部或者一部分的固件更新方法。固件更新方法例如包括步骤S1106b等的接收步骤,所述接收步骤从车辆外的外部装置接收包含更新用固件的FW更新信息。另外,固件更新方法例如包括步骤S1204~S1207或者步骤S1210~S1213等的控制步骤,所述控制步骤判定固件的更新对象的ECU是否满足预定条件,并进行控制以使得,在满足预定条件的情况下使该ECU执行与固件的更新关联的预定处理,在不满足预定条件的情况下在该ECU以外执行预定处理。另外,也可以是通过计算机实现该方法的计算机程序(控制程序),还可以是通过所述计算机程序形成的数字信号。例如,也可以是用于执行包括固件更新方法中的接收步骤、控制步骤的固件更新处理的控制程序。另外,作为本公开的一个技术方案,也可以将所述计算机程序或所述数字信号记录于计算机可读取的记录介质,例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(注册商标)Disc)、半导体存储器等。另外,也可以是记录在这些记录介质中的所述数字信号。另外,作为本公开的一个技术方案,也可以将所述计算机程序或所述数字信号经由电通信线路、无线或有线通信线路、以互联网为代表的网络、数据广播等进行传输。另外,作为本公开的一个技术方案,也可以是具备微处理器和存储器的计算机系统,所述存储器记录有上述计算机程序,所述微处理器按照所述计算机程序进行工作。另外,通过将所述程序或所述数字信号记录在所述记录介质中移送,或者经由所述网络等将所述程序或所述数字信号进行移送,可以通过独立的其他的计算机系统来实施。
(12)通过将上述实施方式及上述变形例中示出的各构成要素以及功能任意地进行组合而实现的方式也包含在本公开的范围内。
产业上的可利用性
本公开能够用于适当地进行对与车载网络连接的ECU的固件的更新。
标号说明
10、20:车载网络系统
100a~100d、1100a~1100d:电子控制单元(ECU)
101:发动机
102:制动器
103:车门开闭传感器
104:车窗(window)开闭传感器
110、310:帧收发部
120、320:帧解释部
130、330:接收ID判断部
140、340:接收ID列表保持部
150、350:帧处理部
160、165~167、370:FW更新处理部
161、371:FW缓存保持部
163、373:签名验证部
164、374、591:密钥保持部
170:数据取得部
180、380:帧生成部
200a、200b:总线
300、1300:网关
360:转送规则保持部
372:ECU信息保持部
375:外部通信部
400:网络
500:服务器
510:数据收发部
570:发布数据生成部
571:FW保持部
572:ECU管理信息保持部
590:签名生成部
800:计算机
801:虚拟机监视器
802~805:虚拟机
810、820、830、840:虚拟硬件
841:固件
Claims (11)
1.一种网关装置,连接于供车辆所搭载的多个电子控制单元进行通信所使用的总线,
所述网关装置具备:
接收部,其从所述车辆外的外部装置接收固件更新信息,所述固件更新信息包括以所述多个电子控制单元中的一个电子控制单元为适用对象的更新用固件;以及
控制部,其基于作为所述更新用固件的适用对象的电子控制单元的预定信息,判定该电子控制单元是否满足预定条件,并进行控制以使得:在满足预定条件的情况下,使该电子控制单元执行与固件的更新关联的预定处理,在不满足预定条件的情况下,在该电子控制单元以外执行所述预定处理。
2.根据权利要求1所述的网关装置,
所述控制部基于表示作为所述更新用固件的适用对象的电子控制单元的处理能力的所述预定信息,进行所述判定。
3.根据权利要求2所述的网关装置,
表示所述处理能力的所述预定信息示出是否具有所述预定处理的执行功能,
所述控制部以如下方式进行所述判定:作为所述更新用固件的适用对象的电子控制单元在具有所述预定处理的执行功能的情况下,满足所述预定条件,在不具有所述预定处理的执行功能的情况下,不满足所述预定条件。
4.根据权利要求1至3中任一项所述的网关装置,
所述预定处理是在所述固件更新信息中附于所述更新用固件的签名的验证处理。
5.根据权利要求1至3中任一项所述的网关装置,
所述预定处理是作为所述更新用固件的适用对象的电子控制单元中的更新前的固件的保存处理。
6.根据权利要求1至5中任一项所述的网关装置,
所述控制部选定所述多个电子控制单元中的并非所述更新用固件的适用对象的一个电子控制单元,使所选定出的该电子控制单元执行所述预定处理。
7.根据权利要求1至5中任一项所述的网关装置,
所述控制部进行控制以使得在所述网关装置中执行所述预定处理。
8.根据权利要求1至3中任一项所述的网关装置,
所述预定处理是在所述固件更新信息中附于所述更新用固件的签名的验证处理,
所述控制部选定所述多个电子控制单元中的、并非所述更新用固件的适用对象且具有所述签名的验证用密钥的一个电子控制单元,使所选定出的该电子控制单元执行所述预定处理。
9.根据权利要求1至8中任一项所述的网关装置,
所述多个电子控制单元遵循CAN协议即控制器局域网络协议经由所述总线进行通信。
10.一种车载网络系统,其具备经由一条以上的总线进行通信的多个电子控制单元以及连接于所述总线的网关装置,
所述网关装置具有:
接收部,其从搭载有该网关装置的车辆外的外部装置接收固件更新信息,所述固件更新信息包括以所述多个电子控制单元中的一个电子控制单元为适用对象的更新用固件;以及
控制部,其基于作为所述更新用固件的适用对象的电子控制单元的预定信息,判定该电子控制单元是否满足预定条件,并进行控制以使得:在满足预定条件的情况下,使该电子控制单元执行与固件的更新关联的预定处理,在不满足预定条件的情况下,在该电子控制单元以外执行所述预定处理。
11.一种固件更新方法,是在具备经由一条以上的总线进行通信的多个电子控制单元的车载网络系统中使用的固件更新方法,
所述固件更新方法包括:
接收步骤,从搭载有所述多个电子控制单元的车辆外的外部装置接收固件更新信息,所述固件更新信息包括以所述多个电子控制单元中的一个电子控制单元为适用对象的更新用固件;
控制步骤,基于作为所述更新用固件的适用对象的电子控制单元的预定信息,判定该电子控制单元是否满足预定条件,并进行控制以使得:在满足预定条件的情况下,使该电子控制单元执行与固件的更新关联的预定处理,在不满足预定条件的情况下,在该电子控制单元以外执行所述预定处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410461279.7A CN118312196A (zh) | 2015-09-14 | 2016-06-27 | 网关装置、车载网络系统以及固件更新方法 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562218111P | 2015-09-14 | 2015-09-14 | |
US62/218,111 | 2015-09-14 | ||
JP2016109585A JP6675271B2 (ja) | 2015-09-14 | 2016-05-31 | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
JP2016-109585 | 2016-05-31 | ||
PCT/JP2016/003081 WO2017046980A1 (ja) | 2015-09-14 | 2016-06-27 | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410461279.7A Division CN118312196A (zh) | 2015-09-14 | 2016-06-27 | 网关装置、车载网络系统以及固件更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106796538A true CN106796538A (zh) | 2017-05-31 |
CN106796538B CN106796538B (zh) | 2024-04-19 |
Family
ID=58390988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680001976.8A Active CN106796538B (zh) | 2015-09-14 | 2016-06-27 | 网关装置、车载网络系统以及固件更新方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10725762B2 (zh) |
EP (1) | EP3352079B1 (zh) |
JP (3) | JP6675271B2 (zh) |
CN (1) | CN106796538B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324590A (zh) * | 2017-08-01 | 2019-02-12 | 松下电器(美国)知识产权公司 | 管理系统、车辆及信息处理方法 |
CN109324589A (zh) * | 2017-07-31 | 2019-02-12 | 现代自动车株式会社 | 用于有效重新编程的车载装置及其控制方法 |
CN110290164A (zh) * | 2018-03-19 | 2019-09-27 | 丰田自动车株式会社 | 网关装置以及通信方法 |
CN110463142A (zh) * | 2018-01-22 | 2019-11-15 | 松下电器(美国)知识产权公司 | 车辆异常检测服务器、车辆异常检测系统及车辆异常检测方法 |
CN110764795A (zh) * | 2018-07-26 | 2020-02-07 | 广州汽车集团股份有限公司 | 车载升级通信模组、车辆在线升级装置、系统和方法 |
CN110780895A (zh) * | 2018-07-30 | 2020-02-11 | 丰田自动车株式会社 | 程序更新系统、程序更新服务器及车辆 |
CN110809755A (zh) * | 2017-07-04 | 2020-02-18 | 日立汽车系统株式会社 | 电子控制系统 |
WO2024001572A1 (zh) * | 2022-06-30 | 2024-01-04 | 中国第一汽车股份有限公司 | 控制器功能更新方法、系统、车辆和服务器 |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6675271B2 (ja) | 2015-09-14 | 2020-04-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
EP4113287B1 (en) | 2015-09-14 | 2024-03-06 | Panasonic Intellectual Property Corporation of America | Gateway device, in-vehicle network system, and firmware update method |
WO2017094190A1 (ja) * | 2015-12-04 | 2017-06-08 | 三菱電機株式会社 | 転送制御装置、車両及び転送制御方法 |
JP6585019B2 (ja) * | 2016-09-13 | 2019-10-02 | 株式会社東芝 | ネットワーク監視装置、ネットワークシステムおよびプログラム |
US10140116B2 (en) * | 2016-09-26 | 2018-11-27 | Ford Global Technologies, Llc | In-vehicle auxiliary memory storage |
US10145700B2 (en) * | 2016-10-05 | 2018-12-04 | Dell Products L.P. | Vehicle firmware update using a vehicle gateway |
US9931976B1 (en) | 2016-10-05 | 2018-04-03 | Dell Products L.P. | Truck safety zone using a vehicle gateway |
US10157158B2 (en) * | 2017-01-27 | 2018-12-18 | Ford Global Technologies, Llc | Method and apparatus for distributed computing using controller area network protocols |
US11194562B2 (en) * | 2017-05-19 | 2021-12-07 | Blackberry Limited | Method and system for hardware identification and software update control |
CN109002305B (zh) * | 2017-06-05 | 2022-09-09 | 深圳市海洋王照明工程有限公司 | 一种设备程序的更新方法及其系统 |
WO2018230084A1 (ja) | 2017-06-13 | 2018-12-20 | 住友電気工業株式会社 | 更新制御装置、制御方法、およびコンピュータプログラム |
KR102002517B1 (ko) * | 2017-06-30 | 2019-07-22 | 주식회사 페스카로 | 전자식 제어기 보안 기능 설정 방법 및 시스템 |
JP7094670B2 (ja) * | 2017-07-03 | 2022-07-04 | 矢崎総業株式会社 | 設定装置及びコンピュータ |
EP3435617B1 (en) | 2017-07-24 | 2021-05-26 | Nxp B.V. | A node, a vehicle, an integrated circuit and method for updating at least one rule in a controller area network |
JP6400249B1 (ja) * | 2017-07-26 | 2018-10-03 | 三菱電機株式会社 | 運転制御システムおよび運転支援方法 |
JP6773617B2 (ja) | 2017-08-21 | 2020-10-21 | 株式会社東芝 | 更新制御装置、ソフトウェア更新システムおよび更新制御方法 |
EP4152144A1 (en) * | 2017-10-24 | 2023-03-22 | Huawei International Pte. Ltd. | Vehicle-mounted device upgrade method and related device |
JP7027809B2 (ja) * | 2017-10-31 | 2022-03-02 | 京セラドキュメントソリューションズ株式会社 | アップデートシステム |
JP6915500B2 (ja) * | 2017-11-06 | 2021-08-04 | トヨタ自動車株式会社 | 更新システム、電子制御装置、更新管理装置、及び更新管理方法 |
DE102017220526A1 (de) * | 2017-11-17 | 2019-05-23 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren und Vorrichtung zur Aktualisierung von Software |
EP3531322A4 (en) * | 2017-12-28 | 2020-01-22 | Shenzhen Launch Software Co., Ltd. | METHOD AND DEVICE FOR CHECKING THE UPDATE OF A DIAGNOSTIC PLUG OF A DIAGNOSTIC DEVICE AND DIAGNOSTIC PLUG |
US11351979B2 (en) * | 2017-12-31 | 2022-06-07 | Hyliion Inc. | Supplemental electric drive with primary engine recognition for electric drive controller adaptation |
JP6950539B2 (ja) * | 2018-01-12 | 2021-10-13 | 株式会社デンソー | ネットワークシステム |
JP6950540B2 (ja) * | 2018-01-12 | 2021-10-13 | 株式会社デンソー | ネットワークシステム |
JP7047444B2 (ja) * | 2018-02-16 | 2022-04-05 | トヨタ自動車株式会社 | 車両制御装置、電子制御ユニット、制御方法、制御プログラム、車両、otaマスタ、システム及びセンタ |
JP7173271B2 (ja) * | 2018-02-19 | 2022-11-16 | 大日本印刷株式会社 | ネットワーク通信システム |
JP6992667B2 (ja) * | 2018-04-20 | 2022-01-13 | 株式会社オートネットワーク技術研究所 | 車載更新装置、車載更新システム、更新処理方法及び更新処理プログラム |
US11010152B2 (en) * | 2018-08-03 | 2021-05-18 | Dell Products L.P. | Systems and methods to stage external device firmware for an external device in an information handling system |
JP7003976B2 (ja) | 2018-08-10 | 2022-01-21 | 株式会社デンソー | 車両用マスタ装置、更新データの検証方法及び更新データの検証プログラム |
JP6984636B2 (ja) * | 2018-08-10 | 2021-12-22 | 株式会社デンソー | 車両用電子制御システム、電源自己保持の実行制御方法及び電源自己保持の実行制御プログラム |
WO2020032200A1 (ja) * | 2018-08-10 | 2020-02-13 | 株式会社デンソー | センター装置,諸元データの生成方法及び諸元データ生成用プログラム |
WO2020032121A1 (ja) * | 2018-08-10 | 2020-02-13 | 株式会社デンソー | 車両用マスタ装置、更新データの検証方法及び更新データの検証プログラム |
US11064323B2 (en) * | 2018-08-23 | 2021-07-13 | Ford Global Technologies, Llc | Method and apparatus for peer to peer distribution strategy for updates |
DE102018218736A1 (de) * | 2018-11-01 | 2020-05-07 | Continental Automotive Gmbh | Vorrichtung zum Konfigurieren und zum Validieren eines Eingriffs in ein Echtzeit-Ethernet-Datennetzwerk |
JP7067508B2 (ja) * | 2019-02-22 | 2022-05-16 | 株式会社デンソー | ネットワークシステム |
EP3702910B1 (en) * | 2019-03-01 | 2022-06-29 | ABB Schweiz AG | Online firmware upgrade of a node in a process control system |
JP6780724B2 (ja) * | 2019-03-18 | 2020-11-04 | 株式会社オートネットワーク技術研究所 | 車載更新装置、更新処理プログラム及び、プログラムの更新方法 |
JP7123843B2 (ja) * | 2019-03-29 | 2022-08-23 | 日立Astemo株式会社 | 演算装置、判定方法 |
CN112350980B (zh) * | 2019-08-09 | 2023-06-06 | 中兴通讯股份有限公司 | 一种软件包传输、传输验证方法、网络设备及存储介质 |
NZ786912A (en) * | 2019-09-25 | 2022-08-26 | Shift5 Inc | Passive monitoring and prevention of unauthorized firmware or software upgrades between computing devices |
JP7230760B2 (ja) * | 2019-09-30 | 2023-03-01 | トヨタ自動車株式会社 | 中継装置および外部装置 |
JP7298427B2 (ja) * | 2019-10-07 | 2023-06-27 | トヨタ自動車株式会社 | プログラム更新システムおよびプログラム更新方法 |
DE102020110271B3 (de) * | 2020-04-15 | 2021-10-07 | Audi Aktiengesellschaft | Steuergerät für ein Fahrzeug und Verfahren zum Testen eines Programmelements einer Fahrzeugfunktion sowie Kraftfahrzeug mit einem Steuergerät |
US11038966B1 (en) * | 2020-04-28 | 2021-06-15 | Arm Ip Limited | Remote device operation |
CN113805908B (zh) * | 2020-06-17 | 2024-09-13 | 瑞昱半导体股份有限公司 | 固件更新系统和方法 |
CN112099818A (zh) * | 2020-07-31 | 2020-12-18 | 奇瑞汽车股份有限公司 | 一种保证汽车远程升级安全的方法 |
JP7327325B2 (ja) * | 2020-08-31 | 2023-08-16 | トヨタ自動車株式会社 | 車載機器、情報生成方法、情報生成プログラム、および、車両 |
JP7494712B2 (ja) | 2020-11-27 | 2024-06-04 | 株式会社デンソー | 電子制御装置、ソフトウェア更新方法、ソフトウェア更新プログラム、及び電子制御システム |
JP7487693B2 (ja) | 2021-03-19 | 2024-05-21 | 株式会社デンソー | 通信システム、および中継装置 |
US20220404786A1 (en) * | 2021-06-16 | 2022-12-22 | Fisher-Rosemount Systems, Inc. | Systems and Methods for Dynamically Maintained Redundancy and Load Balancing in Software Defined Control Systems for Industrial Process Plants |
JP7540401B2 (ja) | 2021-06-22 | 2024-08-27 | トヨタ自動車株式会社 | センタ、otaマスタ、方法、プログラム、及び車両 |
US11868755B2 (en) * | 2021-07-30 | 2024-01-09 | Toyota Motor Engineering & Manufacturing North America, Inc. | Updating software installed on an electronic unit on a vehicle |
US12112199B2 (en) | 2021-11-30 | 2024-10-08 | Honeywell International Inc. | Interruptible LZO decompression |
JP2023085002A (ja) * | 2021-12-08 | 2023-06-20 | 株式会社オートネットワーク技術研究所 | 車載装置、プログラム、プログラムの更新方法、及び車載更新システム |
KR102411797B1 (ko) * | 2021-12-24 | 2022-06-22 | 쌍용자동차 주식회사 | 하드웨어 기반의 차량 사이버보안시스템 |
US12124839B2 (en) | 2021-12-27 | 2024-10-22 | Honeywell International Inc. | BSIDIFF delta upgrade in external storage |
US12079622B2 (en) | 2022-01-05 | 2024-09-03 | Honeywell International Inc. | Interruptable BSDIFF delta decompression |
KR102472413B1 (ko) * | 2022-01-25 | 2022-11-30 | 쌍용자동차 주식회사 | 차랑 내 통신 네트워크 보안방법 |
JP2024073194A (ja) * | 2022-11-17 | 2024-05-29 | 横河電機株式会社 | 更新補助デバイス、更新補助方法、および、更新補助プログラム、ならびに、フィールド機器 |
WO2024219242A1 (ja) * | 2023-04-18 | 2024-10-24 | 株式会社オートネットワーク技術研究所 | 冗長系ecu、プログラム、及び情報処理方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040039500A1 (en) * | 2000-08-01 | 2004-02-26 | Sandro Amendola | Method for loading software |
CN1664792A (zh) * | 2004-03-04 | 2005-09-07 | 丰田自动车株式会社 | 车辆控制系统中的数据处理装置 |
JP2006164030A (ja) * | 2004-12-09 | 2006-06-22 | Canon Inc | マルチファンクション装置のファームウエアアップデート方法 |
JP2009065412A (ja) * | 2007-09-06 | 2009-03-26 | Auto Network Gijutsu Kenkyusho:Kk | 車載用通信システム |
JP2011121425A (ja) * | 2009-12-09 | 2011-06-23 | Nec Corp | 車載制御システム、無線通信システム、車載制御システムの制御方法、及び統合通信ecu |
CN102193808A (zh) * | 2010-02-08 | 2011-09-21 | 株式会社万都 | 车辆软件下载系统及其方法 |
US20140114497A1 (en) * | 2011-07-06 | 2014-04-24 | Hitachi Automotive Systems, Ltd. | In-Vehicle Network System |
JP2015103163A (ja) * | 2013-11-27 | 2015-06-04 | 株式会社オートネットワーク技術研究所 | プログラム更新システム及びプログラム更新方法 |
CN104773120A (zh) * | 2014-01-13 | 2015-07-15 | 现代自动车株式会社 | 用于高效重新编程的车内设备及其控制方法 |
CN104823165A (zh) * | 2012-11-29 | 2015-08-05 | 株式会社电装 | 车载程序更新装置 |
US20150261521A1 (en) * | 2014-03-11 | 2015-09-17 | Hyuksang CHOI | Mobile system including firmware verification function and firmware update method thereof |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4288893B2 (ja) * | 2001-09-26 | 2009-07-01 | ソニー株式会社 | 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子 |
JP3928505B2 (ja) | 2002-07-05 | 2007-06-13 | 株式会社デンソー | 車両用通信システム |
WO2005093567A1 (de) * | 2004-03-09 | 2005-10-06 | Bayerische Motoren Werke Aktiengesellschaft | Aktualisierung und/oder erweiterung der funktionalität der ablaufsteuerung mindestens eines steuergeräts |
JP2010273181A (ja) | 2009-05-22 | 2010-12-02 | Denso Corp | 車載デバイス管理システム |
JP2010282385A (ja) * | 2009-06-04 | 2010-12-16 | Fujitsu Ten Ltd | 情報処理システム |
JP2013246718A (ja) * | 2012-05-28 | 2013-12-09 | Auto Network Gijutsu Kenkyusho:Kk | 制御システム及びプログラム更新方法 |
US8813061B2 (en) * | 2012-10-17 | 2014-08-19 | Movimento Group | Module updating device |
JP2014182571A (ja) * | 2013-03-19 | 2014-09-29 | Denso Corp | 車載電子制御装置のプログラム書換システム及び車載中継装置 |
JP6181493B2 (ja) | 2013-09-20 | 2017-08-16 | 国立大学法人名古屋大学 | 書換検出システム、書換検出装置及び情報処理装置 |
JP6351245B2 (ja) * | 2013-12-03 | 2018-07-04 | キヤノン株式会社 | 画像形成装置及びその制御方法、並びにプログラム |
EP2881857B8 (de) * | 2013-12-09 | 2018-09-12 | dSPACE digital signal processing and control engineering GmbH | Verfahren zur Änderung der Software im Speicher eines elektronischen Steuergerätes |
US20160321057A1 (en) * | 2013-12-27 | 2016-11-03 | Kyocera Document Solutions Inc. | Electronic apparatus |
JP2017004220A (ja) * | 2015-06-09 | 2017-01-05 | 株式会社東芝 | 通信装置、通信システム、通信方法およびプログラム |
US9916151B2 (en) * | 2015-08-25 | 2018-03-13 | Ford Global Technologies, Llc | Multiple-stage secure vehicle software updating |
JP6675271B2 (ja) | 2015-09-14 | 2020-04-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
-
2016
- 2016-05-31 JP JP2016109585A patent/JP6675271B2/ja active Active
- 2016-06-27 EP EP16845860.2A patent/EP3352079B1/en active Active
- 2016-06-27 CN CN201680001976.8A patent/CN106796538B/zh active Active
-
2017
- 2017-03-22 US US15/465,653 patent/US10725762B2/en active Active
-
2020
- 2020-03-10 JP JP2020040713A patent/JP6889296B2/ja active Active
- 2020-06-16 US US16/902,780 patent/US11599349B2/en active Active
-
2021
- 2021-05-20 JP JP2021085149A patent/JP7071574B2/ja active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040039500A1 (en) * | 2000-08-01 | 2004-02-26 | Sandro Amendola | Method for loading software |
CN1664792A (zh) * | 2004-03-04 | 2005-09-07 | 丰田自动车株式会社 | 车辆控制系统中的数据处理装置 |
JP2006164030A (ja) * | 2004-12-09 | 2006-06-22 | Canon Inc | マルチファンクション装置のファームウエアアップデート方法 |
JP2009065412A (ja) * | 2007-09-06 | 2009-03-26 | Auto Network Gijutsu Kenkyusho:Kk | 車載用通信システム |
JP2011121425A (ja) * | 2009-12-09 | 2011-06-23 | Nec Corp | 車載制御システム、無線通信システム、車載制御システムの制御方法、及び統合通信ecu |
CN102193808A (zh) * | 2010-02-08 | 2011-09-21 | 株式会社万都 | 车辆软件下载系统及其方法 |
US20140114497A1 (en) * | 2011-07-06 | 2014-04-24 | Hitachi Automotive Systems, Ltd. | In-Vehicle Network System |
CN104823165A (zh) * | 2012-11-29 | 2015-08-05 | 株式会社电装 | 车载程序更新装置 |
JP2015103163A (ja) * | 2013-11-27 | 2015-06-04 | 株式会社オートネットワーク技術研究所 | プログラム更新システム及びプログラム更新方法 |
CN104773120A (zh) * | 2014-01-13 | 2015-07-15 | 现代自动车株式会社 | 用于高效重新编程的车内设备及其控制方法 |
US20150261521A1 (en) * | 2014-03-11 | 2015-09-17 | Hyuksang CHOI | Mobile system including firmware verification function and firmware update method thereof |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110809755A (zh) * | 2017-07-04 | 2020-02-18 | 日立汽车系统株式会社 | 电子控制系统 |
CN110809755B (zh) * | 2017-07-04 | 2023-09-29 | 日立安斯泰莫株式会社 | 电子控制系统 |
CN109324589A (zh) * | 2017-07-31 | 2019-02-12 | 现代自动车株式会社 | 用于有效重新编程的车载装置及其控制方法 |
CN109324590A (zh) * | 2017-08-01 | 2019-02-12 | 松下电器(美国)知识产权公司 | 管理系统、车辆及信息处理方法 |
CN109324590B (zh) * | 2017-08-01 | 2023-08-22 | 松下电器(美国)知识产权公司 | 管理系统、车辆及信息处理方法 |
CN110463142A (zh) * | 2018-01-22 | 2019-11-15 | 松下电器(美国)知识产权公司 | 车辆异常检测服务器、车辆异常检测系统及车辆异常检测方法 |
CN110290164A (zh) * | 2018-03-19 | 2019-09-27 | 丰田自动车株式会社 | 网关装置以及通信方法 |
CN110290164B (zh) * | 2018-03-19 | 2022-03-08 | 丰田自动车株式会社 | 网关装置以及通信方法 |
CN110764795A (zh) * | 2018-07-26 | 2020-02-07 | 广州汽车集团股份有限公司 | 车载升级通信模组、车辆在线升级装置、系统和方法 |
CN110780895A (zh) * | 2018-07-30 | 2020-02-11 | 丰田自动车株式会社 | 程序更新系统、程序更新服务器及车辆 |
WO2024001572A1 (zh) * | 2022-06-30 | 2024-01-04 | 中国第一汽车股份有限公司 | 控制器功能更新方法、系统、车辆和服务器 |
Also Published As
Publication number | Publication date |
---|---|
JP6889296B2 (ja) | 2021-06-18 |
EP3352079A1 (en) | 2018-07-25 |
US10725762B2 (en) | 2020-07-28 |
JP7071574B2 (ja) | 2022-05-19 |
EP3352079A4 (en) | 2018-10-31 |
JP2017059211A (ja) | 2017-03-23 |
US11599349B2 (en) | 2023-03-07 |
US20200310782A1 (en) | 2020-10-01 |
EP3352079B1 (en) | 2022-11-02 |
CN106796538B (zh) | 2024-04-19 |
JP2020107355A (ja) | 2020-07-09 |
US20170192770A1 (en) | 2017-07-06 |
JP6675271B2 (ja) | 2020-04-01 |
JP2021121963A (ja) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106796538A (zh) | 网关装置、车载网络系统以及固件更新方法 | |
JP6964163B2 (ja) | ゲートウェイ装置、ファームウェア更新方法及び制御プログラム | |
JP7280412B2 (ja) | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 | |
JP6618480B2 (ja) | 更新管理方法、更新管理システム及び制御プログラム | |
US11914987B2 (en) | Master update agent and distributed update agent architecture for vehicles | |
CN107251491B (zh) | 评价装置、评价系统以及评价方法 | |
JP6835935B2 (ja) | 更新管理方法、更新管理装置及び制御プログラム | |
JPWO2020090418A1 (ja) | 電子制御装置、電子制御装置のリプログラミング方法 | |
CN112148423A (zh) | 用于自主系统的评定和响应机制 | |
CN107943664A (zh) | 信息管理方法、设备及存储介质 | |
WO2017125978A1 (ja) | 評価装置、評価システム及び評価方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |