AD変換制御装置及び車両制御装置
【課題】 AD変換の処理遅延を低減させたAD変換制御装置を提供する。
【解決手段】 AD変換器11の起動セットを行ってからAD変換器11の起動が行われるまで、既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求があると、AD変換要求のあった複数のチャネルについてのAD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、AD変換器11の起動セットを再度行うCPU13を有している。
【解決手段】 AD変換器11の起動セットを行ってからAD変換器11の起動が行われるまで、既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求があると、AD変換要求のあった複数のチャネルについてのAD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、AD変換器11の起動セットを再度行うCPU13を有している。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のチャネルから入力されるアナログ信号を、チャネルを切り替えながらAD変換を行うことが可能なAD変換器を制御して、ディジタル信号の取得を行うAD変換制御装置に関する。
【背景技術】
【0002】
複数の入力チャネルを備えるAD変換器は、例えば、車両のエンジンを制御するマイコンに搭載されている。エンジンを制御するマイコンでは、エンジン等の状態を測定するセンサからのアナログ信号をAD変換器でデジタル信号に変換して取り込み、制御対象の機器を制御する制御信号を生成している。
例えば、エンジンを制御するマイコンは、A/F(空燃比)センサヒータ(以下、AFHTと呼ぶ)の通電中にAD変換器を起動して、AFHTによって測定された電流電圧値をデジタル信号に変換している。また、マイコンは、エンジンのクランク軸の回転角度(クランク角度)が所定角度となるタイミングをノックセンサの出力するピークホールド電圧(以下、P/H電圧と表記する)を入力して求めている。ノックセンサの出力するP/H電圧もアナログ信号であるので、AD変換器でAD変換され、マイコンでノッキング判定に用いられている。
【0003】
しかしながら、複数の入力チャネルを備えるAD変換器には、以下のような問題があった。AD変換器は、一方のセンサ信号(このセンサ信号をAと呼ぶ)のAD変換を実施中に、他方のセンサ信号(このセンサ信号をBと呼ぶ)のAD変換のための起動要求が出されても、センサ信号AのAD変換中であるためセンサ信号Bの処理のための起動要求に応答することができない。このため、センサ信号BのAD変換は、センサ信号AのAD変換が終了し、AD変換器が再度起動してからとなる。従って、センサ信号Bの信号処理に遅延が生じ、所望の時刻までに処理を完了することができない問題が生じる。
【0004】
このような問題を回避する方法として、AD変換器を複数設けることが考えられるが、装置コストが高くなってしまうという問題がある。また、AD変換器を制御するソフトウェアも複数必要になる。
【0005】
特許文献1では、入力される信号に優先順位を設定して、優先順位の低い信号のAD変換中に、優先順位の高い信号の処理要求があると、優先順位の低い信号のAD変換を中断して優先順位の高い信号のAD変換を行う。また、優先順位の高い信号の処理が終了すると、中断していた優先順位の低い信号の処理をやり直す。
【0006】
特許文献2も同様に、同種類の2つの信号の処理タイミングが重なった場合に、優先順位の低い信号の処理を中断して優先順位の高い信号の処理を行うが、さらに優先順位の高い信号でのAD変換値を、優先順位の低い信号のAD変換値として流用する技術が記載されている。
【0007】
【特許文献1】特開平6−324811号公報
【特許文献2】特開2004−19458号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1の開示技術をソフトウェア制御によって行う場合、AD変換の中断、起動、再起動といった処理を遅延なく行わなければならず、AD変換器を制御するための処理負荷が非常に大きくなる。
【0009】
また、特許文献2の開示技術は、同一種類の信号にのみ適用できる技術であって、同一種類ではない信号に適用した場合に、代用したAD変換値を用いた制御に影響が出てしまう。
【0010】
本発明は上記事情に鑑みてなされたものであり、AD変換の処理遅延を低減させたAD変換制御装置及び車両制御装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
かかる目的を達成するために本発明のAD変換制御装置は、複数のチャネルから入力されるアナログ信号を、チャネルを切り替えながらAD変換を行うことが可能なAD変換器を制御して、ディジタル信号の取得を行うAD変換制御装置であって、複数のチャネルのうち少なくとも2つのチャネルについては、時間とは非同期のタイミングでAD変換の要求があるとともに、前記AD変換器は非同期のタイミングで起動されると、前記非同期のタイミングでAD変換の要求の可能性がある、複数のチャネルについてのAD変換を連続して行うものであり、前記非同期のタイミングでAD変換の要求があると、AD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、前記AD変換器の起動セットを行うAD起動セット手段と、
前記AD起動セット手段でセットされた時間になると、前記AD変換器の起動を行うAD起動手段と、前記AD変換器からAD変換の完了通知があると、要求のあったチャネルについてのAD変換されたディジタル信号の取得を行う信号取得手段と、を備え、前記AD起動セット手段は、前記AD変換器の起動セットを行ってから前記AD起動手段による前記AD変換器の起動が行われるまで、既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求があると、該AD変換要求のあった複数のチャネルについてのAD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、前記AD変換器の起動セットを再度行う構成を備えている。
従って、1回のAD変換器の起動で、複数チャネルのセンサ信号を連続して処理することができる。このため、AD変換の処理遅延を低減させることができる。
【0012】
上記AD変換制御装置において、前記AD起動セット手段は、前記既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求がないと判定すると、前記既にセットしたチャネルについてのAD変換を前記AD変換器の起動セットを再度行うことなく実施するとよい。
【0013】
上記AD変換制御装置において、前記所定時間は、前記AD変換器の起動に要する時間と、前記既にセットしたチャネルのAD変換に要する時間と、前記既にセットしたチャネルとは異なるチャネルでのAD変換に要する時間とを考慮した時間であるとよい。
【0014】
本発明のAD変換制御装置は、複数のチャネルに入力されるアナログ信号を、チャネルを切り替えながら連続してAD変換を行うAD変換器を制御して、ディジタル信号の取得を行うAD変換制御装置であって、現在時刻と、前記複数のチャネルのAD変換に要する処理時間とに基づいて、前記複数のチャネルのAD変換完了タイミングを判定する判定手段と、前記複数のチャネルのAD変換完了タイミングとなると、前記AD変換器にAD変換値の取得を要求する要求手段とを有する構成を備えている。
【0015】
本発明の車両制御装置は、請求項1から3のいずれか一項記載のAD変換制御装置と、時間とは非同期のタイミングで入力される、エンジンのクランク角を測定するセンサからのセンサ信号と、所定時間ごとに入力される、時間に同期したセンサ信号とを入力し、前記AD変換制御装置の制御に従って起動して前記センサ信号をAD変換し、AD変換したディジタル変換値を前記AD変換制御装置に出力するAD変換器と、を有する構成を備えている。
【発明の効果】
【0016】
本発明によれば、AD変換の処理遅延を低減させることができる。
【発明を実施するための最良の形態】
【0017】
添付図面を参照しながら本実施例の最良の実施例を説明する。
【実施例1】
【0018】
図1には、本発明をエンジンの制御装置(以下、エンジン制御装置と呼ぶ)に適用した実施例の構成を示す。なお、この実施例では、エンジン制御装置を例に説明するが、本発明はエンジン制御装置に限定されるものではなく、車両に搭載される制御装置であれば適用可能である。
図1に示すエンジン制御装置1は、エンジンの運転状態を検出するための各種センサからの信号を入力する入力回路2と、エンジンを制御するための各種処理を行うマイクロコンピュータ(以下、マイコンという)3と、マイコン3から出力される信号を車両に搭載された各種装置に出力する出力回路4とを有している。
マイコン3内には、マルチプレクサ(MPX)10と、AD変換器11と、AD変換器11のインターフェース12と、CPU13と、ROM14と、RAM15と、スタンバイRAM(以下、SRAMと略記する)16と、出力ポート17とが設けられている。なお、SRAM16とは、イグニッションキーがオフされているときも電源が供給され、記憶した情報が消去されない記憶装置である。
【0019】
入力回路2は、AFHT21の電流電圧値(以下、単に電流電圧値という)、エンジンのクランク軸の回転角度(以下、クランク角度という)が所定角度となるタイミングで取得される、ノックセンサ22のピークホールド電圧(以下、P/H値と略記する)や、その他アナログセンサ23によって測定されたセンサ信号等を入力して、マイコン3に出力する。
【0020】
マイコン3は、入力回路2に入力した電流電圧値、P/H値やセンサ信号等のアナログ信号を、マルチプレクサ10を介して選択的に入力する。
マルチプレクサ10は、入力回路2に入力される多数の信号を1つずつ選択してAD変換器11に出力する。
【0021】
AD変換器11は、複数の入力チャネルを有しており、各チャネルにセンサ(AFHT21、ノックセンサ22、アナログセンサ23等)からのアナログ信号がそれぞれ入力されるようになっている。AD変換器11は、CPU13からの起動要求をインターフェース12を介して受信すると起動し、起動要求を受信するまでの間にマルチプレクサ10に入力済みのセンサ信号をAD変換する。すなわち、各チャネルに入力済みのセンサ信号を順次AD変換していく。センサ信号を入力しているすべてのチャネルのセンサ値のAD変換が終了すると、AD変換器11は処理を停止し、CPU13からの再度の起動要求を待機する状態となる。
【0022】
ROM14には、マイコンによる制御処理を実現するためのプログラムが格納されている。CPU13は、ROM14に格納されたプログラムを読み込んで制御処理を実行する。また、RAM15には、CPU13の演算に使用するデータや、演算途中のデータなどが一時的に保存される。
マイコン3は起動すると、ROM14に格納されたプログラムをCPU13に読み込んで、CPU13によるプログラム処理を実行する。このプログラム処理により、本発明のAD起動セット手段、AD起動手段と、信号取得手段とが実現される。また、このプログラム処理中に様々な制御データが学習され、これらの学習によって得られた制御データはSRAM16に保存され、その後の制御処理に利用される。
【0023】
CPU13は、AFHT21の通電中は一定周期(例えば、40.96ms周期)でAFHT21の電流電圧値を取得する(以下、時間同期のAD変換処理と呼ぶ)。なお、この一定周期は変更可能であるので、時間非同期のAD変換処理に含まれる。また、CPU13は、エンジンのクランク軸の回転角度(クランク角度)が所定角度となるタイミングをクランク角センサで測定し、この所定角度のときのノックセンサ22のピークホールド電圧(P/H値)を取得して、ノッキング判定に利用している。このP/H値もクランク角度が所定角度となるタイミングのため時間とは非同期タイミングとなる。なお、時間非同期のAD変換処理とは、例えば、エンジのクランク角に同期して行われる、時間とは非同期のD変換処理をいう。また、時間同期のAD変換処理とは、時間に同期して所定周期で行われるAD変換処理をいう。
【0024】
CPU13は、AFHT21の電流電圧値を取得するために、所定時間ごとにAFHT21に電流電圧値の取得を要求する。また、CPU13は、エンジンのクランク角度が所定角度となるタイミングで、ノックセンサ22にP/H値の取得要求を出力する。なお、図1には、CPU13がAFHT21やノックセンサ22にセンサ信号の取得要求を出力する信号線の図示は省略する。
【0025】
CPU13は、既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求があると、AD変換要求のあった複数のチャネルについてのAD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、AD変換器11の起動セットを再度行う。
このため、CPU13はAFHT21に電流電圧値の取得要求を出力すると、本来AD変換器11を起動すべきタイミングから所定時間経過後にAD変換器11に起動要求を出力し、AD変換器11を起動して電流電圧値をデジタル信号に変換する。この所定時間は、予め設定された待機時間αに遅延時間βを加算した時間となる。以下に、待機時間αと遅延時間βについて説明する。
AFHT21の電流電圧値や、ノックセンサ22のP/H値は意図したタイミングよりも早くAD変換器11を起動してAD変換を実施すると、所望の値を得ることができない。このため、待機時間αを設けている。
また、待機時間αを経過してAD変換器11が起動した後に入力回路2に入力した他のセンサからのセンサ信号(例えば、非同期タイミングで入力されるノックセンサ22のP/H値)は、実行中のAD変換が終了し、AD変換器11を一旦停止させてから再度起動しないとAD変換が実行できない。
そこで、遅延時間βを設けてAD変換器11の起動を待機時間αからさらに遅延時間βだけ送らせることで、AD変換中に入力したセンサ信号に対する処理の遅延を防止している。
【0026】
遅延時間βは、AD変換器5の起動にかかる時間(AD起動時間)と、各センサ値のAD変換にかかる処理時間とを加算した時間である。
遅延時間β=AD起動時間+AD変換時間(AFHT21のセンサ値)+AD変換時間(ノックセンサ22のP/H値)・・・(1)
また、AFHT21のセンサ値に対するAD取得要求があった後に、エンジン回転数等の条件によりノックセンサ22のP/H値を利用しない(AD変換の必要がない)と判定した場合には、遅延時間βにノックセンサ22のP/H値のAD変換時間は加えない。
遅延時間β=AD起動時間+AD変換時間(AFHT21のセンサ値)・・・(2)
さらに、ノックセンサ22のP/H値に対するAD取得要求があった後に、AFHT21のセンサ値を使用しないと判定した場合には、遅延時間βにAFHT21のセンサ値に対するAD変換時間は加えない。
遅延時間β=AD起動時間+AD変換時間(ノックセンサ22のP/H値)・・・(3)
【0027】
図2には、AFHT21の電流電圧値のAD変換タイミングと、ノックセンサ22のP/H値のAD変換タイミングとが重複しなかなった場合のCPU13の処理例を示す。
CPU13は、AFHT21に電流電圧値の取得要求(図2に示すタイミング(a))を出力すると、本来AD変換器11を起動すべきタイミングから設定時間αと遅延時間βを経過した後に、AD変換器11に起動要求(図2に示すタイミング(b))を出力する。AD変換器11は、起動すると電流電圧値のAD変換を開始する。
この時の遅延時間βは、上述した式(2)のAD起動時間+AD変換時間(AFHT21のセンサ値)である。
同様に、CPU13は、ノックセンサ22にP/H値の取得要求(図2に示すタイミング(c))を出力すると、設定時間αと遅延時間βとを経過した後にAD変換器11に起動要求を出力する(図2に示すタイミング(d))。
この場合の遅延時間βは、上述した式(3)のAD起動時間+AD変換時間(ノックセンサ22のP/H値)である。
AD変換器11は、AD変換が終了すると、CPU13にAD変換の終了を通知する割込み信号(以下、AD完了割込みという)を出力し、処理を終了する。
【0028】
図3は、AFHT21に電流電圧値の取得要求を出力して待機時間α+遅延時間βを待機している間に、ノックセンサ22のP/H値をAD変換するタイミングとなった場合のCPU13の処理例を示している。
まず、CPU13は、ノックセンサ22のP/H値をAD変換するためにAD変換器11を起動するタイミングが、AFHT21の電流電圧値をAD変換している期間に重なるか否かを判定する。ノックセンサ22のP/H値に対してAD変換器11を起動するタイミングが、AFHT21の電流電圧値をAD変換している期間に重なる場合には、CPU13は、遅延時間βとしてAD起動時間とAD変換時間(AFHT21のセンサ値)とAD変換時間(ノックセンサ22のP/H値)とを加算した時間を設定する。
図3に示すようにノックセンサ22にP/H値の取得要求を出力してから(図3に示すタイミング(c))、待機時間αだけ待機した時刻(図3に示すタイミング(d))が、図3に示すAFHT21に対する待機時間α+遅延時間βよりも前であれば、CPU13は上述した遅延時間βを設定する。
この後、CPU13は、図3に示すようにAFHT21に電流電圧値の取得要求を出力し(図3に示すタイミング(a))、待機時間αと遅延時間βとを加算した時間だけAD変換器11の起動を待機する。待機時間αと遅延時間βを加算した時間だけ経過すると、CPU13はAD変換器11の起動要求を出力する(図3に示すタイミング(b))
このように遅延時間βを設けて、AD変換器11の起動を遅らせることで、AFHT21の電流電圧値とノックセンサ22のP/H値とを連続してAD変換することができる。従って、AD変換中に入力したセンサ信号に対する処理の遅延を防止することができる。
【0029】
図4は、図3とは逆に、ノックセンサ22にP/H値の取得要求を出力して待機時間αと遅延時間βとを加算した時間だけAD変換器11の起動を待機している間に、AFHT21の電流電圧値をAD変換するタイミングとなった場合のCPU13の処理例を示している。
まず、CPU13は、AFHT21の電流電圧値をAD変換するタイミングがノックセンサ22のP/H値をAD変換している期間に重なるか否かを判定する。AFHT21の電流電圧値をAD変換するタイミングがノックセンサ22のP/H値をAD変換している期間に重なる場合には、CPU13は、遅延時間βとしてAD起動時間とAD変換時間(ノックセンサ22のP/H値)とAD変換時間(AFHT21のセンサ値)とを加算した時間を設定する。
図4に示すようにAFHT21に電流電圧値の取得要求を出力してから(図4に示すタイミング(c))、待機時間αだけ待機した時刻(図4に示すタイミング(d))が、図4に示すノックセンサ22に対する待機時間α+遅延時間βよりも前であれば、CPU13は上述した遅延時間βを設定する。
この後、CPU13は、図4に示すようにノックセンサ22にP/H値の取得要求を出力すると(図4に示すタイミング(a))、待機時間αと遅延時間βだけAD変換器11の起動を待機する。待機時間αと遅延時間βとを加算した時間を経過すると、CPU13はAD変換器11の起動要求を出力する(図4に示すタイミング(b))
【0030】
ここで、遅延時間βの設定について説明する。
本実施例は、センサ(このセンサをセンサAと呼ぶ)にセンサ値の取得要求を出力してから、AD変換器11を起動させるまでの間に、他方のセンサ(このセンサをセンサBと呼ぶ)のセンサ値取得要求が出力される場合に、AD変換器11の起動時間を遅延させて、センサAとセンサBの2つのセンサ値を連続してAD変換するものである。
しかし、図5に示すように、AD変換器11の起動後に、センサBのセンサ値取得要求が出される場合には、センサBのセンサ値に対するAD変換は、センサAのAD変換が終了した後に行われる。
遅延時間βは、センサAにセンサ値取得要求を出してからAD変換器11を起動するまでの間に、センサBにセンサ値の取得要求があったことを判断するために用いられる時間である。
【0031】
次に、図6に示すフローチャートを参照しながら、CPU13がAFHT21の電流電圧値をAD変換するためのAD変換器11の起動タイミングを算出する手順を説明する。
CPU13は、まず、AFHT21にセンサ値の取得要求を出力するタイミングを算出する(ステップS1)。次に、CPU13は、ノックセンサ22のP/H値に対するAD変換器11の起動タイミングが、AFHT21のセンサ値のAD変換中に重複するか否かを判定する(ステップS2)。P/H値に対するAD変換器11の起動タイミングが、AFHT21のセンサ値のAD変換中に重複する場合(ステップS2/YES)、CPU13は遅延時間βとして、AD変換器11の起動にかかる時間(AD起動時間)と、AFHT21のセンサ値のAD変換にかかる時間と、ノックセンサ22のP/H値のAD変換にかかる時間とを加算した値を設定する(ステップS3)。
また、P/H値の使用条件が成立しない場合には(ステップS2/NO)、CPU13は遅延時間βとして、AD起動時間と、AFHT21のセンサ値のAD変換にかかる時間とを加算した値を設定する(ステップS4)。
CPU13は、待機時間αと、遅延時間βとを加算した時間を遅延トリガセット時刻としてCPU13のレジスタに書き込み、処理を終了する(ステップS5)。
以後、レジスタに書き込まれた遅延トリガセット時刻となると、割込み信号が発生してソフトウェアが起動し、AD変換器11に起動要求を出力する。
【0032】
次に、図7に示すフローチャートを参照しながら、CPU13がノックセンサ22のP/H値をAD変換するためのAD変換器11の起動タイミングを算出する手順を説明する。
CPU13は、まず、ノックセンサ22にP/H値の取得を要求する取得タイミングを算出する(ステップS11)。次に、CPU13は、AFHT21のセンサ値に対するAD変換器11の起動タイミングが、ノックセンサ22のP/H値のAD変換中に重複するか否かを判定する(ステップS12)。
AFHT21のセンサ値に対するAD変換器11の起動タイミングが、ノックセンサ22のP/H値のAD変換中に重複する場合(ステップS12/YES)、CPU13は、待機時間βとして、AD変換器11の起動にかかる時間(AD起動時間)と、ノックセンサ22のP/H値のAD変換にかかる時間と、AFHT21のセンサ値のAD変換にかかる時間とを加算した値を設定する(ステップS13)。
また、P/H値の使用条件が成立しない場合には(ステップS12/NO)、CPU13は待機時間βとして、AD起動時間と、ノックセンサ22のP/H値のAD変換にかかる時間とを加算した値を設定する(ステップS14)。
CPU13は、待機時間αと、遅延時間βとを加算した時間を遅延トリガセット時刻としてCPU13のレジスタに書き込み、処理を終了する(ステップS15)。
以後、レジスタに書き込まれた遅延トリガセット時刻となると、割込み信号が発生してソフトウェアが起動し、AD変換器11に起動要求を出力する。
【0033】
次に、図8に示すフローチャートを参照しながらAD変換器11を起動するときのCPU13の処理手順を説明する。
遅延トリガセット時刻となると割込み信号が発生して(ステップS21/YES)、CPU13はソフト処理により以下の処理を実行する。
CPU13は、AFHT21のセンサ値に対するAD変換器11の起動タイミングであると判定すると(ステップS22/YES)、AD変換器11の起動要求をRAM15に記憶し(ステップS23)、AD変換器11が起動中であるか否かを判定する(ステップS25)。CPU13はRAM15の記録情報を参照してAD変換器11が起動中であるか否かを判定する。
AD変換器11が起動中ではなかった場合には(ステップS25/NO)、AD変換器11に起動要求を出力し、AD変換器11が起動中であることをRAM15に記録する(ステップS26)。このときCPU13は、ノックセンサ22のP/H値に対するAD変換器11の起動タイミングが、AFHT21のセンサ値のAD変換中に重複する場合には、AD変換器11にAFHT21のセンサ値と、ノックセンサ22のP/H値とのAD変換を指示する。
また、CPU13は、ノックセンサ22のP/H値に対するAD変換器11の起動タイミングが、AFHT21のセンサ値のAD変換中に重複しない場合には、AD変換器11にAFHT21のセンサ値のAD変換を指示する。
【0034】
また、AFHTのセンサ値に対するAD変換器11の起動タイミングではないと判定すると(ステップS22/NO)、CPU13は、ノックセンサ22のP/H値に対するAD変換器11の起動タイミングであるか否かを判定する(ステップS24)。ノックセンサ22のP/H値に対するAD変換器11の起動タイミングであると判定すると(ステップS24/YES)、CPU13はAD変換器11の起動要求をRAM15に記憶し(ステップS23)、AD変換器11が起動中であるか否かを判定する(ステップS25)。CPU13はRAM15の記録情報を参照してAD変換器11が起動中であるか否かを判定する。
AD変換器11が起動中ではなかった場合には(ステップS25/NO)、AD変換器11に起動要求を出力し、AD変換器11が起動中であることをRAM15に記録する(ステップS26)。このときCPU13は、AFHT21のセンサ値に対するAD変換器11の起動タイミングが、ノックセンサ22のセンサ値のAD変換中に重複する場合には、AD変換器11にAFHT21のセンサ値と、ノックセンサ22のP/H値とのAD変換を指示する。また、CPU13は、AFHT21のセンサ値に対するAD変換器11の起動タイミングが、ノックセンサ22のセンサ値のAD変換中に重複しない場合には、AD変換器11にノックセンサ22のP/H値のAD変換を指示する。
【0035】
また、AFHT21やノックセンサ22のセンサ値に対するAD変換器11の起動タイミングではないと判定すると(ステップS24/NO)、この処理を終了する。
【0036】
次に、図9に示すフローチャートを参照しながら、AD変換器11の処理手順を説明する。
AD変換器11は、AFHT21のセンサ値を入力したチャネルのAD変換要求をCPU13から受け付けている場合(ステップS31/YES)、該当チャネルに対するAD変換が終了しているか否かを判定する(ステップS32)。該当チャネルのAD変換が終了した場合には(ステップS32/YES)、AD変換器11はAFHT21のセンサ値に対するAD変換の完了をCPU13に通知する(ステップS33)。
また、AD変換器11は、ノックセンサ22のP/H値を入力したチャネルのAD変換要求をCPU13から受け付けている場合(ステップS34/YES)、該当チャネルに対するAD変換が終了しているか否かを判定する(ステップS35)。該当チャネルのAD変換が終了した場合には(ステップS35/YES)、AD変換器11はノックセンサ22のP/H値に対するAD変換の完了をCPU13に通知する(ステップS36)。
【実施例2】
【0037】
添付図面を参照しながら本発明の第2実施例を説明する。
本実施例は、AD変換器11に、複数の入力チャネルで連続してAD変換を実施させる。
例えば、図10に示すようにAD変換器11の入力チャネルがチャネル0からチャネル3までの4チャネルを有していた場合、AD変換器11はチャネル0から順にセンサ信号が入力されているか否かを判定し、入力されているチャネルのセンサ信号をAD変換する。チャネル0からチャネル3までのすべてのチャネルに対する処理を終了すると、最初のチャネル0に戻り、チャネル0からチャネル3までのAD変換を行う。
【0038】
CPU13は、AD変換器11が複数チャネルのセンサ信号をAD変換中であるか否かを判定する。判定方法は、複数チャネルのセンサ信号のAD変換時間に基づいてAD変換の完了時刻を算出することができる。CPU13は、算出したAD変換の完了時刻となると、AD変換器11にAD変換されたセンサ値の取得要求を出力する。
【0039】
図11に示すフローチャートを参照しながらCPU13の処理手順を説明する。
CPU13は、AFHT21にセンサ値の取得要求を出力すると(ステップS41)、現在時刻から、前回のAD変換の完了時刻を減算する(ステップS42)。現在時刻から前回のAD変換の完了時刻を減算した結果が、所定値γよりも大きい場合には(ステップS42/YES)、AD変換器11によるAD変換が完了していると判定し、AD変換器11にAD変換されたセンサ値の取得要求を出力する(ステップS43)。AD変換されたセンサ値を取得すると、CPU13はAD変換要求フラグをクリアする(ステップS44)。
【0040】
このように本実施例では、AD変換器11が複数チャネルのセンサ信号を連続して処理しているので、AD変換器11がAD変換中であるか否かを判定し、AD変換完了後にAD変換器11にセンサ信号取得要求を出力することで、AD変換の処理遅延を低減させることができる。
【0041】
実施例2では、現在時刻から前回のAD変換の完了時刻を減算した結果が、所定値γよりも大きい場合に、AD変換器11にAD変換したセンサ値の取得要求を出力していた。これ以外に、AD変換の完了時刻を算出して、これから所定時間遅延させた時間でAD変換器11にAD値の取得要求を出力するようにしてもよい。
【0042】
上述した実施例は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【図面の簡単な説明】
【0043】
【図1】エンジン制御装置の構成を示すブロック図である。
【図2】AFHTの電流電圧値のAD変換タイミングと、ノックセンサのP/H値のAD変換タイミングとが重複しなかなった場合の処理について説明するための図である。
【図3】AFHTに電流電圧値の取得要求を出力して待機している間に、ノックセンサのP/H値をAD変換するタイミングとなった場合の処理について説明するための図である。
【図4】ノックセンサにP/H値の取得要求を出力して待機している間に、AFHTの電流電圧値をAD変換するタイミングとなった場合の処理について説明するための図である。
【図5】遅延時間βについて説明するための図である。
【図6】AFHTの電流電圧値をAD変換するためのAD変換器の起動タイミングを算出する手順を示すフローチャートである。
【図7】ノックセンサのP/H値をAD変換するためのAD変換器の起動タイミングを算出する手順を示すフローチャートである。
【図8】AD変換器11を起動するときのCPU13の処理手順を示すフローチャートである。
【図9】AD変換器の処理手順を示すフローチャートである。
【図10】実施例2のAD変換器11の処理を示す図である。
【図11】AD変換器にセンサ値の取得要求を出力するときのCPUの処理手順を示すフローチャートである。
【符号の説明】
【0044】
1 エンジン制御装置
2 入力回路
3 マイコン
4 出力回路
10 MPX
11 AD変換器11
12 インターフェース
13 CPU
14 ROM
15 RAM
16 SRAM
21 AFHT
22 ノックセンサ
23 アナログセンサ
【技術分野】
【0001】
本発明は、複数のチャネルから入力されるアナログ信号を、チャネルを切り替えながらAD変換を行うことが可能なAD変換器を制御して、ディジタル信号の取得を行うAD変換制御装置に関する。
【背景技術】
【0002】
複数の入力チャネルを備えるAD変換器は、例えば、車両のエンジンを制御するマイコンに搭載されている。エンジンを制御するマイコンでは、エンジン等の状態を測定するセンサからのアナログ信号をAD変換器でデジタル信号に変換して取り込み、制御対象の機器を制御する制御信号を生成している。
例えば、エンジンを制御するマイコンは、A/F(空燃比)センサヒータ(以下、AFHTと呼ぶ)の通電中にAD変換器を起動して、AFHTによって測定された電流電圧値をデジタル信号に変換している。また、マイコンは、エンジンのクランク軸の回転角度(クランク角度)が所定角度となるタイミングをノックセンサの出力するピークホールド電圧(以下、P/H電圧と表記する)を入力して求めている。ノックセンサの出力するP/H電圧もアナログ信号であるので、AD変換器でAD変換され、マイコンでノッキング判定に用いられている。
【0003】
しかしながら、複数の入力チャネルを備えるAD変換器には、以下のような問題があった。AD変換器は、一方のセンサ信号(このセンサ信号をAと呼ぶ)のAD変換を実施中に、他方のセンサ信号(このセンサ信号をBと呼ぶ)のAD変換のための起動要求が出されても、センサ信号AのAD変換中であるためセンサ信号Bの処理のための起動要求に応答することができない。このため、センサ信号BのAD変換は、センサ信号AのAD変換が終了し、AD変換器が再度起動してからとなる。従って、センサ信号Bの信号処理に遅延が生じ、所望の時刻までに処理を完了することができない問題が生じる。
【0004】
このような問題を回避する方法として、AD変換器を複数設けることが考えられるが、装置コストが高くなってしまうという問題がある。また、AD変換器を制御するソフトウェアも複数必要になる。
【0005】
特許文献1では、入力される信号に優先順位を設定して、優先順位の低い信号のAD変換中に、優先順位の高い信号の処理要求があると、優先順位の低い信号のAD変換を中断して優先順位の高い信号のAD変換を行う。また、優先順位の高い信号の処理が終了すると、中断していた優先順位の低い信号の処理をやり直す。
【0006】
特許文献2も同様に、同種類の2つの信号の処理タイミングが重なった場合に、優先順位の低い信号の処理を中断して優先順位の高い信号の処理を行うが、さらに優先順位の高い信号でのAD変換値を、優先順位の低い信号のAD変換値として流用する技術が記載されている。
【0007】
【特許文献1】特開平6−324811号公報
【特許文献2】特開2004−19458号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1の開示技術をソフトウェア制御によって行う場合、AD変換の中断、起動、再起動といった処理を遅延なく行わなければならず、AD変換器を制御するための処理負荷が非常に大きくなる。
【0009】
また、特許文献2の開示技術は、同一種類の信号にのみ適用できる技術であって、同一種類ではない信号に適用した場合に、代用したAD変換値を用いた制御に影響が出てしまう。
【0010】
本発明は上記事情に鑑みてなされたものであり、AD変換の処理遅延を低減させたAD変換制御装置及び車両制御装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
かかる目的を達成するために本発明のAD変換制御装置は、複数のチャネルから入力されるアナログ信号を、チャネルを切り替えながらAD変換を行うことが可能なAD変換器を制御して、ディジタル信号の取得を行うAD変換制御装置であって、複数のチャネルのうち少なくとも2つのチャネルについては、時間とは非同期のタイミングでAD変換の要求があるとともに、前記AD変換器は非同期のタイミングで起動されると、前記非同期のタイミングでAD変換の要求の可能性がある、複数のチャネルについてのAD変換を連続して行うものであり、前記非同期のタイミングでAD変換の要求があると、AD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、前記AD変換器の起動セットを行うAD起動セット手段と、
前記AD起動セット手段でセットされた時間になると、前記AD変換器の起動を行うAD起動手段と、前記AD変換器からAD変換の完了通知があると、要求のあったチャネルについてのAD変換されたディジタル信号の取得を行う信号取得手段と、を備え、前記AD起動セット手段は、前記AD変換器の起動セットを行ってから前記AD起動手段による前記AD変換器の起動が行われるまで、既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求があると、該AD変換要求のあった複数のチャネルについてのAD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、前記AD変換器の起動セットを再度行う構成を備えている。
従って、1回のAD変換器の起動で、複数チャネルのセンサ信号を連続して処理することができる。このため、AD変換の処理遅延を低減させることができる。
【0012】
上記AD変換制御装置において、前記AD起動セット手段は、前記既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求がないと判定すると、前記既にセットしたチャネルについてのAD変換を前記AD変換器の起動セットを再度行うことなく実施するとよい。
【0013】
上記AD変換制御装置において、前記所定時間は、前記AD変換器の起動に要する時間と、前記既にセットしたチャネルのAD変換に要する時間と、前記既にセットしたチャネルとは異なるチャネルでのAD変換に要する時間とを考慮した時間であるとよい。
【0014】
本発明のAD変換制御装置は、複数のチャネルに入力されるアナログ信号を、チャネルを切り替えながら連続してAD変換を行うAD変換器を制御して、ディジタル信号の取得を行うAD変換制御装置であって、現在時刻と、前記複数のチャネルのAD変換に要する処理時間とに基づいて、前記複数のチャネルのAD変換完了タイミングを判定する判定手段と、前記複数のチャネルのAD変換完了タイミングとなると、前記AD変換器にAD変換値の取得を要求する要求手段とを有する構成を備えている。
【0015】
本発明の車両制御装置は、請求項1から3のいずれか一項記載のAD変換制御装置と、時間とは非同期のタイミングで入力される、エンジンのクランク角を測定するセンサからのセンサ信号と、所定時間ごとに入力される、時間に同期したセンサ信号とを入力し、前記AD変換制御装置の制御に従って起動して前記センサ信号をAD変換し、AD変換したディジタル変換値を前記AD変換制御装置に出力するAD変換器と、を有する構成を備えている。
【発明の効果】
【0016】
本発明によれば、AD変換の処理遅延を低減させることができる。
【発明を実施するための最良の形態】
【0017】
添付図面を参照しながら本実施例の最良の実施例を説明する。
【実施例1】
【0018】
図1には、本発明をエンジンの制御装置(以下、エンジン制御装置と呼ぶ)に適用した実施例の構成を示す。なお、この実施例では、エンジン制御装置を例に説明するが、本発明はエンジン制御装置に限定されるものではなく、車両に搭載される制御装置であれば適用可能である。
図1に示すエンジン制御装置1は、エンジンの運転状態を検出するための各種センサからの信号を入力する入力回路2と、エンジンを制御するための各種処理を行うマイクロコンピュータ(以下、マイコンという)3と、マイコン3から出力される信号を車両に搭載された各種装置に出力する出力回路4とを有している。
マイコン3内には、マルチプレクサ(MPX)10と、AD変換器11と、AD変換器11のインターフェース12と、CPU13と、ROM14と、RAM15と、スタンバイRAM(以下、SRAMと略記する)16と、出力ポート17とが設けられている。なお、SRAM16とは、イグニッションキーがオフされているときも電源が供給され、記憶した情報が消去されない記憶装置である。
【0019】
入力回路2は、AFHT21の電流電圧値(以下、単に電流電圧値という)、エンジンのクランク軸の回転角度(以下、クランク角度という)が所定角度となるタイミングで取得される、ノックセンサ22のピークホールド電圧(以下、P/H値と略記する)や、その他アナログセンサ23によって測定されたセンサ信号等を入力して、マイコン3に出力する。
【0020】
マイコン3は、入力回路2に入力した電流電圧値、P/H値やセンサ信号等のアナログ信号を、マルチプレクサ10を介して選択的に入力する。
マルチプレクサ10は、入力回路2に入力される多数の信号を1つずつ選択してAD変換器11に出力する。
【0021】
AD変換器11は、複数の入力チャネルを有しており、各チャネルにセンサ(AFHT21、ノックセンサ22、アナログセンサ23等)からのアナログ信号がそれぞれ入力されるようになっている。AD変換器11は、CPU13からの起動要求をインターフェース12を介して受信すると起動し、起動要求を受信するまでの間にマルチプレクサ10に入力済みのセンサ信号をAD変換する。すなわち、各チャネルに入力済みのセンサ信号を順次AD変換していく。センサ信号を入力しているすべてのチャネルのセンサ値のAD変換が終了すると、AD変換器11は処理を停止し、CPU13からの再度の起動要求を待機する状態となる。
【0022】
ROM14には、マイコンによる制御処理を実現するためのプログラムが格納されている。CPU13は、ROM14に格納されたプログラムを読み込んで制御処理を実行する。また、RAM15には、CPU13の演算に使用するデータや、演算途中のデータなどが一時的に保存される。
マイコン3は起動すると、ROM14に格納されたプログラムをCPU13に読み込んで、CPU13によるプログラム処理を実行する。このプログラム処理により、本発明のAD起動セット手段、AD起動手段と、信号取得手段とが実現される。また、このプログラム処理中に様々な制御データが学習され、これらの学習によって得られた制御データはSRAM16に保存され、その後の制御処理に利用される。
【0023】
CPU13は、AFHT21の通電中は一定周期(例えば、40.96ms周期)でAFHT21の電流電圧値を取得する(以下、時間同期のAD変換処理と呼ぶ)。なお、この一定周期は変更可能であるので、時間非同期のAD変換処理に含まれる。また、CPU13は、エンジンのクランク軸の回転角度(クランク角度)が所定角度となるタイミングをクランク角センサで測定し、この所定角度のときのノックセンサ22のピークホールド電圧(P/H値)を取得して、ノッキング判定に利用している。このP/H値もクランク角度が所定角度となるタイミングのため時間とは非同期タイミングとなる。なお、時間非同期のAD変換処理とは、例えば、エンジのクランク角に同期して行われる、時間とは非同期のD変換処理をいう。また、時間同期のAD変換処理とは、時間に同期して所定周期で行われるAD変換処理をいう。
【0024】
CPU13は、AFHT21の電流電圧値を取得するために、所定時間ごとにAFHT21に電流電圧値の取得を要求する。また、CPU13は、エンジンのクランク角度が所定角度となるタイミングで、ノックセンサ22にP/H値の取得要求を出力する。なお、図1には、CPU13がAFHT21やノックセンサ22にセンサ信号の取得要求を出力する信号線の図示は省略する。
【0025】
CPU13は、既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求があると、AD変換要求のあった複数のチャネルについてのAD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、AD変換器11の起動セットを再度行う。
このため、CPU13はAFHT21に電流電圧値の取得要求を出力すると、本来AD変換器11を起動すべきタイミングから所定時間経過後にAD変換器11に起動要求を出力し、AD変換器11を起動して電流電圧値をデジタル信号に変換する。この所定時間は、予め設定された待機時間αに遅延時間βを加算した時間となる。以下に、待機時間αと遅延時間βについて説明する。
AFHT21の電流電圧値や、ノックセンサ22のP/H値は意図したタイミングよりも早くAD変換器11を起動してAD変換を実施すると、所望の値を得ることができない。このため、待機時間αを設けている。
また、待機時間αを経過してAD変換器11が起動した後に入力回路2に入力した他のセンサからのセンサ信号(例えば、非同期タイミングで入力されるノックセンサ22のP/H値)は、実行中のAD変換が終了し、AD変換器11を一旦停止させてから再度起動しないとAD変換が実行できない。
そこで、遅延時間βを設けてAD変換器11の起動を待機時間αからさらに遅延時間βだけ送らせることで、AD変換中に入力したセンサ信号に対する処理の遅延を防止している。
【0026】
遅延時間βは、AD変換器5の起動にかかる時間(AD起動時間)と、各センサ値のAD変換にかかる処理時間とを加算した時間である。
遅延時間β=AD起動時間+AD変換時間(AFHT21のセンサ値)+AD変換時間(ノックセンサ22のP/H値)・・・(1)
また、AFHT21のセンサ値に対するAD取得要求があった後に、エンジン回転数等の条件によりノックセンサ22のP/H値を利用しない(AD変換の必要がない)と判定した場合には、遅延時間βにノックセンサ22のP/H値のAD変換時間は加えない。
遅延時間β=AD起動時間+AD変換時間(AFHT21のセンサ値)・・・(2)
さらに、ノックセンサ22のP/H値に対するAD取得要求があった後に、AFHT21のセンサ値を使用しないと判定した場合には、遅延時間βにAFHT21のセンサ値に対するAD変換時間は加えない。
遅延時間β=AD起動時間+AD変換時間(ノックセンサ22のP/H値)・・・(3)
【0027】
図2には、AFHT21の電流電圧値のAD変換タイミングと、ノックセンサ22のP/H値のAD変換タイミングとが重複しなかなった場合のCPU13の処理例を示す。
CPU13は、AFHT21に電流電圧値の取得要求(図2に示すタイミング(a))を出力すると、本来AD変換器11を起動すべきタイミングから設定時間αと遅延時間βを経過した後に、AD変換器11に起動要求(図2に示すタイミング(b))を出力する。AD変換器11は、起動すると電流電圧値のAD変換を開始する。
この時の遅延時間βは、上述した式(2)のAD起動時間+AD変換時間(AFHT21のセンサ値)である。
同様に、CPU13は、ノックセンサ22にP/H値の取得要求(図2に示すタイミング(c))を出力すると、設定時間αと遅延時間βとを経過した後にAD変換器11に起動要求を出力する(図2に示すタイミング(d))。
この場合の遅延時間βは、上述した式(3)のAD起動時間+AD変換時間(ノックセンサ22のP/H値)である。
AD変換器11は、AD変換が終了すると、CPU13にAD変換の終了を通知する割込み信号(以下、AD完了割込みという)を出力し、処理を終了する。
【0028】
図3は、AFHT21に電流電圧値の取得要求を出力して待機時間α+遅延時間βを待機している間に、ノックセンサ22のP/H値をAD変換するタイミングとなった場合のCPU13の処理例を示している。
まず、CPU13は、ノックセンサ22のP/H値をAD変換するためにAD変換器11を起動するタイミングが、AFHT21の電流電圧値をAD変換している期間に重なるか否かを判定する。ノックセンサ22のP/H値に対してAD変換器11を起動するタイミングが、AFHT21の電流電圧値をAD変換している期間に重なる場合には、CPU13は、遅延時間βとしてAD起動時間とAD変換時間(AFHT21のセンサ値)とAD変換時間(ノックセンサ22のP/H値)とを加算した時間を設定する。
図3に示すようにノックセンサ22にP/H値の取得要求を出力してから(図3に示すタイミング(c))、待機時間αだけ待機した時刻(図3に示すタイミング(d))が、図3に示すAFHT21に対する待機時間α+遅延時間βよりも前であれば、CPU13は上述した遅延時間βを設定する。
この後、CPU13は、図3に示すようにAFHT21に電流電圧値の取得要求を出力し(図3に示すタイミング(a))、待機時間αと遅延時間βとを加算した時間だけAD変換器11の起動を待機する。待機時間αと遅延時間βを加算した時間だけ経過すると、CPU13はAD変換器11の起動要求を出力する(図3に示すタイミング(b))
このように遅延時間βを設けて、AD変換器11の起動を遅らせることで、AFHT21の電流電圧値とノックセンサ22のP/H値とを連続してAD変換することができる。従って、AD変換中に入力したセンサ信号に対する処理の遅延を防止することができる。
【0029】
図4は、図3とは逆に、ノックセンサ22にP/H値の取得要求を出力して待機時間αと遅延時間βとを加算した時間だけAD変換器11の起動を待機している間に、AFHT21の電流電圧値をAD変換するタイミングとなった場合のCPU13の処理例を示している。
まず、CPU13は、AFHT21の電流電圧値をAD変換するタイミングがノックセンサ22のP/H値をAD変換している期間に重なるか否かを判定する。AFHT21の電流電圧値をAD変換するタイミングがノックセンサ22のP/H値をAD変換している期間に重なる場合には、CPU13は、遅延時間βとしてAD起動時間とAD変換時間(ノックセンサ22のP/H値)とAD変換時間(AFHT21のセンサ値)とを加算した時間を設定する。
図4に示すようにAFHT21に電流電圧値の取得要求を出力してから(図4に示すタイミング(c))、待機時間αだけ待機した時刻(図4に示すタイミング(d))が、図4に示すノックセンサ22に対する待機時間α+遅延時間βよりも前であれば、CPU13は上述した遅延時間βを設定する。
この後、CPU13は、図4に示すようにノックセンサ22にP/H値の取得要求を出力すると(図4に示すタイミング(a))、待機時間αと遅延時間βだけAD変換器11の起動を待機する。待機時間αと遅延時間βとを加算した時間を経過すると、CPU13はAD変換器11の起動要求を出力する(図4に示すタイミング(b))
【0030】
ここで、遅延時間βの設定について説明する。
本実施例は、センサ(このセンサをセンサAと呼ぶ)にセンサ値の取得要求を出力してから、AD変換器11を起動させるまでの間に、他方のセンサ(このセンサをセンサBと呼ぶ)のセンサ値取得要求が出力される場合に、AD変換器11の起動時間を遅延させて、センサAとセンサBの2つのセンサ値を連続してAD変換するものである。
しかし、図5に示すように、AD変換器11の起動後に、センサBのセンサ値取得要求が出される場合には、センサBのセンサ値に対するAD変換は、センサAのAD変換が終了した後に行われる。
遅延時間βは、センサAにセンサ値取得要求を出してからAD変換器11を起動するまでの間に、センサBにセンサ値の取得要求があったことを判断するために用いられる時間である。
【0031】
次に、図6に示すフローチャートを参照しながら、CPU13がAFHT21の電流電圧値をAD変換するためのAD変換器11の起動タイミングを算出する手順を説明する。
CPU13は、まず、AFHT21にセンサ値の取得要求を出力するタイミングを算出する(ステップS1)。次に、CPU13は、ノックセンサ22のP/H値に対するAD変換器11の起動タイミングが、AFHT21のセンサ値のAD変換中に重複するか否かを判定する(ステップS2)。P/H値に対するAD変換器11の起動タイミングが、AFHT21のセンサ値のAD変換中に重複する場合(ステップS2/YES)、CPU13は遅延時間βとして、AD変換器11の起動にかかる時間(AD起動時間)と、AFHT21のセンサ値のAD変換にかかる時間と、ノックセンサ22のP/H値のAD変換にかかる時間とを加算した値を設定する(ステップS3)。
また、P/H値の使用条件が成立しない場合には(ステップS2/NO)、CPU13は遅延時間βとして、AD起動時間と、AFHT21のセンサ値のAD変換にかかる時間とを加算した値を設定する(ステップS4)。
CPU13は、待機時間αと、遅延時間βとを加算した時間を遅延トリガセット時刻としてCPU13のレジスタに書き込み、処理を終了する(ステップS5)。
以後、レジスタに書き込まれた遅延トリガセット時刻となると、割込み信号が発生してソフトウェアが起動し、AD変換器11に起動要求を出力する。
【0032】
次に、図7に示すフローチャートを参照しながら、CPU13がノックセンサ22のP/H値をAD変換するためのAD変換器11の起動タイミングを算出する手順を説明する。
CPU13は、まず、ノックセンサ22にP/H値の取得を要求する取得タイミングを算出する(ステップS11)。次に、CPU13は、AFHT21のセンサ値に対するAD変換器11の起動タイミングが、ノックセンサ22のP/H値のAD変換中に重複するか否かを判定する(ステップS12)。
AFHT21のセンサ値に対するAD変換器11の起動タイミングが、ノックセンサ22のP/H値のAD変換中に重複する場合(ステップS12/YES)、CPU13は、待機時間βとして、AD変換器11の起動にかかる時間(AD起動時間)と、ノックセンサ22のP/H値のAD変換にかかる時間と、AFHT21のセンサ値のAD変換にかかる時間とを加算した値を設定する(ステップS13)。
また、P/H値の使用条件が成立しない場合には(ステップS12/NO)、CPU13は待機時間βとして、AD起動時間と、ノックセンサ22のP/H値のAD変換にかかる時間とを加算した値を設定する(ステップS14)。
CPU13は、待機時間αと、遅延時間βとを加算した時間を遅延トリガセット時刻としてCPU13のレジスタに書き込み、処理を終了する(ステップS15)。
以後、レジスタに書き込まれた遅延トリガセット時刻となると、割込み信号が発生してソフトウェアが起動し、AD変換器11に起動要求を出力する。
【0033】
次に、図8に示すフローチャートを参照しながらAD変換器11を起動するときのCPU13の処理手順を説明する。
遅延トリガセット時刻となると割込み信号が発生して(ステップS21/YES)、CPU13はソフト処理により以下の処理を実行する。
CPU13は、AFHT21のセンサ値に対するAD変換器11の起動タイミングであると判定すると(ステップS22/YES)、AD変換器11の起動要求をRAM15に記憶し(ステップS23)、AD変換器11が起動中であるか否かを判定する(ステップS25)。CPU13はRAM15の記録情報を参照してAD変換器11が起動中であるか否かを判定する。
AD変換器11が起動中ではなかった場合には(ステップS25/NO)、AD変換器11に起動要求を出力し、AD変換器11が起動中であることをRAM15に記録する(ステップS26)。このときCPU13は、ノックセンサ22のP/H値に対するAD変換器11の起動タイミングが、AFHT21のセンサ値のAD変換中に重複する場合には、AD変換器11にAFHT21のセンサ値と、ノックセンサ22のP/H値とのAD変換を指示する。
また、CPU13は、ノックセンサ22のP/H値に対するAD変換器11の起動タイミングが、AFHT21のセンサ値のAD変換中に重複しない場合には、AD変換器11にAFHT21のセンサ値のAD変換を指示する。
【0034】
また、AFHTのセンサ値に対するAD変換器11の起動タイミングではないと判定すると(ステップS22/NO)、CPU13は、ノックセンサ22のP/H値に対するAD変換器11の起動タイミングであるか否かを判定する(ステップS24)。ノックセンサ22のP/H値に対するAD変換器11の起動タイミングであると判定すると(ステップS24/YES)、CPU13はAD変換器11の起動要求をRAM15に記憶し(ステップS23)、AD変換器11が起動中であるか否かを判定する(ステップS25)。CPU13はRAM15の記録情報を参照してAD変換器11が起動中であるか否かを判定する。
AD変換器11が起動中ではなかった場合には(ステップS25/NO)、AD変換器11に起動要求を出力し、AD変換器11が起動中であることをRAM15に記録する(ステップS26)。このときCPU13は、AFHT21のセンサ値に対するAD変換器11の起動タイミングが、ノックセンサ22のセンサ値のAD変換中に重複する場合には、AD変換器11にAFHT21のセンサ値と、ノックセンサ22のP/H値とのAD変換を指示する。また、CPU13は、AFHT21のセンサ値に対するAD変換器11の起動タイミングが、ノックセンサ22のセンサ値のAD変換中に重複しない場合には、AD変換器11にノックセンサ22のP/H値のAD変換を指示する。
【0035】
また、AFHT21やノックセンサ22のセンサ値に対するAD変換器11の起動タイミングではないと判定すると(ステップS24/NO)、この処理を終了する。
【0036】
次に、図9に示すフローチャートを参照しながら、AD変換器11の処理手順を説明する。
AD変換器11は、AFHT21のセンサ値を入力したチャネルのAD変換要求をCPU13から受け付けている場合(ステップS31/YES)、該当チャネルに対するAD変換が終了しているか否かを判定する(ステップS32)。該当チャネルのAD変換が終了した場合には(ステップS32/YES)、AD変換器11はAFHT21のセンサ値に対するAD変換の完了をCPU13に通知する(ステップS33)。
また、AD変換器11は、ノックセンサ22のP/H値を入力したチャネルのAD変換要求をCPU13から受け付けている場合(ステップS34/YES)、該当チャネルに対するAD変換が終了しているか否かを判定する(ステップS35)。該当チャネルのAD変換が終了した場合には(ステップS35/YES)、AD変換器11はノックセンサ22のP/H値に対するAD変換の完了をCPU13に通知する(ステップS36)。
【実施例2】
【0037】
添付図面を参照しながら本発明の第2実施例を説明する。
本実施例は、AD変換器11に、複数の入力チャネルで連続してAD変換を実施させる。
例えば、図10に示すようにAD変換器11の入力チャネルがチャネル0からチャネル3までの4チャネルを有していた場合、AD変換器11はチャネル0から順にセンサ信号が入力されているか否かを判定し、入力されているチャネルのセンサ信号をAD変換する。チャネル0からチャネル3までのすべてのチャネルに対する処理を終了すると、最初のチャネル0に戻り、チャネル0からチャネル3までのAD変換を行う。
【0038】
CPU13は、AD変換器11が複数チャネルのセンサ信号をAD変換中であるか否かを判定する。判定方法は、複数チャネルのセンサ信号のAD変換時間に基づいてAD変換の完了時刻を算出することができる。CPU13は、算出したAD変換の完了時刻となると、AD変換器11にAD変換されたセンサ値の取得要求を出力する。
【0039】
図11に示すフローチャートを参照しながらCPU13の処理手順を説明する。
CPU13は、AFHT21にセンサ値の取得要求を出力すると(ステップS41)、現在時刻から、前回のAD変換の完了時刻を減算する(ステップS42)。現在時刻から前回のAD変換の完了時刻を減算した結果が、所定値γよりも大きい場合には(ステップS42/YES)、AD変換器11によるAD変換が完了していると判定し、AD変換器11にAD変換されたセンサ値の取得要求を出力する(ステップS43)。AD変換されたセンサ値を取得すると、CPU13はAD変換要求フラグをクリアする(ステップS44)。
【0040】
このように本実施例では、AD変換器11が複数チャネルのセンサ信号を連続して処理しているので、AD変換器11がAD変換中であるか否かを判定し、AD変換完了後にAD変換器11にセンサ信号取得要求を出力することで、AD変換の処理遅延を低減させることができる。
【0041】
実施例2では、現在時刻から前回のAD変換の完了時刻を減算した結果が、所定値γよりも大きい場合に、AD変換器11にAD変換したセンサ値の取得要求を出力していた。これ以外に、AD変換の完了時刻を算出して、これから所定時間遅延させた時間でAD変換器11にAD値の取得要求を出力するようにしてもよい。
【0042】
上述した実施例は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【図面の簡単な説明】
【0043】
【図1】エンジン制御装置の構成を示すブロック図である。
【図2】AFHTの電流電圧値のAD変換タイミングと、ノックセンサのP/H値のAD変換タイミングとが重複しなかなった場合の処理について説明するための図である。
【図3】AFHTに電流電圧値の取得要求を出力して待機している間に、ノックセンサのP/H値をAD変換するタイミングとなった場合の処理について説明するための図である。
【図4】ノックセンサにP/H値の取得要求を出力して待機している間に、AFHTの電流電圧値をAD変換するタイミングとなった場合の処理について説明するための図である。
【図5】遅延時間βについて説明するための図である。
【図6】AFHTの電流電圧値をAD変換するためのAD変換器の起動タイミングを算出する手順を示すフローチャートである。
【図7】ノックセンサのP/H値をAD変換するためのAD変換器の起動タイミングを算出する手順を示すフローチャートである。
【図8】AD変換器11を起動するときのCPU13の処理手順を示すフローチャートである。
【図9】AD変換器の処理手順を示すフローチャートである。
【図10】実施例2のAD変換器11の処理を示す図である。
【図11】AD変換器にセンサ値の取得要求を出力するときのCPUの処理手順を示すフローチャートである。
【符号の説明】
【0044】
1 エンジン制御装置
2 入力回路
3 マイコン
4 出力回路
10 MPX
11 AD変換器11
12 インターフェース
13 CPU
14 ROM
15 RAM
16 SRAM
21 AFHT
22 ノックセンサ
23 アナログセンサ
【特許請求の範囲】
【請求項1】
複数のチャネルから入力されるアナログ信号を、チャネルを切り替えながらAD変換を行うことが可能なAD変換器を制御して、ディジタル信号の取得を行うAD変換制御装置であって、
複数のチャネルのうち少なくとも2つのチャネルについては、時間とは非同期のタイミングでAD変換の要求があるとともに、前記AD変換器は非同期のタイミングで起動されると、前記非同期のタイミングでAD変換の要求の可能性がある、複数のチャネルについてのAD変換を連続して行うものであり、
前記非同期のタイミングでAD変換の要求があると、AD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、前記AD変換器の起動セットを行うAD起動セット手段と、
前記AD起動セット手段でセットされた時間になると、前記AD変換器の起動を行うAD起動手段と、
前記AD変換器からAD変換の完了通知があると、要求のあったチャネルについてのAD変換されたディジタル信号の取得を行う信号取得手段と、を備え、
前記AD起動セット手段は、前記AD変換器の起動セットを行ってから前記AD起動手段による前記AD変換器の起動が行われるまで、既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求があると、該AD変換要求のあった複数のチャネルについてのAD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、前記AD変換器の起動セットを再度行うことを特徴とするAD変換制御装置。
【請求項2】
前記AD起動セット手段は、前記既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求がないと判定すると、前記既にセットしたチャネルについてのAD変換を前記AD変換器の起動セットを再度行うことなく実施することを特徴とする請求項1記載のAD変換制御装置。
【請求項3】
前記所定時間は、前記AD変換器の起動に要する時間と、前記既にセットしたチャネルのAD変換に要する時間と、前記既にセットしたチャネルとは異なるチャネルでのAD変換に要する時間とを考慮した時間であることを特徴とする請求項1又は2記載のAD変換制御装置。
【請求項4】
複数のチャネルに入力されるアナログ信号を、チャネルを切り替えながら連続してAD変換を行うAD変換器を制御して、ディジタル信号の取得を行うAD変換制御装置であって、
現在時刻と、前記複数のチャネルのAD変換に要する処理時間とに基づいて、前記複数のチャネルのAD変換完了タイミングを判定する判定手段と、
前記複数のチャネルのAD変換完了タイミングとなると、前記AD変換器にAD変換値の取得を要求する要求手段と、
を有することを特徴とするAD変換制御装置。
【請求項5】
請求項1から3のいずれか一項記載のAD変換制御装置と、
時間とは非同期のタイミングで入力される、エンジンのクランク角を測定するセンサからのセンサ信号と、所定時間ごとに入力される、時間に同期したセンサ信号とを入力し、前記AD変換制御装置の制御に従って起動して前記センサ信号をAD変換し、AD変換したディジタル変換値を前記AD変換制御装置に出力するAD変換器と、
を有することを特徴とする車両制御装置。
【請求項1】
複数のチャネルから入力されるアナログ信号を、チャネルを切り替えながらAD変換を行うことが可能なAD変換器を制御して、ディジタル信号の取得を行うAD変換制御装置であって、
複数のチャネルのうち少なくとも2つのチャネルについては、時間とは非同期のタイミングでAD変換の要求があるとともに、前記AD変換器は非同期のタイミングで起動されると、前記非同期のタイミングでAD変換の要求の可能性がある、複数のチャネルについてのAD変換を連続して行うものであり、
前記非同期のタイミングでAD変換の要求があると、AD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、前記AD変換器の起動セットを行うAD起動セット手段と、
前記AD起動セット手段でセットされた時間になると、前記AD変換器の起動を行うAD起動手段と、
前記AD変換器からAD変換の完了通知があると、要求のあったチャネルについてのAD変換されたディジタル信号の取得を行う信号取得手段と、を備え、
前記AD起動セット手段は、前記AD変換器の起動セットを行ってから前記AD起動手段による前記AD変換器の起動が行われるまで、既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求があると、該AD変換要求のあった複数のチャネルについてのAD変換を行うのに要する時間を考慮した所定時間後にAD変換が行われるように、前記AD変換器の起動セットを再度行うことを特徴とするAD変換制御装置。
【請求項2】
前記AD起動セット手段は、前記既にセットしたチャネルとは異なるチャネルについての非同期のAD変換要求がないと判定すると、前記既にセットしたチャネルについてのAD変換を前記AD変換器の起動セットを再度行うことなく実施することを特徴とする請求項1記載のAD変換制御装置。
【請求項3】
前記所定時間は、前記AD変換器の起動に要する時間と、前記既にセットしたチャネルのAD変換に要する時間と、前記既にセットしたチャネルとは異なるチャネルでのAD変換に要する時間とを考慮した時間であることを特徴とする請求項1又は2記載のAD変換制御装置。
【請求項4】
複数のチャネルに入力されるアナログ信号を、チャネルを切り替えながら連続してAD変換を行うAD変換器を制御して、ディジタル信号の取得を行うAD変換制御装置であって、
現在時刻と、前記複数のチャネルのAD変換に要する処理時間とに基づいて、前記複数のチャネルのAD変換完了タイミングを判定する判定手段と、
前記複数のチャネルのAD変換完了タイミングとなると、前記AD変換器にAD変換値の取得を要求する要求手段と、
を有することを特徴とするAD変換制御装置。
【請求項5】
請求項1から3のいずれか一項記載のAD変換制御装置と、
時間とは非同期のタイミングで入力される、エンジンのクランク角を測定するセンサからのセンサ信号と、所定時間ごとに入力される、時間に同期したセンサ信号とを入力し、前記AD変換制御装置の制御に従って起動して前記センサ信号をAD変換し、AD変換したディジタル変換値を前記AD変換制御装置に出力するAD変換器と、
を有することを特徴とする車両制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2010−41152(P2010−41152A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−199070(P2008−199070)
【出願日】平成20年7月31日(2008.7.31)
【出願人】(000237592)富士通テン株式会社 (3,383)
【Fターム(参考)】
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願日】平成20年7月31日(2008.7.31)
【出願人】(000237592)富士通テン株式会社 (3,383)
【Fターム(参考)】
[ Back to top ]