电子控制系统的制作方法

文档序号:19952596发布日期:2020-02-18 10:52阅读:234来源:国知局
电子控制系统的制作方法

本发明涉及一种例如配备fpga(fieldprogrammablegatearray现场可编程逻辑门阵列)等可重构电路装置的电子控制系统。



背景技术:

针对车辆中搭载的电子控制系统内的电子控制装置(ecu)的功能变更、功能追加,进行基于ota(over-the-air空中下载)的微型计算机的软件更新。

此外,在控制车辆中搭载的摄像机等的ecu中,可重构电路装置例如fpga的搭载在不断推进,出厂后,为了应对fpga的逻辑不良的修正、功能变更、功能追加等,考虑与微型计算机的软件更新同样地通过ota来进行fpga的逻辑变更。

在通过ota来进行fpga的逻辑变更的情况下,与微型计算机的软件更新一样,通过无线通信从数据中心向车辆发送更新后的逻辑(更新逻辑)。若通过无线通信发送的数据量较多,则会耗费通信成本和通信时间,因此要求减少所发送的数据量。

例如,在通过ota来进行fpga的逻辑变更的情况下,若更新所有配置数据,则通信数据量较多,因此,作为发送一部分配置数据的方法,已知有称为局部重配置(パーシャルリコンフィグレーション)的部分重构成功能。局部重配置可以只变更称为模块的预先设定的区域内的逻辑,因此能够通过以模块为单位发送配置数据来进行fpga的逻辑变更而不会发送所有配置数据。然而,当进行局部重配置时,是以模块为单位的逻辑变更,存在无法改变模块间的接口这一制约。

此处,对局部重配置简单进行说明。在局部重配置中,可以将fpga内的模块a1替换为具有同一接口而且具有不同功能的模块a2。由于模块a1与模块a2接口相同,因此,只要将模块a1替换为模块a2,模块a2和之前与模块a1相连的其他模块b1、c1便会连接起来。例如,专利文献1揭示了如下例子,即,准备多个配置rom,通过使用局部重配置的部分重构成来更换fpga的功能。

此外,作为与fpga的逻辑更新相关的技术,专利文献2揭示了如下技术,即,当在更新前未使用过的部分也要构成电路的情况下,为了能够诊断故障,与fpga的更新数据一起将诊断程序一并供给至电子控制装置。

现有技术文献

专利文献

专利文献1:日本专利特开2016-9339号公报

专利文献2:日本专利特开2015-106594号公报



技术实现要素:

发明要解决的问题

如上所述,若发送的数据量较多则会耗费通信成本,因此要求进一步减少发送的数据量。

对此,专利文献1记载的技术是基于局部重配置的部分重构成,即便更新对象模块在更新前后包含相同逻辑,也会对模块内的所有电路进行更新。因此,需要发送以模块为单位的数据。进而,在基于局部重配置的部分重构成中,是以模块间的位宽、模块的边界不变这一内容为前提,因此,存在无法灵活地应对带有模块间的位宽、模块的边界的变更的逻辑不良的修正、功能追加、功能变更等这一问题。

此外,在车辆中,驾驶员随时能断开点火开关,或者车辆的电池中积蓄的电力有可能枯竭,因此,存在对电子控制装置的供电在任意时间点被切断的情况。因此,在对车辆中搭载的电子控制装置的fpga的逻辑进行更新的情况下,须做到即便在更新中途的状态下电源被切断也不会破坏fpga的逻辑、或者在这之后能正常进行fpga的逻辑的更新。

本发明是鉴于上述情况而成,其目的在于提供一种能恰当地减少用于更新可重构电路装置的构成信息所需的通信数据量的技术。

解决问题的技术手段

为了达成上述目的,本发明的一形态的电子控制系统具备可重构电路装置,该电子控制系统中,可重构电路装置具有:电路部,其具有可重构的电路;以及设定存储部,其存储电路部的构成信息,该电子控制系统具备:获取部,其获取与电路部的电路要素的变更部分相关的差分信息;以及数据转换部,其根据差分信息来更新构成信息。

发明的效果

根据本发明,能恰当地减少用于更新可重构电路装置的构成信息所需的通信数据量。

附图说明

图1为第1实施方式的车辆管理系统的整体构成图。

图2为第1实施方式的更新对象ecu的构成图。

图3为说明第1实施方式的基于差分命令的逻辑的更新的图。

图4为说明第1实施方式的对逻辑的接线进行变更的差分命令的图。

图5为第1实施方式的fpga的构成图。

图6为说明第1实施方式的fpga中的电路部的构成和差分命令的图。

图7为第1实施方式的数据转换部的功能构成图。

图8为第2实施方式的ecu的构成图。

图9为第2实施方式的ecu的诊断部及数据转换部的功能构成图。

图10为第2实施方式的ecu中的fpga更新管理处理的流程图。

图11为第3实施方式的ecu的构成图。

图12为说明第3实施方式的差分命令反映处理的图。

具体实施方式

参考附图,对几种实施方式进行说明。再者,以下所说明的实施方式并不限定权利要求书所涉及的发明,此外,实施方式中说明的各要素及其组合并不限定为全都是发明的技术手段所必需的。

首先,对第1实施方式的车辆管理系统进行说明。

图1为第1实施方式的车辆管理系统的整体构成图。

车辆管理系统1000包括数据中心(dc)16和1个以上的车辆100。

车辆100具备作为电子控制系统的一例的车辆控制系统10、电池14以及点火开关15。电池14积蓄电力,并供给用于使车辆控制系统10的各部动作的电力。点火开关15接受车辆100的驾驶员的操作,从而切换从电池14到车辆控制系统100的供电与断电。

车辆控制系统10具备作为获取部的一例的tcu(telematicscommunicationunit)11、中央网关(cgw:centralgateway)12、以及1个以上的ecu(电子控制装置)1。cgw12与ecu1例如经由can(cotrollerareanetwork控制器局域网络)、ethernet(注册商标)等网络13连接在一起。

tcu11接收从数据中心16通过ota(例如无线)发布的差分命令而送至cgw12。cgw12对从tcu11收到的差分命令进行解码、认证处理等,而且进行基于与差分命令一同送来的纠错码的纠错,确认是否正确地接收了差分命令。此外,cgw12根据来自数据中心16的发送内容来确定运用差分命令的更新对象ecu1,在确认到正确地接收了差分命令的情况下,经由网络13将差分命令发送至更新对象ecu1。ecu1执行车辆100中的各种控制。此外,ecu1根据差分命令来执行对后文叙述的fpga(fieldprogrammablegatearray)3的电路部的电路构成进行更新的处理。再者,ecu1的详情将于后文叙述。

数据中心16具备差分生成部17和通信部18。差分生成部17根据车辆100的规定ecu1的fpga3的更新前的电路构成信息(旧配置数据)和fpga的更新后的电路构成信息(新配置数据)来生成用于更新差分的差分命令。通信部18通过无线将差分命令发送至搭载有配备更新对象fpga3的ecu1的车辆100(更新对象车辆)。在本实施方式中,是通过ota来发送差分命令,因此可以减少发送数据量,从而可以减少通信成本,而且可以缩短通信时间。

图2为第1实施方式的更新对象ecu的构成图。

ecu1具备作为处理器的一例的cpu(centralprocessingunit)2、作为可重构电路装置的一例的fpga3、dram(dynamicram)5以及作为非易失性存储部的一例的非易失性存储器6。

cpu2执行各种处理。例如,cpu2根据车辆100中搭载的未图示的摄像机得到的图像来执行各种处理。此外,cpu2执行用于利用新配置数据来重构fpga3的处理。cpu2具有数据转换部4。数据转换部4根据差分命令来转换(更新)旧配置数据,由此生成新配置数据。

dram5存放由cpu2执行的程序、由cpu2利用的各种信息。

非易失性存储器6例如为闪存等即便在没有来自电池14的供电的情况下也能长时间存储数据的存储器,存储用于构成fpga3的电路的电路构成信息(配置数据)。在本实施方式中,配置数据例如包括fpga3的供应商提供的数据(供应商数据)7、以及构建fpga3的用户为了扩充fpga3的功能而提供的用户数据8。在本实施方式中,供应商数据7是可靠性相对较高、基本上不会更新的数据,通过仅利用供应商数据7来构成fpga3的电路,可以形成fpga3不会进行异常动作的状态(安全状态)。用户数据8是可靠性低于供应商数据、在进行不良消除、功能追加、功能变更等之时会被更新的数据。

接着,对基于差分命令的逻辑的更新的一例进行说明。

图3为说明第1实施方式的基于差分命令的逻辑的更新的图。

图3的(a)展示了不变更fpga3的电路中的预先设定的模块的边界的情况下的更新的例子,图3的(b)展示了变更fpga3的电路中的预先设定的模块的边界的情况下的更新的例子。

在本实施方式中,例如在将模块a1更新为模块a2的情况下,如图3的(a)所示,通过发送对应于模块a2与模块a1的差分的差分命令25,结果将模块a1转换为模块a2。在该情况下,只须发送差分命令25即可而不是发送模块a2的所有构成信息,因此能减少传送的数据量。

此外,在本实施方式中,在将模块a1及b1更新为模块e1、f1及g1的情况下,如图3的(b)所示,通过发送对应于模块e1、f1及g1与模块a1及b1的差分的差分命令26,结果将模块a1及b1转换为模块e1、f1及g1。在该情况下,只须发送差分命令26即可而不是发送模块e1、f1及g1的所有构成信息,因此能减少传送的数据量。

此外,也可以进行对模块的边界进行变更这样的更新而不是以模块为单位的更新。

接着,对差分命令的一例进行说明。

图4为说明第1实施方式的对逻辑的接线进行变更的差分命令的图。

图4展示了在具有5个逻辑元件le1~le5的模块32中删除逻辑元件le3,追加新的逻辑元件le6,将针对逻辑元件le3的接线切换至针对逻辑元件le6的接线的情况。

作为像这样切换接线的情况下的差分命令,具有删除逻辑元件le1、le2与逻辑元件le3的接线以及删除逻辑元件le3与逻辑元件le5的接线的命令部分33、删除逻辑元件le3并使逻辑元件le6的实例生效的命令部分34、连接逻辑元件le1、le2与逻辑元件le6的接线以及连接逻辑元件le6与逻辑元件le5的接线的命令部分35。差分命令取决于要变更的要素,不取决于模块32内的逻辑元件的数量。因此,即便在模块32中有几千个逻辑元件le的情况下,差分命令也只针对要变更的要素。因而,与对应于整个模块32的构成信息相比,可以减少差分命令的数据量,从而能减少应通信的数据量。

接着,对fpga进行说明。

图5为第1实施方式的fpga的构成图。

fpga3具备电路部40和作为设定存储部的一例的电路sram41。

电路部40为可重构的电路,作为电路要素,具有多个逻辑元件(le)43和可以切换逻辑元件43之间的连接的多个开关盒44。

电路sram41存放对应于电路部40的各电路要素的构成信息(配置数据)。利用电路sram41中存放的配置数据来进行针对电路部40的各电路要素的设定,从而决定电路部40的逻辑。例如在fpga3的启动时从非易失性存储器6读出配置数据而存放至电路sram41。

利用电路sram41的配置数据来进行(1)逻辑元件43的查找表的设定、(2)连接逻辑元件43的开关盒44的连接网络设定、(3)未图示的乘法器等特殊单元的连接网络设定、(4)向未图示的块ram(sram)的数据设定、(5)时钟网络设定等。

图6为说明第1实施方式的fpga中的电路部的构成和差分命令的图。图6展示了(1)逻辑元件43的查找表的设定、(2)连接逻辑元件43的开关盒44的连接网络设定及其相关的差分命令的例子。

fpga3的电路部40具备多个(图6中为9个)逻辑元件43和多个(图6中为4个)开关盒44。

逻辑元件43具有查找表50和正反器51。查找表50例如为利用4输入来进行1输出用的表格。

此处,对将le1的逻辑元件43的查找表50从4输入and(a0&a1&a2&a3)变更为2输入and-or((a0&a1)|(a2&a3))的情况下的差分命令进行说明。

在该情况下,改写le1的逻辑元件43的查找表50中的输出的值。差分命令52例如包含对要改写的对象逻辑元件43进行识别的信息(此处为le1)、4输入a3、a2、a1、a0的值以及输出(out)的变更值。

例如,to_1le1_0011表示le1的逻辑元件43的查找表50中a3=0、a2=0、a1=1、a0=1这4输入时将输出值变更为“1”(to_1)。

如图6所示,开关盒44例如具有6个方向的开关53(ul、ur、dl、dr、lr、ud)。

在开关盒44中,在进行将上右方向的开关53(ur)变更为断开、将下右方向的开关53(dr)变更为导通的设定的情况下,差分命令55例如包含对要改写的对象开关盒44进行识别的信息、识别对象开关53的信息、以及导通(1)或断开(0)的设定值。具体而言,差分命令55中的“to_0box2_ur”表示将box2的开关盒44的ur开关53变更为断开,“to_1box2_dr”表示将box2的开关盒44的dr开关53变更为导通。

电路sram41具有与存放电路部40的所有逻辑元件43及开关盒44等各电路要素的设定(构成)的区域相对应的地址。通过对存放要变更的电路的设定的电路sram41的地址的数据进行变更,电路得到变更。因此,差分命令中包含用于指定变更位置的电路sram41的地址。作为一例,在差分命令52、55中展示12比特的电路sram41的地址。对查找表50的各要素和开关盒44的各开关53赋予独立的地址。

接着,对数据转换部4进行详细说明。

图7为第1实施方式的数据转换部的功能构成图。

数据转换部4使用非易失性存储器6的旧配置数据中的用户数据(旧数据)和从cgw12收到的差分命令,将非易失性存储器6的配置数据中的用户数据8更新为新数据。由于差分命令中包含变更部分的fpga电路信息的电路sram41的地址及其对应的数据,因此,通过改写配置数据中包含的电路sram41的信息,可以实现旧数据到新数据的更新。继而,通过使用新配置数据,在fpga3启动时从非易失性存储器6读入至fpga3的电路sram41,从而新决定电路部40的构成。

更具体而言,数据转换部4具备命令解码器60、地址计算部61、配置数据生成部62及转换控制部63。

转换控制部63对命令解码器60和配置数据生成部62的处理进行控制。

命令解码器60对从cgw12收到的差分命令进行解码,将电路变更信息输出至配置数据生成部62,该电路变更信息包含确定电路部40中的变更对象电路要素(逻辑元件、开关盒等)的信息和要变更的设定内容(查找表的输出值、开关的导通/断开)。

地址计算部61以差分命令中包含的电路sram41的地址为输入,计算与非易失性存储器6中存放的旧配置数据的差分命令中包含的电路要素的设定信息对应的非易失性存储器地址。

配置数据生成部62将非易失性存储器地址输出至非易失性存储器6,由此输入与非易失性存储器6中的对象地址对应的区域中存放的、对应的电路要素的更新前的设定信息(旧配置数据)。配置数据生成部62根据差分命令的电路变更信息和旧配置数据来制作新数据,并将对象地址和新数据输出至非易失性存储器6。再者,新数据中包含应存放该数据的电路sram41的地址。由此,非易失性存储器6将与对象地址对应的区域更新为新数据。再者,也可将存放旧数据和新数据的非易失性存储器6的区域设为不同地址。

根据上述实施方式的车辆控制系统10,基于差分命令的用户数据的新数据被存放至非易失性存储器6,在fpga3启动时,非易失性存储器6中存放的新配置数据(供应商数据7以及已变成新数据的用户数据8)被存放至电路sram41,fpga3的电路部40得以设定为遵循新配置数据的电路构成。

由此,可以进行fpga3的不良消除、功能追加、功能变更等。

接着,对第2实施方式的车辆管理系统进行说明。

第2实施方式的车辆管理系统10是在第1实施方式所述的车辆管理系统中,即便在非易失性存储器6中的配置数据的更新作业中发生了任意断电的情况下,也不会破坏fpga3的电路部40的一种车辆管理系统,与第1实施方式的车辆管理系统相比,ecu1的一部分构成不一样。再者,对与第1实施方式的车辆管理系统相同的部分标注同一符号,并省略重复的说明。

