微型计算机和逻辑电路的制作方法

文档序号:18301905发布日期:2019-07-31 10:15阅读:225来源:国知局
微型计算机和逻辑电路的制作方法

本发明涉及微型计算机和逻辑电路。



背景技术:

已知一种将微型计算机和逻辑电路组合在一起的结构。由于微型计算机和逻辑电路从电源接通到完成初始化所需的时间不同,因此例如可以实施专利文献1那样的对策。

专利文献1公开了一种电子设备,包括:功能部,其在接通电源而启动后写入电路数据进行配置(configuration),在所述配置结束后发挥与所述电路数据对应的电路功能;第一微型计算机,其与所述功能部大致同时启动,在启动后读取初始化程序进行初始化,并在所述初始化结束后开始与所述功能部通信;和配置监视部,其在所述第一微型计算机启动后将所述第一微型计算机复位,并在所述功能部结束所述配置后,解除所述复位使所述第一微型计算机开始初始化。

现有技术文献

专利文献

专利文献1:日本国特开2008-191730号公报



技术实现要素:

发明要解决的技术问题

专利文献1记载的发明无法基于逻辑电路的状态决定微型计算机的动作。

解决问题的技术手段

本发明第一方面的微型计算机能够与逻辑电路连接,其包括:监视所述逻辑电路的状态的监视部;存储有所述微型计算机可实施的多个信息处理项目的存储部;和处理部,其执行基于所述逻辑电路的状态和至少一个信息处理项目而决定的处理,该至少一个信息处理项目是根据输入到所述微型计算机的通信帧而从所述多个信息处理项目中选择的。

本发明第二方面的逻辑电路能够与上述微型计算机连接。

发明的效果

采用本发明能够基于逻辑电路的状态决定微型计算机的处理。

附图说明

图1是表示车载系统之概要的图。

图2是第一实施方式的车载网关装置的结构图。

图3是流程表之一例的图。

图4是表示fdb之一例的图。

图5是表示转换db之一例的图。

图6是表示第一实施方式的微型计算机的动作的流程图。

图7是表示在图6的步骤s606中作出了否定判断的情况下的处理的流程图。

图8是表示图6的步骤s613的细节的流程图。

图9是表示第二实施方式的车载网关装置的结构图。

图10是表示优先级db之一例的图。

图11是表示第二实施方式的微型计算机的动作的流程图。

具体实施方式

第一实施方式

下面参照图1~图8说明车载系统的第一实施方式。

图1是表示车载系统1之概要的图。车载系统1包括车载网关装置100、发动机控制部101、刹车控制部102、动力转向装置控制部103、自主行驶控制部104、摄像机111、雷达112和本车位置传感器113。发动机控制部101、刹车控制部102、动力转向装置控制部103和自主行驶控制部104通过can(controllerareanetwork:控制器局域网)与车载网关装置100连接。摄像机111、雷达112和本车位置传感器113通过ieee802.3即以太网(注册商标)与车载网关装置100连接。

发动机控制部101是对用于产生车辆的驱动力的发动机进行控制的控制装置。刹车控制部102是进行车辆的刹车控制(制动力控制)的控制装置。动力转向装置控制部103是控制车辆的动力转向装置的控制装置。摄像机111、雷达112和本车位置传感器113是用于识别车辆的外界状况的外界识别传感器。

车载网关装置100内置有多通道的can和多端口的以太网,除了进行不同通道之间的can通信中继、不同端口之间的以太网通信中继之外,还进行can到以太网的通信中继、以太网到can的通信中继。在进行can到以太网的通信中继时,将can帧封装(encapsulation)成以太网帧进行中继。在进行以太网到can的通信中继时,对封装成以太网帧的can帧进行解封,提取can帧进行中继。例如,来自摄像机111、雷达112和本车位置传感器113的传感器信息被车载网关装置100中继至自主行驶控制部104。而来自动力转向装置控制部103的转向信息被车载网关装置100中继至本车位置传感器113。

图2是车载网关装置100的结构图。车载网关装置100包括微型计算机(下称“微机”)201、第一canif202a、第二canif202b、fpga(field-programmablegatearray:现场可编程门阵列)250、第一以太网if251a和第二以太网if251b。微机201与第一canif202a和第二canif202b连接。fpga250与第一以太网if251a和第二以太网if251b连接。本实施方式中,微机201和fpga250是独立的部件,各自位于不同的封装体(package)中,各自能够独立地流通。为了作为车载网关装置100发挥功能,微机201和fpga250通过配线、插针插孔(pinandsocket)连接器或电缆等物理地连接。

微机201包括cpu、rom和ram。该ram设置有用于临时保存接收到的通信帧的待机用的保存区域。微机201的cpu在电源电压施加后,将存储在rom中的程序展开到ram中执行。下文中,将微机201的cpu将存储在rom中的程序展开到ram中执行的处理称作“微机201的初始化”。即,微机201在完成初始化后能够发挥由程序实现的功能。微机201还包括非易失性存储器,如后所述,在该非易失性存储器中记录日志(log)。

fpga250是包括易失性的sram的可编程逻辑电路。fpga250在供电后将程序文件读入sram构成逻辑电路。下文中,将fpga250读入程序文件构成逻辑电路的处理称作“fpga250的配置(configuration)”或“fpga250的初始化”。此外,下文有时将“configuration(配置)”称作“configure(配置)”。fpga250在配置完成前无法发挥后述的功能。

fpga250的配置所需的时间长于微机201的初始化所需的时间。对车载网关装置100施加电源电压时,电源电压是大致同时施加到微机201和fpga250这两者上的,所以fpga250的配置在微机201完成初始化之后完成。因此,微机201比fpga250先开始工作。

微机201与fpga250之间通过监视总线210和数据总线211连接。监视总线210和数据总线211例如是配线或触点。canif、以太网if的数量不限于2个,各自至少有1个即可。而通信标准也可以是flexray(注册商标)、lin(注册商标)等其他标准。并且,各网络上连接的设备没有任何限定,只要各网络上连接着至少一个设备即可。can与以太网之间的通信在微机201与fpga250之间经数据总线211中继,从目标网络接口发送。

作为其功能,微机201具有监视进程203和通信进程204,通信进程204具有流程表205。监视进程203通过监视总线210对fpga250的状态即配置状态和故障状态等进行监视,判断处于怎样的状态。监视进程203例如经监视总线210监视设置在fpga250上的表示配置完成的引脚的状态,当该引脚的电平超过规定的阈值时,判断为配置已完成。

通信进程204基于流程表205对从第一canif202a和第二canif202b输入到微机201的通信帧进行处理。该流程表205的结构在后面叙述。并且,通信进程204将从fpga250输出的can帧传输到第一canif202a和第二canif202b。通信进程204执行的处理包括废弃具有特定模式的帧的过滤处理和加密处理、解密处理等负载较大的处理。这些负载较大的处理的一部分如后所述有时在fpga250中执行。在本实施方式中,将fpga250执行原本应由微机201执行的处理称作“卸载(offload)”。

fpga250包括通信电路252,通信电路252包括转发数据库(forwardingdatabase,下称“fdb”)253和转换db254。fdb253和转换db254的结构在后面叙述。通信电路252执行以太网的切换(switch)处理、can与以太网的中继即can-以太网转换处理以及卸载——即执行通信进程204的一部分处理。从第一以太网if251a和第二以太网if251b输入到fpga250的通信帧由通信电路252基于fdb253进行处理。

通信电路252在进行将can帧封装以太网帧的can-以太网转换处理时,参照转换db254生成以太网帧的帧头。即,基于can帧的canid确定mac地址,生成存储了所确定的mac地址的以太网帧的帧头。can-以太网转换处理也可以由微机201执行,但是由fpga250实施时能够在短时间内进行处理。

fpga250还包括检测fpga250自身的故障的未图示的故障检测电路。故障检测电路在检测到故障时经监视总线210将故障的发生通知微机201。fpga250中发生故障的原因能够列举辐射引起的软件错误、电压(电源)下降引起的动作不良、闩锁引起的损坏等。

(流程表)

图3是表示流程表205之一例的图。流程表205由具有3个字段(field)的多条记录构成。流程表205所具有的字段是:canid301、输出端口302和信息处理项目303。canid301表示从第一canif202a和第二canif202b输入的can帧的帧头部中包含的canid。输出端口302表示从微机201输出的端口。信息处理项目303表示通信进程204要执行的处理。其中,记作“卸载”的项目由fpga250执行。

标记310所示的第一条记录表示,当输入了canid为“10”的can帧时,使fpga250执行解密处理,再将其输出到第二canif202b。标记311所示的第二条记录表示,当输入了canid为“20”的can帧时,将其输出到fpga250。标记312所示的第三条记录表示,当输入了canid为“30”的can帧时,使fpga250执行加密处理,再将其输出到第一canif202a。标记313所示的第四条记录表示,当输入了canid为“40”的can帧时,通信进程204自身执行加密处理,再将其输出到第一canif202a。

(转发数据库)

图4是表示fdb253之一例的图。fdb253由具有3个字段的多条记录构成。fdb253所具有的字段是:以太网帧中包含的目标mac地址401,表示fpga250上的输出端口的输出端口402,和记载了对通信帧的处理内容的处理内容403。

标记410所示的第一条记录表示,当输入了目标mac地址401为“00:11:11:11:11:11”的以太网帧时,通信电路252将其中继到第一以太网if251a。标记411所示的第二条记录表示,当输入了目标mac地址401为“00:22:22:22:22:22”的以太网帧时,通信电路252将其中继到第二以太网if251b。标记412所示的第三条记录表示,当输入了目标mac地址401为“00:33:33:33:33:33”的以太网帧时,通信电路252将其中继到微机201。标记413所示的第四条记录表示,当输入了目标mac地址401为“00:44:44:44:44:44”的以太网帧时,通信电路252进行过滤处理,再将其中继到微机201。

(转换db)

图5是表示转换db254之一例的图。转换db254由具有canid501和目标mac地址502这2个字段的多条记录构成。该转换db254在将can帧封装成以太网帧时以供参照。

标记510所示的第一条记录表示,当输入了canid为“10”的can帧时,将其封装成目标mac地址为“00:22:22:22:22:22”的以太网帧。标记511所示的第二条记录表示,当输入了canid为“30”的can帧时,将其封装成目标mac地址为“00:44:44:44:44:44”的以太网帧。关于封装时所需的其他信息即发送方地址、ethertype等,可采用从外部设定到通信电路252的内部寄存器中的方法等。

(表示微型计算机的动作的流程图)

图6是表示第一canif202a或第二canif202b接收到can帧时的微机201的处理的流程图。下面说明的各步骤的执行主体是微机201中包含的未图示的cpu。

在步骤s601中,从第一canif202a或第二canif202b接收通信帧。在接着的步骤s602中,获取接收到的通信帧的canid。在接着的步骤s603中,基于取得的canid对流程表205进行搜索,确定输出端口和信息处理项目即处理内容。

在接着的步骤s604中,判断步骤s603中确定的输出端口和信息处理项目是否满足特定的条件。即,判断输出端口是否是fpga250,或信息处理项目中是否包含卸载。在判断为满足至少一个条件的情况下前进至步骤s605,在判断为任一条件均不满足的情况下前进至步骤612。

在步骤s605中,从监视进程203获取fpga250的状态。在接着的步骤s606中,判断fpga250的状态是否处于配置过程中。在判断为处于配置过程中的情况下前进至步骤s607,在判断为没有处于配置过程中的情况下前进至步骤s656。步骤s656之后的处理使用图7在后面进行说明。

在步骤s607中,由于fpga250处于配置过程中,fpga250无法接收通信帧,因此进行与处于配置过程中对应的处理,即将接收到的通信帧保存到待机用存储器中。在接着的步骤s608中,与步骤s605同样地从监视进程203获取fpga250的状态。在接着的步骤s610中,与步骤s606同样地判断fpga250的状态是否是处于配置过程中。在判断为处于配置过程中的情况下返回步骤s608,在判断为没有处于配置过程中的情况下前进至步骤s611。

在步骤s611中,进行与配置完成对应的处理,即判断在步骤s603中确定的信息处理项目是否是中继处理。在判断为信息处理项目是中继处理的情况下,前进至步骤s612,在判断为信息处理项目不是中继处理的情况下前进至步骤s613。在步骤s612中,从输出端口发送通信帧,结束图6的流程图。在步骤s613中,将处理卸载到fpga250。换言之,由fpga250代替微机201进行加密、解密和过滤的处理。在fpga250完成这些处理后,前进至步骤s612,从输出端口发送通信帧。步骤s613的细节将在后面参照图8进行说明。

图7是表示在图6的步骤s606中作出了否定判断的情况下的处理的子程序。

在步骤s656中,根据步骤s605中取得的状态,判断是否检测出fpga250的故障。在判断为检测出故障的情况下前进至步骤s657,在判断为未检测出故障的情况下前进至步骤s661。在步骤s657中,与步骤s607同样地将通信帧保存到待机用的存储器中。在接着的步骤s658中,尝试恢复fpga250。在接着的步骤s659中,再次获取fpga250的状态,前进至步骤s660。

在步骤s660中,根据步骤s659中取得的状态,判断是否检测出fpga250的故障。在判断为检测出故障的情况下前进至步骤s660,在判断为未检测出故障的情况下前进至步骤s661。

在因步骤s656或步骤s660作出了否定判断而执行的步骤s661中,判断在步骤s603中确定的信息处理项目是否是中继处理。在判断为信息处理项目是中继处理的情况下前进至步骤s612,在判断为信息处理项目不是中继处理的情况下前进至步骤s613。在步骤s612中,与图6同样地从输出端口发送通信帧,结束图7的流程图。在步骤s613中,与图6同样地将处理卸载到fpga250,在fpga250完成这些处理后,前进至步骤s612,从输出端口发送通信帧。

在因步骤s660作出了肯定判断而执行的步骤s664中,将fpga250的故障信息保存在日志中,结束图7所示的流程图。不过,在本步骤中也可以进一步将故障通知给与车载网关装置100连接的外部的装置。通过迅速通知故障,外部的装置能够采取适当的应对,能够提高安全性。

图8的流程图所说明的子程序表示图6和图7的步骤s613的细节,即微机201将处理卸载到fpga250的细节。

在步骤s801中,将循环计数器i初始化为1,前进至步骤s802。该循环计数器如后所述用于将步骤s802以后的处理最多反复执行n次。在步骤s802中,微机201将卸载对象的通信帧发送到fpga250,并前进至步骤s804。在步骤s804中,从fpga250接收卸载结果,前进至步骤s806。其中,在步骤s804中,待机至从fpga250接收到卸载结果。

在步骤s806中,基于步骤s804中接收到的卸载结果判断卸载处理是否已正常结束。在判断为已正常结束的情况下,结束图8的流程图,在判断为未正常结束的情况下前进至步骤s807。在步骤s807中,尝试恢复fpga250。在接着的步骤s808中,再次获取fpga250的状态,前进至步骤s809。

在步骤s809中,基于步骤s808中取得的fpga250的状态,判断是否检测出fpga250的故障。在判断为检测出fpga250的故障的情况下前进至步骤s812,在判断为未检测出fpga250的故障的情况下前进至步骤s810。在步骤s810中,判断循环计数器i的值是否为预定的反复次数n以上。在判断为i为n以上的情况下,结束图8的流程图,在判断为i小于n的情况下前进至步骤s811。在步骤s811中使i递增,即,使i的值加“1”,返回至步骤s802。

在因步骤s809作出了肯定判断而执行的步骤s812中,将fpga250的故障信息保存在日志中,结束图8所示的流程图。

采用上述第一实施方式,能够获得如下所述的作用效果。

(1)微机201能够与作为可编程的逻辑电路的fpga250连接。微机201包括:监视fpga250的状态的监视部,即监视进程203和通信进程204;存储有微机201可实施的多个信息处理项目303的存储部,即流程表205;和执行基于fpga250的状态和根据输入到fpga250的通信帧从多个信息处理项目303中选择的至少一个信息处理项目而决定的处理的处理部,即通信进程204。

因此,微机201能够不仅基于通信帧中包含的标识符即canid还基于fpga250的状态,选择该通信帧的处理加以执行。即,能够基于作为逻辑电路的fpga250的状态决定微机201的处理。

(2)fpga250可通过进行配置来构建电路结构,监视进程203监视fpga250是否是处于配置过程中的状态。在fpga250不是处于配置过程中的状态的情况下(图6的s606:否),通信进程204执行所选择的信息处理项目。在fpga250是处于配置过程中的状态的情况下(图6的s606:是),通信进程204执行与所选择的信息处理项目不同的处理。与所选择的信息处理项目不同的处理指的是与处于配置过程中对应的处理,即将要发送给fpga250的信息保存到待机用存储器中的处理(图6的s607)。

因此,即使在fpga250完成配置之前微机201就开始工作,微机201通过执行与处于配置过程中对应的处理,也能够适当地处理要发送给fpga250的信息。因此,无需等待fpga250的配置结束再开始微机201的初始化,能够提前开始微机201的动作。

