JP6726648B2 - 電子制御装置、回路の再構成方法 - Google Patents

電子制御装置、回路の再構成方法 Download PDF

Info

Publication number
JP6726648B2
JP6726648B2 JP2017163368A JP2017163368A JP6726648B2 JP 6726648 B2 JP6726648 B2 JP 6726648B2 JP 2017163368 A JP2017163368 A JP 2017163368A JP 2017163368 A JP2017163368 A JP 2017163368A JP 6726648 B2 JP6726648 B2 JP 6726648B2
Authority
JP
Japan
Prior art keywords
circuit
control unit
reconfiguration
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.)
Active
Application number
JP2017163368A
Other languages
English (en)
Other versions
JP2019041324A (ja
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
Priority to JP2017163368A priority Critical patent/JP6726648B2/ja
Priority to PCT/JP2018/024340 priority patent/WO2019044141A1/ja
Priority to DE112018003885.8T priority patent/DE112018003885T5/de
Priority to CN201880047417.XA priority patent/CN110915138B/zh
Priority to US16/641,140 priority patent/US11342917B2/en
Publication of JP2019041324A publication Critical patent/JP2019041324A/ja
Application granted granted Critical
Publication of JP6726648B2 publication Critical patent/JP6726648B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0055Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
    • G05D1/0061Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Computing Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、電子制御装置、および回路の再構成方法に関する。
車両の自動運転を目指した技術開発が進められている。自動運転は運転者に代わり周囲の認識、車両の制御を行う必要があり、膨大な情報処理が必要になる。増大する情報処理に対応するため、CPUに加え、ハードウェアチップを用いる検討が進められている。その中でも、論理回路を再構成可能なFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)を用いて複数の処理を1つの論理回路上で実現することが期待されている。論理回路を用いる場合は、ソフトエラーを考慮した適切な処理が求められる。特許文献1には、ソフトエラーが発生した際には、分割したブロックごとにエラーの発生を検知し、分割したブロック単位で回路設定情報を書き換える技術が開示されている。
特開2011−13829号公報
再構成可能な論理回路における処理時間の短縮が求められる。
本発明の第1の態様による電子制御装置は、第1回路および第2回路を含む複数の演算回路を再構成可能な論理回路と、再構成指令に基づき、前記演算回路の再構成および再構成した前記演算回路の確認を行う再構成制御部と、前記再構成制御部への前記再構成指令の送信、および前記演算回路に演算を実行させる処理制御部とを備え、前記再構成制御部は、第1の前記再構成指令を受信すると、前記第1回路の再構成および確認を行い、前記処理制御部は、前記再構成制御部による前記第1回路の確認が完了すると、前記第1回路に演算を実行させ、前記処理制御部は、前記第1回路の再構成が完了してから前記第1回路の演算が完了するまでに、第2の前記再構成指令を送信して前記再構成制御部に前記第2回路の再構成を開始させる。
本発明の第2の態様による回路の再構成方法は、第1回路および第2回路を含む複数の演算回路を再構成可能な論理回路において実行される回路の再構成方法であって、前記第1回路の再構成および確認を行うことと、前記第1回路の確認が完了すると、前記第1回路に演算を実行させることと、前記第1回路の再構成が完了してから前記第1回路の演算が完了するまでに、前記第2回路の再構成を開始することとを含む。
本発明によれば、再構成可能な論理回路における処理時間を短縮することができる。
車載システム1のシステム構成図 自律走行制御装置2のハードウェア構成図 自律走行制御装置2の機能構成図 再構成制御部204の機能構成図 図5(a)は演算種別「A」の処理を実施する演算部206の構成を示す図、図5(b)は演算種別「B」の処理を実施する演算部206の構成を示す図 処理情報データベース3の一例を示す図 回路管理データベース4の一例を示す図 処理制御部202の動作を示すフローチャート 再構成制御部204の動作を示すフローチャート 自律走行制御装置2の動作を示すシーケンス図 第1の実施の形態における自律走行制御装置2の動作を示すタイミングチャート 変形例1における回路管理DB4Aの一例を示す図 変形例2における自律走行制御装置2の動作を示すタイミングチャート 変形例2における処理制御部202の動作を表すフローチャート 第2の実施の形態における自律走行制御装置2の動作を示すタイミングチャート
―第1の実施の形態―
以下、図1〜図11を参照して、電子制御装置である自律走行制御装置の第1の実施の形態を説明する。
<システム構成>
図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は、第1通信インタフェース201−1、第2通信インタフェース201−2、処理制御部202、再構成回路203、再構成制御部204、演算部206、第1演算回路207−1〜第N演算回路207−N(Nは任意の2以上の自然数)、処理情報データベース(以下、処理情報DB)3、回路管理データベース(以下、回路管理DB)4、および回路データベース(以下、回路DB)5を有する。以下では、第1通信インタフェース201−1、第2通信インタフェース201−2をまとめて、「通信インタフェース201」と呼ぶ。また、第1演算回路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は、第1通信インタフェース201−1を介して、図1のカメラ情報取得部101、レーダ情報取得部102、自車位置情報取得部103、自動運転設定部104、および無線通信部105と接続され、第2通信インタフェース201−2を介して補助制御部106、ブレーキ制御部107、エンジン制御部108、およびパワーステアリング制御部109と接続される。なお図3では、自律走行制御装置2は第1通信インタフェース201−1および第2通信インタフェース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を構成する回路の個数および回路データに基づき、第1演算回路207−1から順番に再構成する。
処理制御部202は、演算部206の回路領域の再構成の状態を管理し、第1演算回路207−1から第N演算回路207−Nのそれぞれの回路の再構成タイミングを調整する。処理制御部202は、再構成する最後の演算回路である第N演算回路207−Nから取得した演算結果を基に、制動力や駆動力などの制御指令を第2通信インタフェース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の第1の処理を実施する第1演算A回路207A−1および演算Aの第2の処理を実施する第2演算A回路207A−2から構成される。演算種別「B」の処理を実施する演算部206は、演算Bの第1の処理を実施する第1演算B回路207B−1、演算Bの第2の処理を実施する第2演算B回路207B−2、および演算Bの第3の処理を実施する第3演算B回路207−3から構成される。以下では、第1演算A回路207A−1および第2演算A回路207A−2をまとめて、「演算A回路207A」と呼ぶ。また、第1演算B回路207B−1、第2演算B回路207B−2、および第3演算B回路207−3をまとめて、「演算B回路207B」と呼ぶ。
第1演算A回路207A−1および第2演算A回路207A−2はそれぞれ、コンフィグレーションメモリとのインタフェース等を介して再構成制御部204と接続される。演算A回路207Aは処理制御部202と接続され、第1演算A回路207A−1は、演算Aの処理の実行開始指示を処理制御部202より受信し、第2演算A回路207A−2は、処理制御部202に演算Aの処理結果を通知する。また演算A回路207Aは、第1演算A回路207A−1から第2演算A回路207A−2への演算処理の切替えや継続等のタイミングの情報を処理制御部202から受信する。
第1演算B回路207B−1、第2演算B回路207B−2、および第3演算B回路207B−3はそれぞれ、コンフィグレーションメモリとのインタフェース等を介して再構成制御部204と接続される。演算B回路207Bは処理制御部202と接続され、第1演算B回路207B−1は、演算Bの処理の実行開始指示を処理制御部202より受信し、第3演算B回路207B−3は、処理制御部202に演算Bの処理結果を通知する。また、演算B回路207Bは、第1演算B回路207B−1から第2演算B回路207B−2への演算処理の切替えや継続等のタイミング、および第2演算B回路207B−2から第3演算B回路207B−3への演算処理の切替えや継続等のタイミングの情報を処理制御部202から受信する。
<処理情報データベースの管理情報>
図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は、演算部206の1回目の処理として演算Aを実施することを示している。符号302−2で示す処理情報2は、演算部206の2回目の処理として演算Bを実施することを示している。なお、図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の第1の演算A回路(207A−1)の情報が示されている。符号403−2で示す回路データ2は、演算A回路207Aの第2の演算A回路(207A−2)の情報が示されている。符号403−3で示す回路データ3は未使用のため情報が示されていない。
また、演算種別401のフィールドに「B」が格納されている行には、分割数402のフィールドに「3」が格納されているので、演算Bを実施する演算部206を構成する演算B回路207Bの分割されている数が3であることが示されている。符号403−1で示す回路データ1は、演算B回路207Bの第1の演算B回路(207B−1)の情報が示されている。符号403−2で示す回路データ2は、演算B回路207Bの第2の演算B回路(207B−2)の情報が示されている。符号403−3で示す回路データ3は、演算B回路207Bの第3の演算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は、回路管理DB4の記載に基づいた回路データを含む再構成指示を再構成制御部204に送信する。回路管理DB4が図7に示すものであり回路IDが「1」の場合は、処理制御部202は符号403−1で示される回路データ1を参照し、第1演算A回路の回路データを再構成制御部204に送信する。なお本フローチャートには記載していないが、再構成制御部204は回路データを受信すると演算部206の再構成を直ちに開始し、エラーチェックを実行する。そして再構成およびエラーチェックが完了すると、再構成制御部204は完了通知を処理制御部202に通知する。
続くステップS806では処理制御部202は、完了通知の待ち時間がタイムアウトしたか否か、換言すると、演算部206の再構成およびエラーチェックが時間とおりに完了したかどうかを判断する。タイムアウトしたと判断すると処理制御部202は、所定の処理周期Tの範囲内で処理できないと判断し、異常処理として動作を終了する。また処理制御部202はタイムアウトしていないと判断すると、ステップS807において完了通知を受信したか否か判断し、受信したと判断するとステップS808に進み、受信していないと判断するとS806に戻る。
ステップS808では処理制御部202は、回路IDの値に応じて以下の処理をする。すなわち回路IDが「1」の場合は、第1演算回路207−1の再構成が完了した直後であるため、処理制御部202は演算部206に演算を開始させる。回路IDが「2」以降の場合は処理制御部202は、再構成が完了した演算回路に直前に実行された演算回路の処理結果を引継いで演算させるために、処理制御部202は演算部206に演算データの引継ぎを指示する。たとえば、再構築が完了した第3演算B回路207B−3に、直前に実行された第2演算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を実施するために、符号403−1で示す回路データ1で指定される第1演算A回路の回路データを含む再構成指示を再構成制御部204に通知する(S1002)。再構成制御部204は、第1演算A回路の回路データを演算部206に書き込む(S1003)。演算部206において再構成が完了(S1004)、すなわち、第1演算A回路207A−1が構成されると、次に再構成制御部204は、第1演算A回路207A−1のエラーチェックを実施する(S1005)。ただしS1005では、演算部206のコンフィグレーションメモリに書き込んだ情報を再構成制御部204が読み出すので演算部206から再構成制御部204に向けた矢印を記載している。再構成制御部204は、エラーチェックが完了すると(S1006)、完了通知を処理制御部202に通知する(S1007)。
次に処理制御部202は、演算部206に第1演算A回路207A−1の処理開始を指示する(S1008)とともに、符号403−2で示す回路データ2で指定される第2演算A回路の回路データを含む再構成指示を再構成制御部204に通知する(S1009)。再構成制御部204は、第2演算A回路の回路データを演算部206に書き込む(S1010)。これにより、第1演算A回路207A−1における演算の実行と、第2演算A回路の回路データの書き込みとを並列に処理する。演算部206において再構成が完了(S1011)、すなわち、第2演算A回路207A−2が構成されると、再構成制御部204は、第2演算A回路207A−2のエラーチェックを実施する(S1012)。エラーチェックが完了すると(S1013)、再構成制御部204は、完了通知を処理制御部202に通知する(S1014)。
次に処理制御部202は、演算部206に、第2演算A回路207A−2に第1演算A回路207A−1の演算結果を引継いで処理を開始するように指示する(S1015)。その後、演算部206は、第2演算A回路207A−2が処理した演算結果を処理制御部202に送信する(S1016)。
処理制御部202は、処理情報1が指定する演算Aが終了したため、次の処理、すなわち処理情報2が指定する演算Bへ移行する。処理制御部202は、符号302−2で示す処理情報2の演算Bを実施するため、符号403−1で示す回路データ1で指定される第1演算B回路の回路データを含む再構成指示を再構成制御部204に通知する(S1017)。再構成制御部204は、第1演算B回路の回路データを演算部206に書き込む(S1018)。演算部206において再構成が完了(S1019)、すなわち、第1演算B回路207B−1が構成されると、次に再構成制御部204は、第1演算B回路207B−1のエラーチェックを実施する(S1020)。エラーチェックが完了すると(S1021)、再構成制御部204は、完了通知を処理制御部202に通知する(S1022)。
次に処理制御部202は、演算部206に第1演算B回路207B−1の処理開始を指示する(S1023)とともに、符号403−2で示す回路データ2で指定される第2演算B回路の回路データを含む再構成指示を再構成制御部204に通知する(S1024)。再構成制御部204は、第2演算B回路の回路データを演算部206に書き込む(S1025)。これにより、第1演算B回路207B−1における演算の実行と、第2演算B回路の回路データの書き込みとを並列に処理する。演算部206において再構成が完了(S1026)、すなわち、第2演算B回路207B−2が構成されると、次に再構成制御部204は、第2演算B回路207B−2のエラーチェックを実施する(S1027)。エラーチェックが完了すると(S1028)、再構成制御部204は、完了通知を処理制御部202に通知する(S1029)。
次に処理制御部202は、演算部206に、第2演算B回路207B−2に第1演算B回路207B−1の演算結果を引継いで処理を開始するように指示する(S1030)。これと同時に処理制御部202は、符号403−3で示す回路データ3で指定される第3演算B回路の回路データを含む再構成指示を再構成制御部204に通知する(S1031)。再構成制御部204は、第3演算B回路の回路データを演算部206に書き込む(S1032)。これにより、第2演算B回路207B−2における演算の実行と、第3演算B回路の回路データの書き込みとを並列に処理する。演算部206において再構成が完了(S1033)、すなわち、第3演算B回路207B−3が構成されると、次に再構成制御部204は、第3演算B回路207B−3のエラーチェックを実施する(S1034)。エラーチェックが完了すると(S1035)、再構成制御部204は、完了通知を処理制御部202に通知する(S1036)。
次に処理制御部202は、演算部206に、第3演算B回路207B−3に第2演算B回路207B−2の演算結果を引継いで処理を開始するように指示する(S1037)。その後、演算部206は、第3演算B回路207B−3が処理した演算結果を処理制御部202に送信する(S1038)。処理制御部202は、処理情報2が指定する演算Bが終了し、全ての処理が終了したため、制御指令値を出力し(S1039)、動作を終了する。以上が図10に示した遷移図の説明である。
<タイミングチャート>
図11は、自律走行制御装置2の動作を示すタイミングチャートである。図11に示すタイミングチャートは、図10に記載した自律走行制御装置2の動作に対応する。図11は図示左から右に向かって時間が経過している。図11の左端に示すように、図11には上から処理制御部202の動作、第1演算A回路207A−1の状態、第2演算A回路207A−2の状態、第1演算B回路207B−1の状態、第2演算B回路207B−2の状態、および第3演算B回路207B−3の状態を示している。ただし図11ではスペースの都合により、論理回路の再構成を「構成」と記載し、再構成した論理回路のエラーチェックを「確認」と記載する。
処理制御部202は、時刻t0で周期処理を開始し、処理情報DB3から処理回数301、および処理情報302を読み込み、回路管理DB4から演算種別401、分割数402、および回路データ403を読み込む。読み込みが完了した時刻t1において、処理制御部202は、符号403−1で示す回路データ1で指定される第1演算A回路の回路データを含む再構成指示を再構成制御部204に通知し、第1演算A回路207A−1は、再構成制御部204により再構成が開始される。
時刻t2において、第1演算A回路207A−1の再構成およびエラーチェックが完了すると、処理制御部202は、次の2つの処理を行う。すなわち処理制御部202は、第1演算A回路207A−1の処理開始を指示するとともに、符号403−2で示す回路データ2で指定される第2演算A回路の回路データを含む再構成指示を再構成制御部204に通知する。この通知を受けた第2演算A回路207A−2は、再構成制御部204により再構成が開始される。
時刻t3において、第2演算A回路207A−2の再構成およびエラーチェックが完了し、これと同時に第1演算A回路207A−1の演算処理が完了した。このとき、処理制御部202は、第2演算A回路207A−2に第1演算A回路207A−1の演算結果を引継いで処理を開始するように指示する。時刻t4において、第2演算A回路207A−2の演算処理が完了すると、処理制御部202は、符号403−1で示す回路データ1で指定される第1演算B回路の回路データを含む再構成指示を再構成制御部204に通知し、第1演算B回路207B−1は、再構成制御部204により再構成が開始される。
時刻t5において、第1演算B回路207B−1の再構成およびエラーチェックが完了すると、処理制御部202は、第1演算B回路207B−1の処理開始を指示するとともに、次の処理を行う。すなわち処理制御部202は、符号403−2で示す回路データ2で指定される第2演算B回路の回路データを含む再構成指示を再構成制御部204に通知する。第2演算B回路207B−2は、この通知をトリガーとして再構成制御部204による再構成が開始される。
時刻t6において、第2演算B回路207B−2の再構成およびエラーチェックが完了すると、処理制御部202は、第2演算B回路207B−2に第1演算B回路207B−1の演算結果を引継いで処理を開始するように指示する。しかし第1演算B回路207B−1の演算処理がまだ完了していないので、第1演算B回路207B−1の演算処理結果を利用する第2演算B回路207B−2の演算処理は開始できない。処理制御部202はさらに、符号403−3で示す回路データ3で指定される第3演算B回路の回路データを含む再構成指示を再構成制御部204に通知し、第3演算B回路207B−3は、再構成制御部204により再構成が開始される。
時刻t7において第1演算B回路207B−1の演算処理が完了すると、第2演算B回路207B−2は第1演算B回路207B−1の演算結果を引継いで処理を開始する。この演算処理は、時刻t8よりも少し早く完了した。しかしこのタイミングではまだ第3演算B回路207B−3のエラーチェックが完了していないため、第3演算B回路207B−3の演算は開始できない。時刻t8において、第3演算B回路207B−3の再構成およびエラーチェックが完了すると、処理制御部202は、第3演算B回路207B−3に第2演算B回路207B−2の演算結果を引継いで処理を開始するように指示する。時刻t9において、第3演算B回路207B−3の演算処理が完了すると、処理制御部202は、演算結果に基づき制御指令を出力する。時刻t10において制御指令の出力を完了し、処理制御部202は、時間Tの1周期分の処理を終了する。
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)自律走行制御装置2は、第1演算A回路207A−1および第2演算A回路207A−2を含む複数の演算回路を再構成可能な論理回路255と、再構成指令に基づき、演算回路の再構成および再構成した演算回路の確認を行う再構成制御部204と、再構成制御部204への再構成指令の送信、および演算部に演算を実行させる処理制御部202とを備える。再構成制御部204は、第1の再構成指令を受信すると、第1回路の再構成および第1回路の確認を行う(図9のS901,S903)。処理制御部202は、再構成制御部204による第1回路の確認が完了すると、第1回路に演算を実行させる(図8のS807:Yes,S808)。処理制御部202は、第1回路の再構成が完了してから第1回路の所定の処理の実行が完了するまでに、第2の再構成指令を送信して再構成制御部204に第2回路の再構成を開始させる(S809:NO、S805)。
処理制御部202は、演算部206を構成する演算回路を分割して再構成させ、演算回路が演算を実行している時間と次の演算回路の実行の準備に要する時間とを重複させた。そのため処理制御部202は、演算回路の実行の準備に要する時間、いわゆるオーバーヘッドを隠蔽し、論理回路255の再構成の開始から論理回路255による全ての演算が完了するまでの処理時間を短縮することができる。
(2)処理制御部202は、第1回路の確認が完了してから第1回路の演算が完了するまでに(図11の時刻t2〜t3の間に)第2の再構成指令を送信する。そのため演算回路の再構成とエラーチェックを同時には実行できない本実施の形態における論理回路255を用いる場合にも、本発明を適用することができる。なお第1回路の確認が完了すると直ちに第1回路の演算が開始されるため、処理制御部202は第1回路の演算が開始してから第1回路の演算が完了するまでに第2の再構成指令を送信する、とも言える。
(3)再構成制御部204は、第2回路の再構成が完了すると第2回路の確認を行う。処理制御部202は、第2回路の確認が完了し、かつ第1回路の演算が完了すると、第2回路に第1回路の演算の結果を利用した処理を実行させる。そのため直前の演算結果を利用した演算を行わせることができる。
(4)再構成制御部204は、演算回路の確認においてエラーを検出すると演算回路の再構成をやりなおす(図9のS904:NO、S901)。そのため自律走行制御装置2は再構成した演算回路にエラーがない状態で演算を実行させることができる。
(5)論理回路255に再構成される演算回路の数および規模は、それぞれの演算回路において実行される演算の実行時間に基づき決定される。そのため図11の時刻t2〜t3に示すように、第1演算A回路207A−1の演算実行時間と第2演算A回路207A−2の実行の準備に要する時間である再構成とエラーチェックの時間がちょうど一致させることができる。
(6)自律走行制御装置2は、論理回路255に構成される複数の演算回路に関する情報が格納される回路管理DB4を備える。処理制御部202は、回路管理DB4に基づき再構成制御部204に再構成指令を出力する。そのため処理制御部202は、あらかじめ作成された回路管理DB4を読み込んで再構成制御部204に再構成指令を出力することができる。
(7)再構成制御部204は、演算回路の再構成を行うコンフィグ部42と、再構成した演算回路の確認を行うエラー監視部43とを備える。コンフィグ部42は、処理制御部から再構成指令を受信すると演算回路の再構成を開始する。エラー監視部43は、コンフィグ部42による再構成が完了すると再構成した演算回路の確認を開始し、確認の結果を処理制御部202に通知する。
(変形例1)
上述した第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は第1演算A回路のエラーチェックが完了すると、即座に第1演算A回路に演算を実行させる。また演算種別Aの回路データ2における引継ぎの有無403−22には「なし」が格納される。これを読み込んだ処理制御部202は第2演算A回路のエラーチェックが完了すると、即座に第2演算A回路に演算を実行させる。演算種別Bでは、回路データ1における引継ぎの有無403−12には「あり」が格納される。これを読み込んだ処理制御部202は第1演算B回路のエラーチェックが完了すると、第1演算B回路207B−1に直前の処理である演算種別Aの演算結果、より厳密には第2演算A回路207A−2の演算結果を引継いで処理を開始するように指示する。
この変形例1によれば、演算回路が従前に実行された演算回路の演算結果を利用しない場合には、再構成された回路の確認が終了次第、演算を実行することができる。すなわち不要な待ち時間を削減して、トータルの処理時間、すなわち再構成の開始から演算の終了までの時間を短縮することができる。
(変形例2)
上述した第1の実施の形態では、直前の演算種別の処理が完了してから次の演算種別の処理を開始した。しかし再構成する論理回路の領域が重複しない場合は、直前の演算種別の処理の完了を待たずに次の演算種別の論理回路の再構成やエラーチェックを開始してもよい。
<タイミングチャート>
図13は、本変形例による自律走行制御装置2の動作を示すタイミングチャートである。図13における時刻t0〜t4、およびt10が示す時刻は第1の実施の形態の図11と同一である。また時刻t0〜t3における動作は図11と同一である。本変形例では、時刻t3において処理制御部202は、第2演算A回路207A−2へ処理開始の指示をするとともに、第1演算B回路の回路データを含む再構成指示を再構成制御部204に通知し、第1演算B回路207B−1は、再構成制御部204により再構成が開始される。すなわち第1の実施の形態では時刻t4から開始されていた第1演算B回路207B−1の再構成が、時刻t3に前倒しされる。ここで第2演算A回路207A−2の実行と、第1演算B回路207B−1の再構成が同時に実行できるのは、両者の領域が重複しないからである。
時刻t4以降の自律走行制御装置2の動作は、第1の実施の形態における時刻t4以降の時刻を(t4−t3)の時間だけ前倒し、すなわち速い時刻にシフトさせたものである。そのため第1の実施の形態では時刻t10に制御指令の出力が完了していたが、本変形例では(t4−t3)の時間だけ早く完了している。
<処理制御部202の動作>
図14は、本変形例における処理制御部202の動作を表すフローチャートである。ただし図14では第1の実施の形態における図9と異なる点を主に記載しており、同一の処理は記載を省略している。また以下の説明でも第1の実施の形態と同一の処理は説明を省略する。
ステップS804の次に実行されるステップS850では処理制御部202は、現在演算を行っている回路と次に再構成する回路の領域が重複するか否かを判断する。回路DB5に格納されるそれぞれの回路データには、再構成される回路の大きさを示す情報も含まれるため、処理制御部202は同一の演算種別において用いられる全ての回路データを参照することで、それぞれの回路が構成される領域を特定することができる。処理制御部202は、領域が重複すると判断するとステップS850に留まり実行中の演算の完了を待つ。処理制御部202は領域が重複しないと判断するとステップS805に進む。なおステップS850が初回に実行される場合など、演算を行っている回路が存在しない場合は本ステップを否定判断する。ステップS805以下の処理は概ね第1の実施の形態と同様である。ただしステップS809において肯定判断すると、処理制御部202はステップS811を実行することなくステップS812にすすむ。すなわち第1の実施の形態では、ステップS811において演算結果が得られるまで待機していたが、その待機を行うことなくステップS812に進む。
そのため処理制御部202は、図13に示したように、時刻t3において第2演算A回路207A−2に演算処理を開始させると(S808)、続くステップS809を肯定判定してS812に進み、S812で否定判定してステップS813を経由してステップS803に戻る。そしてステップS850において否定判定を行うので、ステップS805において第1演算B回路207B−1の再構成が開始される。上述したステップS809〜ステップS850の処理は瞬時に行われるので、図13のタイミングチャートでは第2演算A回路207A−2の演算処理の開始と、第1演算B回路207B−1の再構成開始とが同時に行われたように描画されている。
この変形例2によれば、異なる演算種別間でも演算回路の準備に要する時間を隠蔽することができ、論理回路255の再構成の開始から論理回路255による全ての演算が完了するまでの所要時間を短縮することができる。
(変形例3)
上述した第1の実施の形態では、処理制御部202は、第1回路の再構成が完了すると第2の再構成指令を送信した。しかし処理制御部202は、第1回路の確認が完了してから第1回路の所定の処理の実行が完了するまでに、第2の再構成指令を送信してもよい。たとえば図11において、第2演算A回路207A−2の再構成指令は、時刻t2〜時刻t3の間に送信してもよい。
(その他の変形)
上述した第1の実施の形態は、さらに以下のように変形してもよい。
(1)再構成制御部204は、回路データキャッシュ部44を備えなくてもよい。この場合は、エラー監視部43がエラーを検出すると、処理制御部202が改めて回路データを再構成回路203に送信する。
(2)再構成制御部204の全部または一部が再構成回路203の外部に構成されてもよい。
―第2の実施の形態―
図15を参照して、電子制御装置である自律走行制御装置の第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、論理回路が演算回路の再構成とエラーチェックとを同時に実行できる点で、第1の実施の形態と異なる。
<システム構成>
第2の実施の形態における自律走行制御装置2の構成は第1の実施の形態と同様である。ただし自律走行制御装置2のROM252に格納されているプログラムが異なり、処理制御部202の動作が第1の実施の形態と異なる。また本実施の形態では、再構成制御部204の調整部41は、コンフィグ部42による演算回路の再構成が完了した際にも処理制御部202に通知する。処理制御部202は、再構成制御部204から演算回路の再構成が完了した旨の通知を受信すると、再構成制御部204に次の演算回路の再構成を開始させるために再構成指令を送信する。
<タイミングチャート>
図15は、第2の実施の形態における自律走行制御装置2の動作を示すタイミングチャートである。図15における時刻t0〜t5、t7、およびt8が示す時刻は第1の実施の形態の図11と同一である。時刻t1から第1演算A回路207A−1の再構成が開始され、時刻t31に完了した。この完了の通知を受けた処理制御部202は、第2演算A回路207A−2の再構成を開始させる。第2演算A回路207A−2のエラーチェックは時刻t3よりも早い時刻t32に完了するが、第1演算A回路207A−1の演算が完了していないので第2演算A回路207A−2の演算はまだ開始できない。そのため第1の実施の形態と同様に時刻t3に第1演算A回路207A−1の演算が完了するのを待って、第2演算A回路207A−2の演算が開始される。そして時刻t4に第2演算A回路207A−2の演算が完了するので、第1演算B回路207B−1の再構成が開始される。
第1演算B回路207B−1の再構成が完了する時刻t33において、第2演算B回路207B−2の再構成が開始される。これと同様に、第2演算B回路207B−2の再構成が完了する時刻t5において、第3演算B回路207B−3の再構成が開始される。第2演算B回路207B−2のエラーチェックはt34に完了するが、第1演算B回路207B−1の演算が完了していないのでその終了を待機する。第2演算B回路207B−2は、第1の実施の形態と同様に時刻t7に演算を開始する。第3演算B回路207B−3は、第1の実施の形態では時刻t8にエラーチェックが完了したが、本実施の形態では第2演算B回路207B−2の演算が完了する前にエラーチェックが完了している。そのため第3演算B回路207B−3は、時刻t8よりも早い時刻t35に演算を開始する。
第3演算B回路207B−3の演算開始の時刻が第1の実施の形態よりも早いので、第3演算B回路207B−3の演算終了の時刻である時刻t36も第1の実施の形態における第3演算B回路207B−3の演算終了時刻である時刻t9よりも早い。すなわち、第3演算B回路207B−3の演算終了に実行される制御指令を含めたt0〜t37の1周期の時間Taは、第1の実施の形態よりも短い。
上述した第2の実施の形態によれば、次の作用効果が得られる。
(8)処理制御部202は、第1回路の再構成が完了すると第2の再構成指令を送信する。そのため、再構成とエラーチェックが同時に実行できるFPGAを用いる場合は、論理回路を用いた処理時間をさらに短縮することができる。
(第2の実施の形態の変形例)
上述した第2の実施の形態では、処理制御部202は、第1回路の再構成が完了すると第2の再構成指令を送信した。しかし処理制御部202は、第1回路の再構成が完了してから第1回路の確認が完了するまでに、第2の再構成指令を送信してもよい。たとえば図15において、第2演算A回路207A−2の再構成指令は、時刻t31〜時刻t2の間に送信してもよい。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例および同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されるものではない。また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてもよい。
プログラムはROM251に格納されるとしたが、プログラムはフラッシュメモリ254に格納されていてもよい。また、自律走行制御装置2が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースと自律走行制御装置2が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、例えば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路やFPGAにより実現されてもよい。
上述した実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
2…自律走行制御装置
3…処理情報データベース
4…回路管理データベース
5…回路データベース
202…処理制御部
203…再構成回路
204…再構成制御部
206…演算部
207…演算回路
255…論理回路
41…調整部
42…コンフィグ部
43…エラー監視部
44…回路データキャッシュ部

Claims (10)

  1. 第1回路および第2回路を含む複数の演算回路を再構成可能な論理回路と、
    再構成指令に基づき、前記演算回路の再構成および再構成した前記演算回路の確認を行う再構成制御部と、
    前記再構成制御部への前記再構成指令の送信、および前記演算回路に演算を実行させる処理制御部とを備え、
    前記再構成制御部は、第1の前記再構成指令を受信すると、前記第1回路の再構成および確認を行い、
    前記処理制御部は、前記再構成制御部による前記第1回路の確認が完了すると、前記第1回路に演算を実行させ、
    前記処理制御部は、前記第1回路の再構成が完了してから前記第1回路の演算が完了するまでに、第2の前記再構成指令を送信して前記再構成制御部に前記第2回路の再構成を開始させる電子制御装置。
  2. 請求項1に記載の電子制御装置において、
    前記処理制御部は、前記第1回路の再構成が完了してから前記第1回路の確認が完了するまでに、前記第2の再構成指令を送信する電子制御装置。
  3. 請求項1に記載の電子制御装置において、
    前記処理制御部は、前記第1回路の確認が完了してから前記第1回路の演算が完了するまでに、前記第2の再構成指令を送信する電子制御装置。
  4. 請求項1に記載の電子制御装置において、
    前記再構成制御部は、前記第2回路の再構成が完了すると前記第2回路の確認を行い、
    前記処理制御部は、前記第2回路の確認が完了し、かつ前記第1回路の演算が完了すると、前記第2回路に前記第1回路の演算の結果を利用した処理を実行させる電子制御装置。
  5. 請求項1に記載の電子制御装置において、
    前記再構成制御部は、前記演算回路の確認においてエラーを検出すると前記演算回路の再構成をやりなおす電子制御装置。
  6. 請求項1に記載の電子制御装置において、
    前記論理回路に再構成される前記演算回路の数および規模は、それぞれの前記演算回路において実行される演算の実行時間に基づき決定される電子制御装置。
  7. 請求項1に記載の電子制御装置において、
    前記論理回路に構成される前記複数の演算回路に関する情報が格納される回路管理データベースをさらに備え、
    前記処理制御部は、前記回路管理データベースに基づき前記再構成制御部に前記再構成指令を出力する電子制御装置。
  8. 請求項1に記載の電子制御装置において、
    前記再構成制御部は、前記演算回路の再構成を行うコンフィグ部と、再構成した前記演算回路の確認を行う監視部とを備え、
    前記コンフィグ部は、前記処理制御部から前記再構成指令を受信すると前記演算回路の再構成を開始し、
    前記監視部は、前記コンフィグ部による再構成が完了すると再構成した前記演算回路の確認を開始し、確認の結果を前記処理制御部に通知する電子制御装置。
  9. 請求項1に記載の電子制御装置において、
    前記処理制御部は、前記第1回路が構成される領域と前記第2回路が構成される領域とが重複しない場合に、前記第1回路の再構成が完了してから前記第1回路の演算が完了するまでに、前記第2の再構成指令を送信して前記再構成制御部に前記第2回路の再構成を開始させる電子制御装置。
  10. 第1回路および第2回路を含む複数の演算回路を再構成可能な論理回路において実行される回路の再構成方法であって、
    前記第1回路の再構成および確認を行うことと、
    前記第1回路の確認が完了すると、前記第1回路に演算を実行させることと、
    前記第1回路の再構成が完了してから前記第1回路の演算が完了するまでに、前記第2回路の再構成を開始することとを含む回路の再構成方法。
JP2017163368A 2017-08-28 2017-08-28 電子制御装置、回路の再構成方法 Active JP6726648B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017163368A JP6726648B2 (ja) 2017-08-28 2017-08-28 電子制御装置、回路の再構成方法
PCT/JP2018/024340 WO2019044141A1 (ja) 2017-08-28 2018-06-27 電子制御装置、回路の再構成方法
DE112018003885.8T DE112018003885T5 (de) 2017-08-28 2018-06-27 Elektronische Steuervorrichtung und Schaltkreisrekonfigurationsverfahren
CN201880047417.XA CN110915138B (zh) 2017-08-28 2018-06-27 电子控制装置和电路的重构方法
US16/641,140 US11342917B2 (en) 2017-08-28 2018-06-27 Electronic control device and circuit reconfiguration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017163368A JP6726648B2 (ja) 2017-08-28 2017-08-28 電子制御装置、回路の再構成方法

Publications (2)

Publication Number Publication Date
JP2019041324A JP2019041324A (ja) 2019-03-14
JP6726648B2 true JP6726648B2 (ja) 2020-07-22

Family

ID=65527452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017163368A Active JP6726648B2 (ja) 2017-08-28 2017-08-28 電子制御装置、回路の再構成方法

Country Status (5)

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

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 ヤマハ発動機株式会社 自動制御基板