第2实施方式的车辆管理系统10中,针对点火开关15造成的断电、电池14的枯竭造成的断电等任意断电的发生,确认(1)差分命令正确地到达了ecu1这一情况、(2)使用差分命令来正确地生成了新配置数据这一情况,在(1)、(2)不正确的情况下,避免破坏fpga3的电路部40的逻辑。

图8为第2实施方式的ecu的构成图。

ecu1具备cpu2、fpga3、dram5及非易失性存储器6。

cpu2具备传送校验部70、诊断部71、及数据转换部73。fpga3具备作为重构控制部的一例的判定部72、电路sram41以及电路部40。非易失性存储器6存放供应商数据7、用户数据8、差分命令75、及命令进展信息76。在未进行基于差分命令的更新的情况下,用户数据8为旧数据,在基于差分命令的更新已完成的情况下,用户数据8为新数据。

传送校验部70进行(1)关于差分命令是否从cgw12正确地到达了ecu1的确认及验证。再者,关于差分命令是否从数据中心16正确地到达了车辆100,是由cgw12进行确认、验证。关于差分命令是否正确的验证,可以对差分命令附加校验和等纠错码而通过使用纠错码来实现。

虽然差分命令须正确地到达ecu1,但若是在差分命令刚到达ecu1之后不久便发生断电,则差分命令会消失。因此,传送校验部70将接收到的差分命令保存至非易失性存储器6。再者,在之后的处理中使用非易失性存储器6中保存的差分命令。

在本实施方式中,作为应对断电的差分命令的校验,传送校验部70进行(a)校验差分命令是否从cgw12正确地到达了ecu1、接着(b)校验差分命令是否在ecu1中正确地保存到了非易失性存储器6这2个阶段的校验。具体而言,传送校验部70进行(a)的校验,将确认到已正确地接收的差分命令存放至非易失性存储器6,其后进行(b)的校验。

在(a)中确认到差分命令未从cgw12正确地到达ecu1的情况下,传送校验部70对cgw12进行差分命令的再发送请求。此外,在(b)中确认到差分命令未正确地保存到非易失性存储器6的情况下,意味着ecu1未保持有差分命令,因此,传送校验部70对cgw12进行差分命令的再发送请求。传送校验部70将(a)、(b)的校验结果通知给数据转换部73、诊断部71。

再者,在cgw12侧也未保持有差分命令的情况下,cgw12经由tcu11从数据中心16获得差分命令。

当在(a)、(b)的校验中确认不了为正常时,数据转换部73不对非易失性存储器6的配置数据中的用户数据进行更新。因此,即便将非易失性存储器6的配置数据读出至电路sram41,由于配置数据为更新前的数据,因此fpga3的电路部40的逻辑也不会受到破坏。

当在(b)中确认到差分命令已正常保存到ecu1时,数据转换部73使用非易失性存储器6中保持的差分命令来进行配置数据的用户数据的更新。

诊断部71进行(2)是否使用差分命令在非易失性存储器6中正确地生成了新配置数据的校验。此处,差分命令的末尾为能够判定是差分命令的末尾的特殊的记述。

具体而言,在数据转换部73所进行的配置数据的更新处理时,诊断部71从数据转换部73接收差分命令的进展信息(将表示已完成到了差分命令中包含的多个命令中的哪一命令的信息,称为命令进展信息),根据命令进展信息中是否包含表示差分命令的末尾的记述,来校验更新是否已执行到差分命令的末尾。再者,命令进展信息还用于在更新的中途发生了断电的情况下对再次进行其后的更新处理的差分命令的位置进行确定。

数据转换部73将命令进展信息与新数据同时写入至非易失性存储器6。为了能不可分地进行新数据和命令进展信息向非易失性存储器6的写入,在执行这些写入的时间内,需要做到能承受断电。具体而言,可配备能在短时间内继续供电的未图示的电容器等。

当在使用差分命令来生成新配置数据的中途电源被切断而未正确地生成新配置数据时,进行以下两个操作。一个是,诊断部71指示fpga3的判定部72,以使fpga3进行安全引导(仅靠供应商数据7的引导)。fpga3的判定部72在接收到安全引导的指示的情况下通过安全引导来进行fpga3的启动,即,仅将供应商数据从非易失性存储器6传送至电路sram41。另一个是,在电源下一次接通时,数据转换部73使用差分命令75和命令进展信息来再次进行从差分命令的多个命令当中执行已完成的命令的下一命令起将用户数据更新为新数据的处理。

由此,在使用差分命令来生成新配置数据的中途电源被切断而未正确地生成新配置数据时,诊断部71会对fpga3的判定部72通知安全引导来作为fpga3的引导模式,因此fpga3会以安全引导进行启动,fpga3的电路部40不会进行因逻辑被破坏所造成的不正当动作。此外,在电源恢复后,数据转换部73会从未执行差分命令的中途的命令部分起继续更新配置数据。继而,当诊断部71确认配置数据已正确地得到更新时,对fpga3的判定部72通知使用更新后的用户数据8的引导模式。结果,在fpga3的下一次启动时,fpga3的判定部72将包含供应商数据和更新后的用户数据的新配置数据传送至电路sram41,进行电路部40的重构。

图9为第2实施方式的ecu的诊断部及数据转换部的功能构成图。

数据转换部73具备地址计算部61、命令解码器64、配置数据生成部65及转换控制部66。相对于第1实施方式中的命令解码器60、配置数据生成部62及转换控制部63各方,命令解码器64、配置数据生成部65及转换控制部66还要执行应对断电的处理。

诊断部71从数据转换部73接收新数据和对应的命令进展信息,进行新数据的电路信息的校验,而且根据命令进展信息来判定差分命令是否已正常地执行到最后。在差分命令尚未正常地执行到最后的情况下,诊断部71将表示安全引导模式的信号输出至fpga3的判定部72,来作为fpga3的引导模式,在差分命令已正常地执行到最后的情况下,诊断部71将表示使用用户数据的引导模式的信号输出至fpga3的判定部72。

通过这种构成,数据转换部73的命令解码器64从非易失性存储器6输入旧数据和差分命令,对所输入的命令进行解码并交给配置数据生成部65。此时,由于差分命令为多个命令组,因此被分割为规定的块,按分割后的每一块交给配置数据生成部65。配置数据生成部65按照这每一块来生成新数据。此时,配置数据生成部65以知晓已使用到差分命令的多个命令组中的哪一命令部分来生成了新数据的方式,生成表示能确定已使用的命令部分的命令的进展的命令进展信息,并将生成的新数据、与新数据对应的非易失性存储器6的地址、以及命令进展信息不可分地输出至非易失性存储器6。当在开始新数据的生成而仅一部分非易失性存储器6被更新、整个新数据的更新及保存完成之前发生了断电的情况下,在电源恢复后,配置数据生成部65根据非易失性存储器6中保存的命令进展信息,进行从差分命令中的未执行的部分起的新数据的生成以及向非易失性存储器6的保存。

接着,对第2实施方式的ecu1中的fpga更新管理处理进行说明。

图10为第2实施方式的ecu中的fpga更新管理处理的流程图。

fpga更新管理处理例如在ecu1从cgw12接收到更新命令的情况下或者ecu1的电源恢复后等加以执行。

ecu1的传送校验部70判定从cgw12接收到的差分命令是否正确(步骤s11)。结果,在差分命令不正确的情况下(步骤s11:否),传送校验部70对cgw12发送差分命令的再传送请求(步骤s12),并使处理前进至步骤s11。另一方面,在差分命令正确的情况下(步骤s11:是),传送校验部70将差分命令保存至非易失性存储器6(步骤s13)。

接着,数据转换部4根据非易失性存储器6中存放的差分命令和旧数据(更新前的用户数据)来生成新数据(更新后的用户数据),并将生成的新数据保存至非易失性存储器6(步骤s14),同时,将能确定差分命令当中已使用过的命令部分的命令进展信息保存至非易失性存储器6(步骤s15)。再者,在本实施方式中,数据转换部4在保存生成的新数据时更新非易失性存储器6中的旧数据。因此,在非易失性存储器6中,不会同时保存有旧数据和新数据,因此能减少作为非易失性存储器6所需的存储容量。

