JP5327085B2 - A/d変換処理装置 - Google Patents

A/d変換処理装置 Download PDF

Info

Publication number
JP5327085B2
JP5327085B2 JP2010020302A JP2010020302A JP5327085B2 JP 5327085 B2 JP5327085 B2 JP 5327085B2 JP 2010020302 A JP2010020302 A JP 2010020302A JP 2010020302 A JP2010020302 A JP 2010020302A JP 5327085 B2 JP5327085 B2 JP 5327085B2
Authority
JP
Japan
Prior art keywords
conversion
timer
sampling
input terminal
conversion processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010020302A
Other languages
English (en)
Other versions
JP2011160199A (ja
Inventor
誠志 園田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2010020302A priority Critical patent/JP5327085B2/ja
Priority to DE102011003335.1A priority patent/DE102011003335B4/de
Publication of JP2011160199A publication Critical patent/JP2011160199A/ja
Application granted granted Critical
Publication of JP5327085B2 publication Critical patent/JP5327085B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/06Continuously compensating for, or preventing, undesired influence of physical parameters
    • H03M1/08Continuously compensating for, or preventing, undesired influence of physical parameters of noise
    • H03M1/0836Continuously compensating for, or preventing, undesired influence of physical parameters of noise of phase error, e.g. jitter
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/1205Multiplexed conversion systems
    • H03M1/122Shared using a single converter or a part thereof for multiple channels, e.g. a residue amplifier for multiple stages
    • H03M1/1225Shared using a single converter or a part thereof for multiple channels, e.g. a residue amplifier for multiple stages using time-division multiplexing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Analogue/Digital Conversion (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本発明は、複数のアナログ信号を1つのA/D変換器でA/D変換するA/D変換処理装置に関する。
複数のアナログ信号を1つのA/D変換器でA/D変換する技術として、例えば特許文献1に記載のものがある。
特許文献1では、位相がずれた2つのパルス信号の立ち上がりを基準にした各タイミングにて、2つのアナログ信号をA/D変換器に切り替えて入力させることで、その2つのアナログ信号の各々を異なるタイミングでA/D変換するようにしている。即ち、一方のパルス信号の立ち上がりを基準にした所定タイミングで、一方のアナログ信号をA/D変換器に入力してA/D変換し、他方のパルス信号の立ち上がりを基準としたタイミングで、他方のアナログ信号をA/D変換器に入力してA/D変換することにより、2つのアナログ信号のA/D変換タイミングが重複しないようにしている。
一方、車両に搭載されるディーゼルエンジンの制御分野においては、燃料ポンプによって圧送される高圧の燃料を蓄えるコモンレールの燃料出口から燃料噴射弁の噴射口までの燃料通路における所定位置に、圧力センサ(燃料圧力センサ)を設け、その圧力センサからの信号を一定時間毎にA/D変換することで、気筒への燃料噴射に伴う燃料圧力推移を検出すると共に、その検出結果から燃料噴射弁の実際の噴射特性を推定して、その推定結果を燃料噴射制御にフィードバックして用いる、といったことが考えられている(例えば特許文献2参照)。
また、エンジンの気筒に、その気筒の筒内圧力を検出する圧力センサ(筒内圧力センサ)を設け、その圧力センサからの信号を一定時間毎にA/D変換することで、例えば実際の燃焼時期や燃焼状態を予測して、その予測結果を燃料噴射制御にフィードバックして用いる、といったことも考えられている(例えば特許文献3参照)。
そして一般に、こうした燃料圧力センサや筒内圧力センサからの信号は、波形をトレースするような短い一定のサンプリング間隔(例えば数十μs毎)でA/D変換される共に、そのサンプリング間隔は、エンジン制御の精度を確保又は向上させるために、できるだけ正確である必要がある。
特開平11−87134号公報 特開2008−144749号公報 特開2008−63992号公報
ところで、前述した特許文献1の技術においては、各アナログ信号についてのA/D変換実施のトリガとなる2つのパルス信号に相対的なずれが生じる可能性がある。具体的には、各パルス信号をそれぞれ発生するためのタイマの少なくとも1つに狂いが生じたなら、各パルス信号に相対的なずれが生じる(つまり、2つのパルス信号の立ち上がりの時間差が変わる)こととなる。
そして、各パルス信号に相対的なずれが生じると、そのパルス信号によって指令される2つのアナログ信号のA/D変換タイミングが重複してしまう可能性がある。例えば、一方のアナログ信号のA/D変換実施中に、他方のアナログ信号のA/D変換を実施させるトリガが発生することになる。すると、他方のアナログ信号のA/D変換が実施されないとかA/D変換開始が待たされて遅れる、といった不具合が発生する。結局は、何れかのアナログ信号のA/D変換間隔が狂ってしまうことになる。
そして例えば、前述した燃料圧力センサからの信号と筒内圧力センサからの信号とを1つのA/D変換器でA/D変換する場合や、その燃料圧力センサ又は筒内圧力センサからの信号と他のアナログ信号とを1つのA/D変換器でA/D変換する場合に、A/D変換間隔の狂いが生じると、エンジンの制御精度を低下させてしまうこととなる。
本発明は、こうした問題に鑑みてなされたものであり、1つのA/D変換器により複数の各アナログ信号を正確な時間間隔でA/D変換することができるようにすることを目的としている。
請求項1のA/D変換処理装置は、複数のアナログ信号に基づき制御対象を制御する電子制御装置に設けられ、その複数の各アナログ信号を、そのアナログ信号について定められた一定のサンプリング間隔でA/D変換すると共に、そのA/D変換後のデジタルデータをメモリに格納する。
そして、この機能を実現するために、請求項1のA/D変換処理装置は、変換処理手段と、複数のタイマとを備えている。
変換処理手段は、A/D変換対象の複数の各アナログ信号がそれぞれ入力される複数の入力端子と、アナログ信号をA/D変換するA/D変換器とを有している。
そして、変換処理手段は、各入力端子に対応するA/D変換トリガ信号のうちの何れかが入力されると、そのA/D変換トリガ信号に対応した入力端子へのアナログ信号を、A/D変換器に入力させて該A/D変換器にA/D変換させるA/D変換処理動作と、そのA/D変換器によるA/D変換後のデジタルデータを、それがどの入力端子へのアナログ信号をA/D変換したものなのかを区別可能に前記メモリに格納する記憶処理動作とを行う。
また、複数の各タイマは、変換処理手段の前記各入力端子に対応してそれぞれ設けられたものであり、自身に対応した入力端子に対応する前記A/D変換トリガ信号を、自身に対応した入力端子へのアナログ信号について定められた一定のサンプリング間隔で、変換処理手段に出力する。そして、その複数のタイマによる各A/D変換トリガ信号の出力タイミングは互いにずらされている。
このため、各タイマから変換処理手段へは、各入力端子に対応するA/D変換トリガ信号が、互いにずれたタイミングで、且つ、その入力端子へのアナログ信号について定められた一定のサンプリング間隔で、それぞれ出力されることとなる。
つまり、複数のタイマは、変換処理手段へ、前記各A/D変換トリガ信号を、そのA/D変換トリガ信号に対応する入力端子へのアナログ信号について定められた一定のサンプリング間隔で、且つ、互いにずれたタイミングで、それぞれ出力するために、各入力端子に対応してそれぞれ設けられている。
そして、各タイマは、単位時間毎にカウント値が歩進するものであって、カウント値が所定の値になる毎に、該カウント値が0に戻ると共に、当該タイマに対応した入力端子に対応するA/D変換トリガ信号を変換処理手段に出力することにより、そのA/D変換トリガ信号を、当該タイマ対応した入力端子へのアナログ信号について定められた一定のサンプリング間隔で、変換処理手段に出力するものである。更に、各タイマの動作開始時におけるカウント値は、各タイマからの各A/D変換トリガ信号の出力タイミングが互いにずれるように設定される。
よって、変換処理手段は、各入力端子に入力される各アナログ信号を、互いにずれたタイミングで、且つ、そのアナログ信号について定められた一定のサンプリング間隔で、A/D変換器にA/D変換させて、そのA/D変換後のデジタルデータを、それがどの入力端子へのアナログ信号をA/D変換したものなのかを区別可能にメモリに格納することとなる。
尚、このような前提から当然であるが、各タイマのA/D変換トリガ信号の出力タイミングは、そのA/D変換トリガ信号が何れかのアナログ信号のA/D変換実施中に出力されないように、互いにずらされている。つまり、各A/D変換トリガ信号の出力タイミングは、A/D変換所要時間(A/D変換器が1つのアナログ信号をA/D変換するのに要する時間)よりは長い時間だけ、互いにずらされている。
そして特に、請求項1のA/D変換処理装置は、タイミング修正手段を備えており、そのタイミング修正手段は、各タイマから各A/D変換トリガ信号が出力される時間差が正常値でない異常状態か否かを判定し、異常状態であると判定したならば、各タイマを、各A/D変換トリガ信号が出力される時間差が正常値となるように調整する。尚、以下では、この調整のことを、各タイマの正常化ともいう。
このような請求項1のA/D変換処理装置によれば、何れかのタイマに狂いが生じて各A/D変換トリガ信号の出力時間差が正常値ではなくなった場合に、その状態を是正することができる。よって、例えば、あるアナログ信号のA/D変換実施中に他のアナログ信号のA/D変換を指令するA/D変換トリガ信号が出力されてしまったり、複数のA/D変換トリガ信号が同時に出力されてしまったりする、という状態を解消することができ、その結果、何れかのアナログ信号のA/D変換が実施されなかったり遅れたりすることを解消することができる。また、何れかのタイマによるA/D変換トリガ信号の出力間隔が変わってしまっていても、各A/D変換トリガ信号の出力時間差が正常値ではなくなるため、そのことを検知して各タイマの正常化を行うことができる。このため、1つのA/D変換器により複数の各アナログ信号を正確な時間間隔でA/D変換することができるようになる。
次に、請求項2のA/D変換処理装置では、請求項1のA/D変換処理装置において、タイミング修正手段は、前記調整のための処理として、各タイマから各A/D変換トリガ信号が出力される時間差が正常値となるように全てのタイマを動作開始時の状態から動作させ直す処理を行う。
この構成によれば、各タイマの正常化であって、各アナログ信号のA/D変換実施タイミングの正常化(即ち、各アナログ信号のA/D変換タイミングが重複しないようにし、且つ、各アナログ信号のA/D変換間隔を予め定められたサンプリング間隔に戻すこと)を、確実に素早く行うことができる。
次に、請求項3のA/D変換処理装置では、請求項1,2のA/D変換処理装置において、変換処理手段は、電子制御装置に設けられた処理部から、各入力端子に対応するサンプリング開始指示とサンプリング停止指示とを受けるようになっていると共に、各入力端子について、その入力端子に対応するサンプリング開始指示を受けたときから、その入力端子に対応するサンプリング停止指示を受けるまでの間をサンプリング期間として、該サンプリング期間の間、その入力端子に対応するA/D変換トリガ信号が入力される毎に、前記A/D変換処理動作と前記記憶処理動作とを行うようになっている。尚、処理部は、電子制御装置において、例えば制御対象を制御するための処理を行うもので良い。
そして、タイミング修正手段は、何れかの入力端子に対応するサンプリング停止指示が前記処理部から変換処理手段へ出力されたときに動作するようになっている。
この構成によれば、処理部から次の何れかの入力端子に対応するサンプリング開始指示が出力された際には、既に各タイマが正常化されているようにすることができる。
次に、請求項4のA/D変換処理装置では、請求項3のA/D変換処理装置において、データ破棄手段を備えており、そのデータ破棄手段は、タイミング修正手段によって異常状態であると判定された場合に、前記メモリに格納されているデジタルデータを破棄する。そして、この構成によれば、おかしな間隔でA/D変換された結果のデジタルデータが制御対象の制御に使用されることを防止することができ、制御の信頼性を向上させることができる。
次に、請求項5のA/D変換処理装置では、請求項1〜4のA/D変換処理装置において、変換処理手段は、電子制御装置に設けられた処理部から、各入力端子に対応するサンプリング開始指示とサンプリング停止指示とを受けるようになっていると共に、各入力端子について、その入力端子に対応するサンプリング開始指示を受けたときから、その入力端子に対応するサンプリング停止指示を受けるまでの間をサンプリング期間として、該サンプリング期間の間、その入力端子に対応するA/D変換トリガ信号が入力される毎に、前記A/D変換処理動作と前記記憶処理動作とを行うようになっている。
そして、タイミング修正手段は、何れかの入力端子に対応するサンプリング開始指示が前記処理部から変換処理手段へ出力される前に動作するようになっている。
この構成によれば、各アナログ信号のサンプリング期間が始まるに、各タイマの正常化を行うことができる。よって、各タイマを正常化してから、各アナログ信号のサンプリングを開始することができる。
次に、請求項6のA/D変換処理装置では、請求項1〜5のA/D変換処理装置において、前記電子制御装置は、車両のエンジンを制御するものであり、A/D変換対象のアナログ信号のうちの少なくとも1つは、高圧の燃料を蓄える蓄圧容器の燃料出口からエンジンの何れかの気筒(ここでは#xとする)に燃料を噴射する燃料噴射弁の噴射口までの燃料経路における所定位置の燃料圧力を検出する圧力センサからの信号、又は、エンジンの何れかの気筒#xの筒内圧力を検出する圧力センサからの信号である。
そして、タイミング修正手段は、前記圧力センサが設けられた前記何れかの気筒#xよりも燃料噴射順が1つ前の気筒に対する燃料噴射が終了してから、前記圧力センサが設けられた前記何れかの気筒#xに対する燃料噴射が開始されるまでの間に、動作するようになっている。尚、「気筒に対する燃料噴射が終了」とは、いわゆる多段噴射の場合は、複数回の噴射のうちの最後の噴射が終了した時のことである。同様に、「気筒に対する燃料噴射が開始」とは、多段噴射の場合は、複数回の噴射のうちの最初の噴射が開始される時のことである。
この構成によれば、上記圧力センサからの信号を、その圧力センサが設けられた気筒#xの燃料噴射期間において一定のサンプリング間隔でA/D変換することを、より確実に実施することができるようになる。その気筒#xへの燃料噴射が開始される前に、各タイマの正常化が行われるからである。
特に、上記燃料圧力を検出する圧力センサ(燃料圧力センサ)からの信号は、気筒への燃料噴射に伴う燃料圧力推移を正確に検出してエンジンの制御精度を確保するために、その気筒の燃料噴射期間において正確な間隔でA/D変換する必要があり、同様に、上記筒内圧力を検出する圧力センサ(筒内圧力センサ)からの信号は、気筒内の燃焼時期や燃焼状態等を正確に予測してエンジンの制御精度を確保するために、その気筒の燃料噴射期間において正確な間隔でA/D変換する必要があるが、そうした要求を、より確実に実現することができるようになる。
第1実施形態のECU(電子制御装置)を表す構成図である。 各タイマがA/D変換トリガ信号を出力するタイミングを説明する説明図である。 各タイマの初期設定起動及びスケジュール再起動処理を説明する説明図である。 タイマに異常が生じた場合の一例を説明する説明図である。 A/D変換部の機能の一つを説明する説明図である。 第1実施形態のサンプリング開始処理及びサンプリング停止処理を表すフローチャートである。 タイマチェック処理を説明する第1の説明図(異常なしの場合)である。 タイマチェック処理を説明する第2の説明図(異常ありの場合)である。 第2実施形態のサンプリング開始処理及びサンプリング停止処理を表すフローチャートである。
以下に、本発明が適用された実施形態の電子制御装置について説明する。尚、本実施形態の電子制御装置は、例えば自動車のディーゼルエンジンを制御するものであるが、以下では、本発明に直接関係する部分について説明する。
[第1実施形態]
図1に示すように、本実施形態の電子制御制御装置(以下、ECUという)11は、車載ディーゼルエンジン13の各気筒(本実施形態では4つの気筒)#1〜#4に設けられている燃料噴射弁としてのインジェクタIJ1〜IJ4を駆動して、エンジン13への燃料噴射を制御するものである。尚、本実施形態において、インジェクタIJ1〜IJ4は、コイルへの通電によって開弁する電磁弁式のものであるが、インジェクタIJ1〜IJ4としては、ピエゾアクチュエータによって開閉弁するタイプのものでも良い。また、各気筒#1〜#4の燃料噴射順序は、「#1→#3→#4→#2」である。
各インジェクタIJ1〜IJ4には、燃料の蓄圧容器であるコモンレール15から伸びた燃料供給用配管17がそれぞれ接続されている。また、コモンレール15には、車両の燃料タンク19に貯留された燃料が、燃料ポンプ21によって圧送される。そして、各インジェクタIJ1〜IJ4は、コモンレール15に蓄えられた高圧の燃料が上記燃料供給用配管17を介して供給されて、その燃料を自身の噴射口(図示省略)から気筒#1〜#4に噴射する。尚、燃料ポンプ21は、例えば、エンジン13のクランク軸の回転により駆動されてポンプ動作を行う機関駆動式の高圧ポンプである。
更に、コモンレール15から各インジェクタIJ1〜IJ4への燃料供給用配管17において、インジェクタIJ1〜IJ4側の端(即ち、インジェクタIJ1〜IJ4の燃料取込口)には、その位置の燃料圧力(いわゆるインレット圧)を検出する圧力センサ(燃料圧力センサ)Sa1〜Sa4がそれぞれ設けられている。また、各気筒#1〜#4には、その気筒の筒内圧力を検出する圧力センサ(筒内圧力センサ)Sb1〜Sb4がそれぞれ設けられている。
そして、圧力センサSa1〜Sa4から出力されるアナログのセンサ信号(以下、燃料圧信号ともいう)IP1〜IP4や、圧力センサSb1〜Sb4から出力されるアナログのセンサ信号(以下、筒内圧信号ともいう)CP1〜CP4や、エンジン13の運転状態を検出するための他のセンサからの信号が、ECU11に入力される。他のセンサとしては、例えば、周知のクランク角センサ23や、エンジン13への吸入空気量を検出する吸気量センサや、エンジン13の冷却水温を検出する水温センサや、アクセル踏み込み量センサや、空燃比センサ等がある。
一方、ECU11は、エンジンを制御するための各種処理を行うマイコン31を備えている。そして、マイコン31は、複数のアナログ信号を1つずつ切り替えてA/D変換するA/D変換部41と、CPU(中央処理装置)42と、CPU42により実行されるプログラムが格納されたROM43と、CPU42による演算結果やA/D変換部41によるA/D変換後のデジタルデータ(以下、A/D変換値という)等が記憶されるRAM44と、A/D変換部41にA/D変換動作を行わせるためのタイマ部45と、A/D変換部41からRAM44へのデータ転送(A/D変換値の転送)を行うDMAコントローラ(Direct Memory Access Controller:以下、DMACという)46とを備えており、それらは、マイコン31内のバス47を介して接続されている。
尚、マイコン31では、A/D変換部41により、各気筒#1〜#4の筒内圧信号CP1〜CP4及び燃料圧信号IP1〜IP4や他のセンサからのアナログ信号を、それぞれA/D変換して、それらのA/D変換値をエンジンの制御処理に用いるが、以下では、説明を簡略化するため、気筒#1の筒内圧信号CP1及び燃料圧信号IP1と、気筒#2の筒内圧信号CP2及び燃料圧信号IP2との、4つのアナログ信号が、A/D変換部41によりA/D変換されるものとして説明する。
A/D変換部41は、4つのアナログ信号AN1〜AN4がそれぞれ入力される入力端子T1〜T4と、アナログ信号をA/D変換する1つのA/D変換器41aと、入力端子T1〜T4に入力されるアナログ信号AN1〜AN4のうちの何れか1つを選択してA/D変換器41aに入力するマルチプレクサ(MPX)41bと、A/D変換器41aによるA/D変換値を格納する4つのレジスタADR1〜ADR4とを備えている。
つまり、A/D変換部41は、各入力端子T1〜T4へのアナログ信号AN1〜AN4を切り替えて1つのA/D変換器41aによりA/D変換する多チャネル(この例は4チャネル)A/D変換器であり、各入力端子T1〜T4は、A/D変換の各チャネルCH1〜CH4に相当している。また、レジスタADR1〜ADR4は、入力端子T1〜T4の各々に対応して設けられたものである。そして、各レジスタADR1〜ADR4には、自身に対応する入力端子へのアナログ信号をA/D変換した結果(A/D変換値)が格納される。
尚、本実施形態では、入力端子T1に、気筒#1の筒内圧信号CP1が入力され、入力端子T2に、気筒#1の燃料圧信号IP1が入力され、入力端子T3に、気筒#2の筒内圧信号CP2が入力され、入力端子T4に、気筒#2の燃料圧信号IP2が入力される。また、以下では、入力端子T1〜T4のことを、A/D変換チャネルCH1〜CH4、あるいは単に、チャネルCH1〜CH4ともいう。
更に、A/D変換部41は、タイマ部45から、A/D変換チャネルCH1〜CH4の各々に対応したA/D変換トリガ信号が入力されるようになっている。A/D変換チャネルCHn(nは1〜4の何れかであり以下も同じ)に対応するA/D変換トリガ信号とは、そのA/D変換チャネルCHnへのアナログ信号のA/D変換実施を指令する信号である。
このようなA/D変換部41では、タイマ部45から、何れかのA/D変換チャネルCHnに対応したA/D変換トリガ信号が入力される毎に、次のようなサンプリング動作が行われる。
即ち、まず、マルチプレクサ41bが、そのA/D変換チャネルCHn(入力端子Tn)へのアナログ信号を選択してA/D変換器41aに入力させると共に、A/D変換器41aが起動して、そのアナログ信号をA/D変換する。そして、A/D変換部41は、A/D変換器41aによるA/D変換が完了して、A/D変換値を、レジスタADR1〜ADR4のうち、A/D変換チャネルCHnに対応したレジスタADRnに格納すると、DMAC46に対して、A/D変換チャネルCHnに対応するA/D変換完了信号を出力する。A/D変換チャネルCHnに対応するA/D変換完了信号とは、A/D変換チャネルCHnへのアナログ信号のA/D変換が完了したことを示す信号である。
タイマ部45は、A/D変換チャネルCH1〜CH4の各々に対応したタイマTM1〜TM4を備えている。
そして、各タイマTM1〜TM4は、マイコン31の内部クロックでカウントアップされるフリーランカウンタと、コンペアレジスタとを備えており、フリーランカウンタの値が、コンペアレジスタに予めセットされているコンペア値(比較値)と同じになると、A/D変換部41へA/D変換トリガ信号を出力すると共に、その時点でフリーランカウンタの値が0に戻るようになっている。
このため、例えば、タイマTM1からは、そのタイマTM1を成すフリーランカウンタの値が該タイマTM1を成すコンペアレジスタ内のコンペア値と一致する毎であって、「コンペア値×内部クロックの1周期時間」の時間毎に、A/D変換チャネルCH1に対応したA/D変換トリガ信号が出力される。尚、他のタイマTM2,TM3,TM4についても同様である。また、以下の説明では、各タイマTM1〜TM4を成すフリーランカウンタの値のことを、タイマTM1〜TM4のカウント値という。
DMAC46は、A/D変換部41から、何れかのA/D変換チャネルCHnに対応したA/D変換完了信号が出力されると、A/D変換部41のレジスタADR1〜ADR4のうち、A/D変換チャネルCHnに対応したレジスタADRn内のA/D変換値を、RAM44において各A/D変換チャネルCH1〜CH4に対応して設けられている記憶領域RAM1〜RAM4のうち、そのA/D変換チャネルCHnに対応した記憶領域RAMnに、DMA転送する。また、各記憶領域RAM1〜RAM4は、A/D変換値を複数記憶可能であり、DMAC46は、あるA/D変換チャネルCHnに対応したA/D変換完了信号がA/D変換部41から出力される毎に、レジスタADRn内のA/D変換値を記憶領域RAMnの先頭から順に格納する。
このため、例えば、記憶領域RAM1には、A/D変換チャネルCH1へのアナログ信号のA/D変換値が累積して記憶され、記憶領域RAM2には、A/D変換チャネルCH2へのアナログ信号のA/D変換値が累積して記憶される。他の記憶領域RAM3,RAM4についても同様である。
尚、図1において、DMAC46内に「DMA1」,「DMA2」,「DMA3」,「DMA4」と図示しているのは、そのDMAC46におけるDMAチャネルである。そして、図1において点線の矢印で示しているように、レジスタADR1内のA/D変換値は、DMAC46のDMAチャネルDMA1によって記憶領域RAM1にDMA転送され、レジスタADR2内のA/D変換値は、DMAC46のDMAチャネルDMA2によって記憶領域RAM2にDMA転送され、レジスタADR3内のA/D変換値は、DMAC46のDMAチャネルDMA3によって記憶領域RAM3にDMA転送され、レジスタADR4内のA/D変換値は、DMAC46のDMAチャネルDMA4によって記憶領域RAM4にDMA転送される。
次に、各タイマTM1〜TM4がA/D変換トリガ信号を出力するタイミングについて、図2を用い説明する。尚、図2においては、チャネルCHn(nは1〜4の何れか)と記載した各段の上向き矢印のタイミングが、各タイマTMnからA/D変換チャネルCHnに対応したA/D変換トリガ信号が出力されるタイミングを表している。そして、このことは、後述する図4,図5についても同様である。
図2における上向き矢印で示すように、各タイマTM1〜TM4は、自身に対応したA/D変換チャネルCH1〜CH4へのアナログ信号について定められた一定のサンプリング間隔(周期)で、且つ、何れかのアナログ信号のA/D変換実施中と重ならないように互いにずれたタイミングで、A/D変換トリガ信号を出力する。
図2においては、周期1が、A/D変換チャネルCH1へのアナログ信号AN1(気筒#1の筒内圧信号CP1)のサンプリング間隔であり、周期2が、A/D変換チャネルCH2へのアナログ信号AN2(気筒#1の燃料圧信号IP1)のサンプリング間隔であり、周期3が、A/D変換チャネルCH3へのアナログ信号AN3(気筒#2の筒内圧信号CP2)のサンプリング間隔であり、周期4が、A/D変換チャネルCH4へのアナログ信号AN4(気筒#2の燃料圧信号IP2)のサンプリング間隔である。
そして、図2において、「A/D変換処理」と記載した段における各四角枠の占有時間が、A/D変換器41aにより何れかのアナログ信号AN1〜AN4のA/D変換が開始されてから、A/D変換値が何れかのレジスタADR1〜ADR4に格納されるまでの時間を表しており、本実施形態では、その時間をA/D変換所要時間としている。そして、各タイマTM1〜TM4のA/D変換トリガ信号の出力タイミングは、そのA/D変換所要時間よりも長い時間だけ、互いにずらされている。但し、図2では、図示を簡略化するため、各A/D変換トリガ信号の相互間隔とA/D変換所要時間(四角枠の占有時間)とが同じのように表している。
尚、本実施形態において、各レジスタADR1〜ADR4から上記各記憶領域RAM1〜RAM4へのA/D変換値のDMA転送は、他のA/D変換チャネルについてのA/D変換器41aによるA/D変換と並行して実施可能になっているが、もし、DMA転送とA/D変換とを並行して行うことができない構成(つまり、DMA転送の所要時間もA/D変換所要時間に含まれる構成)ならば、A/D変換トリガ信号の出力タイミングの相互ずれを、DMA転送の所要時間の分だけ更に長い時間にすれば良い。また、A/D変換対象のアナログ信号AN1〜AN4は、筒内圧信号CP1,CP2と燃料圧信号IP1,IP2であるため、波形をトレースするような間隔でA/D変換できるように、上記周期1〜周期4は数十μsに設定されている。
次に、A/D変換トリガ信号の出力タイミングの相互ずれを、どのように発生させているかについて、図2に加え図3を用いて説明する。
まず、図2及び図3においては、点線で示すグリッドの横方向の1目盛りが、マイコン31の内部クロックの1周期時間(即ち、各タイマTM1〜TM4のフリーランカウンタが1カウントアップされる時間)であるものとする。尚、これは、説明内容を分かり易くするための一例である。また、以下では、内部クロックの1周期時間を、Tckと記載する。
この場合、図2に示すように、A/D変換チャネルCH1に対応するA/D変換トリガ信号の周期(周期1)と、A/D変換チャネルCH3に対応するA/D変換トリガ信号の周期(周期3)は、「12×Tck」であり、A/D変換チャネルCH2に対応するA/D変換トリガ信号の周期(周期2)と、A/D変換チャネルCH4に対応するA/D変換トリガ信号の周期(周期4)は、「6×Tck」である。
更に、各A/D変換トリガ信号は、順番が隣り合うもの同士で「2×Tck」ずつ、ずれて出力される。
そして、このような各A/D変換トリガ信号の出力周期と出力ずれ(即ち、各A/D変換トリガ信号を出力するスケジュールであり、複数のアナログ信号のA/D変換スケジュール)を実現するために、マイコン31のCPU42は、例えば、ECU11に動作用電源が供給されて当該CPU42が動作を開始した際に行う初期化処理にて、各タイマTM1〜TM4について、図3に示すような初期設定起動を行う。
即ち、まず、タイマTM1については、コンペアレジスタに、コンペア値として、上記周期1に相当する12を設定すると共に、そのタイマTM1のカウント値(フリーランカウンタの値)を、起動時のオフセット値としての0に設定して、該タイマTM1をスタート(詳しくは、そのタイマのフリーランカウンタをスタート)させる。
また、タイマTM2については、コンペアレジスタに、コンペア値として、上記周期2に相当する6を設定すると共に、そのタイマTM2のカウント値を、起動時のオフセット値としての4に設定して、該タイマTM2をスタートさせる。つまり、内部クロックがあと2回発生すると、タイマTM2からA/D変換トリガ信号が出力されるように、カウント値にオフセットを付けておく。
また、タイマTM3については、コンペアレジスタに、コンペア値として、上記周期3に相当する12を設定すると共に、そのタイマTM3のカウント値を、起動時のオフセット値としての6に設定して、該タイマTM3をスタートさせる。つまり、内部クロックがあと6回発生すると、タイマTM3からA/D変換トリガ信号が出力されるように、カウント値にオフセットを付けておく。
また、タイマTM4については、コンペアレジスタに、コンペア値として、上記周期4に相当する6を設定すると共に、そのタイマTM4のカウント値を、起動時のオフセット値としての2に設定して、該タイマTM4をスタートさせる。つまり、内部クロックがあと4回発生すると、タイマTM4からA/D変換トリガ信号が出力されるように、カウント値にオフセットを付けておく。
そして、このような初期設定起動により、各タイマTM1〜TM4からは、図2に示すスケジュールのタイミングでA/D変換トリガ信号がそれぞれ出力されることとなる。
ところで、タイマTM1〜TM4のカウント値が何等かの原因(例えばノイズ等)でずれてしまうと、そのタイマがA/D変換トリガ信号を出力する間隔が狂ってしまい、他のA/D変換トリガ信号との相対的なずれ(即ち、図2のように故意に設けたずれとは異なる異常なずれ)を生じさせることにもなる。
例えば、図4は、タイマTM2のカウント値が、一時的に、そのタイマTM2のコンペア値(=6)よりも大きい値に飛んでしまった場合を例示している。
その場合、A/D変換チャネルCH2に対応するA/D変換トリガ信号は、タイマTM2のカウント値が、カウント可能な最大値にまで達して0に戻り(ラップラウンドし)、再びコンペア値と一致するまで、出力されないこととなる。
このため、A/D変換チャネルCH2に対応するA/D変換トリガ信号の出力間隔、即ち、A/D変換チャネルCH2へのアナログ信号AN2のA/D変換間隔が、本来の間隔(前述の周期2)である「6×Tck」よりも長くなってしまう。
しかも、A/D変換チャネルCH2に対応するA/D変換トリガ信号の出力再開タイミングが、他のA/D変換トリガ信号との本来のずれ(つまり、図2で説明した本来のA/D変換スケジュール)を満たさないタイミングであると、そのタイミングの乱れが継続してしまい、その結果、あるアナログ信号のA/D変換実施中に、他のアナログ信号についてのA/D変換トリガ信号が発生する、という状態が続いてしまう可能性がある。
即ち、前述したように、本実施形態では、本来ならば、各A/D変換トリガ信号の出力タイミングを「2×Tck」ずつずらしているが、図4の例では、A/D変換チャネルCH2に対応するA/D変換トリガ信号の出力再開タイミングが、他のA/D変換トリガ信号との相対関係において、「1×Tck」の時間(点線で示すグリッドの横方向の1目盛り分)だけ遅れてしまった場合を示している。
このため、図4の例では、A/D変換チャネルCH2へのアナログ信号AN2のA/D変換が未だ完了していない時点で、次のA/D変換チャネルCH4に対応するA/D変換トリガ信号が発生して、そのA/D変換チャネルCH4へのアナログ信号AN4のA/D変換開始が、アナログ信号AN2のA/D変換完了時まで待たされて遅れ、そのため、アナログ信号AN4のA/D変換が未だ完了していない時点で、次のA/D変換チャネルCH1に対応するA/D変換トリガ信号が発生して、そのA/D変換チャネルCH1へのアナログ信号AN1のA/D変換開始が、アナログ信号AN4のA/D変換完了時まで待たされて遅れ、また同様に、アナログ信号AN4のA/D変換が未だ完了していない時点で、A/D変換チャネルCH3に対応するA/D変換トリガ信号が発生して、そのA/D変換チャネルCH3へのアナログ信号AN3のA/D変換開始が、アナログ信号AN4のA/D変換完了時まで待たされて遅れる、といった状態を招くこととなり、他のアナログ信号AN1,AN3,AN4のA/D変換間隔も本来の間隔からずれることとなる。
尚、本実施形態において、A/D変換部41は、A/D変換実施中に入力された次のA/D変換トリガ信号を記憶しておいて、前のA/D変換トリガ信号に伴うA/D変換が完了してから次のA/D変換を実施する機能を有しているため、図4のような状態になるが、A/D変換実施中のA/D変換トリガ信号を無視する構成の場合、図4の例では、アナログ信号AN4のA/D変換が実施されない状態が続いてしまう。
また、図4の例では、アナログ信号AN1〜AN4のA/D変換間隔が一時的に乱れるものの、各アナログ信号AN1〜AN4のA/D変換タイミングが全体的に同じだけ遅れることで、それらのA/D変換間隔が偶然元の間隔に戻る例であるが、実際には他の現象が多々あり得る。
例えば、A/D変換チャネルCH2に対応するA/D変換トリガ信号の出力再開タイミングが、他のA/D変換トリガ信号の出力タイミングとほぼ同時になったとすると、そのうちの一方のA/D変換トリガ信号が無視され続けるか、あるいは、どちらのA/D変換トリガ信号に対応するA/D変換が先に実施されるかも分からない。また、複数のタイマに異常が生じて3つ以上のA/D変換トリガ信号が近接して出力されるようになったとすると、A/D変換部41に複数のA/D変換トリガ信号を記憶しておく機能がない限り、何れかのアナログ信号のA/D変換が実施できなくなってしまう。
このため、A/D変換トリガ信号の出力タイミングが本来のスケジュール(図2)を満たさない状態が継続するのは好ましくない。
そこで以下では、こうした不具合を解消するためになされた対策について説明する。
まず、未説明であったが、本実施形態において、A/D変換部41は、A/D変換チャネルCH1〜CH4の各々について、CPU42から、サンプリング開始指示とサンプリング停止指示とを、例えばバス47又は専用線を介して受けるようになっている。
そして、図5に示すように、A/D変換部41は、各A/D変換チャネルCH1〜CH4について、そのチャネルに対応するサンプリング開始指示を受けたときから、そのチャネルに対応するサンプリング停止指示を受けるまでの間をサンプリング期間として、該サンプリング期間の間、そのチャネルに対応するA/D変換トリガ信号が入力される毎に、前述のサンプリング動作(アナログ信号を選択及びA/D変換してA/D変換値をレジスタに格納すると共に、A/D変換完了信号を出力する動作)を行うようになっている。
このため、各A/D変換チャネルCH1〜CH4については、サンプリング開始指示からサンプリング停止指示までのサンプリング期間の間だけ、A/D変換トリガ信号が入力される毎に、A/D変換処理動作とA/D変換値のRAM44への記憶処理動作とが行われることとなる。
尚、図5では、点線で囲んだ部分により、A/D変換チャネルCH2についてのサンプリング期間(アナログ信号AN2のサンプリング期間)を例示しているが、複数のA/D変換チャネルについて、サンプリング期間は重複していても良い。A/D変換タイミング自体を重複させるわけではないからである。
また、本実施形態では、A/D変換チャネルCH1へのアナログ信号AN1とA/D変換チャネルCH2へのアナログ信号AN2とが、同じ気筒#1の筒内圧信号CP1と燃料圧信号IP1であると共に、A/D変換チャネルCH3へのアナログ信号AN3とA/D変換チャネルCH4へのアナログ信号AN4とが、同じ気筒#2の筒内圧信号CP2と燃料圧信号IP2である。そして、筒内圧信号と燃料圧信号は、それに対応する気筒の燃料噴射期間中において波形をトレースするようなサンプリング間隔でA/D変換したい信号である。
一方、本実施形態では、例えば、各気筒#nについて、その気筒#nの圧縮行程上死点(TDC)よりも78°CA(尚、CAはクランク角を表す)だけ前のクランク角であるBTDC78°CAにて、その気筒#nに対する最初の燃料噴射が行われる可能性がある。また、各気筒#nについて、その気筒#nのTDCよりも72°CAだけ後のクランク角であるATDC72°CAでは、その気筒#nに対する最後の燃料噴射が終了しているようになっている。
このため、CPU42は、気筒#1の筒内圧信号CP1と燃料圧信号IP1とが入力されるA/D変換チャネルCH1,CH2については、気筒#1のBTDC78°CAよりも少し前のクランク角(本実施形態では例えばBTDC98°CA)のタイミングにて、図6(A)のサンプリング開始処理を実行することにより、サンプリング開始指示を出力し、気筒#1のATDC72°CAのタイミングにて、図6(B)のサンプリング停止処理を実行することにより、サンプリング停止指示を出力する。そして、これにより、筒内圧信号CP1と燃料圧信号IP1とが、気筒#1の燃料噴射期間中においてA/D変換されるようにしている。尚、クランク角は、クランク角センサ23からの信号に基づき周知の手法で検出される。
同様に、CPU42は、気筒#2の筒内圧信号CP2と燃料圧信号IP2とが入力されるA/D変換チャネルCH3,CH4については、気筒#2のBTDC98°CAのタイミングにて、図6(A)のサンプリング開始処理を実行することにより、サンプリング開始指示を出力し、気筒#2のATDC72°CAのタイミングにて、図6(B)のサンプリング停止処理を実行することにより、サンプリング停止指示を出力する。そして、これにより、筒内圧信号CP2と燃料圧信号IP2とが、気筒#2の燃料噴射期間中においてA/D変換されるようにしている。
詳しく説明すると、CPU42は、気筒#1のBTDC98°CAと、気筒#2のBTDC98°CAとの、何れかのタイミングになると、図6(A)のサンプリング開始処理を開始する。
ここで、今回のタイミングが気筒#1のBTDC98°CAならば、S110にて、A/D変換チャネルCH1,CH2に対応するDMAチャネルDMA1,DMA2を初期化する処理であって、その各DMAチャネルDMA1,DMA2による最初のデータ転送先をRAM44の記憶領域RAM1,RAM2の先頭に戻す処理を行うと共に、A/D変換チャネルCH1についてのサンプリング開始指示と、A/D変換チャネルCH2についてのサンプリング開始指示とを、A/D変換部41に出力する。
また、今回のタイミングが気筒#2のBTDC98°CAならば、S110にて、A/D変換チャネルCH3,CH4に対応するDMAチャネルDMA3,DMA4を初期化する処理であって、その各DMAチャネルDMA3,DMA4による最初のデータ転送先をRAM44の記憶領域RAM3,RAM4の先頭に戻す処理を行うと共に、A/D変換チャネルCH3についてのサンプリング開始指示と、A/D変換チャネルCH4についてのサンプリング開始指示とを、A/D変換部41に出力する。
そして、CPU42は、上記S110の処理を終えると、当該サンプリング開始処理を終了する。
また、CPU42は、気筒#1のATDC72°CAと、気筒#2のATDC72°CAとの、何れかのタイミングになると、図6(B)のサンプリング停止処理を開始する。
そして、今回のタイミングが気筒#1のATDC72°CAならば、S210にて、A/D変換チャネルCH1についてのサンプリング停止指示と、A/D変換チャネルCH2についてのサンプリング停止指示とを、A/D変換部41に出力する。
また、今回のタイミングが気筒#2のATDC72°CAならば、S210にて、A/D変換チャネルCH3についてのサンプリング停止指示と、A/D変換チャネルCH4についてのサンプリング停止指示とを、A/D変換部41に出力する。
そして、CPU42は、上記S210の処理を終えると、次のS220にて、タイマチェック処理を行う。尚、タイマチェック処理は、各タイマTM1〜TM4から各A/D変換トリガ信号が出力される時間差が正常値か否かをチェックする処理であり、換言すれば、各タイマTM1〜TM4から本来のスケジュールのタイミング(図2のタイミング)でA/D変換トリガ信号がそれぞれ出力される状態か否かをチェックする処理である。
そして、そのタイマチェック処理では、まず、図7における(1)に示すように、現在の各タイマTM1〜TM4のカウント値を読み出す。
次に、図7における(2)に示すように、上記(1)で読み出した各タイマTMnのカウント値から、そのタイマTMnについての起動時のオフセット値をそれぞれ引く。尚、起動時のオフセット値とは、図3を用いて説明したオフセット値である。そして、本実施形態では、タイマTM1なら0、タイマTM2なら4、タイマTM3なら6、タイマTM4なら2、である。
そして、図7における(3)に示すように、上記(2)の計算結果に対して、周期1〜4の基本単位である6(即ち、倍数関係にある周期1〜4のなかの最小周期に相当する6)を加減算することで、各タイマTM1〜TM4についての検証対象値を求める。尚、その検証対象値は、タイマTM1〜TM4について、仮に、オフセット値が全て0で且つ周期1〜4が全て同じであるとした場合の、各タイマTM1〜TM4のカウント値である。そして、図7では、周期を合わせることを「高さを合わせる」と表現している。
具体的に説明すると、本実施形態では、図2に示したように、周期1〜4のうち、周期2及び周期4(=6×Tck)が最小であり、周期1及び周期3(=12×Tck)は、周期2及び周期4の2倍であるため、その最小の周期2及び周期4を決めている6という値(周期をTckで割った値)が、周期1〜4の基本単位となっている。そして、上記(2)の計算結果が6以上ならば、その計算結果から6を引き、上記(2)の計算結果が負ならば、その計算結果に6を加え、上記(2)の計算結果が6以上でも負でもなければ、そのままの値とする、という処理を行うことで、各タイマTM1〜TM4についての検証対象値を求める。
そして、上記(3)で求めた検証対象値が全て一致していれば、A/D変換トリガ信号の出力スケジュールに異常がない(即ち、各タイマTM1〜TM4から図2に示す本来のスケジュールのタイミングでA/D変換トリガ信号がそれぞれ出力される正常状態である)と判断することができる。
そこで、タイマチェック処理では、上記(3)で求めた検証対象値が全て一致していれば、正常であると判断する。また、例えば図8に例示するように、上記(3)で求めた検証対象値が全て一致していなければ(つまり、検証対象値同士の差が0でなければ)、異常であると判断する。
尚、A/D変換トリガ信号の出力タイミングのずれ(本来のスケジュールからのずれ)が、ある程度許容されるのであれば、検証対象値同士の差が、0でなくても所定範囲内であれば、正常であると判断するようにしても良い。そして、上記所定範囲は、検出したい異常の程度によって適宜設定することができる。また、上記(1)の手順で各タイマTM1〜TM4のカウント値を読み出す場合に、各タイマTM1〜TM4のカウント値を一斉にキャプチャできる機能があれば、同時点の各カウント値を確実に取得することができるが、そのようなキャプチャの機能がなく、しかも、4つのカウント値を1つずつ読み出している間に、未読み出しのカウント値が進んでしまう可能性があるのであれば、正常/異常の判断基準として上記の所定範囲を設けることが好ましい。つまり、各タイマTM1〜TM4から各A/D変換トリガ信号が出力される時間差が正常値か否かを判定するための、その正常値には、適宜幅を設けても良い、ということである。
図6(B)についての説明に戻ると、CPU42は、上記のようなタイマチェック処理を行った後、次のS230にて、タイマチェック処理での判断結果を参照し、そのタイマチェック処理で正常(エラーなし)と判断された場合には(S230:NO)、S240に進んで、データ処理を行った後、当該サンプリング停止処理を終了する。
S240でのデータ処理としては、今回のタイミングが気筒#1のATDC72°CAならば、A/D変換チャネルCH1,CH2についてのサンプリング期間が終了したということであることから、RAM44の記憶領域RAM1,RAM2に記憶されているサンプリング期間分の各A/D変換値を、RAM44における他の演算対象領域にコピーする処理を行う。また、今回のタイミングが気筒#2のATDC72°CAならば、A/D変換チャネルCH3,CH4についてのサンプリング期間が終了したということであることから、RAM44の記憶領域RAM3,RAM4に記憶されているサンプリング期間分の各A/D変換値を、RAM44における他の演算対象領域にコピーする処理を行う。
そして、上記S240の処理でコピーされた各A/D変換値のうち、記憶領域RAM1からコピーされた各A/D変換値(即ち、筒内圧信号CP1の各A/D変換値)は、他の演算処理により、例えば、気筒#1の実際の燃焼時期や燃焼状態等を予測するのに用いられる。また、記憶領域RAM2からコピーされた各A/D変換値(即ち、燃料圧信号IP1の各A/D変換値)は、他の演算処理により、例えば、インジェクタIJ1の実際の噴射特性を推定するのに用いられる。同様に、記憶領域RAM3からコピーされた各A/D変換値(即ち、筒内圧信号CP2の各A/D変換値)は、他の演算処理により、例えば気筒#2の実際の燃焼時期や燃焼状態等を予測するのに用いられ、記憶領域RAM4からコピーされた各A/D変換値(即ち、燃料圧信号IP2の各A/D変換値)は、他の演算処理により、例えばインジェクタIJ2の実際の噴射特性を推定するのに用いられる。そして更に、上記各演算処理で得られた実際の燃焼時期や燃焼状態等と噴射特性は、燃料噴射制御にフィードバックして用いられる。
尚、筒内圧信号の時系列のA/D変換値から燃焼時期や燃焼状態等を予測する方法や、燃料圧信号の時系列のA/D変換値から噴射特性を推定する方法については、公知であり様々なものが考えられているため説明を省略する。また、燃焼時期等の予測結果や噴射特性の推定結果を用いた燃料噴射制御についても、公知であり様々なものが考えられているため説明を省略する。一方、S240にて、上記各演算処理を直接行っても良い。
また、上記タイマチェック処理で異常(エラーあり)と判断された場合(S230:YES)には、S250に移行して、スケジュール再起動処理を行う。
そのスケジュール再起動処理は、各タイマTM1〜TM4を、各A/D変換トリガ信号が出力される時間差が正常値となるように調整するための処理である。より具体的には、各A/D変換トリガ信号が出力される時間差が正常値となるようにタイマTM1〜TM4を動作開始時の初期状態と同じ状態から動作させ直す処理であり、図3を用いて説明した初期設定起動と同様の処理を行う。
即ち、スケジュール再起動処理では、タイマTM1のカウント値を0に設定し、タイマTM2のカウント値を4に設定し、タイマTM3のカウント値を6に設定し、タイマTM4のカウント値を2に設定する。すると、各タイマTM1〜TM4は、図3における左端の初期状態となり、その初期状態から動作し直すこととなる。
このため、S250の処理が行われることで、各タイマTM1〜TM4が正常化され、以後は、図2に示した正常なスケジュールで各A/D変換トリガ信号が出力される。
そして、次のS260にて、今回のサンプリング期間で収集した各A/D変換値を破棄する。即ち、エンジンの制御に用いないようにするための処置を行う。具体的には、今回のタイミングが気筒#1のATDC72°CAならば、RAM44の記憶領域RAM1,RAM2に記憶されている各A/D変換値を、RAM44の上記演算対象領域にコピーしないか、あるいは消去する。同様に、今回のタイミングが気筒#2のATDC72°CAならば、RAM44の記憶領域RAM3,RAM4に記憶されている各A/D変換値を、RAM44の上記演算対象領域にコピーしないか、あるいは消去する。
そして、上記S260の後、当該サンプリング停止処理を終了する。
尚、A/D変換チャネルCH1とA/D変換チャネルCH2とで、サンプリング開始指示とサンプリング停止指示との出力タイミングを異ならせて、筒内圧信号CP1と燃料圧信号IP1とのサンプリング期間を一部重複させつつずらすのであれば、その各チャネルCH1,CH2について、前述のサンプリング開始処理とサンプリング停止処理とを実行すれば良い。但し、A/D変換チャネルCH1とA/D変換チャネルCH2は、同じ気筒#1に関する信号CP1,IP1をA/D変換するチャネルであり、サンプリング期間が重複することになるので、もし、何れかのチャネル(CH1又はCH2)についてのサンプリング停止処理において、S230でエラーありと判定した場合、S260では、両チャネルCH1,CH2についてのA/D変換値(即ち、両記憶領域RAM1,RAM2に記憶されている各A/D変換値)を破棄すれば良い。チャネルCH1,CH2のどちらについてもA/D変換値の信頼性が疑わしいからである。そして、このようなことは、A/D変換チャネルCH3,CH4についても同様である。
以上のようなECU11によれば、図6(B)におけるS220,S230,S250の処理が行われるため、各タイマTM1〜TM4から各A/D変換トリガ信号が出力される時間差が正常値でない異常状態になっても、そのことを検知して、各タイマTM1〜TM4を正常化し、各A/D変換トリガ信号が元のスケジュールで出力される状態に戻すことができる。このため、前述した不具合を解消することができ、1つのA/D変換器41aによって複数のアナログ信号を正確な時間間隔でA/D変換することができるようになる。また、スケジュール再起動処理(S250)により、各タイマTM1〜TM4の正常化を素早く完了することができる。
また、A/D変換部41にサンプリング停止指示が出力されるサンプリング期間終了時に、タイマチェック処理(S220)が行われ、そのタイマチェック処理で異常と判断された場合には、スケジュール再起動処理(S250)を行うだけでなく、今回のサンプリング期間で収集したRAM44内の各A/D変換値を破棄するため(S260)、おかしな間隔でA/D変換された結果のA/D変換値がエンジンの制御に使用されることを防止することができ、制御の信頼性を向上させることができる。
また、本実施形態において、気筒#1の筒内圧信号CP1と燃料圧信号IP1については、その気筒#1よりも燃料噴射順が1つ前の気筒#2に対する燃料噴射が終了してから、気筒#1に対する燃料噴射が開始されるまでの間のタイミングであって、気筒#2のATDC72°CA(=気筒#1のBTDC108°CA)のタイミングにて、図6(B)におけるS220,S230,S250の処理が実行されることとなる。このため、筒内圧信号CP1と燃料圧信号IP1とを、気筒#1の燃料噴射期間において一定のサンプリング間隔でA/D変換することを、より確実に実施することができ、エンジンの制御精度を確保することができる。タイマTM1〜TM4からA/D変換トリガ信号が出力される相互タイミングが狂っていたとしても、気筒#1への燃料噴射が開始される前(気筒#1の筒内圧信号CP1と燃料圧信号IP1とのサンプリング期間が始まる直前でもある)に、図6(B)におけるS250のスケジュール再起動処理により、タイマTM1〜TM4の正常化が行われるからである。
尚、A/D変換部41のチャネル数を8に拡張して、気筒#3,#4の筒内圧信号CP3,CP4及び燃料圧信号IP3,IP4についても、気筒#1,#2の筒内圧信号CP1,CP2及び燃料圧信号IP1,IP2について説明したのと同様に切り替えてA/D変換するように構成すれば、各気筒#1〜#4の信号について、前述したのと同様の効果が得られる。
一方、本第1実施形態では、RAM44がメモリに相当し、A/D変換部41とDMAC46とが、変換処理手段に相当している。そして、図6(B)におけるS220,S230,S250が、タイミング修正手段としての処理に相当し、図6(B)におけるS260が、データ破棄手段としての処理に相当している。また、CPU42が処理部に相当している。
[第2実施形態]
第2実施形態のECU11は、第1実施形態と比較すると、マイコン31のCPU42が、図6(A)のサンプリング開始処理に代えて、図9(A)のサンプリング開始処理を実行する点と、図6(B)のサンプリング停止処理に代えて、図9(B)のサンプリング停止処理を実行する点とが、異なっている。尚、図9において、図6と同じ内容の処理については、図6と同じステップ番号を付しているため、説明を省略する。
そして、図9(A)のサンプリング開始処理では、図6(A)のサンプリング開始処理と比較すると、S110の処理を行う前に、図6(B)のサンプリング停止処理で行っていたS220,S230,S250の処理を行うようになっている。つまり、まずタイマチェック処理を行い(S220)、そのタイマチェック処理で正常と判断した場合には(S230:NO)、そのままS110の処理を行うが、タイマチェック処理で異常と判断した場合には(S230:YES)、スケジュール再起動処理を行ってから(S250)、S110の処理を行う。
また、図9(B)のサンプリング停止処理では、図6(B)のサンプリング停止処理と比較すると、S220,S230,S250及びS260の処理が削除されており、S210とS240の処理だけが行われる。
このような第2実施形態では、A/D変換部41にサンプリング開始指示が出力されるサンプリング期間開始時に、タイマチェック処理(S220)が行われて、そのタイマチェック処理で異常と判断されたならスケジュール再起動処理(S250)が行われる。このため、各タイマTM1〜TM4を正常化してから、各アナログ信号のサンプリングを開始することができる。
また、本実施形態においても、気筒#1の筒内圧信号CP1と燃料圧信号IP1については、気筒#1より燃料噴射順が1つ前の気筒#2に対する燃料噴射が終了してから、気筒#1に対する燃料噴射が開始されるまでの間のタイミング(気筒#1のBTDC98°CA=気筒#2のATDC82°CAのタイミング)にて、S220のタイマチェック処理が実行され、異常と判断された場合には更にS250のスケジュール再起動処理が実行される。同様に、気筒#2の筒内圧信号CP2と燃料圧信号IP2についても、気筒#2より燃料噴射順が1つ前の気筒#3に対する燃料噴射が終了してから、気筒#2に対する燃料噴射が開始されるまでの間のタイミング(気筒#2のBTDC98°CA=気筒#3のATDC82°CAのタイミング)にて、S220のタイマチェック処理が実行され、異常と判断された場合には更にS250のスケジュール再起動処理が実行される。
よって、気筒#1,#2の各々について、筒内圧信号と燃料圧信号とを燃料噴射期間において一定のサンプリング間隔でA/D変換することを、より確実に実施することができる。
尚、A/D変換部41のチャネル数を8に拡張して、気筒#3,#4の筒内圧信号CP3,CP4及び燃料圧信号IP3,IP4についても、気筒#1,#2の筒内圧信号CP1,CP2及び燃料圧信号IP1,IP2について説明したのと同様に切り替えてA/D変換するように構成すれば、各気筒#1〜#4の信号について、前述したのと同様の効果が得られる。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
変形例として、図6(B)又は図9(A)のS250では、タイマTM1〜TM4の何れかからA/D変換トリガ信号が出力されるまで待ち、A/D変換トリガ信号が出力されたなら、それを出力したタイマ(ここではTMxとする)のカウント値を読み出し、その読み出した値にタイマTMxのカウント値がなっているときにおいて他のタイマのカウント値がなっているべき各値を計算し、他のタイマのカウント値を、その計算した各値に設定する、という処理を行っても良い。
例えば、最初にA/D変換トリガ信号を出力したのがタイマTM1であり、そのタイマTM1のカウント値が9であったならば、図7における(1)のところで示しているように、他のタイマTM2〜TM4の各カウント値は、それぞれ1,3,5になっているべきであるため、タイマTM2〜TM4の各カウント値を、1,3,5の各々に設定する、という処理を行えば良い。
そして、このような処理であれば、A/D変換トリガ信号の出力タイミング時にタイマTM1〜TM4を正常化させることとなるため、その正常化によって各A/D変換トリガ信号の出力間隔を乱すことがないという利点がある。
また、図6(B)又は図9(A)のS250では、全てのタイマTM1〜TM4のカウント値を0にして、まず何れか1つのタイマ(ここではTM1とする)だけをスタートさせ、その後、正規のずれ時間である「2×Tck」だけ待って、次のタイマTM2をカウント値が0の状態からスタートさせ、更にその後「2×Tck」だけ待って、次のタイマTM4をカウント値が0の状態からスタートさせ、更にその後「2×Tck」だけ待って、次のタイマTM3をカウント値が0の状態からスタートさせる、といった処理を行っても良い。但し、前述のスケジュール再起動処理の方が、各タイマTM1〜TM4の正常化を一斉に行うことができ有利である。
一方、他の変形例として、A/D変換部41は、サンプリング期間でないチャネルについても、A/D変換トリガ信号が入力される毎にA/D変換は行うが、DMAC46にA/D変換完了信号を出力しない、というように構成しても良い。つまり、サンプリング期間でないチャネルについては、A/D変換は行われるがA/D変換値のRAM44への記憶は行われないようにしても良い。
また、A/D変換部41からRAM44へのA/D変換値の転送は、ソフト処理で行っても良い。例えば、A/D変換部41でのA/D変換が完了する度に起動される割込処理により、A/D変換部41からA/D変換値を読み出してRAM44の目的のアドレスに書き込むように構成することができる。
また、図9(A)のサンプリング開始処理と図6(B)のサンプリング停止処理とを行うようにしても良い。
また、圧力センサSa1〜Sa4が設けられる位置は、インジェクタIJ1〜IJ4の燃料取込口に限らず、コモンレール15の燃料出口(燃料供給用配管17のコモンレール15側の端)からインジェクタIJ1〜IJ4の噴射口までの燃料通路における何れかの位置で良い。
また、燃料噴射制御の対象は、ガソリンエンジンであっても良い。
11…ECU(電子制御装置)、13…車載ディーゼルエンジン、15…コモンレール、17…燃料供給用配管、19…燃料タンク、21…燃料ポンプ、23…クランク角センサ、31…マイコン、41…A/D変換部、41a…A/D変換器、41b…マルチプレクサ、ADR1〜ADR4…レジスタ、T1〜T4…入力端子、42…CPU、43…ROM、44…RAM、RAM1〜RAM4…記憶領域、45…タイマ部、TM1〜TM4…タイマ、46…DMAC(DMAコントローラ)、DMA1〜DMA4…DMAチャネル、47…バス、IJ1〜IJ4…インジェクタ、Sa1〜Sa4…燃料圧力センサ、Sb1〜Sb4…筒内圧力センサ

Claims (6)

  1. 複数のアナログ信号に基づき制御対象を制御する電子制御装置に設けられ、
    前記複数の各アナログ信号を、そのアナログ信号について定められた一定のサンプリング間隔でA/D変換すると共に、そのA/D変換後のデジタルデータをメモリに格納するA/D変換処理装置であって、
    前記複数の各アナログ信号がそれぞれ入力される複数の入力端子と、アナログ信号をA/D変換するA/D変換器とを有し、前記各入力端子にそれぞれ対応する複数のA/D変換トリガ信号のうちの何れかが入力されると、その入力されたA/D変換トリガ信号に対応した前記入力端子への前記アナログ信号を、前記A/D変換器に入力させて該A/D変換器にA/D変換させるA/D変換処理動作と、そのA/D変換器によるA/D変換後のデジタルデータを、それがどの入力端子へのアナログ信号をA/D変換したものなのかを区別可能に前記メモリに格納する記憶処理動作とを行う変換処理手段と、
    前記変換処理手段へ、前記各A/D変換トリガ信号を、そのA/D変換トリガ信号に対応する前記入力端子への前記アナログ信号について定められた一定の前記サンプリング間隔で、且つ、互いにずれたタイミングで、それぞれ出力するために、前記各入力端子に対応してそれぞれ設けられ複数のタイマと、を備え、
    前記各タイマは、単位時間毎にカウント値が歩進するものであって、前記カウント値が所定の値になる毎に、該カウント値が0に戻ると共に、当該タイマに対応した前記入力端子に対応する前記A/D変換トリガ信号を前記変換処理手段に出力することにより、そのA/D変換トリガ信号を、当該タイマ対応した前記入力端子への前記アナログ信号について定められた一定の前記サンプリング間隔で、前記変換処理手段に出力するものであり、
    更に、前記各タイマの動作開始時における前記カウント値は、前記各タイマからの前記各A/D変換トリガ信号の出力タイミングが互いにずれるように設定され、
    当該A/D変換処理装置は、
    前記各タイマから前記各A/D変換トリガ信号が出力される時間差が正常値でない異常状態か否かを判定し、異常状態であると判定したならば、前記各タイマを、前記各A/D変換トリガ信号が出力される時間差が前記正常値となるように調整するタイミング修正手段備えていること
    を特徴とするA/D変換処理装置。
  2. 請求項1に記載のA/D変換処理装置において、
    前記タイミング修正手段は、
    前記調整のための処理として、前記各タイマから前記各A/D変換トリガ信号が出力される時間差が前記正常値となるように前記全てのタイマを動作開始時の状態から動作させ直す処理を行うこと、
    を特徴とするA/D変換処理装置。
  3. 請求項1又は請求項2に記載のA/D変換処理装置において、
    前記変換処理手段は、
    前記電子制御装置に設けられた処理部から、前記各入力端子に対応するサンプリング開始指示とサンプリング停止指示とを受けるようになっていると共に、前記各入力端子について、その入力端子に対応するサンプリング開始指示を受けたときから、その入力端子に対応するサンプリング停止指示を受けるまでの間をサンプリング期間として、該サンプリング期間の間、その入力端子に対応するA/D変換トリガ信号が入力される毎に、前記A/D変換処理動作と前記記憶処理動作とを行うようになっており、
    前記タイミング修正手段は、
    何れかの入力端子に対応する前記サンプリング停止指示が前記処理部から前記変換処理手段へ出力されたときに動作すること、
    を特徴とするA/D変換処理装置。
  4. 請求項3に記載のA/D変換処理装置において、
    前記タイミング修正手段によって前記異常状態であると判定された場合に、前記メモリに格納されているデジタルデータを破棄するデータ破棄手段を備えていること、
    を特徴とするA/D変換処理装置。
  5. 請求項1ないし請求項4の何れか1項に記載のA/D変換処理装置において、
    前記変換処理手段は、
    前記電子制御装置に設けられた処理部から、前記各入力端子に対応するサンプリング開始指示とサンプリング停止指示とを受けるようになっていると共に、前記各入力端子について、その入力端子に対応するサンプリング開始指示を受けたときから、その入力端子に対応するサンプリング停止指示を受けるまでの間をサンプリング期間として、該サンプリング期間の間、その入力端子に対応するA/D変換トリガ信号が入力される毎に、前記A/D変換処理動作と前記記憶処理動作とを行うようになっており、
    前記タイミング修正手段は、
    何れかの入力端子に対応する前記サンプリング開始指示が前記処理部から前記変換処理手段へ出力される前に動作すること、
    を特徴とするA/D変換処理装置。
  6. 請求項1ないし請求項5の何れか1項に記載のA/D変換処理装置において、
    前記電子制御装置は、車両のエンジンを制御するものであり、
    前記アナログ信号のうちの少なくとも1つは、高圧の燃料を蓄える蓄圧容器の燃料出口から前記エンジンの何れかの気筒に燃料を噴射する燃料噴射弁の噴射口までの燃料経路における所定位置の燃料圧力を検出する圧力センサからの信号、又は、前記エンジンの何れかの気筒の筒内圧力を検出する圧力センサからの信号であり、
    前記タイミング修正手段は、前記圧力センサが設けられた前記何れかの気筒よりも燃料噴射順が1つ前の気筒に対する燃料噴射が終了してから、前記圧力センサが設けられた前記何れかの気筒に対する燃料噴射が開始されるまでの間に、動作すること、
    を特徴とするA/D変換処理装置。
JP2010020302A 2010-02-01 2010-02-01 A/d変換処理装置 Expired - Fee Related JP5327085B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010020302A JP5327085B2 (ja) 2010-02-01 2010-02-01 A/d変換処理装置
DE102011003335.1A DE102011003335B4 (de) 2010-02-01 2011-01-28 A/D-Wandlervorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010020302A JP5327085B2 (ja) 2010-02-01 2010-02-01 A/d変換処理装置

Publications (2)

Publication Number Publication Date
JP2011160199A JP2011160199A (ja) 2011-08-18
JP5327085B2 true JP5327085B2 (ja) 2013-10-30

Family

ID=44316259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010020302A Expired - Fee Related JP5327085B2 (ja) 2010-02-01 2010-02-01 A/d変換処理装置

Country Status (2)

Country Link
JP (1) JP5327085B2 (ja)
DE (1) DE102011003335B4 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196265B (zh) * 2016-12-08 2024-05-10 武汉万集光电技术有限公司 一种多路激光飞行时间并行采集系统及方法
JP2018096273A (ja) * 2016-12-13 2018-06-21 株式会社デンソー 電子制御装置
JP6981512B2 (ja) * 2016-12-13 2021-12-15 株式会社デンソー 電子制御装置
KR102176763B1 (ko) 2018-11-15 2020-11-10 현대오트론 주식회사 능동적 가변 샘플링 및 능동적 가변 위상 제어를 이용한 adc 샘플링 및 리소스 사용 최적화 방법
CN113055012A (zh) * 2021-03-05 2021-06-29 Tcl空调器(中山)有限公司 Ad采样方法、装置及存储介质
CN116107487B (zh) * 2023-04-12 2023-08-08 上海励驰半导体有限公司 采样控制方法、相关设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6022437Y2 (ja) * 1980-05-12 1985-07-03 タケダ理研工業株式会社 デ−タ集録装置
JPS62191915A (ja) * 1986-02-18 1987-08-22 Yokogawa Electric Corp 多入力デ−タ記憶装置
JP3830199B2 (ja) * 1996-04-01 2006-10-04 沖電気工業株式会社 A/d変換装置及びマイクロコントローラ
JPH1187134A (ja) 1997-09-02 1999-03-30 Honda Motor Co Ltd 電磁ソレノイドの制御装置
KR20010043447A (ko) * 1998-05-08 2001-05-25 인피니언 테크놀로지스 아게 아날로그 신호의 아날로그-디지털 변환을 위한 방법 및아날로그-디지털 변환 장치
DE19820735C1 (de) * 1998-05-08 1999-10-28 Siemens Ag Zeitgeber für einen A/D-Wandler
US6906655B1 (en) * 2003-12-18 2005-06-14 Eaton Corporation Plural channel analog-to-digital converter, method and meter employing an input channel with a predetermined direct current bias
JP4840288B2 (ja) 2006-11-14 2011-12-21 株式会社デンソー 燃料噴射装置及びその調整方法
ITTO20070189A1 (it) * 2007-03-14 2008-09-15 St Microelectronics Srl "circuito per la programmazione del tempo di campionamento in un convertitore analogico/digitale multicanale"
JP2008301456A (ja) * 2007-06-04 2008-12-11 Yamaha Motor Electronics Co Ltd Ad変換装置

Also Published As

Publication number Publication date
JP2011160199A (ja) 2011-08-18
DE102011003335A1 (de) 2011-08-04
DE102011003335B4 (de) 2020-08-13

Similar Documents

Publication Publication Date Title
JP5327085B2 (ja) A/d変換処理装置
JP4333709B2 (ja) 筒内噴射式内燃機関の制御装置
JP4924668B2 (ja) 燃料噴射制御装置
US9856845B2 (en) Control device for internal combustion engine
KR100827587B1 (ko) 내연 엔진을 제어하는 장치 및 방법
US9441567B2 (en) Method and device for detecting different exhaust gas probe errors during the operation of an internal combustion engine
KR102372257B1 (ko) 내연 기관의 실화를 진단하기 위한 방법
JP2011252418A (ja) 内燃機関の燃料噴射システム
JP2007332944A (ja) 内燃機関の燃料噴射制御装置
KR20130025397A (ko) 분사 제어 방법
JP6213085B2 (ja) 内燃機関の気筒別空燃比制御装置
US8463526B2 (en) Method for detecting a periodically pulsing operating parameter
JP4396322B2 (ja) 内燃機関の燃料噴射制御装置
WO2017069088A1 (ja) エンジン
US9534554B2 (en) Fuel injection amount calculation method and fuel injection controlling apparatus
KR102406117B1 (ko) 연료 분사 제어 장치 및 방법
CN109415988B (zh) 燃料喷射装置的控制装置
JP2016079937A (ja) 制御装置
JP6414421B2 (ja) 内燃機関の燃料噴射制御装置
KR102350839B1 (ko) 내연기관의 실린더 밸런싱 방법
JP2009092075A (ja) 筒内噴射式内燃機関の制御装置
JP2012112322A (ja) 内燃機関の燃料噴射制御装置
KR101793078B1 (ko) 캠 센서가 없는 차량엔진 동기 설정의 에러검출 방법
JP2009156268A (ja) 内燃機関の制御装置
JP2018021453A (ja) 内燃機関の燃料噴射制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130529

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130708

R151 Written notification of patent or utility model registration

Ref document number: 5327085

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees