(57)【要約】【課題】  制御系で多用されている制御データテーブル・制御データマップ検索で、検索入力値やデータの配列数に依存しない高速検索が行うことができる制御用演算装置を提供する。【解決手段】  制御データテーブル・制御データマップの検索時に、各データの要素毎に検索入力値を基に、該当データ配列の隣接値を予め算出することにより、該当制御データ配列位置隣接からのデータ検索によりデータ検索の高速化を図ることで実現する。【選択図】図６
2015156067.tif 000002
【特許請求の範囲】
【請求項１】
車両の運転状態に応じて可変する第一の変数に応じて、対応する第二の変数を参照するためのテーブルを備え、前記テーブルの複数の格子点と入力された第一の変数とを比較して前記テーブルを検索し、入力された第一の変数に対応する第二の変数を参照する車載制御装置において、前記車載制御装置は、前記テーブルで前記第二の変数を参照するときに、前記第一の変数に応じて最初に比較を行う格子点を決定するための参照テーブルを備えることを特徴とする車載制御装置。
【請求項２】
前記車載制御装置は、前記第一の変数に応じて、それぞれに対応する異なる変数を参照するための複数のテーブルを備え、前記複数のテーブルは格子点の数が同じであり、前記複数のテーブルそれぞれで前記第一の変数に応じて最初に比較を行う格子点を前記参照テーブルに基づいて決定することを特徴とする請求項１記載の車載制御装置。
【請求項３】
前記複数のテーブルのうち少なくとも一つは、前記第一の変数と参照する変数との対応関係が同じである、少なくとも二つの格子点を備えることを特徴とする請求項２記載の車載制御装置。
【請求項４】
前記複数のテーブルのうち少なくとも一つに、第一の変数を順番に入力して検索し、前記第一の変数と参照する変数との対応関係が同じ格子点が続いたときに、当該格子点のうち後に検索された格子点は補間された値であると判定することを特徴とする請求項３記載の車載制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は車載制御装置に関し、特に車載制御装置内に記憶されたデータの検索方法に関する。
【背景技術】
【０００２】
自動車の制御処理では、種々の制御演算でのメモリ上のデータ検索が頻繁に実施されており、また、特定要素（エンジン回転数・油温・車速等）による、データテーブルでの線形補間演算が特に多い。
【０００３】
更に、線形補間演算では、入力パラメータ値を基に、データテーブル値を順次比較し該当データ格子箇所までを単純な一方向からの検索処理のため、その検索時間が処理負荷になっている。
【０００４】
制御用のデータ検索の場合、各制御で使用するテーブル・マップ単位ごとに、入力パラメータにより、テーブル・マップの制御データ配置の昇順または降順からの単純検索のため演算処理負荷の要因になっている。ここで、データ配置の昇順とは、データの値が小さい順からの並びのデータ配列のことを意味する。
【０００５】
従来のデータ検索方法として、入力パラメータ値を基に、データの昇順または降順の単純サーチ方法の他に、一般的な検索対象範囲を２分割すること繰り返してデータを見つける二分探索法（バイナリサーチ法）が知られている。また、特許文献１に示されているような、４個置き毎に格子数を検索する手法や特許文献２に示されているような、前回検索した格子位置から検索する手法も知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平5-32471号公報
【特許文献２】特開2003-343341号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の入力値と入力パラメータ値を順次比較して、該当格子箇所まで検索する方法だと、入力値と比較対象入力パラメータデータが離れていると検索時間が長くなる課題がある。
【０００８】
二分探索法や特許文献１の手法でも、入力値と比較対象入力パラメータデータが離れていると検索時間が長くなる課題が残る。
【０００９】
特許文献２の手法だと、入力パラメータ値が急変した場合には、従来の検索方法よりも検索時間が長くなる課題が残る。
【００１０】
本発明は、以上のような課題に鑑みなされたものであり、その目的とするところは、制御データ検索の高速化であり、制御系テーブルの検索処理負荷低減された演算装置およびこれを用いた制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本発明の車載制御装置は、車両の運転状態に応じて可変する第一の変数に応じて、対応する第二の変数を参照するためのテーブルを備え、前記テーブルの複数の格子点と入力された第一の変数とを比較して前記テーブルを検索し、入力された第一の変数に対応する第二の変数を参照する車載制御装置において、前記車載制御装置は、前記テーブルで前記第二の変数を参照するときに、前記第一の変数に応じて最初に比較を行う格子点を決定するための参照テーブルを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、種々の制御処理が始まる前に、各入力パラメータ値に応じた各要素毎での制御データテーブルを検索するデータ格子No.を予め算出されることにより、種々の制御処理時に実行されるデータテーブルの格子データ検索時間が大幅に短縮され、結果的に制御系のテーブル検索処理負荷低減が実現できる。
【図面の簡単な説明】
【００１３】
【図１】従来のテーブル検索関数にて、演算周期毎に入力パラメータ値を基に、テーブル内X軸データを昇順に比較し検索する線形補間演算を示した図である。
【図２】本発明の新設関数にて、補間なしの要素毎の隣接値検索テーブルで、演算周期毎に入力パラメータ値を基に、要素毎の隣接値(テーブルNo.)の検索方法を示した図である。
【図３】本発明のテーブル検索関数で、演算周期毎に入力パラメータ値と補間開始テーブル隣接値(格子No.)を基に、テーブル内X軸データを昇順に比較し検索する線形補間演算を示した図である。
【図４】本発明の実施例に関する演算装置を搭載した、自動車用制御装置のブロック図である。
【図５】従来の制御用ソフトウェアでの一般的な制御処理順フローチャートである。
【図６】本発明の制御用ソフトウェアでの制御処理フローチャートである。
【図７】従来の制御データテーブル構成例である。
【図８】本発明で新設した隣接検索用の補間無しテーブル例（テーブルD）と、本発明での補間有りデータテーブル（テーブルE2/F2/G2）の構成例である。
【発明を実施するための形態】
【００１４】
以下に本発明の具体的な実施例を図に基づいて説明する。
図４は、一般的な自動車用制御装置１を示しており、CPU２は、発振子３の周波数により規定の駆動周波数にて動作され、FlashROM４内に内蔵されたソフウェアを実行し、RAM５内にて各種制御データ等を蓄えて制御を実施し、データバス６を介して入出力装置７での種々のデータの受け渡しを実施する。
【００１５】
エンジン回転数８・油温９・電圧１０は、本制御装置への入力データ例を示し、車速１１・油圧１２は、本制御装置からの出力データ例を示している。
【００１６】
図５は、一般的な自動車制御装置内でのソフトウェアの処理フローチャートを示しており、ソフトウェアは一定間隔で周期起動S1され、入力処理部S2にて外部制御装置や自制御装置の入力デバイス等から各種の入力データを受けて、制御用データを生成している。次に、演算処理部１S3から演算処理nS６にて、例えばFlashROM４内に内蔵されたテーブルのデータ検索を含む各種の制御演算等を実行し、最後に制御演算結果を出力処理部S7にて、外部制御装置や自制御装置の出力デバイス等へ各種演算結果データを出力する。
【００１７】
従来のデータ検索の場合、各制御で使用するテーブル・マップ単位ごとに、入力パラメータにより、テーブル・マップの制御データ配置の昇順または降順からの単純検索のため演算処理負荷の要因になっている。
【００１８】
データ配列の昇順とは、データの値が小さい順からの並びのデータ配列のことである。例えば、エンジン制御に用いる入力パラメータであるエンジン回転数データで表せば、0000rpm|0750rom|2800rpm  〜6200rpm|7800rpm|8100rpmのようなデータ配列を示す。
【００１９】
データ配列の降順とは、データの値が大きい順からの並びのデータ配列のことである。例えば、同様にエンジン回転数データで表せば、8100rpm|7800rom|6200rpm  〜2800rpm|0750rpm|0000rpmのようなデータ配列を示す。
【００２０】
制御データテーブルを用いた線形補間演算の従来例を図１を用いて説明する。
【００２１】
図１において、X軸は入力パラメータ、Y軸は制御データである。X軸のデータ構成は、制御に依存するため等間隔で並んでおらず、不等間隔の並びになっている。
【００２２】
本明細書では、制御データが１個の入力パラメータ関数で検索するデータ配列をテーブルデータと呼び、制御データが2個の入力パラメータ関数で検索するデータ配列をマップデータと呼ぶ。
【００２３】
本実施例では、１個の入力パラメータであるデータテーブル検索について説明を行うが、２個の入力パラメータであるデータマップ検索についても適用可能である。
【００２４】
図１のテーブルAは、データ格子数19個の配列で、X軸は回転数、Y軸はトルク値になっている。
【００２５】
入力パラメータ値(α) = 4200ｒｐｍで検索する場合、テーブルAの格子数No.00（X軸データ = 0000rpm）から順次検索し、格子数No.09(X軸データ = 4000rpm)まで、10回の検索が必要である。
【００２６】
前記の検索が完了すれば、格子数No.09(X軸データ = 4000rpm)と格子数No.10(X軸データ = 4400rpm)間で線形補間で演算し、入力パラメータ値(α) = 4200rpmに対応したY軸データより該当トルク値β(= 50.9Nm)が導き出される。
【００２７】
一般的な線形補間演算式は、２点(xi, yi),(xj, yj)がわかっているとき、xi≦x≦xjの任意の点xに対するf(x)の近似値を２点の直線で結んだxの１次関数として求められる。
線形補間式：y = yi + (yj - yi)(x - xi)/(xj - xi)
本発明のテーブルAでの各格子のデータが下記の場合
格子数No.09：X=4000、Y=493
格子数No.10：X=4400、Y=525
X = 4200の場合のYの値は、下記の算出結果になる。
493 + (525 - 493)×(4200 - 4000)/(4400 - 4200) = 509  ⇒ 50.9Nm
【００２８】
図６は、図５を基に本発明での実施例の１つを組み込んだソフトウェアの処理フローチャートを示しており、入力処理部S2の次に、各要素毎の隣接位置検索S3aを新たに設け、演算処理部S3から演算処理部nS6実行前に、各要素毎の制御データテーブル検索・制御データマップ検索で使用される、隣接位置（格子No.）を予めに算出していることを示している。
【００２９】
具体的には、入力処理部S2が実行された直後に、各要素（エンジン回転数・油温・電圧等）毎の制御用データが生成されるので、その制御用データを基に、演算処理部S2から演算処理部nS６で使用される各種テーブル検索・マップ検索の検索用格子No.を要素毎の隣接位置検索S3aにて求めることを示している。
【００３０】
本発明では、特定要素（エンジン回転数・油温・車速等）での、データ検索する制御データテーブルでの入力パラメータ値は、エンジン回転数等の同一データであることに着目し、その入力パラメータ値を一元的且つデータ検索用として活用することで、種々の制御でのデータ検索時間を短縮し、その結果制御系テーブル検索処理負荷を低減することができる。
【００３１】
第1の対応は、制御データ内の各要素（エンジン回転数・油温・車速）毎に、制御データ配列の隣接位置検索用データテーブルを設けることであり、このテーブル構成は、格子数n個(n=該当要素に関する実データ配置に依存)、X軸は該当要素での検索比較値、Y軸は該当要素の実データテーブル・実データマップの検索開始格子位置とする。また、このテーブルを検索する専用処理関数は補間無しで演算するものとし、制御処理での入力処理が完了した時点で前記の専用関数を実行し、各種演算処理実行前に完了させて置く。
【００３２】
図２のテーブルBは、データ格子数５個の配列例で、X軸は回転数、Y軸は回転数検索開始格子数になっている。入力パラメータ値(α)= 4200ｒｐｍで検索する場合、テーブルBの格子数No.00（X軸データ = 0000rpm）から順次検索し、格子数No.02(X軸データ = 4000rpm)までの検索を実行し、検索が完了すれば格子数No.02(X軸データ = 4000rpm)に対応したY軸データより回転数データ検索開始格子数kp(=9)が導き出される。
【００３３】
第２の対応は、既存のデータテーブル検索処理関数・データマップ検索処理関数の改良であり、前記第一の対応で算出された検索開始格子位置を入力パラメータ値として追加し、実データ検索時には、本発明で新たに追加された、検索開始格子位置より該当格子位置を検索させることにより、高速検索が実現する。その後の補間演算処理は従来の処理のままとする。
【００３４】
図３のテーブルC（構成自体は、テーブルAと同一）は、データ格子数19個の配列で、X軸は回転数、Y軸はトルク値になっている。入力パラメータ値(α)= 4200ｒｐｍで検索する場合、テーブルCの格子数No.09(X軸データ = 4000rpm)から検索が開始され、従来比の１０倍の速さで検索が完了する。
【００３５】
図７は、従来のデータテーブル構成例を示しており、図５での演算処理部S３から演算処理部nS6で使用されるデータテーブルである。
【００３６】
テーブルE１・テーブルF１・テーブルG１は、線形補間有りのテーブルデータであり、入力パラメータは全てエンジン回転数としている。
【００３７】
従来の方法で、入力パラメータ値 = 4200rpmとした場合の各テーブルでのテーブル格子検索数は、下記になる。
テーブルE1：テーブル検索数 = ８回、補間演算対象格子No. = ７、８
テーブルF1：テーブル検索数 = ６回、補間演算対象格子No. = ５、６
テーブルG1：テーブル検索数 = ９回、補間演算対象格子No. = ８、９
【００３８】
図８は、本発明の実施例を示しており、図６での演算処理部S３aから演算処理部nS6で使用されるデータテーブル類である。
【００３９】
テーブルDは、本発明の特徴の１つであり、図６のS3a内にて実施される新設テーブルである。制御データの要素１つであるエンジン回転数を基に新設したテーブルで、補間無し演算にて入力パラメータを基に、該当エンジン回転数を入力パラメータとした、線形補間演算用テーブル検索の格子No.を算出する。
【００４０】
テーブルE2・テーブルF2・テーブルG2は、前記図７記載のテーブルE1・テーブルF1・テーブルG1を基に、本発明用に改修した例を示している。
【００４１】
新設テーブルDの構成により、各テーブルに格子数は下記のように増加させている。
テーブルE２：テーブルE1に対して、６格子増加で対応。
テーブルＦ２：テーブルＦ1に対して、９格子増加で対応。
テーブルＧ２：テーブルＧ1に対して、３格子増加で対応。
【００４２】
これにより、テーブルＥ２，Ｆ２，Ｇ２の格子数が揃っているので、新設テーブルＤを用いて算出された検索開始格子位置を、同じエンジン回転数を用いてデータ検索されるデーブル検索処理全てに流用できる。  前記と同様な、入力パラメータ値 = 4200rpmとした場合の各テーブルでのテーブル格子検索数は、下記になる。
テーブルE２：テーブル検索数 = ２回、補間演算対象格子No. = ９、１０
テーブルF２：テーブル検索数 = ２回、補間演算対象格子No. = ９、１０
テーブルG２：テーブル検索数 = １回、補間演算対象格子No. = ８、９
【００４３】
尚テーブルＥ２とテーブルＦ２でのテーブル検索数が１回では無く、２回である理由は、新設テーブルＤの構成上、テーブルＥ２とテーブルＦ２内に、Ｘ軸の回転数 = 4000rpm値を２個入れたためである。
【００４４】
なお、このようにＸ軸に同じ格子点が続いたときに、当該格子点のうち後に検索された格子点は補間された値であると判定することも可能である。  図７と図８でのテーブル検索数の低減効果は下記になる。
テーブルＥ１/Ｅ２での比較：８回検索 ⇒２回検索に低減。
テーブルＦ１/Ｆ２での比較：６回検索 ⇒２回検索に低減。
テーブルＧ１/Ｇ２での比較：９回検索 ⇒１回検索に低減。
【００４５】
以上本実施例では、データテーブル検索での例を示したが、データマップ検索でも同様な負荷低減効果を得ることができる。
【符号の説明】
【００４６】
１：自動車用制御用装置
２：CPU
３：発振子
４：Flash ROM
５：RAM
６：データバス
７：入出力装置
８：エンジン回転数
９：油温
１０：電圧
１１：車速
１２：油圧
Ｓ１：制御ソフトのメイン部(アプリ処理のメイン関数に該当)
Ｓ２：入力処理部
Ｓ３〜Ｓ６：演算処理部
Ｓ７：出力処理部
Ｓ３a：要素毎の隣接検索処理部（本発明の新設箇所）
【図１】
2015156067.tif 000003
【図２】
2015156067.tif 000004
【図３】
2015156067.tif 000005
【図４】
2015156067.tif 000006
【図５】
2015156067.tif 000007
【図６】
2015156067.tif 000008
【図７】
2015156067.tif 000009
【図８】
2015156067.tif 000010