接着,诊断部71根据配置数据生成部65输出的命令进展信息来判定是否已使用到差分命令的最后部分而且新数据是否已正确地存放到非易失性存储器6(步骤s16)。结果,在尚未使用到差分命令的最后部分的情况或者非易失性存储器6的新数据不正确的情况下(步骤s16:否),诊断部71通知fpga3的判定部72进行安全引导。结果,fpga3的判定部72进行仅使用非易失性存储器6的供应商数据来启动fpga3的安全引导(步骤s17),并使处理前进至步骤s14。再者,通过步骤s14之后的处理,进行基于差分命令当中未使用的部分的、向新数据的更新处理。

另一方面,在已使用到差分命令的最后部分而且非易失性存储器6的新数据正确的情况下(步骤s16:是),诊断部71通知fpga3的判定部72进行使用用户数据的引导。结果,fpga3的判定部72进行使用非易失性存储器6的包含供应商数据和新数据(已更新的用户数据)的新配置数据来启动fpga3的引导(步骤s18)。

通过该处理,在基于差分命令的向新数据的更新的中途发生了断电的情况下,在电源恢复后的fpga更新管理处理中,在步骤s11中判定差分命令是否正确,在差分命令不正确的情况下,执行步骤s12的处理。此外,当在步骤s16中根据配置数据生成部65输出的命令进展信息确认到尚未使用到差分命令的最后部分或者新数据未正确地存放到非易失性存储器6时,执行步骤s17之后的处理,生成与差分命令当中因断电而未执行的部分对应的新数据。由此,与差分命令对应的新数据之后得以顺利地存放至非易失性存储器6。

接着,对第3实施方式的车辆管理系统进行说明。

第3实施方式的车辆管理系统10是通过fpga3来执行第1实施方式的车辆管理系统中的数据转换部73和诊断部71的功能的系统。再者,对与第1实施方式及第2实施方式的车辆管理系统相同的部分标注同一符号,并省略重复的说明。

图11为第3实施方式的ecu的构成图。

在第3实施方式的ecu1中,非易失性存储器6中存放供应商数据7、更新前的用户数据8(旧数据)以及差分命令90,不存放更新后的用户数据(新数据)。

cpu2还具有作为最新构成信息生成部的一例的数据汇集部91。数据汇集部91具有与数据转换部4同样的功能。

cpu的传送校验部70进行是否已从cgw12正确地接收到差分命令的校验、差分命令是否已正确地存放到非易失性存储器6的校验,并将其校验结果通知给fpga3的诊断部74。

fpga3还具有诊断部74和数据转换部78。数据转换部78配置在非易失性存储器6与电路sram41之间。数据转换部78从非易失性存储器6获取配置数据(供应商数据及用户数据(旧数据)),在非易失性存储器6中没有差分命令的情况下,将获取到的配置数据存放至电路sram41,另一方面,在非易失性存储器6中有差分命令的情况下,使用从非易失性存储器6取出的配置数据和差分命令来生成用户数据的新数据,并将包含供应商数据和新数据的新配置数据存放至电路sram41。

诊断部74在从传送校验部70收到差分命令未正确地写到非易失性存储器6的通知的情况下,通知判定部72进行不使用非易失性存储器6的差分数据而将旧配置数据(供应商数据及旧数据)原样存放至电路sram41的引导(安全引导)。此外,诊断部74在收到差分命令已正确地写到非易失性存储器6的通知的情况下,通知判定部72进行使用非易失性存储器6的差分命令和旧数据来生成新数据并将新配置数据(供应商数据及新数据)存放至电路sram41的引导。

判定部72以进行遵循来自诊断部74的通知的引导的方式控制数据转换部78。即,在差分命令未正确地存放到非易失性存储器6的情况下,判定部72会从诊断部74收到不使用差分命令的指示,因此,可以在fpga3启动时使旧配置数据存放至电路sram41。因此,fpga3的电路部40的逻辑不会受到破坏。

