(57)【特許請求の範囲】
【請求項１】
所定のパラメータの大きさに対応して制御データを記憶するデータテーブルを用い、前記パラメータに係る入力変数値に対応して非線形の出力特性を示す制御データを、各入力変数値に対応した前記データテーブル上の相隣合う二つの格子点のデータ値に基づいて直線補間により演算する直線補間演算手段と、同じく所定のパラメータの大きさに対応して制御データを記憶するデータテーブルを用い、前記パラメータに係る入力変数値に対応して非線形の出力特性を示す制御データを二次函数の補間演算式により演算する二次補間演算手段を設けたデータテーブルの処理装置であって、
エンジン始動時のイグニッションオンを検出するイグニッション検出手段と、前記イグニッションオンが検出される毎に前記データテーブルの隣接する三つの格子点毎のデータ値を前記二次函数の補間演算式に夫々代入することにより格子間毎に前記補間演算式の係数を新たに演算し設定する係数演算手段と、
前記イグニッションオンが検出される毎に所定の周期で所定のルーチンを開始して、前記係数演算手段による前記補間演算式の係数設定が終了するまでは前記直線補間演算手段による直線補間を実行し、前記係数演算手段による前記補間演算式の係数設定が終了すると前記直線補間演算手段による直線補間に代えて前記二次補間演算手段による二次補間を実行する補間実行手段を設けたことを特徴とするデータテーブルの処理装置。
【請求項２】
当該データテーブルの処理装置はエンジン制御のための制御データを演算するものであり、該制御データは吸入空気量を計測するエアフローメータの出力特性であり、その出力特性が非線形である請求項１記載のデータテーブルの処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は例えばエンジンの吸入空気量を計測するエアフローメータの出力特性のように非線形な出力特性のもののテーブル補間に適したデータテーブルの処理装置に関する。
【０００２】
【従来の技術】
エンジン制御のように非線形的なリアルタイム制御システムにおいては、例えば特公平２ー１４９８５号公報に記載されているようにデータテーブルの相隣合うデータ値を補間することによって各入力変数値に対する制御量を演算する補間演算が多く用いられている。
【０００３】
【発明が解決しようとする課題】
エンジン制御等においては上記のように補間演算が多く用いられ、その各々が比較的長い演算時間を必要とするためにＣＰＵの演算負荷が増大する。また、例えばエンジンの吸入空気量に対するエアフローメータの出力特性のように変化の大きい出力特性のものにおいて補間精度を高めようとした場合に、データテーブルの格子点のデータ値を基に直線補間すなわち一次補間する従来の方法では、格子間隔を細かくして多量のデータを入力しなければならなくなるために、大容量のメモリが必要で、開発工数（セッティング工数）も増大する。また、二次以上の補間をすれば格子点の数自体は少なくてすむことになるが、二次以上の補間を毎回行うようなシステムでは補間演算に多大な時間が必要で、一般には実用にならない。そこで、データテーブルの格子点間を補間する二次関数等の補間演算式を設定して、その補間演算式の係数を格子点間毎に定義して予めＲＯＭ領域に入れておき、テーブル補間時に検索により係数を求めて補間演算式に代入するといった補間方法を用いることが考えられる。しかし、この方法では、メモリ容量，精度および演算時間の問題は解消できるものの、開発時のセッティングが複雑で面倒なものとなり、また、学習によって係数を更新していくということもできない。
【０００４】
本発明は上記問題点に鑑みてなされたものであって、補間演算式による精度の高い補間演算を開発時のセッティングを複雑化させることなく実現し、また、ＲＯＭ容量を低減することを目的とする。
【０００５】
【課題を解決するための手段】
本発明は、データテーブルの格子間隔を細かくしたのでは記憶するデータ数が多くなってメモリ容量が増大し開発工数も増大することから、格子点間を演算式によって補間するようにし、しかも、毎回データ値から計算式に基づいて補間演算するのでは演算時間が多大となって実用不可能となることから、格子点データを係数に変換して記憶するようにし、さらに、開発時のセッティングを複雑化することのないよう係数のセッティングを自動的に行うようにしたものであって、図１がその全体構成図である。すなわち、本発明に係るデータテーブルの処理装置は、所定のパラメータの大きさに対応して制御データを記憶するデータテーブルを用い、前記パラメータに係る入力変数値に対応して非線形の出力特性を示す制御データを、各入力変数値に対応した前記データテーブル上の相隣合う二つの格子点のデータ値に基づいて直線補間により演算する直線補間演算手段と、同じく所定のパラメータの大きさに対応して制御データを記憶するデータテーブルを用い、前記パラメータに係る入力変数値に対応して非線形の出力特性を示す制御データを二次函数の補間演算式により演算する二次補間演算手段を設けたデータテーブルの処理装置であって、エンジン始動時のイグニッションオンを検出するイグニッション検出手段と、前記イグニッションオンが検出される毎に前記データテーブルの隣接する三つの格子点毎のデータ値を前記二次函数の補間演算式に夫々代入することにより格子間毎に前記補間演算式の係数を新たに演算し設定する係数演算手段と、前記イグニッションオンが検出される毎に所定の周期で所定のルーチンを開始して、前記係数演算手段による前記補間演算式の係数設定が終了するまでは前記直線補間演算手段による直線補間を実行し、前記係数演算手段による前記補間演算式の係数設定が終了すると前記直線補間演算手段による直線補間に代えて前記二次補間演算手段による二次補間を実行する補間実行手段を設けたことを特徴とする。
【０００６】
こうしてＣＰＵの処理機能に余裕がある所定時期に前記補間演算式の係数の自動設定を行う。
【０００７】
また、本発明のデータテーブルの処理装置はエンジン制御のための制御データを演算するものであり、該制御データは吸入空気量を計測するエアフローメータの出力特性であり、その出力特性が非線形であるものとすることができる。
【０００８】
【作用】
本発明によれば、例えばエンジン制御における吸入空気量を計測するエアフローメータの出力特性等のように変化の大きい非線形の出力特性を示す制御データの補間演算において、データテーブルの格子点間を補間する補間演算式の係数が隣接する複数の格子点のデータ値に基づいて自動設定され、その設定された係数を基に各格子点間において入力変数値に対応した制御データが補間演算される。この係数の自動設定はＣＰＵの処理機能に余裕のあるエンジン始動時に行うようにされる。
【０００９】
【実施例】
以下、本発明の実施例を図面に基づいて説明する。
【００１０】
図２は本発明の一実施例のエンジン制御システムにおけるＣＰＵの入出力ブロック図であって、図で１はコンピュータ、２はＣＰＵを示す。図に示すようにコンピュータ１の入力はクランク角信号，吸入空気量信号，水温（冷却水温度）信号，吸気温信号等であり、出力は点火時期の制御量を規定する点火信号，燃料噴射量（噴射パルスのパルス巾）の制御量を規定する燃料噴射信号等である。ここで、点火時期，燃料噴射量等の制御量は、エンジン回転数および吸気充填量をパラメータとするデータテーブルから補間によって演算される基本制御量に各種補正を加えたものとされる。また、その際、吸気充填量はエアフローメータによって計測された吸入空気量に基づいて演算されるが、エアフローメータの出力特性は変化が大きく、かつ、非線形であることから、その出力電圧に基づく吸入空気量の演算を二次補間によって行っている。また、上記点火時期および燃料噴射量の補間演算も同様に二次補間で行うものとされている。
【００１１】
図３は横軸に入力変数Ｘを、縦軸に出力変数Ｙをとってこの実施例の補間演算を模式的に説明する説明図である。エアフローメータ計測値の演算の場合、上記入力変数Ｘはエアフローメータの出力電圧であり出力変数Ｙは吸入空気量である。また、点火時期および燃料噴射量の演算の場合、入力変数Ｘはエンジン回転数あるいは吸気充填量であり、出力変数Ｙは燃料噴射パルスのパルス巾または点火進角量である。また、図４，図５および図６はこれらエアフローメータ計測値等のテーブル補間を実行するフローチャートであって、そのうち、図４はエンジン始動時にイグニッションオンとともに実行されるメインルーチンを示し、図５は格子点データを補間演算式の係数に変換するテーブル変換ルーチンを示し、図６はテーブル補間ルーチンを示す。
【００１２】
図４のメインルーチンはＭ１〜Ｍ４の各ステップで構成され、イグニッションオンと同時にスタートして、まず、Ｍ１でシステムの初期化を行う。そして、Ｍ２でテーブル変換終了フラグをクリアし、Ｍ３で変換処理を開始する。そして、変換処理が終了したらＭ４でテーブル変換終了フラグをセットする。
【００１３】
変換処理は図５のテーブル変換ルーチンによって行う。このルーチンはＳ１，Ｓ２の二つのステップで構成され、スタートし、Ｓ１で隣接する３格子点毎のデータ値（Ｘ１，Ｙ１），（Ｘ２，Ｙ２），（Ｘ３，Ｙ３）を読み込む。そして、Ｓ２で二次函数の形の補間演算式（Ｙ＝ａＸ２＋ｂＸ＋ｃ）に各格子点のデータを代入した連立方程式を解き、係数ａ，ｂ，ｃを求める。
【００１４】
図６のテーブル補間ルーチンは５ｍｓｅｃ〜１０ｍｓｅｃの周期で実行される。このルーチンはＰ１〜Ｐ９の各ステップで構成され、スタートすると、まず、Ｐ１で入力変数値Ｘを読み込み、Ｐ２でテーブル変換終了フラグがセットされているかどうかを見る。そして、テーブル変換終了フラグがセットされていないときは、補間演算式の係数がまだ設定されていないので、図３に点線で示すように通常の格子点データによる直線補間を行う。すなわち、Ｐ３に進んで入力変数値Ｘに最大値および最小値のガードをかけ、Ｐ４でアドレスオフセット値すなわち入力変数値Ｘに対応した格子点を規定する絶対番地を計算し、Ｐ５で入力変数値Ｘのアドレスオフセット値からのオフセット巾（対応する格子点とのＸ軸差：Ｘ−Ｘ１）を計算する。そして、Ｐ６でオフセット巾（Ｘ−Ｘ１）と前後格子点のＸ軸間隔（Ｘ２−Ｘ１）との比率（（Ｘ−Ｘ１）／（Ｘ２−Ｘ１））を規定する補間係数を計算し、Ｐ７で前後格子点のデータ値（Ｙ１，Ｙ２）を基に補間係数を用いて直線補間によりＹを演算する。また、テーブル変換終了フラグがセットされ補間演算式の係数設定が終了したというときは、Ｐ８へ進んで補間演算式の係数ａ，ｂ，ｃを読み込み、Ｐ９でこれら係数ａ，ｂ，ｃを代入してＹを求める。
【００１５】
なお、上記実施例はＣＰＵの処理機能に余裕のあるエンジン始動時に補間演算式の係数を自動設定するものであって、係数はＲＯＭ領域に入れられ固定される。しかし、本発明の実施例としては、他に、係数を固定せず、ＣＰＵの処理機能に余裕がある時に学習によって係数を更新するようにしてもよい。
【００１６】
また、本発明は吸入空気量，点火時期，燃料噴射量以外のエンジン制御にも適用できる。
【００１７】
【発明の効果】
本発明は以上のように構成されているので、補間演算式による精度の高い補間演算を開発時のセッティングを複雑化することなく実現でき、データテーブルのＲＯＭ容量を低減することができる。
【図面の簡単な説明】
【図１】本発明の全体構成図
【図２】本発明の一実施例を示すブロック図
【図３】本発明の一実施例の補間演算を説明する説明図
【図４】本発明の一実施例の制御を実行するフローチャート（メインルーチン）
【図５】本発明の一実施例の制御を実行するフローチャート（テーブル変換ルーチン）
【図６】本発明の一実施例の制御を実行するフローチャート（テーブル補間ルーチン）
【符号の説明】
１  コンピュータ
２  ＣＰＵ
【図１】
0003598521.tif 000002
【図２】
0003598521.tif 000003
【図３】
0003598521.tif 000004
【図４】
0003598521.tif 000005
【図５】
0003598521.tif 000006
【図６】
0003598521.tif 000007