(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024140614
(43)【公開日】2024-10-10
(54)【発明の名称】スケジューリング装置、制御方法及び制御プログラム
(51)【国際特許分類】
G06F 9/48 20060101AFI20241003BHJP
B60R 16/023 20060101ALI20241003BHJP
【FI】
G06F9/48 300F
B60R16/023 P
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023051830
(22)【出願日】2023-03-28
(71)【出願人】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(71)【出願人】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(71)【出願人】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】110000280
【氏名又は名称】弁理士法人サンクレスト国際特許事務所
(72)【発明者】
【氏名】塩澤 孝之
(57)【要約】 (修正有)
【課題】自動車用スリーブ制御システムは、各アプリケーションの要求スリープ期間に共通に含まれる期間を有効スリープ期間としており、並行して実行されるアプリケーションが多くなると、スリーブ期間が短くなり、消費電力の抑制が図れなくなる。
【解決手段】車載システムにおいて、複数の車載制御装置が実行する機能をスケジューリングするスケジューリング装置2は、第1車載制御装置3aと第2車載制御装置3bとにより実行される第1機能が開始される第1実行開始タイミングと、実行される第1実行周期とを決定するための第1情報と、第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始される第2実行開始タイミングと実行される第2実行周期を決定するための第2情報とを取得する取得部と、第1情報及び第2情報に基づき、各車載制御装置との合計消費電力が最小となる、各実行開始タイミングと実行周期とを決定する決定部と、を備える。
【選択図】
図8
【特許請求の範囲】
【請求項1】
通信バスを介して相互に通信可能な複数の車載制御装置が実行する機能をスケジューリングするスケジューリング装置であって、
第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得する取得部と、
前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する決定部と、
を備える、
スケジューリング装置。
【請求項2】
前記決定部により決定された前記第1実行開始タイミングと前記第1実行周期とを前記第1車載制御装置と前記第2車載制御装置とへ設定し、前記決定部により決定された前記第2実行開始タイミングと前記第2実行周期とを前記第1車載制御装置と前記第3車載制御装置とへ設定する設定部を、さらに備える、
請求項1に記載のスケジューリング装置。
【請求項3】
前記決定部は、前記第1情報に基づき前記第1実行周期が限定されるべき範囲である第1設定範囲を決定し、前記第1設定範囲に基づき前記第1実行開始タイミングと前記第1実行周期を決定し、前記第2情報に基づき前記第2実行周期が限定されるべき範囲である第2設定範囲を決定し、前記第2設定範囲に基づき前記第2実行開始タイミングと前記第2実行周期を決定する、
請求項1に記載のスケジューリング装置。
【請求項4】
前記第1設定範囲は、前記第1機能が実行される周期の初期値である第1周期初期値と前記第1周期初期値から変更が許容される範囲である第1許容範囲とに基づき決定され、前記第2設定範囲は、前記第2機能が実行される周期の初期値である第2周期初期値と前記第2周期初期値から変更が許容される範囲である第2許容範囲とに基づき決定される、
請求項3に記載のスケジューリング装置。
【請求項5】
前記第1情報は、前記第1実行周期において前記第1機能が開始されてから終了するまでの時間である第1実行継続時間を含み、前記第2情報は、前記第2実行周期において前記第2機能が開始されてから終了するまでの時間である第2実行継続時間を含む、
請求項4に記載のスケジューリング装置。
【請求項6】
前記決定部は、前記第1実行継続時間と、前記第2実行継続時間とに基づき、前記1車載制御装置、前記第2車載制御装置、前記第3車載制御装置各々の消費電力を求め、前記合計消費電力が最小となる前記第1実行開始タイミング、前記第1実行周期、前記第2実行開始タイミング、及び前記第2実行周期とを決定する、
請求項5に記載のスケジューリング装置。
【請求項7】
前記第1情報は、前記第1機能の実行が制限される制限条件を示す情報を含み、
前記決定部は、前記制限条件を回避して、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する、
請求項1に記載のスケジューリング装置。
【請求項8】
前記制限条件は、前記第1機能と前記第2機能とが時間的に重複して実行することを制限するという条件を含む、
請求項7に記載のスケジューリング装置。
【請求項9】
前記制限条件は、前記第1機能が使用するハードウェア資源の制限に関する条件、または前記第2機能が使用するハードウェア資源の制限に関する条件の少なくとも一方を含む、
請求項7に記載のスケジューリング装置。
【請求項10】
通信バスを介して相互に通信可能な複数の車載制御装置が実行する機能をスケジューリングするスケジューリング装置よって用いられる制御方法であって、
第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得するステップと、
前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定するステップと、
を含む、
制御方法。
【請求項11】
通信バスを介して相互に通信可能な複数の車載制御装置が実行する機能をスケジューリングするスケジューリング装置によって用いられる制御プログラムであって、
コンピュータに、
第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得するステップと、
前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定するステップと、
を実行させるための、
制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、スケジューリング装置、制御方法及び制御プログラムに関する。
【背景技術】
【0002】
車両には、エンジン、トランスミッション等を制御する制御系ECU(Electronic Control Unit)、ヘッドライト、パワーウインドウ等を制御する車両系ECU、ナビゲーション装置、マルチメディア機器等の情報系ECU等、多種の車載装置が搭載される。
【0003】
特許文献1には、複数のアプリケーション間でスリープ期間が異なる場合でも、スリープ制御情報取得手段により各アプリケーションから要求スリープ期間に関する情報を個別に取得し、さらに、有効スリープ期間算出手段により、取得した要求スリープ期間に共通に含まれる期間を有効スリープ期間として見出し、その有効スリープ期間を用いてハードウェア制御主体のスリープ/ウェイクアップの制御を行う自動車用スリーブ制御システムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の自動車用スリーブ制御システムは、各アプリケーションの要求スリープ期間に共通に含まれる期間を有効スリープ期間としており、並行して実行されるアプリケーションが多くなると、スリーブ期間が短くなり、消費電力の抑制が図れなくなる課題がある。
【課題を解決するための手段】
【0006】
本開示の一態様に係るスケジューリング装置は、通信バスを介して相互に通信可能な複数の車載制御装置が実行する機能をスケジューリングするスケジューリング装置であって、第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得する取得部と、前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する決定部と、を備える。
【0007】
本開示は、上記のような特徴的な構成を備えるスケジューリング装置、前記スケジューリング装置における特徴的な処理をステップとする制御方法、及び前記車載制御装置に特徴的な処理を実行させるための制御プログラムとして実現することができるだけでなく、前記車載制御装置の一部又は全部を半導体集積回路として実現することができる。
【発明の効果】
【0008】
本開示によれば、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態1に係るスケジューリング装置を含む車載システムの構成の一例を示すブロック図である。
【
図2】
図2は、実施形態1に係るGWの構成の一例を示すブロック図である。
【
図3】
図3は、実施形態1に係るECUの構成の一例を示すブロック図である。
【
図4】
図4は、ECUがいずれのクラスタに属するかを示すクラスタテーブルの一例である。
【
図5】
図5は、実施形態1に係るGWの機能の一例を示す機能ブロック図である。
【
図6】
図6は、実行開始タイミングと実行周期を決定するための情報の一例を示す図である。
【
図7】
図7は、二つの機能が並行して実行される場合の動作を示す図である。
【
図8】
図8は、二つの機能が時間的に同時に実行される場合の動作を示す図である。
【
図9】
図9は、二つの機能が異なる実行周期で実行される動作を示す図である。
【
図10】
図10は、二つの機能が、同じ実行周期で時間的に同時に実行される動作を示す図である。
【
図11】
図11は、実施形態1に係るスケジューリング装置の動作の一例を示すフローチャートである。
【
図12】
図12は、実行開始タイミング、実行周期決定ルーチンの一例のフローチャートである。
【
図13】
図13は、実施形態2に係るスケジューリング装置の機能の一例を示す機能ブロック図である。
【
図14】
図14は、実施形態2に係るスケジューリング装置の動作の一例を示すフローチャートである。
【
図15】
図15は、制限情報を含む実行条件情報の一例を示す図である。
【
図16】
図16は、第1機能から第3機能の実行の順番を示す一例の図である。
【
図17】
図17は、第1機能から第3機能の実行の順番を示す一例の図である。
【
図18】
図18は、実施形態3に係るスケジューリング装置の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
<本開示の実施形態の概要>
以下、本開示の実施形態の概要を列記して説明する。
【0011】
(1) 本実施形態に係るスケジューリング装置は、通信バスを介して相互に通信可能な複数の車載制御装置が実行する機能をスケジューリングするスケジューリング装置であって、第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得する取得部と、前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する決定部と、
を備える。これにより、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができる。
【0012】
(2) 上記(1)において、前記決定部により決定された前記第1実行開始タイミングと前記第1実行周期とを前記第1車載制御装置と前記第2車載制御装置とへ設定し、前記決定部により決定された前記第2実行開始タイミングと前記第2実行周期とを前記第1車載制御装置と前記第3車載制御装置とへ設定する設定部を、さらに備える。これにより、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができる。
【0013】
(3) 上記(1)において、前記決定部は、前記決定部は、前記第1情報に基づき前記第1実行周期が限定されるべき範囲である第1設定範囲を決定し、前記第1設定範囲に基づき前記第1実行開始タイミングと前記第1実行周期を決定し、前記第2情報に基づき前記第2実行周期が限定されるべき範囲である第2設定範囲を決定し、前記第2設定範囲に基づき前記第2実行開始タイミングと前記第2実行周期を決定する。これにより、機能の実行周期が限定されるべき範囲で、実行周期を決定し、第1機能と第2機能とを重複して実行させることができる。この結果、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができる。
【0014】
(4) 上記(3)において、前記第1設定範囲は、前記第1機能が実行される周期の初期値である第1周期初期値と前記第1周期初期値から変更が許容される範囲である第1許容範囲とに基づき決定され、前記第2設定範囲は、前記第2機能が実行される周期の初期値である第2周期初期値と前記第2周期初期値から変更が許容される範囲である第2許容範囲とに基づき決定される。これにより、周期初期値及び許容範囲に基づき、実行周期を決定し、第1機能と第2機能とを重複して実行させることがでる。この結果、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができる。
【0015】
(5) 上記(4)において、前記第1情報は、前記第1実行周期において前記第1機能が開始されてから終了するまでの時間である第1実行継続時間を含み、前記第2情報は、前記第2実行周期において前記第2機能が開始されてから終了するまでの時間である第2実行継続時間を含む。これにより、第1機能と第2機能とを、幅を持って重複して実行させることができ、柔軟な決定をすることができる。
【0016】
(6) 上記(5)において、前記決定部は、前記第1実行継続時間と、前記第2実行継続時間とに基づき、前記1車載制御装置、前記第2車載制御装置、前記第3車載制御装置各々の消費電力を求め、前記合計消費電力が最小となる前記第1実行開始タイミング、前記第1実行周期、前記第2実行開始タイミング、及び前記第2実行周期とを決定する。これにより、容易に合計消費電力を求めることができる。
【0017】
(7) 上記(1)において、前記第1情報は、前記第1機能の実行が制限される制限条件を示す情報を含み、前記決定部は、前記制限条件を回避して、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する。これにより、機能の実行が制限される条件がある場合であっても、車載制御装置の消費電力の抑制を図ることができるスケジュールを算出できる。
【0018】
(8) 上記(7)において、前記制限条件は、前記第1機能と前記第2機能とが時間的に重複して実行することを制限するという条件を含む。これにより、機能の重複実行が制限される場合であっても、車載制御装置の消費電力の抑制を図ることができるスケジュールを算出できる。
【0019】
(9) 上記(6)において、前記制限条件は、前記第1機能が使用するハードウェア資源の制限に関する条件、または前記第2機能が使用するハードウェア資源の制限に関する条件の少なくとも一方を含む。これにより、機能が使用するハードウェア資源に制限がある場合であっても、車載制御装置の消費電力の抑制を図ることができるスケジュールを算出できる。
【0020】
(10) 本実施形態に係る制御方法は、通信バスを介して相互に通信可能な複数の車載制御装置が実行する機能をスケジューリングするスケジューリング装置よって用いられる制御方法であって、第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得するステップと、前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定するステップと、を含む。これにより、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができる。
【0021】
(11) 本実施形態に係る制御プログラムは、通信バスを介して相互に通信可能な複数の車載制御装置が実行する機能をスケジューリングするスケジューリング装置によって用いられる制御プログラムであって、コンピュータに、第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得するステップと、前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定するステップと、を実行させる。これにより、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができる。
【0022】
<実施形態1>
[1.本開示の実施形態1の詳細]
以下、図面を参照しつつ、本開示の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0023】
[1-1.車載システム]
図1は、実施形態1に係るスケジューリング装置を含む車載システムの構成の一例を示すブロック図である。車載システム1は、車両に搭載される。スケジューリング装置は、通信バスを介して相互に通信可能な複数の車載制御装置が実行する機能の実行タイミングをスケジューリングする。スケジューリング装置は、例えば所定の機能を実行する個別の車載制御装置(以下、単に「ECU」と称する。)を総合的に制御するゲートウェイ(Gateway)(以下、GWと称する。)として実現される。ゲートウェイはECUの一種として統合ECUと呼ばれることがある。またスケジューリング装置は、車外のサーバとし実現させることもできる。以下、ゲートウェイを例に説明する。
【0024】
実施形態1に係る車載システム1は、GW2とECU3aとECU3bとを含む。車載システム1は、統合ECU2とECU3aとECU3bと及びそれらを繋ぐ通信ケーブル(通信バス)によって構成される車載ネットワークである。なお、ECU3a、ECU3bを総称して「ECU3」と以下称する場合がある。
【0025】
複数のECU3は、車両の各部に配置される。ECU3は、車両の各部のハードウェアを個別に制御したり、車両の各部のハードウェアの状態を監視したりする。例えば、ECU3は、制御系、車体系、情報系のECUである。
【0026】
GW2は、ECU3のそれぞれとCAN(Controller Area Network)バスのような通信バス12a、12bを介して接続されている。具体的には、GW2は、通信インタフェース(通信I/F)11a、11bを備える。通信I/F11aは、通信バス12aに接続されている。通信バス12aには、ECU3aが接続されている。通信I/F11bは、通信バス12bに接続されている。通信バス12bには、ECU3bが接続されている。GW2は、ECU3のそれぞれと相互に通信することができる。
【0027】
ECU3のそれぞれは、通信バスに接続された通信I/F13a、13bを備える。通信I/F13a、13bはパーシャルネットワーク機能に対応する対応I/Fである。パーシャルネットワーク機能を使用するときには、GW2、ECU3は、パーシャルネットワーク機能に対応した通信プロトコルを使用する。通信プロトコルは、例えば、CAN、CAN FD(CAN with Flexible Data Rate)、又はCAN PN(CAN with Partial Networking)である。
【0028】
パーシャルネットワーク機能は、各車載装置をバスネットワークにて接続する車載システムにおいて、機能(サービス)毎に車載装置をPNC(Partial Network Cluster)と呼ばれるクラスタに分け、サービスの実行に用いられるPNCの車載装置をウェイクアップさせ、その他のPNCの車載装置をスリープさせる機能である。
【0029】
GW2は、ECU3間の通信を中継するゲートウェイとしての機能を有する。GW2、ECU3は、フレームを送信することができる。GW2は、異なるバスに接続されたECU間のフレームを中継する。例えば、GW2は、通信バス12aに接続されたECU3aと、通信バス12bに接続されたECU3bとの間でフレームを中継することができる。これにより、例えば、通信バス12aに接続されたECU3aと、通信バス12bに接続されたECU3bとの間で、フレームの送受信が可能である。
【0030】
[1-2.GWの構成]
以下、GW2のハードウェア構成について説明する。
【0031】
図2は、実施形態1に係るGW2の構成の一例を示すブロック図である。GW2は、制御部22及びメモリ23を含むマイクロコントローラーユニット21(以下、「MCU21」と称する。)と、複数の通信I/F11a、11bと、を有する。制御部22、メモリ23、通信I/F11a、11bは、内部バス24によって電気的に接続されている。
【0032】
制御部22は、例えばプロセッサ等の回路構成を含む。制御部22は、具体的には、1個又は複数個のCPU(Central Processing Unit)を含む。制御部22含まれるプロセッサは、GPU(Graphics Processing Unit)であってもよい。この場合、制御部22は、メモリ23に記憶されているコンピュータプログラムを読み出して、各種の演算及び制御を実行する。
【0033】
制御部22は、予め所定のプログラムが書き込まれたプロセッサを含んでもよい。例えば、制御部22は、CPLD(Complex Programmable Logic Device)、FPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit)等の集積回路であってもよい。この場合、制御部22は、予め書き込まれたプログラムに基づいて、各種の演算及び制御を実行する。
【0034】
メモリ23は、揮発性メモリと、不揮発性メモリとを有し、各種のデータを記憶する。揮発性メモリは、例えばRAM(Random Access Memory)を含む。不揮発性メモリは、例えばフラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)又はROM(Read Only Memory)等を含む。当該不揮発性メモリの一部は、MCU21外に設けられていてもよい。
【0035】
メモリ23は、例えば、不揮発性メモリにコンピュータプログラム、後述のECUにより実行される機能の実行タイミングを決定するため情報、及び各種のパラメータを記憶している。メモリ23は、外部装置(図示せず)からネットワーク(図示せず)及び通信装置(図示せず)を介してダウンロードされるコンピュータプログラムを記憶してもよい。
【0036】
通信I/F11a、11bは、通信バス12a、12bを流れる信号を、それぞれポート(図示せず)を介して受信し、MCU21において読取り可能な信号に変換する。通信I/F11a、11bはおのおの、通信バス12a、12bと接続されている。
[1-3.ECUの構成]
以下、ECU3のハードウェア構成について説明する。
【0037】
図3は、実施形態1に係るECUの構成の一例を示すブロック図である。ECU3aは、マイクロコントローラーユニット31と、通信I/F13aと、周辺回路34とを含む。ECU3b構成は、ECU3aと同様の構成である。
【0038】
マイクロコントローラーユニット31(以下「MCU31」と称する。)は、上述したGW2のMCU21と同じ構成を有する。つまり、MCU31は、制御部(プロセッサ)32と、不揮発性メモリおよび揮発性メモリを含むメモリ33と、を含む。MCU31は、周辺回路34と、通信I/F13aとを含んでいてもよい。
【0039】
メモリ33には、コンピュータプログラムである制御プログラム及び制御プログラムの実行に使用されるデータが格納される。制御プログラムは、フラッシュメモリ、ROM、CD-ROMなどの記録媒体に記憶させることができる。プロセッサ32は、制御プログラムによって、ECU3aにおいてパーシャルネットワーク機能を利用可能とする。
【0040】
周辺回路34は、例えば、UART、I2C、SPI等の規格に準拠したシリアル通信回路を含む。周辺回路34の当該シリアル通信回路は、ECU3aの制御対象のデバイス又はセンサに接続されており、センサから出力された信号を受信したり、制御対象へ制御信号を送信したりすることができる。
【0041】
通信I/F13aは、上述した車載ネットワーク用の通信プロトコルに準拠した通信インタフェースである。通信I/F13aは、パーシャルネットワーク機能に対応するI/Fである。
【0042】
[1-4.クラスタ]
図4は、ECUがクラスタに属する場合に、各ECUがいずれのクラスタに属するかを示すクラスタテーブルの一例である。以下、クラスタについて説明する。クラスタは、上述においてPNCと呼んでいたものである。ECU3のそれぞれは、少なくとも1個のクラスタに属している。GW2のメモリ23は、ECU3と、ECU3のそれぞれが属するクラスタとを紐付けたクラスタテーブル41を格納する。クラスタテーブル41はECU3のそれぞれが記憶してもよい。
【0043】
複数のECUによって実行される機能の例として画像センサによる周辺監視機能(以降、「周辺監視機能」と称する。)、車両情報収集機能がある。
【0044】
周辺監視は、ECU3aとGW2とによって実行される。このため、画像ECUとGW2とは同じクラスタに属する。ECU3aは、車両周辺を撮影する画像センサからの画像を取得し、取得した画像を含むフレームをGW2へ送信するという機能(第1機能a)を実行する。GW2は、画像ECUから送信された画像を含むフレームを受信し、受信した画像から人を認識する機能(第1機能b)を実行する。
【0045】
車両情報収集機能は、例えばGW2とECU3bとによって実行される。このためGW2とECU3bは同じクラスタに属する。GW2は、GW2が、通信バス12a、12bを通じて、所定のECUからそれぞれ所定の車両情報を受信し、受信した車両情報を含むフレームをECU3bへ送信する機能(第2機能a)を実行する。TCU(Telematic control unit)であるECU3bは、GW2から送信された車両情報を含むフレームを受信し、受信した車両情報を車外にあるサーバへアップロードする機能(第2機能b)を実行する。ここで収集される車両情報としては、バッテリの電圧、エンジン回転計により検出されたエンジン回転数等がある。
【0046】
図4に示すクラスタテーブル41では、2個のクラスタPNC1、PNC2に、それぞれどのGW、ECUが属しているかを示している。なお、
図4におけるクラスタ数は例示であり、2個以上のクラスタが用意されてもよい。テーブル中において、「1」はその行のクラスタにGW、ECUが属していることを示し、「0」はその行のクラスタにGW、ECUが属していないことを示している。
【0047】
例えば、クラスタPNC1には、GW2、ECU3aが属している。クラスタPNC1に属するGW2、ECU3aによって第1の機能、例えば周辺監視機能が実行される。クラスタPNC2には、GW2、ECU3bが属している。クラスタPNC2に属するGW2、ECU3bによって第2の機能、例えば車両情報収集機能が実行される。以下の説明では、「クラスタPNC1に属するGW2、3aをウェイクアップさせる」ことを、単に「クラスタPNC1をウェイクアップさせる」とも表現する。他のクラスタPNC2についても同様の表現を用いる。
【0048】
[1-5.動作モード]
GW2、ECU3の動作モード及びウェイクアップ動作について説明する。
【0049】
GW2、ECU3の動作モードには、通常モード及びスリープモードが含まれる。通常モードは、GW2、ECU3が稼働している状態であり、制御対象を制御し、自装置以外のGW2、ECU3と通信することが可能である。スリープモードは、通信I/F11a、11b、13a、13bの一部の機能を除いてGW2,ECU3が停止した状態である。
CANでは、パーシャルネットワーク機能によって一部のクラスタをウェイクアップさせる場合、ウェイクアップ対象のクラスタを指定したフレームが通信バス12a、12b上へ送信される。ウェイクアップの要求、すなわち、ウェイクアップ対象のクラスタを指定したフレームは、例えば、ECU3aによって送信される。ECU3aの場合、クラスタテーブル41を用いてフレームが作成される。ただし、フレームの送信元は、ECU3aに限られず、GW2、ECU3bがフレームを送信してもよい。
【0050】
スリープモードにあるGW2の通信I/F11a、11b、ECU3の通信I/F13a、13bは、フレームを受信し、当該フレームにおいて自装置が属するクラスタが指定されているか否かを判断する。自装置が属するクラスタが指定されていない場合、GW2、ECU3はそのままスリープモードを維持する。自装置が属するクラスタが指定されている場合、通信I/F11a、11b、13a、13bは制御部(プロセッサ)に割り込みをかけ、スリープモードから通常モードへの切り替えを指示する。これにより、指定されたクラスタに属するGW2、ECU3がウェイクアップする。
【0051】
一方、GW2、ECU3は、自装置の機能にかかる処理が終了すると通常モードからスリープモードへ移行する。即ちフレームを受信し、スリープモードから通常モードへ移行したGW2、ECU3は、一連の処理が終了した後には、スリープモードへ移行するように構成される。従ってGW2、ECU3は、フレームが受信されなくなるとスリープモードへ移行し、スリープモードを維持することとなる。GW2、ECU3は、一連の処理が終了した後、所定期間経過後にスリープモードへ移行するように構成してもよい。
【0052】
GW2、ECU3は、スリープモードへ移行するにはフレームが受信されなくなる場合に限定されない。例えば、GW2、ECU3は、スリープモードへ移行することを指示する命令を含むフレームを受信した場合に、スリープモードへ移行するように構成してもよい。
【0053】
スリープモードから通常モードへ移行すると、GW2、ECU3は所定のクロックで動作する。スリープモードでは、クロックは止まり、GW2、ECU3は停止する。このため、通常モードでは、GW2、ECU3による消費電力は大きい。一方、スリープモードでは、GW2、ECU3による消費電力は小さい。なお、通常モードでは、通信I/F11a、11b、13a、13bが動作する。スリープモードでは、通信I/F11a、11b、13a、13bは一部の機能を停止する。
【0054】
[1-7.GWの機能]
図5は、実施形態1に係るGWの機能の一例を示す機能ブロック図である。
【0055】
GW2は、取得部51と決定部52との各機能を有する。取得部51と決定部52とは、MCU21の機能である。取得部51と決定部52との各機能は、MCU21が制御プログラムを実行することにより実現される。
【0056】
[1-7-1. 取得部]
取得部51は、第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得する。
【0057】
具体的には、第1車載制御装置と第2車載制御装置とにより実行される第1機能は、例えば、車両周辺を撮影する画像センサからの画像を取得する画像ECU(ECU3a)と、取得した画像から人を認識するGW2とによって実行される周辺監視機能である。前記第1車載制御装置と第3車載制御装置とにより実行される第2機能は、例えば、通信バス12a、12bを通じて、所定のECUからそれぞれ所定の車両情報をGW2は受信し、TCUであるECU3bは当該車両情報を車外にあるサーバへアップロードする車両情報収集機能である。第1機能である周辺監視機能と、第2機能である車両情報収集機能とは、共通する第1車載制御装置であるGW2によって実行される。
【0058】
実行周期は、例えば周辺監視機能等の機能が繰り返し実行される周期である。周辺監視機能は、画像センサからの画像を取得する画像ECUと、取得した画像から人を認識するGW2とによって実行される。画像ECUであるECU3aは、周辺監視機能を実行するために実行周期毎にウェイクアップする。ウェイクアップは、ECU3aが持つタイマーがECU3a自身に割り込みをかけることによりECU3aはウェイクアップされる。タイマーへは例えば3msといった値が設定される。周辺監視機能は3ms毎に実行され、この場合、3msが実行周期の具体例である。
【0059】
実行開始タイミングは、機能の実行が開始されるタイミングである。実行開始タイミングは、基準時から実行開始タイミングが示す時間が経過したポイントのタイミングである。基準時は、例えば、GW、ECU、車外のサーバのいずれかに車両全体の基準となる基準時間を司るマスタクロックを持ち、各々のECUのタイマーが当該マスタクロックに同期している場合には、基準時は当該マスタクロックがスタートした時点である。あるいは、複数の機能が実行されている場合において、当該複数の機能の任意の機能Aの実行が開始された時点である。具体的には、周辺監視機能と車両情報収集機能が実行される場合には、例えば周辺監視機能を実行するECU3aが当該機能の実行を開始した時点に同期して、車両情報収集機能を実行するGW2のタイマーをスタートさせる。GW2のタイマーには車両情報収集機能の実行開始タイミングが設定されている。実行開始タイミングが示す時間が経過したのちGW2のタイマーはGW2自身に割込みかける等して、車両情報収集機能をスタートさせる。これにより、周辺監視機能の実行が開始された時点を基準として、車両情報収集機能の実行開始タイミングが示す時間が経過した後、車両情報収集機能は、実行を開始する。
【0060】
第1情報は、機能が開始されるタイミングである第1開始タイミングと、当該機能が実行される周期である第1実行周期とを決定するための情報である。第2情報は、機能が開始されるタイミングである第2開始タイミングと、当該機能が実行される周期である第2実行周期とを決定するための情報である。
【0061】
図6は、実行開始タイミングと実行周期を決定するための情報の一例を示す図である。以下、第1実行開始タイミングと第1実行周期とを決定するための第1情報と、第2実行開始タイミングと2実行周期を決定するための第2情報とを総称して「実行条件情報」と称す場合がある。また、第1実行開始タイミングと第2実行開始タイミングとを総称して「実行開始タイミング」と、第1実行周期と第2実行周期とを総称して「実行周期」と称す場合がある。
実行条件情報は、各々の機能を考慮して決定され、例えば
図6に示すような表形式の情報である。実行条件情報は、機能を識別する識別子に関連付けて、機能毎にその機能の、実行開始タイミングと実行周期を決定するための情報が列挙されている。列挙されている情報としては、例えば実行周期の初期値、実行周期変更の許容範囲、実行継続時間、制限条件である。
【0062】
実行周期の初期値は、実行する機能がその機能を果たすに必要な典型的な実行周期の初期値である。実行周期の初期値は、例えば2ms、3msといった値をとる。実行周期変更の許容範囲は、実行周期の初期値から変更が許容される範囲である。実行する機能がその機能を果たすに必要な実行周期は、幅を持っており、実行周期変更の許容範囲は、実行周期の初期値からどこまで変更してよいかを示している。実行周期変更の許容範囲は例えば±1msといった値を取る。なお、ここでは初期値とその変更許容範囲で説明したが、実行周期の最小値、最大値として規定することも可能である。実行継続時間は、所定の実行周期で実行される機能が開始されてから終了するまでの時間である。実行継続時間は、例えば0.2ms、0.3msといった値をとる。
【0063】
制限条件は、機能の実行が制限される条件である。機能の実行が制限される条件は、当該機能の必要に応じて規定され、規定されない場合もある。制限条件は、例えば当該機能の優先度が高く他の機能と並列に実行されないように、並列動作不可を示す情報として規定される。あるいは、第1の機能の実行完了後に、第1の機能の結果を受けて、第2の機能が実行を開始する場合には、第2の機能の制限条件として、第1の機能完了後に実行することを示す情報として規定される。なお、制限条件が規定されない場合には、実行周期の初期値、実行周期変更の許容範囲で、実行開始タイミングと実行周期が決定される。
【0064】
取得部は、実行条件情報を取得する。実行条件情報は、例えばGW2のメモリ23の不揮発メモリに記憶されている。制御部22はメモリ23に記憶された実行条件情報を読み出し、実行条件情報を取得する。実行条件情報は、例えば機能を実行するECUが、機能毎に記憶してもよい。具体的には周辺監視機能の実行条件情報であれば画像ECUであるECU3aが記憶し、車両情報収集機能の実行条件情報であればGW2が記憶していてもよい。この場合には、取得部51は、周辺監視機能の実行条件情報をECU3aから取得し、車両情報収集機能の実行条件情報をGW2から取得してもよい。実行条件情報は、車外のサーバが記憶していてもよい。この場合には、取得部51は、通信ネットワークを介してサーバにアクセスして、必要な実行条件情報を取得する。スケジューリング装置がサーバとして実現されている場合には、通信ネットワークを介さずに、取得部51は直接自装置から実行条件情報を取得する。
【0065】
[1-7-2. 決定部]
決定部52は、前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する。
【0066】
GW及び各ECUは所定の機能を実行するために所定の電力を消費する。例えば、GW2は20W(ワット)、ECU3aは5W、ECU3bは10Wである。ここで消費電力は実際の消費電力でなくてもよく、各々のECUの消費電力の相対値であってもよい。相対値であっても比較することができるからである。例えばGW2は4、ECU3aは1、ECU3bは2である。
【0067】
図7は、二つの機能が並行して実行される場合の動作を示す図である。画像センサによる周辺監視は、ECU3aとGW2とによって実行される。ECU3aは、車両周辺を撮影する画像センサからの画像を取得し、取得した画像を含むフレームをGW2へ送信するという機能を実行する。
図7で示す71aの部分である。GW2は、画像ECUから送信された画像含むフレームを受信し、フレームを受信することで、GW2はウェイクアップする。ウェイクアップしたGW2は,受信した画像から人を認識するという機能を実行する。
図7で示す71bの部分である。
図7に示すように、周辺監視機能は、例えば3ms毎に、0.2ms継続して実行される。
【0068】
一方車両情報収集機能は、GW2とECU3bとによって実行される。GW2は、GW2が、通信バス12a、12bを通じて、所定のECUからそれぞれ所定の車両情報を受信し、受信した車両情報を含むフレームをECU3bへ送信する機能を実行する。
図7の72aの部分である。ECU3aは、GW2から送信された車両情報含むフレームを受信し、フレームを受信したECU3bはウェイクアップする。ウェイクアップしたECU3bは受信した車両情報含むフレームを車外にあるサーバへアップロードする機能を実行する。
図7の72bの部分である。
図7に示すように、車両情報収集機能は、例えば3ms毎に、周辺監視機能の実行後1ms遅れて、0.3msの期間実行される。
【0069】
合計消費電力は、各ECUが消費する電力の合計である。そして、決定部は、第1実行継続時間と、第2実行継続時間とに基づき、第1車載制御装置、第2車載制御装置、第3車載制御装置各々の消費電力を求め、合計消費電力が最小となる実行開始タイミング、実行周期とを決定する。具体的には、各ECUの消費電力に実行継続時間を掛け、合計し、実行周期で割ることによって合計消費電力は得られる。第1機能と第2機能との実行周期が異なる場合には、第1機能の実行周期と第2機能の実行周期との最小公倍数で計算する。このように実際にECUの電圧、電流を測定しなくても、容易に消費電力を求めることができる。
【0070】
例えばGW2は20W(ワット)、ECU3aは5W、ECU3bは10Wであるとする。周辺監視機能と車両情報収集機能とを実行する場合の、GW2、ECU3a、ECU3bが消費する合計消費電力は4.7W(ワット)である。
合計消費電力=(0.2X5+(0.2+0.3)X20+0.3X10)/3
=4.7W(ワット)
【0071】
次に、決定部52は、合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する。
【0072】
具体的には、決定部52は、例えば、実行周期の範囲で車両情報収集機能の実行開始タイミングを順次変更して、合計消費電力を計算する。そして、最小の合計消費電力となる周辺監視機能が実行を開始してから遅れて実行が開始される車両情報収集機能の開始までの期間を、実行開始タイミングとして決定する。例えば車両情報収集機能が、周辺監視機能の実行後0ms遅れて実行が開始される場合の合計消費電力を計算する。この場合には、GW2は周辺監視機能と車両情報収集機能とを時間的に同時に実行するので、GW2の実行継続時間は、0.3msとなる。そしてこの場合の合計消費電力は
合計消費電力=(0.2X5+0.3X20+0.3X10)/3
=3.3W(ワット)
図8は、二つの機能が時間的に同時に実行される場合の動作を示す図である。
図8に示すように、周辺監視機能と車両情報収集機能の二つの機能が重複し実行されることにより、共通に二つの機能を実行するGW2が動作する期間が重なり、実際のGW2の実行継続時間が減少する。これにより、合計消費電力が減少する。二つの機能が重複して実行される期間が最も短いときに、最小の消費電力となる。
【0073】
また、第1情報は、第1実行周期において第1機能が開始されてから終了するまでの時間である第1実行継続時間を含み、第2情報は、第2実行周期において前記第2機能が開始されてから終了するまでの時間である第2実行継続時間を含んでいる。具体的には、
図6に示すように、実行条件情報が周期的に実行される機能が開始されてから終了するまでの時間である実行継続時間を含んでいる。例えば、周辺監視機能の場合、実行継続時間は例えば0.2msである。車両情報収集機能の場合、実行継続時間は、例えば0.3msである。このように、周辺監視機能の実行継続時間は、車両情報収集機能の実行継続時間より短い。このため、最も短い周辺監視機能の実行と、車両情報収集機能の実行とが重複する期間には幅がある。具体的には、周辺監視機能の実行が開始されてから、車両情報収集機能の実行が開始される、車両情報収集機能の実行開始タイミングは-0.1msから0msである。車両情報収集機能の実行開始タイミングが-0.1msから0msである場合には、二つの機能が重複して実行される期間は0.3msと一定になる。このように実行継続時間があることにより、実行開始タイミングを柔軟に決定することができる。
【0074】
以上は、周辺監視機能の実行周期と、車両情報収集機能の実行周期が同じ3msの場合について説明した。次に、例えば周辺監視機能の実行周期が2ms、車両情報収集機能の実行周期が3msと異なる場合の、決定部52の機能について説明する。
【0075】
図9は、二つの機能が異なる実行周期で実行される動作を示す図である。
図9に示すように、車両情報収集機能の実行開始タイミングを0msと決定しても、一度目の周辺監視機能が実行されるときに、車両情報収集機能の実行を重複させることができても、二度目に周辺監視機能が実行されるときに、車両情報収集機能が実行されず、消費電力の抑制が図れない。
【0076】
そこで、決定部52は、第1情報に基づき第1実行周期が限定されるべき範囲である第1設定範囲を決定し、第1設定範囲に基づき第1実行開始タイミングと第1実行周期を決定し、第2情報に基づき第2実行周期が限定されるべき範囲である第2設定範囲を決定し、第2設定範囲に基づき第2実行開始タイミングと第2実行周期を決定する。第1設定範囲は、第1機能が実行される周期の初期値である第1周期初期値と第1周期初期値から変更が許容される範囲である第1許容範囲とに基づき決定され、第2設定範囲は、第2機能が実行される周期の初期値である第2周期初期値と第2周期初期値から変更が許容される範囲である第2許容範囲とに基づき決定してもよい。なお、第1設定範囲と第2実行範囲とを「設定範囲」と称する場合がある。
【0077】
第1設定範囲は、第1実行周期が限定されるべき範囲である。第1設定範囲は、第1情報に基づき決定される。そして、第1設定範囲に基づき第1実行開始タイミングと第1実行周期とが決定される。これにより、第1設定範囲内であれば、第1実行開始タイミングと第1実行周期とを柔軟に決定することができる。第2設定範囲についても同様である。結果として、一度目の周辺監視機能が実行されるときに、車両情報収集機能の実行を重複させることができつつ、二度目以降についても周辺監視機能が実行されるときに、車両情報収集機能の実行させることができ、消費電力の抑制を図ることができる。
【0078】
図6は実行開始タイミングと実行周期とを決定するための条件の一例を示す図である。
図6に示すように、周辺監視機能の場合には、実行周期の初期値2ms、実行周期変更の許容範囲(初期値から変更が許容される範囲)±1msである。従って、周辺監視機能の設定範囲は1msから3msの範囲となり、1msから3msの範囲で実行周期を決定することが許容される。一方、車両情報収集機能の場合には、実行周期の初期値3ms、実行周期変更の許容範囲(初期値から変更が許容される範囲)±1msである。従って、車両情報収集機能の設定範囲は2msから4msの範囲となり、2msから4msの範囲で実行周期を決定することが許容される。この結果、周辺監視機能の許容範囲と、車両情報収集機能の許容範囲とは、2msから3msの範囲で重なることとなる。
【0079】
図10は、二つの機能が、同じ実行周期で時間的に同時に実行される動作を示す図である。
図10に示すように、実行周期を例えば3msにすることで、一度目に周辺監視機能が実行されるときに、車両情報収集機能の実行を重複させることができつつ、二度目以降についても周辺監視機能が実行されるときに、車両情報収集機能を実行させることをできる。
【0080】
しかしながら、実行周期2msから3msの範囲で合計消費電力が同じではない。たとえば、周辺監視機能と車両情報収集機能とを実行する例では、実行周期2msの場合には、合計消費電力は4.5Wである。
合計消費電力=(0.2X5+0.3X20+0.2X10)/2
=4.5W(ワット)
実行周期3msの場合には、合計消費電力は3.3Wである。
合計消費電力=(0.2X5+0.3X20+0.2X10)/3
=3.3W(ワット)
【0081】
このように、実行周期により、合計消費電力は変化する。このため、決定部52は重複する設定範囲のなかで合計消費電力が最小となる、実行周期及実行タイミングを決定する必要がある。合計消費電力が最小となる、実行周期及実行タイミングを決定するには、例えば、設定範囲の中で実行周期を順次変更し、さらに変更された実行周期の範囲で実行開始タイミングを順次変更し、各々合計消費電力を求め、最小の合計消費電力であった実行周期と実行開始タイミングの組み合わせを採用する。
なお、実行周期を決定する方法はこれに限られず、例えば最急降下法(gradient descent)など色々な方法を採用することができる。
【0082】
[1-8.スケジューリング装置の動作]
以下、実施形態1に係るスケジューリング装置の動作を説明する。スケジューリング装置は、例えば、新たな機能が車載システム1へ導入されたときに、その動作を開始する。また、新たなECUが車載システム1へ追加され、これに伴い新たな機能が車載システム1へ導入された場合にも、スケジューリング装置は、動作を開始する。あるいは、既存の機能がアップデートされた場合にも、スケジューリング装置は、動作を開始する。
【0083】
図11は、実施形態1に係るスケジューリング装置の動作の一例を示すフローチャートである。
【0084】
[1-8-1. ステップS01]
取得部51は、第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得する(ステップS001)。即ち、取得部51は、実行条件情報を取得する。
【0085】
実行条件情報は、例えばGW2のメモリ23の不揮発メモリに記憶されている。制御部22はメモリ23に記憶された実行条件情報を読み出し、実行条件情報を取得する。実行条件情報は、例えば機能を実行するECUが、機能毎に記憶してもよい。具体的には周辺監視機能の実行条件情報であれば画像ECUであるECU3aが記憶し、車両情報収集機能の実行条件情報であればGW2が記憶していてもよい。この場合には、取得部51は、周辺監視機能の実行条件情報をECU3aから取得し、車両情報収集機能の実行条件情報をGW2から取得する。実行条件情報は、車外のサーバが記憶してもよい。この場合には、取得部51は、通信ネットワークを介してサーバにアクセスして、必要な実行条件情報を取得する。スケジューリング装置がサーバとして実現されている場合には、通信ネットワークを介さずに、取得部51は直接自装置から実行条件情報を取得する。取得部51が実行条件情報を取得したのちステップS02へ進む。
【0086】
[1-8-2. ステップS02]
決定部52は、前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する(ステップS02)。
【0087】
具体的には、例えば、決定部52は設定範囲で、実行周期と実行開始タイミングとを走査し、最小の合計消費電力であった実行周期と実行開始タイミングとを採用し、決定する。決定部52が、実行開始タイミングと実行周期とを決定した後、スケジューリング装置は、その動作を終了する。
【0088】
図12は、実行開始タイミング、実行周期決定ルーチンの一例のフローチャートである。以下、
図12で示す実行開始タイミング、実行周期決定ルーチンについて説明する。
【0089】
[ステップS021]
実行開始タイミング、実行周期決定ルーチンでは、まず決定部52は、設定範囲の最小値に実行周期を設定し、メモリ23に記憶させ。記憶させ後、決定部52はステップS022へ進む。
【0090】
[ステップS022]
次に、決定部52は、開始タイミングに所定の値、例えば0を設定し、メモリ23へ記憶させる。記憶させたのち、決定部52はステップS023へ進む。
【0091】
[ステップS023]
次に、決定部52は、設定された実行周期と実行開始タイミングとに基づき、合計消費電力を求め、メモリ23へ記憶させる。記憶させたのち、決定部52はステップS024へ進む。
【0092】
[ステップS024]
次に、決定部52は、実行周期と実行開始タイミングとを所定の値だけ変更する。値の変更は、設定範囲及を網羅するように第1実行周期、第1実行開始タイミング、第2実行周期、第2実行開始タイミングのいずれか一つを、所定の値だけ変更する。所定の値は、例えば第1実行周期と第2実行周期との最大公約数である。第1実行周期が2ms、第2実行周期が3msの場合には、所定のステップ値は、1msである。所定のステップ値は、これに限定されず、例えばもっと短く例えば、0.1msであってもよい。1実行周期、第1実行開始タイミング、第2実行周期、第2実行開始タイミングを変更したのち、決定部52はステップS025へ進む。
【0093】
[ステップS025]
次に、決定部52は、変更された実行周期と実行開始タイミングとに基づき、合計消費電力を求める。合計消費電力を求めたのち、決定部52はステップS026へ進む。
【0094】
[ステップS026]
次に、決定部52は、メモリ23へ記憶されている合計消費電力と今回(ステップS025)求めた合計消費電力を比較する。メモリ23へ記憶されている合計消費電力より今回の合計消費電力が小さい場合(ステップS026のYES)には、決定部52はステップS027へ進む。一方、今回の合計消費電力がメモリ23へ記憶されている合計消費電力以上の場合(ステップS026のNO)には、決定部52はステップS028へ進む。
【0095】
[ステップS027]
次に、決定部52は、今回求めた(ステップS025で求めた)の合計消費電力と、その時の実行周期と実行開始タイミングとをメモリ23へ記憶させる。記憶させたのち、決定部52はステップS028へ進む。
【0096】
[ステップS028]
次に、決定部52は、実行周期と実行開始タイミングとが設定範囲を網羅したか否かを判定する。網羅していないと判定したときにはステップS024へ戻り、再び実行周期と実行開始タイミングとを変えながら合計消費電力を求める。一方、網羅していると判定したときには、決定部52は元のルーチンへ戻る。
【0097】
[1-9. まとめ]
決定部52が、ステップS021からS028を実行すると、決定部52は、設定範囲の中で、実行周期と実行開始タイミングとが第1設定範囲及び第2設定範囲を変更しながら、合計消費電力を求め、メモリ23へ記憶されている合計消費電力より小さい合計消費電力が登場する度に、当該合計消費電力及びその時の実行周期及び実行開始タイミングをメモリ23へ記憶させる。この結果ステップS021からS08まで実行が完了したときには、メモリ23には、最小の合計消費電力と当該合計消費電力に対応する実行開始タイミングと実行周期が記憶されることとなる。
【0098】
従って、スケジューリング装置がステップS01からステップS02を実行することで、スケジューリング装置は、合計消費電力が最小となる、第1実行開始タイミングと前記第1実行周期とを決定することができる。これにより、車載システム1へ機能が追加され、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができるスケジュールを決定することができる。
【0099】
なお、上記は、スケジューリング装置がGWにおいて実施される場合について説明した。しかしながらGWに限定されるものではなく、車外のサーバにおいて実施されてもよい。GWで実施する場合には、実行条件情報、決定された実行開始タイミング、と実行周期とを通信ネットワークを介して送受信する必要がなく短時間で実行開始タイミングと実行周期とを決定することができる。一方、車外のサーバで実施する場合には、実行開始タイミングと実行周期との決定を車外のサーバで行うため、GWのメモリ領域等の車両側ハードウェア資源を圧迫しない利点がある。なお、車外のサーバは、ソフトウェアが無線ネットワークを介して更新されるOTA(Over the Air)サーバであってよい。
【0100】
<実施形態2>
[2.本開示の実施形態2の詳細]
以下、図面を参照して、本開示の実施形態2の詳細を説明する。
実施形態2では、スケジューリング装置は、機能ブロックとして更に設定部を備えるが、他の部分は実施形態1と同じである。実施形態1と同一の構成には同一の符号を付し、同一の構成、機能、動作については説明を省略する。
【0101】
[2-1 スケジューリング装置の構成]
実施形態2のスケジューリング装置の構成は実施形態1と同じである。
【0102】
[2-2 本実施形態か解決しようとする課題]
実施形態2では、車載制御装置の消費電力の抑制を図ることができるスケジュールを、車載システム1に設定しようとするものである。
【0103】
[2-3 スケジューリング装置の機能]
図13は、実施形態2に係るスケジューリング装置の機能の一例を示す機能ブロック図である。実施形態2において、スケジューリング装置2は、機能ブロックとして更に設定部53を備える。
【0104】
[2-3-1 設定部]
設定部は、決定部により決定された前記第1実行開始タイミングと前記第1実行周期とを前記第1車載制御装置と前記第2車載制御装置とへ設定し、前記決定部により決定された前記第2実行開始タイミングと前記第2実行周期とを前記第1車載制御装置と前記第3車載制御装置とへ設定する。
【0105】
具体的には、決定部52が決定した第1実行開始タイミングと第1実行周期と第2実行開始タイミングと前記第2実行周期とは、例えばメモリ23へ記憶されている。設定部53は、メモリ23に記憶されている1実行開始タイミングと第1実行周期と第2実行開始タイミングと前記第2実行周期とを、通信I/F13a、13b、通信バス12a、12bを介して、フレームに第1実行開始タイミングと第1実行周期と第2実行開始タイミングと前記第2実行周期を示す情報を乗せて、当該機能を実行するECUへ送信する。送信されたフレームを受信したECUは、フレームに乗せてられた実行周期、実行開始タイミングを示す情報を取り出し、取り出した実行周期、実行開始タイミングに基づき、当該機能を実行する。
【0106】
当該機能が自装置で実行される場合には、自装置の所定の場所へ第1実行開始タイミングと第1実行周期と第2実行開始タイミングと前記第2実行周期を示す情報を設定する。設定された所定の場所へ第1実行開始タイミングと第1実行周期と第2実行開始タイミングと前記第2実行周期とに基づき、自装置は当該機能を実行する。これにより、設定部53は、車載制御装置へ実行周期、実行開始タイミングを設定することができる。
【0107】
[2-4 スケジューリング装置の動作]
図14は、実施形態2に係るスケジューリング装置の動作の一例を示すフローチャートである。以下、実施形態2に係るスケジューリング装置の動作を説明する。ステップS01からステップS02までの動作は、実施形態1と同じであるので説明を省略する。実施形態2は実施形態1とはステップS03において設定部53が実行周期、実行開始タイミングをECUへ設定することが異なる。決定部52が、第1実行開始タイミングと第1実行周期と第2実行開始タイミングと前記第2実行周期を決定した後、スケジューリング装置はステップS03へ進む。
【0108】
[2-4-1. ステップS03]
設定部53は、決定部52により決定された第1実行開始タイミングと第1実行周期とを第1車載制御装置と第2車載制御装置とへ設定し、決定部により決定された第2実行開始タイミングと第2実行周期とを第1車載制御装置と第3車載制御装置とへ設定する。
【0109】
具体的には、設定部53は、メモリ23に記憶されている1実行開始タイミングと第1実行周期と第2実行開始タイミングと前記第2実行周期とを、通信I/F13a、13b、通信バス12a、12bを介して、実行開始タイミングと実行周期とを示す情報をフレームに乗せて、当該機能を実行するECUへ送信する。当該機能が自装置で実行される場合には、自装置の所定の場所へ実行開始タイミングと実行周期とを示す情報を設定する。
【0110】
周辺監視機能と車両情報収集機能の場合には、設定部53は、GW2とECU3aとへ第1実行周期、第1実行開始タイミングを設定し、GW2とECU3bとへ第2実行開始タイミングと第2実行周期とを設定する。ECU3aは設定された第1実行開始タイミングと第1実行周期とに基づいて、周辺監視機能を実行する。ECU3bは設定された第2実行開始タイミングと第2実行周期とに基づいて、車両情報収集機能を実行する。GW2は第1実行開始タイミングと第1実行周期とに基づいて、周辺監視機能を実行すると同時に、第2実行開始タイミングと第2実行周期とに基づいて、車両情報収集機能を実行する。設定部53が、GW2とECU3aとECU3bとへ実行周期、実行開始タイミングを設定した後、スケジューリング装置は、その動作を終了する。
【0111】
[2-4-2. まとめ]
決定部52によって、合計消費電力が最小となるように決定されている第1実行開始タイミングと第1実行周期と第2実行開始タイミングと第2実行周期とに基づいて、GW2とECU3aとECU3bとは当該機能を実行する。これにより、車載システム1へ機能が追加され、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができる。
【0112】
<実施形態3>
[3.本開示の実施形態3の詳細]
以下、図面を参照して、本開示の実施形態3の詳細を説明する。
実施形態3のスケジューリング装置は、実施形態1と同じ機能ブロック有する。但し、決定部52の機能、動作が一部異なる。実施形態1と同一の構成には同一の符号を付し、同一の構成、機能、動作については説明を省略する。
【0113】
[3-1 スケジューリング装置の構成]
実施形態3のスケジューリング装置の構成は実施形態1と同じである。
【0114】
[3-2 本実施形態か解決しようとする課題]
例えば、第1機能の優先度が高く他の機能と並列に実行されないようにする必要がある場合がある。また、第1の機能の実行完了後に、第1の機能の結果を受けて、第2の機能が実行を開始する必要がある場合がある。このような場合に、合計消費電力が最小となるからといって、第1機能と第2機能とを同時に重複して実行させることができない。実施形態3では、このような制限条件がある場合であっても、車載制御装置の消費電力の抑制を図ろうとするものである。
【0115】
[3-3 スケジューリング装置の機能]
実施形態3に係るスケジューリング装置の機能ブロックは、
図5に示す実施形態1の機能ブロックと同じである。一方、決定部52の機能の一部が異なる。
【0116】
[3-3-1 決定部]
前記第1情報は、前記第1機能の実行が制限される制限条件を示す情報を含み、前記決定部は、前記制限条件を回避して、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する。制限条件は、前記第1機能と前記第2機能とが時間的に重複して実行することを制限するという条件を含んでもよい。また前記制限条件は、前記第1機能が使用するハードウェア資源の制限に関する条件、または前記第2機能が使用するハードウェア資源の制限に関する条件の少なくとも一方を含んでもよい。
【0117】
図15は、制限情報を含む実行条件情報の一例を示す図である。
図6と異なり、前記第1機能と前記第2機能とが時間的に重複して実行することを制限するという条件を含んでいる。具体的には、第1機能に並列動作不可という制限条件が追加されている。また、第3機能が追加されているが、これには第2機能完了後に実行という制限条件が付いている。
【0118】
並列動作不可という制限条件は、遅延が許されない等の理由から、第1機能の優先度が高く他の機能と並列に実行されないような場合に設定される。この場合には、第2機能は、第1機能の実行後に実行を開始する、あるいは第1機能の実行前に第2機能の実行が終了するように、第2機能の実行開始タイミングを決定する必要がある。
【0119】
また、並列動作不可という制限条件は、第1機能が使用するハードウェア資源の制限に関する条件、または第2機能が使用するハードウェア資源の制限に関する条件の少なくとも一方であってもよい。例えば、非常に重い処理を行う場合には、ECUのCPUの処理能力をすべて使う、あるいはメモリを9割以上使うといった状況が考えられ、この場合には他の機能を実行が制限される。また、大量の画像データを、通信バスを介して送受信するような機能の場合にも、通信バスの通信容量を使い果たし、当該通信バスにおいてさらにデータを送受信することが難しくなり、他の機能の実行が制限される。
【0120】
第2機能完了後に実行という制限条件は、第2の機能の実行完了後に、第2の機能の結果を受けて、第3の機能が実行を開始する必要があるような場合に設定される。例えば、第2機能がバッテリ電圧、油温等の車両各部の情報を収集し、第2機能が収集した車両各部の情報に基づいて、第3機能が車両の自己診断を実行する場合である。この場合には第2機能の実行が終了した後に、第3機能の実行が開始されるように第3機能の実行開始タイミングを決定する必要がある。
【0121】
実施形態1では、設定範囲で、実行開始タイミングと実行周期とを変えながら、順次合計消費電力を計算し、決定部52は、合計消費電力が最小となる設定範囲で、実行開始タイミングと実行周期を決定していた。実施形態3では、並列動作不可、第2機能完了後に実行といった制限条件を回避するために、決定部52は、設定範囲で、実行開始タイミングと実行周期とを変えるにあたり、当該実行開始タイミングと実行周期とが制限条件に該当するか否かを判定する。制限条件に該当する場合には、当該実行開始タイミングと実行周期とを捨てることで、制限条件を回避する。そして次の候補へ進むために、実行開始タイミングと実行周期とを変更する。一方、制限条件に該当しない場合には、決定部52は、合計消費電力を求める以降の動作を続ける。
【0122】
図16は、第1機能から第3機能の実行の順番を示す一例の図である。
図16は、第2機能と第3機能とが追加され、本開示のスケジューリング装置が動作を始める前の状態である。
図16の状態では、第1機能に、並列動作不可という制限条件が付いているにも関わらず、第1機能の実行と第2機能の実行とが重複している。また第3機能に、第2機能完了後に実行という制限条件が付いているにも関わらず、第2機能が実行される前に、第3機能が実行されている。
【0123】
図17は、第1機能から第3機能の実行の順番を示す一例の図である。
図17は、第2機能と第3機能とが追加され、本開示のスケジューリング装置の動作が終了した後の状態である。決定部52は、制限条件を回避ながら、各機能の実行開始タイミングと実行周期を決定する。結果として、第2機能の実行開始タイミングを第1機能終了後に、実行周期を3msに決定し、第3機能の実行開始タイミングを第2機能終了後に、実行周期を3msに決定する。これにより第1機能の並列動作不可という制限条件及び第3機能の第2機能完了後に実行という制限条件を回避することができる。
【0124】
[3-4 スケジューリング装置の動作]
図18は、実施形態3に係るスケジューリング装置の動作の一例を示すフローチャートである。以下、実施形態3に係るスケジューリング装置の動作を説明する。ステップS021からステップS028までの動作は、実施形態1と同じであるので説明を省略する。実施形態1とは異なり、実施形態3はステップS024で変更した実行開始タイミングと実行周期とが制限条件に該当するか否かを判定(ステップS029)する点が異なる。決定部52は、実行開始タイミングと実行周期とを所定値分変更した後、ステップS029へ進む。
【0125】
[3-4-1. ステップS029]
ステップS024で変更された、実行開始タイミングと実行周期とが制限条件に該当するか否かを判定する(ステップS029)。例えば第2機能の実行開始タイミングを決定する場合を考える。
図15に示すように、第1機能の実行継続時間は、0.2msである。実行継続時間は、
図15に示す実行条件情報を参照することにより取得することができる。実行条件情報が実行継続時間を示す情報を持っていることにより、並列動作不可という制限条件がある場合でも、第1機能が終了した後、直ちに第2機能の実行が開始できる実行開始タイミングが設定できる。これにより、第1機能と第2機能が同じECUによって実行される場合には、当該ECUは、第1機能が終了した後スリープ、ウェイクアップを経ることなく引き続き第2機能を実行することができる。この結果、処理時間、消費電力の低減を図ることができる。
【0126】
決定部52は、例えば、周辺監視機能に並列動作不可という制限情報が付されているので、車両情報収取機能の実行開始タイミングが、周辺監視機能の実行の開始から0.2msの期間の範囲に入っていれば、制限条件に該当すると判定し(ステップS029のYES)、ステップS028へ進む。ステップS028へ進んだ決定部52は、合計消費電力を許容範囲内ですべて計算されたか否かを判定される。ステップS027が実行されることはないので、当該実行開始タイミングと実行周期とがメモリ23へ記憶されることはなく、最小の合計消費電力である実行開始タイミングと実行周期とであるとして決定されることはない。
【0127】
一方、第2機能の実行開始タイミングが、第1機能の実行の開始から0.2msの期間の以降、第1機能の終了後、例えば0.3msである場合には、制限条件に該当しないと判定し(ステップS029のNO)ステップS025へ進む。ステップS025へ進んだ決定部52は、合計消費電力を求める。
【0128】
[3-4-2. まとめ]
これにより、決定部52は、制限条件を回避し、合計消費電力が最小となる実行開始タイミングと実行周期とを決定する。この結果、制限条件がある場合であっても、車載制御装置の消費電力の抑制を図ることができる。
【0129】
[4. 変形例]
上記ではスケジューリング装置がパーシャルネットワーク機能の下で動作する場合について説明した。本開示に係るスケジューリング装置は、パーシャルネットワークク機能を必ずしも必要としない。以下パーシャルネットワーク機能によらない場合のGW2、ECU3の動作モード及びウェイクアップについて説明する。
【0130】
この場合であっても、GW2、ECU3の動作モードには、通常モード及びスリープモードが含まれる。通常モードは、GW2、ECU3が稼働している状態であり、制御対象を制御し、自装置以外のGW2、ECU3と通信することが可能である。スリープモードは、通信I/F11a、11b、13a、13bの一部の機能を除いてGW2,ECU3が停止した状態である。
【0131】
ECUをウェイクアップさせる場合、ウェイクアップ対象のECUを指定した情報を含むフレームが通信バス12a、12b上へ送信される。ウェイクアップの要求、すなわち、ウェイクアップ対象のECUを指定した情報を含むフレームは、例えば、ECU3aによって送信される。ECU3aは、例えば、ECU3aによって実行される周辺監視機能がECU3aとGW2とによって実行されることを示す情報を記憶するように構成されている。ECU3aは、当該情報に基づき、対象ECUであるGW2宛てであることを示す情報を含んだフレームをGW2へ送信する。フレームの送信元は、ECU3aに限られず、GW2、ECU3bがフレームを送信してもよい。
【0132】
スリープモードにあるGW2の通信I/F11a、11b、ECU3の通信I/F13a、13bは、フレームを受信し、当該フレームにおいて自装置が指定されているか否かを判断するように構成されている。自装置が指定されていない場合、GW2、ECU3はそのままスリープモードを維持する。自装置が指定されている場合、通信I/F11a、11b、13a、13bは制御部(プロセッサ)に割り込みをかけ、スリープモードから通常モードへの切り替えを指示する。これにより、指定されたGW2、ECU3がウェイクアップする。
【0133】
一方、GW2、ECU3は、自装置に係る機能の実行が終了すると通常モードからスリープモードへ移行する。即ちフレームを受信し、スリープモードから通常モードへ移行したGW2、ECU3は、一連の処理が終了した後には、スリープモードへ移行するように構成される。従ってGW2、ECU3は、フレームが受信されなくなるとスリープモードへ移行し、スリープモードを維持することとなる。GW2、ECU3は、一連の処理が終了した後、所定期間経過後にスリープモードへ移行するように構成してもよい。
【0134】
GW2、ECU3は、スリープモードへ移行するにはフレームが受信されなくなる場合に限定されない。例えば、ECU3は、スリープモードへ移行することを指示する命令を含むフレームを受信した場合に、スリープモードへ移行するように構成してもよい。
【0135】
スリープモードから通常モードへ移行すると、GW2とECU3とは所定のクロックで動作する。スリープモードでは、クロックが止まり、GW2とECU3とは停止する。従って、通常モードでは、GW2、ECU3による消費電力は大きい。一方、スリープモードでは、GW2、ECU3による消費電力は小さい。
【0136】
以上により、フレーム送受信により、ECUはウェイクアップし、スリープモードへ移行する。そして、かかる動作をするECUによっても、本開示のスケジューリング装置を実施することができる。
【0137】
[5-1. 補記1]
なお、本開示は、次の車載システムを含む。
通信バスを介して相互に通信可能な複数の車載制御装置が実行する機能をスケジューリングするスケジューリング装置と、前記通信バスに接続された前記車載制御装置と、を備える車載システムであって、前記スケジューリング装置は、第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得する取得部と、前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する決定部と、を備える。これにより、当該車載システムにおいて、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができる。
【0138】
[5-2. 補記2]
なお、本開示は、次の車両を含む。
通信バスを介して相互に通信可能な複数の車載制御装置が実行する機能をスケジューリングするスケジューリング装置と、前記通信バスに接続された前記車載制御装置と、を備える車両であって、前記スケジューリング装置は、第1車載制御装置と第2車載制御装置とにより実行される第1機能が開始されるタイミングである第1実行開始タイミングと前記第1機能が実行される周期である第1実行周期とを決定するための第1情報と、前記第1車載制御装置と第3車載制御装置とにより実行される第2機能が開始されるタイミングである第2実行開始タイミングと前記第2機能が実行される周期である第2実行周期を決定するための第2情報とを取得する取得部と、前記第1情報及び前記第2情報に基づき、前記1車載制御装置と前記第2車載制御装置と前記第3車載制御装置との合計消費電力が最小となる、前記第1実行開始タイミングと前記第1実行周期と前記第2実行開始タイミングと前記第2実行周期とを決定する決定部と、を備える。これにより、当該車両において、並行して実行される機能が多くなっても、車載制御装置の消費電力の抑制を図ることができる。
【0139】
[5-3. 補記3]
今回開示された実施の形態はすべての点で例示であって、制限的ではない。本発明の権利範囲は、上述の実施形態ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味及びその範囲内でのすべての変更が含まれる。
【符号の説明】
【0140】
1 車載システム
2 GW(スケジューリング装置)
3、3a、3b ECU(車載制御装置)
11a、11b 通信I/F(通信インタフェース)
12a、12b 通信バス
13a、13b 通信I/F(通信インタフェース)
21 MCU(マイクロコントローラーユニット)
22 制御部
23 メモリ
24 内部バス
31 MCU(マイクロコントローラーユニット)
32 制御部(プロセッサ)
33 メモリ
34 周辺回路
41 クラスタテーブル
51 取得部
52 決定部
53 設定部