(57)【要約】【課題】外部装置を用いて読み出されるデータおよび制御装置における演算に使用されるデータを記録するデータ記録装置において、制御装置における演算精度を維持しつつ、かつメモリに多くのデータを記録できるようにする。【解決手段】ＥＣＵ１０のＣＰＵ１１は、各種演算処理にて、当該車両における各種状態を検出する各種センサ３１〜３９による検出結果に基づく演算を実施し、この演算データを一時記録領域２１に記録させる。さらにＣＰＵ１１は、一時記録領域２１に記録された演算データに基づく演算を実施し、演算結果に応じた制御指令を被制御対象に対して送信し、演算データのデータ量を減少させるデータ変換を行い、データ変換後の演算データを蓄積記録領域２２に記録させる。【選択図】図２
2008184913.tif 000002
【特許請求の範囲】
【請求項１】
車両における制御装置により演算された演算データを記録するデータ記録装置であって、
前記制御装置によって読み出し可能に所定のデータを一時的に記録する一時記録手段と、
前記制御装置とは異なる外部装置と接続された際に該外部装置によって読み出し可能に前記所定のデータとは異なるデータを蓄積して記録する蓄積記録手段と、
前記制御装置により演算が成されると、該演算による演算データを一時記録手段に記録させる一時記録制御手段と、
前記演算データに対して該演算データのデータ量よりもデータ量を減少させるデータ変換を行い、該データ変換後の演算データを前記蓄積記録手段に記録させる蓄積記録制御手段と、
を備えたことを特徴とするデータ記録装置。
【請求項２】
前記一時記録制御手段は、前記一時記録手段に対して浮動小数点型データを記録し、
前記蓄積記録制御手段は、前記蓄積記録手段に対して整数型データを記録すること
を特徴とする請求項１に記載のデータ記録装置。
【請求項３】
前記一時記録手段ならびに前記蓄積記録手段とは、当該データ記録装置が電源供給を受け作動中にのみデータを保持可能な記憶手段であること
を特徴とする請求項１または請求項２に記載のデータ記録装置。
【請求項４】
前記一時記録制御手段は、演算データの種別によって記録領域を指定することなく前記一時記録制御手段への記録を実施し、
前記蓄積記録制御手段は、演算データの種別によって記録領域を指定して前記蓄積記録手段への記録を実施すること
を特徴とする請求項１〜請求項３の何れかに記載のデータ記録装置。
【請求項５】
車両制御を実施する制御装置であって、
所定のデータを読み出し可能に一時的に記録する一時記録手段と、
前記制御装置とは異なる外部装置と接続された際に該外部装置によって読み出し可能に前記所定のデータとは異なるデータを蓄積して記録する蓄積記録手段と、
少なくとも当該車両における各種状態を検出する検出手段による検出結果に基づく演算を実施する第１演算手段と、
前記第１演算手段による演算データを前記一時記録手段に記録する一時記録制御手段と、
少なくとも前記一時記録手段に記録された演算データに基づく演算を実施し、該演算結果に応じた制御指令を被制御対象に対して送信する第２演算手段と、
前記一時記録手段に記録された演算データに対して該演算データのデータ量よりもデータ量を減少させるデータ変換を行い、該データ変換後の演算データを前記蓄積記録手段に記録させる蓄積記録制御手段と、
を備えたことを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置を用いて読み出されるデータおよび制御装置における演算に使用されるデータを記録するデータ記録装置、および制御装置に関する。
【背景技術】
【０００２】
従来、車両における制御装置にて演算された演算結果を車両のメモリに蓄積し、当該制御装置が電源供給を受けて作動している状況下にて、この演算結果を外部装置を用いて読み出すことによって車両の診断を行うことができるようにしたデータ記録装置が知られている（例えば、特許文献１参照）。
【特許文献１】特開平９−２６８９４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、車両における制御装置においては、メモリに記録された演算結果を用いて、さらに演算を実施することがある。ここで、上記データ記録装置において、メモリに記録された演算結果を、制御装置による演算にも使用することを想定すると、外部装置を用いて読み出される演算結果と、演算に使用される演算結果とが、同じ形式のデータになるため、下記のような問題が発生する。
【０００４】
まず前提として、データが読み出されることを想定すると各データに対してアドレスが固定され、必要なメモリ領域が設定されることとなる。従って、読み出されるデータが増えれば増えるほどメモリ領域は増大する傾向にある。
【０００５】
このような前提のもと、制御装置における演算精度を向上させるために、メモリに高精度なデータ（１データ当たりのｂｉｔ数が多いデータ）を記録する場合には、制御装置における演算精度が悪化することを防止することができるが、メモリに蓄積される１データ当たりのデータ量が多くなるので、メモリのサイズが決まっている場合にはメモリに多くのデータを記録することができなくなる。また、メモリに多くのデータを記録するためにメモリを大容量化すると、メモリのためにコストがかさむ。
【０００６】
また、メモリに低精度なデータ（１データ当たりのｂｉｔ数が少ないデータ）を記録する場合には、メモリに蓄積される１データ当たりのデータ量は少なくなるので、メモリに多くのデータを記録することができるが、制御装置における演算に低精度なデータを用いることになるため、制御装置における演算精度が悪化する。
【０００７】
そこで、このような問題点を鑑み、外部装置を用いて読み出されるデータおよび制御装置における演算に使用されるデータを記録するデータ記録装置において、制御装置における演算精度を維持しつつ、かつメモリに多くのデータを記録できるようにすることを本発明の目的とする。
【課題を解決するための手段】
【０００８】
かかる目的を達成するために成された請求項１に記載のデータ記録装置は、制御装置によって読み出し可能に所定のデータを一時的に記録する一時記録手段と、外部装置によって読み出し可能に所定のデータとは異なるデータを蓄積して記録する蓄積記録手段と、をそれぞれ備えている。そして、一時記録制御手段は、制御装置による演算データを一時記録手段に記録させ、蓄積記録制御手段は、演算データに対してデータ量を減少させるデータ変換を行い、データ変換後の演算データを蓄積記録手段に記録させる。
【０００９】
従って、このようなデータ記録装置によれば、制御装置ではデータ量を減少させる前の演算データ（一時記録手段に記録された演算データ）を使用して演算を実施することができるので、制御装置による演算の精度が悪化することを防止することができる。
【００１０】
また、蓄積記録手段にはデータ量を減少させて演算データを記録するので、蓄積記録手段を大容量化することなく多くの演算データを蓄積することができる。
従って、読出し可能なデータの数や種類が増え、データ量が増えると、固定アドレスとなる読出しデータ領域自体は増えるが、演算に用いられるデータを保存する一時記憶領域から読み出し可能なデータを分離し、かつ読出しデータのサイズを演算に用いられるデータに比して減少させているので実質的に増えることはないか、あるいは増える場合があるとしてもその増大の傾向は、従来のように演算に用いるデータと読出しに用いるデータとを固定アドレスとして同じメモリ領域から読み出すようにした場合と比較すれば緩和されたものとなる。
【００１１】
なお、本発明において、蓄積記録制御手段は、一時記録手段に記録された演算データを取得してデータ変換を実施するようにしてもよいし、制御装置による演算結果を直接取得してデータ変換を実施するようにしてもよい。
【００１２】
また、本発明において、「一時的に記録する」とは、制御装置による演算により使用された後であれば一時記録手段に記録された演算データが削除されてもよいことを意味する。従って、一時記録制御手段は、周知のＦＩＦＯ方式で一時記録手段に演算データを記録するようにしてもよいし、制御装置による演算終了後に一時記録手段に記録された演算データを削除する削除手段を備えていてもよい。
【００１３】
さらに、「蓄積して記録する」とは、外部装置が演算データを読み出す際に必要とする演算データが蓄積記録手段に記録されていればよいことを意味する。従って、外部装置がある演算データを１つだけ必要としていれば、蓄積記録手段にはこの演算データが少なくとも１つだけ記録されていればよく、外部装置がある演算データを３つ必要としていれば、蓄積記録手段にはこの演算データが少なくとも３つ記録されていればよい。
【００１４】
また、「読み出し可能に」とは、制御装置または外部装置が直接各記録手段にアクセスできるように構成されていること、或いは、当該データ記録装置が制御装置または外部装置からの要求を受けると、この要求に応じた演算データを制御装置または外部装置に送信する送信手段を備えた構成にされていること、等によって実現することができる。
【００１５】
ところで、請求項１に記載のデータ記録装置においては、蓄積記録手段に記録される演算データ１データ当たりのデータ量が、一時記録手段に記録される演算データ１データ当たりのデータ量よりも少なくなるようにすればよいが、具体的には、請求項２に記載のように、一時記録制御手段は、一時記録手段に対して浮動小数点型データを記録し、蓄積記録制御手段は、蓄積記録手段に対して整数型データを記録するようにしてもよい。
【００１６】
ここで、一般的に、浮動小数点型データには、演算精度が高く、データ量が多いという特徴があり、整数型データには、演算精度が低く、データ量が少ないという特徴がある。そこで、本発明においては、制御装置による演算には、高い演算精度を維持することができるように浮動小数点データを一時記録手段に記録し、データを蓄積するためには、データ量が少なくなるように整数型データを蓄積記録手段に記録するようにしている。
【００１７】
つまり、本発明においては、浮動小数点型データおよび整数型データが有するそれぞれの長所を取り入れた構成にされている。従って、このようなデータ記録装置によれば、一時記録手段には浮動小数点型データを記録するので、このデータを用いて演算を実施する制御装置にて、高精度な演算を実施することができる。また、蓄積記録手段には整数型データを記録するので、より多くのデータを蓄積することができる。
【００１８】
また、請求項１または請求項２に記載のデータ記録装置において、一時記録手段ならびに蓄積記録手段は、当該データ記録装置が電源供給を受け作動中にのみデータを保持可能な記憶手段であってもよい。
【００１９】
さらに、請求項１〜請求項３の何れかに記載のデータ記録装置においては、請求項４に記載のように、一時記録制御手段は、演算データの種別によって記録領域を指定することなく一時記録制御手段への記録を実施し、蓄積記録制御手段は、演算データの種別によって記録領域を指定して蓄積記録手段への記録を実施するようにしてもよい。
【００２０】
このようなデータ記録装置によれば、一時記録手段へは記録領域を指定しないで演算データの記録を実施するので、複数種別の演算データに一時記録手段の記録領域を共有させることによって、一時記録手段の記録領域を有効に活用することができる。よって、一時記録手段の容量を大きくすることなく、複数種別の演算データを一時記録手段に記録することができる。
【００２１】
また、蓄積記録手段へは演算データの種別毎に記録領域を指定して演算データの記録を実施するので、外部装置が蓄積記録手段に記録された演算データを呼び出す際に、記録領域を指定することにより演算データの種別の特定を容易に行うことができる。
【００２２】
次に、上記目的を達成するために成された請求項５に記載の制御装置は、請求項１に記載のデータ記録装置の構成に加えて、当該車両における各種状態を検出する検出手段による検出結果に基づく演算を実施する第１演算手段と、一時記録手段に記録された演算データに基づく演算を実施し、演算結果に応じた制御指令を被制御対象に対して送信する第２演算手段と、を備えている。
【００２３】
従って、このような制御装置によれば、請求項１に記載のデータ記録装置の構成を備えているので、請求項１と同様の効果が得られる。
また、第２演算手段は一時記録手段に記録された演算データ、つまり、データ変換前のデータ量が減少していない演算データを用いて演算を実施し、この演算に応じた制御指令を被制御対象に送信するので、被制御対象を高精度に制御することができる。
【００２４】
なお、「車両における各種状態」とは、車両の走行状態、車両の乗員による操作状態、当該制御装置や他の制御装置による被制御対象の制御状態、車両における冷却水の温度や周囲の雰囲気等のうちの少なくとも１つ以上のものを示す。
【発明を実施するための最良の形態】
【００２５】
以下に本発明にかかる実施の形態を図面と共に説明する。
図１は本発明が適用されたエンジン制御装置１０と各種装置との接続関係を模式的に示すブロック図である。
【００２６】
エンジン制御装置１０（以下、単に「ＥＣＵ１０」ともいう。）は、ＣＰＵ１１、メモリ２０、および各種インタフェース（入力インタフェース２６、出力インタフェース２７、および接続インタフェース２８）を備えている。
【００２７】
各種インタフェースのうち、入力インタフェース２６には、アクセルポジションセンサ３１と、クランク角センサ３２と、カム角センサ３３と、エアフロメータ３４と、スロットルセンサ３５と、吸気圧センサ３６と、水温センサ３７と、Ｏ２センサ（酸素センサ）３８と、Ａ／Ｆセンサ（空燃比センサ）３９と、車載バッテリ４０に接続されたメインリレー４１およびイグニッションスイッチ４２とが接続されている。
【００２８】
また、出力インタフェース２７には、インジェクタ５１と、イグナイタ５２と、スロットル５３とが接続されている。さらに、接続インタフェース２８には、テスタ６０および適合ツール６２が接続可能に構成されている。なお、テスタ６０および適合ツール６２は、通常時（車両が走行するとき等）には接続インタフェース２８に接続されることはなく、修理・点検の際や、車両の開発時（具体的には制御パラメータを設定する際）等にのみ接続インタフェース２８に接続される。また、接続インタフェース２８は、テスタ６０や適合ツール６２の脱着を容易に行うために、例えば周知のコネクタとして構成されている。
【００２９】
入力インタフェース２６に接続された各種センサは、それぞれ周知のセンサであって、下記のような機能を有する。
アクセルポジションセンサ３１は、当該車両の運転者がアクセル踏み込んだその踏み込み量を検出する。
【００３０】
クランク角センサ３２は、車両におけるクランクシャフト（クランク軸に取り付けられた円盤）の回転角度（位置）を検出する。
カム角センサ３３は、車両のエンジンにおけるカムシャフト（カムプーリ）の回転角度（位置）を検出する。
【００３１】
エアフロメータ３４は、エンジンに供給される空気の流量（吸入空気量）を計測する。
スロットルセンサ３５は、エンジンに対する吸入空気量を調節するスロットルバルブの開度を検出する。
【００３２】
吸気圧センサ３６は、エンジンに供給される吸入空気の圧力を検出する。
水温センサ３７は、エンジンの冷却水の温度を検出する。
Ｏ２センサ（酸素センサ）３８はエンジンの排気管における酸素濃度を検出する。
【００３３】
Ａ／Ｆセンサ（空燃比センサ）３９は、エンジンの吸気管における空燃比を検出する。
メインリレー４１は、車載バッテリ４０からの電力をエンジン制御装置１０およびその他の機器に供給する際のスイッチとして機能し、このメインリレー４１の作動状態（ＯＮ／ＯＦＦ状態）はＣＰＵ１１により検出される。
【００３４】
イグニッションスイッチ４２は、イグニッションコイル（昇圧装置）に電力を供給するためのスイッチとして機能し、このイグニッションスイッチ４２のこのメインリレー４１の作動状態（ＯＮ／ＯＦＦ状態）はＣＰＵ１１により検出される。
【００３５】
インジェクタ５１は、ＥＣＵ１０からの噴射指令に応じて燃料をエンジン内に噴射する。
イグナイタ５２は、エンジン内の燃料に対して点火を行う周知の点火プラグを着火させる点火装置である。
【００３６】
スロットル５３は、例えばＣＰＵ１１により電子的に制御される電子スロットルとして構成され、バルブを開閉することによりエンジン内の供給される空気の流量を調節する。
メモリ２０としては、ＲＯＭ（図示省略）およびＲＡＭを備えている。メモリ２０のＲＯＭには、ＣＰＵ１１が実行するプログラムが格納されているとともに、メモリ２０のＲＡＭには、ＣＰＵ１１による演算結果（演算データ）が記録される。なお、メモリ２０のＲＡＭについては、後に詳述する。
【００３７】
テスタ６０は、例えば当該車両を販売した自動車販売店や整備工場において、当該車両の作動状態を検査する際に使用される。そして、テスタ６０は、接続インタフェース２８に接続されたときに、ＥＣＵ１０に対して演算データの要求を行うことによって、ＥＣＵ１０（メモリ２０）の蓄積記録領域２２（詳細は後述）に蓄積された演算データを取得する。
【００３８】
その後テスタ６０では、取得した演算データを自己のデータ記録手段６１（図２参照）に記録し、このデータを自己のディスプレイ（図示省略）に表示させる等の処理を実施する。そして、テスタ６０を操作する作業者は、この表示を確認することにより、当該車両の作動状態が正常であるか否かを判断することになる。
【００３９】
適合ツール６２は、例えば当該車両の開発段階において、ＥＣＵ１０にて良好な制御を実施させるプログラムを生成する際に使用される。この適合ツール６２は、テスタ６０と同様に接続インタフェース２８に接続されたときに、ＥＣＵ１０に対して演算データの要求を行うことによって、ＥＣＵ１０から蓄積記録領域２２に蓄積された演算データを取得する。そして、適合ツール６２では、取得した演算データに基づいて、最適な演算データが得られるための制御パラメータを設定したプログラムが作成される。なお、適合ツール６２で作成されたプログラムは、メモリ２０のＲＯＭに搭載されて、ＣＰＵ１１がより品質の向上した制御を実施するために寄与することとなる。
【００４０】
次に、ＣＰＵ１１が有する各種機能について図２を用いて説明する。
図２は、ＣＰＵ１１が実行する各種機能をブロック化して表したブロック図である。また、図２は、演算結果が記憶されるメモリ２０のＲＡＭについてもブロック化して表している。なお、図２においては各種インタフェースや車載バッテリ４０、イグナイタ５２等の記載を省略している。
【００４１】
ＣＰＵ１１は、各種センサによる検出結果を参照しつつ、メモリ２０のＲＯＭに格納されたプログラムを読み出すことにより、例えば、図２に示す要求トルク量演算部１２、実トルク量演算部１３、水温補正量演算部１４、シリンダ吸入空気量演算部１５、Ａ／Ｆ補正量演算部１６、要求スロットル開度演算部１７、要求噴射量演算部１８、およびデータ変換処理部１９としての機能を実施する。
【００４２】
ＣＰＵ１１は、後述する各種演算処理において、各演算部としての機能を用いて浮動小数点型データ（例えば３２ｂｉｔデータ）を用いた種々の演算を実施する。なお、各演算部の機能については、後述する各種演算処理において詳述するため、ここでの説明は省略する。
【００４３】
また、ＣＰＵ１１は、接続インタフェース２８を介してテスタ６０や適合ツール６２からのデータ出力要求に対して、必要なデータ、例えば蓄積記録領域２２に記録されたデータを出力するようになっている。
【００４４】
ここで、メモリ２０のＲＡＭについて図３（ａ）を用いて説明する。図３（ａ）は、メモリ２０におけるＲＡＭの構成を示す説明図である。
図３（ａ）に示すように、メモリ２０におけるＲＡＭは、その記録領域が一時記録領域２１および蓄積記録領域２２に区別されて使用される。
【００４５】
一時記録領域２１は、要求トルク量演算部１２、実トルク量演算部１３、水温補正量演算部１４、シリンダ吸入空気量演算部１５、Ａ／Ｆ補正量演算部１６としての機能を用いた演算による演算結果（演算データ）を記録するための領域として設定されている。
【００４６】
このため、ＣＰＵ１１は、上記の各演算部１２〜１６による演算結果（演算データ）を、一時記録領域２１の任意の記録領域に記録する。また、この一時記録領域２１に記録された演算データは、この一時記録領域２１に記録された直後にＣＰＵ１１によって読み出されるようＲＯＭ内のプログラムにより設定されている。
【００４７】
このため、一時記録領域２１に記録された演算データは、ＣＰＵ１１によって読み出された後では一時記録領域２１に記録しておく必要がないデータとなるので、ＣＰＵ１１はこのデータを削除または上書きして他の演算データを記録することによって、一時記録領域２１における記録領域を節約するようしている。つまり、この一時記録領域２１は、演算データを次の演算に使用されるまでの間だけ一時的に記録しておくための領域として使用される。従って、演算に用いるデータはメモリの所定領域を使いまわすようにしてメモリ領域の増加を抑制するようにできる。
【００４８】
一方、蓄積記録領域２２においては、データ変換処理部１９としての機能を用いた演算結果（演算データ）をテスタ６０や適合ツール６２等の外部装置によって読み出されるまでの間、記録するための領域として設定されている。なお、この蓄積記録領域２２は、ＥＣＵ１０への電源供給が絶たれた後でも電源が供給されデータを保持するような、いわゆるバックアップＲＡＭではなく、ＥＣＵ１０に電源が供給されている状態に時にのみデータを保持することができ、ＥＣＵ１０への電源供給が絶たれるとその内容が消失してしまう、いわゆる通常のＲＡＭ領域を想定している。
【００４９】
ここで、ＣＰＵ１１は、データ変換処理部１９による演算結果を、演算データの種別によって記録領域を定めて整数型データ（例えば１６ｂｉｔデータ）を蓄積記録領域２２に記録する。
【００５０】
具体的に、蓄積記録領域２２には、図３（ａ）に示すように、例えば、要求トルク量の記録領域（固定された記録領域であるＲＡＭ領域Ｃ（図２参照））、Ａ／Ｆ補正量の記録領域（固定された記録領域であるＲＡＭ領域Ｂ（図２参照））、実トルク量の記録領域（固定された記録領域であるＲＡＭ領域Ｄ（図２参照））等が個別に設定されており、ＣＰＵ１１は、データ変換処理部１９による演算データをそれぞれ対応する記録領域に記録させる。なお、図３（ａ）に示す例では、実トルク量の記録領域が１つ（１データ分）であるのに対して、要求トルク量およびＡ／Ｆ補正量の記録領域は３つ（３データ分）ずつ割り当てられている。
【００５１】
従って、蓄積記録領域２２には、実トルク量の演算データに関しては、最新の１データ分が常に記録され、要求トルク量およびＡ／Ｆ補正量の演算データに関しては、最新の３データ分が常に記録されることになる。つまり、このような蓄積記録領域２２の構成によれば、テスタ６０や適合ツール６２によって要求された演算データを必ず提供することができる。
【００５２】
なお、この蓄積記録領域２２には、一時記録領域２１に記録された演算データのうち、テスタ６０や適合ツール６２で必要とされる演算データ（必要とされる演算データの種別は予め設定されている。）のみが記録される。
【００５３】
このようなＲＡＭの構成では、一時記録領域２１で取り扱う演算データの種別数や１データ当たりのデータ量が、蓄積記録領域２２で取り扱う演算データの種別数や１データ当たりのデータ量よりも多いにも拘わらず、一時記録領域２１の容量は、蓄積記憶領域２２の容量よりも小さく（例えば、ＲＡＭ全体の記録領域の１／３未満）設定されている。
【００５４】
つまり、ＲＡＭにおいては、一時記録領域２１を複数種別の演算データで共有することによって、一時記録領域２１の容量を小さくし、多くの容量を蓄積記録領域２２のために使用できるようにしている。また、蓄積記録領域２２には１データ当たりのデータ量が少ない整数型データを記録することによって、多くの演算データを蓄積記録領域２２に記録することができるようにしている。
【００５５】
つまり、演算のためのデータ（一時記録領域２１で取り扱うデータ）と、読出用のデータ（蓄積記録領域２２で取り扱うデータ）とが異なるアドレスに保持されるため、演算のためのデータは浮動小数点型データとしてデータ量が多いデータであるものの、複数種別の演算データで共用するため、全ての種類のデータに対して必要なだけメモリ領域を確保する必要が無いため、結果、メモリ領域の増加を押さえられる。すなわち演算タイミング等の関係から所定サイズのメモリ領域を各演算で使いまわすようにすればよい。
【００５６】
さらに、読出用のデータはその数だけメモリ領域を必要とするものの、個々のデータは整数型データであるため、個々のデータのサイズ自身は小さくなる。例えば演算のためのデータが浮動小数点型であり、１つのデータとしては４バイトのサイズが必要である場合に、整数型にすることで２バイトのサイズで済む。従って、読出用のデータ量が増える場合でもその増加傾向は従来のように４バイト単位で増えるところを、例えばその半分の増加傾向に抑えることができる。
【００５７】
次に、ＥＣＵ１０によって実行される燃料噴射量演算処理について図４を用いて説明する。図４はＥＣＵ１０が水温補正量演算部１３、シリンダ吸入空気量演算部１５、Ａ／Ｆ補正量演算部１６、およびデータ変換処理部１９としての機能を用いて実行する燃料噴射量演算処理を示すフローチャートである。
【００５８】
燃料噴射量演算処理は、メインリレー４１がＯＮ状態にされると開始され、以下、所定の時間間隔で繰り返し実行される処理である。この燃料噴射量演算処理では、まず、シリンダ吸入空気量演算部１５としての機能を用いて、シリンダ吸入空気量演算を実行し（Ｓ１１０）、演算したシリンダ吸入空気量の演算データを一時記録領域２１に記録させる（Ｓ１２０）。
【００５９】
なお、Ｓ１１０におけるシリンダ吸入空気量演算は、エアフロメータ３４、スロットルセンサ３５、および吸気圧センサ３６による検出結果を予め設定された演算式に当てはめることによって実施される。
【００６０】
続いて、Ａ／Ｆ補正量演算部１６としての機能を用いて、Ａ／Ｆ補正量演算を実行し（Ｓ１３０）、演算したＡ／Ｆ補正量の演算データを一時記録領域２１に記録させる（Ｓ１４０）。なお、Ｓ１３０におけるＡ／Ｆ補正量演算は、Ｏ２センサ３８、およびＡ／Ｆセンサ３９による検出結果を予め設定された演算式に当てはめることによって実施される。
【００６１】
次いで、水温補正量演算部１４としての機能を用いて、水温補正量演算を実行し（Ｓ１５０）、演算した水温補正量の演算データを一時記録領域２１に記録させる（Ｓ１６０）。なお、Ｓ１５０における水温補正量演算は、水温センサ３７による検出結果を予め設定された演算式に当てはめることによって実施される。
【００６２】
続いて、要求噴射量演算部１８としての機能を用いて、一時記録領域２１に記録されたシリンダ吸入空気量、Ａ／Ｆ補正量、水温補正量の各演算データを順に取得する（Ｓ１７０〜Ｓ１９０）。そして、取得した各演算データに基づいて要求噴射量演算を実行し（Ｓ２００）、この演算結果に応じた噴射要求をインジェクタ５１に送信する（Ｓ２１０）。なお、Ｓ２００における要求噴射量演算は、取得した各演算データを予め設定された演算式に当てはめることによって実施される。
【００６３】
次いで、データ変換処理部１９としての機能を用いて、Ｓ１７０〜Ｓ１８０の処理にて取得したシリンダ吸入空気量およびＡ／Ｆ補正量の演算データ（浮動小数点型データ）を整数型データに変換する（Ｓ２２０）。そして、変換後の各演算データを蓄積記録領域２２における所定の記録領域（シリンダ吸入空気量についてはＲＡＭ領域Ａ、Ａ／Ｆ補正量についてはＲＡＭ領域Ｂ）にそれぞれ記録させる（Ｓ２３０，Ｓ２４０）。
【００６４】
なお、本実施形態におけるテスタ６０および適合ツール６２においては、水温補正量の演算データを取り扱わないことにしているため、Ｓ１７０〜Ｓ２４０の処理では、水温補正量の演算データを蓄積記録領域２２に記録する処理は実施していない。
【００６５】
続いて、一時記録領域２１の演算データのうち、要求噴射量演算に使用した演算データを消去し（Ｓ２５０）、燃料噴射量演算処理を終了する。
次に、ＥＣＵ１０によって実行されるスロットル開度演算処理について図５を用いて説明する。図５はＥＣＵ１０が要求トルク量演算部１２、実トルク量演算部１３、およびデータ変換処理部１９としての機能を用いて実行するスロットル開度演算処理を示すフローチャートである。
【００６６】
スロットル開度演算処理は、メインリレー４１がＯＮ状態にされると開始され、以下、所定の時間間隔で繰り返し実行される処理である。なお、スロットル開度演算処理においては、前述の燃料噴射量演算処理と並行して実行されてもよい。
【００６７】
スロットル開度演算処理では、まず、要求トルク量演算部１２としての機能を用いて、要求トルク量演算を実行し（Ｓ３１０）、演算した要求トルク量の演算データを一時記録領域２１に記録させる（Ｓ３２０）。なお、Ｓ１１０における要求トルク量演算は、アクセルポジションセンサ３１、およびクランク角センサ３２による検出結果を予め設定された演算式に当てはめることによって実施される。
【００６８】
続いて、実トルク量演算部１３としての機能を用いて、実トルク量演算を実行し（Ｓ３３０）、演算した実トルク量の演算データを一時記録領域２１に記録させる（Ｓ３４０）。なお、Ｓ３３０における実トルク量演算は、クランク角センサ３２、エアフロメータ３４、およびスロットルセンサ３５による検出結果を予め設定された演算式に当てはめることによって実施される。
【００６９】
続いて、要求スロットル開度演算部１７としての機能を用いて、一時記録領域２１に記録された要求トルク量および実トルク量の各演算データを順に取得する（Ｓ３５０〜Ｓ３６０）。そして、取得した各演算データに基づいて要求スロットル開度演算を実行し（Ｓ３７０）、この演算結果に応じたスロットル開度要求をスロットル５３に送信する（Ｓ３８０）。なお、Ｓ３７０における要求噴射量演算は、取得した各演算データを予め設定された演算式に当てはめることによって実施される。
【００７０】
次いで、データ変換処理部１９としての機能を用いて、Ｓ３５０〜Ｓ３６０の処理にて取得した要求トルク量および実トルク量の各演算データを整数型データに変換する（Ｓ３９０）。そして、変換後の各演算データを蓄積記録領域２２における所定の記録領域（要求トルク量についてはＲＡＭ領域Ｃ、実トルク量についてはＲＡＭ領域Ｄ）にそれぞれ記録させる（Ｓ４００，Ｓ４１０）。
【００７１】
続いて、一時記録領域２１の演算データのうち、スロットル開度演算に使用した演算データを消去し（Ｓ４２０）、燃料噴射量演算処理を終了する。
次に、ＥＣＵ１０からテスタ６０や適合ツール６２に対して、蓄積記録領域２２に記録された演算データを送信する処理について図６（ａ）を用いて説明する。図６（ａ）は、ＣＰＵ１１が実行する送信処理を示すフローチャートである。
【００７２】
この送信処理は、ＣＰＵ１１が接続インタフェース２８に接続されたテスタ６０または適合ツール６２から演算データを要求する信号を受信すると開始する処理であって、まず、要求された演算データに応じて蓄積記録領域２２の所定の記録領域（例えば、要求された演算データが要求トルク量であればＲＡＭ領域Ｃ）から演算データを取得する（Ｓ５１０）。そして、取得した演算データを外部（テスタ６０や適合ツール６２）に送信し（Ｓ５２０）、送信処理を終了する。
【００７３】
一方、テスタ６０においては、図６（ｂ）に示すような処理が実行される。図６（ｂ）は、テスタ６０に搭載された処理部（ＣＰＵ、図示は省略）が実行するテスタ処理を示すフローチャートである。
【００７４】
テスタ処理は、テスタ６０が接続インタフェース２８に接続された状態で、テスタ６０を操作する作業者によって演算データを取得する旨が操作部（図示省略）を介して入力された際に開始される処理であって、まず、ＥＣＵ１０に対して演算データを要求し、ＥＣＵ１０からの演算データを受信する（Ｓ６１０）。なお、ＥＣＵ１０では、Ｓ６１０の処理の間に、前述の送信処理が実施される。
【００７５】
続いて、受信した演算データをテスタ６０の記録領域に記録する（Ｓ６２０）。そして、取得した演算データの値をテスタ６０のディスプレイ（図示省略）に表示させ（Ｓ６３０）、テスタ処理を終了する。
【００７６】
また、適合ツール６２においては、前述のテスタ６０によるテスタ処理とほぼ同様の処理が実施される。ただし、適合ツール６２においては、演算データをディスプレイに表示する処理（Ｓ６３０）に換えて、最適なプログラムを生成する処理が実施される。
【００７７】
以上のように詳述したＥＣＵ１０は、車両制御を実施する装置であって、所定のデータを一時的に記録する一時記録領域２１と、テスタ６０や適合ツール６２等の外部装置によって読み出し可能に所定のデータとは１データ当たりのデータ量が異なる演算データを蓄積して記録する蓄積記録領域２２と、を備えている。そして、ＥＣＵ１０のＣＰＵ１１は、各種演算処理（本実施形態では燃料噴射量演算処理およびスロットル開度演算処理）にて、当該車両における各種状態を検出する各種センサ３１〜３９による検出結果に基づく演算を実施し、この演算データを一時記録領域２１に記録させる。
【００７８】
さらに、ＣＰＵ１１は、一時記録領域２１に記録された演算データに基づく演算を実施し、演算結果に応じた制御指令をスロットル５３やインジェクタ５１等の被制御対象に対して送信する。また、ＣＰＵ１１は、演算データのデータ量を減少させるデータ変換を行い、データ変換後の演算データを蓄積記録領域２２に記録させる。
【００７９】
従って、このようなＥＣＵ１０によれば、ＥＣＵ１０ではデータ量を減少させる前の演算データ（一時記録領域２１に記録された演算データ）を使用して演算を実施することができるので、ＥＣＵ１０による演算の精度が悪化することを防止することができる。
【００８０】
また、蓄積記録領域２２にはデータ量を減少させて演算データを記録するので、蓄積記録領域２２を大容量化することなく多くの演算データを蓄積することができる。さらに、各種演算処理では一時記録領域２１に記録された演算データ、つまり、データ変換前のデータ量が減少していない演算データを用いて演算を実施し、この演算に応じた制御指令をスロットル５３やインジェクタ５１等の被制御対象に送信するので、被制御対象を高精度に制御することができる。
【００８１】
また、ＥＣＵ１０において、ＣＰＵ１１は、一時記録領域２１に対して浮動小数点型データを記録し、蓄積記録領域２２に対して整数型データを記録する。一般的に、浮動小数点型データには、演算精度が高く、データ量が多いという特徴があり、整数型データには、演算精度が低く、データ量が少ないという特徴がある。
【００８２】
従って、このようなＥＣＵ１０によれば、一時記録領域２１には浮動小数点型データを記録するので、このデータを用いて演算を実施するＥＣＵ１０にて、高精度な演算を実施することができる。また、蓄積記録領域２２には整数型データを記録するので、より多くのデータを蓄積することができる。
【００８３】
さらに、ＥＣＵ１０において、ＣＰＵ１１は、一時記録領域２１に演算データを記録する際には演算データの種別によって記録領域を指定することなく記録を実施し、蓄積記録領域２２に演算データを記録する際には演算データの種別によって記録領域を指定して記録を実施する。
【００８４】
従って、このようなＥＣＵ１０によれば、一時記録領域２１へは記録領域を指定しないで演算データの記録を実施するので、複数種別の演算データに一時記録領域２１の記録領域を共有させることによって、一時記録領域２１の記録領域を有効に活用することができる。よって、一時記録領域２１の容量を大きくすることなく、複数種別の演算データを一時記録領域２１に記録することができる。
【００８５】
また、蓄積記録領域２２へは演算データの種別毎に記録領域を指定して演算データの記録を実施するので、外部装置が蓄積記録領域２２に記録された演算データを呼び出す際に、記録領域を指定することにより演算データの種別の特定を容易に行うことができる。
【００８６】
なお、本発明の実施の形態は、上記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
例えば、本実施形態においてＣＰＵ１１は、一時記録領域２１に記録された演算データを演算データ使用後に削除するようにしたが、削除しなくても、周知のＦＩＦＯ方式で一時記録領域２１を使用するようにしてもよい。
【００８７】
また、ＣＰＵ１１がデータ変換処理部１９としての機能を実施する際には、演算データ１データ当たりのデータ量が少なくなれば、本実施形態のように浮動小数点型データを整数型データに変換する必要はない。具体的には、ＣＰＵ１１は６４ｂｉｔの浮動小数点データを３２ｂｉｔの浮動小数点型データに変換するようにしてもよいし、１６ｂｉｔの整数型データを８ｂｉｔの整数型データに変換するようにしてもよい。
【００８８】
さらに、本実施形態においては、一時記録領域２１と蓄積記録領域２２とが物理的に一体のＲＡＭで構成されているように説明したが、上記各記録領域２１，２２は、物理的に別々のＲＡＭ等のメモリとして構成されていてもよい。さらには、蓄積記録領域２２はバックアップＲＡＭのような、ＥＣＵ１０の作動とは独立してデータを保持可能なメモリであっても良い。この場合でも、バックアップＲＡＭ領域でのデータサイズを演算に用いる生データよりも小さくできるため、ＲＡＭのサイズを必要以上に増大させることがないため好ましい。ただし、本実施形態は、上述のように、特に通常のＲＡＭ領域を、演算用ならびに外部からのデータ読出用として用いる場合に有効である。
【００８９】
また、本実施形態においては、メインリレー４１がＯＮ状態にされたことをトリガとして燃料噴射量演算処理やスロットル開度演算処理を開始するようにしたが、これらの処理を開始するトリガとしては、イグニッションスイッチ４２がＯＮ状態にされたこと等、エンジンを始動しようとしていることを検出できるものであればどのようなものであってもよい。
【００９０】
さらに、本実施形態においては、テスタ６０や適合ツール６２は、ＥＣＵ１０から演算データを取得する際に、ＥＣＵ１０に対して演算データを要求し、ＥＣＵ１０がこの要求を受けて演算データを送信するようにしたが、例えば、テスタ６０や適合ツール６２がＥＣＵ１０の蓄積記録領域２２に直接アクセスを行い、演算データを取得するようにしてもよい。
【００９１】
加えて、本実施形態においては、一時記録領域２１に演算データを記録する処理（以下、記録処理という。）、一時記録領域２１に記録された演算データを使用した演算を実施する処理（以下、使用演算処理という。）、および演算データを蓄積記録領域２２に記録する処理を連続的に実施するようにしたが、記録処理のうち、少なくとも一部の処理は、使用演算処理とは異なる演算周期で実施されていてもよい。
【００９２】
ここで、例えば、記録処理の一部の処理（例えば、スロットル開度演算処理（図６）の要求トルク量を演算する処理（Ｓ３１０〜Ｓ３２０））の演算周期が、使用演算処理（要求スロットル開度演算（Ｓ３７０））の演算周期よりも長い場合には、使用演算処理にて一時記録領域２１の演算データを読み出す前に、演算データが上書きされて削除されてしまう虞がある。
【００９３】
従って、記録処理の一部の処理の演算周期が、使用演算処理の演算周期よりも長い場合には、例えば図３（ｂ）に示すように、一時記録領域２１を使用すればよい。即ち、演算周期が長い記録処理による演算データ（図３（ｂ）では要求トルク量の演算データ）については、蓄積記録領域２２と同様に、演算データの種別によって記録領域を固定する。このようにしておけば、演算周期が長い記録処理による演算データが他の種別の演算データによって上書きされることを防止することができる。
【００９４】
なお、使用演算処理と演算周期が同じか使用演算処理よりも演算周期が短い記録処理による演算データについては、記録処理の直後に使用演算処理を実施することにより、上記実施形態と同様の手法を用いて一時記録領域２１に演算データを記録することができる。
【図面の簡単な説明】
【００９５】
【図１】エンジン制御装置１０と各種装置との接続関係を模式的に示すブロック図である。
【図２】ＣＰＵ１１が実行する各種機能をブロック化して表したブロック図である。
【図３】メモリ２０におけるＲＡＭの構成を示す説明図である。
【図４】燃料噴射量演算処理を示すフローチャートである。
【図５】スロットル開度演算処理を示すフローチャートである。
【図６】送信処理を示すフローチャート（ａ）、およびテスタ処理を示すフローチャート（ｂ）である。
【符号の説明】
【００９６】
１０…エンジン制御装置、１１…ＣＰＵ、１２…要求トルク量演算部、１３…実トルク量演算部、１３…水温補正量演算部、１４…水温補正量演算部、１５…シリンダ吸入空気量演算部、１６…Ａ／Ｆ補正量演算部、１７…要求スロットル開度演算部、１８…要求噴射量演算部、１９…データ変換処理部、２０…メモリ、２１…一時記録領域、２２…蓄積記録領域、２６…入力インタフェース、２７…出力インタフェース、２８…接続インタフェース、３１…アクセルポジションセンサ、３２…クランク角センサ、３３…カム角センサ、３４…エアフロメータ、３５…スロットルセンサ、３６…吸気圧センサ、３７…水温センサ、３８…Ｏ２センサ、３９…Ａ／Ｆセンサ、４０…車載バッテリ、４１…メインリレー、４２…イグニッションスイッチ、５１…インジェクタ、５２…イグナイタ、５３…スロットル、６０…テスタ、６１…データ記録手段、６２…適合ツール。
【図１】
2008184913.tif 000003
【図２】
2008184913.tif 000004
【図３】
2008184913.tif 000005
【図４】
2008184913.tif 000006
【図５】
2008184913.tif 000007
【図６】
2008184913.tif 000008