(57)【要約】【課題】浮動小数点型データを用いた演算に採用されるマップデータについてその好適な削減を図ることのできる電子制御装置を提供する。【解決手段】マップ点及びマップ点に対応するマップ値からなるマップデータ（図２（ａ））のうち、マップ点（センサ電圧値）は、４バイトの浮動小数点型のデータにて表現されている。一方、マップ値（燃料残量）は、１バイトの整数型のデータにて表現されている。更に、マップ値を表現する整数型データの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるＬＳＢデータと、同じく浮動小数点型のデータからなるオフセット値とを備えている。そして、マップ値が浮動小数点型のデータに変換されて補間演算され、補間値はＬＳＢデータとオフセット値とを用いて物理量の値を表現する浮動小数点型のデータに変換される。【選択図】        図２
2004225668.tif 000002
【特許請求の範囲】
【請求項１】
浮動小数点演算機能を有して所定のプログラムに従った各種の演算及び制御を実行する電子制御装置において、
マップ点及び該マップ点に対応したマップ値を備えて構成されるマップデータについて、前記マップ点及び前記マップ値の少なくとも一方を整数型のデータから浮動小数点型のデータに変換する変換手段を備える
ことを特徴とする電子制御装置。
【請求項２】
前記マップデータは、前記マップ点が浮動小数点型のデータにて表現されてなるとともに、前記マップ値が前記マップ点のデータよりもデータ量の少ない整数型のデータにて表現されてなる
請求項１記載の電子制御装置。
【請求項３】
前記マップデータは、前記マップ点が整数型のデータにて表現されてなるとともに、前記マップ値が前記マップ点のデータよりもデータ量の多い浮動小数点型のデータにて表現されてなる
請求項１記載の電子制御装置。
【請求項４】
前記マップデータは、前記マップ点及び前記マップ値の双方が整数型のデータにて表現されてなり、前記変換手段は、これらマップ点及びマップ値が表現される整数型のデータの双方を浮動小数点型のデータに変換するものである
請求項１記載の電子制御装置。
【請求項５】
前記変換手段は、前記整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるＬＳＢデータと前記変換した浮動小数点型のデータとを用いて前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータを生成する
請求項２又は４記載の電子制御装置。
【請求項６】
前記変換手段は、前記変換した浮動小数点型のデータを用いて前記マップデータの補間値を演算するとともに、前記ＬＳＢデータと該演算した補間値のデータとを用いて前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータを生成する
請求項５記載の電子制御装置。
【請求項７】
前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータの生成が、前記ＬＳＢデータを用いて前記演算した補間値のデータの論理値を対応する物理量の値に一旦変換し、且つこの変換した値に前記マップデータに対応して設けられたオフセット値を加算することで行われる
請求項６記載の電子制御装置。
【請求項８】
前記変換手段は、前記整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるＬＳＢデータと前記変換した浮動小数点型のデータとを用いて前記マップ点に対応する物理量の値を表現する浮動小数点型のデータを生成する
請求項３又は４記載の電子制御装置。
【請求項９】
前記マップ点に対応する物理量の値を表現する浮動小数点型のデータの生成が、前記変換した浮動小数点型のデータの論理値を前記ＬＳＢデータを用いて対応する物理量の値に一旦変換し、且つこの変換した値に前記マップデータに対応して設けられたオフセット値を加算することで行われる
請求項８記載の電子制御装置。
【請求項１０】
前記変換手段は、前記整数型のデータについての型情報を示すＩＤデータに基づき、前記整数型のデータを前記浮動小数点型のデータに変換するものである
請求項１〜９のいずれかに記載の電子制御装置。
【請求項１１】
前記変換手段は、アセンブリ言語にて記述されたプログラムを用いて前記変換を実行するものである
請求項１〜１０のいずれかに記載の電子制御装置。
【請求項１２】
請求項１〜１１のいずれかに記載の電子制御装置において、マップ点及びマップ値の双方が浮動小数点型のデータにて表現されるとともにその旨のＩＤデータが付与された他のマップデータと、参照するマップデータが前記マップ点及びマップ値の双方が浮動小数点型のデータにて表現されたものである旨、前記ＩＤデータによって識別されるとき、前記変換手段による変換動作を禁止する禁止手段とを更に備える
ことを特徴とする電子制御装置。
【請求項１３】
浮動小数点演算機能を有して所定のプログラムに従った各種の演算及び制御を実行する電子制御装置に搭載されて前記浮動小数点演算に用いられるマップデータが記憶される記憶装置において、
前記マップデータは、マップ点及び該マップ点に対応したマップ値の少なくとも一方が整数型のデータにて表現されるかたちで記憶されるとともに、前記整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるＬＳＢデータが併せて記憶されてなる
ことを特徴とする電子制御装置の記憶装置。
【請求項１４】
請求項１３記載の電子制御装置の記憶装置において、
前記整数型のデータを浮動小数点型のデータに変換したデータに前記ＬＳＢデータを乗算して生成されるデータによって表現される値と物理量の値との差であるオフセット値について、その浮動小数点型のデータが更に記憶されてなる
ことを特徴とする電子制御装置の記憶装置。
【請求項１５】
請求項１３又は１４記載の電子制御装置の記憶装置において、
前記整数型のデータの型情報を示すＩＤデータが更に記憶されてなる
ことを特徴とする電子制御装置の記憶装置。
【請求項１６】
請求項１３〜１５のいずれかに記載の電子制御装置の記憶装置において、
マップ点及びマップ値の双方が浮動小数点型のデータにて表現されたマップデータ、及び該マップデータが前記マップ点及びマップ値の双方が浮動小数点型のデータによって表現されている旨を示すＩＤデータが更に記憶されてなる
ことを特徴とする電子制御装置の記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、浮動小数点演算機能を有して所定のプログラムに従った各種の演算及び制御を実行する電子制御装置及び該電子制御装置の記憶装置に関する。
【０００２】
【従来の技術】
近年、車載エンジンの制御等に用いられる電子制御装置においても、各種演算の実行に、整数型データ（固定小数点型データ）を用いる代わりに、浮動小数点型データを用いるタイプのものが実用化されてきている（例えば特許文献１参照）。この浮動小数点型データを用いることにより、整数型のデータを用いたものと比較して、より高精度な演算を行うことができるようになる。
【０００３】
図８に、こうした浮動小数点型データの１つであるＩＥＥＥ７５４の規格に従って構成される単精度記憶形式のデータについて、そのフォーマットを示す。同図８に示されるように、単精度記憶形式のデータは、４バイトからなり、１ビットの符号部と、８ビットの指数部と、２３ビットの仮数部とを有している。このように、図８に示す単精度記憶形式の浮動小数点型データにあっては、仮数部が２３ビットで構成される。このため、この浮動小数点型データを用いることで、「１／２２３≒０．００００００１」の精度、すなわち小数点以下７桁の精度で演算が実施されることとなる。
【０００４】
【特許文献１】
特開２００１―２８２５０５号公報
【０００５】
【発明が解決しようとする課題】
ところで、上記電子制御装置は通常、各種制御の実行のために、所定のマップ点と同マップ点におけるマップ値との関係を定めたマップデータが記憶されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を備えている。そして、各マップ点が与えられることに基づき上記マップ値を算出すると共に、これら各マップ点間の値に対しては、該当するマップ値の補間値を算出することで所望の値を得るようにしている。
【０００６】
ただし、例えば上記単精度記憶形式のデータを用いてマップを構成すると、各マップ点及びマップ値にそれぞれ４バイトずつのデータが必要となる。このため、各種プログラムやマップデータを記憶する上記ＲＯＭにおいては、マップデータを記憶するための領域が自ずと拡大することとなる。特に近年、例えば車載エンジンの制御の複雑化等に起因して、上記ＲＯＭに格納されるマップの数も増大する傾向にあり、こうした問題は深刻である。
【０００７】
本発明は、こうした実情に鑑みてなされたものであり、その目的は、浮動小数点型データを用いた演算に採用されるマップデータについてその好適な削減を図ることのできる電子制御装置及び該電子制御装置の記憶装置を提供することにある。
【０００８】
【課題を解決するための手段】
こうした目的を達成すべく請求項１記載の電子制御装置では、マップ点及び該マップ点に対応したマップ値を備えて構成されるマップデータについて、前記マップ点及び前記マップ値の少なくとも一方を整数型のデータから浮動小数点型のデータに変換する変換手段を備える。これにより、電子制御装置内に記憶されるマップデータのうち、少なくともその一部を整数型のデータとすることができる。したがって、電子制御装置内に記憶されるデータ量を好適に削減することができるようになる。
【０００９】
また、請求項２記載の電子制御装置では、前記マップデータは、前記マップ点が浮動小数点型のデータにて表現されてなるとともに、前記マップ値が前記マップ点のデータよりもデータ量の少ない整数型のデータにて表現されてなる。このようにマップ値を整数型にて表現することで、マップ値のデータ量をマップ点のデータ量よりも少なくすることができる。また、マップ点については浮動小数点型のデータを用いることで、マップ点に対応する物理量が広帯域にわたる場合であれ、これを簡易且つ精度よく表現することができるようになる。
【００１０】
また、請求項３記載の電子制御装置では、前記マップデータは、前記マップ点が整数型のデータにて表現されてなるとともに、前記マップ値が前記マップ点のデータよりもデータ量の多い浮動小数点型のデータにて表現されてなる。このようにマップ点を整数型にて表現することで、マップ点のデータ量をマップ値のデータ量よりも少なくすることができる。また、マップ値については浮動小数点型のデータを用いることで、マップ値に対応する物理量が広帯域にわたる場合であれ、これを簡易且つ精度よく表現することができるようになる。
【００１１】
また、請求項４記載の電子制御装置では、前記マップデータは、前記マップ点及び前記マップ値の双方が整数型のデータにて表現されてなり、前記変換手段は、これらマップ点及びマップ値が表現される整数型のデータの双方を浮動小数点型のデータに変換するものである。このようにマップ点及びマップ値をともに整数型にて表現することで、これらを浮動小数点型にて表現する場合と比較してそのデータ量を好適に削減することができるようになる。
【００１２】
また、請求項５記載の電子制御装置では、前記変換手段は、前記整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるＬＳＢデータと前記変換した浮動小数点型のデータとを用いて前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータを生成する。これにより、整数型のデータは、直接的に物理量を表現することなくこれを間接的に表現するものとすることができる。すなわち、整数型のデータは、ＬＳＢデータを介して所望の物理量を表現する浮動小数点型のデータと対応付けられることとなる。したがって、ＬＳＢデータを用いることで、整数型のデータに基づき、マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータを生成することができるようになる。
【００１３】
また、請求項６記載の電子制御装置では、前記変換手段は、前記変換した浮動小数点型のデータを用いて前記マップデータの補間値を演算するとともに、前記ＬＳＢデータと該演算した補間値のデータとを用いて前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータを生成する。このように、浮動小数点型のデータにて補間値を演算した後、物理量を表現するデータに変換するために、補間値の演算の前に物理量を表現するデータに変換する場合と比較して、物理量を表現するデータに変換する処理数を低減することができる。
【００１４】
また、請求項７記載の電子制御装置では、前記マップデータの補間値に対応する物理量の値を表現する浮動小数点型のデータの生成を、前記ＬＳＢデータを用いて前記演算した補間値のデータの論理値を対応する物理量の値に一旦変換し、且つこの変換した値に前記マップデータに対応して設けられたオフセット値を加算することで行う。このように、オフセット値を用いることで、整数型のデータに基づき物理量をより適切に表現することができるようになる。
【００１５】
また、請求項８記載の電子制御装置では、前記変換手段は、前記整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるＬＳＢデータと前記変換した浮動小数点型のデータとを用いて前記マップ点に対応する物理量の値を表現する浮動小数点型のデータを生成する。これにより、整数型のデータは、直接的に物理量を表現することなくこれを間接的に表現するものとすることができる。すなわち、整数型のデータは、ＬＳＢデータを介して所望の物理量を表現する浮動小数点型のデータと対応付けられることとなる。したがって、ＬＳＢデータを用いることで、整数型のデータに基づき、マップ点に対応する物理量の値を表現する浮動小数点型のデータを生成することができるようになる。
【００１６】
また、請求項９記載の電子制御装置では、前記マップ点に対応する物理量の値を表現する浮動小数点型のデータの生成を、前記変換した浮動小数点型のデータの論理値を前記ＬＳＢデータを用いて対応する物理量の値に一旦変換し、且つこの変換した値に前記マップデータに対応して設けられたオフセット値を加算することで行う。このように、オフセット値を用いることで、整数型のデータに基づき物理量をより適切に表現することができるようになる。
【００１７】
また、請求項１０記載の電子制御装置では、前記変換手段は、前記整数型のデータについての型情報を示すＩＤデータに基づき、前記整数型のデータを前記浮動小数点型のデータに変換するものである。これにより、マップデータとして用いる整数型のデータとして、様々な型のデータを用いた場合であれ、これらに適切に対処することができるようになる。
【００１８】
また、請求項１１記載の電子制御装置では、前記変換手段を、アセンブリ言語にて記述されたプログラムを用いて前記変換を実行するものとした。これにより、Ｃ言語等、高水準言語を用いて記述したプログラムと比較して、プログラムの冗長性を低減することができ、処理速度を向上させることができる。
【００１９】
また、請求項１２記載の電子制御装置では、マップ点及びマップ値の双方が浮動小数点型のデータにて表現されるとともにその旨のＩＤデータが付与された他のマップデータと、参照するマップデータが前記マップ点及びマップ値の双方が浮動小数点型のデータにて表現されたものである旨、前記ＩＤデータによって識別されるとき、前記変換手段による変換動作を禁止する禁止手段とを更に備える。これにより、電子制御装置がマップ点及びマップ値の双方が浮動小数点型のデータにて表現されたマップデータを備える場合であれ、これに適切に対応することができる。
【００２０】
また、請求項１３記載の電子制御装置の記憶装置では、前記マップデータは、マップ点及び該マップ点に対応したマップ値の少なくとも一方が整数型のデータにて表現されるかたちで記憶されるとともに、前記整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるＬＳＢデータが併せて記憶されてなる。このようにマップ点及びマップ値の少なくとも一方を整数型のデータとすることで、これら全てを浮動小数点型のデータとする場合と比較してデータ量を削減することができるようになる。また、浮動小数点型にて表現されたＬＳＢデータを備えることで、電子制御装置では、整数型のデータを、所望の物理量の値を表現する浮動小数点型のデータと対応づけることができるようになる。したがって、電子制御装置では、上記マップデータを用いて浮動小数点型の演算を的確に行うことができる。
【００２１】
また、請求項１４記載の電子制御装置の記憶装置では、前記整数型のデータを浮動小数点型のデータに変換したデータに前記ＬＳＢデータを乗算して生成されるデータによって表現される値と物理量の値との差であるオフセット値について、その浮動小数点型のデータが更に記憶されてなる。このように、オフセット値を有することで、整数型のデータと所望の物理量の値を表現する浮動小数点型のデータとをより適切に対応づけることができるようになる。
【００２２】
また、請求項１５記載の電子制御装置の記憶装置では、前記整数型のデータの型情報を示すＩＤデータが更に記憶されてなる。これにより、マップデータとして用いる整数型のデータとして、様々な型のデータを用いた場合であれ、電子制御装置では、これらに適切に対処することができるようになる。
【００２３】
また、請求項１６記載の電子制御装置の記憶装置では、マップ点及びマップ値の双方が浮動小数点型のデータにて表現されたマップデータ、及び該マップデータが前記マップ点及びマップ値の双方が浮動小数点型のデータによって表現されている旨を示すＩＤデータが更に記憶されてなる。これにより、マップ点及びマップ値の双方が浮動小数点型のデータにて表現されるマップデータを用いた場合であれ、電子制御装置では、これらに適切に対処することができるようになる。
【００２４】
【発明の実施の形態】
以下、本発明にかかる電子制御装置を車載エンジンシステムを制御する電子制御装置に適用した一実施形態について、図面を参照しつつ説明する。
【００２５】
図１は、本実施形態の構成を示すブロック図である。図１に示されるエンジンシステムは、エンジン２と同エンジン２へ燃料を供給する燃料タンク４とを備えて構成されている。ここでエンジン２は、例えばガソリン噴射式内燃機関やディーゼル噴射式内燃機関である。
【００２６】
こうしたエンジンシステムを制御する電子制御装置１０は、中央処理装置（ＣＰＵ）１２や浮動小数点演算プロセッサ（ＦＰＵ：Ｆｌｏａｔｉｎｇ−Ｐｏｉｎｔ  Ｕｎｉｔ）１４、読み取り専用記憶装置（ＲＯＭ）１６、入出力装置（Ｉ／Ｏ）１８を備えている。
【００２７】
ここで、中央処理装置１２は、整数型にて表現されるデータを演算する機能を有する。一方、浮動小数点演算プロセッサ１４は、浮動小数点型のデータ（詳しくは、先の図８に示したＩＥＥＥ７５４に従って構成される単精度記憶形式のデータ）を演算する機能を有する。また、読み取り専用記憶装置１６には、電子制御装置１０の行うエンジンシステムの制御についてのプログラム等が記憶されている。なお、これらプログラムは、中央処理装置１２や浮動小数点演算プロセッサ１４によって実行される。
【００２８】
上記構成を有する電子制御装置１０には、エンジン２の運転状態や運転環境を検出する各種センサの検出値や燃料タンク４の燃料残量を検出する残量センサ２０の検出結果が入力される。そして、電子制御装置１０では、これら検出結果に基づき各種演算やエンジンシステムの各種制御を行う。
【００２９】
特に電子制御装置１０では、上記読み取り専用記憶装置１６に様々なマップを備えており、上記各種制御等にかかる演算においてこのマップを用いた演算を行う。詳しくは、上記読み取り専用記憶装置１６には、浮動小数点演算に用いられる様々なマップデータが記憶されており、これらは浮動小数点演算プロセッサ１４にて演算される。ここで、上記残量センサの検出値に基づき燃料タンク４の燃料残量を演算する処理を例として、本実施形態にかかるマップ演算について詳細に説明する。ちなみに、こうして算出される燃料残量の値は、例えば適宜の表示器へ出力される。
【００３０】
図２（ａ）に、上記読み取り専用記憶装置１６に記憶されている燃料残量の算出に用いるマップデータを示す。同図２（ａ）に示されるように、このマップデータは、上記残量センサ２０の検出値（電圧値）が所定の値となる２５個の格子点をマップ点とし、これら検出値に対応した燃料残量をマップ値としている。
【００３１】
ここで、２５個のマップ点のそれぞれは、先の図８に示したフォーマットを有する浮動小数点型にて表現されているデータである。これら各データは、浮動小数点型のデータにて実際の物理量の値を表現しているため、図２（ａ）では、便宜上１０進数表示としている。
【００３２】
一方、マップ値は、整数型にて表現されたデータである。詳しくは、この整数型のデータは、Ｕ１（ｕｎｓｉｇｎｅｄ  １ｂｙｔｅ）形式のデータ（符号を伴わない１バイトのデータ）である。ちなみに、図２（ａ）中、「＄」は、１６進数であることを示している。
【００３３】
更に、上記読み取り専用記憶装置１６には、マップデータとともに、次のデータが記憶されている。
ＩＤデータ：マップ値を表現するデータの型情報を示すデータ。このデータのデータ量は１バイトである。
ＬＳＢデータ：整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータ（先の図８に示したフォーマットを有するデータ）。ちなみに、図２（ａ）に示すマップデータに対応するＬＳＢデータでは、これは「０．４（１０進数表示）」となっている。
オフセット値を示すデータ：マップ値が上記ＬＳＢデータを用いて変換されたデータと物理量の値との差を表現する浮動小数点型のデータ（先の図８に示したフォーマットを有するデータ）。すなわち、上記マップ値は、浮動小数点型のデータに変換された後、ＬＳＢデータを用いて更に変換され、オフセット値が加算されることで物理量の値となる。ちなみに、図２（ａ）に示すマップデータに対応するオフセット値を示すデータは、「０．０（１０進数表示）」となっている。
【００３４】
上記ＬＳＢデータやオフセット値を有することで、マップ値を物理量の値を表現する浮動小数点型のデータとすることができる。すなわち、例えばセンサ電圧値「０．８」に対応する燃料残量「＄８Ｃ」は、２進数表示で「１０００１１００」であり、１０進数表示で「１４０」である。これは、ＬＳＢデータを用いて変換されることで「５６（１０進数表示）」となり、オフセット値を加えて物理量の値「５６（１０進数表示）」となる。
【００３５】
ちなみに、浮動小数点演算プロセッサを搭載する従来の電子制御装置では、こうしたマップデータは、図２（ｂ）に示すようにマップ点、マップ値ともに浮動小数点型にて表現されていた（図２（ｂ）では、便宜上、１０進数表示）。このため、各マップ点及びマップ値にそれぞれ４バイトのデータが必要となり、図２（ｂ）に示すマップデータとしては、２００バイトのデータを必要とすることとなる。
【００３６】
これに対し、図２（ａ）に示すマップデータでは、各マップ点については各４バイトのデータが必要であるが、各マップ値については各１バイトのデータを要するのみである。そして、ＩＤデータに１バイト、ＬＳＢデータ及びオフセットデータに４バイト必要であるため、これら各データとマップデータとの合計のデータ量は、「２５×４＋２５×１＋１＋４＋４＝１３４」バイトとなる。
【００３７】
したがって、本実施形態によれば、マップにかかるデータ量を削減することが可能となっている。
なお、上記読み取り専用記憶装置１６には、必ずしも図２（ａ）に示すものと同一のデータフォーマットを有するものに限らず、例えばマップ値が２バイトの整数型のデータにて表現されたものや、マップ点及びマップ値が全て浮動小数点型のデータにて表現されたもの等も記憶されている。
【００３８】
以下、本実施形態にかかるマップを用いた演算について、図２（ａ）に示すマップデータを用いた場合を例として詳細に説明する。
図３は、本実施形態における燃料残量の算出の処理手順を示すフローチャートである。この処理は、所定の周期で繰り返し実行される。
【００３９】
すなわち、この一連の処理においては、先ずステップ１０００において、上記残量センサ２０の検出値が、電子制御装置１０内において、先の図８に示したフォーマットを有する浮動小数点型のデータＲａｍＡに変換される。
【００４０】
次に、ステップ２０００において、データＲａｍＡに基づいて燃料残量が算出された後、この一連の処理を一旦終了する。なお、図３のステップ２０００にかかる処理は、アセンブリ言語にて記述されたプログラムを用いて行われるようにする。すなわち、上記読み取り専用記憶装置１６には、ステップ２０００に示す処理に対応するプログラムとして、アセンブリ言語にて記述されたプログラムを記憶しておく。このように、アセンブリ言語にて記述されたプログラムは、Ｃ言語等の高水準言語にて記述されたプログラムと比較して、冗長性が低減されるため、プログラム処理の処理速度の向上が図られる。
【００４１】
ここで、データＲａｍＡに基づいた燃料残量の算出にかかる処理について、図４を用いて説明する。図４は、電子制御装置１０の備えるマップについての演算処理を行う共通の処理手順を示すフローチャートである。この図４に示す処理は、全てのマップデータに対して共通の単一のプログラムである。ここでは、この図４の処理が、データＲａｍが上記残量センサ２０の検出値である燃料残量の算出にかかる処理である場合を、換言すれば先の図３に示したステップ２０００の処理の詳細である場合を例として説明することとなる。
【００４２】
この一連の処理においては、先ずステップ２１００において、データＲａｍＡに基づき、上記残量センサ２０の検出値に最も近い２つのマップ点を指示するために用いる近接マップ点指示値Ｉｎｄｅｘと、同検出値に応じた補間態様を定める補間係数Ｄｅｌｔａとを算出する。
【００４３】
詳しくは、このステップ２１００の処理は、図５に示す処理にて示される。ここで、この図５に示される処理について説明する。
この図５に示す一連の処理においては、ステップ２１１０ａ〜２１１０ｙまでの処理において、浮動小数点演算プロセッサ１４にて上記データＲａｍＡと近似するマップ点を検索する処理を行う。そして、これらステップ２１１０ａ〜２１１０ｙまでの処理に基づき、ステップ２１２０ａ〜２１２０ｚのいずれかにおいて、中央処理装置１２にてデータＲａｍＡに最も近い２つのマップ点を指示するために用いる近接マップ点指示値Ｉｎｄｅｘの値を定める。例えば、ここでは、センサ電圧値が「５．０」以上のときには近接マップ点指示値Ｉｎｄｅｘの値を「２５」とする。また、例えば、センサ電圧値が「５．０」と「４．８」との間にあるときには、近接マップ点指示値Ｉｎｄｅｘの値を「２４」とする。なお、この近接マップ点指示値Ｉｎｄｅｘは、整数型のデータとする。
【００４４】
こうして近接マップ点指示値Ｉｎｄｅｘの値を設定した後、ステップ２１３０ａ〜２１３０ｚのいずれかにおいて、浮動小数点演算プロセッサ１４にて上記検出値に応じた補間態様を定める補間係数Ｄｅｌｔａを算出する。そして、これらステップ２１３０ａ〜２１３０ｚのいずれかにおいて補間係数Ｄｅｌｔａの値を算出した後、先の図４に示したステップ２１００に戻る。
【００４５】
なお、ステップ２１３０ａ又は２１３０ｚにおいては、検出値（データＲａｍＡ）が図２（ａ）にて定義されるマップ点の最大値以上であるか、最小値以下であるため、補間係数Ｄｅｌｔａを「０」とする。一方、ステップ２１３０ｂ〜２１３０ｙにおいては、検出値（データＲａｍＡ）が図２（ａ）にて定義される２つのマップ点間にある場合であるため、補間係数Ｄｅｌｔａを図６に示す処理にて算出するようにする。
【００４６】
すなわち、図６に示す一連の処理では、まずステップ２１３１において、中央処理装置１２にて、近接マップ点指示値Ｉｎｄｅｘに基づいて検出値（データＲａｍＡ）と近接する２つのマップ点を取得する。すなわち、例えば検出値が「０．９（１０進数表示）」である場合、近接するマップ点として高値「１．０（１０進数表示）」と低値「０．８（１０進数表示）」とを取得する。なお、検出値がマップ点の１つの一致するときには、低値としてそのマップ点を選択するようにする。
【００４７】
次に、ステップ２１３２において、浮動小数点演算プロセッサ１４にて、補間係数Ｄｅｌｔａを下式にて演算する。
Ｄｅｌｔａ＝｛（高値−ＲａｍＡ）／（高値−低値）｝
こうして補間係数Ｄｅｌｔａを算出すると、先の図５に示したステップ２１３０ｂ〜２１３０ｙのいずれかに戻る。
【００４８】
上記態様にてデータＲａｍＡに基づき、近接マップ点指示値Ｉｎｄｅｘと補間係数Ｄｅｌｔａとを算出すると、図４に示すステップ２１００が終了する。そして、図４のステップ２２００ａ、２２００ｂ、…２２００β、…では、中央処理装置１２にて、上記ステップ２１００において用いたマップにおけるマップ値を表現するデータの型情報であるＩＤを識別する。ちなみに、ステップ２２００ｂでは、型情報がＵ２（ｕｎｓｉｇｎｅｄ  ２ｂｙｔｅ）、すなわち符号のない２バイトの整数型のデータを示すものであるか否かを判断している。また、ステップ２２００βでは、型情報が浮動小数点型のデータを示すものであるか否かを判断している。
【００４９】
そして、これらステップ２２００ａ、２２００ｂ、…２２００β、…において識別された型情報に基づき、ステップ２３００ａ、２３００ｂ、…２３００β、…のいずれかにおいて補間演算を行う。詳しくは、ステップ２２００βにおいて浮動小数点型である旨識別されたときには、先の図６のステップ２１３１にて取得された２つのマップ点に対応するマップ値に基づき、浮動小数点演算プロセッサ１４にて補間演算を行う。一方、ステップ２２００β以外のステップにおいて、マップ値が整数型である旨識別されたときには、同マップ値を浮動小数点型に変換した後、補間演算を行う。詳しくは、マップ値が整数型である旨識別されたときに行う処理は、図７に示される処理である。以下、これについて詳述する。
【００５０】
すなわち、この一連の処理においては、まずステップ２３１０において、中央処理装置１２にて、上記近接マップ点指示値Ｉｎｄｅｘに基づき取得される隣接する２つのマップ点のうちの低値に対応するマップ値を、データＲａｍＤとして取得する。また、ステップ２３２０においては、中央処理装置１２にて、上記近接マップ点指示値Ｉｎｄｅｘに基づき取得される隣接する２つのマップ点のうちの高値に対応するマップ値を、データＲａｍＥとして取得する。
【００５１】
次に、ステップ２３３０においては、これら整数型で表現されているデータＲａｍＤ及びデータＲａｍＥを、浮動小数点型のデータＲａｍＦ及びデータＲａｍＧに変換する。
【００５２】
すなわち、例えばデータＲａｍＡが「０．９（１０進数表示）」である場合、データＲａｍＤが「＄８Ｃ」となり、また、データＲａｍＥが「＄８７」となる。そして、データＲａｍＤを先の図８に示したフォーマットの浮動小数点型のデータに変換すると、「０ｘ４３０ｃ００００」となる。また、データＲａｍＥを上記フォーマットの浮動小数点型のデータに変換すると、「０ｘ４３０７００００」となる。
【００５３】
ちなみに、この浮動小数点型のデータにおいて、先頭に「０ｘ」が付く数字は１６進数を示す。そして、符号部Ｓ、指数部Ｅ、仮数部Ｍとしたとき、浮動小数点型のデータは、
（−１）Ｓ×２（Ｅ−１２７）×（１＋Ｍ）
で表される。
【００５４】
したがって、例えば「０ｘ４３０ｃ００００」は、２進数では以下のようになる。
０１００  ００１１  ００００  １１００  ００００  ００００  ００００  ００００
ここで、符号部Ｓ、指数部Ｅ、仮数部Ｍはそれぞれ以下となる。
2004225668.tif 000003
したがって、この浮動小数点型のデータにて表現される値は、「１４０」となる（これは、上記「Ｓ８Ｃ」の１０進数表示と一致する）。
【００５５】
こうしてデータＲａｍＤ及びデータＲａｍＥを、浮動小数点型のデータＲａｍＦ及びデータＲａｍＧに変換すると、ステップ２３４０に移行する。このステップ２３４０においては、浮動小数点演算プロセッサ１４にて、線形補間量（データＲａｍＨ）を下式にて算出する。
【００５６】
ＲａｍＨ＝（ＲａｍＧ−ＲａｍＦ）×Ｄｅｌｔａ
次に、データＲａｍＨを用いてステップ２３５０においては、浮動小数点演算プロセッサ１４にて、線形補間値（データＲａｍＩ）を下式にて算出する。
【００５７】
ＲａｍＩ＝ＲａｍＦ＋ＲａｍＨ
なお、データＲａｍＩの表現する補間値は論理値となっている。
そして、このステップ２３５０の処理が終了すると、先の図４のステップ２３００へ戻る。
【００５８】
ちなみに、この図７に示す処理は、先の図４のステップ２２００による処理によって識別された整数型のデータについての型情報に応じて、それぞれ扱う整数型のデータの型が異なることを考慮した処理を行うこととなる。実際には、この図７に示した処理は、整数型データの各型毎に各別のプログラムからなる処理とすることが望ましい。
【００５９】
ここで、図４のステップ２３００において補間演算を終了すると、ステップ２４００に移行する。そして、このステップ２４００においてＩＤデータが浮動小数点型であることを示すデータであるか否かを判断する。
【００６０】
そして、ステップ２４００においてＩＤデータが浮動小数点型であることを示すデータでないと判断されると、ステップ２５００において、浮動小数点演算プロセッサ１４にて物理量の値への変換にかかる処理を行う。これは、先の図７のステップ２３５０で求めたデータＲａｍＩと、上記ＬＳＢデータ、オフセット値のデータを用いて下式にて行われる。
【００６１】
ＲａｍＩ×ＬＳＢ＋（オフセット値）
これにより、物理量を整数型のデータの制約の中で表現すべく、間接的な表現を用いてマップ値を作成した場合であれ、先の図２（ａ）に示したマップデータの補間値に対応する物理量の値を適切に求めることができるようになる。なお、このように、補間演算の後に物理量への変換を行うことで、図４に示す一連の処理にかかる演算負荷の低減を図ることができる。すなわち、ステップ２３００において、補間演算に先立ち物理量へ変換する処理をすると、補間に用いる２つのデータについて物理量への変換を行う必要が生じるが、本実施形態のように補間後に物理量へ変換する処理をすることで演算負荷の低減を図ることができる。
【００６２】
こうしてステップ２５００の処理が終了した場合や、ステップ２４００においてＩＤデータが浮動小数点型であることを示すデータであると判断された場合には、この一連の処理を一旦終了する。ちなみに、ステップ２３００βで算出された補間値は実際の物理量の値を示すものであるため、ステップ２４００においてＩＤデータが浮動小数点型であることを示すデータであると判断された場合には、ステップ２５００の処理を行わない。
【００６３】
なお、この図７に示す一連の処理の後、算出された補間値を用いるルーチンへ移行する。すなわち、補間値が先の図３のステップ２０００に該当するものであるときには、同ステップ２０００へ戻る。
【００６４】
以上のように、本実施形態では、所定のマップデータにおいて、浮動小数点型のデータよりもデータ量の小さい整数型のデータを用いてマップ値を表現した。これにより、マップデータのデータ量を低減することが可能となる。しかも、補間演算に際し、マップ値を表現する整数型のデータを浮動小数点型のデータに変換した。このため、全てを浮動小数点型で表現した場合の様々な効果を略同等に得ることができる。
【００６５】
ちなみに、マップ値を予め浮動小数点型で表現した場合と本実施形態の場合とでは、これらマップ値が同一である限り、これらマップ値を用いて算出された補間値は同一となる。すなわち、マップ値を整数型とするとともに中央処理装置１２にて終始整数型のデータを扱った場合と比較して、算出される補間値の精度を向上させることができる。
【００６６】
また、図４にて示したマップ補間値を算出する処理を、全てのマップについて共通としたために、マップ補間にかかるプログラムのデータ量を削減することもできる。更に、この図４においては、ＩＤデータの識別により様々な型のデータに対応することができるようにしたため、マップデータの型が代わった場合であれ、プログラムを変更することなく、ＩＤデータの定義書き換えで対応することができる。
【００６７】
以上詳述した本実施形態によれば、以下の効果が得られるようになる。
（１）マップ値を整数型にて表現するとともに、これを整数型から浮動小数点型に変換するようにした。これにより、マップを用いた演算として浮動小数点演算を行いつつも、マップデータのデータ量を好適に削減することができるようになる。
【００６８】
（２）マップ点を浮動小数点型にて表現するとともに、マップ値を整数型にて表現した。これにより、マップ値のデータ量をマップ点のデータ量よりも小さくすることができる。また、マップ点については浮動小数点型のデータを用いることで、マップ点に対応する物理量が広帯域にわたる場合であれ、これを簡易且つ精度よく表現することができるようになる。
【００６９】
（３）ＬＳＢデータを用いて浮動小数点型に変換されたマップ値に関するデータを物理量の値を表現するデータに変換するようにした。これにより、マップ値を表現する整数型のデータは、直接的に物理量を表現することなくこれを間接的に表現するものとすることができる。
【００７０】
（４）オフセット値を用いることで、整数型のデータに基づき物理量をより適切に表現することができるようになる。
（５）マップ値に関する浮動小数点型のデータを補間演算した後、物理量を表現するデータに変換するようにした。このため、補間演算の前に物理量を表現するデータに変換する場合と比較して、物理量を表現するデータに変換する処理数を低減することができる。
【００７１】
（６）マップ値を表現するデータについての型情報を示すＩＤデータに基づき、整数型のデータを浮動小数点型のデータに変換するようにした。これにより、マップ値を表現するデータとして、様々な型のデータを用いた場合であれ、これらに適切に対処することができるようになる。
【００７２】
（７）図４〜図７にかかる処理を、アセンブリ言語にて記述されたプログラムを用いて行った。これにより、高水準言語にて記述されるプログラムと比較して、プログラムの冗長性を低減することができ、処理速度を向上させることができる。
【００７３】
なお、上記実施形態は、以下のように変更して実施してもよい。
・上記実施形態では、整数型としてＵ１、Ｕ２を例示したがこれに限らない。例えば、Ｓ１（ｓｉｇｎｅｄ  １ｂｉｔｙｅ：符号を伴う１バイトのデータ）や、Ｓ２（ｓｉｇｎｅｄ  ２ｂｉｔｙｅ：符号を伴う２バイトのデータ）等でもよい。
【００７４】
・マップ値が整数型にて表現されたマップデータのみを備えるようにしてもよい。この場合、浮動小数点型のデータを示すものであるか否かの処理や、浮動小数点型のデータであるときの補間演算処理、物理量の値への変換を行うか否かを判断する処理（図４のステップ２２００β、２３００β、２４００）等を行うことを禁止する禁止手段を有しなくてもよい。
【００７５】
・単一の整数型にて表現されたマップデータのみを扱うならＩＤデータにてマップ値のデータの型情報を識別する処理を行う機能を有しなくてもよい。
・補間演算に先立ち、ＬＳＢデータ等を用いてマップ値を物理量の値に変換する処理を行うようにしても、上記実施形態の上記（１）の効果等を得ることはできる。
【００７６】
・マップ値をＬＳＢデータを用いて変換させるのみで物理量の値を表現できるなら、オフセット値のデータを有しなくてもよい。
・更に、整数型のデータにてマップ値として所望される物理量の値を表現することができるなら、ＬＳＢデータを有しなくてもよい。この場合であれ、マップ値を浮動小数点型のデータに変換することで、補間値の算出精度を向上させることはできる。
【００７７】
・上記実施形態では、マップ点を浮動小数点型のデータとするとともにマップ値を整数型のデータとしたが、マップ点を整数型のデータとするとともにマップ値を浮動小数点型のデータとしてもよい。これによっても、マップ点を浮動小数点型のデータに変換する処理を施すことで、補間値の算出精度を向上させることができる。なお、この際、マップ点を表現する整数型のデータの最下位ビットに対応する物理量の値を表現する浮動小数点型のデータであるＬＳＢデータを備えることで、所望する物理量の値を表現する浮動小数点型のデータとマップ点とを的確に対応付けることができる。更に、オフセット値に関する浮動小数点型のデータを有するようにすれば、所望する物理量の値を表現する浮動小数点型のデータとマップ点とをいっそう的確に対応付けることができる。ちなみにこれは、マップ点を整数型で十分に表現することができ、同マップ点に対応するマップ値が広帯域にわたる場合や微小な数値にて表現することが望まれる場合に特に有効である。
【００７８】
・マップ点及びマップ値をいずれも整数型にて表現するようにしてもよい。この場合であれ、これらマップ点及びマップ値を浮動小数点型のデータに変換するようにすれば、補間値を精度よく算出することができる。しかも、この場合、マップデータのデータ量をいっそう削減することができる。
【００７９】
・マップ値の補間は、上記実施形態で例示したように線形補間に限らない。
・浮動小数点型のデータとしては、単精度記憶形式のものに限らず、例えば倍精度記憶形式のものであってもよい。
【００８０】
・マップ点及びマップ値の少なくとも一方を整数型から浮動小数点型に変換する変換手段としては、上記実施形態のように中央処理装置及び浮動小数点演算プロセッサを備えて構成されるものに限らない。例えば浮動小数点演算プロセッサと専用のハードウェアとを備えて構成されるものであってもよい。また、こうした変換手段は、必ずしもアセンブリ言語で記述されたプログラムを備えるものに限らない。
【００８１】
・マップデータやＬＳＢデータ、オフセット値に関するデータ等を記憶する記憶装置としては、ＲＯＭに限らない。
・更に、浮動小数点演算機能を有して所定のプログラムに従った各種演算及び制御を実行する電子制御装置としては、エンジンシステムを制御対象とするものに限らず、例えば車両の任意箇所を制御するものであってもよい。
【図面の簡単な説明】
【図１】本実施形態にかかる電子制御装置の構成を示すブロック図。
【図２】同実施形態にかかる残量センサの検出値と燃料残量との関係を定義するマップを示す図。
【図３】同実施形態にかかる燃料残量の算出の処理手順を示すフローチャート。
【図４】同実施形態にかかるマップ補間値の算出の処理手順を示すフローチャート。
【図５】同実施形態にかかるマップ補間のための演算処理の手順を示すフローチャート。
【図６】同実施形態にかかるマップ補間のための演算処理の手順を示すフローチャート。
【図７】同実施形態にかかるマップ補間演算の処理手順を示すフローチャート。
【図８】単精度記憶形式の浮動小数点データのフォーマットを示す図。
【符号の説明】
２…エンジン、４…燃料タンク、１０…電子制御装置、１２…中央処理装置、１４…浮動小数点演算プロセッサ、１６…読み取り専用記憶装置、１８…入出力装置、２０…残量センサ。
【図１】
2004225668.tif 000004
【図２】
2004225668.tif 000005
【図３】
2004225668.tif 000006
【図４】
2004225668.tif 000007
【図５】
2004225668.tif 000008
【図６】
2004225668.tif 000009
【図７】
2004225668.tif 000010
【図８】
2004225668.tif 000011