根据第3实施方式的车辆管理系统,与第2实施方式的车辆管理系统相比,有能够简化对断电时的应对这一效果。即,在第2实施方式中,需要如下构成:须将非易失性存储器6的用户数据改写为新数据,为了在发生任意时刻下的断电之后的电源恢复后能够继续配置数据的更新,需要将差分命令的命令进展信息存放至非易失性存储器6的构成,而且需要使配置数据和命令进展信息向非易失性存储器6的更新做到不可分的构成。相对于此,在第3实施方式中,在非易失性存储器6的用户数据中,不会更新旧数据而是保持不变,在向电路sram41存放配置数据时,根据差分命令和旧数据来生成新数据,因此,作为断电后的应对,判定差分命令是否已正确地存放到非易失性存储器6、在未正确地存放的情况下使差分命令正确地存放至非易失性存储器6即可。

此外,由诊断部74校验在从非易失性存储器6向电路sram41传送配置数据时是否发生了断电。在安全引导时,诊断部74校验末尾的供应商数据是否已正确地存放到电路sram41,在正常引导时,校验末尾的差分命令是否已被转换并存放到电路sram41。在电源接通后,当诊断部74判断在向电路sram41的传送中途发生了断电这一情况时,再次指示判定部72进行引导。

收到指示的判定部72从头开始进行配置数据向电路sram41的传送,控制数据转换部78。

在第3实施方式中,例如在通过ota多次接收到差分命令的情况也就是发生了多次用户数据的更新的情况下,会在非易失性存储器6中积存、存放各次的差分命令。在像这样在非易失性存储器6中存放有多次的差分命令的情况下,在fpga3启动时,数据转换部78会将各次的差分命令全部加以执行来生成最新的用户数据。因此,当差分命令的数量过多时,存在fpga3的启动时间变长这一问题。

因此,在本实施方式中,进行根据更新前的用户数据和其后的多次的差分命令来生成反映了多次更新的最新的用户数据的差分命令反映处理。

图12为说明第3实施方式的差分命令反映处理的图。

差分命令反映处理例如每隔规定时间、在差分命令的数量已达到规定数量以上的情况、多个差分命令的容量已超过规定量等情况下加以执行。设想在可靠地确保了对ecu1的供电的条件下(例如,车辆100处于在车辆的经销商处确保了电源的状态的情况、驾驶员维持点火开关导通的情况等)执行该差分命令反映处理。

如图12的左图所示,在非易失性存储器6中存放有多次更新对应的差分命令(差分命令1、2、3、4、··)的情况下,数据汇集部91根据用户数据(旧数据)和紧靠其之后的更新中的差分命令来生成新的用户数据,其后,根据生成的用户数据和其下一顺序的更新中的差分命令来不断生成新的用户数据,由此,使用各次更新对应的差分命令来反复进行更新用户数据的处理而生成最新的用户数据,并像图12的右图所示那样在非易失性存储器6中存放最新的用户数据,进而,从非易失性存储器6中删除已用于更新的差分命令。

当执行该差分命令反映处理时,在之后的fpga3的启动时,只要未接收到新的差分命令,便无须执行使用差分命令的更新处理,因此能提高启动速度。此外,由于可以将此前存放的差分命令从非易失性存储器6中删除,因此能恰当地确保存放之后的差分命令的区域,而且能减少非易失性存储器6所要求的容量。

再者,本发明不限定于上述实施方式,可以在不脱离本发明的宗旨的范围内酌情进行变形来实施。

例如,上述实施方式展示了通过ota来接收差分命令的例子,但本发明并不限于此,也可经由有线线路来接收差分命令。此外,也可使差分数据存放在能连接至车辆控制系统10的存储介质(dvd、cd、闪存等)中而从该存储介质进行接收。

此外,上述实施方式展示了通过差分命令仅对配置数据中的用户数据进行更新的例子,但本发明并不限于此,也可通过差分命令对供应商数据进行更新。

此外,上述实施方式是以车辆中搭载的电子控制系统为例来进行的展示,但本发明并不限于此,例如,对于非搭载于车辆中的电子控制系统也能运用本发明。

符号说明

1ecu

2cpu

3fpga

4数据转换装置

5dram

6非易失性存储器

10车辆控制系统

16数据中心

40可重构电路部

41电路sram

100车辆

1000车辆管理系统。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1