控制设备、程序更新方法和计算机程序转让专利

申请号 : CN201780004301.3

文献号 : CN108369505B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 关龙介

申请人 : 住友电气工业株式会社

摘要 :

一种控制设备,其控制对车载控制装置的控制程序的更新,所述车载控制装置控制安装在设置有多个电源的车辆中的目标装置,所述控制设备包括:检测单元,其检测向所述目标装置供电的所述多个电源的状态;以及确定单元,当由所述检测单元检测的所述多个电源的状态是所述多个电源中的至少两个电源能够输出更新所述控制程序所需的电力的状态时,确定控制程序是可更新的。

权利要求 :

1.一种控制设备,构造为控制对车载控制装置的控制程序的更新,所述车载控制装置控制安装在包括多个电源的车辆中的目标装置,所述控制设备包括:检测单元,构造为检测向所述目标装置供电的所述多个电源的状态;以及确定单元,构造为当由所述检测单元检测的所述多个电源的状态指示所述多个电源中的至少两个电源能够输出更新所述控制程序所需的电力时,确定对所述控制程序进行更新是可能的。

2.根据权利要求1所述的控制设备,其中,所述确定单元参照确定表来确定是否对所述控制程序进行更新,在所述确定表中针对所述多个电源的状态的组合的每一种预先定义了关于能否对所述控制程序进行更新的确定结果。

3.根据权利要求1所述的控制设备,其中,所述确定单元通过使用确定函数来确定能否对所述控制程序进行更新,所述确定函数被定义为输出针对所述多个电源的状态的每一种的预定值。

4.根据权利要求1至3中任一项所述的控制设备,其中

所述多个电源包括蓄电池,并且

由所述检测单元检测的所述电源的状态包括剩余电量。

5.根据权利要求1至3中任一项所述的控制设备,其中

所述多个电源包括发电机,并且

由所述检测单元检测的所述电源的状态包括所述发电机是否正在被驱动。

6.根据权利要求4所述的控制设备,其中,

所述多个电源包括发电机,并且

由所述检测单元检测的所述电源的状态包括所述发电机是否正在被驱动。

7.一种用于更新车载控制装置的控制程序的方法,所述车载控制装置控制安装在包括多个电源的车辆中的目标装置,所述方法包括以下步骤:检测向所述目标装置供电的所述多个电源的状态;以及

当检测到的所述多个电源的状态指示所述多个电源中的至少两个电源能够输出更新所述控制程序所需的电力时,确定对所述控制程序进行更新是可能的。

8.一种具有使计算机用作控制设备的计算机程序的非暂时性计算机可读存储介质,所述控制设备构造为控制对车载控制装置的控制程序的更新,所述车载控制装置控制安装在包括多个电源的车辆中的目标装置,所述计算机程序使所述计算机用作:检测单元,构造为检测向所述目标装置供电的所述多个电源的状态;以及确定单元,构造为当由所述检测单元检测的所述多个电源的状态指示所述多个电源中的至少两个电源能够输出更新所述控制程序所需的电力时,确定对所述控制程序进行更新是可能的。

说明书 :

控制设备、程序更新方法和计算机程序

技术领域

[0001] 本发明涉及控制设备、程序更新方法和计算机程序。
[0002] 本申请要求于2016年10月27日提交的日本专利申请No.2016‑210154的优先权,该申请的全部内容以引用方式并入本文中。

背景技术

[0003] 近年来在汽车领域,车辆在功能上已经取得了进步,并且在车辆中安装了各种各样的装置。因此,车辆配备有大量控制装置,即所谓的ECU(电子控制单元),以用于控制这些车载装置。
[0004] 每个车辆配备有各种类型的ECU,例如:行驶型ECU,其响应于对加速器、制动器和手柄的操作而控制发动机、制动器、EPS(电动转向)等;车体型ECU,其响应于乘员执行的开关操作来控制车内灯和车头灯的开/关、报警单元的声音等;以及仪表型ECU,其控制布置在驾驶员座位附近的仪表的操作。
[0005] 通常,每个ECU由诸如微型计算机的运算处理单元组成,并且通过读出存储在ROM(只读存储器)中的控制程序并执行读取的控制程序来实现对车载装置的控制。
[0006] ECU的控制程序可以根据车辆的目的地、等级等而不同。因此,响应于控制程序的升级,需要用新版本的控制程序来重写旧版本的控制程序。
[0007] 例如,专利文献1公开了通过无线电通信远程地更新安装在车辆中的ECU的程序的技术。具体地,车载通信装置等的网关从管理服务器接收更新程序,并且ECU通过使用接收到的更新程序用新版本的控制程序重写旧版本的控制程序。
[0008] 引文列表
[0009] [专利文献]
[0010] 专利文献1:日本特许公开的专利公布No.2007‑65856。
[0011] 专利文献2:日本特许公开的专利公布No.2007‑237905。

发明内容