(3)监视进程203监视fpga250是否是已完成配置的状态。在fpga250是已完成配置的状态的情况下,通信进程204使fpga250处理所选择的信息处理项目的至少一部分。即,在所选择的信息处理项目303为“中继”的情况下,使fpga250执行中继至以太网的中继处理,在信息处理项目303包括卸载处理的情况下,使fpga250执行卸载处理。

因此,当fpga250的配置完成后,能够根据所选择的处理项目使fpga250执行处理。

(4)监视进程203监视fpga250是否是已完成配置的状态。在fpga250是处于配置过程中的状态的情况下,通信进程204保存通信帧的至少一部分(图6的s607)。在fpga250从处于配置过程中的状态变成了已完成配置的状态的情况下,将所保存的通信帧的至少一部分发送到fpga250(图6的s612、s613)。

因此,能够将本应在fpga250处于配置过程中发送到fpga250的信息,在fpga250的配置完成后发送到fpga250使fpga250进行处理。

(5)监视进程203监视fpga250是否发生了故障。在fpga250未发生故障的情况下,通信进程204执行所选择的信息处理项目,在fpga250发生了故障的情况下,通信进程204执行与所选择的信息处理项目不同的处理。与所选择的信息处理项目不同的处理指的是与故障对应的处理,即将通信帧保存到待机用存储器中(图7的s657)并恢复fpga250的(图7的s658)处理。

因此,通过在fpga250发生了故障的情况下临时保存从can网络接收到的通信帧,并在fpga250恢复后将其发送到fpga250,能够减少因通信帧丢失而导致的重发,能够缩短通信处理所需的时间。

(6)微机201和fpga250设置在将can与以太网即ieee802.3网络连接的1个车载网关装置100中。微机201与can网络连接,fpga250与ieee802.3网络连接。

相比于ieee802.3网络,要求实时性的can网络的可容许的响应延迟时间较短。于是,通过将相比fpga250能够更快完成初始化的微机201与can网络连接,能够在要求时间内实施通信处理。例如,即使fpga250处于配置过程中,也能够实施从一个canif到另一个canif的通信处理,无需等到fpga250完成配置,能够更早地完成通信处理。

(7)fpga250与微机201连接。

fpga250在完成配置前无法接收通信帧,因此若在完成配置前发送通信帧会导致通信帧丢失。不过,由于微机201监视fpga250的状态,若fpga250处于配置过程中则执行与处于配置过程中对应的处理,因此不会在配置过程中丢失从can网络接收到的通信帧。

(变形例1)

车载网关装置100也可以不使用可编程的逻辑电路fpga250,而使用电路结构固定的逻辑电路asic。在车载网关装置100使用了asic代替fpga250的情况下,配置变得不再需要,因此图6的步骤s606始终作出否定判断。可以接着步骤s605前进至图7的步骤s656。

采用该变形例1,在读取预先存储的程序加以执行的微处理器与电路结构固定的asic的组合下,微处理器能够按照asic的故障的状态选择接收到的通信帧。

(变形例2)

在第一实施方式中,微机201和fpga250是独立的部件,由配线所连接。不过,也可以在制造工序中将微机201和fpga250统一地置于1个封装体中。该情况下,微机201和fpga250可以形成在不同的硅片(silicondie)上,也可以一体地形成在同一硅片上。在微机201和fpga250形成在不同的硅片上的情况下,与第一实施方式同样地,监视总线210和数据总线211是配线或触点。在微机201和fpga250形成在同一硅片上的情况下,监视总线210和数据总线211不具有明确的物理结构。该情况下,微机201和fpga250为始终连接的状态。

(变形例3)

在第一实施方式中,对fpga250是否处于配置过程中和fpga250是否发生了故障这两者进行判断。不过也可以仅判断其中任一者。即,在仅判断前者的情况下,在图6的步骤s606作出了否定判断时前进至步骤s661。而在仅判断后者的情况下,在图6中接着步骤s605执行图7的步骤s656。

(变形例4)

监视进程203也可以采用下述方式判断fpga250是否已完成配置。即,监视进程203可以在从fpga250输出了表示配置完成的信号后,在fpga250的复位信号被正常解除的情况下,判断为配置已完成。具体而言可以是,在图6的步骤s606中,在仅输出了表示配置完成的信号的情况下不判断为配置已完成,而是进一步在复位信号被正常解除时,在步骤s606作出否定判断。该复位信号是从fpga250经监视总线210输出到微机201的信号,在fpga250完成动作准备时被解除。

(变形例5)

