説明

車載制御装置

【課題】ROM診断を効率よくかつ制御演算に与える影響を抑えながら実施することのできる車載制御装置を提供する。
【解決手段】本発明に係る車載制御装置は、制御プログラム外の処理が完了するのを待機する待機時間中に、読取専用メモリのうち一部の領域に対してメモリ診断を実施する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車載制御装置に関するものである。
【背景技術】
【0002】
従来、自動車用エンジンの制御装置では、制御用マイコン(CPU:Central Processing Unit)の自己診断の他、CPUによるメモリ(ROM:Read Only Memory)の診断を行っている。
【0003】
下記特許文献1には、エンジン始動前の電源投入時に、ROMの全領域に対し、サムチェックまたはパリティチェックを行なう技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−66963号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
エンジン始動前には、各制御の初期化処理など、エンジン挙動に直接影響を与える制御が集中している。一方、ROM診断はROMの全領域に対して行なっているので、エンジン始動前にROM診断を実行すると、制御用マイコンの演算負荷に大きな影響を与える。
【0006】
また、近年の制御用マイコンのROM領域拡大により、ROM診断における1回当りの演算量が増加し、演算負荷がエンジン制御機能に影響を与える程度にまで、ROM診断による演算負担が大きくなる場合がある。
【0007】
本発明は、上記のような課題を解決するためになされたものであり、ROM診断を効率よくかつ制御演算に与える影響を抑えながら実施することのできる車載制御装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る車載制御装置は、制御プログラム外の処理が完了するのを待機する待機時間中に、読取専用メモリのうち一部の領域に対してメモリ診断を実施する。
【発明の効果】
【0009】
本発明に係る車載制御装置によれば、制御プログラムの待機時間を有効に利用して効率的にメモリ診断を実施することができる。また、待機時間中は制御処理そのものが待機状態になっているので、メモリ診断処理の演算負荷が制御処理に与える影響を抑えることができる。
【図面の簡単な説明】
【0010】
【図1】実施の形態1に係る車載制御装置100の機能ブロック図である。
【図2】マイコン110がA/D変換を実行する処理フローを示す図である。
【図3】ステップS203の詳細フローを示す図である。
【発明を実施するための形態】
【0011】
<実施の形態1>
図1は、本発明の実施の形態1に係る車載制御装置100の機能ブロック図である。車載制御装置100は、制御対象機器200を制御する装置であり、マイコン110、ROM120、RAM130、I/O部140を有する。
【0012】
マイコン110は、ROM120に格納されている制御プログラムの指示にしたがって、制御対象機器200に対する制御演算を実行する演算装置である。マイコン110はA/D変換機能を備える。また、ROM120に対するメモリ診断を実施する。A/D変換機能とメモリ診断の詳細については後述する。
【0013】
ROM120は、マイコン110が実行する制御プログラムを格納する記憶装置である。RAM130は、マイコン110が制御プログラムを実行している間に用いる変数などのデータを格納する記憶装置である。I/O部140は、マイコン110と制御対象機器200の間でデータや信号を送受信するインターフェースである。
【0014】
制御対象機器200は、車両が備える機器である。以下ではガソリン噴射式内燃機関であることを想定する。制御対象機器200は、センサ210、アクチュエータ220を備える。センサ210は、例えば吸入空気量センサ、エンジン回転数センサなどのセンサである。アクチュエータ220は、燃料噴射弁を含む。
【0015】
車載制御装置100は、センサ210から得た情報を用いて燃料噴射量を算出し、これに基づいて燃料噴射弁の開弁時間を制御する信号を出力する。車載制御装置100は、動作電源が投入されている間、この処理動作を繰り返し実行する。
【0016】
図2は、マイコン110がA/D変換を実行する処理フローを示す図である。A/D変換処理は、例えば制御プログラム内でセンサ210の検出結果を取得する際に、アナログ検出値をデジタル値に変換するときなどに必要となる。制御プログラムは、マイコン110が備えるA/D変換機能を利用して、制御演算上で必要となるデジタル値を取得する。以下、図2の各ステップについて説明する。
【0017】
(図2:ステップS200)
マイコン110は、ROM120に格納されている制御プログラムを実行する。制御プログラム上でA/D変換が必要になったとき、マイコン110が制御プログラム内で本処理フローを起動することにより、本処理フローが開始される。
【0018】
(図2:ステップS201)
マイコン110は、自身が有するA/D変換機能を実行開始する。一般に、A/D変換は複数のチャネルに対して行われるため、全てのチャネルについてA/D変換が完了するまでの間に、待機時間が生じる。
【0019】
(図2:ステップS202)
マイコン110は、全てのチャネルについてA/D変換が完了したか否かを判定する。全てA/D変換が完了していれば本処理フローを終了し、完了していなければステップS203に進む。
【0020】
(図2:ステップS203)
マイコン110は、ROM120に対してメモリ診断を実施する。メモリ診断の内容としては、例えば特許文献1に記載されているような、サムチェックやパリティチェックがある。本ステップでは、ROM120の全領域を診断対象とするのではなく、一部の領域のみを診断対象とする。本ステップが終了すると、ステップS202に戻る。本ステップが完了した時点でA/D変換が完了していない場合は、本ステップを繰り返し実行することになる。これにより、最終的にROM120の全領域に対してメモリ診断を実行することができる。
【0021】
(図2:ステップS203:補足)
本ステップを実行する回数は、マイコン110がA/D変換を開始してから完了するまでに要する時間、マイコン110がROM120に対してメモリ診断を1回実施するのに要する時間や1回分の診断バイト数、などに応じて定まる。1回のメモリ診断で何バイトを診断すべきかについては、上記各数値を把握した上で、あらかじめ適切な値を定めておけばよい。
【0022】
以上、本実施の形態1に係る車載制御装置100の構成と動作を説明した。なお、A/D変換機能は、必ずしもマイコン110が備えるものを使用しなければならないわけではなく、その他任意のA/D変換器を用いることもできる。この場合、そのA/D変換器がA/D変換を実施している間の待機時間を、ステップS203に当てることになる。
【0023】
以上のように、本実施の形態1によれば、マイコン110は、制御プログラムのなかでA/D変換を行なう際に、A/D変換処理が完了するまでの待機時間において、ROM120の一部領域に対しメモリ診断を実施する。A/D変換が完了するまでの待機時間は、本来の制御演算が実行されていない時間であるため、制御プログラム本来の制御演算に演算負荷の影響を与えることなく、ROM診断を実施することができる。また、制御演算を実行していない待機時間を利用してROM診断を行うので、効率的に診断を実施することができる。
【0024】
なお、従来の技術においても、空き時間にROM診断を実行する手法は存在する。ただし従来は、空き時間が確実に生じると予測される時間帯にROM診断を実行する点が、本発明に係る手法とは異なる。本発明に係る手法は、A/D変換の完了待機時間が生じる任意のタイミングでROM診断を実行することができるので、より柔軟にROM診断処理を実行することができる。
【0025】
また従来の手法では、空き時間にROM診断を実行するとはいっても、その空き時間はスケジュールされた空き時間であり、任意の空き時間をROM診断に利用できるものではない。本発明に係る手法は、A/D変換の完了待機時間が生じる任意の空き時間を利用できる点で、有利である。
【0026】
<実施の形態2>
本発明の実施の形態2では、図2のステップS203の具体例を説明する。車載制御装置100の構成は実施の形態1と同様である。
【0027】
図3は、ステップS203の詳細フローを示す図である。以下、図3の各ステップについて説明する。
【0028】
(図3:ステップS301)
マイコン110は、本処理フローを実行するのが初回であるか否かを判定する。初回であればステップS302へ進み、初回でなければステップS304へスキップする。
【0029】
(図3:ステップS301:補足)
本ステップは、ROM診断処理を複数回に分けて少しずつ実施することに鑑みた処理である。すなわち、ROM診断を繰り返し実行するためには、前回どこまで診断を実行したかを記憶しておく必要がある。これに対し初回ROM診断では診断パラメータを初期化する必要がある。そこで本ステップにおいて、本処理フローを実行するのが初回であるか否かを判定し、初期化の要否を確認することにした。
【0030】
(図3:ステップS302)
マイコン110は、診断対象とするROMアドレスと、1回のROM診断で診断するROM容量(仮にZバイトとする)を初期設定する。
【0031】
(図3:ステップS302:補足)
診断対象アドレスとZの値は、実施の形態1で説明したように、待機時間において本処理フローを実行する回数、ROM120の全容量などに基づき、ROM120の全容量を最終的に診断完了できるように定める。
【0032】
(図3:ステップS303)
マイコン110は、サム値SUMおよびパリティ値PTYを0に初期化する。
【0033】
(図3:ステップS304)
マイコン110は、診断対象ROMアドレスからZバイトのデータを読み取る。
【0034】
(図3:ステップS305)
マイコン110は、ステップS304で読み取ったデータを、下記(式1)によりサム値SUMに加算する。
SUM=SUM+データ ・・・(式1)
【0035】
(図3:ステップS306)
マイコン110は、ステップS304で読み取ったデータを用いて、下記(式2)によりパリティ値PTYを演算する。
PTY=XOR(PTY,データ) ・・・(式2)
【0036】
(図3:ステップS307)
マイコン110は、診断対象ROMアドレスをZバイト進める。
【0037】
(図3:ステップS308)
マイコン110は、1回分のROM診断処理としてあらかじめ設定しておいたバイト数を診断したか否かを判定する。1回分の診断が終了していない場合はステップS304へ戻り、同様の処理を繰り返す。1回分の診断が終了している場合は、ステップS309へ進む。
【0038】
(図3:ステップS309)
マイコン110は、ROM120の全領域に対してサム演算およびパリティ演算が終了したか否かを判定する。診断を行っていない領域がある場合は本処理フローを終了し、本処理フローを次回実行する時に改めて次の診断対象ROMアドレスから診断を行う。全領域に対して診断を完了している場合は、ステップS310へ進む。
【0039】
(図3:ステップS310)
マイコン110は、サム値SUMが所定のチェック用規定値SUMCHKと一致するか否かを判定する。両者が相違する場合は、ROM120に不具合が生じていると判定し、ステップS314へ進む。両者が一致する場合は、サムチェックは問題なしと判定し、ステップS311へ進む。
【0040】
(図3:ステップS311)
マイコン110は、パリティ値PTYが所定のチェック用規定値PTYCHKと一致するか否かを判定する。両者が相違する場合は、ROM120に不具合が生じていると判定し、ステップS314へ進む。両者が一致する場合は、パリティチェックは問題なしと判定し、ステップS312へ進む。
【0041】
(図3:ステップS312)
マイコン110は、サムチェックとパリティチェックのいずれも問題なしなので、ROM120に不具合は発生していないと判断し、その旨の診断結果を出力する。
【0042】
(図3:ステップS313)
マイコン110は、サム値SUMとパリティ値PTYをそれぞれ0に初期化する。
【0043】
(図3:ステップS314)
マイコン110は、サムチェックまたはパリティチェックで不具合が検出されたので、ROM120に不具合が発生していると判断し、その旨の診断結果を出力する。
以上、本実施の形態2では、ステップS203の詳細について説明した。
【0044】
<実施の形態3>
実施の形態1〜2において、マイコン110は、ステップS202でA/D変換が完了するのを待機している際に、ROM診断を実行することを説明した。本発明の実施の形態3では、ROM診断を実行する処理と制御プログラム本体の処理の切り分けについて、具体例を2つ説明する。車載制御装置100の構成は、実施の形態1〜2と同様である。
【0045】
<実施の形態3:ステップS202の具体例その1>
マイコン110は、ステップS202において、所定時間待機するウェイト処理を起動する。このウェイト処理で待機する時間は、従来であればA/D変換処理が完了するのに必要であると想定される時間近辺に設定されるが、本実施形態3では、その待機時間のうち所定割合をステップS203に割り当てる。
【0046】
例えば、A/D変換処理に必要であると想定される時間が100μsである場合、マイコン110は、50μs待機するウェイト処理を起動してステップS203へ進む。50μsのウェイト時間が終了すると、マイコン110はステップS203を実行し、残りの50μsのうち少なくとも一部をステップS203において消費することになる。
【0047】
ウェイト処理とステップS203に割り当てる時間の配分割合は、これに限られるものではない。例えば、ウェイト時間を短めに設定すれば、より多くの時間をステップS203に割り当てることができる。さらには、ステップS203で診断するROM容量を調整することにより、ステップS202〜S203全体の処理時間を調整することができる。
【0048】
<実施の形態3:ステップS202の具体例その2>
マイコン110は、ステップS202において、所定時間待機するウェイト処理を起動する。また、このウェイト処理と並行して、ステップS203の処理を起動する。マイコン110は、次にステップS202を実行する際に、ウェイト処理、ステップS203、およびA/D変換処理がそれぞれ完了するまで待機する。
【0049】
<実施の形態3:補足>
上記具体例その1とその2は、組み合わせて使用することもできる。例えば、A/D変換処理を行う対象毎に、上記具体例その1とその2を使い分けることが考えられる。A/D変換処理にかかる時間が予測できない場合は具体例その2を採用し、予測できる場合は具体例その1を採用する、などの使い分けがあり得る。
【0050】
以上のように、本実施の形態3によれば、マイコン110はステップS202における待機時間の一部をステップS203に割り当てる。これにより、待機処理の一環としてROM診断処理を実行することになるので、既存のA/D変換完了待機処理を大きく変更することなく、本発明に係る手法をスムーズに導入することができる。
【0051】
<実施の形態4>
以上の実施の形態1〜3において、ROM診断処理は例えばエンジン始動前に実施することもできるし、エンジンを停止させる時に実施することもできる。
【0052】
また、以上の実施の形態1〜3において、A/D変換が完了する待機時間にROM診断を実施することを説明したが、その他の待機時間を利用することもできる。具体的には、マイコン110が制御プログラム外の処理を完了待ちしている待機時間を、ステップS203に割り当てることができる。
【符号の説明】
【0053】
100:車載制御装置、110:マイコン、120:ROM、130:RAM、140:I/O部、200:制御対象機器、210:センサ、220:アクチュエータ。

