(57)【特許請求の範囲】
【請求項１】
車両盗難の有無を判定する盗難判定手段と、
前記盗難判定手段による盗難判定結果を複数ビットのデータ列で記憶する記憶手段と、
前記記憶手段に記憶されている盗難判定結果のデータ列が第１の所定値を示すときにエンジン運転を禁止し、第２の所定値を示すときにエンジン運転を許容するエンジン制御手段と、
前記エンジン制御手段の作動中に前記記憶手段に記憶されている盗難判定結果のデータ列を監視し、該データ列が前記第１の所定値以外の値になっているときに該データ列を前記第２の所定値に書き換える誤動作防止手段と
を備えたことを特徴とする車両盗難防止装置。
【請求項２】
前記記憶手段には、前記盗難判定結果のデータ列の値に応じてエンジン運転の禁止／許可を切り換えるフラグが記憶され、
前記誤動作防止手段は、前記盗難判定結果のデータ列を前記第２の所定値に書き換える際に前記フラグをエンジン運転許容を示す値に書き換え、
前記エンジン制御手段は、前記フラグの値によってエンジン運転の禁止／許可を切り換えることを特徴とする請求項１に記載の車両盗難防止装置。
【請求項３】
エンジン始動後のエンジン運転履歴によって盗難判定結果を推定する盗難判定結果推定手段を備え、
前記誤動作防止手段は、前記盗難判定結果推定手段により前記盗難判定結果が正常であったと推定されたときに、前記記憶手段に記憶されている盗難判定結果のデータ列を前記第２の所定値に書き換えることを特徴とする請求項１又は２に記載の車両盗難防止装置。
【請求項４】
前記誤動作防止手段は、前記記憶手段に記憶されている前記盗難判定結果のデータ列の各ビットの値が前記第１の所定値を示す各ビットの値と所定数以上一致するときに、当該盗難判定結果のデータ列が前記第１の所定値であると見なすことを特徴とする請求項１乃至３のいずれかに記載の車両盗難防止装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、車両に対する盗難行為を自己診断して車両盗難を未然に防ぐ車両盗難防止装置に関するものである。
【０００２】
【従来の技術】
近年、車両に対する盗難行為を自己診断する盗難判定装置を設け、この盗難判定装置から盗難判定結果をエンジン制御装置に送信して、盗難発生時に燃料噴射・点火をカットしてエンジンを強制停止させるようにしたものがある。このような車両盗難防止装置では、図９に示すように、盗難判定動作終了前に盗難判定装置からエンジン制御装置に送信されてくる盗難判定結果が盗難（ＮＧ）か正常（ＯＫ）かを判定し（ステップ４０１，４０２）、正常であれば、ＲＡＭに記憶する盗難判定フラグを「０」にセットし（ステップ４０３）、盗難であれば、盗難判定フラグを「１」にセットし（ステップ４０４）、盗難判定動作を終了する（ステップ４０５）。更に、エンジン制御装置は、イグニッションスイッチのオン後に周期的に起動される図１０に示す燃料噴射・点火制御ルーチンにおいて、ＲＡＭに記憶されている盗難判定フラグが「１」であるか否かを監視し（ステップ４１１）、盗難判定フラグが「１」であれば、燃料噴射・点火をカットしてエンジンを強制停止させるようになっている。また、盗難判定フラグが「１」以外の時は、通常の燃料噴射・点火処理を行う（ステップ４１３）。
【０００３】
【発明が解決しようとする課題】
しかし、上記従来の車両盗難防止制御では、ＲＡＭに記憶されている盗難判定フラグの値がノイズ等の何等かの原因で破壊（いわゆるＲＡＭ化け）されてしまうおそれがある。このような場合、実際には正常（盗難判定フラグ＝０）であるにも拘らず、盗難（盗難判定フラグ＝１）と判定されてしまい、エンジンが強制停止されてしまう。
【０００４】
このような不具合を解消するため、車両盗難防止制御を図１１及び図１２に示すように改良することが考えられている。即ち、図１１の盗難判定通信ロジックでは、図９のステップ４０３，４０４の処理をステップ４０３ａ，４０４ａに変更し、盗難判定結果を１バイトデータ（８ビットデータ）でＲＡＭ内の３つの記憶領域ＲＡＭ１，ＲＡＭ２，ＲＡＭ３に記憶する。この際、正常の場合には、ＲＡＭ１，ＲＡＭ２，ＲＡＭ３を共に＄００にセットし、盗難の場合には、＄ＦＦにセットする。一方、図１２に示す燃料噴射・点火制御ルーチンでは、ＲＡＭ１，ＲＡＭ２，ＲＡＭ３で多数決をとり（ステップ４１０）、２個以上のＲＡＭ値が＄ＦＦの場合に盗難と判定し（ステップ４１１ａ）、燃料噴射・点火をカットする。また、＄ＦＦ以外の場合は正常と判定し、通常の燃料噴射・点火処理を行う（ステップ４１３）。
【０００５】
この方式では、ノイズ等により１つのＲＡＭ値が＄００から＄ＦＦに化ける確率は１／２５６であり、このようなＲＡＭ化けが同時に２箇所以上発生しない限り、燃料噴射・点火カットにならないため、万一、ＲＡＭ化けが発生しても燃料噴射・点火カットになることがほとんど無く、システムの信頼性が極めて高くなる。
【０００６】
しかしながら、この方式では、ＲＡＭ内に盗難判定結果の受信データ格納領域が３箇所（８ビット×３）必要となり、その分、他の制御に使用する記憶領域が少なくなってしまう。電子制御化が進む最近の車両では、ＲＡＭに格納する制御データ量も増加する傾向にあり、ＲＡＭの容量を拡大しないと、ＲＯＭ内に盗難判定結果の受信データ格納領域を３箇所確保するのが困難な場合がある。また、ＲＡＭ容量の拡大は製品コストを上昇させる要因にもなり、低コスト化の要求にも反する。
【０００７】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、ＲＡＭに記憶する盗難判定結果のデータ量を少なくしながら、盗難判定結果の受信データのＲＡＭ化けによる誤動作の発生確率を大幅に低減でき、システムの信頼性を向上することができる車両盗難防止装置を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の車両盗難防止装置は、車両盗難の有無を判定する盗難判定手段と、前記盗難判定手段による盗難判定結果を複数ビットのデータ列で記憶する記憶手段と、前記記憶手段に記憶されている盗難判定結果のデータ列が第１の所定値を示すときにエンジン運転を禁止し、第２の所定値を示すときにエンジン運転を許容するエンジン制御手段と、前記エンジン制御手段の作動中に前記記憶手段に記憶されている盗難判定結果のデータ列を監視し、該データ列が前記第１の所定値以外の値になっているときに該データ列を前記第２の所定値に書き換える誤動作防止手段とを備えた構成となっている。
【０００９】
この構成では、記憶手段に盗難判定結果が複数ビットのデータ列で記憶される。従って、万一、外部からのノイズ等により盗難判定結果のデータ列にＲＡＭ化けが発生したとしても、ほとんどの場合は一部のビットの値が化けるだけであり、第２の所定値（正常）を示すデータ列が第１の所定値（盗難）を示すデータ列にＲＡＭ化けする確率は極めて低い。
【００１０】
この点を考慮し、誤動作防止手段は、エンジン制御手段の作動中に記憶手段に記憶されている盗難判定結果のデータ列を監視し、該データ列が第１の所定値（盗難）以外の値になっているときに、該データ列を第２の所定値（正常）に書き換える。これにより、第２の所定値（正常）を示すデータ列の一部のビットの値が化けた場合でも、該データ列を第２の所定値（正常）に訂正することができ、誤動作を未然に防ぐことができる。
【００１１】
また、請求項２では、前記記憶手段には、前記盗難判定結果のデータ列の値に応じてエンジン運転の禁止／許可を切り換えるフラグが記憶され、前記誤動作防止手段は、前記盗難判定結果のデータ列を前記第２の所定値に書き換える際に前記フラグをエンジン運転許容を示す値に書き換え、前記エンジン制御手段は、前記フラグの値によってエンジン運転の禁止／許可を切り換える。
【００１２】
つまり、請求項２では、盗難判定結果のデータ列の値でエンジン運転の禁止／許可を切り換える際に、まず、盗難判定結果のデータ列の値でフラグを切り換え、そのフラグの値でエンジン運転の禁止／許可を切り換える。この方式は、盗難防止処理の途中にフラグの切換処理を介在させるものであるが、この場合も、盗難判定結果のデータ列が第１の所定値（盗難）以外の値になっているときに該データ列を第２の所定値（正常）に書き換えると共に、フラグをエンジン運転許容を示す値に書き換える。これにより、盗難判定結果のデータ列（フラグも含む）のＲＡＭ化けによる誤動作を未然に防ぐことができる。
【００１３】
また、請求項３では、エンジン始動後のエンジン運転履歴によって盗難判定結果を推定する盗難判定結果推定手段を備え、前記誤動作防止手段は、前記盗難判定結果推定手段により前記盗難判定結果が正常であったと推定されたときに、前記記憶手段に記憶されている盗難判定結果のデータ列を前記第２の所定値に書き換える。
【００１４】
つまり、エンジン運転中に、外部からのノイズ等により盗難判定結果のデータ列が第１の所定値（盗難）にＲＡＭ化けする可能性（但しこの可能性は極めて低い）が考えられるが、このような場合には、エンジン始動当初は、盗難判定結果のデータ列が第２の所定値（正常）であり、エンジンが正常に始動され、その後もエンジンが正常に運転される。これに対し、盗難判定手段が盗難と判定した場合には、盗難判定結果のデータ列は当初より第１の所定値（盗難）であるため、エンジン運転は当初より禁止される。このような関係から、エンジン始動後のエンジン運転履歴によって盗難判定結果を推定することが可能である。
【００１５】
そこで、請求項３では、エンジン始動後のエンジン運転履歴から盗難判定結果を盗難判定結果推定手段により推定し、盗難判定結果が正常であったと推定されたときには、盗難判定結果のデータ列を第２の所定値（正常）に書き換える。これにより、ＲＡＭ化けによる誤動作を一層確実に防ぐことができる。
【００１６】
また、請求項４では、前記誤動作防止手段は、記憶手段に記憶されている盗難判定結果のデータ列の各ビットの値が第１の所定値（盗難）を示す各ビットの値と所定数以上一致するときに、当該盗難判定結果のデータ列が第１の所定値であると見なす。
【００１７】
つまり、盗難判定結果のデータ列が第１の所定値（盗難）である場合にも、外部からのノイズ等によりＲＡＭ化けが発生する可能性があるが、この場合でも、第１の所定値（盗難）を示すデータ列のうちの一部のビットの値が化ける場合がほとんどである。そこで、請求項４では、盗難判定結果のデータ列の各ビットの値が第１の所定値（盗難）を示すデータ列の各ビットの値と所定数以上一致するときに、当該盗難判定結果のデータ列が第１の所定値であると見なすことで、第１の所定値（盗難）を示すデータ列の一部のビットの値が化けた場合でも第１の所定値（盗難）と見なして、エンジン運転を禁止することができる。従って、第１の所定値（盗難）のＲＡＭ化けにも対処できる。
【００１８】
【発明の実施の形態】
以下、本発明の第１の実施形態を図１乃至図５に基づいて説明する。まず、図１に基づいて、車両盗難防止装置全体の概略構成を説明する。キー１１には、所定の暗証コードを格納するメモリ１２が設けられ、このキー１１が差し込まれるキーシリンダ１３には、キー１１の暗証コードを読み取る読取装置（図示せず）が設けられている。この読取装置で読み取られた暗証コードは、盗難判定手段であるコード照合装置１４に入力され、このコード照合装置１４に内蔵されたマイクロコンピュータ（図示せず）のメモリ１５に格納されている暗証コードと照合されて、キーシリンダ１３に差し込まれたキー１１が正規のキーであるか否かが判定され、正規のキーでなければ、車両盗難と判定される。
【００１９】
この盗難判定結果は通信線１６を介してエンジン制御手段であるエンジン制御装置１７に入力され、後述する記憶手段であるＲＡＭ２９の所定領域ＲＡＭ１に例えば１バイトデータ（８ビットデータ）で書き込まれる。この実施形態では、盗難判定結果が盗難（暗証コード不一致）の場合には、ＲＡＭ１に第１の所定値である＄ＦＦが書き込まれ、正常（暗証コード一致）の場合には、ＲＡＭ１に第２の所定値である＄００が書き込まれる。
【００２０】
上記キー１１をキーシリンダ１３に差し込んで回動操作すると、イグニッションスイッチ１８とスタータスイッチ１９とが順次オンし、イグニッションスイッチ１８のオンにより、コード照合装置１４，エンジン制御装置１７，点火装置２０及び燃料噴射装置２１にバッテリ２２の電力が供給され、また、スタータスイッチ１９のオンによりスタータ２３にバッテリ２２の電力が供給される。
【００２１】
一方、エンジン制御装置１７には、回転センサ２４からのエンジン回転数信号、吸気量センサ２５からの吸気量信号、車速センサ３０からの車速信号等、エンジン運転状態に関する各種のデータが入出力ポート２６を介して入力される。このエンジン制御装置１７は、マイクロコンピュータを主体として構成され、各種の演算処理を行うＣＰＵ２７，後述する各種のプログラムや定数を記憶したＲＯＭ２８，各種の入力データや演算結果を一時的に記憶するＲＡＭ２９等が内蔵され、このＲＡＭ２９に一時的に記憶されたエンジン運転状態に関するデータに基づいてＣＰＵ２７で燃料噴射量や点火時期等を演算し、その演算結果に応じた燃料噴射信号と点火信号とをエンジン回転に同期して燃料噴射装置２１及び点火装置２０に出力し、エンジンを制御する。
【００２２】
次に、図２〜図５に示された各ルーチンのフローチャートに従って、車両盗難判定及びエンジン制御に関する処理の流れを説明する。図２〜図５は、いずれもエンジン制御装置１７で実行されるルーチンのフローチャートである。
【００２３】
図２はコード照合装置１４に対して盗難判定結果（暗証コード照合結果）の送信を要求する処理の流れを示すフローチャートである。本ルーチンは、エンジン制御装置１７への電源投入後（つまりイグニッションスイッチ１８のオン後）、所定時間毎（例えば８ｍｓ毎）に割込み処理される。
【００２４】
本ルーチンの処理が開始されると、まず、ステップ１０１で、エンジン回転数ＮＥが５００ｒｐｍ以上か否か、つまりエンジン始動完了か否かを判定し、エンジン回転数ＮＥが５００ｒｐｍ未満ならば本ルーチンを終了するが、エンジン回転数が５００ｒｐｍ以上ならば、ステップ１０２へ進み、コード照合装置１４に対して盗難判定結果の送信を要求する。
【００２５】
一方、図３に示す盗難判定通信ロジックは、コード照合装置１４からエンジン制御装置１７に送信されてくる盗難判定結果（暗証コード照合結果）をＲＡＭ２９に書き込む処理である。本ルーチンは所定時間毎に割込み処理され、処理が開始されると、まずステップ１１１で、盗難判定通信が終了したか否かを判定し、終了前であれば、ステップ１１２に進み、盗難判定通信処理を行い、コード照合装置１４で判定した盗難判定結果を受信する。そして、次のステップ１１３で、受信した盗難判定結果が正常（ＯＫ）か異常（ＮＧ）かを判定し、それに応じて１バイトデータ（８ビットデータ）でＲＡＭ２９内の所定領域ＲＡＭ１に書き込む（ステップ１１４，１１５）。この際、正常の場合にはＲＡＭ１＝＄００（第２の所定値）とし、盗難の場合にはＲＡＭ１＝＄ＦＦ（第１の所定値）とする。更に、正常の場合には盗難判定フラグを「０」にセットし、盗難の場合には盗難判定フラグを「１」にセットする（ステップ１１４，１１５）。この後、盗難判定通信動作の終了処理を行い（ステップ１１６）、本ルーチンを終了する。
【００２６】
また、図４に示すベース処理は、盗難判定結果のデータ列であるＲＡＭ１の値を常時監視し、ＲＡＭ化けが生じた時にＲＡＭ１の値を書き換える処理を行う。このベース処理は、特許請求の範囲でいう誤動作防止手段として機能し、エンジン制御装置１７への電源投入後に所定時間毎又は所定クランク角毎に実行される。処理が開始されると、まずステップ１２１で、盗難判定通信動作が終了したか否かを判定し、終了後であれば、ステップ１２２に進み、盗難判定結果のデータ列であるＲＡＭ１の値が盗難を示す＄ＦＦ（第１の所定値）であるか否かを判定し、＄ＦＦ以外の値であるときには、ステップ１２４に進み、ＲＡＭ１＝＄００（第２の所定値）、盗難判定フラグ＝０と書き換える。一方、上記ステップ１２２で、ＲＡＭ１の値が盗難を示す＄ＦＦであることが確認されれば、ステップ１２３に進み、ＲＡＭ１＝＄ＦＦ、盗難判定フラグ＝１と再度書き込む。
【００２７】
一方、図５は、盗難判定フラグの値を常時監視して燃料噴射・点火の許可／禁止を切り替えるルーチンであり、回転センサ２４からエンジン制御装置１７に入力されるエンジン回転数信号に同期して実行される。本ルーチンの処理が開始されると、まずステップ１３１で、盗難判定フラグが盗難を示す「１」であるか否かを判定し、「１」である場合には、ステップ１３２に進み、燃料噴射・点火カットを行い、エンジン運転を禁止する。一方、盗難判定フラグが正常を示す「０」である場合には、ステップ１３３に進み、通常の燃料噴射処理・点火処理を行い、エンジン運転を実行する。
【００２８】
以上説明した第１の実施形態によれば、コード照合装置１４で判定した盗難判定結果をＲＡＭ２９内の所定領域ＲＡＭ１に８ビットのデータ列で記憶するようにしたので、万一、外部からのノイズ等により盗難判定結果のデータ列にＲＡＭ化けが発生したとしても、ほとんどの場合は一部のビットの値が化けるだけであり、正常を示すデータ列＄００が盗難を示すデータ列＄ＦＦにＲＡＭ化けする確率は極めて低い。
【００２９】
この点に着目し、エンジン制御装置１７への電源投入後にＲＡＭ１の値を常時監視し、ＲＡＭ１が＄ＦＦ（盗難）以外の値になっているときにＲＡＭ１を＄００（正常）に書き換える。これにより、正常を示すデータ列＄００の一部のビットの値が化けた場合でも、該データ列を＄００（正常）に訂正することができ、誤動作を未然に防ぐことができて、システムの信頼性を向上することができる。しかも、図１１及び図１２に示す従来例で用いられていたＲＡＭ２，ＲＡＭ３が不要となり、盗難判定結果の記憶に割り当てる使用メモリ量を少なくすることができ、ＲＡＭ２９の記憶領域を効率良く使用することができる。
【００３０】
ところで、エンジン運転中に、外部からのノイズ等によりＲＡＭ１が＄ＦＦ（盗難）にＲＡＭ化けする可能性（但しこの可能性は極めて低い）が考えられるが、このような場合には、エンジン始動当初は、ＲＡＭ１が＄００（正常）であり、エンジンが正常に始動され、エンジンが正常に運転される。これに対し、コード照合装置１４の盗難判定結果が盗難の場合には、ＲＡＭ１は当初より＄ＦＦ（盗難）に書き換えられるため、エンジン運転は当初より禁止される。このような関係から、エンジン始動後のエンジン運転履歴によって盗難判定結果を推定することが可能である。
【００３１】
この点を考慮し、エンジン始動後のエンジン運転履歴によって盗難判定結果を推定する盗難判定結果推定手段を付加した実施形態が図６に示す第２の実施形態である。図６のベース処理は、図４のベース処理に対して、ステップ１２１ａ，１２２ａの処理を追加したものであり、これら両ステップ１２１ａ，１２２ａの処理が盗難判定結果推定手段として機能する。
【００３２】
図６のベース処理が起動されると、盗難判定通信動作終了にステップ１２１ａに進み、エンジン始動後、Ｋ秒間内にエンストが有ったか否かを判定する。ここで、Ｋ秒間は、盗難判定により燃料噴射・点火カットが行われるまでの時間より少し長い時間であり、このＫ秒間内にエンストが有れば、盗難判定による燃料噴射・点火カットの可能性がある。もし、Ｋ秒間内にエンストが無ければ、盗難判定結果が盗難ではなく、エンジン始動が正常に行われているので、ステップ１２１ａからステップ１２４に進み、ＲＡＭ１＝＄００（正常）、盗難判定フラグ＝０と書き換える。
【００３３】
一方、Ｋ秒間内にエンストが有れば、盗難判定による燃料噴射・点火カットの可能性があるので、ステップ１２２に進み、盗難判定結果のデータ列であるＲＡＭ１の値が＄ＦＦ（盗難）であるか否かを判定し、＄ＦＦ以外の値であるときには、ステップ１２４に進み、ＲＡＭ１＝＄００、盗難判定フラグ＝０と書き換える。もし、ＲＡＭ１の値が＄ＦＦ（盗難）であれば、ステップ１２２ａに進み、イグニッションスイッチ（ＩＧ）１９のオン後に車速が所定速度Ｍｋｍ／ｈ以上になったことがあるか否かを判定する。ここで、所定速度Ｍｋｍ／ｈは、人が車両を押して動かせる車速よりも少し速い車速である。従って、イグニッションスイッチ１９のオン後に車速が所定速度Ｍｋｍ／ｈ以上になったことがあれば、エンジンが正常に始動して正常な走行を行ったものと推定される。この場合には、コード照合装置１４による盗難判定結果が盗難ではなく、エンジン始動が正常に行われているので、ステップ１２２ａからステップ１２４に進み、ＲＡＭ１＝＄００（正常）、盗難判定フラグ＝０と書き換える。これにより、ＲＡＭ１が＄００（正常）から＄ＦＦ（盗難）に完全にＲＡＭ化けした場合（この発生確率は極めて低い）にも、誤動作を防止できる。
【００３４】
これに対し、ステップ１２２ａで「Ｎｏ」と判定された場合、つまりイグニッションスイッチ１９のオン後に車速が所定速度Ｍｋｍ／ｈ以上になったことがない場合には、盗難判定による燃料噴射・点火カットで車両の走行が阻止されたものと推定される。この場合には、ステップ１２３に進み、ＲＡＭ１＝＄ＦＦ、盗難判定フラグ＝１と再度書き込む。これ以外の処理は前記第１の実施形態と同じである。
【００３５】
尚、盗難判定結果を推定するデータとなるエンジン運転履歴としては、Ｋ秒間内のエンストや車速の他、例えば、エンジン回転数、吸気量、吸気管圧力、エンジン冷却水温等のいずれかを用いるようにしても良い。
【００３６】
以上説明した第１及び第２の両実施形態では、盗難判定結果を記憶するＲＡＭ１の値でエンジン運転の禁止／許可を切り換える際に、まず、ＲＡＭ１の値で盗難判定フラグを切り換え、その盗難判定フラグの値でエンジン運転の禁止／許可を切り換えるようになっているが、盗難判定フラグを廃止し、図５のステップ１３１で、盗難判定フラグの判定処理に代えて、ＲＡＭ１＝＄ＦＦ（盗難）か否かを判定し、この判定結果が「Ｙｅｓ」の場合に燃料噴射・点火カットを行い、「Ｎｏ」の場合に通常の燃料噴射処理・点火処理を行うようにしても良い。
【００３７】
ところで、ＲＡＭ１が＄ＦＦ（盗難）である場合にも、外部からのノイズ等によりＲＡＭ化けが発生する可能性があるが、この場合でも、ＲＡＭ１の一部のビットの値が化ける場合がほとんどである。従って、ＲＡＭ１の各ビットの値が＄ＦＦ（盗難）の各ビットの値と所定数（全ビット数の半数より大きい数）以上一致するときに、ＲＡＭ１の値が＄ＦＦ（盗難）であると見なすことが可能であり、これを利用すれば、ＦＦ（盗難）のＲＡＭ化けにも対処できる。
【００３８】
以下、これを具体化した第３の実施形態を図７及び図８に基づいて説明する。図７のベース処理は、図６のステップ１２２，１２３，１２４の処理をそれぞれステップ１２２ｂ，１２３ａ，１２４ａの処理に変更したものであり、これ以外の各ステップの処理は図６の処理と同じである。
【００３９】
図７のベース処理では、エンジン始動後、Ｋ秒間内にエンストが有れば、盗難判定による燃料噴射・点火カットの可能性があるので、ステップ１２２ｂに進み、ＲＡＭ１の８個のビットの値のうち“１”が５個以上存在するか否かを判定する。つまり、ＲＡＭ１の値が＄ＦＦ（盗難）である場合にはＲＡＭ１の８個のビットの値が全て“１”であるので、最大３個のビットの値が同時に化けて“０”になっても、ＲＡＭ１の値が＄ＦＦ（盗難）であると見なされる。また、ＲＡＭ１の値が＄００（正常）である場合には、ＲＡＭ１の８個のビットの値が全て“０”であるので、５個以上のビットの値が同時に化けて“１”にならない限り、ＲＡＭ１の値が＄００（正常）であると見なされる。
【００４０】
上記ステップ１２２ｂで、ＲＡＭ１の８個のビットの値のうち“１”が５個以上存在しないと判定された場合には、ＲＡＭ１の値が＄００（正常）であると見なされ、ステップ１２４ａに進み、ＲＡＭ１＝＄００と書き換える。もし、ＲＡＭ１の８個のビットの値のうち“１”が５個以上存在すれば、ＲＡＭ１の値が＄ＦＦ（盗難）と見なされ、ステップ１２２ａに進み、イグニッションスイッチ（ＩＧ）１９のオン後に車速が所定速度Ｍｋｍ／ｈ以上になったことがあるか否か（つまり車両が走行されたか否か）を判定し、車速が所定速度Ｍｋｍ／ｈ以上になったことがない場合には、盗難判定による燃料噴射・点火カットで車両の走行が阻止されたものと判断して、ステップ１２３ａに進み、ＲＡＭ１＝＄ＦＦと再度書き込む。
【００４１】
一方、図８の燃料噴射・点火制御ルーチンは、図５のステップ１３１の処理をステップ１３１ａの処理に変更したものであり、これ以外の各ステップの処理は図５の処理と同じである。まず、ステップ１３１ａで、ＲＡＭ１の８個のビットの値のうち“１”が５個以上存在するか否かを判定する。例えば、ＲＡＭ１の値が＄ＦＦ（盗難）であった場合には、最大３個のビットの値が同時に化けて“０”になっても、ＲＡＭ１の値が＄ＦＦ（盗難）であると見なして、ステップ１３２に進み、燃料噴射・点火カットを行う。また、ＲＡＭ１の値が＄００（正常）であった場合には、５個以上のビットの値が同時に化けて“１”にならない限り、ＲＡＭ１の値が＄００（正常）であると見なして、ステップ１３３に進み、通常の燃料噴射処理・点火処理を行う。
【００４２】
以上説明した第３の実施形態では、ＲＡＭ１の値が＄ＦＦ（盗難）である場合に、一部のビットの値が化けた場合でも＄ＦＦ（盗難）と見なして、エンジン運転を禁止することができるので、＄ＦＦ（盗難）のＲＡＭ化けにも対処でき、システムの信頼性を更に向上することができる。
【００４３】
尚、上記各実施形態では、第１の所定値（盗難）を示すデータ列を＄ＦＦとし、第２の所定値（正常）を示すデータ列を＄００としたが、これ以外の値に設定しても良い。また、上記各実施形態では、データ列（ＲＡＭ１）を８ビットとしたが、２ビット以上であれば、何ビットでも良い（但し、ビット数が多くなるほど信頼性が向上する）。
【００４４】
【発明の効果】
以上の説明から明らかなように、本発明の請求項１の構成によれば、記憶手段に盗難判定結果を複数ビットのデータ列で記憶し、そのデータ列を監視して、該データ列が第１の所定値（盗難）以外の値になったときに該データ列を第２の所定値（正常）に書き換えるようにしたので、第２の所定値（正常）を示すデータ列の一部のビットの値が化けた場合でも、該データ列を第２の所定値（正常）に訂正することができ、誤動作を未然に防ぐことができて、システムの信頼性を向上することができる。しかも、従来とは異なり、盗難判定結果を複数箇所で記憶する必要がないので、盗難判定結果の記憶に割り当てる使用メモリ量を少なくすることができ、記憶手段のメモリを効率良く使用することができる。
【００４５】
また、請求項２では、盗難判定結果のデータ列を第２の所定値（正常）に書き換える際にフラグをエンジン運転許容を示す値に書き換え、このフラグの値によってエンジン運転の禁止／許可を切り換えるようにしたので、エンジン運転の禁止／許可の切換えにフラグを用いる従来方式（図９，図１０）の制御に本発明を適用する場合にプログラムの変更が少なくて済む利点がある。
【００４６】
また、請求項３では、エンジン始動後のエンジン運転履歴から盗難判定結果を推定し、盗難判定結果が正常であったと推定されたときには、盗難判定結果のデータ列を第２の所定値（正常）に書き換えるようにしたので、ＲＡＭ化けによる誤動作を一層確実に防ぐことができる。
【００４７】
また、請求項４では、盗難判定結果のデータ列の各ビットの値が第１の所定値（盗難）を示すデータ列の各ビットの値と所定数以上一致するときに、当該盗難判定結果のデータ列が第１の所定値であると見なすようにしたので、第１の所定値（盗難）のＲＡＭ化けにも対処でき、システムの信頼性を一層向上することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示すシステム全体のブロック図
【図２】エンジン制御装置が実行するコード照合装置への照合結果（盗難判定結果）の送信要求信号の出力処理の流れを示すフローチャート
【図３】盗難判定通信ロジックの処理の流れを示すフローチャート
【図４】ベース処理の流れを示すフローチャート
【図５】燃料噴射・点火制御の処理の流れを示すフローチャート
【図６】本発明の第２の実施形態におけるベース処理の流れを示すフローチャート
【図７】本発明の第３の実施形態におけるベース処理の流れを示すフローチャート
【図８】第３の実施形態における燃料噴射・点火制御の処理の流れを示すフローチャート
【図９】従来の盗難判定通信ロジックの処理の流れを示すフローチャート
【図１０】従来の燃料噴射・点火制御の処理の流れを示すフローチャート
【図１１】従来の改良された盗難判定通信ロジックの処理の流れを示すフローチャート
【図１２】従来の改良された燃料噴射・点火制御の処理の流れを示すフローチャート
【符号の説明】
１１…キー、１２…メモリ、１３…キーシリンダ、１４…コード照合装置（盗難判定手段）、１５…メモリ、１７…エンジン制御装置（エンジン制御手段，誤動作防止手段，盗難判定結果推定手段）、１８…イグニッションスイッチ、１９…スタータスイッチ、２０…点火装置、２１…燃料噴射装置、２９…ＲＡＭ（記憶手段）。
【図１】
0003622797.tif 000002
【図２】
0003622797.tif 000003
【図３】
0003622797.tif 000004
【図４】
0003622797.tif 000005
【図５】
0003622797.tif 000006
【図６】
0003622797.tif 000007
【図７】
0003622797.tif 000008
【図８】
0003622797.tif 000009
【図９】
0003622797.tif 000010
【図１０】
0003622797.tif 000011
【図１１】
0003622797.tif 000012
【図１２】
0003622797.tif 000013