JP4228706B2 - 電子制御装置及び該電子制御装置の記憶装置 - Google Patents
電子制御装置及び該電子制御装置の記憶装置 Download PDFInfo
- Publication number
- JP4228706B2 JP4228706B2 JP2003017546A JP2003017546A JP4228706B2 JP 4228706 B2 JP4228706 B2 JP 4228706B2 JP 2003017546 A JP2003017546 A JP 2003017546A JP 2003017546 A JP2003017546 A JP 2003017546A JP 4228706 B2 JP4228706 B2 JP 4228706B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- map
- electronic control
- floating point
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
- G06F1/035—Reduction of table size
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
- G01F23/00—Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm
- G01F23/80—Arrangements for signal processing
- G01F23/802—Particular electronic circuits for digital processing equipment
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/24—Conversion to or from floating-point codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Fluid Mechanics (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【発明の属する技術分野】
本発明は、浮動小数点演算機能を有して所定のプログラムに従った各種の演算及び制御を実行する電子制御装置に関する。
【0002】
【従来の技術】
近年、車載エンジンの制御等に用いられる電子制御装置においても、各種演算の実行に、整数型データ(固定小数点型データ)を用いる代わりに、浮動小数点型データを用いるタイプのものが実用化されてきている(例えば特許文献1参照)。この浮動小数点型データを用いることにより、整数型のデータを用いたものと比較して、より高精度な演算を行うことができるようになる。
【0003】
図8に、こうした浮動小数点型データの1つであるIEEE754の規格に従って構成される単精度記憶形式のデータについて、そのフォーマットを示す。同図8に示されるように、単精度記憶形式のデータは、4バイトからなり、1ビットの符号部と、8ビットの指数部と、23ビットの仮数部とを有している。このように、図8に示す単精度記憶形式の浮動小数点型データにあっては、仮数部が23ビットで構成される。このため、この浮動小数点型データを用いることで、「1/223≒0.0000001」の精度、すなわち小数点以下7桁の精度で演算が実施されることとなる。
【0004】
【特許文献1】
特開2001―282505号公報
【0005】
【発明が解決しようとする課題】
ところで、上記電子制御装置は通常、各種制御の実行のために、所定のマップ点と同マップ点におけるマップ値との関係を定めたマップデータが記憶されたROM(Read Only Memory)を備えている。そして、各マップ点が与えられることに基づき上記マップ値を算出すると共に、これら各マップ点間の値に対しては、該当するマップ値の補間値を算出することで所望の値を得るようにしている。
【0006】
ただし、例えば上記単精度記憶形式のデータを用いてマップを構成すると、各マップ点及びマップ値にそれぞれ4バイトずつのデータが必要となる。このため、各種プログラムやマップデータを記憶する上記ROMにおいては、マップデータを記憶するための領域が自ずと拡大することとなる。特に近年、例えば車載エンジンの制御の複雑化等に起因して、上記ROMに格納されるマップの数も増大する傾向にあり、こうした問題は深刻である。
【0007】
本発明は、こうした実情に鑑みてなされたものであり、その目的は、浮動小数点型データを用いた演算に採用されるマップデータについてその好適な削減を図ることのできる電子制御装置を提供することにある。
【0008】
【課題を解決するための手段】
こうした目的を達成すべく請求項1記載の電子制御装置では、浮動小数点型のデータからなるマップ点及び該マップ点に対応した整数型のデータからなるマップ値を備えて構成されるマップデータについて、前記マップ値を整数型のデータから浮動小数点型のデータに変換するとともに、この変換した浮動小数点型データと前記マップ値の整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるLSBデータとを用いて前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータを生成する変換手段を備える。これにより、電子制御装置内に記憶されるマップデータのうち、少なくともマップ値を整数型のデータとすることができる。したがって、電子制御装置内に記憶されるデータ量を好適に削減することができるようになる。また、マップ点については浮動小数点型のデータを用いることで、マップ点に対応する物理量が広帯域にわたる場合であれ、これを簡易且つ精度よく表現することができるようになる。さらに、マップ値の整数型のデータは、直接的に物理量を表現することなくこれを間接的に表現するものとすることができる。すなわち、マップ値の整数型のデータは、LSBデータを介して所望の物理量を表現する浮動小数点型のデータと対応付けられることとなる。したがって、LSBデータを用いることで、マップ値の整数型のデータに基づき、マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータを生成することができるようになる。
【0013】
さらに、請求項1記載の電子制御装置の変換手段は、電子制御装置に入力される検出値から、マップデータのうち当該検出値に近接する2つのマップ点を求め、当該2つのマップ点から補間係数を算出する補間係数算出手段を有し、前記変換手段は、算出した補間係数と前記変換した浮動小数点型のデータとを用いて前記マップデータの補間値を演算するとともに、前記LSBデータと該演算した補間値のデータとを用いて前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータを生成する。このように、入力された検出値に近接する2つのマップ点から補間係数を求め、当該補間係数を用いて浮動小数点型のデータにて補間値を演算した後、物理量を表現するデータに変換するために、補間値の演算の前に物理量を表現するデータに変換する場合と比較して、物理量を表現するデータに変換する処理数を低減することができる。
【0014】
また、請求項2記載の電子制御装置では、前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータの生成を、前記LSBデータを用いて前記演算した補間値のデータの論理値を対応する物理量の値に一旦変換し、且つこの変換した値に前記マップデータに対応して設けられたオフセット値を加算することで行う。このように、オフセット値を用いることで、マップ値とする整数型のデータに基づき物理量をより適切に表現することができるようになる。
【0017】
また、請求項3記載の電子制御装置では、前記変換手段は、前記マップ値とする整数型のデータについての型情報を示すIDデータに基づき、同マップ値とする整数型のデータを前記浮動小数点型のデータに変換するものである。これにより、マップ値として用いる整数型のデータとして、様々な型のデータを用いた場合であれ、これらに適切に対処することができるようになる。
【0018】
また、請求項4記載の電子制御装置では、前記変換手段を、アセンブリ言語にて記述されたプログラムを用いて前記変換を実行するものとした。これにより、C言語等、高水準言語を用いて記述したプログラムと比較して、プログラムの冗長性を低減することができ、処理速度を向上させることができる。
【0024】
【発明の実施の形態】
以下、本発明にかかる電子制御装置を車載エンジンシステムを制御する電子制御装置に適用した一実施形態について、図面を参照しつつ説明する。
【0025】
図1は、本実施形態の構成を示すブロック図である。図1に示されるエンジンシステムは、エンジン2と同エンジン2へ燃料を供給する燃料タンク4とを備えて構成されている。ここでエンジン2は、例えばガソリン噴射式内燃機関やディーゼル噴射式内燃機関である。
【0026】
こうしたエンジンシステムを制御する電子制御装置10は、中央処理装置(CPU)12や浮動小数点演算プロセッサ(FPU:Floating-Point Unit)14、読み取り専用記憶装置(ROM)16、入出力装置(I/O)18を備えている。
【0027】
ここで、中央処理装置12は、整数型にて表現されるデータを演算する機能を有する。一方、浮動小数点演算プロセッサ14は、浮動小数点型のデータ(詳しくは、先の図8に示したIEEE754に従って構成される単精度記憶形式のデータ)を演算する機能を有する。また、読み取り専用記憶装置16には、電子制御装置10の行うエンジンシステムの制御についてのプログラム等が記憶されている。なお、これらプログラムは、中央処理装置12や浮動小数点演算プロセッサ14によって実行される。
【0028】
上記構成を有する電子制御装置10には、エンジン2の運転状態や運転環境を検出する各種センサの検出値や燃料タンク4の燃料残量を検出する残量センサ20の検出結果が入力される。そして、電子制御装置10では、これら検出結果に基づき各種演算やエンジンシステムの各種制御を行う。
【0029】
特に電子制御装置10では、上記読み取り専用記憶装置16に様々なマップを備えており、上記各種制御等にかかる演算においてこのマップを用いた演算を行う。詳しくは、上記読み取り専用記憶装置16には、浮動小数点演算に用いられる様々なマップデータが記憶されており、これらは浮動小数点演算プロセッサ14にて演算される。ここで、上記残量センサの検出値に基づき燃料タンク4の燃料残量を演算する処理を例として、本実施形態にかかるマップ演算について詳細に説明する。ちなみに、こうして算出される燃料残量の値は、例えば適宜の表示器へ出力される。
【0030】
図2(a)に、上記読み取り専用記憶装置16に記憶されている燃料残量の算出に用いるマップデータを示す。同図2(a)に示されるように、このマップデータは、上記残量センサ20の検出値(電圧値)が所定の値となる25個の格子点をマップ点とし、これら検出値に対応した燃料残量をマップ値としている。
【0031】
ここで、25個のマップ点のそれぞれは、先の図8に示したフォーマットを有する浮動小数点型にて表現されているデータである。これら各データは、浮動小数点型のデータにて実際の物理量の値を表現しているため、図2(a)では、便宜上10進数表示としている。
【0032】
一方、マップ値は、整数型にて表現されたデータである。詳しくは、この整数型のデータは、U1(unsigned 1byte)形式のデータ(符号を伴わない1バイトのデータ)である。ちなみに、図2(a)中、「$」は、16進数であることを示している。
【0033】
更に、上記読み取り専用記憶装置16には、マップデータとともに、次のデータが記憶されている。
IDデータ:マップ値を表現するデータの型情報を示すデータ。このデータのデータ量は1バイトである。
LSBデータ:整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータ(先の図8に示したフォーマットを有するデータ)。ちなみに、図2(a)に示すマップデータに対応するLSBデータでは、これは「0.4(10進数表示)」となっている。
オフセット値を示すデータ:マップ値が上記LSBデータを用いて変換されたデータと物理量の値との差を表現する浮動小数点型のデータ(先の図8に示したフォーマットを有するデータ)。すなわち、上記マップ値は、浮動小数点型のデータに変換された後、LSBデータを用いて更に変換され、オフセット値が加算されることで物理量の値となる。ちなみに、図2(a)に示すマップデータに対応するオフセット値を示すデータは、「0.0(10進数表示)」となっている。
【0034】
上記LSBデータやオフセット値を有することで、マップ値を物理量の値を表現する浮動小数点型のデータとすることができる。すなわち、例えばセンサ電圧値「0.8」に対応する燃料残量「$8C」は、2進数表示で「10001100」であり、10進数表示で「140」である。これは、LSBデータを用いて変換されることで「56(10進数表示)」となり、オフセット値を加えて物理量の値「56(10進数表示)」となる。
【0035】
ちなみに、浮動小数点演算プロセッサを搭載する従来の電子制御装置では、こうしたマップデータは、図2(b)に示すようにマップ点、マップ値ともに浮動小数点型にて表現されていた(図2(b)では、便宜上、10進数表示)。このため、各マップ点及びマップ値にそれぞれ4バイトのデータが必要となり、図2(b)に示すマップデータとしては、200バイトのデータを必要とすることとなる。
【0036】
これに対し、図2(a)に示すマップデータでは、各マップ点については各4バイトのデータが必要であるが、各マップ値については各1バイトのデータを要するのみである。そして、IDデータに1バイト、LSBデータ及びオフセットデータに4バイト必要であるため、これら各データとマップデータとの合計のデータ量は、「25×4+25×1+1+4+4=134」バイトとなる。
【0037】
したがって、本実施形態によれば、マップにかかるデータ量を削減することが可能となっている。
なお、上記読み取り専用記憶装置16には、必ずしも図2(a)に示すものと同一のデータフォーマットを有するものに限らず、例えばマップ値が2バイトの整数型のデータにて表現されたものや、マップ点及びマップ値が全て浮動小数点型のデータにて表現されたもの等も記憶されている。
【0038】
以下、本実施形態にかかるマップを用いた演算について、図2(a)に示すマップデータを用いた場合を例として詳細に説明する。
図3は、本実施形態における燃料残量の算出の処理手順を示すフローチャートである。この処理は、所定の周期で繰り返し実行される。
【0039】
すなわち、この一連の処理においては、先ずステップ1000において、上記残量センサ20の検出値が、電子制御装置10内において、先の図8に示したフォーマットを有する浮動小数点型のデータRamAに変換される。
【0040】
次に、ステップ2000において、データRamAに基づいて燃料残量が算出された後、この一連の処理を一旦終了する。なお、図3のステップ2000にかかる処理は、アセンブリ言語にて記述されたプログラムを用いて行われるようにする。すなわち、上記読み取り専用記憶装置16には、ステップ2000に示す処理に対応するプログラムとして、アセンブリ言語にて記述されたプログラムを記憶しておく。このように、アセンブリ言語にて記述されたプログラムは、C言語等の高水準言語にて記述されたプログラムと比較して、冗長性が低減されるため、プログラム処理の処理速度の向上が図られる。
【0041】
ここで、データRamAに基づいた燃料残量の算出にかかる処理について、図4を用いて説明する。図4は、電子制御装置10の備えるマップについての演算処理を行う共通の処理手順を示すフローチャートである。この図4に示す処理は、全てのマップデータに対して共通の単一のプログラムである。ここでは、この図4の処理が、データRamが上記残量センサ20の検出値である燃料残量の算出にかかる処理である場合を、換言すれば先の図3に示したステップ2000の処理の詳細である場合を例として説明することとなる。
【0042】
この一連の処理においては、先ずステップ2100において、データRamAに基づき、上記残量センサ20の検出値に最も近い2つのマップ点を指示するために用いる近接マップ点指示値Indexと、同検出値に応じた補間態様を定める補間係数Deltaとを算出する。
【0043】
詳しくは、このステップ2100の処理は、図5に示す処理にて示される。ここで、この図5に示される処理について説明する。
この図5に示す一連の処理においては、ステップ2110a〜2110yまでの処理において、浮動小数点演算プロセッサ14にて上記データRamAと近似するマップ点を検索する処理を行う。そして、これらステップ2110a〜2110yまでの処理に基づき、ステップ2120a〜2120zのいずれかにおいて、中央処理装置12にてデータRamAに最も近い2つのマップ点を指示するために用いる近接マップ点指示値Indexの値を定める。例えば、ここでは、センサ電圧値が「5.0」以上のときには近接マップ点指示値Indexの値を「25」とする。また、例えば、センサ電圧値が「5.0」と「4.8」との間にあるときには、近接マップ点指示値Indexの値を「24」とする。なお、この近接マップ点指示値Indexは、整数型のデータとする。
【0044】
こうして近接マップ点指示値Indexの値を設定した後、ステップ2130a〜2130zのいずれかにおいて、浮動小数点演算プロセッサ14にて上記検出値に応じた補間態様を定める補間係数Deltaを算出する。そして、これらステップ2130a〜2130zのいずれかにおいて補間係数Deltaの値を算出した後、先の図4に示したステップ2100に戻る。
【0045】
なお、ステップ2130a又は2130zにおいては、検出値(データRamA)が図2(a)にて定義されるマップ点の最大値以上であるか、最小値以下であるため、補間係数Deltaを「0」とする。一方、ステップ2130b〜2130yにおいては、検出値(データRamA)が図2(a)にて定義される2つのマップ点間にある場合であるため、補間係数Deltaを図6に示す処理にて算出するようにする。
【0046】
すなわち、図6に示す一連の処理では、まずステップ2131において、中央処理装置12にて、近接マップ点指示値Indexに基づいて検出値(データRamA)と近接する2つのマップ点を取得する。すなわち、例えば検出値が「0.9(10進数表示)」である場合、近接するマップ点として高値「1.0(10進数表示)」と低値「0.8(10進数表示)」とを取得する。なお、検出値がマップ点の1つの一致するときには、低値としてそのマップ点を選択するようにする。
【0047】
次に、ステップ2132において、浮動小数点演算プロセッサ14にて、補間係数Deltaを下式にて演算する。
Delta={(高値−RamA)/(高値−低値)}
こうして補間係数Deltaを算出すると、先の図5に示したステップ2130b〜2130yのいずれかに戻る。
【0048】
上記態様にてデータRamAに基づき、近接マップ点指示値Indexと補間係数Deltaとを算出すると、図4に示すステップ2100が終了する。そして、図4のステップ2200a、2200b、…2200β、…では、中央処理装置12にて、上記ステップ2100において用いたマップにおけるマップ値を表現するデータの型情報であるIDを識別する。ちなみに、ステップ2200bでは、型情報がU2(unsigned 2byte)、すなわち符号のない2バイトの整数型のデータを示すものであるか否かを判断している。また、ステップ2200βでは、型情報が浮動小数点型のデータを示すものであるか否かを判断している。
【0049】
そして、これらステップ2200a、2200b、…2200β、…において識別された型情報に基づき、ステップ2300a、2300b、…2300β、…のいずれかにおいて補間演算を行う。詳しくは、ステップ2200βにおいて浮動小数点型である旨識別されたときには、先の図6のステップ2131にて取得された2つのマップ点に対応するマップ値に基づき、浮動小数点演算プロセッサ14にて補間演算を行う。一方、ステップ2200β以外のステップにおいて、マップ値が整数型である旨識別されたときには、同マップ値を浮動小数点型に変換した後、補間演算を行う。詳しくは、マップ値が整数型である旨識別されたときに行う処理は、図7に示される処理である。以下、これについて詳述する。
【0050】
すなわち、この一連の処理においては、まずステップ2310において、中央処理装置12にて、上記近接マップ点指示値Indexに基づき取得される隣接する2つのマップ点のうちの低値に対応するマップ値を、データRamDとして取得する。また、ステップ2320においては、中央処理装置12にて、上記近接マップ点指示値Indexに基づき取得される隣接する2つのマップ点のうちの高値に対応するマップ値を、データRamEとして取得する。
【0051】
次に、ステップ2330においては、これら整数型で表現されているデータRamD及びデータRamEを、浮動小数点型のデータRamF及びデータRamGに変換する。
【0052】
すなわち、例えばデータRamAが「0.9(10進数表示)」である場合、データRamDが「$8C」となり、また、データRamEが「$87」となる。そして、データRamDを先の図8に示したフォーマットの浮動小数点型のデータに変換すると、「0x430c0000」となる。また、データRamEを上記フォーマットの浮動小数点型のデータに変換すると、「0x43070000」となる。
【0053】
ちなみに、この浮動小数点型のデータにおいて、先頭に「0x」が付く数字は16進数を示す。そして、符号部S、指数部E、仮数部Mとしたとき、浮動小数点型のデータは、
(−1)S×2(E-127)×(1+M)
で表される。
【0054】
したがって、例えば「0x430c0000」は、2進数では以下のようになる。
0100 0011 0000 1100 0000 0000 0000 0000
ここで、符号部S、指数部E、仮数部Mはそれぞれ以下となる。
したがって、この浮動小数点型のデータにて表現される値は、「140」となる(これは、上記「S8C」の10進数表示と一致する)。
【0055】
こうしてデータRamD及びデータRamEを、浮動小数点型のデータRamF及びデータRamGに変換すると、ステップ2340に移行する。このステップ2340においては、浮動小数点演算プロセッサ14にて、線形補間量(データRamH)を下式にて算出する。
【0056】
RamH=(RamG−RamF)×Delta
次に、データRamHを用いてステップ2350においては、浮動小数点演算プロセッサ14にて、線形補間値(データRamI)を下式にて算出する。
【0057】
RamI=RamF+RamH
なお、データRamIの表現する補間値は論理値となっている。
そして、このステップ2350の処理が終了すると、先の図4のステップ2300へ戻る。
【0058】
ちなみに、この図7に示す処理は、先の図4のステップ2200による処理によって識別された整数型のデータについての型情報に応じて、それぞれ扱う整数型のデータの型が異なることを考慮した処理を行うこととなる。実際には、この図7に示した処理は、整数型データの各型毎に各別のプログラムからなる処理とすることが望ましい。
【0059】
ここで、図4のステップ2300において補間演算を終了すると、ステップ2400に移行する。そして、このステップ2400においてIDデータが浮動小数点型であることを示すデータであるか否かを判断する。
【0060】
そして、ステップ2400においてIDデータが浮動小数点型であることを示すデータでないと判断されると、ステップ2500において、浮動小数点演算プロセッサ14にて物理量の値への変換にかかる処理を行う。これは、先の図7のステップ2350で求めたデータRamIと、上記LSBデータ、オフセット値のデータを用いて下式にて行われる。
【0061】
RamI×LSB+(オフセット値)
これにより、物理量を整数型のデータの制約の中で表現すべく、間接的な表現を用いてマップ値を作成した場合であれ、先の図2(a)に示したマップデータの補間値に対応する物理量の値を適切に求めることができるようになる。なお、このように、補間演算の後に物理量への変換を行うことで、図4に示す一連の処理にかかる演算負荷の低減を図ることができる。すなわち、ステップ2300において、補間演算に先立ち物理量へ変換する処理をすると、補間に用いる2つのデータについて物理量への変換を行う必要が生じるが、本実施形態のように補間後に物理量へ変換する処理をすることで演算負荷の低減を図ることができる。
【0062】
こうしてステップ2500の処理が終了した場合や、ステップ2400においてIDデータが浮動小数点型であることを示すデータであると判断された場合には、この一連の処理を一旦終了する。ちなみに、ステップ2300βで算出された補間値は実際の物理量の値を示すものであるため、ステップ2400においてIDデータが浮動小数点型であることを示すデータであると判断された場合には、ステップ2500の処理を行わない。
【0063】
なお、この図7に示す一連の処理の後、算出された補間値を用いるルーチンへ移行する。すなわち、補間値が先の図3のステップ2000に該当するものであるときには、同ステップ2000へ戻る。
【0064】
以上のように、本実施形態では、所定のマップデータにおいて、浮動小数点型のデータよりもデータ量の小さい整数型のデータを用いてマップ値を表現した。これにより、マップデータのデータ量を低減することが可能となる。しかも、補間演算に際し、マップ値を表現する整数型のデータを浮動小数点型のデータに変換した。このため、全てを浮動小数点型で表現した場合の様々な効果を略同等に得ることができる。
【0065】
ちなみに、マップ値を予め浮動小数点型で表現した場合と本実施形態の場合とでは、これらマップ値が同一である限り、これらマップ値を用いて算出された補間値は同一となる。すなわち、マップ値を整数型とするとともに中央処理装置12にて終始整数型のデータを扱った場合と比較して、算出される補間値の精度を向上させることができる。
【0066】
また、図4にて示したマップ補間値を算出する処理を、全てのマップについて共通としたために、マップ補間にかかるプログラムのデータ量を削減することもできる。更に、この図4においては、IDデータの識別により様々な型のデータに対応することができるようにしたため、マップデータの型が代わった場合であれ、プログラムを変更することなく、IDデータの定義書き換えで対応することができる。
【0067】
以上詳述した本実施形態によれば、以下の効果が得られるようになる。
(1)マップ値を整数型にて表現するとともに、これを整数型から浮動小数点型に変換するようにした。これにより、マップを用いた演算として浮動小数点演算を行いつつも、マップデータのデータ量を好適に削減することができるようになる。
【0068】
(2)マップ点を浮動小数点型にて表現するとともに、マップ値を整数型にて表現した。これにより、マップ値のデータ量をマップ点のデータ量よりも小さくすることができる。また、マップ点については浮動小数点型のデータを用いることで、マップ点に対応する物理量が広帯域にわたる場合であれ、これを簡易且つ精度よく表現することができるようになる。
【0069】
(3)LSBデータを用いて浮動小数点型に変換されたマップ値に関するデータを物理量の値を表現するデータに変換するようにした。これにより、マップ値を表現する整数型のデータは、直接的に物理量を表現することなくこれを間接的に表現するものとすることができる。
【0070】
(4)オフセット値を用いることで、整数型のデータに基づき物理量をより適切に表現することができるようになる。
(5)マップ値に関する浮動小数点型のデータを補間演算した後、物理量を表現するデータに変換するようにした。このため、補間演算の前に物理量を表現するデータに変換する場合と比較して、物理量を表現するデータに変換する処理数を低減することができる。
【0071】
(6)マップ値を表現するデータについての型情報を示すIDデータに基づき、整数型のデータを浮動小数点型のデータに変換するようにした。これにより、マップ値を表現するデータとして、様々な型のデータを用いた場合であれ、これらに適切に対処することができるようになる。
【0072】
(7)図4〜図7にかかる処理を、アセンブリ言語にて記述されたプログラムを用いて行った。これにより、高水準言語にて記述されるプログラムと比較して、プログラムの冗長性を低減することができ、処理速度を向上させることができる。
【0073】
なお、上記実施形態は、以下のように変更して実施してもよい。
・上記実施形態では、整数型としてU1、U2を例示したがこれに限らない。例えば、S1(signed 1bitye:符号を伴う1バイトのデータ)や、S2(signed 2bitye:符号を伴う2バイトのデータ)等でもよい。
【0074】
・マップ値が整数型にて表現されたマップデータのみを備えるようにしてもよい。この場合、浮動小数点型のデータを示すものであるか否かの処理や、浮動小数点型のデータであるときの補間演算処理、物理量の値への変換を行うか否かを判断する処理(図4のステップ2200β、2300β、2400)等を行うことを禁止する禁止手段を有しなくてもよい。
【0075】
・単一の整数型にて表現されたマップデータのみを扱うならIDデータにてマップ値のデータの型情報を識別する処理を行う機能を有しなくてもよい。
・補間演算に先立ち、LSBデータ等を用いてマップ値を物理量の値に変換する処理を行うようにしても、上記実施形態の上記(1)の効果等を得ることはできる。
【0076】
・マップ値をLSBデータを用いて変換させるのみで物理量の値を表現できるなら、オフセット値のデータを有しなくてもよい。
・更に、整数型のデータにてマップ値として所望される物理量の値を表現することができるなら、LSBデータを有しなくてもよい。この場合であれ、マップ値を浮動小数点型のデータに変換することで、補間値の算出精度を向上させることはできる。
【0077】
・上記実施形態では、マップ点を浮動小数点型のデータとするとともにマップ値を整数型のデータとしたが、マップ点を整数型のデータとするとともにマップ値を浮動小数点型のデータとしてもよい。これによっても、マップ点を浮動小数点型のデータに変換する処理を施すことで、補間値の算出精度を向上させることができる。なお、この際、マップ点を表現する整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるLSBデータを備えることで、所望する物理量の値を表現する浮動小数点型のデータとマップ点とを的確に対応付けることができる。更に、オフセット値に関する浮動小数点型のデータを有するようにすれば、所望する物理量の値を表現する浮動小数点型のデータとマップ点とをいっそう的確に対応付けることができる。ちなみにこれは、マップ点を整数型で十分に表現することができ、同マップ点に対応するマップ値が広帯域にわたる場合や微小な数値にて表現することが望まれる場合に特に有効である。
【0078】
・マップ点及びマップ値をいずれも整数型にて表現するようにしてもよい。この場合であれ、これらマップ点及びマップ値を浮動小数点型のデータに変換するようにすれば、補間値を精度よく算出することができる。しかも、この場合、マップデータのデータ量をいっそう削減することができる。
【0079】
・マップ値の補間は、上記実施形態で例示したように線形補間に限らない。
・浮動小数点型のデータとしては、単精度記憶形式のものに限らず、例えば倍精度記憶形式のものであってもよい。
【0080】
・マップ点及びマップ値の少なくとも一方を整数型から浮動小数点型に変換する変換手段としては、上記実施形態のように中央処理装置及び浮動小数点演算プロセッサを備えて構成されるものに限らない。例えば浮動小数点演算プロセッサと専用のハードウェアとを備えて構成されるものであってもよい。また、こうした変換手段は、必ずしもアセンブリ言語で記述されたプログラムを備えるものに限らない。
【0081】
・マップデータやLSBデータ、オフセット値に関するデータ等を記憶する記憶装置としては、ROMに限らない。
・更に、浮動小数点演算機能を有して所定のプログラムに従った各種演算及び制御を実行する電子制御装置としては、エンジンシステムを制御対象とするものに限らず、例えば車両の任意箇所を制御するものであってもよい。
【図面の簡単な説明】
【図1】本実施形態にかかる電子制御装置の構成を示すブロック図。
【図2】同実施形態にかかる残量センサの検出値と燃料残量との関係を定義するマップを示す図。
【図3】同実施形態にかかる燃料残量の算出の処理手順を示すフローチャート。
【図4】同実施形態にかかるマップ補間値の算出の処理手順を示すフローチャート。
【図5】同実施形態にかかるマップ補間のための演算処理の手順を示すフローチャート。
【図6】同実施形態にかかるマップ補間のための演算処理の手順を示すフローチャート。
【図7】同実施形態にかかるマップ補間演算の処理手順を示すフローチャート。
【図8】単精度記憶形式の浮動小数点データのフォーマットを示す図。
【符号の説明】
2…エンジン、4…燃料タンク、10…電子制御装置、12…中央処理装置、14…浮動小数点演算プロセッサ、16…読み取り専用記憶装置、18…入出力装置、20…残量センサ。
Claims (4)
- 浮動小数点演算機能を有して所定のプログラムに従った各種の演算及び制御を実行する電子制御装置において、
浮動小数点型のデータからなるマップ点及び該マップ点に対応した整数型のデータからなるマップ値を備えて構成されるマップデータについて、前記マップ値を整数型のデータから浮動小数点型のデータに変換するとともに、この変換した浮動小数点型データと前記マップ値の整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるLSBデータとを用いて前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータを生成する変換手段を備え、
該変換手段は、当該電子制御装置に入力される検出値から、前記マップデータのうち当該検出値に近接する2つの前記マップ点を求め、当該2つのマップ点から補間係数を算出する補間係数算出手段を有し、
該変換手段は、前記算出した補間係数と、前記変換した浮動小数点型のデータとを用いて前記マップ値の補間値を演算するとともに、前記LSBデータと該演算した補間値のデータとを用いて前記マップ値の補間値に対応する物理量の値を表現する浮動小数点型のデータを生成する
ことを特徴とする電子制御装置。 - 前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータの生成が、前記LSBデータを用いて前記演算した補間値のデータの論理値を対応する物理量の値に一旦変換し、且つこの変換した値に前記マップデータに対応して設けられたオフセット値を加算することで行われる
請求項1記載の電子制御装置。 - 前記変換手段は、前記マップ値とする整数型のデータについての型情報を示すIDデータに基づき、同マップ値とする整数型のデータを前記浮動小数点型のデータに変換するものである
請求項1または2に記載の電子制御装置。 - 前記変換手段は、アセンブリ言語にて記述されたプログラムを用いて前記変換を実行するものである
請求項1〜3のいずれかに記載の電子制御装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003017546A JP4228706B2 (ja) | 2003-01-27 | 2003-01-27 | 電子制御装置及び該電子制御装置の記憶装置 |
EP04001591.9A EP1441277B1 (en) | 2003-01-27 | 2004-01-26 | Electronic control apparatus |
US10/764,583 US7558811B2 (en) | 2003-01-27 | 2004-01-27 | Electronic control apparatus and memory apparatus for electronic control apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003017546A JP4228706B2 (ja) | 2003-01-27 | 2003-01-27 | 電子制御装置及び該電子制御装置の記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004225668A JP2004225668A (ja) | 2004-08-12 |
JP4228706B2 true JP4228706B2 (ja) | 2009-02-25 |
Family
ID=32588709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003017546A Expired - Fee Related JP4228706B2 (ja) | 2003-01-27 | 2003-01-27 | 電子制御装置及び該電子制御装置の記憶装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7558811B2 (ja) |
EP (1) | EP1441277B1 (ja) |
JP (1) | JP4228706B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4645519B2 (ja) * | 2006-04-27 | 2011-03-09 | 株式会社デンソー | 演算処理装置,制御装置およびプログラム |
JP2009110353A (ja) * | 2007-10-31 | 2009-05-21 | Hitachi Ltd | マイクロコントローラ及び制御システム |
JP4629750B2 (ja) * | 2008-03-31 | 2011-02-09 | 日立オートモティブシステムズ株式会社 | 組み込み制御装置 |
GB2481579B (en) * | 2010-06-25 | 2014-11-26 | Enmodus Ltd | Monitoring of power-consumption |
CN104166535B (zh) * | 2013-07-19 | 2017-07-28 | 郑州宇通客车股份有限公司 | 定点处理器及其防溢方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63223825A (ja) | 1987-03-12 | 1988-09-19 | Nec Corp | デ−タ型変換回路 |
JPH0314128A (ja) | 1989-06-13 | 1991-01-22 | Tomio Kurokawa | 対数表現数値利用の演算装置 |
US5638312A (en) * | 1995-03-03 | 1997-06-10 | Hal Computer Systems, Inc. | Method and apparatus for generating a zero bit status flag in a microprocessor |
US6144977A (en) * | 1995-07-10 | 2000-11-07 | Motorola, Inc. | Circuit and method of converting a floating point number to a programmable fixed point number |
US5682896A (en) * | 1996-03-28 | 1997-11-04 | Diasonics Ultrasound, Inc. | Method and apparatus for generating volume flow measurement |
US5751611A (en) | 1996-10-03 | 1998-05-12 | Prime Technology, Inc. | Display device for linearly displaying a non-linear input variable |
US6049343A (en) * | 1997-01-20 | 2000-04-11 | Hitachi, Ltd. | Graphics processing unit and graphics processing system |
US6282554B1 (en) * | 1998-04-30 | 2001-08-28 | Intel Corporation | Method and apparatus for floating point operations and format conversion operations |
JP3123047B2 (ja) | 1998-10-02 | 2001-01-09 | 日本電気株式会社 | マイクロプロセッサ |
US6757700B1 (en) * | 1999-10-28 | 2004-06-29 | Phillip Druck | Self-stabilizing, portable and efficient computer arithmetic using mappings of D Scale points |
JP3644350B2 (ja) | 2000-04-03 | 2005-04-27 | 株式会社デンソー | 浮動小数点演算機能を有した自動車用電子制御装置 |
JP3551875B2 (ja) * | 2000-01-11 | 2004-08-11 | 株式会社デンソー | 浮動小数点演算機能を有した電子制御装置 |
US6671796B1 (en) * | 2000-02-25 | 2003-12-30 | Sun Microsystems, Inc. | Converting an arbitrary fixed point value to a floating point value |
JP2002008060A (ja) | 2000-06-23 | 2002-01-11 | Hitachi Ltd | データ処理方法、記録媒体及びデータ処理装置 |
JP2002157004A (ja) | 2000-11-20 | 2002-05-31 | Denso Corp | 電子制御装置 |
US7051060B2 (en) * | 2001-09-28 | 2006-05-23 | Intel Corporation | Operand conversion optimization |
US7236995B2 (en) * | 2002-12-27 | 2007-06-26 | Arm Limited | Data processing apparatus and method for converting a number between fixed-point and floating-point representations |
-
2003
- 2003-01-27 JP JP2003017546A patent/JP4228706B2/ja not_active Expired - Fee Related
-
2004
- 2004-01-26 EP EP04001591.9A patent/EP1441277B1/en not_active Expired - Fee Related
- 2004-01-27 US US10/764,583 patent/US7558811B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1441277A3 (en) | 2006-10-25 |
EP1441277A2 (en) | 2004-07-28 |
US20040186866A1 (en) | 2004-09-23 |
US7558811B2 (en) | 2009-07-07 |
EP1441277B1 (en) | 2018-08-01 |
JP2004225668A (ja) | 2004-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8484266B2 (en) | Embedded control system with floating-point conversion | |
JP4228706B2 (ja) | 電子制御装置及び該電子制御装置の記憶装置 | |
JP2004135312A (ja) | 画像処理装置、画像処理システム、画像形成装置、画像処理方法及びプログラム | |
US20110144927A1 (en) | Method for real time capability simulation of an air system model of an internal combustion engine | |
JP2012185542A (ja) | コード生成装置、及びコード生成プログラム | |
JP2001195233A (ja) | 浮動小数点演算機能を有した電子制御装置 | |
JP4194433B2 (ja) | 尤度算出装置および方法 | |
US6549924B1 (en) | Function generating interpolation method and apparatus | |
JP3935908B2 (ja) | 量子化誤差を減少させる装置及び方法 | |
JP4534447B2 (ja) | デジタルデータの改竄検出プログラム,改竄検出方法並びに改竄検出装置 | |
CN109710310B (zh) | 用于嵌入式环境的数据处理方法、系统、终端及存储介质 | |
JP3666226B2 (ja) | 電子制御装置 | |
JP4196773B2 (ja) | 電子制御装置の設計開発システム、プログラム、記録媒体 | |
JP2017215903A (ja) | 検証装置、検証プログラム、及び、検証方法 | |
CN117707471A (zh) | 环境采集设备和目标设备及其数据处理方法、系统 | |
JPH0743566B2 (ja) | 角度演算装置 | |
JPH1027011A (ja) | プログラマブルコントローラ | |
JPH09167005A (ja) | プログラマブルコントローラ | |
JP6260179B2 (ja) | 演算装置及び演算方法 | |
JP2005031847A (ja) | 整数演算の方法および整数演算プログラム、ならびに整数演算装置 | |
JP3499481B2 (ja) | データ乗算装置 | |
JP2009067071A (ja) | 電子制御装置 | |
JPH05274444A (ja) | 曲線描画装置 | |
JPH07271558A (ja) | 数値演算装置 | |
JPS6225208B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070918 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071116 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080527 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080728 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080922 |
|
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: 20081111 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4228706 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 5 |
|
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 |
|
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 |