JP2001282505A - 浮動小数点演算機能を有した電子制御装置 - Google Patents

浮動小数点演算機能を有した電子制御装置

Info

Publication number
JP2001282505A
JP2001282505A JP2000101028A JP2000101028A JP2001282505A JP 2001282505 A JP2001282505 A JP 2001282505A JP 2000101028 A JP2000101028 A JP 2000101028A JP 2000101028 A JP2000101028 A JP 2000101028A JP 2001282505 A JP2001282505 A JP 2001282505A
Authority
JP
Japan
Prior art keywords
floating
point
data
numeral
backup
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.)
Granted
Application number
JP2000101028A
Other languages
English (en)
Other versions
JP3644350B2 (ja
Inventor
Takatoshi Sugimura
卓俊 杉村
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2000101028A priority Critical patent/JP3644350B2/ja
Priority to US09/739,335 priority patent/US6904543B2/en
Priority to DE10064787A priority patent/DE10064787A1/de
Publication of JP2001282505A publication Critical patent/JP2001282505A/ja
Application granted granted Critical
Publication of JP3644350B2 publication Critical patent/JP3644350B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

(57)【要約】 【課題】浮動小数点演算機能を有した電子制御装置にお
いて、非数の発生に伴う制御不良を未然に防止する。 【解決手段】マイクロコンピュータ11は、浮動小数点
演算を実施するための浮動小数点演算プロセッサ(FP
U)15と、CPU12等を有し、所定の制御プログラ
ムに従い各種制御を実施する。CPU12は、浮動小数
点演算に用いられる浮動小数点型データが非数である旨
を判定したとき、同浮動小数点演算に代わるバックアッ
プ処理を実施する。CPU12が実施するバックアップ
処理としては、FPU15を用いることなく、浮動小数
点型データに代わる整数型データを代入したり、或いは
整数型データを用いた演算を実施したりする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、浮動小数点演算機
能を有した電子制御装置に関するものである。
【0002】
【従来の技術】一般に、自動車のエンジン制御などに適
用される電子制御装置(ECU)では、従来より整数型
データ(固定小数点型データ)を用いて各種演算を実施
していたが、近年では浮動小数点演算プロセッサ(FP
U:Floating-Point Unit )の導入により、浮動小数点
型データによる演算が実施できるようになった。浮動小
数点型データによれば、固定小数点型データに比べて非
常に細かい精度で演算結果が得られる。
【0003】浮動小数点型データは例えばIEEE75
4規格に従い構成され、図10(a)に示されるように
その内訳として、1ビットの符号部と、8ビットの指数
部と、23ビットの仮数部とを有する。こうして仮数部
が23ビットで構成される4バイト(単精度記憶形式)
の浮動小数点型データの場合、7桁の分解能(0.000000
1 の分解能)を持つ。
【0004】また、図10(b)には、単精度記憶形式
でのビットパターンが示され、浮動小数点型データは、
指数部と仮数部の組み合わせにより正規化数、非正規化
数、無限大、ゼロ及び非数に区別される。ここで、非数
以外は数値を表し、非数は数値でないことを表す。例え
ば、0/0や+∞−∞といった数値として表現できない
演算結果を表す場合に非数が用いられる。
【0005】
【発明が解決しようとする課題】上記の通り浮動小数点
型データには非数というデータ形式があり、非数を含
む、例えば四則演算の結果は全て非数となり無効とな
る。例えば、比較演算において非数が1以上か以下かを
比較した場合、その結果は何れも偽となる。そのため、
電子制御装置内で非数が発生した場合、その演算結果
(出力値)は全く保障できないという問題がある。
【0006】エンジン制御において非数が発生する条件
としては主に2つ考えられる。一つ目の条件は、電子制
御装置の動作中やバッテリバックアップ中にノイズによ
り浮動小数点型のRAM値が書き換わってRAM値その
ものが非数に変わる場合である。例えば、ノイズにより
浮動小数RAM値がFFFFFFFFh(全ビット”
1”)に書き換わる場合等である。二つ目の条件は、浮
動小数点演算に用いられる引数がノイズ等によって書き
換わり、0/0のような演算を行って二次的に非数が発
生する場合である。
【0007】ここで、図11に示すエンジン回転数の演
算処理にてその事例を説明する。つまり、図11の処理
では、エンジンの360°CA(クランク角)の回転に
要した時間T360を算出してそれをFR0値として記
憶し(ステップ900)、FR0=0でないことを条件
に、「1sec」をFR1に、「60」をFR2にセッ
トする(ステップ910〜930)。
【0008】その後、演算式 FR0=FR1/FR0×FR2 により、FR0値を算出し(ステップ940)、FR0
値をエンジン回転数Neとする(ステップ950)。
【0009】上記図11の処理において、仮にステップ
930の直後にノイズ等によりFR0,FR1値が各々
0に変化した場合を想定する。この場合、ステップ94
0では「0/0」の演算が行われ、ステップ940の演
算結果であるFR0値が非数となる。その結果、エンジ
ン回転数が正しく算出できないこととなる。
【0010】また例えば、燃料噴射量fの演算式は、次
式のように示される。 f= Fbase×fHL ここで、Fbaseは、整数型データとして算出された基本
噴射量であり、fHLは、浮動小数点型データとして算
出された負荷補正量である。この演算において、負荷補
正量fHLが非数である場合、算出結果の燃料噴射量f
の値も非数となり、正常な燃料噴射が実施できなくな
る。
【0011】本発明は、上記問題に着目してなされたも
のであって、その目的とするところは、浮動小数点演算
機能を有した電子制御装置において、非数の発生に伴う
制御不良を未然に防止することができる電子制御装置を
提供することである。
【0012】
【課題を解決するための手段】請求項1に記載の発明に
よれば、非数判定手段により、浮動小数点型データが非
数であるか否かが判定され、非数である旨が判定された
とき、バックアップ手段により、浮動小数点演算に代わ
るバックアップ処理が実施される。つまり、浮動小数点
演算において、非数を含むデータで実施される演算結果
は全て非数となるため、正しい制御データを得ることが
できなくなるが、本発明では、浮動小数点型データが非
数である場合、浮動小数点演算に代わるバックアップ処
理が実施される。これにより、非数の発生に伴う制御不
良を未然に防止することができる。
【0013】請求項2に記載の発明によれば、浮動小数
点演算毎にその際に用いられる浮動小数点型データが非
数であるか否かが判定されるので、その時々の浮動小数
点演算が誤りなく実施される。つまり、非数を含む演算
により無効となる浮動小数点演算を確実に判定できる。
【0014】請求項3に記載の発明によれば、浮動小数
点演算毎に影響を与える浮動小数点型データが非数であ
るか否かが判定される。この場合、浮動小数点演算に影
響を与える浮動小数点型データとは、例えば浮動小数点
演算の前提条件として用いられるデータであり、この浮
動小数点型データが非数の時に、本来の浮動小数点演算
とは異なるバックアップ処理を行うことにより、誤って
浮動小数点演算が実施され制御性が悪化するといった不
都合を回避できる。
【0015】請求項4に記載の発明によれば、全ての浮
動小数点型データのうちいずれか1つでも非数であるか
否かが判定される。つまり、浮動小数点型データのうち
のいずれか1つでも非数となる際には、その発生要因
(具体的には、ノイズ)がある環境下でマイクロコンピ
ュータが動作していると判断できる。従って、その際に
は、いつ非数が発生してもおかしくないので、全ての浮
動小数点演算が禁止されるとともに、その浮動小数点演
算に代わるバックアップ処理が実施される。
【0016】請求項5に記載の発明によれば、浮動小数
点演算にて得られた浮動小数点型データが非数であれ
ば、その旨を表す非数判定フラグがセットされ、非数判
定手段によって、非数判定フラグが参照されることで非
数か否かが判定される。そして、非数判定フラグの判定
結果によりバックアップ処理が実施される。この場合、
同じ浮動小数点型データを複数の浮動小数点演算に用い
る場合や、請求項4に記載のように全ての浮動小数点型
データのうちいずれか1つでも非数であるか否かを判定
する場合に適用すれば、処理を簡素化できるので実用上
好ましいものとなる。
【0017】また、バックアップ手段が実行するバック
アップ処理としては、請求項6に記載のように、浮動小
数点型データに代えて整数型データをバックアップ値と
して用いる。但し、バックアップ値としては、制御に支
障のない値を用いる。この場合、本来、浮動小数点演算
により得られる制御データに比べるとその精度は劣る
が、非数発生時に制御が中断されることなく継続でき
る。
【0018】さらに、請求項7に記載のように、浮動小
数点演算に代わる整数型データを用いた演算を実施する
ようにしてもよい。この場合、浮動小数点型データを用
いた浮動小数点演算と比較して演算結果の精度は劣る
が、整数型データに応じた制御データをバックアップ値
として算出できるので、制御性の悪化を抑制できる。
【0019】
【発明の実施の形態】以下、この発明を具体化した実施
の形態を図面に従って説明する。図1は、エンジン制御
システムの概略を示すブロック図である。本システムに
おいて、車載エンジン1は、例えばガソリン噴射式多気
筒内燃機関として構成される。
【0020】エンジン制御ECU10はマイクロコンピ
ュータ(以下、マイコンという)11を備え、そのマイ
コン11には中央演算処理装置(CPU)12と、読み
書き可能な記憶装置(RAM)13と、読み取り専用記
憶装置(ROM)14と、浮動小数点演算プロセッサ
(FPU)15と、入出力装置(I/O)16とが設け
られている。ここで、FPU15は浮動小数点形式の演
算を実施し、CPU12は浮動小数点形式以外の演算を
実施する。また、I/O16には周知のA/D変換器が
含まれる。
【0021】ECU10には、エンジン1に設けられた
センサ群からエンジン運転状態を表す各種情報が入力さ
れる。センサ群は、例えばエンジン回転数を検出するた
めの回転数センサ2、吸気管圧力を検出するための吸気
圧センサ3、冷却水温を検出するための水温センサ4、
排ガス中の酸素濃度から空燃比(A/F)を検出するた
めのA/Fセンサ5などからなる。そして、ECU10
は、前記入力されるセンサ信号を基に、図示しないイン
ジェクタによる燃料噴射の制御や、点火装置による点火
時期の制御などを実施する。
【0022】FPU15により演算される浮動小数点型
データは、既述の通り例えばIEEE754規格に従い
構成され、単精度記憶形式であれば図10(a)に示す
データ形式を有する。また、図10(b)の如く、浮動
小数点型データは、指数部と仮数部との組み合わせによ
り正規化数、非正規化数、無限大、ゼロ及び非数に区別
される。
【0023】本実施の形態では、FPU15による浮動
小数点演算の結果(浮動小数点型データ)が非数になっ
た場合に、その旨を判定し、浮動小数点演算を実施しな
いようにしている。具体的に、FPU15を用いた浮動
小数点演算を実施する処理としては、燃料噴射量の算出
処理や、点火時期の算出処理があり、例えば、燃料噴射
量fは次式のように算出される。
【0024】f= Fbase×fHL ここで、Fbaseは、整数型データとして算出された基本
噴射量であり、fHLは浮動小数点型データとして算出
された負荷補正量である。従って、FPU15を用いて
燃料噴射量fを算出する際に、負荷補正量fHLが非数
である場合、その演算結果(噴射量fの値)も非数とな
ってしまう。このため、本実施の形態では、負荷補正量
fHLが非数である場合には、FPU15を用いた燃料
噴射量fの演算を禁止し、それに代わるバックアップ処
理にて燃料噴射量fを求めるようにしている。
【0025】ここで、CPU12により実行される処理
のうち、負荷補正量fHLの算出処理を図2を用い、燃
料噴射量算出処理を図3を用いて説明する。なお、図2
の処理は、所定時間毎に実施される時間同期処理であ
り、図3の処理は、回転数センサ2のパルス信号に基づ
き、所定クランク角毎に実施されるクランク同期処理で
ある。
【0026】図2に示すように、CPU12は、ステッ
プ100にてエンジン回転数が3000rpm以上であ
るか否かを判定し、3000rpm以上であれば、ステ
ップ110に移行する。ステップ110にてCPU12
は、エンジン水温が60℃以上であるか否かを判定し、
60℃以上であれば、ステップ120に移行する。そし
て、同ステップ120にて、FPU15を用い次式のよ
うに負荷補正量fHLを求める。
【0027】fHL=fNe×MAF×fGain ここで、fNeは、回転数センサ2のパルス信号に基づ
き浮動小数点型データとして算出されたエンジン回転数
であり、MAFは、吸気圧センサ3の検出値であって、
吸気管圧力(吸気圧)に基づく整数型データの電圧値で
ある。また、fGainは、浮動小数点型データで設定
された定数である。
【0028】このように、負荷補正の前提条件として、
回転数が3000rpm以上、かつ水温が60℃以上の
条件が成立した場合にFPU15による浮動小数点演算
が実施され、浮動小数点型データの負荷補正量fHLが
算出される。
【0029】一方、回転数が3000rpm未満、或い
は水温が60℃未満の場合には、ステップ100或いは
ステップ110にて否定判別され、ステップ130にお
いてCPU12は、負荷補正量fHLに固定値として浮
動小数点型データである「1.0」を代入した後本処理
を終了する。
【0030】次に、噴射量算出処理を図3を用いて説明
する。先ず、CPU12は、ステップ200にて、エン
ジン回転数と吸気圧とに基づき整数型データの基本噴射
量Fbaseを算出し、続くステップ210にて、負荷補正
量fHLが非数であるか否かを判定する。つまり、既述
のように、負荷補正量fHLは、浮動小数点型データと
して求められており、その補正量fHLの値のbit3
0〜23が”11111111”で、かつ、補正量fH
Lの値のbit22〜0のうちいずれかが”1”である
か否かを判定する。そして、ステップ210にて否定判
別された場合、CPU12はステップ220に移行し
て、FPU15を用い、次式の浮動小数点演算にて燃料
噴射量fを算出する。
【0031】f= Fbase×fHL つまり、燃料噴射量fは、基本噴射量Fbaseに負荷補正
量fHLを乗算することにより算出され、その値は浮動
小数点型データとして算出される。その後、ステップ2
30にてCPU12は、算出値が非数か否かを判定し、
算出値が非数でない旨を判定した場合、浮動小数点演算
にて得られた燃料噴射量fの値が正しいものとして本処
理を終了する。
【0032】一方、ステップ210またはステップ23
0にて肯定判別された場合、CPU12は、ステップ2
40に移行して、FPU15を用いることなく整数型デ
ータの基本噴射量Fbaseを燃料噴射量fに代入した後本
処理を終了する。
【0033】次いで、点火時期eの算出処理を図4を用
いて説明する。なお、同処理にて使用される負荷補正量
eHLも前記燃料噴射量fの算出処理における負荷補正
量fHLと同様に浮動小数点演算により求められた浮動
小数点型データである。
【0034】先ず、CPU12は、ステップ300に
て、エンジン回転数と吸気圧とに基づき整数型データの
基本点火時期Ebaseを算出し、続くステップ310に
て、負荷補正量eHLが非数であるか否かを判定する。
そして、ステップ310にて否定判別された場合、CP
U12はステップ320に移行して、FPU15を用い
次式の浮動小数点演算にて点火時期eを算出する。
【0035】e=Ebase×eHLつまり、点火時期e
は、基本点火時期Ebaseに負荷補正量eHLを乗算する
ことにより算出され、その値は浮動小数点型データとし
て算出される。その後、ステップ330にてCPU12
は、算出値が非数か否かを判定し、算出値が非数でない
旨を判定した場合、浮動小数点演算にて得られた点火時
期eの値が正しいものとして本処理を終了する。
【0036】一方、ステップ310またはステップ33
0にて肯定判別された場合、 CPU12は、ステップ
340に移行して、FPU15を用いることなく整数型
データの基本点火時期Ebaseを点火時期eに代入した後
本処理を終了する。
【0037】なお、本実施の形態では、図3のステップ
210,230、図4のステップ310,330の処理
が非数判定手段に相当し、図3のステップ240、図4
のステップ340の処理がバックアップ手段に相当す
る。
【0038】以上詳述した本実施の形態によれば、以下
に示す効果が得られる。 (1)浮動小数点演算に使用される浮動小数点型データ
(負荷補正量fHL,eHL)が非数である場合、その
浮動小数点演算に代わるバックアップ処理が実施され
る。この場合、浮動小数点演算において非数を含む四則
演算の結果は非数となり無効となるが、浮動小数点演算
に用いられる浮動小数点型データが非数であるとき、そ
の無効となる浮動小数点演算を禁止することができる。
このようにすれば、制御データとしての燃料噴射量f、
点火時期eが非数となることを回避でき、非数の発生に
伴う制御不良を未然に防止することができる。
【0039】(2)本実施の形態では、非数の発生時の
バックアップ処理として、整数型データの基本噴射量F
baseを燃料噴射量fに、整数型データの基本点火時期E
baseを点火時期eに代入するようにした。つまり、制御
データのバックアップ値として制御に支障のない値を代
入するようにしている。このようにすれば、バックアッ
プ処理に伴うROM容量の増加を抑制できる。
【0040】以下に、本発明における第2〜第4の実施
の形態を説明する。但し、第2〜第4の実施の形態にお
けるECU10の構成は、図1に示す第1の実施の形態
と同じであり、CPU12により実行される処理が第1
の実施の形態と異なる。
【0041】(第2の実施の形態)本発明における第2
の実施の形態を図5及び図6を用いて説明する。上記第
1の実施の形態では、浮動小数点演算に使用される浮動
小数点型データ(負荷補正量fHL)が非数であるか否
かを判定するものであったが、本実施の形態では、演算
に使用される浮動小数点型データではなく、その演算に
影響を与える浮動小数点型データが非数であるか否かを
判定している。また、本実施の形態において、負荷補正
量fHLは、加速時、減速時で異なる演算式で算出され
るようになっており、加速または減速の判定は、負荷変
化量に相当するパラメータfDLにより判定されてい
る。同パラメータfDLは、エンジン回転数及び吸気圧
に基づいて算出された浮動小数点型データであって、パ
ラメータfDLが正の値であれば加速を意味し、負の値
であれば減速を意味する。
【0042】ここで、本実施の形態における負荷補正量
fHLの算出処理を図5を用いて説明する。図5のフロ
ーチャートは、前記図2の一部を変更したものであり、
図5のステップ100,110,130は共通の処理を
示す。
【0043】要するに、エンジン回転数が3000rp
m未満、または水温が60℃未満のいずれかの条件が成
立した場合(ステップ100、ステップ110において
否定判別された場合)、ステップ130にて負荷補正量
fHLに固定値として浮動小数点型データである「1.
0」を代入し本処理を終了する。
【0044】一方、エンジン回転数が3000rpm以
上、かつ水温が60℃以上である場合、ステップ400
にて、CPU12は、パラメータfDLが非数であるか
否かを判定する。そして、 パラメータfDLが非数で
ない旨が判定された場合、CPU12はステップ410
に移行して、パラメータfDLを用いて加速または減速
かを判定する。ここで、パラメータfDLが「0」より
も大きい値であれば、ステップ420に進みFPU15
を用い加速時の浮動小数点演算(fNe×MAF×fG
ain1)を実施して、浮動小数点型データの負荷補正
量fHLを算出した後本処理を終了する。また、パラメ
ータfDLが「0」以下の値であれば、ステップ430
に進みFPU15を用い減速時の浮動小数点演算(fN
e×MAF×fGain2)を実施して、浮動小数点型
データの負荷補正量fHLを算出した後本処理を終了す
る。なお、fGain1は、浮動小数点型データで設定
された加速用の定数であり、fGain2は、浮動小数
点型データで設定された減速用の定数である。
【0045】一方、ステップ400にてパラメータfD
Lが非数である旨が判定された場合は、ステップ440
に移行して、整数型データの固定値「1」を負荷補正量
FHLに代入した後本処理を終了する。なおここで、整
数型データの負荷補正量FHLは、RAM13におい
て、浮動小数点型データの負荷補正量fHLとは別に確
保された記憶領域に格納される。
【0046】次に、本実施の形態における噴射量算出処
理を図6を用いて説明する。図6のフローチャートは、
前記図3の一部を変更したものであり、図6のステップ
200,220,230,240は共通の処理を示す。
【0047】つまり、ステップ200にて基本噴射量F
baseを算出した後、ステップ500にて、負荷変化量に
相当するパラメータfDLが非数であるか否かを判定す
る。そして、パラメータfDLが非数である旨が判定さ
れた場合、CPU12はステップ510にて、FPU1
5を用いることなく整数型データの固定値「1」を代入
した負荷補正量FHLと基本噴射量Fbaseとを乗算する
ことにより燃料噴射量f(=Fbase×FHL)を算出す
る。
【0048】一方、ステップ500にてパラメータfD
Lが非数でない旨が判定された場合、CPU12はステ
ップ220にて、FPU15を用いた浮動小数点演算に
て燃料噴射量f(=Fbase×fHL)を算出する。そし
て、CPU12はステップ230にて、算出値が非数で
あるか否かを判定し、非数でなければ本処理を終了し、
非数であれば、ステップ240にて、燃料噴射量fとし
て基本噴射量Fbaseを代入した後本処理を終了する。
【0049】なお、本実施の形態では、図5のステップ
400、図6のステップ500及びステップ230の処
理が非数判定手段に相当し、図5のステップ440、図
6のステップ510及びステップ240の処理がバック
アップ手段に相当する。
【0050】要するに、浮動小数点演算に影響を与える
浮動小数点データ、即ち、浮動小数点演算の前提条件と
して用いられる浮動小数点型データが非数である場合、
前提条件を正しく判定できずに誤って浮動小数点演算が
実施されるおそれがある。これに対し、本実施の形態で
は、前提条件として用いられる浮動小数点型データが非
数である旨が判定されたとき、浮動小数点演算に代わる
処理が実施される。その結果、誤って浮動小数点演算が
実施され不的確な制御データが算出されることでエンジ
ン1の制御性が悪化するといった不都合を回避できる。
【0051】(第3の実施の形態)次に、本発明におけ
る第3の実施の形態を図7及び図8を用いて説明する。
本実施の形態では、全ての浮動小数点型データのうちい
ずれか一つでも非数となったとき、全ての浮動小数点演
算が禁止され、それに代わるバックアップ処理が実施さ
れるようになっている。
【0052】その具体例として、先ず、燃料噴射量fの
算出処理を図7を用いて説明する。図7のフローチャー
トは、前記図3の一部を変更したものであり、図7のス
テップ200,220,230,240は共通の処理を
示す。
【0053】図7では、非数判定フラグXALLを用い
ており、同フラグXALLは、全ての浮動小数点型デー
タのうちいずれかが一つでも非数となったときに「1」
がセットされる。例えば、負荷補正量fHLやeHL等
を算出するための浮動小数点演算の処理(図示略)にお
いて、浮動小数点演算の算出値が非数である場合、非数
判定フラグXALLに「1」がセットされる。
【0054】図7のフローチャートについて詳述する
と、ステップ200にて基本噴射量Fbaseを算出した
後、CPU12はステップ600に移行して、非数判定
フラグXALLが「1」であるか否かを判定する。そし
て、非数判定フラグXALLが「0」である旨が判定さ
れたとき、CPU12はステップ220に移行して、F
PU15を用い浮動小数点演算にて燃料噴射量f(=F
base×fHL)を算出するとともに、ステップ230に
て算出値が非数であるか否かを判定する。そして、ステ
ップ230にて、演算値が非数でない旨を判定したとき
本処理を終了し、非数である旨を判定したとき、ステッ
プ610に移行して非数判定フラグXALLに「1」を
セットする。そして、ステップ240に移行し燃料噴射
量fとして基本噴射量Fbaseを代入した後本処理を終了
する。
【0055】また、非数判定フラグXALLに「1」が
セットされた場合、ステップ600にて肯定判定され、
ステップ240にて燃料噴射量fとして基本噴射量Fba
seを代入した後本処理を終了する。つまり、非数判定フ
ラグXALLに「1」がセットされると、ステップ22
0の浮動小数点演算を迂回して、浮動小数点演算に代わ
るバックアップ処理として、ステップ240の処理が実
施される。
【0056】次に、点火時期eの算出処理を図8を用い
て説明する。図8のフローチャートは、前記図4の一部
を変更したものであり、図8のステップ300,32
0,330,340は共通の処理を示す。
【0057】図8の処理においても、ステップ320の
浮動小数点演算を行う前に、ステップ700にて、非数
判定フラグXALLが「1」であるか否かを判定する。
そして、非数判定フラグXALLが「1」である旨を判
定したとき、ステップ320の浮動小数点演算を迂回
し、ステップ320の浮動小数点演算に代わるバックア
ップ処理として、ステップ340にて点火時期eに基本
点火時期Ebaseをセットする。また、ステップ320の
浮動小数点演算による算出値が非数である旨を判定した
とき、ステップ710に移行して非数判定フラグXAL
Lに「1」をセットした後、ステップ340の処理を実
施する。
【0058】つまり、本実施の形態では、エンジン制御
に用いられる全ての浮動小数点演算において、その演算
結果が非数である旨が判定されたとき、共通の非数判定
フラグXALLをセットするようにしている。そして、
浮動小数点演算について、その演算が実施される前に、
非数判定フラグXALLがセットされているか否かを判
定し、そのフラグXALLがセットされていれば、全て
の浮動小数点演算を禁止して、それに代わるバックアッ
プ処理を実施するようにしている。
【0059】なお、本実施の形態では、図7のステップ
230、ステップ600、図8のステップ330、ステ
ップ700の処理が非数判定手段に相当し、図7のステ
ップ240、図8のステップ340の処理がバックアッ
プ手段に相当する。
【0060】実際に、浮動小数点型データのうちいずれ
かが1つでも非数となる際には、その発生要因(具体的
には、ノイズ)がある環境下でマイコン11が動作して
いると判断できる。従って、その際には、いつ非数が発
生してもおかしくないので、全ての浮動小数点演算が禁
止されるとともに、その浮動小数点演算に代わるバック
アップ処理が実施される。
【0061】また、本実施の形態では、非数判定フラグ
XALLを用いて、非数であるか否かを判定するように
しているので、全ての浮動小数点データについてその値
により非数であるか否かを判定する場合と比較して、処
理を簡素化でき実用上好ましいものとなる。
【0062】上述の通り、いずれかの浮動小数点データ
で非数が発生し、それに伴いフラグXALLがセットさ
れた場合において、ノイズ等の非数発生要因が解消さ
れ、浮動小数点データが正常な値に戻った時には、フラ
グXALLをリセットして本来の浮動小数点演算を再開
するよう構成してもよい。これにより、ノイズ等に起因
して一時的に非数が発生する際に、バックアップ処理が
長時間継続されることはなく、高精度な浮動小数点演算
に復帰できる。
【0063】(第4の実施の形態)次に、本発明におけ
る第4の実施の形態を図9を用いて説明する。図9のフ
ローチャートは、前記図2の一部を変更したものであ
り、図10のステップ100〜130は共通の処理を示
す。
【0064】詳述すると、エンジン回転数が3000r
pm未満、水温が60℃未満のいずれかの条件が成立し
た場合(ステップ100、ステップ110において否定
判別された場合)、ステップ130にて負荷補正量fH
Lに固定値として浮動小数点型データである「1.0」
を代入し本処理を終了する。一方、エンジン回転数が3
000rpm以上、かつ水温が60℃以上である場合
(ステップ100、ステップ110のいずれも肯定判別
された場合)、CPU12はステップ800に進み、浮
動小数点型データとして算出されたエンジン回転数fN
eが非数であるか否かを判定する。そして、エンジン回
転数fNeが非数でない旨を判定したとき、ステップ1
20にて、FPU15を用い浮動小数点演算を実施し
て、浮動小数点型データの負荷補正量fHL(fNe×
MAF×fGain )を算出した後に本処理を終了す
る。一方、エンジン回転数fNeが非数である旨を判定
したとき、CPU12はステップ810にて、FPU1
5を用いることなく、整数型データとして算出されたエ
ンジン回転数Neと整数型データの吸気圧MAFとをパ
ラメータとしたマップデータの補間演算を実施する。そ
して、CPU12は、整数型データとして得られた補間
値を変換することにより浮動小数点型データとして負荷
補正量fHLに代入し、本処理を終了する。
【0065】なお、本実施の形態では、ステップ800
の処理が非数判定手段に相当し、ステップ810の処理
がバックアップ手段に相当する。このように、本実施の
形態では、浮動小数点型データが非数である旨が判定さ
れたとき、浮動小数点演算に代えて、整数型データを用
いた演算が実施される。この場合、浮動小数点演算と比
較して演算結果の精度は劣るが、整数型データに対応し
た制御データをバックアップ値として算出できるので、
実用上好ましいものとなる。
【0066】なお本発明は、上記以外に次の形態にて具
体化できる。上記第1の実施の形態において、図3のス
テップ210では、浮動小数点型データの負荷補正量f
HLの値により非数であるか否かを判定していたが、フ
ラグを用いて判定してもよい。つまり、図2のステップ
120における浮動小数点演算の算出値が非数である場
合、負荷補正量fHLが非数である旨を示す非数判定フ
ラグをセットし、図3のステップ210にて、同フラグ
を参照することによって負荷補正量fHLが非数か否か
を判定する。同様に、図4のステップ310、図5のス
テップ400等の処理においても、非数判定フラグを用
い浮動小数点型データが非数であるか否かを判定しても
よい。この場合、非数判定フラグを参照することによっ
て、浮動小数点型データが非数であるか否かを判定でき
る。よって、同じ浮動小数点型データを複数の浮動小数
点演算に用いる場合に適用すれば、処理を簡素化できる
ので実用上好ましいものとなる。
【0067】上記第2の実施の形態では、浮動小数点演
算に影響を与える浮動小数点型データとして、パラメー
タfDLに具体化したがこれに限定するものではない。
例えば、浮動小数点演算を実施するための前提条件とし
て、空燃比補正量等の浮動小数点型データを用いる場
合、その空燃比補正量が非数であるか否かを判定し、非
数であれば浮動小数点演算を禁止して、それに代わるバ
ックアップ処理を実施する。
【0068】また例えば、浮動小数点演算毎に影響を与
える浮動小数点型データが非数であるか否かを判定する
ものとして、非数発生時に、点火制御、噴射制御等の各
種制御毎に区分して非数判定を行うようにする。具体的
には、点火制御、噴射制御等の各種制御毎に、共通の非
数判定フラグを用意し、例えば、点火制御の浮動小数点
演算にて、非数が発生したとき点火制御用の非数判定フ
ラグをセットし、その非数判定フラグを用いて、点火制
御にて実施される全ての浮動小数点演算を禁止する。こ
のようにしても、非数の発生により浮動小数点演算に悪
影響が及ぶことを防止できる。
【0069】上記各実施の形態では、単精度記憶形式の
浮動小数点型データを扱う電子制御装置(ECU)10
について例示したが、倍精度記憶形式の浮動小数点型デ
ータを扱う電子制御装置にも適用できる。
【0070】以上の説明では自動車用エンジン制御を例
に本発明を述べたが、このように自動車の走行に関与す
る電子制御装置に本発明を適用することで、自動車の制
御システムの信頼性を高めることができる。
【図面の簡単な説明】
【図1】発明の実施の形態におけるエンジン制御システ
ムの概要を示すブロック図。
【図2】第1の実施の形態における負荷補正量算出処理
を示すフローチャート。
【図3】第1の実施の形態における噴射量算出処理を示
すフローチャート。
【図4】第1の実施の形態における点火時期算出処理を
示すフローチャート。
【図5】第2の実施の形態における負荷補正量算出処理
を示すフローチャート。
【図6】第2の実施の形態における噴射量算出処理を示
すフローチャート。
【図7】第3の実施の形態における噴射量算出処理を示
すフローチャート。
【図8】第3の実施の形態における点火時期算出処理を
示すフローチャート。
【図9】第4の実施の形態における負荷補正量算出処理
を示すフローチャート。
【図10】浮動小数点型データの構成を示す図。
【図11】回転数演算処理を示すフローチャート。
【符号の説明】
10…エンジン制御ECU(電子制御装置)、11…マ
イコン、12…CPU、15…FPU(浮動小数点演算
プロセッサ)。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 浮動小数点型データを演算するための浮
    動小数点演算機能を有し、所定の制御プログラムに従い
    各種制御を実施する電子制御装置において、 浮動小数点型データが非数であるか否かを判定する非数
    判定手段と、 前記非数判定手段により非数である旨が判定されたと
    き、浮動小数点演算に代わるバックアップ処理を実施す
    るバックアップ手段と、を備えることを特徴とする電子
    制御装置。
  2. 【請求項2】 前記非数判定手段は、浮動小数点演算毎
    にその際に用いられる浮動小数点型データが非数である
    か否かを判定することを特徴とする請求項1に記載の電
    子制御装置。
  3. 【請求項3】 前記非数判定手段は、浮動小数点演算毎
    に影響を与える浮動小数点型データが非数であるか否か
    を判定することを特徴とする請求項1に記載の電子制御
    装置。
  4. 【請求項4】 前記非数判定手段は、全ての浮動小数点
    型データのうちいずれかが1つでも非数であるか否かを
    判定することを特徴とする請求項1に記載の電子制御装
    置。
  5. 【請求項5】 浮動小数点型データが非数であれば、そ
    の旨を表す非数判定フラグをその都度セットし、 前記非数判定手段は、非数判定フラグを参照して非数か
    否かを判定し、前記バックアップ手段は、前記非数判定
    フラグの判定結果に応じてバックアップ処理を実施する
    ことを特徴とする請求項1〜4のいずれか一項に記載の
    電子制御装置。
  6. 【請求項6】 前記バックアップ手段は、浮動小数点型
    データに代えて整数型データをバックアップ値として用
    いるようにしたことを特徴とする請求項1〜5のいずれ
    か一項に記載の電子制御装置。
  7. 【請求項7】 前記バックアップ手段は、浮動小数点演
    算に代えて整数型データを用いた演算を実施することを
    特徴とする請求項1〜5のいずれか一項に記載の電子制
    御装置。
JP2000101028A 1999-12-24 2000-04-03 浮動小数点演算機能を有した自動車用電子制御装置 Expired - Fee Related JP3644350B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000101028A JP3644350B2 (ja) 2000-04-03 2000-04-03 浮動小数点演算機能を有した自動車用電子制御装置
US09/739,335 US6904543B2 (en) 1999-12-24 2000-12-19 Electronic control having floating-point data check function
DE10064787A DE10064787A1 (de) 1999-12-24 2000-12-22 Elektronische Steuerung mit einer Funktion zur Überprüfung von Gleitpunktdaten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000101028A JP3644350B2 (ja) 2000-04-03 2000-04-03 浮動小数点演算機能を有した自動車用電子制御装置

Publications (2)

Publication Number Publication Date
JP2001282505A true JP2001282505A (ja) 2001-10-12
JP3644350B2 JP3644350B2 (ja) 2005-04-27

Family

ID=18615148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000101028A Expired - Fee Related JP3644350B2 (ja) 1999-12-24 2000-04-03 浮動小数点演算機能を有した自動車用電子制御装置

Country Status (1)

Country Link
JP (1) JP3644350B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1441277A2 (en) 2003-01-27 2004-07-28 Denso Corporation Electronic control apparatus
JP2007299049A (ja) * 2006-04-27 2007-11-15 Denso Corp 演算処理装置,制御装置およびプログラム
JP2019106042A (ja) * 2017-12-13 2019-06-27 トヨタ自動車株式会社 演算装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1441277A2 (en) 2003-01-27 2004-07-28 Denso Corporation Electronic control apparatus
US7558811B2 (en) 2003-01-27 2009-07-07 Denso Corporation Electronic control apparatus and memory apparatus for electronic control apparatus
JP2007299049A (ja) * 2006-04-27 2007-11-15 Denso Corp 演算処理装置,制御装置およびプログラム
JP4645519B2 (ja) * 2006-04-27 2011-03-09 株式会社デンソー 演算処理装置,制御装置およびプログラム
JP2019106042A (ja) * 2017-12-13 2019-06-27 トヨタ自動車株式会社 演算装置

Also Published As

Publication number Publication date
JP3644350B2 (ja) 2005-04-27

Similar Documents

Publication Publication Date Title
JP2001282505A (ja) 浮動小数点演算機能を有した電子制御装置
JP3551875B2 (ja) 浮動小数点演算機能を有した電子制御装置
JP2000112837A (ja) メモリチェック装置及びチェック方法
JP2630442B2 (ja) エンジン制御装置
US6904543B2 (en) Electronic control having floating-point data check function
JP3463322B2 (ja) 車両用制御装置のメモリチェック装置
JP4329332B2 (ja) 電子制御装置及び制御プログラム
JP4645519B2 (ja) 演算処理装置,制御装置およびプログラム
JP4158566B2 (ja) 浮動小数点演算機能を有する電子制御装置
JP4058870B2 (ja) 浮動小数点演算機能を有した電子制御装置
JP3666226B2 (ja) 電子制御装置
JP3729133B2 (ja) 車両用電子制御装置及び制御プログラム
KR100371984B1 (ko) 내연기관의 촉매열화 검출장치
JPS63272933A (ja) 燃料噴射制御装置
KR100273553B1 (ko) 자동차의 엔진 회전수 센서 고장 검출 방법
JP2000064901A (ja) 内燃機関の失火検出装置
JP3045893B2 (ja) 内燃機関の失火検出装置
JPS60201074A (ja) 内燃機関の制御方法
JP4453762B2 (ja) 浮動小数点演算機能を有する電子制御装置
JP2001196933A (ja) 浮動小数点演算機能を有した電子制御装置
JPH067083B2 (ja) 内燃機関の吸入空気量検出装置
JP2000347882A (ja) 制御プログラムの処理装置
JP2000105602A (ja) 車両用の制御量演算装置
JP2002175177A (ja) 演算装置
JP3289332B2 (ja) 内燃機関用ノック制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040820

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130210

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees