JP3463322B2 - Memory check device for vehicle control device - Google Patents
Memory check device for vehicle control deviceInfo
- Publication number
- JP3463322B2 JP3463322B2 JP18593593A JP18593593A JP3463322B2 JP 3463322 B2 JP3463322 B2 JP 3463322B2 JP 18593593 A JP18593593 A JP 18593593A JP 18593593 A JP18593593 A JP 18593593A JP 3463322 B2 JP3463322 B2 JP 3463322B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- engine
- checksum
- vehicle
- abnormality detection
- 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.)
- Expired - Fee Related
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、車両用制御装置に関
し、詳しくはコンピュータのメモリチェックに関するも
のである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vehicle control device, and more particularly to a computer memory check.
【0002】[0002]
【従来の技術】車載用機器を制御する車両用制御装置に
おいて、近年マイクロコンピュータを用いたものが製品
化されている。また、このような装置においては、車両
を制御するプログラムの不正な改造を防止するためにプ
ログラムをチェックする要求も高まっている。2. Description of the Related Art In recent years, as a vehicle control device for controlling an in-vehicle device, a device using a microcomputer has been commercialized. Further, in such a device, there is an increasing demand for checking the program for preventing unauthorized modification of the program for controlling the vehicle.
【0003】ところで、車両制御用のプログラムのチェ
ックをする技術としては、特開昭55−128641号
公報や特開平2−281352号公報に示すようなもの
がある。すなわち、前者は、例えば、エンジン停止時や
車両停止時など車両を制御するための演算要求が非常に
少ない状態、または通常の動作領域では起り得ない状態
にメモリの記憶領域を一度にチェックするものであり、
後者は、通常の動作領域での状態(走行中)にメモリの
記憶領域を分割し、分割した部分を所定の時間毎にチェ
ックするものである。By the way, as a technique for checking a vehicle control program, there are techniques disclosed in JP-A-55-128641 and JP-A-2-281352. That is, the former checks the storage area of the memory at a time in a state where there are very few calculation requests for controlling the vehicle such as when the engine is stopped or when the vehicle is stopped, or in a state that cannot occur in the normal operation area. And
In the latter, the storage area of the memory is divided into a state (running) in a normal operation area, and the divided portion is checked every predetermined time.
【0004】[0004]
【発明が解決しようとする課題】しかしながら、特開昭
55−128641号公報の方法では、車両停止時及び
エンジン停止時の、特殊な状態時でしか、メモリチェッ
クができない為、エンジン始動後、即通常走行に入ると
チェックできず、また、メモリの全領域を一度にチェッ
クする方式であるため、始動時にメモリのチェックをし
た場合には、メモリチェックをする間、エンジンを制御
するための演算処理が実行されないため、エンジンの始
動に悪影響を及ぼすことも考えられる。However, according to the method disclosed in Japanese Patent Laid-Open No. 55-128641, the memory check can be performed only in a special state when the vehicle is stopped and the engine is stopped. Since it is a method that cannot be checked when entering normal running, and because it is a method that checks the entire memory area at once, if the memory is checked at the time of start-up, arithmetic processing for controlling the engine during the memory check Is not executed, the engine start may be adversely affected.
【0005】また、特開平2−281352号公報の方
式では、メモリチェックする領域を分割し、分割した部
分を一定時間毎にチェックしているが、このメモリチェ
ックを車両の走行時、或いは非走行時に拘らず常時実施
しているため、エンジンの高回転時になると、このメモ
リチェックがマイコンの処理負荷となり、エンジン制御
処理が遅れ、やはりエンジンの始動に悪影響を及ぼすと
いった問題が生じる。Further, in the method disclosed in Japanese Patent Laid-Open No. 2-281352, the memory check area is divided and the divided portions are checked at regular time intervals. This memory check is performed while the vehicle is running or when the vehicle is not running. Since it is always performed regardless of the time, when the engine speed is high, this memory check causes a processing load on the microcomputer, delays the engine control processing, and again has a problem that the engine start is adversely affected.
【0006】そこで、本発明は上記問題点を解決するた
めになされたものであり、エンジン始動に悪影響を及ぼ
さず、確実にプログラムメモリのチェックをする装置を
提案することを目的とする。Therefore, the present invention has been made to solve the above problems, and an object of the present invention is to propose a device for surely checking the program memory without adversely affecting the engine start.
【0007】[0007]
【課題を解決するための手段】本発明は、上記目的を達
成するために、コンピュータにて車両を制御する車両制
御装置において、前記車両を制御するためのプログラム
を格納しているメモリと、前記コンピュータの起動時
に、所定タイミング毎に前記メモリの記憶領域の所定バ
イト毎に前記プログラムをチェックして異常を検出する
プログラム異常検出手段と、前記車両に設けられたエン
ジンの回転数を検出し、エンジンの回転数が所定回転数
以上のとき、前記プログラム異常検出手段によるプログ
ラムの異常検出処理を中断し、その後、前記エンジン回
転数が所定回数未満となった時に前記異常検出処理を再
開する異常検出中断手段とを備えるといった技術手段を
採用する。In order to achieve the above object, the present invention provides a vehicle control device for controlling a vehicle by a computer, a memory storing a program for controlling the vehicle, and When the computer is started, a program abnormality detecting means for detecting an abnormality by checking the program for each predetermined byte of the storage area of the memory at predetermined timing, and an engine speed provided for the engine provided in the vehicle are detected. When the number of revolutions of the engine is equal to or higher than a predetermined number of revolutions, the program abnormality detection processing by the program abnormality detection means is interrupted,
When the number of turns falls below a predetermined number, the abnormality detection process is restarted.
The technical means such as an abnormality detection interrupting means for opening is adopted.
【0008】[0008]
【作用】上記構成において、異常検出中断手段は、車両
に設けられたエンジンの回転数が所定回転数以上のと
き、プログラム異常検出手段によるコンピュータの起動
時に所定タイミング毎に所定バイト毎に分割された記憶
領域を順次チェックするといった一連のプログラムの異
常検出処理を中断し、その後、エンジン回転数が所定回
数未満となった時に異常検出処理を再開する。これによ
り、プログラムの異常検出処理の実行により、エンジン
を制御するための演算処理が遅れてエンジンの始動に悪
影響を与えるといったことはない。In the above structure, the abnormality detection interruption means is divided into predetermined bytes at predetermined timing when the computer is started by the program abnormality detection means when the rotation speed of the engine provided in the vehicle is equal to or higher than the predetermined rotation speed. The abnormality detection process of a series of programs, such as sequentially checking the storage area, is interrupted, and then the engine speed
To resume the abnormality detection process when it becomes less than the number. As a result, the execution of the program abnormality detection process does not delay the calculation process for controlling the engine and adversely affect the start of the engine.
【0009】[0009]
【実施例】以下、本発明の実施例について図に基づいて
説明する。図1は電子式エンジン制御装置の全体構成を
示す図である。図1において、制御ユニット1は、マイ
コン2、出力インターフェース回路3、ROM4、電源
回路5、入力インターフェース回路6、およびバックア
ップ回路(B/U回路)7等より構成されている。ま
た、制御ユニット1にはエアフロメータ61、スロット
ルセンサ62、およびクランク角センサ63等からの信
号が入力インターフェース回路6を介して入力されてい
る。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing the overall configuration of an electronic engine control device. In FIG. 1, the control unit 1 includes a microcomputer 2, an output interface circuit 3, a ROM 4, a power supply circuit 5, an input interface circuit 6, a backup circuit (B / U circuit) 7, and the like. Further, signals from the air flow meter 61, the throttle sensor 62, the crank angle sensor 63, etc. are input to the control unit 1 via the input interface circuit 6.
【0010】ここで、エアフロメータ61とはエンジン
に吸入される空気量を求めるセンサであり、図示しない
エンジンの吸気管内に配設されている。また、スロット
ルセンサ62とはアクセルペダルに連動して開閉するス
ロットル弁の開度を求めるセンサであり、クランク角セ
ンサ63とは図示しないディストリビュータ内に取り付
けられて、ディストリビュータの回転に応じた信号を出
力するセンサである。Here, the air flow meter 61 is a sensor for determining the amount of air taken into the engine, and is arranged in the intake pipe of the engine (not shown). The throttle sensor 62 is a sensor that determines the opening of a throttle valve that opens and closes in conjunction with the accelerator pedal. The crank angle sensor 63 is mounted in a distributor (not shown) and outputs a signal according to the rotation of the distributor. It is a sensor that does.
【0011】なお、制御ユニット1の電源は、バッテリ
52からイグニッションSW51を介して電源回路5へ
と供給されており、イグニッションSW51がオン(閉
成)することにより、制御ユニット1は起動する。マイ
コン2は、CPU21、RAM22、入出力ポート(以
下、I/Oポートという)23、I/Oポート24、I
/Oポート25、およびA/D変換器26から構成され
ている。The power supply of the control unit 1 is supplied from the battery 52 to the power supply circuit 5 via the ignition SW 51, and the control unit 1 is activated by turning on (closing) the ignition SW 51. The microcomputer 2 includes a CPU 21, a RAM 22, an input / output port (hereinafter referred to as an I / O port) 23, an I / O port 24, and an I / O port 24.
It is composed of an / O port 25 and an A / D converter 26.
【0012】ここで、CPU21は車両を制御する各種
装置の作動制御等をするための処理を実行するものであ
り、詳しくは、入力インターフェース回路6を介して入
力された各種センサからの信号に基づき、ROM4に格
納されているプログラムに従って車両を制御する各種装
置の制御量を演算するものである。なお、CPU21で
の演算処理に使用する各制御定数および演算データはR
AM22に格納されている。Here, the CPU 21 executes processing for controlling the operation of various devices for controlling the vehicle, and more specifically, based on signals from various sensors input via the input interface circuit 6. , A control amount of various devices for controlling the vehicle is calculated according to a program stored in the ROM 4. Note that each control constant and calculation data used for calculation processing in the CPU 21 is R
It is stored in AM22.
【0013】そして、以上述べた処理によって求められ
た各種制御量は出力インターフェース回路3により各制
御信号に変換され、例えば燃料噴射弁31等の車両を制
御する各種装置に出力され、これにより、エンジンは運
転状態に応じた最適の燃料噴射量で制御することができ
る。一方、バックアップ回路7は、何らかの原因により
CPU21にて各種制御量が演算されなくなった場合
に、CPU21に代わって各種制御量を求めるものであ
る。The various control amounts obtained by the above-described processing are converted into various control signals by the output interface circuit 3 and output to various devices for controlling the vehicle such as the fuel injection valve 31 and the like. Can be controlled with an optimum fuel injection amount according to the operating state. On the other hand, the backup circuit 7 obtains various controlled variables instead of the CPU 21 when the various controlled variables are no longer calculated by the CPU 21 for some reason.
【0014】ところで、この電子式エンジン制御装置
は、前述した如く、ROM4に格納されているプログラ
ムに従って燃料噴射量を求めている。よって、このプロ
グラムが車両メーカの意に反して変更された場合には、
最適な燃料噴射量を演算設定することはできず、これに
より、エミッションの悪化やエンジンの故障を招くとい
った不具合を生じてしまう。By the way, the electronic engine control device obtains the fuel injection amount according to the program stored in the ROM 4, as described above. Therefore, if this program is changed against the wishes of the vehicle manufacturer,
An optimum fuel injection amount cannot be calculated and set, which causes a problem such as deterioration of emission and engine failure.
【0015】そこで、本実施例の装置では、このような
不具合を防止するための手段を備えているものであり、
この点について以下に説明する。図2はROM4に格納
されているプログラムが不正に変更されているか否かを
判別する処理(メモリチェック)を示すフローチャート
であり、このルーチンはイグニッションSW51がオン
してCPU21が起動されると8ms毎に実行される。Therefore, the apparatus of this embodiment is provided with means for preventing such a problem.
This point will be described below. FIG. 2 is a flowchart showing a process (memory check) for determining whether or not the program stored in the ROM 4 has been illegally changed. This routine is performed every 8 ms when the ignition SW 51 is turned on and the CPU 21 is activated. To be executed.
【0016】図2において、ステップ102ではプログ
ラムが不正に変更されているかを判別する処理(チェッ
クサム)を実施する状態にあるか否かを判別する。詳し
くは、ROM4の所定の領域に書き込まれている値が所
定の値になっているか否かで判別するものであり、例え
ば、車両メーカ等が制御プログラムを作成した後に仕様
変更などにより制御プログラムを変更した場合には、後
述する処理で不正改造があったと誤判定してしまうた
め、ROM4の上記所定の領域の値を予め変更して以下
の処理を実行しないようにするものである。In FIG. 2, in step 102, it is determined whether or not the processing (checksum) for determining whether the program has been illegally changed is in a state of being executed. Specifically, it is determined by whether or not the value written in a predetermined area of the ROM 4 is a predetermined value. For example, after the vehicle manufacturer or the like creates the control program, the control program is changed by changing the specifications. If changed, the value of the above-mentioned predetermined area of the ROM 4 is changed in advance so that the following processing is not executed, because it is erroneously determined that there has been unauthorized modification in the processing described later.
【0017】そして、このステップ102において、チ
ェックサムを実施する状態ではないと判断された場合に
は本ルーチンを終了し、実施する状態であると判断され
た場合にはステップ103に進む。ステップ103では
エンジン回転数が高回転状態(例えば、4000rp
m)にあるか否かを判別し、高回転時には以下の処理を
実施することなく本ルーチンを終了する。この理由につ
いて述べると、高回転時には回転数割込み処理が多発
し、エンジンを制御するための演算処理負荷が大きくな
る。よって、本実施例では高回転時にプログラムが不正
に変更されているかを判別する処理を中断してプログラ
ム負荷を減らし、エンジンを制御するための演算処理に
遅れが生じるのを防止しているのである。If it is determined in step 102 that the checksum is not to be executed, this routine is ended, and if it is determined that the checksum is to be executed, the routine proceeds to step 103. In step 103, the engine speed is high (for example, 4000 rp).
m), the routine is terminated without performing the following processing when the rotation speed is high. The reason for this is as follows: When the engine speed is high, the rotation speed interrupt processing frequently occurs, and the processing load for controlling the engine increases. Therefore, in the present embodiment, the processing for determining whether the program is illegally changed at the time of high rotation is interrupted to reduce the program load, and delay in the arithmetic processing for controlling the engine is prevented. .
【0018】ステップ104では後述する1回目完了フ
ラグを調べて、1回目のチェックサム判定が完了してい
るか否かを判別し、完了しているならステップ105に
進み、完了していないならステップ107に進む。そし
て、はじめは1回目のチェックサム判定が完了していな
いためステップ107に進む。ステップ107ではRO
M4内に格納されている値を各アドレス毎に順次加算し
てチェックサム値演算を実行する。詳しくは、本実施例
では、図3に示すように32K(=32768)バイト
の領域を256バイト毎に分割して、各領域毎に演算を
するものである。In step 104, a first-time completion flag, which will be described later, is checked to determine whether or not the first-time checksum judgment is completed. If completed, the process proceeds to step 105, and if not completed, step 107. Proceed to. Since the first checksum determination is not completed at the beginning, the process proceeds to step 107. In step 107, RO
The checksum value calculation is executed by sequentially adding the values stored in M4 for each address. More specifically, in this embodiment, as shown in FIG. 3, a 32K (= 32768) byte area is divided into 256 bytes, and an operation is performed for each area.
【0019】ステップ108では全領域のチェックサム
値演算が完了したかを判定し、完了していないなら本ル
ーチンを終了し、前述のステップ102〜107の処理
を繰り返し実行する。そして、全領域のチェックサム値
演算が完了した場合にはステップ109以降を実行す
る。なお、本実施例ではROM4を256バイト毎に分
割して演算処理するため、128回(=32768/2
56)ステップ102〜107の処理を繰り返すことに
より全領域のチェックサム値演算が完了する。また、前
述の如く、本ルーチンは8ms毎に実行されるので、全
領域チェックするのに要する時間は約1秒(8ms×1
28)である。In step 108, it is judged whether or not the checksum value calculation of all areas is completed, and if it is not completed, this routine is ended, and the above-mentioned steps 102 to 107 are repeatedly executed. Then, when the checksum value calculation of all areas is completed, step 109 and subsequent steps are executed. In the present embodiment, since the ROM 4 is divided into 256 bytes and the arithmetic processing is performed, 128 times (= 32768/2)
56) The checksum value calculation of the entire area is completed by repeating the processing of steps 102 to 107. Further, as described above, since this routine is executed every 8 ms, the time required to check the entire area is about 1 second (8 ms x 1
28).
【0020】ステップ109では1回目のチェックサム
判定が完了しているか否かを判別し、完了しているなら
ステップ115に進み、完了していないならステップ1
10に進む。そして、はじめは1回目のチェックサム判
定が完了していないためステップ110に進む。ステッ
プ110では上記ステップ107で演算されたサムチェ
ック値とROM4に格納されている値とを比較して1回
目のチェックサム値判定をし、チェックサム値が異常な
らば、ステップ111に進んで1回目NGフラグをセッ
トし、チェックサム値が正常ならば、ステップ112に
進んで1回目NGフラグをクリアする。In step 109, it is judged whether or not the first checksum judgment is completed, and if it is completed, the process proceeds to step 115, and if it is not completed, the step 1 is executed.
Go to 10. Then, since the first checksum determination is not completed at first, the process proceeds to step 110. In step 110, the sum check value calculated in step 107 is compared with the value stored in the ROM 4 to make the first checksum value judgment. If the checksum value is abnormal, the process proceeds to step 111 to 1 The first NG flag is set, and if the checksum value is normal, the routine proceeds to step 112, where the first NG flag is cleared.
【0021】ステップ113では1回目のチェックサム
判定を完了したことを示す1回目完了フラグをセット
し、ステップ114では2回目のチェックサム値演算の
ために、チェックサム判定領域の設定アドレスと上記ス
テップ107で演算され、RAM22に格納されている
サムチェック値を初期セットする。ステップ119では
1回目NGフラグを調べて、上記ステップ110にてチ
ェックサム値の異常と判断されたか否かを判別する。そ
して、チェックサム値の異常がない、すなわちプログラ
ムの不正な改造が行われていない場合にはステップ12
3に進み、チェックサムNGフラグをクリアして本ルー
チンを終了する。In step 113, a first-time completion flag indicating that the first checksum judgment has been completed is set, and in step 114, the set address of the checksum judgment area and the above-mentioned step for the second checksum value calculation. The sum check value calculated in 107 and stored in the RAM 22 is initially set. In step 119, the first NG flag is checked to determine whether the checksum value is abnormal in step 110. If there is no abnormality in the checksum value, that is, if the program has not been illegally modified, step 12
3, the checksum NG flag is cleared, and this routine ends.
【0022】一方、ステップ119において、チェック
サム値の異常と判断されたと判別されたなら、ステップ
120に進むが、2回目のチェックサム判定が完了しな
いため、ステップ123に進んでチェックサムNGフラ
グをクリアして本ルーチンを終了する。そして、前述の
如く、ステップ123の処理を実行したなら、2回目の
チェックサム判定を実行すべく、再びステップ102以
降の処理を実行する。On the other hand, if it is determined in step 119 that the checksum value is abnormal, the process proceeds to step 120, but since the second checksum determination is not completed, the process proceeds to step 123 and the checksum NG flag is set. Clear and end this routine. Then, as described above, if the processing of step 123 is executed, the processing of step 102 and thereafter is executed again in order to execute the second checksum determination.
【0023】なお、この場合には1回目のチェックサム
判定が完了しているため、ステップ104で肯定判定さ
れてステップ105に進む。ステップ105では1回目
NGフラグを調べて、上記ステップ110にてチェック
サム値の異常と判断されたか否かを判別する。そして、
チェックサム値の異常がない、すなわちプログラムの不
正な改造が行われていない場合には本ルーチンを終了
し、チェックサム値の異常があった場合にはステップ1
06に進む。In this case, since the first checksum judgment is completed, an affirmative judgment is made in step 104 and the routine proceeds to step 105. In step 105, the first NG flag is checked to determine whether or not the checksum value is abnormal in step 110. And
If there is no abnormality in the checksum value, that is, if the program has not been illegally modified, this routine is terminated, and if there is an abnormality in the checksum value, step 1
Proceed to 06.
【0024】ステップ106では2回目のチェックサム
が完了しているか否かを判別し、2回目のチェックサム
が完了している場合には本ルーチンを終了し、完了して
いない場合にはステップ107に進む。ステップ107
では前述した処理を実行し、全領域のチェックサム値演
算が完了した場合にはステップ109に進む。そして、
ステップ109では既に1回目のチェックサム判定が完
了しているため、肯定判定されてステップ115に進
む。In step 106, it is judged whether or not the second checksum is completed. If the second checksum is completed, this routine is terminated, and if not completed, step 107. Proceed to. Step 107
Then, the above-described processing is executed, and when the checksum value calculation of all areas is completed, the process proceeds to step 109. And
Since the first checksum determination has already been completed in step 109, an affirmative determination is made and the operation proceeds to step 115.
【0025】ステップ115ではステップ110と同様
に上記ステップ107で演算されたサムチェック値とR
OM4に格納されている値とを比較して2回目のチェッ
クサム値判定をし、チェックサム値が異常ならば、ステ
ップ116に進んで2回目NGフラグをセットし、チェ
ックサム値が正常ならば、ステップ117に進んで2回
目NGフラグをクリアする。In step 115, as in step 110, the sum check value calculated in step 107 and R
The value stored in OM4 is compared to determine the second checksum value. If the checksum value is abnormal, the process proceeds to step 116 to set the NG flag for the second time, and if the checksum value is normal, , Proceeds to step 117 to clear the second NG flag.
【0026】ステップ118では2回目のチェックサム
判定を完了したことを示す2回目完了フラグをセット
し、ステップ119に進む。そして、ステップ119に
おいて肯定判定されてステップ120に進んだ場合に
は、2回目のチェックサム判定が完了しているため、ス
テップ121に進む。ステップ121では2回目NGフ
ラグを調べて、上記ステップ115にてチェックサム値
の異常と判断されたか否かを判別する。そして、チェッ
クサム値の異常がない、すなわちプログラムの不正な改
造が行われていない場合にはステップ123に進み、チ
ェックサムNGフラグをクリアして本ルーチンを終了す
る。At step 118, a second completion flag indicating that the second checksum determination is completed is set, and the routine proceeds to step 119. Then, if an affirmative decision is made in step 119 and the operation proceeds to step 120, the second checksum decision has been completed, so the operation proceeds to step 121. In step 121, the second NG flag is checked to determine whether or not the checksum value is abnormal in step 115. Then, if there is no abnormality in the checksum value, that is, if the program is not illegally modified, the process proceeds to step 123, the checksum NG flag is cleared, and this routine ends.
【0027】なお、ここでの処理は、2回目のチェック
サム値の異常がない場合には、チェックサムNGフラグ
をクリアするものであり、これにより、仮に何らかの理
由により、不正改造が行われていないにも拘らず1回目
のチェックサム判定にて異常と誤判定されても、2回目
のチェックサムで異常がない場合には、チェックサムN
Gフラグがセットされることはなく、判別処理の精度を
向上することができる。The process here is to clear the checksum NG flag when there is no abnormality in the checksum value for the second time. As a result, illegal modification is performed for some reason. Even if the first checksum is erroneously determined to be abnormal despite the absence of the checksum, if there is no abnormality in the second checksum, the checksum N
Since the G flag is not set, the accuracy of the discrimination process can be improved.
【0028】一方、ステップ121において、チェック
サム値の異常と判断されたと判別されたなら、ステップ
122に進み、チェックサムNGフラグをセットして本
ルーチンを終了する。なお、以上述べた処理では、1回
目のチェックサム判定にて正常と判断した場合には、ス
テップ105にて否定判定されるため、2回目のチェッ
クサム判定を実施することはない。よって、2回目のチ
ェックサム判定をしない分だけ、エンジンを制御するた
めの処理を実行でき、エンジンの制御性が向上するとい
った効果もある。On the other hand, if it is judged at step 121 that the checksum value is abnormal, the routine proceeds to step 122, where the checksum NG flag is set and this routine is ended. In the above-described processing, if the first checksum determination is normal, a negative determination is made in step 105, so the second checksum determination is not performed. Therefore, the process for controlling the engine can be executed by the amount of the second checksum determination not performed, and the controllability of the engine is improved.
【0029】また、本実施例では前述したようにROM
4を256バイト毎に分割して演算処理している。ここ
で、256バイト毎に分割する理由について説明する。
図3において、ROM4は1つのアドレスに1バイトの
記憶容量が用意されるアドレス8000からアドレスF
FFFまでのメモリ領域から構成されている。そして、
256バイトとは例えば、アドレス8000からアドレ
ス80FFまでのデータを示すものであり、本実施例で
はまずはじめにアドレス8000からアドレス80FF
までのデータのチェックサム値を求め、次のチェックサ
ム判定時にアドレス8100からアドレス81FFまで
のデータのチェックサム値を求めることになる。Further, in this embodiment, as described above, the ROM
4 is divided into 256 bytes and processed. Here, the reason for dividing every 256 bytes will be described.
In FIG. 3, the ROM 4 has an address 8000 to an address F in which one address has a storage capacity of 1 byte.
It is composed of memory areas up to FFF. And
The 256 bytes indicate, for example, data from address 8000 to address 80FF, and in this embodiment, first, address 8000 to address 80FF.
Up to the checksum value of the data from the address 8100 to the address 81FF at the time of the next checksum determination.
【0030】ここで、このアドレスを示すデータも2バ
イト長のデータとなるが、256バイト目のデータはア
ドレス80FFであり、257バイト目はアドレス81
00となることから、上位1バイト、すなわちアドレス
80FFの80が81に変化したかを判別するだけで2
56バイト目まで加算したかを判断することができる。
つまり、256バイト毎に分割することにより上位1バ
イトのみアクセスすればよいので、上記ステップ107
のチェックサム値の演算処理時間を短縮することがで
き、更に、この処理は前述の如く、128回繰り返し実
行されるため、トータル的に見ればかなりの時間を短縮
することができる。Here, the data indicating this address is also 2-byte long data, but the data at the 256th byte is the address 80FF, and the data at the 257th byte is the address 81.
Since it is 00, it is only necessary to determine whether the upper 1 byte, that is, 80 of address 80FF has changed to 81.
It can be determined whether or not the 56th byte has been added.
In other words, since the upper 1 byte only needs to be accessed by dividing it into 256 bytes, the above step 107
It is possible to shorten the calculation processing time of the checksum value of 1 and further, since this processing is repeatedly executed 128 times as described above, it is possible to shorten the processing time considerably in total.
【0031】また、どのアドレスまで加算を実行したか
を記憶するためのRAM22のメモリ容量も1バイトで
よいので、メモリ容量も節約することもできる。図4は
図2のルーチンにおいて、不正改造がありと判断したと
きの処理を示すフローチャートであり、所定クランク角
毎に実行される。図4において、ステップ401ではチ
ェックサムNGフラグを調べ、チェックサムNGフラグ
がセットされていないなら、プログラムが不正に改造さ
れていないと判断してステップ402に進み、チェック
サムNGフラグがセットされているなら、プログラムが
不正に改造されたと判断してステップ403に進む。Further, since the memory capacity of the RAM 22 for storing up to which address the addition has been executed need only be 1 byte, the memory capacity can also be saved. FIG. 4 is a flowchart showing a process when it is determined that there is unauthorized modification in the routine of FIG. 2, and is executed at every predetermined crank angle. In FIG. 4, in step 401, the checksum NG flag is checked. If the checksum NG flag is not set, it is determined that the program has not been tampered with, and the process proceeds to step 402, in which the checksum NG flag is set. If so, it is determined that the program has been tampered with and the process proceeds to step 403.
【0032】ステップ402ではROM4内のプログラ
ムに従ってCPU21により演算された制御量で各種装
置を制御する通常のエンジン制御処理を実行する。一
方、ステップ403ではプログラムが改造されているの
で、プログラムに従わず、バックアップ回路7により求
められた制御量でエンジンを制御するフェールセーフ処
理を実行すると共に、運転者に異常があったことを報知
する。In step 402, a normal engine control process for controlling various devices by the control amount calculated by the CPU 21 according to the program in the ROM 4 is executed. On the other hand, since the program is modified in step 403, the fail-safe process of controlling the engine with the control amount obtained by the backup circuit 7 is executed without following the program, and the driver is informed of the abnormality. To do.
【0033】図5は前述したチェックプログラムの処理
のタイミングを表すタイムチャートを示す図である。運
転者は、イグニッションSW51をONした後、エンジ
ンを始動するわけだが、本実施例では図5に示すよう
に、メモリチェック処理は8ms毎にROM4の全領域
を分割した部分毎にチェックしている。このため、前回
のメモリチェック処理と今回のメモリチェック処理との
間に、本来のエンジン制御処理を実行することができ、
始動時のエンジン制御に極力影響を及ぼすことなく、R
OM4内に格納されているプログラムのチェックをする
ことができる。FIG. 5 is a diagram showing a time chart showing the timing of the processing of the above-mentioned check program. The driver starts the engine after turning on the ignition SW 51, but in the present embodiment, as shown in FIG. 5, the memory check process checks every portion of the ROM 4 divided every 8 ms. . Therefore, the original engine control process can be executed between the previous memory check process and the current memory check process,
R without affecting the engine control at the start as much as possible
The program stored in the OM4 can be checked.
【0034】また、前述の如く、1回のチェックサム判
定を実施するのに要する時間は約1秒であるため、図3
に示すように2回チェックサム判定を実施しても、イグ
ニッションSW51をON後、約2秒でROM4内に格
納されているプログラムのチェックをすることができ、
運転者がエンジンを始動し、発進しようとする頃には、
チェックが終了しているので、走行中に通常制御→退避
走行へと切り替わることはない。Further, as described above, the time required to carry out one checksum judgment is about 1 second, so that FIG.
Even if the checksum judgment is performed twice as shown in, the program stored in the ROM 4 can be checked in about 2 seconds after the ignition SW 51 is turned on.
By the time the driver starts the engine and tries to start,
Since the check has been completed, there will be no switching from normal control to evacuation while traveling.
【0035】また、約2秒後のメモリチェック終了後
は、メモリチェック処理が実行されることがないので、
マイコンのエンジン制御処理の負荷にならず、常時メモ
リチェックをする方法に比べ、より多くのエンジン制御
処理を実行でき、高精度にエンジンを制御できる。図6
はメモリチェック処理実行中に、運転者のレーシングな
どにより、エンジンが高回転になった場合のチェックプ
ログラムの処理のタイミングを表すタイムチャートを示
す図である。Also, since the memory check process is not executed after the memory check is completed in about 2 seconds,
The engine control processing of the microcomputer is not overloaded, and more engine control processing can be executed and the engine can be controlled with high accuracy compared to the method of constantly performing memory check. Figure 6
FIG. 9 is a diagram showing a time chart showing the timing of processing of a check program when the engine is rotated at a high speed due to a driver racing or the like during execution of the memory check processing.
【0036】図6において、エンジンが高回転時は、前
述の如く、クランク角センサ63からの信号が多数入力
され、その分エンジン制御処理の負荷が増加し、この状
態でメモリチェック処理を実行するとエンジン制御処理
の遅れなどが生じ、エンジン制御に悪影響を及ぼす。例
えば、エンジンの噴き上がりが鈍くなり、レスポンスが
悪くなったり排気ガスが規制値を越えるようなことも考
えられる。In FIG. 6, when the engine is running at a high speed, as described above, a large number of signals from the crank angle sensor 63 are input, and the load of the engine control processing increases by that amount, and if the memory check processing is executed in this state. A delay in engine control processing occurs, which adversely affects engine control. For example, it is conceivable that the engine blowup becomes slow, the response becomes poor, and the exhaust gas exceeds the regulation value.
【0037】しかしながら、本実施例では図2のステッ
プ103において、高回転時はメモリチェック処理を実
行していないよう処理しているため、図6に示す如く、
メモリチェック処理実行中に、エンジンが高回転になっ
た場合(Tdisの期間)は、メモリチェック処理が中
断され、エンジン制御するための演算処理に専念させる
ことができるため、エンジン制御に影響を及ぼすことは
ない。However, in this embodiment, in step 103 of FIG. 2, since the memory check processing is not executed at the time of high rotation, as shown in FIG.
If the engine becomes high-speed during the memory check process (Tdis period), the memory check process is interrupted, and it is possible to concentrate on the arithmetic processing for engine control, which affects engine control. There is no such thing.
【0038】なお、その後、エンジンが低回転となった
場合には、メモリチェック処理を再開される。上記実施
例において、ステップS107〜ステップS123がプ
ログラム異常検出手段に、ステップS103が異常検出
中断手段にそれぞれ相当し、機能する。After that, when the engine becomes low speed, the memory check process is restarted. In the above embodiment, steps S107 to S123 are program abnormality detecting means, and step S103 is abnormality detecting.
Each corresponds to a suspending means and functions.
【0039】[0039]
【発明の効果】以上述べたように、本発明においては、
エンジンの回転数が所定回転数以上のとき、プログラム
の異常検出処理を中断するため、エンジン始動に悪影響
を及ぼさず、確実にプログラムメモリをチェックするこ
とができるという優れた効果を奏する。As described above, according to the present invention,
When the number of revolutions of the engine is equal to or higher than the predetermined number of revolutions, the abnormality detection processing of the program is interrupted, so that it is possible to reliably check the program memory without adversely affecting the engine start.
【図1】電子式エンジン制御装置の全体構成を示す図で
ある。FIG. 1 is a diagram showing an overall configuration of an electronic engine control device.
【図2】チェックサムの作動を示すフローチャートであ
る。FIG. 2 is a flowchart showing an operation of a checksum.
【図3】ROM4の記憶領域を示す図である。FIG. 3 is a diagram showing a storage area of a ROM 4;
【図4】プログラム異常時の処理を示すフローチャート
である。FIG. 4 is a flowchart showing processing when a program is abnormal.
【図5】チェックプログラムの実行タイミングを説明す
るためのタイムチャートである。FIG. 5 is a time chart for explaining an execution timing of a check program.
【図6】チェックプログラムの実行タイミングを説明す
るためのタイムチャートである。FIG. 6 is a time chart for explaining the execution timing of the check program.
1 制御ユニット 2 マイコン 4 ROM 21 CPU 1 control unit 2 microcomputer 4 ROM 21 CPU
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭55−128641(JP,A) 特開 平5−27956(JP,A) 特開 平2−281352(JP,A) 実開 平3−32152(JP,U) (58)調査した分野(Int.Cl.7,DB名) F02D 41/00 - 41/40 F02D 43/00 - 43/04 F02D 45/00 G01M 15/00 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-55-128641 (JP, A) JP-A-5-27956 (JP, A) JP-A-2-281352 (JP, A) Actual Kaihei 3- 32152 (JP, U) (58) Fields surveyed (Int.Cl. 7 , DB name) F02D 41/00-41/40 F02D 43/00-43/04 F02D 45/00 G01M 15/00
Claims (2)
御装置において、 前記車両を制御するためのプログラムを格納しているメ
モリと、 前記コンピュータの起動時に、所定タイミング毎に前記
メモリの記憶領域の所定バイト毎に前記プログラムをチ
ェックして異常を検出するプログラム異常検出手段と、 前記車両に設けられたエンジンの回転数を検出し、エン
ジンの回転数が所定回転数以上のとき、前記プログラム
異常検出手段によるプログラムの異常検出処理を中断
し、その後、前記エンジン回転数が所定回数未満となっ
た時に前記異常検出処理を再開する異常検出中断手段と
を備えたことを特徴とする車両用制御装置のメモリチェ
ック装置。1. A vehicle control device for controlling a vehicle by a computer, the memory storing a program for controlling the vehicle, and a predetermined storage area of the memory at predetermined timing when the computer is started. Program abnormality detection means for detecting an abnormality by checking the program for each byte, and detecting the rotation speed of the engine provided in the vehicle, and when the rotation speed of the engine is a predetermined rotation speed or more, the program abnormality detection means Interrupts the program error detection process
After that, the engine speed becomes less than the specified number of times.
An abnormality detection interrupting means for resuming the abnormality detection processing when the abnormality detection processing is performed .
て、前記プログラム異常検出手段は、前記コンピュータThe program abnormality detecting means is the computer.
の起動時に、少なくとも2回の異常検出処理を実行し、When you start up, execute the error detection process at least twice,
初回の異常検出処理にて正常と判断した場合には、2回If it is judged to be normal in the first abnormality detection process, twice
目以降の異常検出処理を実行しないことを特徴とする車Vehicles characterized by not executing abnormality detection processing after the eyes
両用制御装置。Dual control device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18593593A JP3463322B2 (en) | 1993-07-28 | 1993-07-28 | Memory check device for vehicle control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18593593A JP3463322B2 (en) | 1993-07-28 | 1993-07-28 | Memory check device for vehicle control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0742609A JPH0742609A (en) | 1995-02-10 |
JP3463322B2 true JP3463322B2 (en) | 2003-11-05 |
Family
ID=16179461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18593593A Expired - Fee Related JP3463322B2 (en) | 1993-07-28 | 1993-07-28 | Memory check device for vehicle control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3463322B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004308476A (en) * | 2003-04-03 | 2004-11-04 | Keihin Corp | Engine starting control device and starting control method |
JP2005050184A (en) * | 2003-07-30 | 2005-02-24 | Hitachi Ltd | Device and program for detecting code modification and equipment loan system using them |
JP2010019232A (en) * | 2008-07-14 | 2010-01-28 | Keihin Corp | Engine control apparatus |
JP4645741B2 (en) * | 2009-01-09 | 2011-03-09 | 株式会社デンソー | Electronic control unit |
JP5370115B2 (en) | 2009-12-14 | 2013-12-18 | 株式会社デンソー | In-vehicle device |
WO2012124045A1 (en) * | 2011-03-14 | 2012-09-20 | 株式会社ユニバンス | Electric automobile |
JP2013134508A (en) * | 2011-12-23 | 2013-07-08 | Toshiba Corp | Programmable control device, method and program |
-
1993
- 1993-07-28 JP JP18593593A patent/JP3463322B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0742609A (en) | 1995-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0147078B1 (en) | Device for regulating an operating parameter of an internal combustion engine | |
US5095438A (en) | Engine controller with low voltage reset | |
US6394069B1 (en) | Apparatus for controlling internal combustion engine at decelerating state | |
JPH11294252A (en) | Electronic control device | |
JP2008215361A (en) | Control method and device of internal combustion engine | |
JP4348950B2 (en) | Electronic control unit | |
JP3463322B2 (en) | Memory check device for vehicle control device | |
JP2001349239A (en) | Abnormality judging device of engine system | |
EP0337491B1 (en) | Apparatus and method for controlling ignition timing of internal combustion engines | |
JP4395000B2 (en) | Engine control device | |
JP2000112837A (en) | Memory checking device and method therefor | |
JP2679468B2 (en) | Misfire detection device for internal combustion engine | |
JP2003155954A (en) | Electronic control device for vehicle | |
JPH09329061A (en) | Abnormality judging device for exhaust gas recirculating device | |
KR930002380B1 (en) | Method and device for controlling the igition timing of internal combustion engine | |
JP2002364406A (en) | Device for automatically stopping internal combustion engine | |
KR100410757B1 (en) | Method for engine control in vehicle | |
JPH1136927A (en) | Vehicle brake device | |
JP2581033B2 (en) | Fuel injection amount control method for internal combustion engine | |
JP3202743B2 (en) | Fuel cut control device for vehicle internal combustion engine | |
JP2583116Y2 (en) | Fuel supply stop device for vehicle engine | |
JPH06122361A (en) | Abnormality detecting device for vehicle speed detecting means | |
JP3477929B2 (en) | Operating condition detection device for vehicles | |
JPH08312391A (en) | Accelerator opening sensor trouble diagnosing method | |
JPS6026170A (en) | Ignition time controller for engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030722 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090822 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100822 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100822 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110822 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |