JP2000305750A - On-vehicle electronic controller - Google Patents

On-vehicle electronic controller

Info

Publication number
JP2000305750A
JP2000305750A JP11118081A JP11808199A JP2000305750A JP 2000305750 A JP2000305750 A JP 2000305750A JP 11118081 A JP11118081 A JP 11118081A JP 11808199 A JP11808199 A JP 11808199A JP 2000305750 A JP2000305750 A JP 2000305750A
Authority
JP
Japan
Prior art keywords
calculation
bytes
result
accumulator
lsb
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.)
Pending
Application number
JP11118081A
Other languages
Japanese (ja)
Inventor
Seiji Miyamoto
誠司 宮本
Kaname Kura
要 倉
Tomoyuki Kashiwagi
智之 柏木
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 JP11118081A priority Critical patent/JP2000305750A/en
Publication of JP2000305750A publication Critical patent/JP2000305750A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide an on-vehicle electronic controller preventing the deteriora tion of precision or the decrease of a processing speed at the time of storing an arithmetic result in an accumulator, and operating the numerical calculation of three or more numerical data whose LSB is different according to four arithmetical operations. SOLUTION: This on-vehicle electronic controller is provided with a microcomputer. In this case, a signal from a sensor or a switch is inputted, and each kind of arithmetic operation is executed, and an actuator is driven based on the arithmetic result. The arithmetic result is stored in an accumulator, and the numerical calculation of three or more numerical data is operated according to arithmetical operations. The arithmetic result obtained in the middle of the numerical calculation of the numerical data is shifted so that the leftmost side bit in the accumulator can be '1' in a step 202. The number of times of shift is managed and held in a step 203, and shift adjustment is operated in a step 204 after the final arithmetic operation.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は車載用電子制御装
置に係り、詳しくは高精度演算処理を可能とするための
技術に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an on-vehicle electronic control unit, and more particularly to a technique for enabling high-precision arithmetic processing.

【0002】[0002]

【従来の技術】エンジン制御等を行うための車載用コン
トローラ(ECU)には16ビットマイコンが使用され
ている。エンジン制御で行われている演算は、四則演算
が複雑なものが多く、同時に精度が要求される。従来、
このような場合、途中の演算結果をRAMに待避し、4
バイト演算を行ったり、シフト回数をできるだけ少な
く、かつ、演算途中でガードがかからないように、四則
演算の順番を考慮し演算を行ったりする必要があった。
2. Description of the Related Art A 16-bit microcomputer is used as a vehicle-mounted controller (ECU) for performing engine control and the like. In many cases, the arithmetic operations performed by the engine control are complicated in the four arithmetic operations, and at the same time, accuracy is required. Conventionally,
In such a case, the intermediate calculation result is saved in the RAM, and
It is necessary to perform the byte operation or perform the operation in consideration of the order of the four arithmetic operations so that the number of shifts is as small as possible and the guard is not applied during the operation.

【0003】[0003]

【発明が解決しようとする課題】エンジン制御で使用さ
れる数値データ(取り込み値や定数)は、バイト数、L
SB、オフセット、範囲などが、用途により様々であ
る。数値データの使用範囲が非常に狭ければ、四則演算
の順番を考慮し、ある程度の演算精度を確保することは
可能であろう。しかし、エンジン制御の場合、適合によ
り値が大きく変わることが考えられるため、多くは範囲
を持たない。その場合、プログラム上の計算は、定義さ
れたバイト数の示す全領域、即ち、1バイトなら$00
(以下、16進数であることを示すために数値の前に$
を付けて16進法による表現とする。又、10進数であ
ることを示すために数値の後に(10)を付け、又、2進数
であることを示すために数値の後に(2) を付ける)から
$FF、2バイトなら$0000から$FFFFの領域
に対して、演算精度を出す必要がある。
The numerical data (captured values and constants) used in the engine control are the number of bytes, L
The SB, offset, range, and the like vary depending on the application. If the range of use of numerical data is very narrow, it is possible to secure a certain degree of calculation accuracy in consideration of the order of the four arithmetic operations. However, in the case of engine control, the value may vary greatly depending on the adaptation, and therefore, most do not have a range. In this case, the calculation on the program is performed for the entire area indicated by the defined number of bytes, that is, for one byte, $ 00
(Hereinafter, in order to indicate that it is a hexadecimal number, $
To make it a hexadecimal expression. Also, add (10) after the numerical value to indicate that it is a decimal number, and (2) after the numerical value to indicate that it is a binary number ). It is necessary to obtain the calculation accuracy for the area of $ FFFF.

【0004】演算精度を出す方法として、上記従来技術
があるが、4バイト演算を行う場合、ロジック構成が複
雑になり、処理時間およびバイト数が大幅に増えるとい
う問題が生じる。また、演算途中のシフト回数をできる
だけ少なくするように、あるいは、演算途中でガードが
かからないようにするために四則演算の順番を考慮する
にも限界があり、特に掛け算、割り算の演算では、演算
途中の桁落ち、あるいは四捨五入により、演算誤差が非
常に大きくなってしまうという問題が生じる。
As a method of increasing the operation accuracy, there is the above-mentioned prior art. However, when performing a 4-byte operation, there is a problem that the logic configuration is complicated and the processing time and the number of bytes are greatly increased. In addition, there is a limit in considering the order of the four arithmetic operations in order to minimize the number of shifts during the operation or to prevent a guard from being applied during the operation. There is a problem that the calculation error becomes very large due to the digit loss or rounding off.

【0005】四則演算で使用する2つのパラメータは、
それぞれLSBを持ち、この2つのパラメータから得ら
れる演算結果もLSBを持つ。例えば、2つのパラメー
タともバイト数が2でLSBが2-2でかつ、値がHEX
値$8000の加算を行う場合、単純に$8000+$
8000から得られる$10000は3バイトでLSB
が2-2の結果となる。
[0005] Two parameters used in the four arithmetic operations are:
Each has an LSB, and the calculation result obtained from these two parameters also has an LSB. For example, for both parameters, the number of bytes is 2, the LSB is 2 -2 , and the value is HEX.
To add the value $ 8000, simply add $ 8000 + $
$ 10000 obtained from 8000 is 3 bytes and LSB
Results in 2-2 .

【0006】このあとの演算でこの結果がそのまま使用
できれば精度は落ちないが、レジスタ上の演算では結果
を2バイトにする必要が多い。一般的に、$10000
を2バイトにする場合、$FFFFでガードをかける方
法と、右に1回シフトさせLSB2-1の$8000にす
る方法がある。前者は、LSBが変わらないため精度は
落ちないが、ガードがかかる場合、その後の計算結果に
大きな影響を与えてしまう。2つのパラメータの通常使
われる値が小さく加算結果にガードがかかることが希で
ある仕様条件がある場合、ガードをかける方法で問題な
いであろう。後者は、ガードをかけないため、その後の
計算結果に大きな影響を与えることはないが、常にLS
Bの精度を1つ落とすことになり、その後の計算結果に
微妙な誤差を与えることになる。
If the result can be used as it is in the subsequent operation, the precision does not decrease, but the result on the register often needs to be 2 bytes. Generally, $ 10,000
Is set to 2 bytes, there are a method of guarding with $ FFFF, and a method of shifting once to the right to make $ 8000 of LSB2 -1 . In the former case, the accuracy does not decrease because the LSB does not change, but when guard is applied, the subsequent calculation results are greatly affected. If there are specification conditions where the commonly used values of the two parameters are small and the addition result is rarely guarded, the guarding method will be fine. In the latter case, since no guard is applied, the subsequent calculation result is not significantly affected, but LS is always used.
The precision of B is reduced by one, and a delicate error is given to the calculation result thereafter.

【0007】具体的には、図15に示すように、演算式
K=ka×kb×kcにおいて、代入値ka=1.00
003(10)、kb=1.00012(10)、kc=1.0
0049(10)とした場合、理論値K=1.00064
(10)となる。16進法では、ka,kb,kc,Kのバ
イト数を、全て「2」とし、ka,kb,kc,KのL
SBを、kaが2-15 、kbが2-13 、kcが2-11
Kが2-15 と設定したとき、ka=$8001、kb=
$2001、kc=$0801、K=$8015とな
る。
More specifically, as shown in FIG. 15, in an arithmetic expression K = ka × kb × kc, the substitution value ka = 1.00
003 (10) , kb = 1.00012 (10) , kc = 1.0
In the case of (10) , the theoretical value K = 1.00064
(10) . In hexadecimal notation, the number of bytes of ka, kb, kc, K is all set to “2”, and the L of ka, kb, kc, K is
SB, ka is 2 -15 , kb is 2 -13 , kc is 2 -11 ,
When K is set to 2 -15 , ka = $ 8001, kb =
$ 2001, kc = $ 0801, K = $ 8015.

【0008】そして、図16に示すように、演算パター
ン1として、まず、ka×kbを演算し、さらに、この
演算結果に対しkcの乗算を行う。このときのレジスタ
上での演算状況を図17に示す。図17において、ka
=$8001、kb=$2001を乗算すると、ka×
kb=$1000A001となり、これを2バイトにす
るために演算結果のうちの下位2バイト分を四捨五入し
て$1001にする。そして、この値にkc(=$08
01)を乗算すると、ka×kb×kc=$80180
1となり、これを2バイトにすると$8018=Kを得
る。このようにして得られた値は図15の理論値K=$
8015に対し誤差として$03を持つことになる。
Then, as shown in FIG. 16, as a calculation pattern 1, ka × kb is calculated first, and the calculation result is multiplied by kc. FIG. 17 shows the operation status on the register at this time. In FIG. 17, ka
= $ 8001 and kb = $ 2001 multiplied by ka x
kb = $ 1000A001, and in order to make it 2 bytes, the lower 2 bytes of the operation result are rounded off to $ 1001. Then, the value kc (= $ 08
01), ka × kb × kc = $ 80180
It becomes 1 and if this is 2 bytes, $ 8018 = K is obtained. The value thus obtained is the theoretical value K = $ in FIG.
8015 has $ 03 as an error.

【0009】このように、3つのパラメータ(ka,k
b,kc)は、それぞれ異なったLSBを持ち、それぞ
れの1LSBの重みが最終結果に正確に反映されるか検
証できるよう数値を決めた場合、常にLSBを考慮する
必要があり、さらにパラメータの最大値も考慮に入れる
必要があることから、最初の乗算結果を2バイトで保持
するときに、四捨五入による桁上がりがおき、最終結果
に大きな誤差を生じさせる要因となっている。
Thus, three parameters (ka, k
b, kc) have different LSBs, and if a numerical value is determined so that the weight of each 1 LSB can be accurately reflected in the final result, it is necessary to always consider the LSB, and furthermore, the maximum parameter Since the value also needs to be taken into account, when the first multiplication result is held in 2 bytes, a carry due to rounding occurs, causing a large error in the final result.

【0010】また、図16の演算手順に比べ、図18の
ように、演算パターン2として、まず、kb×kcを演
算し、さらに、この演算結果に対しkaの乗算を行い、
演算の順番を変えた場合、レジスタ上での演算状況を図
19に示す。この場合には、kb×kc=$10028
01となり、これを2バイトにして$100とし、さら
に$100×ka=$800100となり、これを2バ
イトにして$8001にする。その結果、ka×kb×
kc=$8001=Kを得る。この際、$100280
1を2バイトにして$100にするときに、大幅な桁落
ちが発生する。よって、このようにして得られた値は図
15の理論値K=$8015に対し誤差として$14を
持つとともに、図17と図19を比較すれば分かるよう
に演算の順番により結果が異なってしまう。
Compared with the calculation procedure of FIG. 16, first, as shown in FIG. 18, as a calculation pattern 2, kb × kc is calculated, and the calculation result is multiplied by ka.
FIG. 19 shows the operation status on the register when the order of the operations is changed. In this case, kb × kc = $ 10028
01, which is 2 bytes, which is $ 100. Further, $ 100 × ka = $ 800100, which is 2 bytes, which is $ 8001. As a result, ka × kb ×
kc = $ 8001 = K is obtained. At this time, $ 100280
When 1 is set to 2 bytes and set to $ 100, significant digit loss occurs. Therefore, the value obtained in this way has $ 14 as an error with respect to the theoretical value K = $ 8015 in FIG. 15, and as can be seen by comparing FIGS. I will.

【0011】そこで、この発明の目的は、演算結果をア
キュムレータに格納しつつLSBの異なる3つ以上の数
値データを四則演算ルールに従って数値計算する際にお
いて、精度および処理速度を落とさないようにすること
ができる車載用電子制御装置を提供することにある。
SUMMARY OF THE INVENTION It is an object of the present invention to prevent a decrease in accuracy and processing speed when calculating three or more numerical data having different LSBs in accordance with four arithmetic rules while storing the calculation result in an accumulator. It is an object of the present invention to provide an in-vehicle electronic control device capable of performing the following.

【0012】[0012]

【課題を解決するための手段】請求項1に記載の発明に
よれば、数値データを数値計算する上での途中の演算結
果が、アキュムレータでの一番左のビットが「1」にな
るようにシフトされ、当該シフト回数を管理しながら持
ち、最終演算後において、シフト調整される。
According to the first aspect of the present invention, the operation result in the middle of numerical calculation of numerical data is such that the leftmost bit in the accumulator is "1". And the number of shifts is managed while being managed, and the shift is adjusted after the final calculation.

【0013】つまり、途中の演算結果のうちのアキュム
レータに格納できるビット分を選択する際において、途
中の演算結果のうちの上位に位置するビット分をアキュ
ムレータに格納し、以後の演算を行う。
That is, when selecting the bits that can be stored in the accumulator among the intermediate calculation results, the higher-order bits of the intermediate calculation results are stored in the accumulator, and the subsequent calculation is performed.

【0014】よって、演算途中の桁落ち、あるいは四捨
五入による演算誤差が大きくなることが抑制される。ま
た、従来方式の4バイト演算(RAMにデータを退避し
ながら計算を続ける方式)を行う場合に比べ、ロジック
構成が単純化され処理時間およびバイト数が増えること
が抑制される。
Therefore, an increase in a calculation error due to loss of digits during calculation or rounding is suppressed. Further, the logic configuration is simplified and the processing time and the number of bytes are suppressed from being increased as compared with the case of performing the conventional 4-byte operation (the method of continuing the calculation while saving the data in the RAM).

【0015】このようにして、演算結果をアキュムレー
タに格納しつつLSBの異なる3つ以上の数値データを
四則演算ルールに従って数値計算する際において、精度
および処理速度を落とさないようにすることができるこ
ととなる。
In this way, the accuracy and the processing speed can be prevented from being reduced when calculating three or more numerical data having different LSBs in accordance with the four arithmetic rules while storing the calculation result in the accumulator. Become.

【0016】[0016]

【発明の実施の形態】以下、この発明を具体化した実施
の形態を図面に従って説明する。本実施形態においては
自動車用エンジン制御システムに適用している。図1に
は、車載用電子制御装置としての車載用エンジン制御E
CU(ECU;Electric Control Unit )1の構成
を示す。
Embodiments of the present invention will be described below with reference to the drawings. In the present embodiment, the present invention is applied to an automobile engine control system. FIG. 1 shows a vehicle-mounted engine control E as a vehicle-mounted electronic control device.
1 shows a configuration of a CU (ECU; Electric Control Unit) 1.

【0017】ECU1はA/Dコンバータ2、入力処理
回路3、MPU(16ビットマイクロコンピュータ)
4、出力処理回路5、電源回路6を備えている。MPU
4はA/Dコンバータ2を介してバッテリ電圧、エンジ
ン冷却水温信号、エンジン吸気温信号、エンジン吸気圧
信号、スロットル開度信号等のアナログ信号を取り込
む。また、MPU4は入力処理回路3を介してクランク
位置信号、エンジン回転速度信号(パルス信号)、O2
センサ信号、車速信号、アイドル信号、エアコンスイッ
チ信号、スタータ信号、イグニッションスイッチ信号等
のディジタル信号を取り込む。ここで、入力処理回路3
はエンジン回転速度信号(パルス信号)のパルス周期を
測定してエンジン回転速度に応じた信号としてMPU4
に送出する。
The ECU 1 includes an A / D converter 2, an input processing circuit 3, and an MPU (16-bit microcomputer).
4, an output processing circuit 5, and a power supply circuit 6. MPU
Reference numeral 4 captures analog signals such as a battery voltage, an engine coolant temperature signal, an engine intake temperature signal, an engine intake pressure signal, and a throttle opening signal via the A / D converter 2. Further, the MPU 4 receives a crank position signal, an engine rotational speed signal (pulse signal), an O 2 signal via the input processing circuit 3.
It takes in digital signals such as sensor signals, vehicle speed signals, idle signals, air conditioner switch signals, starter signals, ignition switch signals, and the like. Here, the input processing circuit 3
MPU4 measures the pulse period of the engine speed signal (pulse signal) and generates a signal corresponding to the engine speed.
To send to.

【0018】そして、MPU4はこれらエンジン状態を
示す信号に基づいてエンジン運転状態に応じた最適な燃
料噴射量、点火時期(進角量)、ISCV開度を演算
し、その演算結果に基づいて出力処理回路5を介してイ
ンジェクタ、イグナイタ、アイドル回転速度制御用ステ
ップモータ等のアクチュエータを駆動制御する。MPU
4はCPU(中央処理装置)7、RAM(リードオンリ
メモリ)8、ROM(ランダムアクセスメモリ)9を備
えている。電源回路6はバッテリ電圧を5ボルト電圧に
変換してECU1内の各機器に供給する。
The MPU 4 calculates an optimum fuel injection amount, ignition timing (advance angle), and ISCV opening in accordance with the engine operating condition based on the signal indicating the engine condition, and outputs an output based on the calculation result. Actuators such as an injector, an igniter, and an idle rotation speed control step motor are driven and controlled via the processing circuit 5. MPU
Reference numeral 4 includes a CPU (central processing unit) 7, a RAM (read only memory) 8, and a ROM (random access memory) 9. The power supply circuit 6 converts the battery voltage to a 5-volt voltage and supplies it to each device in the ECU 1.

【0019】このように、エンジン制御システムでは、
スイッチ入力の取込みや、センサ信号のA/D変換、パ
ルス周期測定などの入力処理を行いながら、燃料噴射、
進角量、ISCV開度の演算を行い、所定のタイミング
でそれらのアクチュエータに出力信号を送っている。こ
れらの処理手順をMPU4内のメモリ(ROM)9に記
憶させておき、順次CPU7に命令として伝達して実行
している。
Thus, in the engine control system,
While performing input processing such as taking in switch inputs, A / D conversion of sensor signals, and pulse period measurement,
The advance amount and the ISCV opening are calculated, and output signals are sent to those actuators at a predetermined timing. These processing procedures are stored in a memory (ROM) 9 in the MPU 4 and are sequentially transmitted to the CPU 7 as instructions and executed.

【0020】図2は、制御の概略を示すフローチャート
である。まず、ステップ100で初期機能をセットし、
ステップ101,102,103で各センサ・スイッチ
の入力処理として、A/D変換、スイッチ信号の入力、
エンジン回転速度の計算を行う。そして、ステップ10
4,105で燃料噴射処理として噴射補正値の計算およ
び噴射値の出力を行う。ここで、燃料噴射処理に関し
て、燃料噴射制御はエンジンの動力性能改善、排出ガス
浄化、燃費改善、ドライバビリティ向上などを目的とし
てエンジンの状態を検出する各センサからの信号から最
適な空燃比となるようにエンジンに必要な燃料量を演算
し、インジェクタに噴射信号を送るための制御である。
FIG. 2 is a flowchart showing an outline of the control. First, in step 100, the initial functions are set,
In steps 101, 102, and 103, input processing of each sensor switch includes A / D conversion, input of a switch signal,
Calculate the engine speed. And step 10
In steps 4 and 105, an injection correction value is calculated and an injection value is output as a fuel injection process. Here, regarding the fuel injection processing, the fuel injection control is performed to obtain an optimal air-fuel ratio from signals from the sensors that detect the state of the engine for the purpose of improving the power performance of the engine, purifying exhaust gas, improving fuel efficiency, improving drivability, and the like. In this way, the fuel amount required for the engine is calculated and the injection signal is sent to the injector.

【0021】さらに、ステップ106,107で点火時
期処理として点火時期補正値の計算および点火信号の出
力を行う。ここで、点火時期処理に関して、点火時期制
御は、燃料噴射制御と同様の目的で各センサの信号から
最適な点火時期を決定して、イグナイタに点火信号を送
るための制御である。
Further, in steps 106 and 107, an ignition timing correction value is calculated and an ignition signal is output as an ignition timing process. Here, regarding the ignition timing process, the ignition timing control is a control for determining an optimum ignition timing from signals of the respective sensors for the same purpose as the fuel injection control and sending an ignition signal to the igniter.

【0022】図3には燃料噴射制御の機能ブロック図を
示す。MPU4により、入力信号処理部10と噴射補正
計算・噴射量計算部11と噴射出力部(タイマ制御部)
12が構成されている。アナログ・ディジタル信号がA
/Dコンバータ2および入力処理回路3を介して入力信
号処理部10に入力され、ここで信号処理が行われ、そ
の後、噴射補正計算・噴射量計算部11において所望の
演算が実行される。そして、その演算結果により噴射出
力部(タイマ制御部)12にて出力処理が行われ、出力
処理回路5を介してインジェクタが駆動される。その結
果、インジェクタから最適量の燃料がエンジンに供給さ
れる。
FIG. 3 shows a functional block diagram of the fuel injection control. The input signal processing unit 10, the injection correction calculation / injection amount calculation unit 11, and the injection output unit (timer control unit) by the MPU4
12 are configured. Analog / digital signal is A
The signal is input to the input signal processing unit 10 via the / D converter 2 and the input processing circuit 3, where the signal processing is performed, and then the injection correction calculation / injection amount calculation unit 11 performs a desired operation. Output processing is performed by the injection output unit (timer control unit) 12 based on the calculation result, and the injector is driven via the output processing circuit 5. As a result, an optimal amount of fuel is supplied to the engine from the injector.

【0023】この燃料噴射制御のための演算において、
図4に示すパラメータによる演算が行われる。具体的に
は、最終噴射時間tiは有効噴射時間tauと無効噴射
時間tvから、 ti=tau+tv・・・(1) にて求められ、有効噴射時間tauは、 にて求められる。ただし、tpは目標空燃比を実現する
ためのエアフローメータなどの出力信号から求められる
基本噴射時間であり、fthaは吸気温補正係数であ
り、ftotalはトータル増量補正係数であり、kF
IXFはマッチング用補正係数である。
In the calculation for the fuel injection control,
The calculation is performed using the parameters shown in FIG. Specifically, the final injection time ti is obtained from the effective injection time tau and the invalid injection time tv by ti = tau + tv (1), and the effective injection time tau is Is required. Here, tp is a basic injection time obtained from an output signal of an air flow meter or the like for realizing the target air-fuel ratio, ftha is an intake temperature correction coefficient, ftotal is a total increase correction coefficient, and kF
IXF is a correction coefficient for matching.

【0024】つまり、最終噴射時間tiは、有効噴射時
間tauに無効噴射時間tvを加えたものであり、有効
噴射時間tauは、基本噴射時間tpに各種補正を行っ
たものであり、無効噴射時間tvは、インジェクタに通
電を開始し、実際に燃料が噴射されるまでの時間であ
る。また、基本噴射時間tpは、理論空燃比となるよう
な1噴射あたりの燃料噴射量に相当する噴射時間として
求められるものであり、吸気温補正係数fthaは、吸
入空気の温度により空気の密度が変化するのでその補正
を行うためのものである。さらに、トータル増量補正係
数ftotalは、基本噴射時間tpに対して、各セン
サからの信号により暖機特性改善、加速性向上、排出ガ
ス浄化などを目的として噴射時間を変えて噴射量の各種
補正を行うためのものであり、マッチング用補正係数k
FIXFは、マッチング時に使用する補正項である。
That is, the final injection time ti is obtained by adding the invalid injection time tv to the effective injection time tau, and the effective injection time tau is obtained by performing various corrections on the basic injection time tp. tv is the time from the start of energization to the injector to the actual injection of fuel. Further, the basic injection time tp is obtained as an injection time corresponding to a fuel injection amount per injection so as to obtain a stoichiometric air-fuel ratio, and the intake air temperature correction coefficient ftha is determined based on the temperature of the intake air. Since it changes, the correction is performed. Further, the total increase correction coefficient ftotal is based on the basic injection time tp, and various corrections of the injection amount are performed by changing the injection time for the purpose of improving the warm-up characteristics, improving the acceleration performance, purifying the exhaust gas, etc. based on signals from the sensors. Correction coefficient k for matching.
FIXF is a correction term used at the time of matching.

【0025】ここで、各時間および補正係数にはバイト
数、LSB、オフセットが決められている。具体的に
は、ti,tau,tv,tpはバイト数が「2」、L
SBが「4μs」である。ftha,ftotalはバ
イト数が「2」、LSBが2-1 1 である。さらに、kF
IXFは、バイト数が「2」、LSBが2-8、オフセッ
ト値が0.5である。
Here, the number of bytes, LSB, and offset are determined for each time and correction coefficient. Specifically, ti, tau, tv, and tp have the number of bytes “2” and L
SB is “4 μs”. ftha, ftotal "2" number of bytes, LSB is 2 -1 1. Furthermore, kF
The IXF has a byte number of “2”, an LSB of 2 −8 , and an offset value of 0.5.

【0026】このように、複数のパラメータそれぞれ
に、バイト数、LSB、オフセットが定められ、目的と
する結果を得る式(1),(2)が定義されている。図
5には、CPU7の構成を示す。
As described above, the number of bytes, the LSB, and the offset are determined for each of the plurality of parameters, and the equations (1) and (2) for obtaining the desired result are defined. FIG. 5 shows the configuration of the CPU 7.

【0027】CPU7は、図5のようにデータの算術演
算や論理処理を行う演算部(ALU:Arithmetic Log
ical Unit )20、データを一時蓄えるレジスタ群2
1、プログラムの命令の解読などの動作を制御する制御
部22から構成されている。演算部20は、演算結果を
レジスタ群21のアキュムレータに格納しつつ、四則演
算ルールに従って3つ以上の数値データを数値計算す
る。
As shown in FIG. 5, the CPU 7 performs an arithmetic operation (ALU: Arithmetic Log) for performing arithmetic operation and logical processing on data.
ical Unit) 20, register group 2 for temporarily storing data
1. The control unit 22 controls operations such as decoding of program instructions. The arithmetic unit 20 numerically calculates three or more numerical data according to the four arithmetic rules while storing the operation result in the accumulator of the register group 21.

【0028】図6には、図5のレジスタ群21における
レジスタを示す。アキュムレータDとアキュムレータE
とインデックスレジスタYを具備している。各アキュム
レータD,EとインデックスレジスタYは2バイト(1
6ビット)よりなる。また、アキュムレータDは1バイ
トのアキュムレータAと1バイトのアキュムレータBよ
りなる。
FIG. 6 shows registers in the register group 21 of FIG. Accumulator D and accumulator E
And an index register Y. Each accumulator D, E and index register Y are 2 bytes (1
6 bits). The accumulator D includes a 1-byte accumulator A and a 1-byte accumulator B.

【0029】図7,8には、一般的な演算方法を示す。
図7において、パラメータ1が2バイトで、パラメータ
2が2バイトであり、この2バイト×2バイトの乗算を
行い4バイトの演算結果を得る場合、パラメータ1がア
キュムレータE(Eレジスタ)に、又、パラメータ2が
アキュムレータD(Dレジスタ)に格納され、その乗算
結果のうちの上位2バイトがアキュムレータE(Eレジ
スタ)に、下位2バイトがアキュムレータD(Dレジス
タ)に格納される。
7 and 8 show a general operation method.
In FIG. 7, parameter 1 is 2 bytes and parameter 2 is 2 bytes. When multiplication of 2 bytes × 2 bytes is performed to obtain a 4-byte operation result, parameter 1 is stored in accumulator E (E register) and , Parameter 2 are stored in accumulator D (D register), the upper two bytes of the multiplication result are stored in accumulator E (E register), and the lower two bytes are stored in accumulator D (D register).

【0030】ここで、図8に示すように、パラメータ1
が、2バイトで、かつ、そのデータの使用範囲が$00
00〜$FFFFであり、パラメータ2が、2バイト
で、かつ、そのデータの使用範囲が$0000〜$08
00であると、計算結果が最大で$07FFF800と
なり、その乗算結果のうちの上位2バイトがアキュムレ
ータE(Eレジスタ)に、下位2バイトがアキュムレー
タD(Dレジスタ)に格納される。この演算結果を2進
法で表すと、0000011111111111111
1100000000000(2) となり、データとして
取りうる最大値が1111111111111111
(2) であることが分かる。
Here, as shown in FIG.
Is 2 bytes, and the data usage range is $ 00
00 to $ FFFF, parameter 2 is 2 bytes, and the data usage range is $ 0000 to $ 08
If the value is 00, the calculation result becomes $ 07FFF800 at the maximum, and the upper two bytes of the multiplication result are stored in accumulator E (E register) and the lower two bytes are stored in accumulator D (D register). When this calculation result is expressed in a binary system, 0000011111111111111
1100000000000 (2) , and the maximum value that can be taken as data is 1111111111111111.
It turns out that it is (2) .

【0031】図9には、本計算方式を採用したときのフ
ローチャートを示す。図9において、ステップ200で
演算を行う。つまり、乗算(MUL)あるいは除算(D
IV)を行い、演算結果をレジスタ上(E,Dレジス
タ)で一次保持する(4バイト分のアキュムレータE,
Dで保持する)。そして。ステップ201で最終演算終
了か否か判断し、最終演算終了でないと、ステップ20
2で最大有効数値化を行う。つまり、4バイトの演算結
果を2バイトにして保持する。このとき、E,Dレジス
タのうちのDレジスタにおいて、図10に示すように、
1番左のビットが1になるようにシフトする。図10の
計算例においては、$8001×$2001=$100
0A001を求め、さらに、この4バイトデータを2バ
イトデータにしている。
FIG. 9 shows a flowchart when this calculation method is adopted. In FIG. 9, an operation is performed in step 200. That is, multiplication (MUL) or division (D
IV), and temporarily holds the operation result on registers (E and D registers) (accumulators E and E for 4 bytes).
D). And. In step 201, it is determined whether or not the final calculation is completed.
2 performs the maximum effective numerical value. That is, the 4-byte operation result is stored as 2 bytes. At this time, in the D register of the E and D registers, as shown in FIG.
Shift so that the leftmost bit becomes 1. In the calculation example of FIG. 10, $ 8001 * $ 2001 = $ 100
0A001 is obtained, and the 4-byte data is converted into 2-byte data.

【0032】さらに、図9のステップ203で当該シフ
トに関して左右を正負で位置づけ、シフト回数を図10
に示すように2バイトのインデックスレジスタY(Yレ
ジスタ)に保持する(図10ではYレジスタに$000
Dが格納された状態を示す)。その後、図9のステップ
200に戻る。
Further, in step 203 of FIG. 9, the left and right sides of the shift are positioned with positive and negative, and the number of shifts is shown in FIG.
As shown in FIG. 10, it is held in a 2-byte index register Y (Y register).
D is stored). Thereafter, the process returns to step 200 in FIG.

【0033】このステップ200〜203を繰り返し、
ステップ201で最終演算終了であると、ステップ20
4に移行して、4バイトの演算結果に対して図11,1
2に示すように、演算LSB(図11,12では
-39 )と目標LSB(同じく2-1 5 )と、シフト回数
(同じく13)から、最終的にシフトする回数(同じく
X=11)を算出し、目標LSBでの演算結果を得る
(LSB調整を行う)。演算LSBはバイト数を無視
し、単純に演算した結果のLSBであり、目標LSBは
最終的に格納するLSBである。
Steps 200 to 203 are repeated,
If the final computation is completed in step 201, step 20
4 and the operation result of 4 bytes in FIG.
As shown in 2, computing LSB (Figure 11 and 12 in 2 -39) and the target LSB (also 2 -1 5), the number of shifts (also 13), and finally the number of times of shifting (also X = 11) Is calculated, and the calculation result at the target LSB is obtained (LSB adjustment is performed). The operation LSB is an LSB resulting from a simple operation ignoring the number of bytes, and the target LSB is an LSB to be finally stored.

【0034】その後、図9のステップ205で2バイト
で結果を出力する。以下、この図9の処理を詳しく説明
する。図9のステップ200において四則演算のルール
に従い計算を開始し、その演算結果は、EおよびDレジ
スタで4バイトで保持するが、引き続き演算が必要な場
合、ステップ202において、4バイトの結果を2バイ
トに変換する。
Thereafter, the result is output in two bytes in step 205 of FIG. Hereinafter, the processing of FIG. 9 will be described in detail. In step 200 of FIG. 9, the calculation is started in accordance with the rules of the four arithmetic operations, and the operation result is held in the E and D registers in 4 bytes. Convert to bytes.

【0035】このとき、図10に示すように、2つのパ
ラメータのLSBは考慮せず、Dレジスタの2バイトで
保持できる有効データ(最大の物理量)になるよう、4
バイトの結果をシフトし変換する。図10の場合は、右
へ13回シフトする。このシフト回数は、Yレジスタに
記憶しておく。図10の場合は、13(2) つまり、$D
をYレジスタに記憶する。
At this time, as shown in FIG. 10, the LSB of the two parameters is not taken into account, and the effective data (maximum physical quantity) that can be held by 2 bytes of the D register is
Shift and convert byte results. In the case of FIG. 10, it shifts 13 times to the right. The number of shifts is stored in the Y register. In the case of FIG. 10, 13 (2), that is, $ D
Is stored in the Y register.

【0036】そして、演算が最終でないとき、図9のス
テップ203において、シフト回数を記憶したYレジス
タを共用し、上記計算を繰り返す。従って、シフト回数
は、トータルで左右どちらに何回シフトしたかを示す。
If the operation is not the final one, the above calculation is repeated in step 203 of FIG. 9 by sharing the Y register storing the number of shifts. Therefore, the number of shifts indicates how many times the shift has been made to the left or right in total.

【0037】演算が最終であるとき、ステップ204に
おいて、シフト回数、演算LSB、目標LSBから4バ
イトの結果に対してLSB調整を行い、図12に示すよ
うに、2バイトで結果を出力する。
When the operation is final, in step 204, LSB adjustment is performed on the result of 4 bytes from the number of shifts, the operation LSB, and the target LSB, and the result is output in 2 bytes as shown in FIG.

【0038】つまり、図11に示すように、途中の演算
結果を、LSBを考慮せずに有効データ(物理量の最大
値)でEおよびDレジスタ上に保持しながら計算し、最
後でLSB調整することにより、演算精度をある程度保
ち、実行処理時間も比較的少なく、かつ、演算順序を考
慮することが不要となる。
That is, as shown in FIG. 11, the intermediate calculation result is calculated while holding the effective data (the maximum value of the physical quantity) in the E and D registers without considering the LSB, and finally adjusting the LSB. Thus, the calculation accuracy is maintained to some extent, the execution processing time is relatively short, and it is not necessary to consider the calculation order.

【0039】以下、具体的数値を挙げながら説明してい
く。図10において例示した計算後、続けて計算をする
必要がある場合、EおよびDレジスタ上で次の演算のた
めに2バイト以下のデータに収めなければならない。図
8を用いて説明したように、2つのパラメータにそれぞ
れの最大値が入った場合の演算結果(理論最大値)を考
慮したとき、仮に上記パラメータがそれぞれ$FFFF
まで範囲があるとすると、4バイトの演算結果は$FF
FE0001となる。こうなってしまえば、4バイトの
演算結果を2バイトにするには、上位2バイトをとるし
かないが(ガードしない場合)、実際にそのような場合
はほとんどない(制御仕様上)。
Hereinafter, description will be made with reference to specific numerical values. When it is necessary to continue the calculation after the calculation illustrated in FIG. 10, it is necessary to store data of 2 bytes or less on the E and D registers for the next operation. As described with reference to FIG. 8, when the calculation result (theoretical maximum value) in the case where the maximum value is included in each of the two parameters is considered, each of the parameters is assumed to be $ FFFF.
If there is a range up to, 4-byte operation result is $ FF
FE0001. In this case, the only way to convert the 4-byte operation result to 2 bytes is to take the upper 2 bytes (when guarding is not performed), but there is almost no such case (in terms of control specifications).

【0040】ソフトの計算上でそうなることを考慮し、
上位2バイトを次の演算に使用すると固定にしてしまう
と、通常使うパラメータの値で演算結果が非常に小さ
く、下位バイトの大きな情報が捨てられることになる。
Considering that this will be the case in software calculations,
If the upper two bytes are fixed for use in the next operation, the operation result is very small with the values of the parameters normally used, and large information in the lower byte is discarded.

【0041】そこで、データ(情報)を最大限に活用す
るために、図10のEおよびDレジスタの中で一番左に
立っている「1」をDレジスタの最上位ビット(ビット
15)までシフトし、そのときシフトした回数をYレジ
スタに記憶する。図10の例ではEレジスタの12ビッ
ト目に「1」が立っているのでDレジスタの15ビット
目に持ってくるには右に13回シフトすることになる。
Therefore, in order to make maximum use of data (information), "1" standing at the leftmost position in the E and D registers in FIG. 10 is replaced by the most significant bit (bit 15) of the D register. Then, the number of shifts is stored in the Y register. In the example of FIG. 10, since "1" is set at the 12th bit of the E register, the data is shifted 13 times to the right to bring it to the 15th bit of the D register.

【0042】シフト回数を記憶してあるYレジスタは、
最終演算まで継続して使用し、トータルのシフト回数と
して保存する。図11の最終演算後の計算方法の説明図
において、演算結果が$0400A805であり、演算
LSBが2-39 であり、シフト回数が13回であり、目
標LSBが2-15 である。つまり、演算LSBは計算式
に応じバイト数に関係なく単純に求めたものであり、4
バイトの演算結果がEおよびDレジスタに格納され、そ
の最下位ビットは演算LSBを右に13シフトしたもの
で、図11の場合には2 -26 となる。さらに、目標LS
B(最終的に希望するLSB)はその位置から上位2バ
イト分が結果となる。
The Y register storing the number of shifts is
It is used continuously until the final calculation, and the total number of shifts and
And save. Explanatory drawing of the calculation method after the final calculation of FIG.
, The operation result is $ 0400A805,
LSB is 2-39And the number of shifts is thirteen,
The target LSB is 2-15It is. In other words, the operation LSB is calculated by
Is obtained simply regardless of the number of bytes according to
The result of the byte operation is stored in the E and D registers.
Is the LSB of the calculation LSB shifted to the right by 13.
In the case of FIG. -26Becomes Furthermore, the target LS
B (finally desired LSB) is the top 2
The result is the litter.

【0043】図11の説明に基づき、演算LSB、目標
LSB、シフト回数から、4バイトの演算結果から2バ
イトの結果(Dレジスタ)に変換するための、最終シフ
ト回数を算出すると、図12のようになる。つまり、演
算LSBが2-39 であり、シフト数が13であるので、
−39+13=−26から、4バイトの演算結果のLS
B=2-26 を得る。さらに、最終シフト回数Xを算出す
べく、方程式−26+X=−15の解を求めると、X=
11となり、最終シフト回数X=11、つまり、「$0
400A805を右に11回シフトする」を得る。よっ
て、図11の状態から、右に11回シフトすると、図1
2のようになり、最終結果の100000000001
0101(2) が求められる。
Based on the description of FIG. 11, the final shift number for converting the 4-byte operation result into a 2-byte result (D register) is calculated from the operation LSB, the target LSB, and the shift number. Become like That is, since the operation LSB is 2-39 and the shift number is 13,
From −39 + 13 = −26, the LS of the 4-byte operation result
B = 2 -26 is obtained. Further, in order to calculate the final shift number X, the solution of the equation −26 + X = −15 is obtained.
11 and the number of final shifts X = 11, that is, “$ 0
Shift 400A805 right 11 times ". Therefore, when shifting right 11 times from the state of FIG.
2 and the final result of 100000000001
0101 (2) is required.

【0044】図13,14には、具体的な数値を設定
し、本計算方式で算出した場合の、理論値に対する誤差
分析結果を示す。図15〜図19の従来の算出方法で算
出した場合と、図13,14の本計算方式で算出した場
合の、理論値に対する誤差を比較する。
FIGS. 13 and 14 show the results of error analysis with respect to theoretical values when specific numerical values are set and calculated by the present calculation method. The error with respect to the theoretical value between the case where the calculation is performed by the conventional calculation method of FIGS. 15 to 19 and the case where the calculation is performed by the present calculation method of FIGS.

【0045】図15のごとく、3つのパラメータ(k
a,kb,kc)は、それぞれ異なったLSBを持ち、
それぞれの1LSBの重みが最終結果に正確に反映され
るか検証できるよう数値を決めている。図15〜図17
の従来方式(非4バイト)では、常にLSBを考慮する
必要があり、さらにパラメータの最大値も考慮に入れる
必要があることから、最初の乗算結果を2バイトで保持
するときに、大幅な桁落ちあるいは四捨五入による桁上
がりがおき、最終結果に大きな誤差を生じさせる要因と
なっている。
As shown in FIG. 15, three parameters (k
a, kb, kc) have different LSBs,
Numerical values are determined so that each 1 LSB weight can be verified to be accurately reflected in the final result. 15 to 17
In the conventional method (non-four bytes), it is necessary to always consider the LSB and further consider the maximum value of the parameter. The carry due to drop or rounding occurs and causes a large error in the final result.

【0046】一方、本計算方式の場合、図13のごと
く、2バイトの保持段階で可能な限り大きな値で保持し
ていることから、桁落ちの影響が非常に小さく、殆ど結
果に影響が出ていない。また、図18には演算の順番を
変えた場合(演算パターン1、2)の結果について併せ
て示しているが、従来方式では、演算の順番により結果
が異なるのに対し、図14の本計算方式では同一の結果
となった。四則演算のルールに基づけば、演算の順番は
考慮する必要がない。つまり、従来方式においては、四
捨五入による桁上がりがおき、最終結果に大きな誤差を
生じさせる要因となったり、$1002801を2バイ
トにして$100にするときに、大幅な桁落ちが発生し
て誤差として$14を持つとともに、演算の順番により
結果が異なってしまうが、本計算方式では誤差の低減を
図るとともに演算の順番により結果が異なるということ
もない。換言すれば、従来方式では、乗算を行うたびに
LSBを考慮しつつ演算を継続することとなるが、本計
算方式では、演算の最後にLSBのチェックを行えばよ
いので演算負荷の軽減を図ることができる。
On the other hand, in the case of the present calculation method, as shown in FIG. 13, since the value is held as large as possible in the holding stage of 2 bytes, the effect of the digit loss is very small, and the result is hardly affected. Not. FIG. 18 also shows the results when the order of the operations is changed (operation patterns 1 and 2). In the conventional method, the results differ depending on the order of the operations. The method gave the same result. Based on the rules of the four arithmetic operations, there is no need to consider the order of the operations. In other words, in the conventional method, the carry due to rounding occurs, which causes a large error in the final result. When $ 100281 is converted into 2 bytes to $ 100, a significant digit drop occurs and the error occurs. $ 14, and the result differs depending on the order of operation. However, in this calculation method, the error is reduced and the result does not differ depending on the order of operation. In other words, in the conventional method, the calculation is continued while taking the LSB into account every time the multiplication is performed. In the present calculation method, the LSB may be checked at the end of the calculation, so that the calculation load is reduced. be able to.

【0047】なお、従来方式の4バイト演算(RAMに
データを退避しながら計算を続ける方式)による結果に
ついて示していないが、パラメータが非常に小さい値の
場合、例えば2バイトで$0001である場合には、い
くら4バイトで計算結果を保持したとしても、要求とし
てのバイト数を考慮すると無用な処理を行っている場合
がほとんどである。さらに、乗算・除算命令は、特に実
行時間がかかり、4バイト演算を行う場合には、幾度か
の乗算・除算をする必要があり、処理負荷の問題を生
む。一方、シフト命令は最も実行時間が短く、回数を行
っても、4バイト演算ほど処理時間がかからない。
Although the result of the conventional 4-byte operation (a method of continuing the calculation while saving data in the RAM) is not shown, when the parameter is a very small value, for example, when 2 bytes are $ 0001 However, in most cases, no matter how many bytes are used to hold the calculation result, useless processing is performed in consideration of the number of bytes as a request. Furthermore, a multiplication / division instruction takes a particularly long execution time, and in the case of performing a 4-byte operation, it is necessary to perform multiplication / division several times, which causes a problem of processing load. On the other hand, the shift instruction has the shortest execution time, and does not take as much processing time as the 4-byte operation even if it is performed a number of times.

【0048】このように、本実施の形態は、下記の特徴
を有する。 (イ)図9のステップ202において、数値データを数
値計算する上での途中の演算結果を、図10に示すごと
くアキュムレータDでの一番左のビットが「1」になる
ようにシフトするとともに、図9のステップ203にお
いて、当該シフト回数を管理しながら持ち、ステップ2
04にて最終演算後において、図12に示すごとくシフ
ト調整するようにしたので、演算途中の桁落ち、あるい
は四捨五入による演算誤差が大きくなることが抑制さ
れ、また、従来方式の4バイト演算(RAMにデータを
退避しながら計算を続ける方式)を行う場合に比べ、ロ
ジック構成が単純化され処理時間およびバイト数が増え
ることが抑制される。その結果、演算結果をアキュムレ
ータに格納しつつLSBの異なる3つ以上の数値データ
を四則演算ルールに従って数値計算する際において、精
度および処理速度を落とさないようにすることができ
る。
As described above, the present embodiment has the following features. (A) In step 202 of FIG. 9, the operation result during the numerical calculation of the numerical data is shifted so that the leftmost bit in the accumulator D becomes "1" as shown in FIG. In step 203 of FIG. 9, the number of shifts is managed and maintained.
Since the shift is adjusted as shown in FIG. 12 after the final calculation in step 04, it is possible to suppress an increase in calculation errors due to loss of digits in the middle of the calculation or rounding, and to reduce the conventional 4-byte calculation (RAM In this case, the logic configuration is simplified and the processing time and the number of bytes are suppressed from increasing as compared with the case of performing the calculation while saving data. As a result, the accuracy and the processing speed can be prevented from being reduced when the three or more numerical data having different LSBs are numerically calculated according to the four arithmetic rules while the calculation result is stored in the accumulator.

【0049】これまでの説明においては、右にシフトす
る場合であったが、左にシフトしてもよい。つまり、図
10の場合は、4バイトの乗算結果を2バイトにする際
にDレジスタ(下位のビットに対応するレジスタ)を用
いたために、右にシフトすることとなったが、4バイト
の乗算結果を2バイトにする際にEレジスタ(上位のビ
ットに対応するレジスタ)を用いるときには左にシフト
すればよい。但し、左シフトの際の左右を正負いずれか
に決めておく必要がある。
In the above description, the shift is to the right, but the shift may be to the left. That is, in the case of FIG. 10, since the D register (register corresponding to the lower bit) was used to convert the 4-byte multiplication result into 2 bytes, the data was shifted to the right. When using the E register (register corresponding to the upper bit) to make the result 2 bytes, the shift may be to the left. However, it is necessary to determine whether the left or right during the left shift is positive or negative.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 実施形態における車載用エンジン制御ECU
の構成図。
FIG. 1 is a vehicle engine control ECU according to an embodiment;
FIG.

【図2】 制御の概略を示すフローチャート。FIG. 2 is a flowchart showing an outline of control.

【図3】 燃料噴射制御の機能ブロック図。FIG. 3 is a functional block diagram of fuel injection control.

【図4】 パラメータによる演算の説明のための図。FIG. 4 is a diagram for explaining calculation using parameters.

【図5】 CPUの構成を示す図。FIG. 5 illustrates a structure of a CPU.

【図6】 レジスタ群におけるレジスタを示す図。FIG. 6 is a diagram showing registers in a register group.

【図7】 2バイト×2バイトの乗算を説明するための
図。
FIG. 7 is a diagram for explaining multiplication of 2 bytes × 2 bytes.

【図8】 データの範囲と計算結果を示す図。FIG. 8 is a diagram showing a data range and calculation results.

【図9】 本計算方式のフローチャート。FIG. 9 is a flowchart of the present calculation method.

【図10】 本計算方式を説明するための図。FIG. 10 is a diagram illustrating the present calculation method.

【図11】 本計算方式を説明するための図。FIG. 11 is a diagram for explaining the present calculation method.

【図12】 本計算方式を説明するための図。FIG. 12 is a diagram for explaining the present calculation method.

【図13】 本計算方式による理論値に対する誤差分析
結果を示す図。
FIG. 13 is a diagram showing an error analysis result with respect to a theoretical value according to the present calculation method.

【図14】 本計算方式による理論値に対する誤差分析
結果を示す図。
FIG. 14 is a diagram showing an error analysis result with respect to a theoretical value by the present calculation method.

【図15】 演算を説明するための図。FIG. 15 is a diagram illustrating an operation.

【図16】 演算を説明するための図。FIG. 16 is a diagram illustrating an operation.

【図17】 演算を説明するための図。FIG. 17 is a diagram illustrating an operation.

【図18】 演算を説明するための図。FIG. 18 is a diagram illustrating an operation.

【図19】 演算を説明するための図。FIG. 19 is a diagram illustrating an operation.

【符号の説明】[Explanation of symbols]

1…車載用エンジン制御ECU、2…A/Dコンバー
タ、3…入力処理回路、4…MPU(マイクロコンピュ
ータ)、5…出力処理回路、6…電源回路、7…CPU
(中央処理装置)、8…RAM(リードオンリメモ
リ)、9…ROM(ランダムアクセスメモリ)、10…
入力信号処理部、11…噴射補正計算・噴射量計算部、
12…噴射出力部(タイマ制御部)、20…演算部(A
LU)、21…レジスタ群、22…制御部。
DESCRIPTION OF SYMBOLS 1 ... In-vehicle engine control ECU, 2 ... A / D converter, 3 ... Input processing circuit, 4 ... MPU (microcomputer), 5 ... Output processing circuit, 6 ... Power supply circuit, 7 ... CPU
(Central processing unit), 8 ... RAM (read only memory), 9 ... ROM (random access memory), 10 ...
Input signal processing unit, 11: injection correction calculation / injection amount calculation unit,
12: injection output unit (timer control unit), 20: calculation unit (A
LU), 21: register group, 22: control unit.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 柏木 智之 愛知県刈谷市昭和町1丁目1番地 株式会 社デンソー内 Fターム(参考) 3G084 BA00 BA03 BA06 BA13 BA17 DA06 EA07 EB03 EB07 FA00 FA02 FA03 FA05 FA07 FA10 FA11 FA20 FA29 FA33 FA35 FA36 FA38 5B022 AA00 BA02 CA01 CA03 DA01 FA06 9A001 BB02 HZ34 KZ32  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Tomoyuki Kashiwagi 1-1-1, Showa-cho, Kariya-shi, Aichi F-term in DENSO Corporation (reference) 3G084 BA00 BA03 BA06 BA13 BA17 DA06 EA07 EB03 EB07 FA00 FA02 FA03 FA05 FA07 FA10 FA11 FA20 FA29 FA33 FA35 FA36 FA38 5B022 AA00 BA02 CA01 CA03 DA01 FA06 9A001 BB02 HZ34 KZ32

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 マイクロコンピュータを備え、センサま
たはスイッチからの信号を入力して各種の演算を行いそ
の演算結果に基づいてアクチュエータを駆動するにあた
り、演算結果をアキュムレータに格納しつつ四則演算ル
ールに従って3つ以上の数値データを数値計算するよう
にした車載用電子制御装置であって、 数値データを数値計算する上での途中の演算結果を、ア
キュムレータでの一番左のビットが「1」になるように
シフトするとともに、当該シフト回数を管理しながら持
ち、最終演算後において、シフト調整するようにしたこ
とを特徴とする車載用電子制御装置。
A microcomputer is provided, which performs various calculations by inputting signals from a sensor or a switch and drives an actuator based on the calculation results, and stores the calculation results in an accumulator according to four arithmetic rules. An on-vehicle electronic control device that numerically calculates one or more numerical data, wherein the leftmost bit in an accumulator of a calculation result in the middle of the numerical calculation of the numerical data is “1”. The electronic control unit for a vehicle according to claim 1, wherein the shift control is performed while the number of shifts is controlled and the shift is adjusted after the final calculation.
JP11118081A 1999-04-26 1999-04-26 On-vehicle electronic controller Pending JP2000305750A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11118081A JP2000305750A (en) 1999-04-26 1999-04-26 On-vehicle electronic controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11118081A JP2000305750A (en) 1999-04-26 1999-04-26 On-vehicle electronic controller

Publications (1)

Publication Number Publication Date
JP2000305750A true JP2000305750A (en) 2000-11-02

Family

ID=14727534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11118081A Pending JP2000305750A (en) 1999-04-26 1999-04-26 On-vehicle electronic controller

Country Status (1)

Country Link
JP (1) JP2000305750A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248890A (en) * 2010-05-28 2011-12-08 International Business Maschines Corporation Detection of decimal floating point quantum exception

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248890A (en) * 2010-05-28 2011-12-08 International Business Maschines Corporation Detection of decimal floating point quantum exception
US8219605B2 (en) 2010-05-28 2012-07-10 International Business Machines Corporation Decimal floating-pointing quantum exception detection
KR101464810B1 (en) 2010-05-28 2014-11-24 인터내셔널 비지네스 머신즈 코포레이션 Decimal floating point quantum exception detection

Similar Documents

Publication Publication Date Title
US8484266B2 (en) Embedded control system with floating-point conversion
JPS598656B2 (en) fuel injector
KR19990087086A (en) How to check the function of the calculation unit
JP2000305750A (en) On-vehicle electronic controller
JP3551875B2 (en) Electronic control unit with floating point arithmetic function
JP2759957B2 (en) Engine control method
US4552110A (en) Electronic ignition control system
JP4329332B2 (en) Electronic control device and control program
JPH0356417B2 (en)
JP4645519B2 (en) Arithmetic processing device, control device and program
JPS6124534B2 (en)
JP2004278483A (en) Electronic control device with floating point calculation function
JP3644350B2 (en) Automotive electronic control device with floating point arithmetic function
JPH067083B2 (en) Intake air amount detector for internal combustion engine
JPH0312655B2 (en)
JP2003099417A (en) Controller for controlling by using microcomputer
JP3577742B2 (en) Vehicle control device
JP4453762B2 (en) Electronic control unit having floating point arithmetic function
JP3666226B2 (en) Electronic control unit
JP3077861B2 (en) Engine tachometer
JP3455243B2 (en) How to use analog / digital conversion results
JP2006236207A (en) Electronic controller for vehicle, and manufacturing method therefor
JP2002364445A (en) Prediction period detection system for internal combustion engine
JP2022119506A (en) Engine control device
JPH0921343A (en) Control device for engine and automobile and microcomputer employed for the control device