JP6838217B2 - 車両制御装置 - Google Patents

車両制御装置 Download PDF

Info

Publication number
JP6838217B2
JP6838217B2 JP2016205111A JP2016205111A JP6838217B2 JP 6838217 B2 JP6838217 B2 JP 6838217B2 JP 2016205111 A JP2016205111 A JP 2016205111A JP 2016205111 A JP2016205111 A JP 2016205111A JP 6838217 B2 JP6838217 B2 JP 6838217B2
Authority
JP
Japan
Prior art keywords
task
unit
task table
control device
vehicle control
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
JP2016205111A
Other languages
English (en)
Other versions
JP2018067135A (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 Astemo 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 Astemo Ltd filed Critical Hitachi Astemo Ltd
Priority to JP2016205111A priority Critical patent/JP6838217B2/ja
Priority to US16/339,261 priority patent/US20200039453A1/en
Priority to PCT/JP2017/035428 priority patent/WO2018074187A1/ja
Publication of JP2018067135A publication Critical patent/JP2018067135A/ja
Application granted granted Critical
Publication of JP6838217B2 publication Critical patent/JP6838217B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)

Description

本発明は、車両制御装置に関するものである。
現在、マルチコアマイコンを搭載した車両制御装置(Electronic Control Unit)の開発が盛んである。現状のマルチコアECUは、各コアが実行すべきタスクをあらかじめ固定的に割り当てるように設計することが基本である。パソコンなどのようにリアルタイム性の低い製品においては、ソフトウェアの実行中(ECUが完全に起動した後)にタスク割り当てを動的に変更している。しかし例えば車両制御装置のようにリアルタイム性の高い製品においては、タスクを動的に割り当てることは実行負荷の観点から難しい。
下記特許文献1における車両制御装置は、タスク処理順序の組み合わせパターンをあらかじめタスクテーブルとして用意しておき、その組み合わせパターンを切り替えることによって、状況に応じてタスクを動的に割り当てている。
特開2013−199180号公報
特許文献1記載の方法においては、タスク割当をあらかじめ設計された組み合わせパターンから選択することしかできない。今後タスク数・コア数ともに増えた場合、その組み合わせ数は指数的に増えていくので、事前に設計者が全ての組み合わせを評価して適切な組み合わせパターンを設計することは困難である。他方で車両制御装置のようにリアルタイム性の高い製品においては、タスクスケジューリング機能の処理負荷は許容できない場合が多いので、タスク割当を動的に変更することは困難である。
本発明は、上記のような課題を解決するためになされたものであり、複数の演算装置を備える車両制御装置において、実行負荷が増大することを抑制しつつ、各演算装置に対して割り当てるタスクを変更することを目的とする。
本発明に係る車両制御装置は、各演算装置が実行すべきタスクを定義するタスクテーブルを備え、車両制御装置が起動または終了するとき前記タスクテーブルを更新する。
本発明に係る車両制御装置によれば、演算負荷が増大することを抑制しつつ、各演算装置が実行すべきタスクの割り当てを最適化することができる。
実施形態1に係る車両制御装置を搭載した車両1の構成図である。 車両制御システム2のH/W(Hardware)構成例である。 ECU22の内部構成を示すブロック図である。 プロセッサ221が実行する制御プログラムのモジュール構成を示す図である。 タスクテーブル2272の構成例を示す図である。 タスクテーブル2272の別構成例を示す図である。 ECU22が起動するときの動作手順を説明するフローチャートである。 ECU22が終了するときの動作手順を説明するフローチャートである。 実施形態2におけるタスクテーブル2272の例である。 実施形態3におけるタスクテーブル2272の例である。 実施形態4に係るECU22のモジュール構成図である。 実施形態5に係るECU22のモジュール構成図である。
<実施の形態1>
図1は、本発明の実施形態1に係る車両制御装置を搭載した車両1の構成図である。車両1は車両制御装置によって電子的に制御される車両であり、車両制御システム2、通信装置3、車両制御システム4、駆動装置5、認識装置6、出力装置7、入力装置8、通知装置9を備える。
車両制御システム2は、車両1が備える各部を制御するシステムであり、例えば車載ネットワーク(CAN:Controller Area Network、CANFD:CAN with Flexible Data−rate、Ethernet(登録商標)、など)とコントローラ(ECU:Electronic Control Unit)により構成される。車両制御システム4は、車両制御システム2とは異なる車載ネットワーク上に構成されたシステムである。
通信装置3は、車両制御システム2の外部と無線通信(例えば携帯電話の通信、無線LAN、WAN、などを使用した通信)し、外界(インフラ、他車)の情報または自車に関する情報を取得・送信する。通信装置3はさらに、診断端子(OBD)、Ethernet端子、外部記録媒体(例えばUSBメモリ、SDカード、等)端子などを有し、車両制御システム2と有線接続することにより通信する。
駆動装置5は、車両制御システム2による制御にしたがって、車両運動を制御する機械および電気装置(例えばエンジン、トランスミッション、ホイール、ブレーキ、操舵装置、など)を駆動するアクチュエータなどの装置である。
認識装置6は、(a)外界から入力される情報を取得して外界認識情報を生成する、カメラ、レーダ、LIDAR、超音波センサなどの外界センサ、(b)車両1の状態(運動状態、位置情報、等)を認識する力学系センサ(加速度、車輪速度、GPS:Global Positioning System)、などにより構成される。
出力装置7は、車両制御システム2と有線または無線で接続され、車両制御システム2から送出されるデータを受信し、メッセージ情報(例えば映像、音)など必要な情報を表示または出力する、液晶ディスプレイ、警告灯、スピーカなどのデバイスである。入力装置8は、ユーザが車両制御システム2に対して、操作の意図や指示を入力する入力信号を生成するための、例えばステアリング、ペダル、ボタン、レバー、タッチパネル、などデバイスである。通知装置9は、車両1が外界に対して車両の状態などを通知するための、ランプ、LED、スピーカなどのデバイスである。
図2は、車両制御システム2のH/W(Hardware)構成例である。ネットワークリンク21は、各制御装置を接続する通信ネットワークであり、例えばCANバスなどによって構成される。ECU22は、ネットワークリンク21、駆動装置5、認識装置6などに接続されている。ECU22は、駆動装置5や認識装置6を制御し、ネットワークリンク21を介してデータを送受信する。ゲートウェイ(GW)23は、ネットワークリンク21間でデータを中継する。
図3は、ECU22の内部構成を示すブロック図である。プロセッサ221は、キャッシュやレジスタなどの記憶素子を持ち、制御プログラムを実行することにより車両1の各機能部を制御する。プロセッサ221は、1以上のプロセッサコアを備える。I/O222は、ネットワークリンク21、駆動装置5、認識装置6などとの間でデータを送受信する。タイマ223は、図示しないクロックなどを使用して、時刻を管理する。ROM(Read Only Memory)224は、制御プログラムなどの不揮発性データを保存する。RAM(Random Access Memory)225は、揮発性データを保存する。内部バス226は、ECU22内部における通信のために用いられる。データフラッシュ227は、プロセッサ221が制御プログラムを実行するとき用いるデータを格納する記憶装置である。
図4は、プロセッサ221が実行する制御プログラムのモジュール構成を示す図である。制御プログラムは、タスク実行部2211、処理負荷計測部2212、タスクテーブル更新部2213を備える。
タスク実行部2211は、タスクを実行する。ここでいうタスクは、制御プログラムが実施する制御演算をある程度まとまった単位に分割した処理である。タスク実行部2211は、各タスクを例えば周期的に繰り返し実行し、またはセンサ入力やユーザ操作などのイベントを契機として実行する。各タスクには優先度が割り当てられており、同じプロセッサコアにおいて複数のタスクが同時に実行可能となった場合、プロセッサコアは優先度が最も高いタスクを実行する。
処理負荷計測部2212は、タスク実行部2211がタスクを実行する際の処理負荷を計測してその結果を計測データ2271としてデータフラッシュ227に格納する。ここでいう処理負荷は、例えば単位時間当たりのタスク実行時間である。1秒間のうちタスクを実行しているのが500ミリ秒であれば、処理負荷は50パーセントである。処理負荷計測部2212は、タスク実行部2211がタスクを1回実行するごとに処理負荷を計測する。
タスクテーブル更新部2213は、計測データ2271を取得し、処理負荷がプロセッサコア間で平準化されるように、タスクテーブル2272を更新する。タスクテーブル2272は、各プロセッサコアが実行すべきタスクを定義するデータテーブルである。タスクテーブル2272の具体例は後述する。タスクテーブル更新部2213は、ECU22が起動するときまたは終了するときに、タスクテーブル2272を更新する。起動時と終了時の詳細については後述する。
タスクテーブル更新部2213は、各プロセッサコアの処理負荷間の差分が閾値を超えている場合は、タスクテーブル2272を更新すべきであると判断することができる。この場合、各プロセッサコアの処理負荷の差分が閾値以下になるように(望ましくは最小になるように)、タスクテーブル2272を更新すればよい。閾値を超えていない場合は、タスクテーブル2272を更新する必要はない。
図5は、タスクテーブル2272の構成例を示す図である。タスクテーブル2272は、各タスクを実行すべきプロセッサコアを指定するデータフィールドを有する。図5においては、プロセッサコア“コア1”がタスク“Pre−BSWTask10msec()”を実行することが定義されている。タスクテーブル2272はさらに、各タスクの優先度や、各タスクを実行するプロセッサコアを変更できるか否か(タスク割当が固定されているか、それとも再配置可能であるか)についても、併せて定義してもよい。タスクテーブル更新部2213は、実行するプロセッサコアが固定されているタスクについては、タスクテーブル2272の当該箇所を更新しないようにする。
図6は、タスクテーブル2272の別構成例を示す図である。ECU22は、プロセッサコアごとにタスクテーブル2272を備えることもできる。この場合、各タスクテーブル2272は各プロセッサコアが実行すべきタスクを定義する。図6に示す例においては、1番目のタスクテーブル2272はコア1が実行すべきタスクのみを定義し、2番目のタスクテーブル2272はコア2が実行すべきタスクのみを定義する。
タスクテーブル2272が図5と図6いずれの構成であっても、タスクテーブル更新部2213は、各プロセッサコアが実行すべきタスクをタスクテーブル2272に記録することにより、タスクテーブル2272を更新する。
図7は、ECU22が起動するときの動作手順を説明するフローチャートである。本フローチャートは、車両1の例えばイグニッションスイッチがONされることにより車両1が起動すると開始される(S700)。以下図7の各ステップについて説明する。
(図7:ステップS701〜S702)
プロセッサ221は、ROM224から制御プログラムを読み出し、RAM225上に展開する(S701)。プロセッサ221は、制御プログラムを実行することにより、初期化処理を実施する(S702)。初期化処理は、制御プログラムの一部として実装することができる。
(図7:ステップS703)
プロセッサ221は、ECU22が通常モードとして起動されたか、それともメンテナンスモードとして起動されたかを判断する。メンテナンスモードで起動された場合はステップS704〜S706を実行する。通常モードで起動された場合はステップS707〜S709を実行する。いずれのモードで起動されたかは、例えば通信装置3からメンテナンスモードで起動するよう指示する信号が入力されたか否かにより判断することができる。
(図7:ステップS704〜S706)
プロセッサ221は、ECU22のOS(Operating System)を初期化する(S704)。プロセッサ221は、制御プログラムが定義するアプリケーションを初期化する(S705)。プロセッサ221は、制御プログラムが定義する周期処理を開始する(S706)。
(図7:ステップS707〜S709)
プロセッサ221は、ECU22のOS(Operating System)を初期化する(S707)。プロセッサ221は、制御プログラムが定義するアプリケーションを初期化する(S708)。プロセッサ221は、通信装置3を介してメンテナンスコマンドなどの外部入力が入力されるのを待機する(S709)。
タスクテーブル更新部2213は、ステップS701が開始してからステップS704(またはS707)が完了するまでのいずれかの時点(すなわちECU22が起動するときの起動処理)において、タスクテーブル2272を更新する。これにより、ECU22の制御処理が開始する前の時点でタスク割当をすることになるので、制御処理のリアルタイム性に影響を与えることなくタスクを再配置することができる。
図8は、ECU22が終了するときの動作手順を説明するフローチャートである。本フローチャートは、ECU22が終了する条件が成立した(例えば車両1のイグニッションスイッチがOFFされたとき)ことを契機として開始される(S800)。プロセッサ221は、アクチュエータを開始位置に戻し制御プログラムを終了するなどの終了処理を実施するとともに、次回起動時に読み込むためのデータをデータフラッシュ227に退避する(S801)。プロセッサ221はOSを終了させ(S802)、ECU22の電源をOFFする(S803)。
タスクテーブル更新部2213は、ステップS801が開始してからステップS803が完了するまでのいずれかの時点(すなわちECU22が終了するときの終了処理)において、タスクテーブル2272を更新する。これにより、ECU22の制御処理が終了した後の時点でタスク割当をすることになるので、制御処理のリアルタイム性に影響を与えることなくタスクを再配置することができる。タスクテーブル更新部2213は、ECU22が起動するときと終了するときいずれか一方のみにおいてタスクテーブル2272を更新してもよいし、双方において更新してもよい。
タスクテーブル2272がタスク割当の固定/再配置可能について併せて定義している場合、その定義にしたがってタスク割当を更新することにより、タスク割当の変更にともなって誤動作が生じる可能性を抑制することができる。さらに優先度を併せて定義している場合、その優先度を考慮してタスク割当を更新することができる。
<実施の形態2>
図9は、本発明の実施形態2におけるタスクテーブル2272の例である。ここでは図6と同様にプロセッサコアごとにタスクテーブル2272を設けた場合の例を示した。ECU22の構成は実施形態1と同様なので、以下ではタスクテーブル2272に関する差異点について主に説明する。
本実施形態2におけるタスクテーブル2272は、タスクの属性として、実行時間制約について定義している。タスクテーブル更新部2213は、実行時間制約が満たされるように、各プロセッサコアに対してタスクを割り当てる。実行時間制約の例として、以下のようなものが挙げられる。
最大処理時間制約(図9の1行目)は、タスク実行部2211がタスクを実行開始してから完了するまでに要する時間として許容することができる最大時間である。最大処理時間制約は、優先度の高い他のタスクが繰り返されることによって、設計意図以上の処理時間がかかってしまうことを防止するために利用することができる。
最小処理時間制約(図9の1行目)は、タスク実行部2211がタスクを実行開始してから完了するまでに要する時間として許容することができる最小時間である。例えばタスクが途中終了することにより本来よりも短い時間で終了した場合、最小処理時間制約を満たさない可能性がある。
起動開始時間制約(図9の2行目)は、複数のタスクが連続して実行される場合、前のタスクが終了してから次のタスクが開始するまでのインターバルとして許容される最大時間である。例えば、割込処理によってタスク切替機能が起動した場合、前のタスクが終了した後に次のタスクが即座に起動せず、起動開始時間制約を満たさないことがある。
タスクテーブル更新部2213は、例えば以下のような手順により、タスクテーブル2272を更新することができる。タスクテーブル更新部2213は、各プロセッサコアの処理負荷が最も平準化されるタスク割当を求め、そのタスク割当において各タスクの実行時間制約が満たされるか否かを判定する。このとき、プロセッサコア間の通信に係る処理負荷をあらかじめ保持しておいて、これを加味した上で制約が満たされるか否かを判定してもよい。実行時間制約が満たされない場合は、次善のタスク割当について同様に判定することを繰り返す。実行時間制約が全て満たされるタスク割当が得られた時点で、そのタスク割当をタスクテーブル2272に対して書き込む。
本実施形態2に係るECU22は、タスクテーブル2272が定義している実行時間制約を満たすようにタスク割当を変更するので、実行時間制約を守れず制御が不安定になることを防止できる。特にエンジンやブレーキのようなリアルタイム性が求められる制御装置において、時間制約を満たしつつプロセッサコアの処理負荷を平準化することができる。
<実施の形態3>
図10は、本発明の実施形態3におけるタスクテーブル2272の例である。ここでは図6と同様にプロセッサコアごとにタスクテーブル2272を設けた場合の例を示した。ECU22の構成は実施形態1と同様なので、以下ではタスクテーブル2272に関する差異点について主に説明する。
複数のタスクが所定の順序で実行されることにより、1つの制御機能が実装されている場合がある。このようなタスクはその実行順序が変更されると制御機能として意味をなさないので、タスク割当を変更する際にその実行順序を維持する必要がある。そこで本実施形態3において、タスクの実行順序があらかじめ固定されている場合は、その実行順序を制約条件としてタスクテーブル2272内に定義することとした。
図10に示す例においては、燃料噴射を制御する機能が、タスクA=>タスクB=>タスクCの順序で定義されている。これらタスクの実行順序を維持するためには、同一のプロセッサコアに対してこれらタスクをまとめて割り当てることが望ましい。併せて、タスクAを開始してからタスクCを完了するまでの最大処理時間制約も定義している。タスクテーブル更新部2213は実施形態2で説明した手順により、制約条件が満たされるタスク割当のなかで処理負荷が最も平準化されるものを求めることができる。
本実施形態3に係るECU22は、あらかじめ制御機能ごとに定義されたタスク実行順序を保ちつつタスク割当を変更するので、タスク割当の全組み合わせを探索することなく、処理負荷を平準化するとともに実行順序制約を維持することができる。
<実施の形態4>
図11は、本発明の実施形態4に係るECU22のモジュール構成図である。本実施形態4において、処理負荷計測部2212は計測データ2271をECU22の外部に設置された外部記憶装置に格納する。その他構成は実施形態1と同様であるので、以下では外部記憶装置に関する差異点について説明する。
外部記憶装置は、車両制御システム2の内部に設置してもよいし、車両1の外部に設置してもよい。いずれの場合であっても、複数のECU22がそれぞれ外部記憶装置に対してアクセスできることが望ましい。これにより、複数のECU22それぞれの処理負荷を計測した結果を用いて、タスク割当を最適化することができる。
<実施の形態5>
図12は、本発明の実施形態5に係るECU22のモジュール構成図である。本実施形態5において、ECU22は実施形態1で説明した構成に加えて、タスクテーブル入力部2214とタスクテーブル指定部2215を備える。その他構成は実施形態1と同様であるので、以下では差異点を中心に説明する。
タスクテーブル入力部2214は、例えばユーザが記述したタスクテーブルを受け取り、これを仮タスクテーブル2273としてデータフラッシュ227に格納する。ユーザは例えば通信装置3を介してタスクテーブルを入力することもできるし、車両制御システム2が備える車載ネットワークを経由してネットワーク送信によりタスクテーブルを入力することもできる。その他適当な手段を用いてもよい。ユーザは仮タスクテーブル2273を複数入力し、それぞれ保存しておくことができる。
タスクテーブル指定部2215は、仮タスクテーブル2273のうちいずれをタスクテーブル2272として採用するかを指定するデータを受け取り、その結果をタスクテーブル2272として反映する。ユーザは例えば通信装置3を介してタスクテーブル指定部2215に対して指示を入力することもできるし、車両制御システム2が備える車載ネットワークを経由してネットワーク送信により入力することもできる。
本実施形態5に係るECU22は、ユーザが所望するタスク割当を用いることができるので、ユーザの様々なニーズに対して柔軟に適合することができる。タスクテーブル更新部2213がタスクテーブル2272を更新することと併用してもよい。例えばユーザがタスクテーブルを入力または指定していない間はタスクテーブル更新部2213が作成したタスクテーブル2272を用いることができる。あるいはタスクテーブル更新部2213が作成したタスクテーブル2272そのものをユーザが指定してもよい。
<本発明の変形例について>
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
以上の実施形態において、プロセッサコア間で処理負荷を平準化することを説明したが、その他演算装置の間で処理負荷を平準化する場合においても、本発明を適用することができる。例えばプロセッサ間で平準化することや、ECU間で平準化することが考えられる。
以上の実施形態において、図2で説明したバス型ネットワークは例示であり、その他トポロジーを用いることもできる。例えば、(a)複数のECU22が直接GW23に接続されるスター型、(b)ECU22がリング状に接続されているリンク型、(c)それぞれの型が混在し複数のネットワークにより構成される混在型、などがある。GW23とECU22については、それぞれGWとしての機能を有するECU22を用いてもよいし、ECU22の機能を有するGW23を用いてもよい。
以上の実施形態において、処理負荷としてタスク実行時間を計測することを説明したが、より具体的には、例えば最悪実行時間を処理負荷として計測してもよい。これにより、予定されている実行周期以内でタスクが終了することを保証しつつタスクを再割当することができる。
1:車両
2:車両制御システム
21:ネットワークリンク
22:ECU
221:プロセッサ
2211:タスク実行部
2212:処理負荷計測部
2213:タスクテーブル更新部
2214:タスクテーブル入力部
2215:タスクテーブル指定部
222:I/O
223:タイマ
224:ROM
225:RAM
226:内部バス
227:データフラッシュ
2271:計測データ
2272:タスクテーブル
2273:仮タスクテーブル
23:GW
3:通信装置

Claims (8)

  1. 車両の動作を制御する車両制御装置であって、
    前記車両の動作を制御する制御タスクを実行すべき演算装置を定義するタスクテーブルを格納する記憶部、
    前記タスクテーブルの定義にしたがって前記制御タスクを実行する第1および第2演算装置、
    前記車両制御装置が起動または終了するとき前記タスクテーブルを更新する更新部、
    を備え
    前記タスクテーブルは、前記第1演算装置が実行すべき前記制御タスクを定義する第1サブテーブルと、前記第2演算装置が実行すべき前記制御タスクを定義する第2サブテーブルと、を含んでおり、
    前記更新部は、前記第1演算装置が実行すべき前記制御タスクのみを前記第1サブテーブルに対して記録するとともに、前記第2演算装置が実行すべき前記制御タスクのみを前記第2サブテーブルに対して記録し、
    前記第1演算装置は、前記第1サブテーブルが定義している前記制御タスクを実行し、 前記第2演算装置は、前記第2サブテーブルが定義している前記制御タスクを実行する
    ことを特徴とする車両制御装置。
  2. 前記車両制御装置はさらに、前記第1および第2演算装置が前記制御タスクを実行するために要した最悪処理負荷を計測する処理負荷計測部を備え、
    前記更新部は、前記処理負荷計測部が計測した最悪処理負荷に基づいて、前記第1および第2演算装置の合計処理負荷が平準化されるように、前記タスクテーブルを更新する
    ことを特徴とする請求項1記載の車両制御装置。
  3. 前記タスクテーブルは、前記第1および第2演算装置のうちいずれが前記制御タスクを実行すべきかが固定されている固定タスクと、固定されていない再配置可能タスクとを定義しており、
    前記更新部は、前記タスクテーブルのうち前記再配置可能タスクを定義している部分のみを更新する
    ことを特徴とする請求項1記載の車両制御装置。
  4. 前記タスクテーブルは、前記制御タスクを実行する際に要する時間として許容される範囲を指定する許容実行時間を定義しており、
    前記更新部は、前記第1および第2演算装置が更新後の前記タスクテーブルにしたがって前記制御タスクを実行したとき前記許容実行時間を満たすことができるように、前記タスクテーブルを更新する
    ことを特徴とする請求項1記載の車両制御装置。
  5. 前記タスクテーブルは、前記制御タスクを実行すべき順序を定義しており、
    前記更新部は、前記第1および第2演算装置が更新後の前記タスクテーブルにしたがって前記制御タスクを実行したとき前記順序を満たすことができるように、前記タスクテーブルを更新する
    ことを特徴とする請求項1記載の車両制御装置。
  6. 前記処理負荷計測部は、前記最悪処理負荷を計測した結果を記述した計測データを、前記車両制御装置の外部に設置された外部記憶装置に対して書き込み、
    前記更新部は、前記外部記憶装置から前記計測データを取得し、その取得した計測データに基づいて前記タスクテーブルを更新する
    ことを特徴とする請求項2記載の車両制御装置。
  7. 前記車両制御装置はさらに、前記タスクテーブルの定義を指定するデータを受け取るタスクテーブル入力部を備え、
    前記更新部は、前記タスクテーブル入力部が受け取ったデータにしたがって、前記タスクテーブルを更新する
    ことを特徴とする請求項1記載の車両制御装置。
  8. 前記記憶部は、複数の前記タスクテーブルを格納し、
    前記車両制御装置はさらに、各前記タスクテーブルの定義のうちいずれを採用すべきかを指定するデータを受け取るタスクテーブル指定部を備え、
    前記第1および第2演算装置は、前記タスクテーブル指定部が受け取ったデータが指定する前記タスクテーブルの定義にしたがって、前記制御タスクを実行する
    ことを特徴とする請求項1記載の車両制御装置。
JP2016205111A 2016-10-19 2016-10-19 車両制御装置 Active JP6838217B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016205111A JP6838217B2 (ja) 2016-10-19 2016-10-19 車両制御装置
US16/339,261 US20200039453A1 (en) 2016-10-19 2017-09-29 Vehicle controller
PCT/JP2017/035428 WO2018074187A1 (ja) 2016-10-19 2017-09-29 車両制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016205111A JP6838217B2 (ja) 2016-10-19 2016-10-19 車両制御装置

Publications (2)

Publication Number Publication Date
JP2018067135A JP2018067135A (ja) 2018-04-26
JP6838217B2 true JP6838217B2 (ja) 2021-03-03

Family

ID=62019146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016205111A Active JP6838217B2 (ja) 2016-10-19 2016-10-19 車両制御装置

Country Status (3)

Country Link
US (1) US20200039453A1 (ja)
JP (1) JP6838217B2 (ja)
WO (1) WO2018074187A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7226064B2 (ja) * 2019-04-23 2023-02-21 株式会社デンソー 電子制御装置
US11703425B2 (en) 2020-11-05 2023-07-18 Canon Kabushiki Kaisha Information processing apparatus, system, production facility, information processing method, method of manufacturing products, and recording medium
JP2022175874A (ja) * 2021-05-14 2022-11-25 日立Astemo株式会社 プログラム実行装置、解析方法、実行方法
JPWO2023281784A1 (ja) 2021-07-05 2023-01-12
US20230222846A1 (en) * 2022-01-11 2023-07-13 Ford Global Technologies, Llc Task managing system for testing-configuring vehicles based on a task order and method thereof

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259318A (ja) * 1998-03-13 1999-09-24 Hitachi Ltd ディスパッチ方式
JP2002049498A (ja) * 2000-08-02 2002-02-15 Hitachi Ltd タスク起動制御方法
JP4410661B2 (ja) * 2004-11-09 2010-02-03 株式会社日立製作所 分散制御システム
JP2009251663A (ja) * 2008-04-01 2009-10-29 Denso Corp タスク制御方法及びマルチタスクシステム
JP5238876B2 (ja) * 2011-12-27 2013-07-17 株式会社東芝 情報処理装置及び情報処理方法
JP2013152636A (ja) * 2012-01-25 2013-08-08 Toyota Motor Corp 情報処理装置、タスクスケジューリング方法
JP2014004858A (ja) * 2012-06-21 2014-01-16 Hitachi Automotive Systems Ltd 車両制御装置
CN104978228B (zh) * 2014-04-09 2019-08-30 腾讯科技(深圳)有限公司 一种分布式计算***的调度方法和装置
JP6407732B2 (ja) * 2015-01-08 2018-10-17 Ntn株式会社 車両制御装置