【特許請求の範囲】
【請求項1】
車両を制御する動作を記述した制御プログラムを実行する演算部と、
前記制御プログラムを格納した読取専用メモリと、
を備え、
前記演算部は、
前記制御プログラムの実行中であって、前記制御プログラム外の処理が完了するのを待機する待機時間中に、前記読取専用メモリのうち一部の領域に対してメモリ診断を実施する
ことを特徴とする車載制御装置。
【請求項2】
前記演算部は、
前記待機時間のうち所定割合を前記メモリ診断に割り当てて前記メモリ診断を実行し、前記待機時間のうち前記所定割合を除いた分は前記制御プログラム外の処理を待機して前記待機時間の経過を待機する
ことを特徴とする請求項1記載の車載制御装置。
【請求項3】
前記演算部は、
前記待機時間中に、前記制御プログラム外の処理を待機する処理と前記メモリ診断を並行して開始し、双方が終了するのを待機する
ことを特徴とする請求項1または2記載の車載制御装置。
【請求項4】
前記演算部は、
前記読取専用メモリの全容量を、前記制御プログラム外の処理が完了するのを待機する回数で除算して得られる容量を、1回のメモリ診断において前記読取専用メモリを診断する容量とする
ことを特徴とする請求項1から3のいずれか1項に記載の車載制御装置。
【請求項5】
前記制御プログラムは、エンジンを制御する動作を記述しており、
前記演算部は、前記エンジンが始動する前または前記エンジンを停止させるときに、前記メモリ診断を実施する
ことを特徴とする請求項1から4までのいずれか1項に記載の車載制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate