JP2013161242A - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP2013161242A
JP2013161242A JP2012022403A JP2012022403A JP2013161242A JP 2013161242 A JP2013161242 A JP 2013161242A JP 2012022403 A JP2012022403 A JP 2012022403A JP 2012022403 A JP2012022403 A JP 2012022403A JP 2013161242 A JP2013161242 A JP 2013161242A
Authority
JP
Japan
Prior art keywords
write
writing
program
application
priority
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
JP2012022403A
Other languages
English (en)
Inventor
Takashi Inoue
貴司 井上
Wataru Kanda
渉 神田
Hironobu Kuruuchi
洋伸 久留内
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2012022403A priority Critical patent/JP2013161242A/ja
Publication of JP2013161242A publication Critical patent/JP2013161242A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

【課題】優先度の低い機能が追加された場合でも、高優先の機能の書き込みのタイミングを確保可能な電子制御装置を提供する。
【解決手段】予め優先度が定められた複数のプログラムが記憶されたプログラム記憶手段と、プログラムを実行する演算手段と、演算手段に実行された複数のプログラムが共通にアクセスする記憶手段と、を有する電子制御装置であって、優先度が所定値以上のプログラムが、書き込み時間の期待値と同等の時間又は書き込み間隔の期待値と同等の間隔で、記憶装置へ書き込みできるように書き込み制御を行う書き込み制御手段を有し、書き込み制御手段は、所定値以上の優先度の第1のプログラムよりも優先度が低い第2のプログラムの書き込みにより、前記第1のプログラムの前記記憶装置への書き込み時間又は書き込み間隔が、期待値に対してずれた場合、第2のプログラムの書き込み制限を行う。
【選択図】図2

Description

本発明は、複数のプログラムが共通の記憶装置にデータを書き込む電子制御装置に関する。
情報処理装置では、独立したタスクやシステムが1つの記憶装置にメモリアクセスすることが少なくない。このような情報処理装置には、タスクやシステムに優先度を設定し、低優先のタスクやシステムが高優先のタスクやシステムのメモリアクセスを阻害しないような調停機構が設けられる場合がある(例えば、特許文献1参照。)。特許文献1には、優先度の高いタスクやシステムのメモリアクセス要求の間隔に、優先度の低いタスクやシステムのメモリアクセス要求を実行可能か否か判定し、可能でない場合には高優先度のメモリアクセスを要求するメモリ制御装置が開示されている。
特開2011−34214号公報
しかしながら、特許文献1に開示されたメモリ制御装置では、新たに低優先度のタスクやシステムが追加された場合について考慮されていないという問題がある。
情報処理装置では、例えばユーザやメーカがタスクやシステムを新たに追加することで利便性を向上させたいというニーズがある。しかし、新たに追加されるタスクやシステムの数が多くなったり、記憶装置へのアクセスが多いタスクやシステムが追加されると、高優先度のタスクやシステムのメモリアクセスを阻害するおそれがある。
図1は、低優先度のアプリによる高優先度のアプリの書き込みタイミングの遅れを説明する図の一例である。なお、図のドライバとは、記憶装置がメモリカードであればメモリカードI/Fのデバイスドライバ、記憶装置がフラッシュメモリやRAMであればOS(Operating System)のファイルシステムなどである。
ASIL−Aのアプリ1の優先度は、ASIL−QMのアプリ2、3の優先度よりも高くなっている。従来技術によれば、予め搭載されているアプリ2がアプリ1のアクセスを阻害しない範囲でアプリ2のメモリアクセスが許可される。
しかし、ASIL−QMのアプリ3が新たに追加された場合、ASIL−Aのアプリ1の書き込み要求と、ASIL−QMのアプリ3の書き込み要求が調停されない場合が生じうる。
A.図示するように、ASIL−QMのアプリ3が、ASIL−Aのアプリ1が書き込み要求する直前に書き込み要求した場合、ASIL−QMのアプリ3は書き込みを開始してしまう。
B.ASIL−QMのアプリ3の書き込みが完了するまで、ASIL−Aのアプリ1の書き込みが待たされてしまう。ASIL−Aのアプリ1の書き込みが完了する前に、システム異常や電源電圧の低下等が生じると、結果的に、ASIL−Aのアプリ1は書き込みできない。ASIL−Aのアプリ1が重要なデータをバックアップするような場合、その重要なデータが消失されてしまう。
C.ASIL−QMのアプリ3の書き込みが完了すると、ASIL−Aのアプリ1が書き込むことができる。
したがって、低優先度のタスクやシステムが追加されることを考慮すると、低優先度のタスクやシステムが追加された場合でも、高優先度のタスクやシステムのメモリアクセスタイミングが保証されることが好ましい。
本発明は、上記課題に鑑み、優先度の低い機能が追加された場合でも、高優先の機能の書き込みのタイミングを確保可能な電子制御装置を提供することを目的とする。
本発明は、予め優先度が定められた複数のプログラムが記憶されたプログラム記憶手段と、前記プログラムを実行する演算手段と、前記演算手段に実行された複数の前記プログラムが共通にアクセスする記憶手段と、を有する電子制御装置であって、前記プログラムから書き込み要求を受け付けた場合、優先度が所定値以上の前記プログラムが、書き込み時間の期待値と同等の時間又は書き込み間隔の期待値と同等の間隔で、前記記憶装置へ書き込みできるように書き込み制御を行う書き込み制御手段、を有し、前記書き込み制御手段(例えば、書き込み制御部34,アプリ動作制御部31)は、前記所定値以上の優先度の第1のプログラムよりも優先度が低い第2のプログラムの書き込みにより、前記第1のプログラムの前記記憶装置への書き込み時間又は書き込み間隔が、前記期待値に対してずれた場合、前記第2のプログラムの書き込み制限を行う、ことを特徴とする。
優先度の低い機能が追加された場合でも、高優先の機能の書き込みのタイミングを確保可能な電子制御装置を提供することができる。
低優先度のアプリによる高優先度のアプリの書き込みタイミングの遅れを説明する図の一例である。 電子制御装置によるデータ書き込み制御の概略を説明する図の一例である。 電子制御装置のハードウェア構成図の一例である。 電子制御装置の機能ブロック図の一例である。 書き込み時間と書き込み間隔を説明する図の一例である。 アプリ1の書き込み時間TAのずれを説明する図の一例である。 アプリ3の書き込み頻度の増加等を説明する図の一例である。 電子制御装置が、電子制御装置に搭載された複数のアプリの記憶装置への書き込みを制御する手順を示すフローチャート図の一例である。
以下、本発明を実施するための形態について図面を参照しながら説明する。
図2は、本実施形態の電子制御装置によるデータ書き込み制御の概略を説明する図の一例である。
(S10)電子制御装置は、各アプリが記憶装置にデータを書き込む書き込み時間及び書き込み間隔を監視している。電子制御装置は、全アプリについて、新たにアプリが追加される(インストールされる)前の書き込み時間及び書き込み間隔それぞれの正常値(特許請求の範囲の期待値)を学習するか、又は、予め記憶している。
(S20)電子制御装置は、低優先のアプリが高優先のアプリの書き込みを待機させないように低優先のアプリの書き込みタイミングを最適化する。
(S30)電子制御装置は、高優先のアプリの書き込み時間や書き込み間隔が正常値に対してずれたか否かを判定する。CPUやバスが高負荷になると、高優先のアプリの書き込み時間や書き込み間隔の上昇が生じやすくなる。
(S40)高優先のアプリの書き込み時間や書き込み間隔が正常値に対しずれた場合、電子制御装置は、書き込み時間や書き込み間隔の上昇の原因が低優先のアプリの書き込みによるか否かを判定する。これは書き込み要求したアプリを監視することで検出される。
(S50)原因が低優先のアプリの場合、電子制御装置は、低優先のアプリの書き込み制限を行う。
高優先のアプリの書き込みは本来、低優先のアプリよりも優先されるので、高優先のアプリの書き込み時間や書き込み間隔が正常値に対してずれることは少ない。高優先のアプリの書き込み時間や書き込み間隔が正常値に対してずれた場合、例えば低優先のアプリが追加されたことが一因となりうる。そこで、本実施形態の電子制御装置は、原因が低優先のアプリの書き込みである場合、ステップS50に示すように、低優先のアプリの書き込み制限を行う。これにより、低優先のアプリが追加された場合でも、高優先のアプリの書き込み時間や書き込み間隔が大きくなることを抑制することができる。
〔構成例〕
図3は、電子制御装置100のハードウェア構成図の一例を示す。図では電子制御装置100のうち主にマイコン部分を示している。電子制御装置100は、図示する以外に電源回路、センサ・アクチュエータ等とのインタフェースを有している。
マイコンは、互いにバス18で接続された、CPU11、RAM12、ROM13、グラフィック回路14、フラッシュメモリ15、メモリカードI/F16、及び、通信装置17を有する。
CPU11は、ROM13に記憶されたプログラム36を実行してマイコンの全体の動作を制御する。ROM13には、複数のプログラム36、OS(Operating System)、デバイスドライバ、ミドルウェアなどが記憶されている。プログラム36は、いくつかの独立したアプリが含まれている。独立しているため、各アプリはタイマによりそれぞれが定期的に実行されたり、各種の割込みにより実行される。RAM12は、CPU11がプログラムを実行する際のワークエリアとして使用される。
グラフィック回路14はディスプレイ21の描画を制御する。CPU11がプログラムを実行してRAM(ビデオRAM)12に書き込んだ描画コマンドを解釈してディスプレイ21に画面データ(メニュー、カーソル、文字又は画像などの各種情報)を表示する。ディスプレイ21には一体にタッチパネルが配置されており、これと周囲のハードキーによりユーザ操作を受け付ける。
フラッシュメモリ15は不揮発メモリであり、道路地図データ、画像データや音楽データなどのユーザデータを記憶することができる。また、フラッシュメモリ15には、新たに追加されるプログラムが記憶される。フラッシュメモリ15は不揮発メモリであればよく、例えばHDD(Hard Disk Drive)などでもよい。
メモリカードI/F16は、SDメモリカード、USBメモリカードなどのメモリカード22を装着するためのインタフェースである。メモリカードI/F16は、CPU11が指示したRAM等のデータをメモリカード22に記憶し、また、メモリカード22に記憶されたデータを読み出してRAM等に転送する。
通信装置17は車載ネットワークに接続して他の電子制御装置と通信する。車載ネットワークは例えばCANプロトコルを利用したものである。車載ネットワークにはDCM(Data Communication Module)23が接続されている。DCMは携帯電話網、無線LANのアクセスポイント、又は、WiMAX網などにアクセスして外部のサーバなどと通信する。
このマイコンは車両に搭載され、例えば車両のナビゲーションシステム用の電子制御装置や車両制御用の電子制御装置に用いられることができる。ナビゲーションシステム用の電子制御装置の場合、GNSS(Global Navigation Satellite Systems)、車速センサ、及び、ヨーレートセンサ等と通信し自車位置を特定するなどの処理を行う。また、車両制御用の電子制御装置の場合、例えば障害物とのTTC(Time To Collition)に応じて警告・制動などを行ったり、モータによりステアリング操作を支援したり、エンジンやブレーキを制御したりする。
フラッシュメモリ15に記憶される追加されたプログラムは、例えばメモリカード22に記憶された状態で配布される。また、不図示のサーバに記憶されておりDCM23がダウンロードすることで配布される。プログラムの追加は、ユーザがディスプレイ21のタッチパネルなどを操作した場合、サーバ側が車両のプログラムを更新する場合などに行われる。
〔アプリのデータ書き込み要求〕
図4は、電子制御装置100の機能ブロック図の一例を示す。電子制御装置100は、少なくとも優先度の異なる2つのアプリを実行している。本実施形態ではASIL−Aのアプリ1、及び、ASIL−QMのアプリ2,3とが実行される。アプリ1,2は車両の出荷時に電子制御装置100に搭載されていたアプリであり、アプリ3は車両の出荷後に電子制御装置100に追加されたアプリである。
例えば、ASIL−Aのアプリ1は、車両の位置情報、車速、加速度、操舵角などの車両情報を定期的にRAM12、フラッシュメモリ15又はメモリカード22(以下、単に記憶装置35という場合がある)に記憶する。また、ASIL−QMのアプリ2はドアロック解除、信号待ち、急制動などのイベントの発生した時刻を記憶装置35に記憶する。ASIL−QMのアプリ3は、例えば動作記録などを記憶装置35に記憶する。アプリ2、3の書き込みは定期的でも定期的でなくてもよい。情報の重要性はどのアプリが記憶するかにより変わりうるものである。
ASIL−QMのアプリ3が記憶装置35に書き込んでいる間に、ASIL−Aのアプリ1が書き込み要求すると書き込みタイミングが重複してしまい、ASIL−Aのアプリ1が書き込みを待たされる状況が生じうる。
〔書込制御〕
電子制御装置100は、アプリ動作制御部31、監視部32、学習部33、及び、書き込み制御部34を有する。
(1)学習部、監視部
本実施形態では、学習部33が書込み時間・書き込み間隔を予め有している場合とそうでない場合がある。
図5(a)は書き込み時間と書き込み間隔を説明する図の一例である。記憶装置35に定期的にデータを書き込むアプリ1がある。また、定期的に書き込むか否かの影響をあまり受けずに同じアプリが記憶装置35にデータを書き込むために必要な時間はほぼ一定であることが多い。図示するように、アプリ1、2が書き込み開始した時刻から書き込みを終了した時刻までが書き込み時間T1、アプリ1、2が書き込み開始した時刻から、次に書き込みを開始するまでの時間が書き込み間隔TBである。アプリ3については、追加された後に書き込みするので図では省略している。
車両の出荷時から電子制御装置100に搭載されているアプリ1,2の場合、書き込み時間TA・書き込み間隔TBは既知であることが多いので、学習部33の時間・間隔テーブル37には書き込み時間TA・書き込み間隔TBが登録されている。また、出荷時から電子制御装置100に搭載されているが書き込み時間TA・書き込み間隔TBが登録されていないアプリについて、学習部33は書き込み時間TA・書き込み間隔TBを学習する。なお、出荷後に電子制御装置100に追加されるアプリ3についても、書き込み時間TA・書き込み間隔TBがアプリ本体と共に与えられることは可能である。
学習部33が、書き込み時間TA・書き込み間隔TBを学習する方法にはOSなどのシステムを利用する。アプリ1,2は記憶装置35にアクセスする場合(書き込み、読み出し)、書き込み制御部34にファイル名やアドレス、サイズを指定して書き込み・読み出しを要求する。書き込み制御部34は、書き込み要求又は読み出し要求を受け付け、呼び出されたアプリを識別して、アプリ1〜3のデータ領域にアクセスする。アプリ1〜3のデータ領域は、書き込み制御部34がアプリ1〜3の起動時に確保している。必ずしも連続した領域である必要はない。
書き込み制御部34は、各アプリの識別情報と共に、アプリの書き込み要求と、その書き込み要求に基づく書き込みが完了したことを学習部33に通知する。学習部33は、書き込み要求の通知を書き込み開始時刻、書き込み完了の通知を書き込み終了時刻として、書き込み時間TA・書き込み間隔TBを記録する(収集する)。
学習部33は、例えば、書き込み時間TA・書き込み間隔TBをそれぞれ10〜100回程度記録すると、例えば標準偏差を求め、書き込み時間TA・書き込み間隔TBが大きくばらついていない場合に(例えば、書き込み時間T1・書き込み間隔TBのそれぞれ平均に対し10%未満)、書き込み時間TA・書き込み間隔TBを学習したものとする。また、学習部33は、各アプリに標準偏差を対応づけて記憶する。書き込み時間TA・書き込み間隔TBが大きくばらついた場合、学習を繰り返す。
図5(b)は時間・間隔テーブル37に登録された、書き込み時間TAと書き込み間隔TBを説明する図の一例である。アプリ毎に書き込み時間TA、書き込み時間TAの標準偏差σA、書き込み間隔TB、及び、書き込み時間TBの標準偏差σBが登録されている。以下、時間・間隔テーブル37に登録されている書き込み時間TAと書き込み間隔TBを正常値という。正常値は、電子制御装置100にアプリが追加される前に求められている。
出荷後に電子制御装置100に追加されるアプリ3についても、学習部33が書き込み時間TA・書き込み間隔TBを学習する。アプリ3についても、同様の手順で学習部33は書き込み時間TA・書き込み間隔TBを学習できる。OSなどのシステム側の機能を利用することで、出荷後に追加されたアプリ3の、書き込み時間TA・書き込み間隔TBを学習することが容易になる(アプリ側に書き込み時間TA・書き込み間隔TBを学習する機能が不要になる)。
図4に戻り、監視部32は、CPU11、バス18の負荷を監視する。負荷の監視方法は、種々あるが、本実施形態では、時間・間隔テーブル37の正常値に対し、アプリ1の書き込み時間TAと書き込み間隔TBを比較することで監視する。CPU11、バス18の負荷が増大すると、実際の書き込み時間TA・書き込み間隔TBが正常値からずれることが多い。このずれには、書き込み時間TAが長くなること、短くなること、又は、書き込み間隔TBが長くなること、短くなることがあり得るが、多くの場合、書き込み時間TA・書き込み間隔TBが正常値よりも長くなる。
また、高優先のアプリ1の書き込み時間TA・書き込み間隔TBが正常値からずれる原因の一つは、別のアプリ2,3が記憶装置35に書き込むことが多くなったためである。すでに搭載されているアプリ2の書き込み頻度が急に大きくなることは少なく、新たに追加されたアプリ3の書き込みが原因である場合が多い。このため、監視部32はアプリ1の書き込み時間TA・書き込み間隔TBが正常値からずれた場合に、アプリ3が追加されたと推定する。
図6(a)はアプリ1の書き込み時間TAのずれを説明する図の一例である。アプリ1の書き込み開始の時、すでにアプリ3が記憶装置35に書き込みを開始している。このため、アプリ1は、アプリ3が書き込みを完了するまで待機し、書き込み時間TAが正常値よりも長くなる。監視部32は、このようにアプリ1の正常値と書き込み時間TAを比較して、アプリ1の書き込み時間TAがずれたことを検出する。書き込み間隔TBについても同様である。
監視部32は書き込み時間TA・書き込み間隔TBのばらつきを考慮して例えば、以下の少なくとも一方が成立する場合に、CPU11、バス18の負荷が増大したと判定する。書き込み時間TA又は書き込み間隔TBのいずれか一方のみに着目してもよいし、書き込み時間TAと書き込み間隔TBの両方がずれることを条件としてもよい。
書き込み時間TA>正常値+2σA
書き込み間隔TB>正常値+2σB
標準偏差σを2倍するのは、書き込み時間TA・書き込み間隔TBが最大にばらついた場合を考慮するためである。「書き込み時間TA>正常値+σA」又は「書き込み時間TA>正常値」を用いてもよい。
また、書き込み時間TA・書き込み間隔TBが小さくなる方向にずれた場合は、以下を判定する。
書き込み時間TA<正常値−2σA
書き込み間隔TB<正常値−2σB
(2)書き込み制御部
まず、書き込み制御部34は、予め搭載されているアプリ1とアプリ2については、アプリ2の方が先に書き込み要求しても、アプリ1の書き込みを阻害することがないよう、アプリ2の書き込みを制限している。具体的には、アプリ2の書き込み時間TA、アプリ1の書き込み間隔TBは時間・間隔テーブル37に登録されている。書き込み制御部34はアプリ2が書き込み開始してから完了するまでに、アプリ1が書き込み開始するか否かを判定し、アプリ1が書き込み開始する場合はアプリ2の書き込みを待機させ、アプリ1の書き込みを優先する。
したがって、監視部32が、CPU11、バス18の負荷が増大したと判定した場合(実際の書き込み時間TA・書き込み間隔TBが正常値からずれた場合)、追加された低優先のアプリ3の書き込みに起因する可能性が高い。一方、CPU11、バス18の負荷が増大することは、アプリ3の書き込み以外にも原因がある場合があるので、書き込み制御部34は低優先のアプリ2又はアプリ3の書き込みがアプリ1の書き込みを阻害したことを検出する。アプリ2が含まれるのは、アプリ3の追加によりアプリ2がアプリ1の書き込みを阻害する場合も想定されるためである。
また、実際に書き込み時間TAが正常値に対してずれたことを検出する前に、CPU11、バス18の負荷が増大したことを検出することもできる。アプリ3が書き込み制御部34に書き込み要求した場合、書き込み制御部34はアプリ3の書き込み中にアプリ1が書き込み要求するか否かを判定する。アプリ1の書き込み開始は、前回のアプリ1の書き込み開始から書き込み間隔TBが経過した時である。
学習部33の学習によりアプリ3の書き込み時間TAは時間・間隔テーブル37に登録されているので、書き込み制御部34はアプリ3が書き込み開始してから完了するまでに、アプリ1が書き込み開始するか否かを判定できる。すなわち、
アプリ3の書き込み開始時刻+書き込み時間TAの正常値>アプリ1の前回の書き込み開始時刻+書き込み間隔TBの正常値
が成立する場合、書き込み制御部34はアプリ3の書き込み制御を行うと判定する。
図6(b)は書き込み制御部34によるアプリ3の書き込み制御を説明する図の一例である。書き込み制御部34は、アプリ3の書き込み開始をアプリ1の書き込みが完了するまでずらす。アプリ3の書き込み時間TA、アプリ1の書き込み間隔TBは時間・間隔テーブル37に登録されている。書き込み制御部34はアプリ3が書き込み開始してから完了するまでに、アプリ1が書き込み開始するか否かを判定し、アプリ1が書き込み開始する場合はアプリ3の書き込みを待機させ、アプリ1の書き込みを優先する。したがって、優先度の高いアプリ1は、優先度の低いアプリ3により待たされることなく記憶装置35に書き込むことが可能になる。
このように、書き込み制御部34は優先度が高いアプリ1が優先的に書き込みできるように、追加された優先度が低いアプリ3の書き込みタイミングを最適化する。
(3)アプリ動作制御部
書き込み制御部34が優先度の高いアプリ1の書き込みを優先しても、優先度の低いアプリ3の書き込み頻度が増大すると、優先度の高いアプリ1の書き込みを優先することが困難になる場合がある。このような状況は、最適化した後に優先度の低いアプリ3の書き込み頻度が増大すること、又は、優先度の低い複数のアプリ3が新たに追加されること等により生じる。
例えば、優先度の低いアプリ3の書き込み時間TA・書き込み間隔TBの学習が不十分なため、アプリ3に書き込みを許可したが、書き込み中にアプリ1が書き込み要求するような場合がある。また、例えば、書き込み制御部34がアプリ3に対し書き込みを待機させたまま、書き込みを開始した別のアプリ3がアプリ1を待機させてしまう場合も生じうる。
図7(a)は低優先のアプリの書き込み頻度の増加を説明する図の一例である。図7(a)の上段では、書き込み制御部34によりアプリ1とアプリ2の書き込みが重複しないようにアプリ1の書き込みが優先されている。アプリ1の図示する書き込み時間TA・書き込み間隔TBは、時間・間隔テーブル37に登録されている正常値と同等である。
これに対し、図7(a)の下段では、アプリ3が追加されるなどの理由によりアプリ3の書き込み頻度が増大したため、アプリ1の書き込み間隔TBが正常値よりも後方にずれている。監視部32はこれを検出する。
アプリ動作制御部31は、CPU11、バス18負荷が増大した場合(優先度のアプリ3の書き込みによりアプリ1の書き込み間隔TBがずれた)、優先度が低いアプリ3の動作を制限する。アプリ3の動作の制限には、例えば、アプリ3の優先度をさらに下げること、アプリ3の実行を禁止すること、などがある。
図7(b)は優先度制御によるアプリ3の動作制限を説明する図の一例である。アプリ1〜3はそれぞれの起床要因により起床され、例えばOSの機能であるスケジューラにより実行キューに登録される。
アプリ1がASIL−A、アプリ2,3がASIL−QMの優先度であるとする。優先度は二種類しかないが、スケジューラはより多段階の優先度を管理して、アプリの実行を制御することができる。例えば、スケジューラが管理可能な優先度が1〜nであるとした場合、アプリ1は優先度1,アプリ2、3は優先度2となる。したがって、スケジューラはアプリ1を優先度1の実行キューに、アプリ2、3は起床順に優先度2の実行キューに登録する。
本実施形態のアプリ動作制御部31は、アプリ3を動作制限するため、例えば、実行順を定めるための優先度制御において、アプリ3の優先度をアプリ1,2よりも小さくする。すなわち、アプリ3の優先度をそれまでの優先度2よりも低くする。具体的には、最も低い優先度nにする。よって、アプリ動作制御部31は、アプリ3が起床された場合、アプリ3を優先度nの実行キューに登録することで、アプリ3が実行されにくくなる。
なお、図はアプリそのものの優先度であるが、アプリ動作制御部31が書き込み制御部34に対し書き込みの優先度だけを下げるように設定してもよい。
ここで、優先度nとは、優先度1〜n-1のアプリが実行キューに登録されていない場合に実行されるだけでなく、あるサイクル時間毎に実行が許可される優先度である。例えば、前回、優先度nのアプリ3が実行されてからサイクル時間が経過するまでに、CPU11が空いてもアプリ3のタスクは実行されない。前回、優先度nのアプリ3が実行されてからサイクル時間が経過しても、CPU11が空いていなければアプリ3は実行されない。
このような低優先度の実行キューにアプリ3を登録することで、アプリ3の書き込み頻度が増大しても、アプリ1の書き込みが待機させられることを抑制できる。
図7(c)は実行キューへの登録禁止によるアプリ3の動作制限を説明する図の一例である。アプリ1〜3はTCB(タスクコントロールブロック)に、実行可能状態であることが登録されることで、実行キューに登録される。よって、アプリ動作制御部31は例えばTCBのアプリ3を削除する、又は、実行可能状態に遷移することを禁止しておく、ことなどによりアプリ3の実行を禁止できる。
アプリ3の実行が禁止されても、サイクル時間が経過すれば再度、起床されるので、アプリ3の機能が永遠に提供されないと言うことはない。
図7(d)はアプリ3の動作制限による効果を説明する図の一例である。図7(a)と比較して、アプリ3の書き込み頻度が低下している。アプリ3の書き込み頻度が低下することで、アプリ1は、書き込み制御部34が最適化したタイミングで書き込むことができるようになる。
〔動作手順〕
図8は電子制御装置100が、電子制御装置100に搭載された複数のアプリの記憶装置35への書き込みを制御する手順を示すフローチャート図の一例である。
(1)図8(a)は全アプリの書き込み時間TA・書き込み間隔TBの学習手順を示すフローチャート図の一例である。
学習部33は書き込み時間TA・書き込み間隔TBが予め時間・間隔テーブル37に登録されている場合、それを正常値とする(S1−1)。
時間・間隔テーブル37に登録されていないアプリ1,2が書き込み制御部34に書き込み要求する場合、学習部33はそのアプリ1,2の書き込み時間TA・書き込み間隔TBを収集する(S1−2)。
次に、学習部33は、収集した書き込み時間TA・書き込み間隔TBから、平均、標準偏差を算出してアプリ1,2の書き込み時間TA・書き込み間隔TBの正常値として、時間・間隔テーブル37に登録する(S1−3)。これにより全てのアプリ1,2の正常値が得られる。
(2)図8(b)は書き込み時間TA・書き込み間隔TBの監視、書き込み制御の手順を示すフローチャート図の一例である。図8(b)の手順は図8(a)に続いて実行される。
監視部32は、アプリ1の書き込み開始から書き込み完了までの書き込み時間TAを監視する(S2−1)。書き込み間隔TBを共に監視してもよい。
監視部32は、アプリ1の実際の書き込み時間TAが、時間・間隔テーブル37に登録されている正常値に対しずれたか否かを判定する(S2−2)。書き込み時間TAを監視するのは、最適化の必要性を判定しやすいためである。書き込み間隔TBを正常値と比較してもよい。また、単に正常値に対しずれただけでは、アプリ1の起床タイミングや演算時間などが原因の場合も含まれてしまうため、監視部32は、正常値に対するずれがアプリ2の書き込みと重複したためか否かを判定する。アプリ2が書き込み要求したことは、書き込み制御部34に問い合わせることで検出できる。
アプリ1の実際の書き込み時間TAが、時間・間隔テーブル37に登録されている正常値に対しずれていない場合(S2−2のNo)、図8(b)の処理は終了する。
アプリ1の実際の書き込み時間TAが、時間・間隔テーブル37に登録されている正常値に対しずれた場合(S2−2のYes)、書き込み制御部34はアプリ2の書き込みタイミングをアプリ1と重ならないようにずらす(S2−3)。
上記の(2)の処理を繰り返すことで、アプリ1の書き込み時間TA・書き込み間隔TBを正常値と同等に保ったまま、アプリ2の書き込みを確保できる。
そして、アプリ3が電子制御装置100に追加された場合においても、書き込み制御部34は図8(b)の処理を行いアプリ3の書き込みタイミングをアプリ1と重ならないようにずらす。このように、アプリ3の動作制限を行う前に、最適化することでアプリ3の書き込み頻度を確保しやすくなる。
(3)図8(c)は書き込み時間TA・書き込み間隔TBの監視、アプリ動作制御の手順を示すフローチャート図の一例である。図8(c)の手順は図8(b)に続いて実行される。
監視部32は、アプリ1の書き込み開始から書き込み完了までの書き込み間隔TBを監視する(S3−1)。書き込み間隔TBを監視するのは、アプリの書き込み頻度の増加を検出しやすいためである。書き込み時間TAを共に監視してもよい。
監視部32は、アプリ1の実際の書き込み間隔TBが、時間・間隔テーブル37に登録されている正常値に対しずれたか否かを判定する(S3−2)。書き込み間隔TBを正常値と比較してもよい。なお、単に正常値に対しずれただけでは、アプリ1の起床の遅れなどによる場合も含まれてしまうため、監視部32は、正常値に対するずれがアプリ2,3の書き込みと重複したためか否かを判定する。アプリ2,3が書き込み要求したことは、書き込み制御部34に問い合わせることで検出できる。
アプリ1の実際の書き込み間隔TBが、時間・間隔テーブル37に登録されている正常値に対しずれていない場合(S3−2のNo)、図8(c)の処理は終了する。
アプリ1の実際の書き込み間隔TBが、時間・間隔テーブル37に登録されている正常値に対しずれた場合(S3−2のYes)、アプリ動作制御部31はアプリ3の動作を制限する(S3―3)。アプリ3の動作のみを制限してもよいし、アプリ2の動作も共に制限してもよい。
そして、監視部32は、ステップS3−2で判定された、アプリ1の書き込み間隔TBの正常値に対するずれが解消したか否かを判定する(S3−4)。
解消していない場合(S3−4のNo)、アプリ動作制御部31は別のアプリ3の動作を制限する(S3―2)。このステップS3−2〜S3−4の処理を繰り返すことで、徐々に動作が制限されるアプリ3が増えるので、全てのアプリ3の動作を制限する必要がない。
ずれが解消した場合(S3−4のYes)、図8(c)の処理は終了する。これにより、いくつかのアプリ3は動作制限された状態となる。アプリ3は動作制限されたままでもよいし、所定時間が経過した際にアプリ動作制御部31がアプリ3の動作制限を徐々に解除し図8(c)の手順を行ってもよい。こうすることで、復帰が可能なアプリ3については復帰させることができる。
以上説明したように、本実施形態の電子制御装置100は、低優先のアプリが追加されたため高優先のアプリの書き込み時間や書き込み間隔が正常値に対しずれた場合、追加された低優先のアプリの書き込み制限を行う。これにより、低優先のアプリが追加された場合でも、高優先のアプリの書き込み時間や書き込み間隔が大きくなることを抑制することができる。
31 アプリ動作制御部
32 監視部
33 学習部
34 書き込み制御部
35 記憶装置
36 プログラム
37 時間・間隔テーブル
100 電子制御装置