Family Cites Families (16)

* 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
JP2005165961A (ja) * 2003-12-05 2005-06-23 Matsushita Electric Ind Co Ltd 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路
WO2007074583A1 (ja) * 2005-12-27 2007-07-05 Matsushita Electric Industrial Co., Ltd. 再構成可能な演算器を持つプロセッサ
JP2007213185A (ja) * 2006-02-08 2007-08-23 Fujitsu Ltd データ処理装置
JP5001209B2 (ja) * 2007-04-19 2012-08-15 パナソニック株式会社 再構成演算回路
CN101578768A (zh) * 2007-11-12 2009-11-11 松下电器产业株式会社 可重构电路、复位方法及结构信息生成装置
JP2009140353A (ja) * 2007-12-07 2009-06-25 Toshiba Corp 再構成可能な集積回路、及びこれを用いた自己修復システム
JP2011013829A (ja) 2009-06-30 2011-01-20 Fujitsu Ltd コンフィグレーション装置、コンフィグレーション方法、及びコンフィグレーションプログラム
CN103262405B (zh) * 2010-10-22 2016-03-23 三星重工业株式会社 可在操作中重构的控制系统以及用于其的方法
CN104202111B (zh) * 2014-09-12 2017-04-19 西安电子科技大学 基于通道密度和最小间隙的触发式聚合光路重构方法
CN105302853A (zh) * 2015-09-17 2016-02-03 浪潮(北京)电子信息产业有限公司 一种实现数据重构的方法和装置
JP2017079037A (ja) * 2015-10-22 2017-04-27 富士通株式会社 演算装置及びその方法
JP6569508B2 (ja) 2015-12-11 2019-09-04 富士通株式会社 処理装置及び処理装置の制御方法
JP2017118450A (ja) * 2015-12-25 2017-06-29 キヤノン株式会社 データ処理装置、その制御方法、及びプログラム
JP6712545B2 (ja) * 2016-12-19 2020-06-24 日立オートモティブシステムズ株式会社 電子制御装置、電子制御システム、及び電子制御方法

Also Published As

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

Similar Documents

Publication Publication Date Title
EP2774337B1 (en) Real-time distributed network slave device, real-time distributed network and method therefor
JP2006518495A (ja) 改善された計算アーキテクチャを有する計算マシン、関連システム、並びに、方法
CN111274183A (zh) 多路高速协议接口动态可重构系统及实现方法
JP6726648B2 (ja) 電子制御装置、回路の再構成方法
CN110036370B (zh) 电子控制装置、电子控制系统和电子控制方法
JP2018060268A (ja) 認識装置および学習システム
US20220315025A1 (en) Vehicle control system, vehicle, and control method
WO2020162280A1 (ja) 電子制御装置、制御方法
US11878704B2 (en) Electronic control device and control method
JP6781089B2 (ja) 電子制御装置、電子制御システム、電子制御装置の制御方法
JP6810651B2 (ja) 電子制御装置、論理回路の制御方法
CN113657061A (zh) 可实现不同配置应用过程间数据传递的fpga
JP7201381B2 (ja) 電子制御装置、並列処理方法
JP2021034943A (ja) 電子制御装置、データ送信方法
CN110018839B (zh) 硬件加速器复用方法和硬件加速装置
US11954053B2 (en) Integrating buffer views into buffer access operations in a coarse-grained reconfigurable computing environment
EP4013014A1 (en) Multi-phase topology synthesis of a network-on-chip (noc)
JP6909128B2 (ja) 電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200616

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200629

R150 Certificate of patent or registration of utility model

Ref document number: 6726648

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250