在第一实施方式中,微机201为了进行卸载处理而将处理对象的通信帧整个发送到fpga250,但也可以从该通信帧仅提取卸载处理所需的数据发送到fpga250。同样地,fpga250也可以构成为,作为卸载处理的结果,不将整个通信帧发送到微机201,而是仅将通信帧所含的信息中进行了处理的信息发送到微机201。

采用该变形例5,由于不发送整个通信帧,因此能够削减通信数据量,减少数据传输时间,并能够通过缓解fpga250与微机201之间的带宽负载来改善数据传输的等待时间,缩短车载网关装置100的通信处理时间。

(变形例6)

在第一实施方式的与处于配置过程中对应的处理中,将通信帧保存到待机用存储器中。不过,与处于配置过程中对应的处理并不限定于此。例如也可以是,对通信进程204中设置的计数器进行计数,并将通信帧保存到待机用存储器中。该情况下,计数器的值被用作表示处于配置过程中接收到的通信帧数的值。此外,与处于配置过程中对应的处理也可以是,对上述的计数器进行计数并废弃接收到的通信帧。进而,与处于配置过程中对应的处理也可以是,废弃接收到的通信帧,并在经过规定时间后请求重新发送。

(变形例7)

在第一实施方式的与配置完成对应的处理中,将为了通信帧的卸载处理或中继处理而保存到待机用存储器中的通信帧发送到fpga250。不过,与配置完成对应的处理并不限定于此。例如,与配置完成对应的处理也可以是请求重新发送通信帧。此外,在与处于配置过程中对应的处理包括对计数器进行计数的情况下,与配置完成对应的处理也可以是使用了其计数值的处理。

第二实施方式

参照图9~图11说明车载系统的第二实施方式。在下面的说明中,对于与第一实施方式相同的构成要素标注相同的标记,主要对不同之处进行说明。没有特别说明的部分是与第一实施方式相同的。本实施方式与第一实施方式的主要不同点在于,按照fpga的故障程度使功能降级(fallback,缩减)。

图9是第二实施方式的车载网关装置100的结构图。

在微机201中,除了第一实施方式的结构之外,通信进程204还包括优先级db206。优先级db206是用于存储关于通信的优先级的信息的数据库,细节在后面叙述。此外,监视进程203还具有判断fpga250的故障程度的功能。故障程度至少能够区别无故障、局部故障和完全故障这3个阶段。无故障是指fpga250没有故障的状态,局部故障是指fpga250的一部分有某些问题,处理能力比无故障差的状态,完全故障是指fpga250完全无法进行处理的状态。

进而,通信进程204还具有计算fpga250承受负载的剩余能力作为预测剩余负载的功能。预测剩余负载的计算例如通过这样的方法实现:按每个信息处理项目预先测量负载并存储在通信进程204中,或根据通信帧大小等预测负载。预测剩余负载例如用0~100的整数表示,数值越大表示越具有承受负载的剩余能力。关于该预测剩余负载的初始值,即,在fpga250完成初始化时,在fpga250没有故障的情况下能够计算得到最大的“100”。此外,微机201中设置的未图示的rom中存储的程序与第一实施方式不同,如后述那样进行不同的动作。

代替第一实施方式的通信电路252,fpga250设置有第一通信电路252a和第二通信电路252b。第一通信电路252a和第二通信电路252b的结构和功能与第一实施方式的通信电路252相同。即,第一通信电路252a和第二通信电路252b均包括fdb253和转换db254,不过图9中省略了图示。第一通信电路252a和第二通信电路252b各自的处理能力可以与通信电路252相同,也可以低于通信电路252。第一通信电路252a和第二通信电路252b通常通过分担地执行处理来发挥fpga250的功能。

在第一通信电路252a和第二通信电路252b中的任一者因故障而不能工作的情况下,单独一个通信电路也能够发挥fpga250的功能。例如,两个通信电路通常交替地对输入到fpga250的通信帧进行处理,输入的第一个通信帧由第一通信电路252a处理,输入的第二个通信帧由第二通信电路252b处理。在例如第一通信电路252a发生了故障的情况下,第二通信电路252b对输入的所有通信帧进行处理。但是,由于故障会导致fpga250的处理能力下降,因此如后述那样使功能降级,仅对满足条件的通信帧进行处理。此外,上述通常时的第一通信电路252a和第二通信电路252b的功能分担仅为一例,第一通信电路252a和第二通信电路252b可以以任意方式分担功能。

fpga250中设置的未图示的故障检测电路监视第一通信电路252a和第二通信电路252b的动作状况,当检测到故障时,经监视总线210向微机201通知发生了故障。例如,在收到第一通信电路252a和第二通信电路252b两者发生故障的通知的情况下,监视进程203判断为完全故障,在收到第一通信电路252a和第二通信电路252b中的任一者发生故障的通知的情况下,监视进程203判断为局部故障,在没有收到任何发生故障的通知的情况下,监视进程203判断为无故障。

(优先级db)

图10是表示优先级db206之一例的图。优先级db206由具有2个字段的多条记录构成。优先级db206所具有的字段是canid1001和优先级1002。canid1001表示从第一canif202a和第二canif202b输入的can帧的帧头部中包含的canid,对应于图3的流程表205中的canid301。优先级1002是0~100的整数,针对与canid1001所示的canid对应的流程表205的信息处理项目303,数值越小表示处理的优先级越高。仅在fpga250的预测剩余负载大于优先级的情况下,才实施流程表205的信息处理项目303,细节在后面叙述。即,优先级db206表示与流程表205的信息处理项目303分别对应的作为处理的条件的阈值。

(流程图)

图11是表示第二实施方式的微型计算机的动作的流程图。在图11中,对进行与图6、图7相同处理的步骤标注相同的步骤号,省略说明。如之前所述,车载网关装置100刚启动后计算出的预测剩余负载为最大值例如100。下面说明的各步骤的执行主体是微机201中包含的未图示的cpu。

在图11所示的流程图开始后,步骤s601~s605与图6相同,故省略说明。在接着步骤s605执行的步骤s1106中,对监视进程203输出的fpga250的故障级别进行判断。在判断为无故障即没有发生故障的情况下前进至步骤s661,在判断为局部故障的情况下前进至步骤s1107,在判断为完全故障的情况下前进至步骤s657。

在步骤s1107中,基于步骤s602中取得的canid,参照优先级db206获取优先级。例如在优先级db206为图10所例示的值的情况下,在canid为“30”的情况下,取得优先级“40”。在接着的步骤s1108中,基于fpga250的故障程度和fpga250正在执行的处理的内容计算预测剩余负载,前进至步骤s1109。在步骤s1109中,对步骤s1107中取得的优先级与步骤s1108中计算出的预测剩余负载进行大小比较,判断预测剩余负载的值是否为优先级的值以下。在判断为预测剩余负载的值为优先级的值以下的情况下前进至步骤s657,在判断为预测剩余负载的值大于优先级的值的情况下前进至步骤s661。

在步骤s1106中判断为完全故障的情况下以及在步骤s1108中作出了肯定判断的情况下,与第一实施方式同样地执行步骤s657~s660。其中,在进行步骤s658中的恢复时,可以以整个fpga250为对象进行配置,但也可以仅以检测出故障的部分为对象进行配置。进而,也可以一边使fpga250工作一边进行配置,即,进行所谓的动态重配置。在步骤s660中,当判断为完全故障或局部故障时前进至步骤s664,当判断为无故障时前进至步骤s661。由于步骤s661以后的处理与第一实施方式相同,故省略说明。

采用上述第二实施方式,能够获得如下所述的作用效果。

(1)监视进程203监视fpga250的故障程度。通信进程204在fpga250发生了故障的情况下,根据其故障程度改变要执行的处理。执行与监视进程203所判断的fpga250的故障程度相应的处理。例如通信进程204在判断为无故障的情况下将接收到的通信帧发送到fpga250,在判断为局部故障的情况下,进行基于优先级与预测剩余负载的比较而决定的处理,在判断为完全故障的情况下,将通信帧保存到待机用存储器中并使fpga250恢复。因此,微机201能够执行与fpga250故障程度相应的处理。

(2)微机201中存储有优先级数据库206,该优先级数据库206表示与多个信息处理项目303分别对应的作为处理的条件的阈值。

通信进程204在fpga250局部地发生了故障的情况下,基于优先级数据库206获取与所选择的信息处理项目303对应的阈值,基于取得的阈值和fpga250的负载的剩余能力,决定是否执行所选择的信息处理项目303。

因此,在fpga250发生了故障时,能够按照接收到的通信帧的canid考虑fpga250的负载,在此基础上决定处理。

