(57)【要約】【課題】制御対象に適合しない制御プログラムがメモリ領域に格納されている場合には、その制御対象に適合しない制御プログラムに基づく制御処理を実行しない制御装置を提供する。【解決手段】本発明の制御装置は、基準識別コードを格納する書換不能領域５１と、制御プログラムと前記制御プログラムを識別するための比較識別コードとを含むプログラムコードを格納する書換可能領域５２と、前記基準識別コードと前記比較識別コードとが一致するか否かを判定し前記基準識別コードと前記比較識別コードとが一致する場合には前記制御プログラムに基づく制御を実行し一致しない場合には前記制御を実行しない判定処理部とを有する。【選択図】図２
2006178859.tif 000002
【特許請求の範囲】
【請求項１】
基準識別コードを格納する第１メモリ領域と、
制御プログラムと前記制御プログラムを識別するための比較識別コードとを含むプログラムコードを格納する第２メモリ領域と、
前記基準識別コードと前記比較識別コードとが一致するか否かを判定し前記基準識別コードと前記比較識別コードとが一致する場合には前記制御プログラムに基づく制御を実行し一致しない場合には前記制御を実行しない判定処理部と、
を有することを特徴とする制御装置。
【請求項２】
前記判定処理部は、前記基準識別コードと前記比較識別コードとが一致しない場合に、前記基準識別コードと前記比較識別コードとが一致しない旨を外部へ報知する請求項１に記載の制御装置。
【請求項３】
前記第２メモリ領域は、書換可能である請求項１又は２に記載の制御装置。
【請求項４】
前記第１メモリ領域及び前記第２メモリ領域は、同一の記憶媒体に確保される請求項１又は２に記載の制御装置。
【請求項５】
前記第２メモリ領域は、フラッシュＲＯＭに確保される請求項１又は２に記載の制御装置。
【請求項６】
前記制御の対象は、車両用内燃機関である請求項１〜５のいずれかに記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラムを識別するための識別コードを備える制御装置に関する。
【背景技術】
【０００２】
従来、制御装置内の書換可能なメモリ領域に格納されている制御プログラムを書き換えるためのメモリ書換装置があった。具体的には、メモリ書換装置には、更新用の制御プログラムが格納されている。そして、メモリ書換装置は、制御装置のメモリ領域に格納されている制御プログラムを更新用の制御プログラムに書き換える。ところで、特許文献１によると、制御プログラムの書換を実行する前に制御装置側の識別コードとメモリ書換装置側の識別コードとが一致するか否かの判定、つまりコード照合を行っている。このコード照合は、制御対象に適合する制御プログラムのみを制御装置のメモリ領域に格納することを目的とするものである。そして、制御装置側の識別コードとメモリ書換装置側の識別コードとが一致する場合にのみ、制御プログラムの書換を実行している。
【特許文献１】特開平９−１３４３０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１の制御装置によると、従来からあるコード照合を行わないメモリ書換装置により制御プログラムの書換が実行された場合、制御対象が不適切な動作をするおそれがある。なぜなら、コード照合を行っていないので、制御対象に適合しない制御プログラムがメモリ領域に格納されているおそれがあるからである。
【０００４】
本発明は、このような事情に鑑みてなされたものであり、制御対象に適合しない制御プログラムがメモリ領域に格納されている場合には、その制御対象に適合しない制御プログラムに基づく制御処理を実行しないことを目的とする。
【課題を解決するための手段及び発明の効果】
【０００５】
そこで、本発明の制御装置は、基準識別コードを格納する第１メモリ領域と、制御プログラムと前記制御プログラムを識別するための比較識別コードとを含むプログラムコードを格納する第２メモリ領域と、前記基準識別コードと前記比較識別コードとが一致するか否かを判定し前記基準識別コードと前記比較識別コードとが一致する場合には前記制御プログラムに基づく制御を実行し一致しない場合には前記制御を実行しない判定処理部とを有することを特徴とする。
【０００６】
ここで、第１メモリ領域に格納されている基準識別コードは、例えば、制御対象の型式やメーカ等に基づき割り当てられているコードであり、１つだけであってもよいし、複数であってもよい。この基準識別コードが複数ある場合には、コード照合の際に複数の基準識別コードから１つだけ選択し、比較識別コードとコード照合するようにする。
【０００７】
ここで、プログラムコードは、制御プログラムと比較識別コードとを含むコードである。このプログラムコードは、１つであってもよいし、複数であってもよい。そして、１つのプログラムコードに１つの制御プログラムと１つの比較識別コードとが一対になって含まれている。ところで、制御プログラムの書換の際には、プログラムコード毎で消去及び書込が行われる。そのため、プログラムコードが複数からなる場合であっても、一対になっている制御プログラムと比較識別コードとの組み合わせが変わることはない。
【０００８】
プログラムコードに含まれている比較識別コードは、制御プログラムに従って適切な動作をする制御対象の型式やメーカ等に基づき割り当てられているコードである。この制御プログラムは、１つであってもよいし、複数であってもよい。また、１つの比較識別コードは、１つの制御プログラムに一対として割り当てられている。ところで、この比較識別コードが基準識別コードと一致するか否かで、第２メモリ領域に格納されている制御プログラムが制御対象に適合するプログラムであるか否かを判定する。
【０００９】
ここで、第１メモリ領域及び第２メモリ領域は、ハードディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ＦＤ（Floppy Disc）、ＩＣメモリ等の記憶媒体に確保されている。例えば、ＩＣメモリは、フラッシュＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、マスクＲＯＭ、ＲＡＭ（Random Accese Memory）等である。なお、第１メモリ領域を確保する記憶媒体と第２メモリ領域を確保する記憶媒体は同種のものであってもよいし、異なるものであってもよい。
【００１０】
以上のことにより、制御対象に適合しない制御プログラムがメモリ領域に格納されている場合には、その制御プログラムに基づく制御処理を実行しないため、制御対象に適切な動作のみを実行させることができる。
【００１１】
さらに言えば、上記特許文献１に記載されるように、制御プログラムの書換が実行される前にコード照合を行えば、制御プログラムの書換が行われる前後２回コード照合を行うことになるので、制御対象に不適合な制御プログラムの実行をより確実に防止できるという効果を奏する。
【００１２】
ここで、前記判定処理部は、前記基準識別コードと前記比較識別コードとが一致しない場合に、前記基準識別コードと前記比較識別コードとが一致しない旨を外部へ報知するようにしてもよい。ここで、外部へ報知する手段は、警報音や音声メッセージ等をスピーカから出力させる音声警報手段、ディスプレイに警報表示を出力させたり警報ランプを点灯させたりする表示警報手段等である。これにより、制御対象に適合しない制御プログラムがメモリ領域に格納されている旨を外部にいる人間に知らせることができる。この報知手段は、音声警報手段及び表示警報手段のいずれか一方の手段でもよい。すなわち、報知手段は、音声警報手段でもよいし表示警報手段でもよい。さらには、報知手段は、音声警報手段及び表示警報手段の双方の手段であってもよい。本発明の制御装置が双方の手段を備えれば、制御対象に適合しない制御プログラムがメモリ領域に格納されている旨をより確実に外部にいる人間に知らせることができる。
【００１３】
また、前記第２メモリ領域は、書換可能、つまり複数回書込可能としてもよい。つまり、第２メモリ領域を書換可能な記憶媒体に確保してもよい。ここで、書換可能な記憶媒体は、ハードディスク、ＦＤ、フラッシュＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ等である。これにより、第２メモリ領域に格納されているプログラムコードを適宜必要に応じたプログラムコードに書き換えることができる。従って、利便性の向上を図ることができる。なお、この書換可能な記憶媒体は、１回のみ書込可能な記憶媒体であってもよい。
【００１４】
一方、第１メモリ領域は、書換不能としてもよい。その手段として、第１メモリ領域を書換不能なマスクＲＯＭ等の記憶媒体に確保してよいし、第１メモリ領域を書換可能な記憶媒体に格納してプログラムにより書換不能つまり書込及び消去不能にしてもよい。いずれにせよ、第１メモリ領域を書換不能とすることにより、第２メモリ領域に格納されている制御プログラムが制御対象に適合するか否かの比較対象となる重要な基準コードが消去されることを未然に防止することができる。
【００１５】
さらに、前記第１メモリ領域及び前記第２メモリ領域は、同一の記憶媒体に確保されるようにしてもよい。これにより、部品点数を減らすことができ、コスト削減を図ることができる。もちろん、第１メモリ領域及び第２メモリ領域とを異なる記憶媒体に確保されるようにしてもよい。さらに、第２メモリ領域をフラッシュＲＯＭに確保されるようにしてもよい。このフラッシュＲＯＭは、ＥＥＰＲＯＭ等に比べて比較的大容量のメモリ領域を確保することができる。従って、第２メモリ領域をフラッシュＲＯＭに確保されるようにすることにより、第２メモリ領域は、大容量のメモリ領域を確保することができる。なお、第１メモリ領域及び第２メモリ領域は、異なる記憶媒体に確保されるようにしても構わない。
【００１６】
もちろん、第２メモリ領域だけでなく第１メモリ領域を確保する記憶媒体もフラッシュＲＯＭとしてもよい。これにより、第２メモリ領域だけでなく第１メモリ領域も、大容量のメモリ領域を確保することができる。この場合、第１メモリ領域と第２メモリ領域を同一のフラッシュＲＯＭに確保するようにしてもよいし、それぞれ異なるフラッシュＲＯＭに確保するようにしてもよい。ここで、第１メモリ領域を書換不能とするためには、上述したように、プログラムにより書込及び消去不能にする。
【００１７】
本発明の制御装置の制御対象は、マイコンを搭載するものであればよい。例えば、制御装置の制御対象は、車両用内燃機関としてもよい。
【実施例】
【００１８】
以下、本発明の制御装置の対象を車両用内燃機関（以下、「エンジン」と称する）とした場合の実施例を具体的に説明する。
【００１９】
（１）エンジン制御装置１を含む全体構成
まず、エンジン制御装置（以下、「ＥＣＵ」と称する）１を含む全体構成について図１を用いて説明する。図１は、ＥＣＵ１を含む全体構成を示すブロック図である。このＥＣＵ１は、図１に示すように、入力回路２と、ＣＰＵ３と、ＲＡＭ４と、フラッシュＲＯＭ（記憶媒体）５と、出力回路６と、入出力ポート７とを備えている。そして、ＥＣＵ１の外部にはメモリ書換装置１１と警報ランプ１２とが配置されている。
【００２０】
入力回路２は、種々のセンサからの信号を入力する。これらのセンサは、エンジンの運転状態に応じた信号を出力する。ＣＰＵ３は、演算回路とアキュムレータとを備えている。演算回路は、入力回路２からの信号に基づき燃焼室への最適な燃料噴射量や燃焼室への最適な点火時期等を演算する。一方、アキュムレータは演算回路による演算結果等を格納する。そして、ＣＰＵ３は、演算結果に基づき制御信号を出力回路６に出力する。ＲＡＭ４は、ＣＰＵ３及び後述するフラッシュＲＯＭ５に接続している。このＲＡＭ４は、ＣＰＵ３の演算結果等を一時的に格納する。
【００２１】
フラッシュＲＯＭ５については、図１に加え図２を用いて説明する。図２は、ＣＰＵ３及びフラッシュＲＯＭ５を示す概略構成図である。フラッシュＲＯＭ５は、ＣＰＵ３及びＲＡＭ４に接続している。このフラッシュＲＯＭ５は、書換可能、つまり電気的にデータの書込及び消去が可能な不揮発性メモリである。ここで、フラッシュＲＯＭ５には、図２に示すように、書換が不可能な書換不能領域（第１メモリ領域）５１と書換が可能な書換可能領域（第２メモリ領域）５２とが確保されている。
【００２２】
書換不能領域５１は、書換不能領域５１に格納されている書換処理プログラムに従って制御するＣＰＵ３の書換処理が及ばない領域である。この書換不能領域５１には、書換処理プログラム及び基準識別コードが格納されている。書換処理プログラムは、書換可能領域５２への書換処理を行うためのプログラムである。基準識別コードは、制御対象を識別するコード、すなわち本実施例においては搭載されているエンジンの型式を示すコードである。
【００２３】
書換可能領域５２は、書換不能領域５１に格納されている書換処理プログラムに従って制御するＣＰＵ３の書換処理が行われる領域である。この書換可能領域５２には、Ｍ個からなるプログラムコードが１番目から順にＭ番目まで格納されている。このプログラムコードは、ＣＰＵ３がエンジンを制御するために読み出される。ここで、プログラムコードは、制御プログラム及び比較識別コードを含むものである。具体的には、１個のプログラムコードは、１個の制御プログラムとこの制御プログラムを識別するための１個の比較識別コードとを含んでいる。そして、このプログラムコードは、書換可能領域５２にＭ個格納されている。なお、Ｋ（１≦Ｋ≦Ｍ）番目のプログラムコードは、Ｋ番目の制御プログラムとＫ番目の比較識別コードとを一対のものとして含んでいる。
【００２４】
制御プログラムは、エンジン制御を行うためのプログラムである。ここで、エンジン制御は、エンジンに最適な空燃費となるように制御する燃料噴射制御、エンジンの回転速度と負荷の状態をセンサで検知して最適な点火時期を制御する点火時期制御、アイドリング時におけるエンジンの回転速度を制御するアイドル回転数制御などである。
【００２５】
そして、１番目のプログラムコードには１番目の制御プログラムである燃料噴射を制御するプログラムが含まれ、２番目のプログラムコードには２番目の制御プログラムである点火時期を制御するプログラムが含まれている。このように、１番目からＭ番目のプログラムコードには、各々異なる種類の制御プログラムが含まれている。
【００２６】
比較識別コードは、制御プログラムを識別するためのコードである。すなわち、比較識別コードは、制御プログラムに適合するエンジンの型式を示すコードである。この比較識別コードは、各制御プログラムの先頭に配置されている。
【００２７】
出力回路６は、ＣＰＵ３に接続している。この出力回路６はＣＰＵ３からの制御信号を入力する。そして、出力回路６は、入力した制御信号に基づきエンジンに取付けられたインジェクタやイグナイタ等のアクチュエータを駆動する。
【００２８】
入出力ポート７は、ＣＰＵ３に接続している。この入出力ポート７は、ＥＣＵ１とメモリ書換装置１１とのシリアルデータ通信を可能にするものである。また、入出力ポート７は、通信ライン７１を備えている。
【００２９】
ところで、上述したように、ＥＣＵ１の外部には、メモリ書換装置１１と警報ランプ１２とが配置されている。
【００３０】
メモリ書換装置１１は、ＥＣＵ１の入出力ポート７に接続している。このメモリ書換装置１１は、ＥＣＵ１にフラッシュＲＯＭ５の書換を行わせるためのものである。そのため、メモリ書換装置１１には、書換可能領域５２に格納されているプログラムコードと同様に、１個の制御プログラムと１個の比較識別コードとを含むプログラムコードがＭ個格納されている。この更新用のプログラムコードは、すでに書換可能領域に格納されているプログラムコードに換わり新たに書換可能領域に格納されるものである。また、メモリ書換装置１１は、通信ライン７２を備えている。ところで、通信ライン７１及び通信ライン７２は、コネクタ７３を介して接続可能である。そして、通信ライン７１及び通信ライン７２がコネクタ７３を介して接続している場合には、メモリ書換装置１１はＥＣＵ１との双方向のシリアルデータ通信が可能である。
【００３１】
警報ランプ１２は、ＥＣＵ１の入出力ポート７に接続している。この警報ランプ１２は、制御対象を適切に動作させないプログラムがフラッシュＲＯＭ５の書換可能領域５２に格納されている場合に点灯する。具体的には、搭載されているエンジンとは異なるエンジンを制御するため制御プログラムがフラッシュＲＯＭ５の書換可能領域５２に格納されている場合に、警報ランプ１２は点灯する。これにより、制御対象に適合しないプログラムがフラッシュＲＯＭ５の書換可能領域５２に格納されている旨を外部の人間に報知する。そうすると、異常を察知した外部の人間は、別のメモリ書換装置に交換するなどの処置を講ずることができる。
【００３２】
（２）ＣＰＵ３の処理動作
以下、ＣＰＵ３の処理動作のうち書換処理とコード照合処理について図１〜図４を用いて説明する。
【００３３】
まず、ＣＰＵ３の処理動作である書換処理について図１及び図３を用いて説明する。図３は、書換処理を示すフローチャートである。この書換処理は、フラッシュＲＯＭ５の書換可能領域５２に格納されているプログラムコードをメモリ書換装置１１に格納されているプログラムコードに書き換えるための処理である。ちなみに、この書換処理は、書換不能領域５１に格納されている書換処理プログラムに従って実行される。まず、図１に示すように、通信ライン７１と通信ライン７２とがコネクタ７３により接続されている状態で車両のイグニッションスイッチをオンする。そして、メモリ書換装置１１に対して所定の指示入力をすると、図３に示すように、ＣＰＵ３は書換可能領域５２をリセットする（ステップＳ１）。具体的には、フラッシュＲＯＭ５の書換可能領域５２に格納されている比較識別コード及び制御プログラムを含むプログラムコードを１番目から順にＭ番目まで消去する。続いて、入出力ポート７、通信ライン７１、７２及びコネクタ７３を通してメモリ書換装置１１に書換許可信号を出力する（ステップＳ２）。そして、メモリ書換装置１１から出力されるプログラムコードを１番目から順にＭ番目まで書換可能領域５２に書き込む（ステップＳ３）。そして、書込処理を終了する。この書込処理が終了すると次に説明するコード照合処理に移行する。
【００３４】
次に、ＣＰＵ３の処理動作であるコード照合処理について図２及び図４を用いて説明する。図４は、コード照合処理を示すフローチャートである。コード照合処理は、書換可能領域５２に格納されている制御プログラムがＥＣＵ１の制御対象であるエンジンに適合するか否かを判定するための処理である。上述した書込処理が終了すると、図２の一方向矢印で示すように、フラッシュＲＯＭ５の書換不能領域５１に格納されている基準識別コードをＣＰＵ３のアキュムレータに格納する（ステップＳ１１）。そして、図４に示すように、読み出そうとする比較識別コードの番号を示すカウンタＫに１を入力する（ステップＳ１２）。続いて、書換可能領域５２に格納されているＫ番目の比較識別コードを読み出す（ステップＳ１３）。そして、図２の双方向矢印で示すように、Ｋ番目の比較識別コードが、ＣＰＵ３のアキュムレータに格納されている基準識別コードと一致するか否かを判定する（ステップＳ１４）。具体的には、書換可能領域５２に格納されているＫ番目の制御プログラムがＥＣＵ１の制御対象であるエンジンに適合するか否かを判定する。なお、ステップＳ１４での判定は、本発明の制御装置を構成する判断処理部に含まれる。ここで、比較識別コードが基準識別コードに一致しない場合（ステップＳ１４：Ｎｏ）、警告ランプ１２を点灯させる（ステップＳ１５）。すなわち、比較識別コードが基準識別コードに一致しない場合、Ｋ番目の制御プログラムがＥＣＵ１の制御対象であるエンジンに適合しない旨を外部の人間に報知する。そして、書換可能領域５２に格納されている制御プログラムに基づくエンジン制御を実行しないでコード照合処理を終了する。この場合、制御プログラムに基づくエンジン制御は実行しないが、エンジン制御以外の制御、例えば時間測定などの制御は実行する。
【００３５】
一方、Ｋ番目の比較識別コードが基準識別コードに一致した場合（ステップＳ１４：Ｙｅｓ）、さらに、カウンタＫがプログラムコードの数を示すＭより小さいか否かを判定する（ステップＳ１６）。そして、カウンタＫがＭより小さい場合（ステップＳ１６：Ｙｅｓ）、カウンタＫに１加算する（ステップＳ１７）。そして、ステップＳ１３に戻り、書換可能領域５２に格納されているＫ番目の比較識別コードを再び読み出し処理を繰り返す。一方、カウンタＫがＭ以上である場合（ステップＳ１６：Ｎｏ）、書換可能領域５２に格納された制御プログラムに従ってエンジン制御を開始する（ステップＳ１８）。すなわち、書き換えられたすべての比較識別コードと基準識別コードとが一致するため、書換可能領域５２に格納された制御プログラムに従ってエンジン制御を開始する。
【００３６】
以上説明したＣＰＵ３のコード照合処理は、書換処理が終了するとすぐに実行されるため、エンジンを適切に動作させない制御プログラムの実行を確実に防ぐことができる。
【００３７】
なお、通信ライン７１と通信ライン７２とが接続されていない場合、つまりＥＣＵ１とメモリ書換装置１１とが接続されていない場合、ＣＰＵ３は、書換処理を実行せず、コード照合処理のみを実行する。
【００３８】
（その他の実施例）
本発明の制御装置は、上記実施例に限定されるものではない。例えば、上記実施例においては、通信ライン７１と通信ライン７２とがコネクタ７３により接続されると、無条件に制御プログラムの書換を行うようにした。しかしながら、制御プログラムの書換を行う前に、メモリ書換装置１１に格納されている比較識別コードとＣＰＵ３の書換不能領域５１に格納されている基準識別コードとが一致するか否かを判定して、一致する場合にのみ、ＣＰＵ３の書換処理を行うようにしてもよい。これは、書換処理前と書換処理後との２回コード照合を行うものである。これにより、制御対象に不適合な制御プログラムの実行をより確実に防止することができる。
【００３９】
また、上記実施例においては、基準識別コードはエンジンの型式を示すコードであった。しかしながら、基準識別コードは、車種やメーカなどを示すコードであってもよい。もしくは、基準識別コードは、型式、車種及びメーカの組み合わせを示すコードであってもよい。
【００４０】
さらに、上記実施例においては、ＣＰＵ３の書換処理にてフラッシュＲＯＭ５の書換可能領域５２に格納されたすべてのプログラムコードを書き換えた。しかしながら、プログラムコードの一部を書き換えるようにしてもよい。このような場合、コード照合処理は、書き換えられたプログラムコードに対してのみ行うようにしてもよい。
【００４１】
また、上記実施例においては、車両のイグニッションスイッチがオンされる毎にＣＰＵ３はコード照合処理を行っている。しかしながら、このコード照合処理をプログラムコードの書換が行われた場合にのみ行うようにしてもよい。もしくは、前回のコード照合処理が行われてから所定の日数が経った時点もしくは前回のコード照合処理が行われてから所定の走行距離だけ走行した時点でこのコード照合処理を行うようにしてもよい。
【００４２】
また、上記実施例において、本発明の制御装置の制御対象をエンジンとしたが、これに限られるものではない。例えば、制御対象をブレーキ、トランスミッション、サスペンション等にしてもよい。
【図面の簡単な説明】
【００４３】
【図１】ＥＣＵ１を含む全体構成を示すブロック図である。
【図２】ＣＰＵ３及びフラッシュＲＯＭ５を示す概略構成図である。
【図３】書換処理を示すフローチャートである。
【図４】コード照合処理を示すフローチャートである。
【符号の説明】
【００４４】
１：ＥＣＵ  ２：入力回路  ３：ＣＰＵ  ４：ＲＡＭ  ５：フラッシュＲＯＭ
６：出力回路  ７：入出力ポート  １１：メモリ書換装置  １２：警報ランプ
【図１】
2006178859.tif 000003
【図２】
2006178859.tif 000004
【図３】
2006178859.tif 000005
【図４】
2006178859.tif 000006