JP2012185541A - 車載装置、スケジューリングプログラム、及びスケジューリング方法 - Google Patents

車載装置、スケジューリングプログラム、及びスケジューリング方法 Download PDF

Info

Publication number
JP2012185541A
JP2012185541A JP2011046452A JP2011046452A JP2012185541A JP 2012185541 A JP2012185541 A JP 2012185541A JP 2011046452 A JP2011046452 A JP 2011046452A JP 2011046452 A JP2011046452 A JP 2011046452A JP 2012185541 A JP2012185541 A JP 2012185541A
Authority
JP
Japan
Prior art keywords
state
task
vehicle
tasks
vehicle device
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.)
Pending
Application number
JP2011046452A
Other languages
English (en)
Inventor
Takahiro Shidai
尊裕 司代
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2011046452A priority Critical patent/JP2012185541A/ja
Publication of JP2012185541A publication Critical patent/JP2012185541A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hybrid Electric Vehicles (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

【課題】CPUを効率良く使用しつつ、タスクのスケジューリングを行うことができる車載装置等を提供する。
【解決手段】ECU100の制御プログラム1は、エンジン等を制御するA,Bタスク21,22と、パワーウインドウ等を制御するCタスク31とを有している。また、周期的なタイミングを生成すると共に各周期をタイムスライス(TS)とし、各TSでは、各タスクには、個別に設定された1TS内動作時間にわたり実行権が付与される。そして、ECU100は、IGスイッチの操作に基づく運転状態として、ACC OFF状態,ACC ON状態,IG ON直後状態,IG ON定常状態,IG OFF直後状態の5つを有し、運転状態に応じて各タスクの1TS内動作時間等を変更することで、各状態において処理負荷が高いと予測されるタスクが動作する頻度を高くする。
【選択図】図1

Description

本発明は、タスクのスケジューリングを行う車載装置等に関する。
車両には、エンジンやブレーキ等の制御を行う制御系ECUや、メータやパワーウインドウ等の制御を行うボデー系ECUや、ナビゲーション装置等の情報系ECU等といった異なる種類のECUが搭載されている。近年では、車両の高機能化に伴いこれらのECUの数が増加し、車両の開発コストや製造コストが増加しているため、複数のECUを一台に統合し、制御系,ボデー系,情報系といった異なる種類の機能を一台のECUで実現することが提案されている。しかしながら、ECUのプログラムにはリアルタイム性が要求されており、特に制御系の機能に関しては、リアルタイム性が損なわれることで安全上の問題が生じる危険性があるため、他の機能に比べてより厳しい時間的制約が課せられる。
ここで、特許文献1には、CPUの動作時間を均等に分割して一つに連なったタイムスライスを生成し、これらのタイムスライスを各プロセスに静的に割り当てるスケジューリング方法について記載されている。このようなスケジューリング方法によれば、各プロセスに割り当てられるCPUの動作時間が保証されるため、動画配信処理等といった時間的制約が課せられた複数の処理を並行して行う場合であっても、各処理のサービス品質を保証することが可能となる。そして、該スケジューリング方法を異なる種類の機能を備える上述のECUに適用することで、各機能に対応するタスクの動作時間を保証することができ、制御系の機能における厳しい時間的制約を満たすことができると考えられる。
特開平11−293694号公報
ところで、制御系の機能は、エンジンの稼動状況等に応じて処理負荷が大きく変動すると考えられ、該機能のリアルタイム性を保証するためには、処理負荷が最大となる場合を想定して対応するタスクに動作時間を割り当てる必要がある。これにより、エンジンを安全に制御することが可能となるが、その反面、処理負荷が低い場合には該タスクに過剰に動作時間が割り当てられてしまい、CPUの使用効率が悪化してしまう。
本願発明は上記課題に鑑みてなされたものであり、CPUを効率良く使用しつつ、タスクのスケジューリングを行うことができる車載装置を提供することを目的とする。
上記課題に鑑みてなされた請求項1に記載の車載装置は、複数のタスクに対して順次実行権を付与することで、これらのタスクを並行して動作させるよう構成されており、自車両の状態を判別する判別手段と、判別手段により判別された自車両の状態に応じて、それぞれのタスクを動作させる頻度を変更する変更手段と、を備えることを特徴とする。
このような車載装置によれば、自車両の状態毎に各タスクの処理負荷を予め測定し、各状態において、処理負荷が高くなるタスクが動作する頻度を上げると共に、処理負荷が低くなるタスクが動作する頻度を下げることができる。このため、CPUを効率良く使用しつつ、タスクのスケジューリングを行うことが可能となる。そして、これにより、CPUの性能を下げても十分なパフォーマンスを得ることができ、車載装置のコストを低減させることが可能となる。
なお、自車両のエンジンの稼動状態に応じて、エンジンやブレーキ等を制御するタスクの処理負荷が大きく変動することが考えられる。
そこで、請求項2に記載の車載装置では、車両の状態を、イグニッションスイッチやスタータスイッチ等といった、自車両の運転を開始させるためのスイッチの操作に基づく状態としている。
また、エンジンとモータとから駆動力を得るハイブリット車においては、該エンジンやモータの稼動状態に応じて、これらに関連するタスクの処理負荷が大きく変動することが考えられる。
そこで、請求項3に記載の車載装置では、自車両が、駆動力を得るためのエンジンとモータとが搭載されたハイブリッド車として構成されている場合において、自車両の状態を、エンジン及びモータの稼動状態に基づく状態としている。
このような状態に応じて各タスクが動作する頻度を変更することで、CPUを効率良く使用することが可能となる。
また、車載装置は、次のようにして各タスクが動作する頻度を変更しても良い。
すなわち、請求項4に記載されているように、車載装置は、周期的に到来するタイミングを生成して基準サイクルとし、該基準サイクルの1周期であるタイムスライスにおいてタスクに順次実行権を付与すると共に、タスクに対し、それぞれ、各タイムスライスにおいて実行権が付与される時間である1周期内動作時間と、各タイムスライスにおいて実行権が付与される順番である優先順位を設定しても良い。そして、変更手段は、1周期内動作時間と優先順位とのうちの少なくとも一つを変更することで、それぞれのタスクを動作させる頻度を変更しても良い。
また、請求項5に記載されているように、それぞれのタスクには、単位時間あたりに実行権が付与される時間である動作時間が設定されている場合であれば、変更手段は、タスクに設定されている動作時間を変更することで、それぞれのタスクを動作させる頻度を変更しても良い。
このような構成によれば、車両の状態に応じて各タスクが動作する頻度を柔軟に変更することができる。
また、仮想化技術により既存の車載装置のコンピュータを仮想化すると共に、仮想化されたコンピュータ上で該車載装置に搭載されているOSやアプリケーションを動作させることで、該車載装置を容易に再現できることが知られている。そして、仮想化技術により、既存の車載装置を再現するプログラムである仮想マシンを複数作成すると共に、これらの仮想マシンを1台の車載装置で稼動させることで、複数の車載装置を1台に統合することが提案されている。また、このようにして1台の車載装置で複数の仮想マシンを稼動させる場合には、各仮想マシンをタスクとしてスケジューリングを行うことが考えられる。
そこで、請求項6に記載の車載装置は、タスクは、ある装置において実現される機能を再現するためのプログラムである仮想マシンとして構成されている。
こうすることにより、例えば、1台の車載装置で複数の仮想マシンを並行して稼動させる場合において、CPUを効率良く使用することが可能となる。
なお、請求項7には、請求項1に記載の車載装置におけるタスクのスケジューリングを行うスケジューリングプログラムが記載されている。このようなスケジューリングプログラムによれば、CPUを効率良く使用することが可能となる。
また、請求項8には、請求項1に記載の車載装置におけるタスクのスケジューリング方法が記載されている。このような方法によれば、CPUを効率良く使用することが可能となる。
第一実施形態のECUと制御プログラムの構成を示すブロック図である。 第一実施形態における運転状態についての状態遷移図と、各運転状態に対応するスケジュールテーブルを示す表である。 第一実施形態において、運転状態に応じて各タスクの動作時間が変化することを示すタイミングチャートである。 第一実施形態における状態変化検知処理についてのフローチャートと、テーブル切替処理についてのフローチャートである。 第二実施形態のECUと制御プログラムの構成を示すブロック図である。 第二実施形態における各運転状態に対応するスケジュールテーブルを示す表である。 第二実施形態において、運転状態に応じて各VMの動作時間が変化することを示すタイミングチャートである。 第三実施形態におけるハイブリッド車のエンジン,モータの駆動状態についての状態遷移図である。
以下、本発明の実施形態について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
[第一実施形態]
[構成の説明]
まず、第一実施形態について説明する。
第一実施形態のECU100は、エンジンにより駆動される車両に搭載されており、エンジン,ABS機能を有するブレーキ,エアバック等を制御する制御系の機能と、メータ,エアコン,キーレスエントリーシステム等を制御するボデー系の機能を有している。また、ECU100は、これらの機能以外にも、オーディオとしての機能やナビゲーション機能等といった情報系の機能を有していても良い。
なお、これらの機能はいずれもリアルタイム性が要求されるが、制御系の機能に関しては、リアルタイム性が損なわれることで安全上の問題が生じるおそれがあるため、これらの機能の中で最もハードなリアルタイム性が要求される(換言すれば、制御系の機能には、最も厳しい時間的制約が課される)。また、ボデー系の機能に関しては、リアルタイム性が損なわれることで利便性や快適性等が悪化し、自車両の運転が困難となるおそれがあるが、情報系の機能に関しては、リアルタイム性が損なわれても利便性や娯楽性等が低下するといった程度であり、ボデー系の機能は、情報系の機能に比べより高いリアルタイム性が要求される。
図1には、上記ECU100の概略構成と、ECU100を制御する制御プログラム1の構成を示すブロック図が記載されている。
ECU100は、IG端子,ACC端子,+B端子の三つの電源端子を有しており、電源管理ECU200は、自車両のイグニッションスイッチ(IGスイッチ)の操作状態に応じて異なる電源端子からECU100に電力を供給する。また、ECU100は、制御プログラム1を実行するCPU110と、各種機能を実現するための物理デバイス120とを有しており、制御プログラム1は、物理デバイス120における、フラッシュメモリ等の記憶保持動作が不要なデバイスから構成された記憶部(図示なし)に記憶されている。
そして、制御プログラム1は、制御系の機能を実現するための制御系アプリ20と、ボデー系の機能を実現するためのボデー系アプリ30と、これらのアプリケーションを動作させるOS10とを有している。このOS10は、リアルタイムOSとして構成されており、制御系アプリ20を構成するAタスク21,Bタスク22や、ボデー系アプリ30を構成するCタスク31のスケジューリングを行うスケジューリング部11と、物理デバイス120からの信号を各アプリケーションに通知すると共に、各アプリケーションからの指示に応じて物理デバイス120を制御するデバイス制御部12とを有している。また、スケジューリング部11は、各タスクに実行権が付与される時間(動作時間)や、各タスクの優先順位を設定するスケジューラ設定部11aと、設定された動作時間や優先順位に従い各タスクに実行権を付与することで、これらのタスクを並行して動作させるスケジューラ実行部11bとを有している。
[動作の説明]
次に、第一実施形態の制御プログラム1の動作について説明する。
(1)IGスイッチの操作状態について
既に述べたように、電源管理ECU200は、IGスイッチの操作状態に応じて異なる電源端子からECU100に電力を供給するが、ECU100は、IGスイッチの操作に基づく(換言すれば、電力供給に用いられる電源端子に基づく)以下の運転状態を有する。
すなわち、図2(a)に記載されているように、運転状態として、IGスイッチがOFFに設定されたACC OFF状態(+B端子のみから電力が供給される)と、IGスイッチがACCに設定されたACC ON状態,IG OFF直後状態(+B端子とACC端子とから電力が供給される)と、IGスイッチがON或いはSTARTに設定されたIG ON直後状態,IG ON定常状態(+B端子、ACC端子、及びIG端子から電力が供給される)とが設けられている。
そして、運転状態がACC OFF状態である場合にIGスイッチがACCに設定されると(ACC ON)、運転状態はACC ON状態となる。
また、運転状態がACC ON状態である場合においては、IGスイッチがON或いはSTARTに設定されると(IG ON)、運転状態はIG ON直後状態となり、IGスイッチがOFFに設定されると(ACC OFF)、運転状態はACC OFF状態となる。
また、運転状態がIG ON直後状態である場合においては、当該状態となった後、予め定められた初期時間(例えば100ms)が経過すると、運転状態はIG ON定常状態となると共に、IGスイッチがACCに設定されると(IG OFF)、運転状態はIG OFF直後状態となる。
また、運転状態がIG ON定常状態である場合においては、IGスイッチがACCに設定されると(IG OFF)、運転状態はIG OFF直後状態となる。
また、運転状態がIG OFF直後状態である場合においては、当該状態となった後、予め定められた終了時間(例えば100ms)が経過すると、運転状態はACC ON状態となると共に、IGスイッチがON或いはSTARTに設定されると(IG ON)、運転状態はIG ON直後状態となる。
(2)スケジューリングについて
次に、ECU100に搭載されている制御プログラム1のスケジューリング部11にて行われる、各アプリケーションを構成するタスクのスケジューリングについて説明する。
既に述べたように、制御系アプリ20,ボデー系アプリ30にはリアルタイム性が要求されており、これらのタスクには所定周期毎に割り当てられる動作時間を保証する必要がある。
このため、スケジューリング部11は、周期的に到来するタイミングを生成して基準サイクルとすると共に、該基準サイクルの1周期をタイムスライス(TS(Time Sliceの略)とも記載)とし、さらに、各タスクについて、TSにおける動作時間である1周期内動作時間と、実行権が付与される順番である優先順位とを設定する。そして、各TSにおいて、優先順位に沿った順番で各タスクに実行権を付与すると共に、各タスクの動作時間(実行権が付与される時間)を、各自に設定された1周期内動作時間とすることで、リアルタイム性を保証した状態で各アプリケーションを動作させる。なお、このようなスケジューリング方法を、Definite Scheduling(DSとも記載)と記載する。
また、IGスイッチがOFF或いはACCに設定されるACC OFF状態,ACC ON状態,IG OFF直後状態においては、エンジンが停止するため、制御系アプリの処理負荷が低下する。このため、スケジューリング部11は、運転状態に応じて各アプリケーションを構成するタスクの動作時間を変更するよう構成されている。
すなわち、図2(b)に記載されているように、スケジューリング部11では、運転状態に応じて異なる長さのTSが設定されていると共に、A〜Cタスクの1TS内動作時間,優先順位が設定されたスケジューリングテーブルが、運転状態毎に個別に設けられている。
各スケジュールテーブルでは、対応する運転状態において予測される処理負荷に基づき各タスクの優先順位,1TS内動作時間が設定されている。具体的には、エンジンが稼動しているIG ON直後状態,IG ON定常状態や、IG OFFがなされた直後の状態であり、エンジンを停止させるための各種処理が行われるIG OFF直後状態では、制御系アプリ20を構成するA,Bタスクは、ボデー系アプリ30を構成するCタスクよりも、1TS内動作時間が長く設定されると共に、優先順位が高く設定される。一方、エンジンが停止した後、終了時間が経過したACC ON状態,ACC OFF状態では、A,Bタスクは、Cタスクよりも1TS内動作時間が短く設定されると共に、優先順位が低く設定される。
そして、スケジューリング部11は、運転状態に応じてTSを切り替えると共に、運転状態に対応するスケジューリングテーブルを選択し、選択したスケジューリングテーブルに従いA〜Cタスクに実行権を付与する。
また、図3には、運転状態の変化により各タスクの動作時間が変化する様子を示すタイミングチャートが記載されている。該タイミングチャートが示すように、運転状態がACC ON状態である場合には、スケジューリング部11のスケジューラ設定部11aは、TSを5msとすると共に、ACC ON状態に対応するスケジューリングテーブル(図2(b−2))を選択する。そして、スケジューラ実行部11bは、選択されたスケジューリングテーブルに従い、各TSにおいて、Cタスク31,Aタスク21,Bタスク22の順に、それぞれ、3ms,0.5ms,0.5msの動作時間を割り当てる。
そして、IGスイッチの操作により運転状態がIG ON直後状態となると、スケジューラ設定部11aは、TSを1msとすると共に、IG ON直後状態に対応するスケジューリングテーブル(図2(b−4))を選択する。そして、スケジューラ実行部11bは、選択されたスケジューリングテーブルに従い、各TSにおいて、Aタスク21,Bタスク22,Cタスク31の順に、それぞれ、0.4ms,0.4ms,0.1msの動作時間を割り当てる。
その後、初期時間が経過し、運転状態がIG ON定常状態となると、スケジューラ設定部11aは、TSを1msのまま維持し、IG ON定常状態に対応するスケジューリングテーブル(図2(b−5))を選択する。そして、スケジューラ実行部11bは、選択されたスケジューリングテーブルに従い、各TSにおいて、Aタスク21,Bタスク22,Cタスク31の順に、それぞれ、0.4ms,0.2ms,0.1msの動作時間を割り当てる。
(3)各タスクの動作時間の変更について
次に、運転状態に応じて各タスクに割り当てられる動作時間を変更する処理について、詳細に説明する。なお、以下の説明では、制御プログラム1を構成する部位が処理を行うといった記載がなされているが、これは、該部位に従い動作するCPU110により処理が行われるということを意味する。
(3−1)状態変化検知処理について
まず、運転状態の変化を検知する状態変化検知処理について、図4(a)に記載のフローチャートを用いて説明する。なお、本処理は、制御プログラム1のスケジューリング部11のスケジューラ設定部11aにて定期的に実行される処理である。
S305では、スケジューラ設定部11aは、デバイス制御部12を介して検出した各電源端子の電圧値に基づき現在の運転状態を判別すると共に、運転状態の変化を検知する。そして、運転状態が変化した場合には(S305:Yes)、S310に処理を移行し、運転状態が変化していない場合には(S305:No)、本処理を終了する。
S310では、スケジューラ設定部11aは、スケジュールテーブル変更フラグをONし、S315に処理を移行する。
S315では、スケジューラ設定部11aは、現在の運転状態を記憶し、本処理を終了する。
(3−2)テーブル切替処理について
次に、運転状態の変化に応じてTSやスケジュールテーブルを切り替えるテーブル切替処理について、図4(b)に記載のフローチャートを用いて説明する。なお、本処理は、スケジューラ設定部11aにて定期的に実行される処理である。
S405では、スケジューラ設定部11aは、スケジュールテーブル変更フラグがONか否かを判定し、肯定判定が得られた場合には(S405:Yes)、S410に処理を移行すると共に、否定判定が得られた場合には(S405:No)、本処理を終了する。
S410では、スケジューラ設定部11aは、現在の運転状態に応じてTSとスケジュールテーブルとを設定し、S415に処理を移行する。
S415では、スケジューラ設定部11aは、スケジュールテーブル変更フラグをクリアし、本処理を終了する。
[第二実施形態]
[構成の説明]
第二実施形態においても、ECUは、第一実施形態と同様の制御系の機能とボデー系の機能を有するが、制御プログラムの構成が異なっており、第二実施形態では、各機能が仮想マシン(VM(Virtual Machineの略)とも記載)により実現される。
ここで、VMについて説明する。VMとは、所定の装置において実現される機能の全部または一部を再現するためのプログラムであり、該装置に搭載されているプログラムの全部または一部をバイナリコードの状態で移植したプログラムや、後述する仮想CPU等から構成される。第二実施形態の制御プログラムは、制御系のECUを仮想化した第一VMと、ボデー系のECUを仮想化した第二VMとを有しており、これらのVMを並行して動作させることにより、制御系のECUとボデー系のECUにおいて実現されていた機能を、一つのECUにおいて同時に実現させる。
図5には、第二実施形態におけるECU100の概略構成と、ECU100を制御する制御プログラム500の構成を示すブロック図が記載されている。
ECU100は、第一実施形態と同様に構成されている。
また、第二実施形態の制御プログラム500は、上述の第一VM520,第二VM530と、これらのVMを動作させるVM制御管理部510とを有している。
まず、第一,第二VMについて説明する。
第一VM520は、制御系のECUで稼動していたプログラムをバイナリコードの状態で移植したものであるエンジン制御系アプリ521,OS522と、これらをエミュレートするプログラムであり、いわゆる仮想化されたハードウェアに相当する仮想デバイス523,仮想CPU524を有している。また、エンジン制御系アプリ521は、Aタスク521aやBタスク521b等から構成されている。
OS522は、Aタスク521a,Bタスク521b等のスケジューリングを行う周知のOSであり、リアルタイムOSとして構成されている。
また、仮想CPU524は、エンジン制御系アプリ521やOS522のバイナリコードを解析して実行するプログラムとして構成されている。
また、仮想デバイス523は、エンジン制御系アプリ521,OS522と、ECU100の物理デバイス120との間のI/Fとなるプログラムであり、エンジン制御系アプリ521,OS522は、仮想デバイス523にアクセスすることで物理デバイス120を制御する。
また、第二VM530についても、ボデー系のECUで稼動していたプログラムをバイナリコードの状態で移植したものであるボデー系アプリ531,OS532と、第一VM520と同様の仮想デバイス523,仮想CPU524を有している。また、ボデー系アプリ531は、Cタスク531a等から構成されている。
次に、VM制御管理部510について説明する。
VM制御管理部510は、VMのスケジューリングを行うスケジューリング部511と、物理デバイス120からの信号を各VMの仮想デバイスに通知すると共に、該仮想デバイスからの指示に応じて物理デバイス120を制御するデバイス制御部512とを有している。また、スケジューリング部511は、各VMに実行権が付与される時間(動作時間)や、各VMの優先順位を設定するスケジューラ設定部511aと、設定された動作時間や優先順位に従い各VMに実行権を付与することで、これらのVMを並行して動作させるスケジューラ実行部511bとを有している。
[動作の説明]
次に、第二実施形態の制御プログラム500の動作について説明する。
第二実施形態のECU100も、第一実施形態と同様、エンジンにより駆動される車両に搭載されると共に、電源管理ECU200から電力供給が行われ、運転状態として、ACC OFF状態,ACC ON状態,IG OFF直後状態,IG ON直後状態,IG ON定常状態が設けられており、該運転状態は、IGスイッチの操作等に応じて変化する。
また、第一,第二VM520,530にはリアルタイム性が要求されているため、第一実施形態と同様にDSにより各VMが動作される。すなわち、スケジューリング部511は、各VMについて、TSにおける動作時間である1周期内動作時間と、実行権が付与される順番である優先順位とを設定し、各TSにおいて、優先順位に応じた順番で各VMに実行権を付与すると共に、各VMの動作時間を各自に設定された1周期内動作時間とする。
また、IGスイッチがOFF或いはACCに設定されるACC OFF状態,ACC ON状態においては、エンジンが停止するため、エンジン制御系アプリ521が搭載されている第一VM520の処理負荷が低下する。このため、スケジューリング部511は、第一実施形態と同様にして、運転状態に応じて各VMの動作時間を変更するよう構成されている。
すなわち、図6に記載されているように、スケジューリング部511では、運転状態に応じて異なる長さのTSが設定されていると共に、第一,第二VMの1TS内動作時間,優先順位が設定されたスケジューリングテーブルが、運転状態毎に個別に設けられている。第一実施形態と同様、各スケジュールテーブルでは、対応する運転状態において予測される処理負荷に基づき、各VMの優先順位,1TS内動作時間の長さが設定されている。そして、運転状態に応じてTSを切り替えると共に、運転状態に対応するスケジューリングテーブルを選択し、選択したスケジューリングテーブルに従い第一,第二VMに実行権を付与する。
また、図7には、運転状態の変化により各VMの動作時間が変化する様子を示すタイミングチャートが記載されている。該タイミングチャートが示すように、運転状態がACC ON状態である場合には、スケジューリング部511のスケジューラ設定部511aは、TSを5msとすると共に、ACC ON状態に対応するスケジューリングテーブル(図6(b))を選択する。そして、スケジューラ実行部511bは、選択されたスケジューリングテーブルに従い、各TSにおいて、第二VM530,第一VM520の順に、それぞれ、3ms,1msの動作時間を割り当てる。
そして、IGスイッチの操作により運転状態がIG ON直後状態となると、スケジューラ設定部511aは、TSを1msとすると共に、IG ON直後状態に対応するスケジューリングテーブル(図6(d))を選択する。そして、スケジューラ実行部511bは、選択されたスケジューリングテーブルに従い、各TSにおいて、第一VM520,第二VM530の順に、それぞれ、0.8ms,0.1msの動作時間を割り当てる。
その後、初期時間が経過し、運転状態がIG ON定常状態となると、スケジューラ設定部511aは、TSを1msのまま維持し、IG ON定常状態に対応するスケジューリングテーブル(図6(e))を選択する。そして、スケジューラ実行部511bは、選択されたスケジューリングテーブルに従い、各TSにおいて、第一VM520,第二VM530の順に、それぞれ、0.6ms,0.1msの動作時間を割り当てる。
また、第二実施形態の制御プログラム500のスケジューラ設定部511aでは、それぞれ、第一実施形態と同様の状態変化検知処理,テーブル切替処理が実行される。これらの処理により、運転状態に応じてTSやスケジュールテーブルの変更が行われる。
[第三実施形態]
第一,第二実施形態では、エンジンにより駆動される車両に搭載されたECUでのタスクやVMのスケジューリングにおいて、運転状態に応じて、TS,優先順位,1TS内動作時間を変更することで、各タスク或いはVMが動作する頻度を変更するという構成について説明した。しかしながら、運転状態に限らず、他の車両の状態に応じて各タスク等が動作する頻度を変更しても良い。
具体例を挙げると、エンジン及びモータにより駆動力を得るハイブリッド車に搭載され、運転手の操作に応じて該エンジン及びモータを制御することで車速を制御する1台の車速制御ECUにおいて、エンジン,モータのいずれから駆動力を得ているか(駆動状態とも記載)に応じて各タスク(或いはVM)が動作する頻度を変更しても良い。すなわち、車速制御ECUでは、エンジンを制御する1または複数のタスク(エンジン制御タスク)と、モータを制御する1または複数のタスク(モータ制御タスク)が設けられていると共に、第一実施形態の制御プログラム1と同様のOSが設けられており、該OSは、DSによりこれらのタスクを動作させる。
また、図8に記載されているように、ハイブリッド車では、駆動状態として、エンジン,モータの双方から駆動力を得ていない停止状態と、エンジンのみから駆動力を得ているエンジン駆動状態と、モータのみから駆動力を得ているモータ駆動状態と、エンジン,モータの双方から駆動力を得ているエンジン/モータ駆動状態の4つの状態が存在し、各状態につき個別にスケジュールテーブルが設けられている。そして、第一,第二実施形態と同様、各スケジュールテーブルでは、各駆動状態において予測される処理負荷に基づき、各タスクの優先順位,1TS内動作時間が設定されている。
そして、エンジン/モータ駆動状態,停止状態に対応するスケジュールテーブルでは、エンジン制御タスクの1TS内動作時間とモータ制御タスクの1TS内動作時間が同程度に設定される。
一方、エンジン駆動状態に対応するスケジュールテーブルでは、エンジン制御タスクの優先順位をモータ制御タスクよりも高く設定すると共に、エンジン制御タスクの1TS内動作時間を、モータ制御タスクの1TS内動作時間よりも長く設定する。
また、モータ駆動状態に対応するスケジュールテーブルでは、モータ制御タスクの優先順位をエンジン制御タスクよりも高く設定すると共に、エンジン制御タスクの1TS内動作時間を、モータ制御タスクの1TS内動作時間よりも短く設定する。
そして、運転状態を駆動状態に置き換えて、第一実施形態と同様の状態変化検知処理,テーブル切替処理が実行され、駆動状態に応じたスケジュールテーブルにより各タスクのスケジューリングが行われる。
こうすることにより、ハイブリット車に搭載される車速制御ECUにおいて、駆動状態に応じて各タスクが動作する頻度を変更することができる。
[効果]
第一〜第三実施形態のECUによれば、IGスイッチの操作に基づく運転状態やエンジンやモータの駆動状態といった、自車両の状態に応じたスケジュールテーブルが個別に設けられている。そして、各スケジュールテーブルでは、予測される処理負荷に基づき各タスク或いはVMの優先順位,1TS内動作時間が設定されており、現在の自車両の状態に応じたスケジュールテーブルを用いてスケジューリングが行われる。
このため、現在の自車両の状態に応じた最適な頻度で各タスク或いはVMを動作させることができ、CPUを効率良く使用することが可能となる。そして、これにより、CPUの性能を下げても十分なパフォーマンスを得ることができ、ECUのコストを低減させることが可能となる。
[他の実施形態]
(1)第一,第二実施形態のECUは、エンジンで駆動される車両に搭載されているが、これに限定されることは無く、該ECUは、例えば、ハイブリット車や電気自動車に搭載されていても良い。また、このような場合であれば、IGスイッチの操作に基づく運転状態に替えて、自車両を駆動するモータやエンジンを起動するスタータスイッチの操作に基づく運転状態に応じて、タスクやVMが動作する頻度を変更しても良い。このような場合であっても、同様の効果を得ることができる。
(2)また、第一,第二実施形態では、リアルタイム性が要求されるタスク或いはVMを対象としてスケジューリングが行われている。しかしながら、本発明は、リアルタイム性が要求されないタスクを対象とする場合や、リアルタイム性が要求されるタスクとされないタスクが混在している場合に適用しても、同様の効果を得ることができる。また、スケジューリングの対象として、タスクとVMとが混在している場合であっても、本発明を適用することで同様の効果を得ることができる。
(3)また、第一〜第三実施形態では、TSと、各タスク或いはVMの1TS内動作時間と優先順位とを変更することで、車両の状態に応じて各タスク等が動作する頻度を変更している。しかしながら、各タスク等の優先順位のみを変更しても良いし、1TS内動作時間のみを変更しても良い。また、TSを変更せず、各タスク等の優先順位及び1TS内動作時間を変更しても良い。このような場合であっても、同様の効果を得ることができる。
(4)第一〜第三実施形態では、DSによりタスク或いはVMのスケジューリングが行われるが、スケジューリング方法はこれに限定されることは無い。具体的には、例えば、付与された実行権を自発的に放棄するようにタスク等を構成すると共に、各タスク等の1TS内動作時間を、その総和がTSよりも長くなるように設定し、ハードなリアルタイム性が要求されるタスクに対してのみ、各TSにて1TS内動作時間が割り当てられることを保証するように構成しても良い。そして、運転状態等の車両の状態に応じて各タスク等の優先順位,1TS内動作時間のうちの少なくとも一方を変更し、各TSでは、優先順位に沿った順番で、各タスクに対し、各自の1TS内動作時間にわたり実行権を付与しても良い。このような場合であっても、車両の状態に応じて各タスクが動作する頻度を変更することができ、同様の効果を得ることができる。
[特許請求の範囲との対応]
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
第一,第三実施形態におけるOSと、第二実施形態におけるVM制御管理部が、スケジューリングプログラムに相当し、第一〜第三実施形態におけるECUが、車載装置に相当する。
また、第一,第二実施形態における運転状態と、第三実施形態のエンジン及びモータの稼動状態が、自車両の状態に相当する。
また、第一,第三実施形態におけるタスクと、第二実施形態におけるVMが、タスクに相当する。
また、状態変化検知処理のS305が判別手段,判別手順に、テーブル切替処理のS410が変更手段,変更手順に相当する。
1…制御プログラム、10…OS、11…スケジューリング部、11a…スケジューラ設定部、11b…スケジューラ実行部、12…デバイス制御部、20…制御系アプリ、21…Aタスク、22…Bタスク、30…ボデー系アプリ、31…Cタスク、100…ECU、110…CPU、120…物理デバイス、200…電源管理ECU、500…制御プログラム、510…VM制御管理部、511…スケジューリング部、511a…スケジューラ設定部、511b…スケジューラ実行部、512…デバイス制御部、520…第一VM、521…エンジン制御系アプリ、521a…Aタスク、521b…Bタスク、522…OS、523…仮想デバイス、524…仮想CPU、530…第二VM、531…ボデー系アプリ、531a…Cタスク、532…OS、533…仮想デバイス、534…仮想CPU。

Claims (8)

  1. 複数のタスクに対して順次実行権を付与することで、これらのタスクを並行して動作させる車載装置であって、
    自車両の状態を判別する判別手段と、
    前記判別手段により判別された前記自車両の状態に応じて、それぞれの前記タスクを動作させる頻度を変更する変更手段と、
    を備えることを特徴とする車載装置。
  2. 請求項1に記載の車載装置において、
    前記自車両の状態とは、自車両の運転を開始させるためのスイッチの操作に基づく状態であること、
    を特徴とする車載装置。
  3. 請求項1に記載の車載装置において、
    自車両は、駆動力を得るためのエンジンとモータとが搭載されたハイブリッド車として構成されており、
    前記自車両の状態とは、前記エンジン及び前記モータの稼動状態に基づく状態であること、
    を特徴とする車載装置。
  4. 請求項1から請求項3のうちのいずれか1項に記載の車載装置において、
    前記車載装置は、周期的に到来するタイミングを生成して基準サイクルとし、該基準サイクルの1周期であるタイムスライスにおいて、前記タスクに順次前記実行権を付与し、
    前記タスクには、それぞれ、前記タイムスライスにおいて前記実行権が付与される時間である1周期内動作時間と、前記タイムスライスにおいて前記実行権が付与される順番である優先順位とが設定されており、
    前記変更手段は、前記1周期内動作時間と前記優先順位とのうちの少なくとも一つを変更することで、それぞれの前記タスクを動作させる頻度を変更すること、
    を特徴とする車載装置。
  5. 請求項1から請求項3のうちのいずれか1項に記載の車載装置において、
    それぞれの前記タスクには、単位時間あたりに前記実行権が付与される時間である動作時間が設定されており、
    前記変更手段は、前記タスクに設定されている前記動作時間を変更することで、それぞれの前記タスクを動作させる頻度を変更すること、
    を特徴とする車載装置。
  6. 請求項1から請求項5のうちのいずれか1項に記載の車載装置において、
    前記タスクは、ある装置において実現される機能を再現するためのプログラムである仮想マシンとして構成されていること、
    を特徴とする車載装置。
  7. 複数のタスクに対して順次実行権を付与することで、これらのタスクを並行して動作させる車載装置用のスケジューリングプログラムであって、
    自車両の状態を判別する判別手順と、
    前記判別手順により判別された前記自車両の状態に応じて、それぞれの前記タスクを動作させる頻度を変更する変更手順と、
    をコンピュータに実行させることを特徴とするスケジューリングプログラム。
  8. 複数のタスクに対して順次実行権を付与することで、これらのタスクを並行して動作させる車載装置におけるスケジューリング方法であって、
    自車両の状態を判別する判別手順と、
    前記判別手段により判別された前記自車両の状態に応じて、それぞれの前記タスクを動作させる頻度を変更する変更手順と、
    を有することを特徴とするスケジューリング方法。
JP2011046452A 2011-03-03 2011-03-03 車載装置、スケジューリングプログラム、及びスケジューリング方法 Pending JP2012185541A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011046452A JP2012185541A (ja) 2011-03-03 2011-03-03 車載装置、スケジューリングプログラム、及びスケジューリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011046452A JP2012185541A (ja) 2011-03-03 2011-03-03 車載装置、スケジューリングプログラム、及びスケジューリング方法

Publications (1)

Publication Number Publication Date
JP2012185541A true JP2012185541A (ja) 2012-09-27

Family

ID=47015601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011046452A Pending JP2012185541A (ja) 2011-03-03 2011-03-03 車載装置、スケジューリングプログラム、及びスケジューリング方法

Country Status (1)

Country Link
JP (1) JP2012185541A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150090439A (ko) * 2014-01-29 2015-08-06 한국전자통신연구원 매니코어 시스템의 하이퍼바이저에서 스케줄링 하는 방법
JP2015152987A (ja) * 2014-02-12 2015-08-24 株式会社日立製作所 制御装置
WO2020031611A1 (ja) * 2018-08-06 2020-02-13 日立オートモティブシステムズ株式会社 車両制御装置
EP3862878A1 (en) * 2020-02-04 2021-08-11 Toyota Jidosha Kabushiki Kaisha Vehicle control device, vehicle control method and storage medium storing vehicle control program
JP2021174368A (ja) * 2020-04-28 2021-11-01 株式会社デンソー リアルタイム演算処理装置
JP2021179722A (ja) * 2020-05-12 2021-11-18 株式会社デンソー 電子制御装置
WO2022196322A1 (ja) * 2021-03-18 2022-09-22 株式会社オートネットワーク技術研究所 車載装置、情報処理方法、及びコンピュータプログラム
DE112022000894T5 (de) 2021-07-05 2023-11-30 Hitachi Astemo, Ltd. Elektronische steuervorrichtung und fahrzeuginternes system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11301291A (ja) * 1998-02-19 1999-11-02 Hitachi Ltd 変速装置及びそれを用いた車両並びに自転車
JP2000242512A (ja) * 1999-02-19 2000-09-08 Hitachi Ltd 複数のオペレーティングシステムを実行する計算機
JP2006281900A (ja) * 2005-03-31 2006-10-19 Xanavi Informatics Corp 車載情報装置、およびアプリケーション実行方法
JP2010262444A (ja) * 2009-05-01 2010-11-18 Denso Corp 車載装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11301291A (ja) * 1998-02-19 1999-11-02 Hitachi Ltd 変速装置及びそれを用いた車両並びに自転車
JP2000242512A (ja) * 1999-02-19 2000-09-08 Hitachi Ltd 複数のオペレーティングシステムを実行する計算機
JP2006281900A (ja) * 2005-03-31 2006-10-19 Xanavi Informatics Corp 車載情報装置、およびアプリケーション実行方法
JP2010262444A (ja) * 2009-05-01 2010-11-18 Denso Corp 車載装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150090439A (ko) * 2014-01-29 2015-08-06 한국전자통신연구원 매니코어 시스템의 하이퍼바이저에서 스케줄링 하는 방법
KR102193747B1 (ko) 2014-01-29 2020-12-21 한국전자통신연구원 매니코어 시스템의 하이퍼바이저에서 스케줄링 하는 방법
JP2015152987A (ja) * 2014-02-12 2015-08-24 株式会社日立製作所 制御装置
WO2020031611A1 (ja) * 2018-08-06 2020-02-13 日立オートモティブシステムズ株式会社 車両制御装置
EP3862878A1 (en) * 2020-02-04 2021-08-11 Toyota Jidosha Kabushiki Kaisha Vehicle control device, vehicle control method and storage medium storing vehicle control program
JP2021124902A (ja) * 2020-02-04 2021-08-30 トヨタ自動車株式会社 車両制御装置、車両制御方法、及び車両制御プログラム
JP2021174368A (ja) * 2020-04-28 2021-11-01 株式会社デンソー リアルタイム演算処理装置
JP7331768B2 (ja) 2020-04-28 2023-08-23 株式会社デンソー リアルタイム演算処理装置
JP2021179722A (ja) * 2020-05-12 2021-11-18 株式会社デンソー 電子制御装置
JP7331774B2 (ja) 2020-05-12 2023-08-23 株式会社デンソー 電子制御装置
WO2022196322A1 (ja) * 2021-03-18 2022-09-22 株式会社オートネットワーク技術研究所 車載装置、情報処理方法、及びコンピュータプログラム
DE112022000894T5 (de) 2021-07-05 2023-11-30 Hitachi Astemo, Ltd. Elektronische steuervorrichtung und fahrzeuginternes system

Similar Documents

Publication Publication Date Title
JP2012185541A (ja) 車載装置、スケジューリングプログラム、及びスケジューリング方法
US11416293B2 (en) Control unit having a scheduler for scheduling a plurality of virtual machines, and methods for scheduling a plurality of virtual machines
CN103383651A (zh) 半导体装置
JP2011028559A (ja) 中継プログラムおよび電子制御装置
JP2013250949A (ja) 計算機、仮想化機構、及びスケジューリング方法
US10095544B2 (en) Method and apparatus for hosting a multitasking guest on a host system
JP4985662B2 (ja) プログラム、及び制御装置
CN114461396A (zh) 基于lxc的资源调度方法、装置、设备及存储介质
JP2013003724A (ja) 車載電子制御装置
US9128757B2 (en) Method and lightweight mechanism for mixed-critical applications
CN105474174B (zh) 控制时间密集的指令
JPWO2019239522A1 (ja) 制御コントローラおよび車両制御システム
CN113939430A (zh) 车辆用控制装置、车辆用显示***和车辆用显示控制方法
JP7447782B2 (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム
US20210240512A1 (en) Vehicle control device, vehicle control method and storage medium storing vehicle control program
JP2019074851A (ja) 電子制御装置
CN103003763A (zh) 内部存储器的访问协调的计算机装置和运行方法
Gu et al. Design and implementation of an automotive telematics gateway based on virtualization
WO2008148625A1 (en) Method and device for scheduling a predictable operation of an algorithm on a multi-core processor
Mishra et al. Dynamic task scheduling on multicore automotive ECUs
JP7463947B2 (ja) 車載ecu、プログラム、及び情報処理方法
US20220261285A1 (en) In-vehicle device, vehicle management system, resource management method, and resource management program
CN112486142B (zh) 将虚拟化io架构和汽车应用集成在ecu的方法及***
WO2022196322A1 (ja) 車載装置、情報処理方法、及びコンピュータプログラム
JP2022110522A (ja) 車載コンピュータ、コンピュータ実行方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140311

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140708