Claims (6)

  1. 予め優先度が定められた複数のプログラムが記憶されたプログラム記憶手段と、
    前記プログラムを実行する演算手段と、
    前記演算手段により実行された複数の前記プログラムが共通にアクセスする記憶手段と、を有する電子制御装置であって、
    前記プログラムから書き込み要求を受け付けた場合、優先度が所定値以上の前記プログラムが、書き込み時間の期待値と同等の時間又は書き込み間隔の期待値と同等の間隔で、前記記憶装置へ書き込みできるように書き込み制御を行う書き込み制御手段、を有し、
    前記書き込み制御手段は、書き込み制御を行った後に、前記所定値以上の優先度の第1のプログラムよりも優先度が低い第2のプログラムの書き込みにより、前記第1のプログラムの前記記憶装置への書き込み時間又は書き込み間隔が、前記期待値に対してずれた場合、前記第2のプログラムの書き込み制限を行う、
    ことを特徴とする電子制御装置。
  2. 前記書き込み制御手段は、前記第2のプログラムが書き込み要求した時に、前記第1のプログラムの書き込み要求がなくても、前記第2のプログラムの書き込み要求を待機させ、
    前記第1のプログラムの書き込み要求に対するデータの書き込みが完了した後に、待機させていた前記第2のプログラムの書き込み要求に基づきデータの書き込みを開始する
    ことを特徴とする請求項1記載の電子制御装置。
  3. 前記書き込み制御手段は、前記第2のプログラムの優先度を予め定められている優先度よりも小さくすることで、前記第2のプログラムの書き込み制限を行う、
    ことを特徴とする請求項1記載の電子制御装置。
  4. 前記第1のプログラムの前記記憶手段への書き込み時間又は書き込み間隔の前記期待値が予め登録されている期待値テーブルを有する、
    ことを特徴とする請求項1〜3いずれか1項記載の電子制御装置。
  5. 前記プログラムの前記書き込み制御手段への書き込み要求から、前記書き込み制御手段が書き込み完了するまでの書き込み時間、及び、前回の前記プログラムの前記書き込み制御手段への書き込み要求と今回の前記プログラムの前記書き込み制御手段への書き込み要求との書き込み間隔を学習して、プログラム毎に書き込み時間及び書き込み間隔を期待値テーブルに登録する学習手段、
    を有することを特徴とする請求項1〜3いずれか1項記載の電子制御装置。
  6. 前記書き込み制御手段は、前記第2のプログラムの書き込み制限を行った後に、前記第2のプログラムの書き込みにより、前記第1のプログラムの書き込み時間又は書き込み間隔が、前記期待値に対してずれた場合、前記第2のプログラムの優先度を予め定められている優先度よりも小さくすることで前記第2のプログラムの書き込み制限を行う、
    ことを特徴とする請求項2記載の電子制御装置。
JP2012022403A 2012-02-03 2012-02-03 電子制御装置 Pending JP2013161242A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012022403A JP2013161242A (ja) 2012-02-03 2012-02-03 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012022403A JP2013161242A (ja) 2012-02-03 2012-02-03 電子制御装置

Publications (1)

Publication Number Publication Date
JP2013161242A true JP2013161242A (ja) 2013-08-19

Family

ID=49173439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012022403A Pending JP2013161242A (ja) 2012-02-03 2012-02-03 電子制御装置

Country Status (1)

Country Link
JP (1) JP2013161242A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016090869A (ja) * 2014-11-07 2016-05-23 カシオ計算機株式会社 処理装置、処理方法、プログラム、楽音発生装置および電子楽器
JP2016181749A (ja) * 2015-03-23 2016-10-13 株式会社バッファロー 情報処理装置、及び情報処理方法
US10261773B2 (en) 2015-12-10 2019-04-16 Mitsubishi Electric Corporation Information processing device, information processing method, and computer readable medium
WO2023119448A1 (ja) * 2021-12-21 2023-06-29 日立Astemo株式会社 車載制御装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016090869A (ja) * 2014-11-07 2016-05-23 カシオ計算機株式会社 処理装置、処理方法、プログラム、楽音発生装置および電子楽器
JP2016181749A (ja) * 2015-03-23 2016-10-13 株式会社バッファロー 情報処理装置、及び情報処理方法
US10261773B2 (en) 2015-12-10 2019-04-16 Mitsubishi Electric Corporation Information processing device, information processing method, and computer readable medium
WO2023119448A1 (ja) * 2021-12-21 2023-06-29 日立Astemo株式会社 車載制御装置

Similar Documents

Publication Publication Date Title
US9396353B2 (en) Data allocation among devices with different data rates
CN105094084B (zh) 支持多核控制器上的相干数据访问的服务和系统
JP6011379B2 (ja) 改竄検知システム、電子制御ユニット
JP2007011491A (ja) 情報端末、計算機資源管理方法、および仮想マシンの実行切り替え方法
JP2013161242A (ja) 電子制御装置
US10229077B2 (en) Method for data transfer between real-time tasks using a DMA memory controller
JP2013161299A (ja) 情報処理装置、インタフェースアクセス方法
JP2005276097A (ja) 割り込み依頼プログラムおよびマイクロコンピュータ
JP2015067107A (ja) 車両用制御装置
US9778981B2 (en) Microcontroller
CN111400087A (zh) 一种操作系统的控制方法、终端以及存储介质
US10269194B2 (en) Multiprocessor system and vehicle control system
EP3256952A1 (en) Systems and methods for providing kernel scheduling of volatile memory maintenance events
CN110959152B (zh) 访问控制装置
JP5716473B2 (ja) 画像処理装置
JP2007196859A (ja) 車両制御装置
CN110351449B (zh) 包括存储设备的图像形成装置及其控制方法
JP6349444B2 (ja) 車両用制御装置
JPWO2017094190A1 (ja) 転送制御装置、車両及び転送制御方法
CN113641297A (zh) 一种汽车仪表的数据存储方法及相关产品
JP4562641B2 (ja) コンピュータシステム、動作状態判定プログラムおよび動作状態判定方法
JPH0926888A (ja) 排他制御装置
JP6466269B2 (ja) 電子制御装置及びスタック領域の使用監視方法
JP5942904B2 (ja) 処理装置
WO2020179344A1 (ja) 車両制御装置