(3)微机201中存储有优先级数据库206,其中通信帧的标识符与作为处理的条件的阈值即优先级相关联。监视进程203判断fpga250的故障程度。通信进程204在基于接收到的通信帧的canid和流程表205判断为有必要将接收到的通信帧的至少一部分发送到fpga250(图11的步骤s604:是),并且监视进程203所判断的fpga250的故障程度为局部故障时(图11的步骤s1106:局部故障),进行以下的处理。即,基于接收到的通信帧的标识符和优先级数据库206获取优先级(步骤s1107),基于该优先级和预测剩余负载,决定是否使fpga250执行关于通信帧的处理(步骤s1108)。

因此,在fpga250发生了故障时,通过基于接收到的通信帧的canid、故障程度和优先级db206,选择存储在流程表205中的信息处理项目加以执行,能够将通信处理的限制抑制在必要最低限度,进而能够在要求时间内实施通信处理。具体而言,例如即使在fpga250发生了故障的情况下,如果是局部故障,则能够继续进行高优先级的通信帧的通信处理。

(第二实施方式的变形例1)

在第二实施方式中,微机201也可以与第一实施方式同样地判断fpga250是否处于配置过程中,在判断为fpga250处于配置过程中的情况下,执行与处于配置过程中对应的处理。具体而言可以是,在图11中接着步骤s605执行图6的步骤s606以后的处理,在步骤s606中判断为没有处于配置过程中的情况下,执行图11的步骤s1106以后的处理。

(第二实施方式的变形例2)

也可以是,微机201不包括优先级db206,在判断为fpga250的故障程度为局部故障的情况下,仅将一部分的通信帧发送到fpga250。例如可以是,不进行图11的步骤s1107~步骤s1109而是随机地决定处理的有无,仅在判断为要进行处理的情况下前进至步骤s661,在其他情况下前进至步骤s657。进而,也可以根据fpga250的故障程度增减要进行处理的概率,该情况下,使得故障程度越轻则进行处理的概率越高。此外,也可以基于要使fpga250进行的处理的内容、处理负载的大小,来判断是否将通信帧发送到fpga250。

(第二实施方式的变形例3)

在第二实施方式中,预测剩余负载是基于从微机201发送到fpga250的通信帧及其处理内容计算的。不过,也可以进一步考虑fpga250的故障程度,在fpga250具有输出当前的负载的功能的情况下利用其输出。

(第二实施方式的变形例4)

在第二实施方式中,也可以代替根据fpga250的故障程度区分不同的情况,而是将fpga250的故障程度反映到预测剩余负载与优先级的比较中。例如,在图11的流程图中,接着步骤s605前进至步骤s1107。进而调节预测剩余负载和优先级的至少一者,使得若fpga250的故障程度为无故障则在步骤s1108中作出否定判断,若fpga250的故障程度为完全故障则在步骤s1108中作出肯定判断,在此基础上前进至步骤s1108。

例如,若fpga250的故障程度为无故障,则无论步骤s1107的执行结果如何,均将优先级设定为比预测剩余负载的最小值小的值,例如“-1”,或者将预测剩余负载设定为比优先级的最大值大的值,例如“101”。

(第二实施方式的变形例5)

也可以是,监视进程203仅基于第一通信电路252a和第二通信电路252b各自是否正在工作来判断fpga250的故障程度。该情况下,在仅第一通信电路252a和第二通信电路252b中的任一者工作时,图11的步骤s1106判断为局部故障。这时,将预测剩余负载的最大值设定为预先决定的值例如“50”。

微机201的程序存储在未图示的rom中,但程序也可以存储在微机201中设有的未图示的非易失性存储器中。此外也可以构成为,微机201具有未图示的输入输出接口,在必要时经输入输出接口和微机201可利用的介质从其他装置读入程序。这里,介质指的是例如可插拔地安装在输入输出接口上的存储介质,或通信介质即有线、无线、光等的网络,或在该网络中传播的载波、数字信号。此外,通过程序实现的功能的一部分或全部也可以通过硬件、fpga实现。

上述各实施方式和变形例可以彼此组合。

上面说明了各种实施方式和变形例,但本发明并不限定于这些内容。属于本发明技术思想的范围内的其他方式也包含在本发明的范围内。

下述优先权申请的内容被引用于本说明书中。

日本国专利申请2016年第252782号(2016年12月27日申请)

附图标记说明

100……车载网关装置

201……微型计算机

203……监视进程

204……通信进程

206……优先级数据库

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