Also Published As

Publication number Publication date
WO2018074187A1 (ja) 2018-04-26
JP2018067135A (ja) 2018-04-26
US20200039453A1 (en) 2020-02-06

Similar Documents

Publication Publication Date Title
JP6838217B2 (ja) 車両制御装置
JP6376312B1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP4955943B2 (ja) 情報端末および計算機資源管理方法
JP6620891B2 (ja) 中継装置、中継方法、およびコンピュータプログラム
JP2019036855A (ja) 制御装置、制御方法、およびコンピュータプログラム
JP6443372B2 (ja) 車両用ソフトウェア割当てシステム
JPWO2018185994A1 (ja) 制御装置、転送方法、およびコンピュータプログラム
WO2018230084A1 (ja) 更新制御装置、制御方法、およびコンピュータプログラム
JP7502014B2 (ja) 車両用制御装置、プログラム更新方法、及びプログラム更新システム
JP2019003432A (ja) 制御装置、制御方法、およびコンピュータプログラム
JPWO2019030984A1 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP2016124455A (ja) 車載中継装置及び中継方法
JP2018163613A (ja) 電子機器、プログラム更新方法およびコンピュータプログラム
JP2019036017A (ja) 制御装置、制御方法、およびコンピュータプログラム
JP2008102830A (ja) マイクロコンピュータ、プログラム及び車両用電子制御装置
JP2015067107A (ja) 車両用制御装置
JPWO2018142749A1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
KR102109125B1 (ko) Autosar 기반 차량 ecu 상태 관리 방법
JP4593095B2 (ja) プログラム書込装置,プログラム書込システム,送信装置およびプログラム
JP7464092B2 (ja) マスタ、センタ、および車両
JP2022090901A (ja) 車載ネットワークシステム
KR102301020B1 (ko) 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치
JP6803709B2 (ja) 車両制御装置および車両制御システム
US20220342651A1 (en) Center, ota master, system, distribution method, non-transitory storage medium, and vehicle
JP6573052B1 (ja) 制御装置、制御方法、およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201203

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: 20201216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210112

R150 Certificate of patent or registration of utility model

Ref document number: 6838217

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250