[0012] 根据一个实施例的控制设备是这样一种控制设备,其构造为控制对车载控制装置的控制程序的更新,所述车载控制装置控制安装在包括多个电源的车辆中的目标装置。所述控制设备包括:检测单元,构造为检测向所述目标装置供电的所述多个电源的状态;以及确定单元,构造为当由所述检测单元检测的所述多个电源的状态指示所述多个电源中的至少两个电源能够输出更新所述控制程序所需的电力时,确定对所述控制程序进行更新是可能的。
[0013] 根据另一个实施例的程序更新方法是一种用于更新车载控制装置的控制程序的方法,所述车载控制装置控制安装在包括多个电源的车辆中的目标装置。该方法包括以下步骤:检测向所述目标装置供电的所述多个电源的状态;以及当检测到的所述多个电源的状态指示所述多个电源中的至少两个电源能够输出更新所述控制程序所需的电力时,确定对所述控制程序进行更新是可能的。
[0014] 根据又一实施例的计算机程序是用于使计算机用作控制设备的计算机程序,所述控制设备构造为控制对车载控制装置的控制程序的更新,所述车载控制装置控制安装在包括多个电源的车辆中的目标装置。计算机程序使计算机用作:检测单元,构造为检测向所述目标装置供电的所述多个电源的状态;以及确定单元,构造为当由所述检测单元检测的所述多个电源的状态指示所述多个电源中的至少两个电源能够输出更新所述控制程序所需的电力时,确定对所述控制程序进行更新是可能的。

附图说明

[0015] 图1是示出根据实施例的程序更新系统的整体构造的示图。
[0016] 图2是示出网关的内部构造的框图。
[0017] 图3是示出ECU的内部构造的框图。
[0018] 图4是示出管理服务器的内部构造的框图。
[0019] 图5是示出ECU的控制程序的更新的示例的顺序图。
[0020] 图6是示出包括在程序更新系统中的车辆的电源构造的示例的示意图。
[0021] 图7是示出用于确定能否对控制程序进行更新的确定表的示例的示图。
[0022] 图8是示出图5所示的步骤S5A中用于确定能否对控制程序进行更新的处理的具体内容的流程图。
[0023] 图9是示出包括在程序更新系统中的车辆的电源构造的另一示例的示意图。

具体实施方式

[0024] <本公开要解决的问题>
[0025] 如果向控制程序待更新的ECU供电的电池的电压降低,则ECU不能正常工作,并且不能正常执行更新。随后,控制程序的更新可能会中断,并且该中断可能导致程序的损坏。为了解决该问题,日本特许公开专利公布No.2007‑237905(专利文献2)公开了一种用于混合动力车辆的系统,该混合动力车辆配备有主电池和电压比主电池低的副电池,其中当向ECU供电的副电池的电压低于能够更新的电压时,不执行更新处理,并且从主电池向副电池充电。
[0026] 然而,在专利文献2公开的系统中,如果在更新期间向ECU供电的电源的电压降低,则更新处理中断。因此,上述问题仍未解决。
[0027] 本公开的一个方面的目的是提供一种控制设备、一种程序更新方法和一种计算机程序,其能够使配备有多个电源的车辆中的控制程序进行可靠地更新。
[0028] <本公开的效果>
[0029] 根据本公开,能够对配备有多个电源的车辆中的控制程序进行可靠地更新。
[0030] [实施例的描述]
[0031] 本发明的实施例至少包括以下内容。
[0032] 即,包括在实施例中的控制装置是这样一种控制设备,其构造为控制对车载控制装置的控制程序的更新,所述车载控制装置控制安装在包括多个电源的车辆中的目标装置。所述控制设备包括:检测单元,构造为检测向所述目标装置供电的所述多个电源的状态;以及确定单元,构造为当由所述检测单元检测的所述多个电源的状态指示所述多个电源中的至少两个电源能够输出更新所述控制程序所需的电力时,确定对所述控制程序进行更新是可能的。
[0033] 根据该构造,当执行对车载控制装置中的控制程序的更新时,存在能够供应更新控制程序所需的电力的两个或更多个电源。因此,即使在更新控制程序期间一个电源的电力减小,也可以从其他电源供电。由此,可靠地执行控制程序的更新而不会中断。
[0034] 优选地,所述确定单元参照确定表来确定能否对所述控制程序进行更新,在所述确定表中针对所述多个电源的状态的组合的每一种预先定义了关于能否对所述控制程序进行更新的确定结果。
[0035] 因此,可以容易且精确地确定能否对控制程序进行更新。
[0036] 优选地,所述确定单元通过使用确定函数来确定能否对所述控制程序进行更新,所述确定函数被定义为输出针对所述多个电源的状态的每一种的预定值。
[0037] 因此,可以容易且精确地确定能否对控制程序进行更新。
[0038] 优选地,多个电源包括蓄电池,并且由所述检测单元检测的所述电源的状态包括剩余电量。
[0039] 因此,即使在更新控制程序期间一个电源的电力减小,也可以从其他蓄电池供电。由此,可靠地执行控制程序的更新而不会中断。
[0040] 优选地,多个电源包括发电机,并且由所述检测单元检测的所述电源的状态包括所述发电机是否正在被驱动。
[0041] 因此,即使在更新控制程序期间一个电源的电力减小,也可以从正在驱动的发电机供电。由此,可靠地执行控制程序的更新而不会中断。
[0042] 包括在实施例中的程序更新方法是一种用于更新车载控制装置的控制程序的方法,所述车载控制装置控制安装在包括多个电源的车辆中的目标装置。该方法包括以下步骤:检测向所述目标装置供电的所述多个电源的状态;以及当检测到的所述多个电源的状态指示所述多个电源中的至少两个电源能够输出更新所述控制程序所需的电力时,确定对所述控制程序进行更新是可能的。
[0043] 根据该构造,当执行对车载控制装置中的控制程序进行更新时,存在能够供应更新控制程序所需的电力的两个或更多个电源。因此,即使在更新控制程序期间一个电源的电力减小,也可以从其他电源供电。由此,可靠地执行控制程序的更新而不会中断。
[0044] 包括在实施例中的计算机程序是用于使计算机用作控制设备的计算机程序,所述控制设备构造为控制对车载控制装置的控制程序的更新,所述车载控制装置控制安装在包括多个电源的车辆中的目标装置。计算机程序使计算机用作:检测单元,构造为检测向所述目标装置供电的所述多个电源的状态;以及确定单元,构造为当由所述检测单元检测的所述多个电源的状态指示所述多个电源中的至少两个电源能够输出更新所述控制程序所需的电力时,确定对所述控制程序进行更新是可能的。
[0045] 根据该构造,当执行对车载控制装置中的控制程序进行更新时,存在能够供应更新控制程序所需的电力的两个或更多个电源。因此,即使在更新控制程序期间一个电源的电力减小,也可以从其他电源供电。由此,可靠地执行控制程序的更新而不会中断。
[0046] [实施例的详细描述]
[0047] 下文中,将参照附图来描述优选实施例。在以下描述中,相同的附图标记指代相同的部件和组成元件。它们的名称和功能也相同。因此,没有必要进行重复描述。
[0048] <第一实施例>
[0049] [系统的整体构造]
[0050] 图1是示出根据第一实施例的程序更新系统的整体构造的示图。
[0051] 如图1所示,该实施例的程序更新系统包括车辆1、管理服务器5和DL(下载)服务器6,它们可以经由广域通信网络2彼此进行通信。
[0052] 管理服务器5和DL服务器6例如由车辆1的汽车制造商进行操作,并且可以与预先登记为会员的用户拥有的大量车辆1进行通信。
[0053] 每个车辆1配备有网关10、无线通信单元15、多个ECU 30以及由相应ECU 30控制的各种车载装置(未示出)。
[0054] 在车辆1中存在多个通信组,每个通信组由总线连接到公共车载通信线路的多个ECU 30形成,并且网关10对通信组之间的通信进行中继。因此,多个车载通信线路连接至网关10。
[0055] 无线通信单元15可通信地连接到诸如移动电话网络的广域通信网络2,并且经由车载通信线路连接到网关10。网关10将无线通信单元15通过广域通信网络2从外部装置(例如管理服务器5和DL服务器6)接收到的信息发送到ECU 30。
[0056] 网关10将从ECU 30获得的信息发送至无线通信单元15,并且无线通信单元15将该信息发送到例如管理服务器5等外部装置。
[0057] 对于安装在车辆1中的无线通信单元15,可以想到诸如用户拥有的移动电话、智能电话、平板型终端和笔记本PC(个人计算机)等装置。
[0058] 图1示出了网关10经由无线通信单元15与外部装置进行通信的示例性情况。然而,如果网关10有无线通信功能,则网关10本身可以与例如管理服务器5等外部装置进行通信。
[0059] 在图1所示的程序更新系统1中,管理服务器5和DL服务器6构造为分离的服务器。然而,这些服务器5和6可以构造为单个服务器单元。
[0060] [网关的内部构造]
[0061] 图2是示出网关10的内部构造的框图。
[0062] 如图2所示,网关10包括CPU 11、RAM(随机存取存储器)12、存储单元13、车载通信单元14等。尽管网关10经由车载通信线路连接至无线通信单元15。但是网关10和无线通信单元15可以构造为单个装置。
[0063] 通过将存储在存储单元13中的一个或多个程序读出到RAM 12并执行读取的程序,CPU 11使网关10用作用于中继各种信息的中继装置。
[0064] 例如,CPU 11可以通过在多个程序之间以分时方式切换来并行地执行多个程序。CPU 11可以是表示多个CPU组的CPU。在这种情况下,由CPU 11实现的功能由多个CPU组相互协作来实现。RAM 12由诸如SRAM(静态RAM)或DRAM(动态RAM)的存储器元件组成,并且在其中临时存储由CPU 11待执行的程序、执行程序所需的数据等。
[0065] 由CPU 11实现的计算机程序可以在记录在诸如CD‑ROM或DVD‑ROM等公知记录介质中的状态下被传送,或者可以从例如服务器计算机等计算机装置中通过数据传输(下载)来传送。
[0066] 在这个方面中,这同样适用于由稍后描述的ECU 30(参考图3)的CPU 31执行的计算机程序和由稍后描述的管理服务器5(参考图4)的CPU 51执行的计算机程序。
[0067] 例如,存储单元13由诸如闪速存储器或EEPROM的非易失性存储器元件组成。存储单元具有存储区域,在存储区域中存储有由CPU 11待执行的程序、执行该程序所需的数据等。在存储单元13中,还存储有从DL服务器6接收的各个ECU 30的更新程序。
[0068] 多个ECU 30经由布置在车辆1中的车载通信线路连接至车载通信单元14。例如,车载通信单元14根据以下标准与ECU 30进行通信,该标准诸如为:CAN(控制器区域网络)、CANFD(具有灵活数据速率的CAN)、LIN(局域互连网)、以太网(注册商标)或MOST(面向媒体的系统传输:MOST是注册商标)。
[0069] 车载通信单元14将从CPU 11提供的信息发送至目标ECU 30,并且将从ECU 30接收的信息提供至CPU 11。除了上述通信标准之外,车载通信单元14可以根据用于车载网络的其他通信标准与ECU 30进行通信。
[0070] 无线通信单元15由无线通信设备组成,所述无线通信设备包括天线和执行对来自天线的无线电信号的发送/接收的通信电路。在当连接至例如移动电话网络等广域通信网络2时,无线通信单元15能够与外部装置进行通信。
[0071] 无线通信单元15将从CPU 11提供的信息经由由基站(未示出)形成的广域通信网络2发送到例如管理服务器5等外部装置,并且将从外部装置接收到的信息提供给CPU 11。
[0072] 代替图2所示的无线通信单元15,可以采用车辆1内部的用作中继装置的有线通信单元。有线通信单元具有连接器,其连接至符合诸如USB(通用串行总线)或RS232C的标准的通信电缆,并且经由通信电缆与连接到其的另一通信装置执行有线通信。
[0073] 如果其他通信装置和例如管理服务器5等外部装置能够经由广域通信网络2彼此无线通信,则外部装置与网关10可以通过由外部装置、其他通信装置、有线通信单元和网关10按顺序组成的通信路径彼此进行通信。
[0074] [ECU的内部构造]
[0075] 图3是示出ECU 30的内部构造的框图。
[0076] 如图3所示,ECU 30包括CPU 31、RAM 32、存储单元33、通信单元34等。ECU 30是单独控制安装在车辆1中的目标装置的车载控制装置。ECU 30的类型的示例包括电源控制ECU、发动机控制ECU、转向控制ECU和门锁控制ECU。
[0077] 通过将预先存储在存储单元33中的一个或多个程序读出到RAM 32并执行读取的程序,CPU 31控制CPU 31负责的目标装置的操作。CPU 31可以是表示多个CPU组的CPU,并且由CPU 31待执行的控制可以由多个CPU组彼此协作地执行。
[0078] RAM 32由诸如SRAM或DRAM等存储器元件组成,并且在其中临时存储由CPU 31待执行的程序、执行程序所需的数据等。
[0079] 存储单元33由例如闪速存储器或EEPROM等非易失性存储器元件或例如硬盘等磁存储装置组成。
[0080] 存储在存储单元33中的信息包括例如使得CPU 31执行用于控制目标装置(其作为车辆内的控制目标)的信息处理的计算机程序(在下文中称为“控制程序”)。
[0081] 网关10经由布置在车辆1中的车载通信线路连接至通信单元34。例如,通信单元34根据例如CAN、Ethernet或MOST的标准与网关10进行通信。
[0082] 通信单元34将从CPU 31提供的信息发送至网关10,并且将从网关10接收的信息提供至CPU 31。除了上述通信标准之外,通信单元34可以根据用于车载网络的其他通信标准与网关10进行通信。
[0083] ECU 30的CPU 31包括启动单元35,该启动单元35将由CPU 31执行的控制模式在“正常模式”和“重新编程模式”(以下也称为“再现模式”)之间切换。
[0084] 正常模式是ECU 30的CPU 31执行对目标装置的原始控制(例如,用于燃料发动机的发动机控制或门锁电机的门锁控制)的控制模式。
[0085] 重新编程模式是CPU 31更新用于控制目标装置的控制程序的控制模式。
[0086] 也就是说,重新编程模式是CPU 31将控制程序从存储单元33中的ROM区域中擦除以及将控制程序在存储单元33中的ROM区域进行重写的控制模式。只有在CPU 31处于该控制模式下,CPU 31才允许将存储在存储单元33的ROM区域中控制程序更新成新版本的控制程序。
[0087] 当在再现模式下,CPU 31将新版本的控制程序写入存储单元33时,启动单元35临时重新启动(复位)ECU 30,并且对已经写入新版本的控制程序的存储区域执行验证处理。
[0088] 在完成验证处理之后,启动单元35用更新的控制程序操作CPU 31。
[0089] [管理服务器的内部结构]
[0090] 图4是示出管理服务器5的内部结构的框图。
[0091] 如图4所示,管理服务器5包括CPU 51、ROM 52、RAM 53、存储单元54、通信单元55等。
[0092] 通过将预先存储在ROM 52中的多个程序读出至RAM 53并且执行读取的程序,CPU 51控制每个硬件部件的操作,并且使管理服务器5用作与网关10进行通信的外部装置。CPU 
31也可以是表示多个CPU组的CPU,并且由CPU 51待实现的功能可以由多个CPU组彼此协作地实现。
[0093] RAM 53由诸如SRAM或DRAM的存储器元件组成,并且在其中临时存储由CPU 51待执行的程序、执行程序所需的数据等。
[0094] 存储单元54由例如闪速存储器或EEPROM等非易失性存储器元件或例如硬盘等磁存储装置组成。
[0095] 通信单元55由根据预定的通信标准执行通信处理的通信装置组成。在当连接至例如移动电话网络等广域通信网络2时,通信单元55执行通信处理。通信单元55将从CPU 51提供的信息经由广域通信网络2发送至外部装置,并且将经由广域通信网络2接收的信息提供至CPU 51。
[0096] [控制程序更新序列]
[0097] 图5是示出对本发明的实施例的程序更新系统中执行的用于对ECU的控制程序进行更新的示例的顺序图。例如,管理服务器5确定更新预先登记的车辆1的ECU的控制程序的定时。例如,可以由车辆1的汽车制造商设定更新的定时。
[0098] 当更新ECU的控制程序的定时到来时,管理服务器5向相应车辆1的网关10发送下载请求和存储了用于ECU30的更新程序的URL(步骤S1)。
[0099] 因此,网关10从DL服务器6下载用于ECU 30的更新程序(步骤S2)。网关10将接收的更新程序临时存储在其存储单元13中。
[0100] 在完成更新程序的存储时,网关10通知管理服务器5:DL已经正常完成(步骤S3)。如果更新自动继续,则已经接收到DL完成通知的管理服务器5向网关10发送控制程序更新请求。在完成DL之后,管理服务器5可以临时中止该处理,并且可在接收到来自外部的更新请求时向网关10发送控制程序更新请求(步骤S4)。
[0101] 在接收到更新请求时,网关10基于安装在车辆1中的多个电源的状态来确定能否对控制程序进行更新(步骤S5A)。在确定可以对控制程序进行更新时,网关10将控制程序更新请求发送到相应的ECU30,以便通过使用存储在存储单元13中的更新程序来更新控制程序(步骤S6)。在步骤S6中,网关10可以通知用户对控制程序的更新是可能的,并且可以响应于用于启动所述更新的用户操作而请求ECU 30执行更新。
[0102] 在接收到控制程序更新请求时,ECU 30将其控制模式从正常模式切换到再现模式。因此,ECU变为能够执行控制程序更新处理。
[0103] ECU 30扩展接收到的更新程序并将更新程序应用于旧版本的控制程序,从而将控制程序从旧版本重写为新版本(步骤S7)。当完成重写时,ECU 30将重写完成通知发送至网关10(步骤S8)。当从相应的ECU 30接收到重写完成通知时,网关10将更新完成通知发送至管理服务器5(步骤S9)。
[0104] [车辆的电源构造]
[0105] 图6是示出车辆1的电源构造的示例的示意图。图6示出了被称为常规车辆的常规型车辆(其并不是混合动力车辆)的电源构造的示例。参照图6,车辆1包括作为主电池的第一电池21、作为副电池的第二电池22以及交流发电机(ALT)23。它们是安装在车辆1中的多个电源。
[0106] 例如,第一电池21和第二电池22可以具有例如12V的相同电压,或者可以分别具有例如48V和12V的不同电压。对于电池21和22,通常使用铅酸蓄电池。可替代地,可以使用锂离子电池、镍氢电池或其组合。
[0107] 第一电池21主要对驱动系统供电。用于发动机启动的电源控制ECU 30A、发动机控制ECU 30B和启动器24连接到第一电池21,并且从第一电池21供电。此外,多个ECU 30C连接至第一电池21,并且从第一电池21供电。
[0108] 第二电池22对其他电力系统供电。其他电力系统例如是车内灯、空调和门锁。用于控制这些电力系统的多个ECU 30C连接至第二电池22,并且从第二电池22供电。
[0109] 优选地,继电器29A和29B连接至第一电池21和第二电池22。
[0110] 当继电器29A和29B都接通(继电状态)时,从第一电池21、第二电池22和ALT 23向电源控制ECU 30A和发动机控制ECU 30B以及多个ECU 30C供电。
[0111] 当继电器29A接通并且继电器29B断开(切断状态)时,从第一电池21和ALT 23向电源控制ECU 30A和发动机控制ECU 30B以及多个ECU 30C供电。
[0112] 当继电器29A断开并且继电器29B接通时,从第二电池22和ALT 23向电源控制ECU 30A和发动机控制ECU 30B以及多个ECU 30C供电。
[0113] 电源控制ECU 30A具有图3所示的内部构造。通过将预先存储在存储单元33中的一个或多个程序读出到RAM 32并执行读取的程序,电源控制ECU 30A的CPU 31控制作为多个电源的第一电池21、第二电池22和ALT 23。此外,电源控制ECU 30A的CPU 31控制继电器29A和29B的接通/断开,从而控制来自这些电源的供电。在图6中,虚线指示电源控制ECU 30A与受控装置之间的信号流动。在根据第一实施例的程序更新系统中,电源控制ECU 30A的CPU 31使继电器29A和29B两者维持在他们的接通状态。
[0114] 电源控制ECU 30A的CPU 31从多个电源获得指示它们自身的状态的信号。电池21和22的状态指示其电荷量。ALT 23的状态指示ALT 23是被驱动还是暂停,即ALT 23是否发电。换句话说,电源控制ECU 30A的CPU 31用做检测多个电源的状态的检测单元。
[0115] 在图6中,由电源控制ECU 30A执行上述电源控制。同时,在以下描述中,由电源控制ECU 30A执行电源控制。然而,电源控制不仅可以通过电源控制ECU 30A来执行,而且可以通过发动机控制ECU 30B或其他ECU 30C来执行,或者可以通过这些ECU协作来实现。
[0116] [网关的功能构造]
[0117] 网关10的CPU 11基于安装在车辆1中的多个电源的状态来确定能否对目标ECU中的控制程序进行更新。通过读出存储在存储单元13中的一个或多个程序并执行读取的程序,CPU 11用作执行上述确定的确定单元。
[0118] 用作确定单元的网关10的CPU 11根据以下情况下执行控制程序更新处理的标准来确定能否对控制程序进行更新:向ECU供电的多个电源中的至少两个电源能够输出更新控制程序所需的电力。
[0119] 电池能够输出更新控制程序所需的电力的情况为电池存储的电量等于或大于更新控制程序所需的电量的情况。优选地,电池能够输出更新控制程序所需的电力的情况为电池存储的电力比更新控制程序所需的电量大规定量(或规定百分比)或更多的情况。
[0120] ALT能够输出更新控制程序所需的电力的情况为ALT正在被驱动(发电)的情况。优选地,ALT能够输出更新控制程序所需的电力的情况为ALT正在发电并且发电量等于或大于更新控制程序所需的电量的情况。更具体地说,发电量比更新控制程序所需的电量大规定量(或规定百分比)或更多。
[0121] 例如,网关10的CPU 11基于各个电源的状态而参照预先定义关于能否更新控制程序的确定结果的信息来确定能否对所述控制程序进行更新。例如,基于各个电源的状态而预先定义的关于能否更新控制程序的确定结果的信息为确定表。例如,确定表被存储在网关10的存储单元13中。
[0122] 图7示出了由网关10的CPU使用的用于确定为能否更新控制程序的确定表。在图7中,针对具有图6所示的电源构造的车辆1能够采用的每个电源状态,已经预先定义了关于能否更新控制程序的确定结果。
[0123] 参照图7,确定表包括以下项:“第一电池状态”、“第二电池状态”、“交流发电机状态”和“可能再现/不可能再现”。
[0124] “第一电池状态”是指示第一电池21的状态的项,并且“第二电池状态”是指示第二电池22的状态的项。在“第一电池状态”和“第二电池状态”的项中,描述了意味着电池能够输出更新控制程序所需的电力的“足够剩余电力”或意味着电池不能输出所需电力的“少量剩余电力”。
[0125] “交流发电机状态”是指示ALT 23的状态的项。在“交流发电机状态”项中,描述了意味着ALT 23正在发电的“被驱动”或意味着ALT 23不发电的“暂停”。
[0126] “可能再现/不可能再现”是指示关于能否更新控制程序的确定结果的项。在“可能再现/不可能再现”项中,描述了意味着可能更新的确定结果的“可能”或意味着不可能更新的确定结果的“不可能”。
[0127] 车辆1可以采用以下电源状态1至8,每个状态是作为多个电源状态的“第一电池状态”、“第二电池状态”和“交流发电机状态”的组合。针对状态1至8的每一个,确定表限定了关于能否更新控制程序的确定结果。
[0128] 在状态1中,第一电池21具有“足够剩余电力”,第二电池22具有“足够剩余电力”,并且ALT 23正在“被驱动”。假定状态1为发动机正常工作的状态。针对状态1的确定结果被定义为“可能”。
[0129] 在状态2中,第一电池21具有“足够剩余电力”,第二电池22具有“足够剩余电力”,并且ALT 23正在“暂停”。假定状态2为滑行期间发动机停止或正常怠速停止的状态。针对状态2的确定结果被定义为“可能”。
[0130] 在状态3中,第一电池21具有“足够剩余电力”,第二电池22具有“少量剩余电力”,并且ALT 23正在“被驱动”。假定状态3是在发动机停止期间发动机从怠速停止重新启动之后紧接着的状态,或者发动机正在运转并且第二电池22处于异常状态的状态。针对状态3的确定结果被定义为“可能”。
[0131] 在状态4中,第一电池21具有“足够剩余电力”,第二电池22具有“少量剩余电力”,并且ALT 23正在“暂停”。假定状态4为发动机停止并且例如空调的电力系统的电力消耗较大的状态。针对状态4的确定结果被定义为“不可能”。
[0132] 在状态5中,第一电池21具有“少量剩余电力”,第二电池22具有“足够剩余电力”,并且ALT 23正在“被驱动”。假定状态5为车1正在行驶(发动机运转)并且例如空调的电力系统的电力消耗较大的状态。针对状态5的确定结果被定义为“可能”。
[0133] 在状态6中,第一电池21具有“少量剩余电力”,第二电池22具有“足够剩余电力”,并且ALT 23正在“暂停”。假定状态6为在发动机停止的情况下车辆1已经长时间停车的状态。针对状态6的确定结果被定义为“不可能”。
[0134] 在状态7中,第一电池21具有“少量剩余电力”,第二电池22具有“少量剩余电力”,并且ALT 23正在“被驱动”。假定状态7为车辆1正在行驶、例如空调的电力系统的电力消耗较大并且发动机刚刚重启的状态。针对状态7的确定结果被定义为“不可能”。
[0135] 在状态8中,第一电池21具有“少量剩余电力”,第二电池22具有“少量剩余电力”,并且ALT 23正在“暂停”。假定状态8为是例如空调等电力系统消耗相当大的电力后,发动机停止的情况下车辆1已经长时间停车的状态。针对状态8的确定结果被定义为“不可能”。
[0136] [用于确定能否更新控制程序的处理]
[0137] 图8是示出图5所示的步骤S5A中用于确定能否对控制程序进行更新的处理的具体内容的流程图。图8示出了在由安装在具有图6所示的电源构造的车辆1中的网关10进行确定的情况下,用于确定能否更新控制程序的处理的具体示例。当CPU 11将存储在存储单元13中的一个或多个程序读出至RAM 12,并执行读取的程序时,主要由网关10的CPU 11实现图8的流程所示的处理。
[0138] 参照图8,当从管理服务器5接收到更新控制程序的请求时(步骤S101中的是),网关10的CPU 11从电源控制ECU 30A获得各个电源(第一电池21、第二电池22和ALT 23)的状态。CPU 11基于各个电源的状态、参照存储在存储单元13中的确定表来确定能否进行更新。随后,基于确定结果,CPU 11指示目标ECU 30来更新控制程序。因此,执行更新(步骤S107)。
[0139] 例如,CPU 11确定ALT 23是否正在被驱动(步骤S103)。当ALT 23正在驱动时(步骤S103中的是),CPU 11确定第一电池21和第二电池22中的至少一个是否处于具有“足够剩余电力”的状态(步骤S105)。如果第一电池21和第二电池22中的至少一个处于具有“足够剩余电力”的状态(步骤S 103中的是和步骤S105中的是),则参照确定表,CPU 11确定更新控制程序是“可能”的。基于确定结果,CPU 11指示ECU 30来更新控制程序。
[0140] 当两个电池都处于具有“少量剩余电力”的状态(步骤S103中的是和步骤S105中的否),则参照确定表,CPU 11确定更新控制程序是“不可能”的。基于确定结果,CPU 11结束一系列的处理步骤而不指示ECU 30来更新控制程序。已经经过了规定时间之后,CPU 11可以从步骤S103开始重复处理步骤。
[0141] 当ALT 23正在暂停时(步骤S103中的否),CPU 11确定第一电池21和第二电池22两者是否都处于具有“足够剩余电力”的状态(步骤S109)。当两个电池都处于具有“足够剩余电力”的状态(步骤S103中的否和步骤S109中的是),则参照确定表,CPU 11确定更新控制程序是“可能”的。基于确定结果,CPU 11指示ECU 30来更新控制程序。
[0142] 当第一电池21和第二电池22中的一个处于具有“少量剩余电力”的状态(步骤S103中的否和步骤S109中的否),则参照确定表,CPU 11确定更新控制程序是“不可能”的。基于确定结果,CPU 11结束一系列的处理步骤而不指示ECU 30来更新控制程序。此外,在该情况下,已经经过了规定时间之后,CPU 11可以从步骤S103开始重复处理步骤。
[0143] 在从ECU 30接收到程序更新完成通知时,CPU 11可以结束一系列的处理步骤(步骤S111中的是)。如果CPU 11没有从ECU 30接收到程序更新完成通知,即,如果在ECU 30中程序的更新尚未正常完成(步骤S111中的否),则CPU 11可以从步骤S101开始重复一系列的处理步骤。
[0144] [第一实施例的效果]
[0145] 根据第一实施例的程序更新系统,当安装在车辆1中并且构造为对ECU供电的至少两个电源能够输出更新控制程序所需的电力时,确定对控制程序的更新是可能的。因此,当两个或更多个电源能够输出更新控制程序所需的电力时,开始对控制程序进行更新。否则,即如果能够输出更新控制程序所需的电力的电源的数量小于2时,不执行控制程序的更新。
[0146] 例如,假定只有向其控制程序待更新的ECU供电的第一电池能够输出更新控制程序所需的电力,而其他电源不能输出所需电力。在这种情况下,如果由于ECU中的控制程序的更新或任何其他原因而导致第一电池的电压降低,则控制程序的更新可能被中断。
[0147] 在这种情况下,在本实施例的程序更新系统中,更新控制程序所需的电力从第一电池以外的电源(例如第二电池)提供给ECU。因此,防止了ECU中的控制程序的更新被中断。这样,根据本实施例的程序更新系统,可以可靠地执行控制程序的更新。
[0148] <第二实施例>
[0149] 在根据第二实施例的程序更新系统中,电源控制ECU 30A的CPU 31根据正常模式和再现模式通过改变继电器29A和29B的接通/断开来改变供电状态。此外,当电池中的电荷量变得等于或小于规定量时,为了使另一个电源供电,供电控制ECU 30A的CPU 31可以通过改变继电器29A和29B的接通/断开来改变供电状态。即,在第二实施例中,电源控制ECU 30A的CPU 31根据正常模式和再现模式和/或电池中的电荷量来控制继电器29A和29B的接通/断开。
[0150] 此外,在第二实施例中,电源控制ECU 30A的CPU 31可根据车辆1可采取的供电状态1至8来控制继电器29A和29B的接通/断开,使得处于具有“足够剩余电力”的状态的电池或者处于驱动的ALT 23对处于具有“少量剩余电力”的状态的电池进行充电,并且向控制程序待更新的ECU供电。
[0151] [第二实施例的效果]
[0152] 即使在车辆1中安装了多个电源并且规定了在正常模式下各个电源对其供电的一个或多个ECU的情况下,根据第二实施例的程序更新系统也可以在再现模式和正常模式之间改变来自每个电源的电力的目的地。由此,能够避免向控制程序待更新的ECU供电的电池的电力下降,从而避免ECU中的控制程序的更新中断。因此,在根据本实施例的控制程序更新系统中,也可以可靠地执行控制程序的更新。
[0153] <第三实施例>
[0154] 在根据第一实施例和第二实施例的程序更新系统中,网关10确定能否对程序进行更新。然而,除网关10之外的装置也可以确定能否对程序进行更新。例如,管理服务器5可以执行该确定。根据第三实施例的管理服务器5在图5所示的步骤S5B的定时处确定能否进行更新。也就是说,在网关10通知更新程序的下载已经完成时,管理服务器5确定能否进行更新(步骤S5B),并且在管理服务器5已经确定更新是可能的定时处,请求网关10执行更新(步骤S4)。
[0155] 在这种情况下,管理服务器5的CPU 51具有确定能否更新程序的功能。该功能主要由CPU 51在所述CPU 51将存储在ROM 52中的一个或多个程序读出,并执行读取的程序时实现。然后,所述功能的至少一部分可以由例如电子电路等硬件来实现。
[0156] 图7所示的确定表存储在管理服务器5的存储单元55中。管理服务器5的CPU 51从网关10获得指示安装在车辆1中并对ECU供电的多个电源的状态的信号。随后,CPU 51基于各个电源的状态、参照存储在存储单元55中的确定表来确定能否对车辆1中的ECU的控制程序进行更新。
[0157] 对于存储在管理服务器5中的存储单元55中的确定表,不同的车辆1可以具有不同的确定表或者可以具有相同的确定表。确定表可以存储在每个车辆1的网关10的存储单元13中。在这种情况下,管理服务器5参照存储在网关10的存储单元13中的确定表。
[0158] <第四实施例>
[0159] 在第一实施例至第三实施例中,已经描述了车辆1具有图6所示的电源构造的示例性情况。然而,车辆1不限于作为所谓的常规车辆的发动机车辆。图9是示出车辆1的电源构造的另一示例的示意图。图9是示出混合动力车辆的电源构造的示例的示意图。参照图9,车辆1包括作为多个电源的第一电池21(作为具有例如48V电压的主电池)、第二电池22(作为具有例如12V的、低于第一电池21的电压的副电池)以及电动发电机(MG)25。
[0160] 第一电池21和MG 25连接至电源控制ECU 30D,并向ECU 30D供电。第二电池22连接至其他ECU 30C并向ECU 30C供电。
[0161] DC/DC转换器26连接在第一电池21和MG 25对其供电的电路以及第二电池22对其供电的电路之间。由于DC/DC转换器26在这些电路之间进行电压转换,因此允许第一电池21和MG 25向其他ECU 30C供电,并且允许第二电池22向电源控制ECU 30D供电。
[0162] 即使当车辆1具有上述电源构造时,如果以与上述类似的方式执行关于能否更新控制程序的确定,则可以可靠地执行控制程序的更新。
[0163] <第五实施例>
[0164] 由网关10的CPU 11或管理服务器5的CPU 51确定控制程序能否更新的方法不限于使用确定表的方法。作为另一示例,可以使用确定函数F执行该确定,确定函数F被定义为根据向ECU供电的多个电源中的每一个的状态来输出预定值。
[0165] 在车辆1具有图6所示的电源构造的情况下,例如,对于如下定义的状态变量x至z,输出确定函数F(x,y,z)=x+y+z。
[0166] x:表示第一电池21的状态的变量;x=1指示剩余电力足够,并且x=0指示剩余电力很少。
[0167] y:表示第二电池22的状态的变量;y=1指示剩余电力足够,并且y=0指示剩余电力很少。
[0168] z:表示ALT 23的状态的变量;z=1指示ALT 23正在被驱动,并且z=0指示ALT 23正在暂停。
[0169] 基于通过将表示各个电源的状态的值分别赋予变量x,y和z而获得的F(x,y,z)的值,用作确定单元的网关10的CPU 11确定如下。
[0170] F(x,y,z)≥2更新控制程序是可能的
[0171] F(x,y,z)<2更新控制程序是不可能的
[0172] 此外在使用确定函数F的情况下,基于在向ECU供电的多个电源中的至少两个电源能够输出更新控制程序所需的电力时执行控制程序更新处理的确定标准,来确定能否对控制程序进行更新。
[0173] 应该注意,这里公开的实施例在所有方面仅仅是说明性的,不应该认为是限制性的。本发明的范围不是由上述说明书限定,而是由权利要求的范围限定,并且旨在包括与权利要求的范围等同的含义以及范围内的所有修改。
[0174] 附图标记列表
[0175] 1 车辆
[0176] 2 广域通信网络
[0177] 5 管理服务器(控制设备)
[0178] 6 DL服务器
[0179] 10 网关(控制设备)
[0180] 11 CPU(确定单元)
[0181] 12 RAM
[0182] 13 存储单元
[0183] 14 车载通信单元
[0184] 15 无线通信单元
[0185] 20 控制电路
[0186] 21 第一电池
[0187] 22 第二电池
[0188] 23 ALT
[0189] 24 启动器
[0190] 25 MG
[0191] 26 DC/DC转换器
[0192] 29A、29B 继电器
[0193] 30、30A至30D ECU(车载控制装置)
[0194] 30A 电源控制ECU(确定单元)
[0195] 31 CPU
[0196] 32 RAM
[0197] 33 存储单元
[0198] 34 通信单元
[0199] 35 启动单元
[0200] 51 CPU(确定单元)
[0201] 52 ROM
[0202] 53 RAM
[0203] 54 存储单元
[0204] 55 通信单元