CN110915138A - 电子控制装置和电路的重构方法 - Google Patents

电子控制装置和电路的重构方法 Download PDF

Info

Publication number
CN110915138A
CN110915138A CN201880047417.XA CN201880047417A CN110915138A CN 110915138 A CN110915138 A CN 110915138A CN 201880047417 A CN201880047417 A CN 201880047417A CN 110915138 A CN110915138 A CN 110915138A
Authority
CN
China
Prior art keywords
circuit
reconfiguration
control unit
arithmetic
processing
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
Application number
CN201880047417.XA
Other languages
English (en)
Other versions
CN110915138B (zh
Inventor
植田泰辅
新保健一
鸟羽忠信
坂本英之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Publication of CN110915138A publication Critical patent/CN110915138A/zh
Application granted granted Critical
Publication of CN110915138B publication Critical patent/CN110915138B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/023Avoiding failures by using redundant parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0055Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements
    • G05D1/0061Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot with safety arrangements for transition from automatic pilot to manual pilot and vice versa
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • B60W2050/0088Adaptive recalibration

Abstract

本发明的电子控制装置包括:能够将包括第一电路和第二电路的多个运算电路重构的逻辑电路;按照重构指令进行运算电路的重构和重构后的运算电路的确认的重构控制部;和能够对重构控制部发送重构指令并能够使运算电路执行运算的处理控制部,重构控制部在接收到第一所述重构指令的情况下进行第一电路的重构和确认,处理控制部在重构控制部进行的第一电路的确认已完成的情况下使第一电路执行运算,处理控制部在第一电路的重构完成之后到第一电路的运算完成为止的期间,发送第二所述重构指令来使重构控制部开始第二电路的重构。

Description

电子控制装置和电路的重构方法
技术领域
本发明涉及电子控制装置和电路的重构方法。
背景技术
以车辆的自动驾驶为目的的技术开发正在进展。自动驾驶需要代替驾驶员来进行周围的识别、车辆的控制,需要大量的信息处理。为了应对增大的信息处理,在CPU之外也使用硬件芯片的研究正在进展。其中,期待使用能够将逻辑电路重构的FPGA(FieldProgrammable Gate Array:现场可编程门阵列)等PLD(Programmable Logic Device:可编程逻辑控制器)在1个逻辑电路中实现多个处理。在使用逻辑电路的情况下,要求考虑软错误的适当的处理。专利文献1中公开了在发生了软错误时按分割后的每个块检测错误的发生、以分割后的分块单位改写电路设定信息的技术。
现有技术文献
专利文献
专利文献1:日本国特开2011-13829号公报
发明内容
发明要解决的课题
要求缩短可重构的逻辑电路中的处理时间。
用于解决课题的技术方案
本发明的第一方式的电子控制装置包括:能够将包括第一电路和第二电路的多个运算电路重构的逻辑电路;按照重构指令进行所述运算电路的重构和重构后的所述运算电路的确认的重构控制部;和能够对所述重构控制部发送所述重构指令并能够使所述运算电路执行运算的处理控制部,所述重构控制部在接收到第一所述重构指令的情况下进行所述第一电路的重构和确认,所述处理控制部在所述重构控制部进行的所述第一电路的确认已完成的情况下使所述第一电路执行运算,所述处理控制部在所述第一电路的重构完成之后到所述第一电路的运算完成为止的期间,发送第二所述重构指令来使所述重构控制部开始所述第二电路的重构。
本发明的第二方式的电路的重构方法,是在能够将包括第一电路和第二电路的多个运算电路重构的逻辑电路中执行的电路的重构方法,包括以下步骤:进行所述第一电路的重构和确认;在所述第一电路的确认已完成的情况下使所述第一电路执行运算;和在所述第一电路的重构完成之后到所述第一电路的运算完成为止的期间开始所述第二电路的重构。
发明效果
根据本发明,能够缩短可重构的逻辑电路中的处理时间。
附图说明
图1是车载系统1的系统结构图。
图2是自主行驶控制装置2的硬件结构图。
图3是自主行驶控制装置2的功能结构图。
图4是重构控制部204的功能结构图。
图5(a)是表示实施运算种类“A”的处理的运算部206的结构的图,图5(b)是表示实施运算种类“B”的处理的运算部206的结构的图。
图6是表示处理信息数据库3的一例的图。
图7是表示电路管理数据库4的一例的图。
图8是表示处理控制部202的动作的流程图。
图9是表示重构控制部204的动作的流程图。
图10是表示自主行驶控制装置2的动作的序列图。
图11是表示第一实施方式中的自主行驶控制装置2的动作的时序图。
图12是表示变形例1中的电路管理DB4A的一例的图。
图13是表示变形例2中的自主行驶控制装置2的动作的时序图。
图14是表示变形例2中的处理控制部202的动作的流程图。
图15是表示第二实施方式中的自主行驶控制装置2的动作的时序图。
具体实施方式
―第一实施方式―
以下,参考图1~图11,对于电子控制装置即自主行驶控制装置的第一实施方式进行说明。
<系统结构>
图1是包括自主行驶控制装置2的车载系统1的系统结构图。车载系统1搭载于车辆100,包括用摄像机识别车辆100的外界状况的摄像机信息获取部101、用雷达识别车辆100的外界状况的雷达信息获取部102、和使用卫星导航系统例如GPS的接收机来检测车辆100的位置的本车位置信息获取部103。车载系统1还包括用于设定车辆100的自动驾驶的自动驾驶设定部104和用于通过OTA(Over-The-Air:无线)更新车载系统1的信息的无线通信部105。
车载系统1还包括自主行驶控制装置2、辅助控制部106、制动控制部107、发动机控制部108和动力转向控制部109。自主行驶控制装置2、辅助控制部106、制动控制部107、发动机控制部108和动力转向控制部109例如是ECU(Electronic Control Unit:电子控制单元)。
摄像机信息获取部101、雷达信息获取部102、本车位置信息获取部103、自动驾驶设定部104、无线通信部105、自主行驶控制装置2、辅助控制部106、制动控制部107、发动机控制部108和动力转向控制部109通过CAN(Controller Area Network:控制器局域网)等车载网络可相互通信地连接。摄像机信息获取部101、雷达信息获取部102和本车位置信息获取部103分别将从传感器等接收到的信息发送至自主行驶控制装置2。自动驾驶设定部104将自动驾驶时的目的地、路线、行驶速度等设定信息发送至自主行驶控制装置2。但是,自动驾驶设定部104发送的信息的一部分也可以经由无线通信部105从服务器装置110等外部接收。
自主行驶控制装置2进行用于自动驾驶控制的处理并基于处理结果将控制指令输出至制动控制部107、发动机控制部108和动力转向控制部109。辅助控制部106进行与自主行驶控制装置2同样的控制作为辅助。制动控制部107控制车辆100的制动力。发动机控制部108控制车辆100的驱动力。动力转向控制部109控制车辆100的转向。
自主行驶控制装置2用自动驾驶设定部104接受自动驾驶的设定请求时,基于来自摄像机信息获取部101、雷达信息获取部102、本车位置信息获取部103等的外界的信息计算出车辆100移动的轨道(轨迹)。然后,自主行驶控制装置2为了使车辆100按照计算出的轨道移动,而将制动力、驱动力、转向等的控制指令输出至制动控制部107、发动机控制部108和动力转向控制部109。制动控制部107、发动机控制部108和动力转向控制部109从自主行驶控制装置2接受控制指令,分别对未图示的控制对象即致动器输出操作信号。
<自主行驶控制装置的硬件结构>
图2是自主行驶控制装置2的硬件结构图。自主行驶控制装置2包括CPU251、ROM252、RAM253、闪存254、逻辑电路255和通信接口256。CPU251通过将ROM252中保存的程序部署至RAM253并执行而实现后述的功能。闪存254是非易失性的存储区域。另外,CPU251也可以是采用锁步方式的具有多个核心的处理器。
逻辑电路255是使用FPGA等PLD的可重构的逻辑电路。逻辑电路255是能够仅将其一部分重构的、所谓可部分重构的逻辑电路。通信接口256是基于CAN等规定的协议进行通信的接口。自主行驶控制装置2经由通信接口256与其他装置连接,发送接收数据。但是,通信接口256可以具有与外部的机器连接的2个通信端口,也可以仅具有1个通信端口。
<自主行驶控制装置的功能结构>
图3是自主行驶控制装置2的功能结构图。自主行驶控制装置2具有第一通信接口201-1、第二通信接口201-2、处理控制部202、重构电路203、重构控制部204、运算部206、第一运算电路207-1~第N运算电路207-N(N是任意的2以上的自然数)、处理信息数据库(以下称为处理信息DB)3、电路管理数据库(以下称为电路管理DB)4和电路数据库(以下称为电路DB)5。以下,将第一通信接口201-1、第二通信接口201-2总称为“通信接口201”。另外,将第一运算电路207-1~第N运算电路207-N总称为运算电路207。通信接口201用图2的通信接口256实现。处理信息DB3、电路管理DB4和电路DB5用RAM253或闪存254实现。
重构电路203用逻辑电路255实现。重构控制部204和运算部206在重构电路203中构成。运算电路207是在运算部206中构成的逻辑电路。本实施方式中,在重构电路203中重构控制部204不被重构,仅运算部206被重构。换言之,重构电路203能够部分地重构,维持重构控制部204等电路,在运算部206中将运算电路207重构。
自主行驶控制装置2经由第一通信接口201-1与图1的摄像机信息获取部101、雷达信息获取部102、本车位置信息获取部103、自动驾驶设定部104和无线通信部105连接,经由第二通信接口201-2与辅助控制部106、制动控制部107、发动机控制部108和动力转向控制部109连接。另外,图3中,自主行驶控制装置2具有第一通信接口201-1和第二通信接口201-2这样逻辑上的2个通信接口,但也可以仅具有兼具两者的功能的1个逻辑通信接口。
处理控制部202用由CPU251执行的程序实现。处理控制部202以规定的处理周期T反复执行后述的处理。处理控制部202周期性地收集来自摄像机信息获取部101、雷达信息获取部102和本车位置信息获取部103的传感器信息、以及来自自动驾驶设定部104的自动驾驶设定信息。处理控制部202参照处理信息DB3,判断对于收集的传感器信息和自动驾驶设定信息实施的处理次数和处理信息。
处理控制部202基于用处理信息DB3判断的处理次数和处理信息,判断用运算部206实施的运算种类。另外,处理控制部202基于判断的运算种类,参照电路管理DB4,判断构成运算部206的电路的个数和具体的电路数据。电路数据被保存在电路DB5中。电路数据被写入重构电路203内的电路区域中而构成运算电路207等逻辑电路255,形成运算部206等。
处理控制部202对重构控制部204发送包括电路数据的重构指示,使重构控制部204将运算部206的逻辑电路255重构。此时,重构控制部204在逻辑电路255重构后执行后述的逻辑电路255的错误检查处理。处理控制部202基于判断的构成运算部206的电路的个数和电路数据,从第一运算电路207-1起顺次进行重构。
处理控制部202管理运算部206的电路区域的重构的状态,调整第一运算电路207-1至第N运算电路207-N各电路的重构时机。处理控制部202基于从重构的最后的运算电路即第N运算电路207-N获取的运算结果,从第二通信接口201-2输出制动力和驱动力等的控制指令。
重构控制部204从处理控制部202接收包括电路数据的重构指示,变更重构电路203内的电路区域的运算部206的电路结构。即,重构控制部204进行运算电路207的重构。重构控制部204在运算电路207的重构完成时,实施构成的运算电路207的错误检查。重构控制部204在错误检查完成时对处理控制部202通知完成通知。关于重构控制部204的功能结构的详情,参考图4在后文中叙述。另外,由重构控制部204构成的运算电路207的错误检查,也称为“软错误检查”或“确认”。
<逻辑电路的运算流程>
如上所述,在重构电路203中新进行运算的情况下,首先进行运算电路的重构,接着进行重构后的运算电路的错误检查。经过这些步骤,在重构后的运算电路中能够进行运算。因此,可以认为运算电路的重构和错误检查所需的时间是用于在运算电路中执行运算的准备所需的时间。在本实施方式中,通过使该准备所需的时间与其他运算电路进行运算的时间重叠而将其隐藏。详情在后文中叙述。
<重构控制部的功能结构>
图4是重构控制部204的功能结构图。重构控制部204具有调整部41、配置部42、错误监视部43和电路数据缓存部44。
调整部41是与处理控制部202发送接收数据的功能部。调整部41在从处理控制部202接收包括电路数据的重构指示时,为了在运算部206中构成运算电路207而对配置部42发送电路数据。调整部41对配置部42构成运算电路207的时机和错误监视部43执行错误检查的时机进行调整。调整部41在配置部42构成运算电路207时,使错误监视部43实施运算电路207的错误检查。调整部41在错误监视部43进行的错误检查完成时,对处理控制部202通知完成通知。
配置部42使用从调整部41接收到的电路数据来构成运算电路207。图4中,用虚线示出了配置部42与运算电路207的连接,示出了与逻辑电路255的配置存储器的接口等。具体而言,配置部42通过将电路数据写入配置存储器中而在逻辑电路255中的运算部206中构成运算电路207。
错误监视部43是实施是否存在逻辑电路255的软错误等的错误检查的功能部。错误监视部43将错误检查结果发送至调整部41。具体而言,错误监视部43使用纠错功能等,读取与运算电路207相当的部分的配置存储器,判断是否存在错误。但是,本实施方式中的逻辑电路255不能同时进行运算电路的重构和错误检查。即,在配置部42工作时错误监视部43不能工作,在错误监视部43工作时配置部42不能工作。
电路数据缓存部44是暂时性地保存调整部41从处理控制部202接收到的电路数据的功能部。调整部41在错误监视部43检测出错误时,可以使用在电路数据缓存部44中暂时性地保存的电路数据再次对配置部42发送电路数据。
<运算部中的运算电路的结构例>
图5是表示运算部206中的运算电路207的结构例的图。图5(a)是表示实施运算种类“A”的处理的运算部206的结构的图,图5(b)是表示实施运算种类“B”的处理的运算部206的结构的图。实施运算种类“A”的处理的运算部206,由实施运算A的第一处理的第一运算A电路207A-1和实施运算A的第二处理的第二运算A电路207A-2构成。实施运算种类“B”的处理的运算部206,由实施运算B的第一处理的第一运算B电路207B-1、实施运算B的第二处理的第二运算B电路207B-2和实施运算B的第三处理的第三运算B电路207-3构成。以下,将第一运算A电路207A-1和第二运算A电路207A-2总称为“运算A电路207A”。另外,将第一运算B电路207B-1、第二运算B电路207B-2和第三运算B电路207-3总称为“运算B电路207B”。
第一运算A电路207A-1和第二运算A电路207A-2分别经由与配置存储器的接口等与重构控制部204连接。运算A电路207A与处理控制部202连接,第一运算A电路207A-1从处理控制部202接收运算A的处理的执行开始指示,第二运算A电路207A-2对处理控制部202通知运算A的处理结果。另外,运算A电路207A从处理控制部202接收从第一运算A电路207A-1向第二运算A电路207A-2的运算处理的切换和继续等的时机的信息。
第一运算B电路207B-1、第二运算B电路207B-2和第三运算B电路207B-3分别经由与配置存储器的接口等与重构控制部204连接。运算B电路207B与处理控制部202连接,第一运算B电路207B-1从处理控制部202接收运算B的处理的执行开始指示,第三运算B电路207B-3对处理控制部202通知运算B的处理结果。另外,运算B电路207B从处理控制部202接收从第一运算B电路207B-1向第二运算B电路207B-2的运算处理的切换和继续等的时机、和从第二运算B电路207B-2向第三运算B电路207B-3的运算处理的切换和继续等的时机的信息。
<处理信息数据库的管理信息>
图6是表示处理信息DB3的一例的图。处理信息DB3被处理控制部202参照,是保存对收集的传感器信息和自动驾驶设定信息实施的处理内容的数据库。处理信息DB3包括处理次数301和处理信息302的字段。在处理次数301中保存运算部206进行运算的次数。在处理信息302中,由多个处理信息例如处理信息1和处理信息2构成,保存使运算部206实施的处理的名称、例如运算A和运算B的信息。运算A是传感器融合、运算B是轨道生成等,可以保存表示关于自主行驶控制的具体的运算处理的信息。
图6所示的例子中,在处理次数301的字段中保存了“2”,所以表示运算部206进行的处理的次数是2次。用附图标记302-1表示的处理信息1表示了实施运算A作为运算部206的第1次处理。用附图标记302-2表示的处理信息2表示了实施运算B作为运算部206的第2次处理。另外,图6所示的处理信息DB3是一例,构成处理信息302的处理信息的数量也可以是2以外。即,处理信息302也可以由3个以上处理信息构成。
本实施方式中,各运算处理使用前一运算处理的执行结果进行规定的运算。例如,在运算A中,获取基于收集的传感器信息和自动驾驶设定信息进行运算的结果,运算B基于运算A的执行结果执行规定的处理。但是,运算B也可以使用运算A的执行结果以外的信息进行运算。
<电路管理数据库的管理信息>
图7是表示电路管理DB4的一例的图。电路管理DB4被处理控制部202参照,是保存各运算种类的运算电路的分割数和分割后的电路数据的信息的数据库。电路管理DB4按每个运算种类401具有分割数402和电路数据403的字段。运算种类401保存与处理控制部202参照处理信息DB3而获取的处理信息302对应的运算种类的信息。在分割数402中,与运算种类401相应地,保存构成运算部206的运算电路207的分割的数量。在电路数据403中,与运算种类401相应地,保存分割为多部分的电路数据的信息。具体而言,是用于从电路DB5保持的电路数据中获取相应的电路数据的地址信息。
图7所示的例子中,在运算种类401的字段中保存了“A”的行中,在分割数402的字段中保存了“2”,所以表示了构成实施运算A的运算部206的运算A电路207A的分割的数量是2。用附图标记403-1表示的电路数据1,表示了运算A电路207A的第一运算A电路(207A-1)的信息。用附图标记403-2表示的电路数据2,表示了运算A电路207A的第二运算A电路(207A-2)的信息。用附图标记403-3表示的电路数据3未使用,所以没有表示信息。
另外,在运算种类401的字段中保存了“B”的行中,在分割数402的字段中保存了“3”,所以表示了构成实施运算B的运算部206的运算部206的运算B电路207B的分割的数量是3。用附图标记403-1表示的电路数据1,表示了运算B电路207B的第一运算B电路(207B-1)的信息。用附图标记403-2表示的电路数据2,表示了运算B电路207B的第二运算B电路(207B-2)的信息。用附图标记403-3表示的电路数据3,表示了运算B电路207B的第三运算B电路(207B-3)的信息。另外,图7所示的电路管理DB4是一例,构成电路数据403的电路数据的数量也可以是3以外。作为运算种类401保存的种类也可以是2以外。
<处理控制部的流程图>
图8是表示处理控制部202的动作的流程图。处理控制部202在每规定的处理周期T执行用以下流程图表示的动作。
在步骤S801中,处理控制部202参照处理信息DB3,获取处理次数301和处理信息302的信息。在接下来的步骤S802中,处理控制部202对作为循环计数器的处理ID代入“1”。在步骤S803中,处理控制部202基于处理ID和步骤S801中获取的处理信息302获取运算种类。然后,处理控制部202读取电路管理DB4,取得与所获取的运算种类对应的分割数402和电路数据403的信息。处理信息DB3是图6所示的且处理ID是“1”的情况下获取“A”作为运算种类。电路管理DB4是图7所示的情况下,判断分割数是“2”。在接下来的步骤S804中,处理控制部202对作为循环计数器的电路ID代入“1”。
在步骤S805中,处理控制部202对重构控制部204发送包括基于电路管理DB4的记载的电路数据的重构指示。电路管理DB4是图7所示的且电路ID是“1”的情况下,处理控制部202参照用附图标记403-1表示的电路数据1,对重构控制部204发送第一运算A电路的电路数据。另外,虽然本流程图中没有记载,但重构控制部204在接收电路数据时立即开始运算部206的重构,执行错误检查。然后,在重构和错误检查完成时,重构控制部204对处理控制部202通知完成通知。
在接下来的步骤S806中,处理控制部202判断完成通知的等待时间是否超时、换言之运算部206的重构和错误检查是否按时完成。判断为超时时处理控制部202判断为不能在规定的处理周期T的范围内处理,视为异常处理而使动作结束。另外,处理控制部202判断为未超时时,判断步骤S807中是否接收了完成通知,判断为已接收时前进至步骤S808,判断为未接收时返回S806。
在步骤S808中,处理控制部202与电路ID的值相应地进行以下处理。即,电路ID是“1”的情况下,因为第一运算电路207-1的重构刚完成,所以处理控制部202使运算部206开始运算。电路ID是“2”以后的情况下,处理控制部202为了使重构完成的运算电路接管之前执行的运算电路的处理结果进行运算,而由处理控制部202对运算部206指示接管运算数据。例如,对重构完成的第三运算B电路207B-3指示接管之前执行的第二运算B电路207B-2的运算数据。
在接下来的步骤S809中,处理控制部202判断电路ID是否等于规定值、即电路管理DB4的分割数402的字段的值。判断为电路ID等于该字段的值的情况下,与电路管理DB4所示的运算种类401相当的全部电路数据的重构已完成,所以前进至步骤S811,从运算部206获取运算结果。但是,严密而言,等待第N运算电路207-N的运算结束并获取其运算结果。处理控制部202判断电路ID不等于该字段的值的情况下,前进至步骤S810使电路ID增加,返回步骤S805。
在步骤S811后下一个执行的步骤S812中,处理控制部202判断处理ID是否等于规定值、即处理信息DB3的处理次数301的字段的值。判断处理ID等于该字段的值的情况下,处理信息DB3所示的全部处理已完成,所以处理控制部202前进至步骤S814,输出作为最终结果的控制指令并使图8所示的动作结束。判断为处理ID不等于该字段的值的情况下,处理控制部202前进至步骤S813使处理ID增加,返回步骤S803。
<重构控制部的流程图>
图9是表示重构控制部204的动作的流程图。重构控制部204通过图4所示的调整部41、配置部42、错误监视部43和电路数据缓存部44的协调动作而工作。如以下所说明,重构控制部204每当从处理控制部202接收包括电路数据的重构指示时执行用以下流程图表示的动作。步骤S901至步骤S905中的动作时间的管理和调整由调整部41进行。
在步骤S901中,重构控制部204将接收到的重构指示中包括的电路数据写入运算电路207中。经由配置部42开始运算电路207的重构,在步骤S902中等待一定时间直到重构完成。步骤S902中判断为重构已完成时,前进至步骤S903。在步骤S903中,重构控制部204检查是否存在通过写入的电路数据构成的运算电路207的错误。换言之,重构控制部204用错误监视部43读取与运算电路207相当的部分的配置存储器,确认与写入的信息一致。
在接下来的步骤S904中,重构控制部204判断步骤S903中是否检测出错误。重构控制部204判断为不存在错误的情况下前进至步骤S905,判断为检测出了错误的情况下返回步骤S901,再次进行重构。另外,返回步骤S901、再次将电路数据写入运算电路207中的情况下,重构控制部204使用在电路数据缓存部44中暂时性地保存的电路数据,再次将电路数据写入运算电路207中。在步骤S905中,重构控制部204对处理控制部202通知重构和错误检查已完成的消息。至此结束动作。
<动作序列>
图10是表示自主行驶控制装置2的动作的序列图。具体而言,图10表示使用图6所示的处理信息DB3和图7所示的电路管理DB4的情况下的自主行驶控制装置2的处理。图10中仅示出了时间T的1个周期,但这些处理被反复执行。即,图10中的左上的S1001至左下的S1039是1个周期的处理。
首先,处理控制部202从处理信息DB3读取处理次数301和处理信息302,从电路管理DB4读取运算种类401、分割数402和电路数据403(S1001)。接着,处理控制部202为了实施用附图标记302-1表示的处理信息1的运算A,而对重构控制部204通知包括由用附图标记403-1表示的电路数据1指定的第一运算A电路的电路数据的重构指示(S1002)。重构控制部204将第一运算A电路的电路数据写入运算部206中(S1003)。运算部206中重构完成(S1004),即构成第一运算A电路207A-1时,接着,重构控制部204实施第一运算A电路207A-1的错误检查(S1005)。但是,在S1005中,因为重构控制部204读取在运算部206的配置存储器中写入的信息,所以记载了从运算部206朝向重构控制部204的箭头。重构控制部204在错误检查完成时(S1006)对处理控制部202通知完成通知(S1007)。
接着,处理控制部202对运算部206指示开始第一运算A电路207A-1的处理(S1008),同时对重构控制部204通知包括由用附图标记403-2表示的电路数据2指定的第二运算A电路的电路数据的重构指示(S1009)。重构控制部204将第二运算A电路的电路数据写入运算部206中(S1010)。由此,使第一运算A电路207A-1中的运算的执行和第二运算A电路的电路数据的写入并行地处理。运算部206中重构完成(S1011)、即构成了第二运算A电路207A-2时,重构控制部204实施第二运算A电路207A-2的错误检查(S1012)。错误检查完成时(S1013),重构控制部204对处理控制部202通知完成通知(S1014)。
接着,处理控制部202对运算部206指示使第二运算A电路207A-2接管第一运算A电路207A-1的运算结果并开始处理(S1015)。之后,运算部206将第二运算A电路207A-2处理得到的运算结果发送至处理控制部202(S1016)。
在处理控制部202中,因为处理信息1指定的运算A已结束,所以转移至下一处理、即处理信息2指定的运算B。处理控制部202为了实施用附图标记302-2表示的处理信息2的运算B,而对重构控制部204通知包括由用附图标记403-1表示的电路数据1指定的第一运算B电路的电路数据的重构指示(S1017)。重构控制部204将第一运算B电路的电路数据写入运算部206中(S1018)。运算部206中重构完成(S1019)、即构成第一运算B电路207B-1时,接着,重构控制部204实施第一运算B电路207B-1的错误检查(S1020)。错误检查完成时(S1021),重构控制部204对处理控制部202通知完成通知(S1022)。
接着,处理控制部202对运算部206指示开始第一运算B电路207B-1的处理(S1023),同时对重构控制部204通知包括由用附图标记403-2表示的电路数据2指定的第二运算B电路的电路数据的重构指示(S1024)。重构控制部204将第二运算B电路的电路数据写入运算部206中(S1025)。由此,使第一运算B电路207B-1中的运算的执行和第二运算B电路的电路数据的写入并行地处理。在运算部206中重构完成(S1026)、即构成了第二运算B电路207B-2时,接着,重构控制部204实施第二运算B电路207B-2的错误检查(S1027)。错误检查完成时(S1028),重构控制部204对处理控制部202通知完成通知(S1029)。
接着,处理控制部202对运算部206指示使第二运算B电路207B-2接管第一运算B电路207B-1的运算结果并开始处理(S1030)。与此同时处理控制部202对重构控制部204通知包括由用附图标记403-3表示的电路数据3指定的第三运算B电路的电路数据的重构指示(S1031)。重构控制部204将第三运算B电路的电路数据写入运算部206中(S1032)。由此,使第二运算B电路207B-2中的运算的执行和第三运算B电路的电路数据的写入并行地处理。运算部206中重构完成(S1033)、即构成了第三运算B电路207B-3时,接着,重构控制部204实施第三运算B电路207B-3的错误检查(S1034)。错误检查完成时(S1035),重构控制部204对处理控制部202通知完成通知(S1036)。
接着,处理控制部202对运算部206指示使第三运算B电路207B-3接管第二运算B电路207B-2的运算结果并开始处理(S1037)。之后,运算部206将第三运算B电路207B-3处理得到的运算结果发送至处理控制部202(S1038)。处理控制部202中,因为处理信息2指定的运算B结束、全部处理结束,所以输出控制指令值(S1039),使动作结束。以上是图10所示的迁移图的说明。
<时序图>
图11是表示自主行驶控制装置2的动作的时序图。图11所示的时序图对应于图10中记载的自主行驶控制装置2的动作。图11中时间从图示左方向右方经过。如图11的左端所示,图11中从上方起示出了处理控制部202的动作、第一运算A电路207A-1的状态、第二运算A电路207A-2的状态、第一运算B电路207B-1的状态、第二运算B电路207B-2的状态和第三运算B电路207B-3的状态。但是,图11中因为空间的原因,将逻辑电路的重构记载为“构成”,将重构后的逻辑电路的错误检查记载为“确认”。
处理控制部202在时刻t0开始周期处理,从处理信息DB3读取处理次数301和处理信息302,从电路管理DB4读取运算种类401、分割数402和电路数据403。在读取完成的时刻t1,处理控制部202对重构控制部204通知包括由用附图标记403-1表示的电路数据1指定的第一运算A电路的电路数据的重构指示,第一运算A电路207A-1被重构控制部204开始重构。
在时刻t2,第一运算A电路207A-1的重构和错误检查完成时,处理控制部202进行以下2个处理。即,处理控制部202指示第一运算A电路207A-1的处理开始,同时对重构控制部204通知包括由用附图标记403-2表示的电路数据2指定的第二运算A电路的电路数据的重构指示。接受了该通知的第二运算A电路207A-2被重构控制部204开始重构。
在时刻t3,第二运算A电路207A-2的重构和错误检查完成,与此同时第一运算A电路207A-1的运算处理完成。此时,处理控制部202对第二运算A电路207A-2指示接管第一运算A电路207A-1的运算结果并开始处理。在时刻t4,第二运算A电路207A-2的运算处理完成时,处理控制部202对重构控制部204通知包括由用附图标记403-1表示的电路数据1指定的第一运算B电路的电路数据的重构指示,第一运算B电路207B-1被重构控制部204开始重构。
在时刻t5,第一运算B电路207B-1的重构和错误检查完成时,处理控制部202指示第一运算B电路207B-1的处理开始,同时进行以下处理。即,处理控制部202对重构控制部204通知包括由用附图标记403-2表示的电路数据2指定的第二运算B电路的电路数据的重构指示。第二运算B电路207B-2以该通知为触发开始重构控制部204进行的重构。
在时刻t6,第二运算B电路207B-2的重构和错误检查完成时,处理控制部202对第二运算B电路207B-2指示接管第一运算B电路207B-1的运算结果并开始处理。但是,因为第一运算B电路207B-1的运算处理尚未完成,所以使用第一运算B电路207B-1的运算处理结果的第二运算B电路207B-2的运算处理不能开始。处理控制部202进而对重构控制部204通知包括由用附图标记403-3表示的电路数据3指定的第三运算B电路的电路数据的重构指示,第三运算B电路207B-3被重构控制部204开始重构。
在时刻t7,第一运算B电路207B-1的运算处理完成时,第二运算B电路207B-2接管第一运算B电路207B-1的运算结果并开始处理。该运算处理比时刻t8略早地完成。但是,在该时刻第三运算B电路207B-3的错误检查尚未完成,所以第三运算B电路207B-3的运算不能开始。在时刻t8,第三运算B电路207B-3的重构和错误检查完成时,处理控制部202对第三运算B电路207B-3指示接管第二运算B电路207B-2的运算结果并开始处理。在时刻t9,第三运算B电路207B-3的运算处理完成时,处理控制部202基于运算结果输出控制指令。在时刻t10,完成控制指令的输出,处理控制部202结束时间T的1个周期的处理。
根据上述第一实施方式,可以得到以下作用效果。
(1)自主行驶控制装置2包括能够将包括第一运算A电路207A-1和第二运算A电路207A-2的多个运算电路重构的逻辑电路255,和按照重构指令进行运算电路的重构和重构后的运算电路的确认的重构控制部204,和对重构控制部204发送重构指令来使运算部执行运算的处理控制部202。重构控制部204在接收到第一重构指令时,进行第一电路的重构和第一电路的确认(图9的S901、S903)。处理控制部202在重构控制部204进行的第一电路的确认完成时,使第一电路执行运算(图8的S807:是、S808)。处理控制部202在第一电路的重构完成之后到第一电路的规定处理的执行完成为止的期间,发送第二重构指令而使重构控制部204开始第二电路的重构(S809:否、S805)。
处理控制部202将构成运算部206的运算电路分割而使其重构,使运算电路执行运算的时间与下一运算电路的执行的准备所需的时间重叠。因此,处理控制部202能够将运算电路的执行的准备所需的时间、即所谓开销(overhead)隐藏,使从逻辑电路255的重构开始到逻辑电路255进行的全部运算完成的处理时间缩短。
(2)处理控制部202在第一电路的确认完成之后到第一电路的运算完成为止的期间(图11的时刻t2~t3之间)发送第二重构指令。因此,在使用不能同时执行运算电路的重构和错误检查的本实施方式中的逻辑电路255的情况下,也能够应用本发明。另外,在第一电路的确认完成时立即开始第一电路的运算,所以也可以认为是处理控制部202在第一电路的运算开始之后到第一电路的运算完成为止的期间发送第二重构指令。
(3)重构控制部204在第二电路的重构完成时进行第二电路的确认。处理控制部202在第二电路的确认完成、且第一电路的运算完成时,使第二电路执行使用第一电路的运算结果的处理。因此,能够进行使用之前的运算结果的运算。
(4)重构控制部204在运算电路的确认中检测出错误时重新进行运算电路的重构(图9的S904:否、S901)。因此,自主行驶控制装置2能够使重构后的运算电路在没有错误的状态下执行运算。
(5)逻辑电路255中重构的运算电路的数量和规模,基于各运算电路中执行的运算的执行时间决定。因此,如图11的时刻t2~t3所示,能够使第一运算A电路207A-1的运算执行时间与第二运算A电路207A-2的执行的准备所需的时间即重构和错误检查的时间恰好一致。
(6)自主行驶控制装置2包括保存关于逻辑电路255中构成的多个运算电路的信息的电路管理DB4。处理控制部202基于电路管理DB4对重构控制部204输出重构指令。因此,处理控制部202能够读取预先生成的电路管理DB4而对重构控制部204输出重构指令。
(7)重构控制部204包括进行运算电路的重构的配置部42和进行重构后的运算电路的错误监视部43。配置部42在从处理控制部接收到重构指令时开始运算电路的重构。错误监视部43在配置部42进行的重构完成时开始重构后的运算电路的确认,对处理控制部202通知确认的结果。
(变形例1)
上述第一实施方式中,运算部206的第2个以后执行的各运算电路总是使用之前的运算结果。但是,运算部206的各运算电路也可以不使用之前的运算结果。该情况下,例如代替电路管理DB4地,使用与各电路数据一同包括表示是否使用之前的运算结果的信息的电路管理DB4A。然后,处理控制部202在图8的S808中参照电路管理DB4A判断是否指示接管通过之前执行的运算得到的运算数据。
图12是表示变形例1中的电路管理DB4A的一例的图。电路管理DB4A与电路管理DB4相比增加了电路数据403的项目。具体而言,电路管理DB4A中的电路数据403与运算种类401相应地保存分割为多个的电路数据的信息和是否接管。具体而言,电路数据1中包括电路的种类403-11和是否接管403-12,电路数据2中包括电路的种类403-21和是否接管403-22,电路数据3中包括电路的种类403-31和是否接管403-32。
在运算种类A中,因为是最初执行的处理,所以在电路数据1中的是否接管403-12中保存“否”。读取了该信息的处理控制部202在第一运算A电路的错误检查完成时,立即使第一运算A电路执行运算。另外,在运算种类A的电路数据2中的是否接管403-22中保存“否”。读取了该信息的处理控制部202在第二运算A电路的错误检查完成时,立即使第二运算A电路执行运算。运算种类B中,在电路数据1中的是否接管403-12中保存“是”。读取了该信息的处理控制部202在第一运算B电路的错误检查完成时,对第一运算B电路207B-1指示接管之前的处理即运算种类A的运算结果、更严密而言为第二运算A电路207A-2的运算结果并开始处理。
根据该变形例1,在运算电路不使用之前执行的运算电路的运算结果的情况下,能够在重构的电路的确认完成后立即执行运算。即,能够削减不必要的等待时间,使总处理时间、即从重构开始到运算结束的时间缩短。
(变形例2)
上述第一实施方式中,在之前的运算种类的处理完成之后开始下一运算种类的处理。但是,重构的逻辑电路的区域不重叠的情况下,也可以不等待之前的运算种类的处理完成就开始下一运算种类的逻辑电路的重构和错误检查。
<时序图>
图13是表示本变形例的自主行驶控制装置2的动作的时序图。图13中的时刻t0~t4和t10表示的时刻与第一实施方式的图11相同。另外,时刻t0~t3时的动作与图11相同。本变形例中,在时刻t3,处理控制部202对第二运算A电路207A-2进行处理开始的指示,同时对重构控制部204通知包括第一运算B电路的电路数据的重构指示,第一运算B电路207B-1被重构控制部204开始重构。即,第一实施方式中从时刻t4开始的第一运算B电路207B-1的重构被提前至时刻t3。此处,能够使第二运算A电路207A-2的执行与第一运算B电路207B-1的重构同时执行,是因为两者的区域不重叠。
时刻t4以后的自主行驶控制装置2的动作,是将第一实施方式中的时刻t4以后的时刻提前(t4-t3)的时间、即平移至较早的时刻得到的。因此,第一实施方式中在时刻t10控制指令的输出完成,但本变形例中提前(t4-t3)的时间完成。
<处理控制部202的动作>
图14是表示本变形例中的处理控制部202的动作的流程图。但是,图14中主要记载了与第一实施方式中的图9的不同点,对于同一处理省略了记载。另外,以下说明中也对于与第一实施方式相同的处理省略说明。
在步骤S804后下一个执行的步骤S850中,处理控制部202判断当前正在进行运算的电路与下一个重构的电路的区域是否重叠。电路DB5中保存的各电路数据中,也包括表示重构的电路的大小的信息,所以处理控制部202通过参照同一运算种类中使用的全部电路数据,能够确定构成各电路的区域。处理控制部202判断为区域重叠时,停留在步骤S850,等待执行中的运算完成。处理控制部202判断为区域不重叠时前进至步骤S805。另外,步骤S850初次执行的情况等、不存在正在进行运算的电路的情况下本步骤做出否定判断。步骤S805以下的处理大致与第一实施方式相同。但是,步骤S809中做出肯定判断时,处理控制部202不执行步骤S811而是前进至步骤S812。即,第一实施方式中,待机至步骤S811中得到运算结果,但不进行该待机地前进至步骤S812。
因此,处理控制部202如图13所示,在时刻t3使第二运算A电路207A-2开始运算处理时(S808),对接下来的步骤S809做出肯定判断而前进至S812,在S812中做出否定判断而经由步骤S813返回步骤S803。然后,在步骤S850中进行否定判断,所以在步骤S805中开始第一运算B电路207B-1的重构。上述步骤S809~步骤S850的处理瞬间地进行,所以在图13的时序图中描绘为第二运算A电路207A-2的运算处理的开始与第一运算B电路207B-1的重构开始同时进行。
根据该变形例2,在不同的运算种类之间也能够隐藏运算电路的准备所需的时间,能够使从逻辑电路255的重构开始到逻辑电路255进行的全部运算完成的所需时间缩短。
(变形例3)
上述第一实施方式中,处理控制部202在第一电路的重构完成时发送第二重构指令。但是,处理控制部202也可以在第一电路的确认完成之后到第一电路的规定处理的执行完成为止的期间发送第二重构指令。例如,图11中,第二运算A电路207A-2的重构指令也可以在时刻t2~时刻t3之间发送。
(其他变形)
上述第一实施方式进而也可以如下所述地变形。
(1)重构控制部204也可以不具有电路数据缓存部44。该情况下,错误监视部43检测出错误时,处理控制部202再次对重构电路203发送电路数据。
(2)重构控制部204的全部或一部分也可以在重构电路203的外部构成。
―第二实施方式―
参考图15,对于电子控制装置即自主行驶控制装置的第二实施方式进行说明。以下说明中,对于与第一实施方式相同的构成要素附加相同附图标记并主要说明不同点。关于不特别说明的点,是与第一实施方式相同的。本实施方式中,主要在逻辑电路能够同时执行运算电路的重构和错误检查这一点上与第一实施方式不同。
<系统结构>
第二实施方式中的自主行驶控制装置2的结构与第一实施方式相同。但是,自主行驶控制装置2的ROM252中保存的程序不同,处理控制部202的动作与第一实施方式不同。另外,本实施方式中,重构控制部204的调整部41在配置部42进行的运算电路的重构完成时也对处理控制部202通知。处理控制部202从重构控制部204接收运算电路的重构完成的通知时,为了使重构控制部204开始下一个运算电路的重构而发送重构指令。
<时序图>
图15是表示第二实施方式中的自主行驶控制装置2的动作的时序图。图15中的时刻t0~t5、t7和t8表示的时刻与第一实施方式的图11相同。从时刻t1起开始第一运算A电路207A-1的重构,在时刻t31完成。接受了该完成通知的处理控制部202使第二运算A电路207A-2的重构开始。第二运算A电路207A-2的错误检查在比时刻t3更早的时刻t32完成,但因为第一运算A电路207A-1的运算尚未完成,所以第二运算A电路207A-2的运算不能开始。因此,与第一实施方式同样地等待第一运算A电路207A-1的运算在时刻t3完成,开始第二运算A电路207A-2的运算。然后,在时刻t4,第二运算A电路207A-2的运算完成,所以开始第一运算B电路207B-1的重构。
在第一运算B电路207B-1的重构完成的时刻t33,开始第二运算B电路207B-2的重构。与此同样地,在第二运算B电路207B-2的重构完成的时刻t5,开始第三运算B电路207B-3的重构。第二运算B电路207B-2的错误检查在t34完成,但因为第一运算B电路207B-1的运算尚未完成,所以等待其结束。第二运算B电路207B-2与第一实施方式同样地在时刻t7开始运算。第三运算B电路207B-3在第一实施方式中在时刻t8错误检查完成,但本实施方式中在第二运算B电路207B-2的运算完成之前错误检查完成。因此,第三运算B电路207B-3在比时刻t8更早的时刻t35开始运算。
第三运算B电路207B-3的运算开始的时刻比第一实施方式早,所以第三运算B电路207B-3的运算结束的时刻即时刻t36也比第一实施方式中的第三运算B电路207B-3的运算结束时刻即时刻t9早。即,包括第三运算B电路207B-3的运算结束时执行的控制指令的t0~t37的1个周期的时间Ta比第一实施方式短。
根据上述第二实施方式,可以得到以下作用效果。
(8)处理控制部202在第一电路的重构完成时发送第二重构指令。因此,使用能够同时执行重构和错误检查的FPGA的情况下,能够进一步缩短使用逻辑电路的处理时间。
(第二实施方式的变形例)
上述第二实施方式中,处理控制部202在第一电路的重构完成时发送第二重构指令。但是,处理控制部202也可以在第一电路的重构完成之后到第一电路的确认完成为止的期间发送第二重构指令。例如,在图15中,第二运算A电路207A-2的重构指令也可以在时刻t31~时刻t2之间发送。
另外,本发明不限定于上述实施例,包括在附加的要求的权利范围的主旨内的各种变形例和同等的结构。例如,上述实施例是为了易于理解地说明本发明而详细说明的,本发明并不限定于必须具备说明的全部结构。另外,控制线和信息线示出了认为说明上必要的,不一定示出了实现上必要的全部控制线和信息线。实际上也可以认为几乎全部结构都相互连接。
程序被保存在ROM251,但程序也可以保存在闪存254中。另外,自主行驶控制装置2也可以具有未图示的输入输出接口,在必要时经由输入输出接口和自主行驶控制装置2能够使用的介质从其他装置读取程序。此处,介质指的是例如在输入输出接口上可装卸的存储介质、或通信介质、即有线、无线、光等网络、或在该网络中传播的载波和数字信号。另外,用程序实现的功能的一部分或全部也可以用硬件电路和FPGA实现。
上述实施方式和变形例也可以分别组合。以上说明了各种实施方式和变形例,但本发明并不限定于这些内容。在本发明的技术思想的范围内可以考虑的其他方式也包括在本发明的范围内。
将以下优先权母案的公开内容作为引文并入本文。
日本国专利申请2017-163368(2017年8月28日提交)
附图标记说明
2…自主行驶控制装置
3…处理信息数据库
4…电路管理数据库
5…电路数据库
202…处理控制部
203…重构电路
204…重构控制部
206…运算部
207…运算电路
255…逻辑电路
41…调整部
42…配置部
43…错误监视部
44…电路数据缓存部。

Claims (10)

1.一种电子控制装置,其特征在于,包括:
能够将包括第一电路和第二电路的多个运算电路重构的逻辑电路;
按照重构指令进行所述运算电路的重构和重构后的所述运算电路的确认的重构控制部;和
能够对所述重构控制部发送所述重构指令并能够使所述运算电路执行运算的处理控制部,
所述重构控制部在接收到第一所述重构指令的情况下进行所述第一电路的重构和确认,
所述处理控制部在所述重构控制部进行的所述第一电路的确认已完成的情况下使所述第一电路执行运算,
所述处理控制部在所述第一电路的重构完成之后到所述第一电路的运算完成为止的期间,发送第二所述重构指令来使所述重构控制部开始所述第二电路的重构。
2.如权利要求1所述的电子控制装置,其特征在于:
所述处理控制部在所述第一电路的重构完成之后到所述第一电路的确认完成为止的期间发送所述第二重构指令。
3.如权利要求1所述的电子控制装置,其特征在于:
所述处理控制部在所述第一电路的确认完成之后到所述第一电路的运算完成为止的期间发送所述第二重构指令。
4.如权利要求1所述的电子控制装置,其特征在于:
所述重构控制部在所述第二电路的重构已完成的情况下进行所述第二电路的确认,
所述处理控制部在所述第二电路的确认已完成且所述第一电路的运算已完成的情况下,使所述第二电路执行使用所述第一电路的运算的结果的处理。
5.如权利要求1所述的电子控制装置,其特征在于:
所述重构控制部在所述运算电路的确认中检测出错误时重新进行所述运算电路的重构。
6.如权利要求1所述的电子控制装置,其特征在于:
所述逻辑电路中重构的所述运算电路的数量和规模基于要在各所述运算电路中执行的运算的执行时间来决定。
7.如权利要求1所述的电子控制装置,其特征在于:
还包括电路管理数据库,其用于保存关于要在所述逻辑电路中构成的所述多个运算电路的信息,
所述处理控制部基于所述电路管理数据库来对所述重构控制部输出所述重构指令。
8.如权利要求1所述的电子控制装置,其特征在于:
所述重构控制部包括用于进行所述运算电路的重构的配置部和用于进行重构后的所述运算电路的确认的监视部,
所述配置部在从所述处理控制部接收到所述重构指令的情况下开始所述运算电路的重构,
所述监视部在所述配置部进行的重构已完成的情况下开始重构后的所述运算电路的确认,并对所述处理控制部通知确认的结果。
9.如权利要求1所述的电子控制装置,其特征在于:
所述处理控制部在构成所述第一电路的区域与构成所述第二电路的区域不重叠的情况下,在所述第一电路的重构完成之后到所述第一电路的运算完成为止的期间,发送所述第二重构指令来使所述重构控制部开始所述第二电路的重构。
10.一种在能够将包括第一电路和第二电路的多个运算电路重构的逻辑电路中执行的电路的重构方法,其特征在于,包括以下步骤:
进行所述第一电路的重构和确认;
在所述第一电路的确认已完成的情况下使所述第一电路执行运算;和
在所述第一电路的重构完成之后到所述第一电路的运算完成为止的期间开始所述第二电路的重构。
CN201880047417.XA 2017-08-28 2018-06-27 电子控制装置和电路的重构方法 Active CN110915138B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017163368A JP6726648B2 (ja) 2017-08-28 2017-08-28 電子制御装置、回路の再構成方法
JP2017-163368 2017-08-28
PCT/JP2018/024340 WO2019044141A1 (ja) 2017-08-28 2018-06-27 電子制御装置、回路の再構成方法

Publications (2)

Publication Number Publication Date
CN110915138A true CN110915138A (zh) 2020-03-24
CN110915138B CN110915138B (zh) 2023-07-25

Family

ID=65527452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880047417.XA Active CN110915138B (zh) 2017-08-28 2018-06-27 电子控制装置和电路的重构方法

Country Status (5)

Country Link
US (1) US11342917B2 (zh)
JP (1) JP6726648B2 (zh)
CN (1) CN110915138B (zh)
DE (1) DE112018003885T5 (zh)
WO (1) WO2019044141A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021124432A1 (ja) * 2019-12-17 2021-06-24 ヤマハ発動機株式会社 自動制御基板

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005165961A (ja) * 2003-12-05 2005-06-23 Matsushita Electric Ind Co Ltd 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路
JP2007213185A (ja) * 2006-02-08 2007-08-23 Fujitsu Ltd データ処理装置
JP2008287708A (ja) * 2007-04-19 2008-11-27 Panasonic Corp 再構成演算回路
CN101346695A (zh) * 2005-12-27 2009-01-14 松下电器产业株式会社 具有可重构的运算器的处理器
JP2009140353A (ja) * 2007-12-07 2009-06-25 Toshiba Corp 再構成可能な集積回路、及びこれを用いた自己修復システム
CN101578768A (zh) * 2007-11-12 2009-11-11 松下电器产业株式会社 可重构电路、复位方法及结构信息生成装置
CN103262405A (zh) * 2010-10-22 2013-08-21 三星重工业株式会社 可在操作中重构的控制系统以及用于其的方法
CN104202111A (zh) * 2014-09-12 2014-12-10 西安电子科技大学 基于通道密度和最小间隙的触发式聚合光路重构方法
CN105302853A (zh) * 2015-09-17 2016-02-03 浪潮(北京)电子信息产业有限公司 一种实现数据重构的方法和装置
JP2017118450A (ja) * 2015-12-25 2017-06-29 キヤノン株式会社 データ処理装置、その制御方法、及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3832557B2 (ja) 2000-05-02 2006-10-11 富士ゼロックス株式会社 プログラマブル論理回路への回路の再構成方法および情報処理システム
US7571303B2 (en) * 2002-10-16 2009-08-04 Akya (Holdings) Limited Reconfigurable integrated circuit
JP2011013829A (ja) 2009-06-30 2011-01-20 Fujitsu Ltd コンフィグレーション装置、コンフィグレーション方法、及びコンフィグレーションプログラム
JP2017079037A (ja) * 2015-10-22 2017-04-27 富士通株式会社 演算装置及びその方法
JP6569508B2 (ja) * 2015-12-11 2019-09-04 富士通株式会社 処理装置及び処理装置の制御方法
JP6712545B2 (ja) * 2016-12-19 2020-06-24 日立オートモティブシステムズ株式会社 電子制御装置、電子制御システム、及び電子制御方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005165961A (ja) * 2003-12-05 2005-06-23 Matsushita Electric Ind Co Ltd 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路
CN101346695A (zh) * 2005-12-27 2009-01-14 松下电器产业株式会社 具有可重构的运算器的处理器
JP2007213185A (ja) * 2006-02-08 2007-08-23 Fujitsu Ltd データ処理装置
JP2008287708A (ja) * 2007-04-19 2008-11-27 Panasonic Corp 再構成演算回路
CN101578768A (zh) * 2007-11-12 2009-11-11 松下电器产业株式会社 可重构电路、复位方法及结构信息生成装置
JP2009140353A (ja) * 2007-12-07 2009-06-25 Toshiba Corp 再構成可能な集積回路、及びこれを用いた自己修復システム
CN103262405A (zh) * 2010-10-22 2013-08-21 三星重工业株式会社 可在操作中重构的控制系统以及用于其的方法
CN104202111A (zh) * 2014-09-12 2014-12-10 西安电子科技大学 基于通道密度和最小间隙的触发式聚合光路重构方法
CN105302853A (zh) * 2015-09-17 2016-02-03 浪潮(北京)电子信息产业有限公司 一种实现数据重构的方法和装置
JP2017118450A (ja) * 2015-12-25 2017-06-29 キヤノン株式会社 データ処理装置、その制御方法、及びプログラム

Also Published As

Publication number Publication date
JP2019041324A (ja) 2019-03-14
US11342917B2 (en) 2022-05-24
WO2019044141A1 (ja) 2019-03-07
DE112018003885T5 (de) 2020-04-16
US20200177185A1 (en) 2020-06-04
JP6726648B2 (ja) 2020-07-22
CN110915138B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
US11507873B1 (en) Highly scalable quantum control
US11341398B2 (en) Recognition apparatus and learning system using neural networks
IL242950A (en) Assign, deploy, and update arbitrary radio waveform techniques at runtime for radio waveform production
US11318929B2 (en) Electronic control apparatus, electronic control system, and electronic control method
CN110915138B (zh) 电子控制装置和电路的重构方法
US11126422B2 (en) Program update system, control system, mobile body, program update method, recording medium
CN107145465B (zh) 串行外设接口spi的传输控制方法、装置及系统
US11878704B2 (en) Electronic control device and control method
CN110291513B (zh) 电子控制装置、电子控制系统和电子控制装置的控制方法
CN110520855B (zh) 电子控制装置、逻辑电路的控制方法
US20220058020A1 (en) Electronic control device and control method
CN111915475B (zh) 绘制命令的处理方法、gpu、主机、终端和介质
JP7045293B2 (ja) 電子制御装置
US20170269858A1 (en) METHOD AND SYSTEM FOR DATA PROTECTION IN NVMe INTERFACE
Shokry et al. Dynamic Software Product Line Architectures Using Service-Based Computing for Automotive Systems.
WO2020071366A1 (ja) 電子制御装置、並列処理方法
WO2021171897A1 (ja) プログラム並列化方法、プログラム並列化装置、電子制御装置
US20220315025A1 (en) Vehicle control system, vehicle, and control method
EP4270883A1 (en) Electronic control device, data communication method, and data communication program
CN116561049A (zh) 一种基于片内处理器配置码流的fpga及码流配置方法
KR20170082787A (ko) 차량용 소프트웨어 메모리 파티셔닝 자동화 방법
CN113657061A (zh) 可实现不同配置应用过程间数据传递的fpga
JP2019003544A (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
CB02 Change of applicant information

Address after: Ibaraki

Applicant after: Hitachi astemo Co.,Ltd.

Address before: Ibaraki

Applicant before: HITACHI AUTOMOTIVE SYSTEMS, Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant