(57)【要約】【課題】１つのＡ／Ｄ変換器により複数の各アナログ信号を正確な時間間隔でＡ／Ｄ変換することができるようにする。【解決手段】エンジンを制御するＥＣＵのマイコンは、複数の入力端子へのアナログ信号を切り替えて１つのＡ／Ｄ変換器でＡ／Ｄ変換する多チャネルのＡ／Ｄ変換部を有している。そして、そのＡ／Ｄ変換部は、各チャネルに対応したタイマからトリガ信号が出力される毎に、そのトリガ信号に対応したチャネルのアナログ信号をＡ／Ｄ変換するようになっている。このため、各タイマは、各アナログ信号のＡ／Ｄ変換が重複しないように、トリガ信号の出力タイミングが互いにずらされている。そこで、マイコンのＣＰＵは、各タイマからトリガ信号が出力される時間差が正常値でない異常状態か否かを判定し（Ｓ２２０）、異常状態ならば（Ｓ２３０：ＹＥＳ）、全タイマを動作開始時の状態から動作させ直す（Ｓ２５０）。【選択図】図６
2011160199.tif 000002
【特許請求の範囲】
【請求項１】
複数のアナログ信号に基づき制御対象を制御する電子制御装置に設けられ、
前記複数の各アナログ信号を、そのアナログ信号について定められた一定のサンプリング間隔でＡ／Ｄ変換すると共に、そのＡ／Ｄ変換後のデジタルデータをメモリに格納するＡ／Ｄ変換処理装置であって、
前記複数の各アナログ信号がそれぞれ入力される複数の入力端子と、アナログ信号をＡ／Ｄ変換するＡ／Ｄ変換器とを有し、前記各入力端子に対応するＡ／Ｄ変換トリガ信号のうちの何れかが入力されると、そのＡ／Ｄ変換トリガ信号に対応した入力端子へのアナログ信号を、前記Ａ／Ｄ変換器に入力させて該Ａ／Ｄ変換器にＡ／Ｄ変換させるＡ／Ｄ変換処理動作と、そのＡ／Ｄ変換器によるＡ／Ｄ変換後のデジタルデータを、それがどの入力端子へのアナログ信号をＡ／Ｄ変換したものなのかを区別可能に前記メモリに格納する記憶処理動作とを行う変換処理手段と、
前記各入力端子に対応してそれぞれ設けられ、自身に対応した入力端子に対応する前記Ａ／Ｄ変換トリガ信号を、自身に対応した入力端子へのアナログ信号について定められた一定のサンプリング間隔で、前記変換処理手段に出力する複数のタイマであって、前記Ａ／Ｄ変換トリガ信号の出力タイミングが互いにずらされている複数のタイマと、
前記各タイマから前記各Ａ／Ｄ変換トリガ信号が出力される時間差が正常値でない異常状態か否かを判定し、異常状態であると判定したならば、前記各タイマを、前記各Ａ／Ｄ変換トリガ信号が出力される時間差が前記正常値となるように調整するタイミング修正手段と、
を備えていることを特徴とするＡ／Ｄ変換処理装置。
【請求項２】
請求項１に記載のＡ／Ｄ変換処理装置において、
前記タイミング修正手段は、
前記調整のための処理として、前記各タイマから前記各Ａ／Ｄ変換トリガ信号が出力される時間差が前記正常値となるように前記全てのタイマを動作開始時の状態から動作させ直す処理を行うこと、
を特徴とするＡ／Ｄ変換処理装置。
【請求項３】
請求項１又は請求項２に記載のＡ／Ｄ変換処理装置において、
前記変換処理手段は、
前記電子制御装置に設けられた処理部から、前記各入力端子に対応するサンプリング開始指示とサンプリング停止指示とを受けるようになっていると共に、前記各入力端子について、その入力端子に対応するサンプリング開始指示を受けたときから、その入力端子に対応するサンプリング停止指示を受けるまでの間をサンプリング期間として、該サンプリング期間の間、その入力端子に対応するＡ／Ｄ変換トリガ信号が入力される毎に、前記Ａ／Ｄ変換処理動作と前記記憶処理動作とを行うようになっており、
前記タイミング修正手段は、
何れかの入力端子に対応する前記サンプリング停止指示が前記処理部から前記変換処理手段へ出力されたときに動作すること、
を特徴とするＡ／Ｄ変換処理装置。
【請求項４】
請求項３に記載のＡ／Ｄ変換処理装置において、
前記タイミング修正手段によって前記異常状態であると判定された場合に、前記メモリに格納されているデジタルデータを破棄するデータ破棄手段を備えていること、
を特徴とするＡ／Ｄ変換処理装置。
【請求項５】
請求項１ないし請求項４の何れか１項に記載のＡ／Ｄ変換処理装置において、
前記変換処理手段は、
前記電子制御装置に設けられた処理部から、前記各入力端子に対応するサンプリング開始指示とサンプリング停止指示とを受けるようになっていると共に、前記各入力端子について、その入力端子に対応するサンプリング開始指示を受けたときから、その入力端子に対応するサンプリング停止指示を受けるまでの間をサンプリング期間として、該サンプリング期間の間、その入力端子に対応するＡ／Ｄ変換トリガ信号が入力される毎に、前記Ａ／Ｄ変換処理動作と前記記憶処理動作とを行うようになっており、
前記タイミング修正手段は、
何れかの入力端子に対応する前記サンプリング開始指示が前記処理部から前記変換処理手段へ出力されたときに動作すること、
を特徴とするＡ／Ｄ変換処理装置。
【請求項６】
請求項１ないし請求項５の何れか１項に記載のＡ／Ｄ変換処理装置において、
前記電子制御装置は、車両のエンジンを制御するものであり、
前記アナログ信号のうちの少なくとも１つは、高圧の燃料を蓄える蓄圧容器の燃料出口から前記エンジンの何れかの気筒に燃料を噴射する燃料噴射弁の噴射口までの燃料経路における所定位置の燃料圧力を検出する圧力センサからの信号、又は、前記エンジンの何れかの気筒の筒内圧力を検出する圧力センサからの信号であり、
前記タイミング修正手段は、前記圧力センサが設けられた前記何れかの気筒よりも燃料噴射順が１つ前の気筒に対する燃料噴射が終了してから、前記圧力センサが設けられた前記何れかの気筒に対する燃料噴射が開始されるまでの間に、動作すること、
を特徴とするＡ／Ｄ変換処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアナログ信号を１つのＡ／Ｄ変換器でＡ／Ｄ変換するＡ／Ｄ変換処理装置に関する。
【背景技術】
【０００２】
複数のアナログ信号を１つのＡ／Ｄ変換器でＡ／Ｄ変換する技術として、例えば特許文献１に記載のものがある。
特許文献１では、位相がずれた２つのパルス信号の立ち上がりを基準にした各タイミングにて、２つのアナログ信号をＡ／Ｄ変換器に切り替えて入力させることで、その２つのアナログ信号の各々を異なるタイミングでＡ／Ｄ変換するようにしている。即ち、一方のパルス信号の立ち上がりを基準にした所定タイミングで、一方のアナログ信号をＡ／Ｄ変換器に入力してＡ／Ｄ変換し、他方のパルス信号の立ち上がりを基準としたタイミングで、他方のアナログ信号をＡ／Ｄ変換器に入力してＡ／Ｄ変換することにより、２つのアナログ信号のＡ／Ｄ変換タイミングが重複しないようにしている。
【０００３】
一方、車両に搭載されるディーゼルエンジンの制御分野においては、燃料ポンプによって圧送される高圧の燃料を蓄えるコモンレールの燃料出口から燃料噴射弁の噴射口までの燃料通路における所定位置に、圧力センサ（燃料圧力センサ）を設け、その圧力センサからの信号を一定時間毎にＡ／Ｄ変換することで、気筒への燃料噴射に伴う燃料圧力推移を検出すると共に、その検出結果から燃料噴射弁の実際の噴射特性を推定して、その推定結果を燃料噴射制御にフィードバックして用いる、といったことが考えられている（例えば特許文献２参照）。
【０００４】
また、エンジンの気筒に、その気筒の筒内圧力を検出する圧力センサ（筒内圧力センサ）を設け、その圧力センサからの信号を一定時間毎にＡ／Ｄ変換することで、例えば実際の燃焼時期や燃焼状態を予測して、その予測結果を燃料噴射制御にフィードバックして用いる、といったことも考えられている（例えば特許文献３参照）。
【０００５】
そして一般に、こうした燃料圧力センサや筒内圧力センサからの信号は、波形をトレースするような短い一定のサンプリング間隔（例えば数十μｓ毎）でＡ／Ｄ変換される共に、そのサンプリング間隔は、エンジン制御の精度を確保又は向上させるために、できるだけ正確である必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−８７１３４号公報
【特許文献２】特開２００８−１４４７４９号公報
【特許文献３】特開２００８−６３９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、前述した特許文献１の技術においては、各アナログ信号についてのＡ／Ｄ変換実施のトリガとなる２つのパルス信号に相対的なずれが生じる可能性がある。具体的には、各パルス信号をそれぞれ発生するためのタイマの少なくとも１つに狂いが生じたなら、各パルス信号に相対的なずれが生じる（つまり、２つのパルス信号の立ち上がりの時間差が変わる）こととなる。
【０００８】
そして、各パルス信号に相対的なずれが生じると、そのパルス信号によって指令される２つのアナログ信号のＡ／Ｄ変換タイミングが重複してしまう可能性がある。例えば、一方のアナログ信号のＡ／Ｄ変換実施中に、他方のアナログ信号のＡ／Ｄ変換を実施させるトリガが発生することになる。すると、他方のアナログ信号のＡ／Ｄ変換が実施されないとかＡ／Ｄ変換開始が待たされて遅れる、といった不具合が発生する。結局は、何れかのアナログ信号のＡ／Ｄ変換間隔が狂ってしまうことになる。
【０００９】
そして例えば、前述した燃料圧力センサからの信号と筒内圧力センサからの信号とを１つのＡ／Ｄ変換器でＡ／Ｄ変換する場合や、その燃料圧力センサ又は筒内圧力センサからの信号と他のアナログ信号とを１つのＡ／Ｄ変換器でＡ／Ｄ変換する場合に、Ａ／Ｄ変換間隔の狂いが生じると、エンジンの制御精度を低下させてしまうこととなる。
【００１０】
本発明は、こうした問題に鑑みてなされたものであり、１つのＡ／Ｄ変換器により複数の各アナログ信号を正確な時間間隔でＡ／Ｄ変換することができるようにすることを目的としている。
【課題を解決するための手段】
【００１１】
請求項１のＡ／Ｄ変換処理装置は、複数のアナログ信号に基づき制御対象を制御する電子制御装置に設けられ、その複数の各アナログ信号を、そのアナログ信号について定められた一定のサンプリング間隔でＡ／Ｄ変換すると共に、そのＡ／Ｄ変換後のデジタルデータをメモリに格納する。
【００１２】
そして、この機能を実現するために、請求項１のＡ／Ｄ変換処理装置は、変換処理手段と、複数のタイマとを備えている。
変換処理手段は、Ａ／Ｄ変換対象の複数の各アナログ信号がそれぞれ入力される複数の入力端子と、アナログ信号をＡ／Ｄ変換するＡ／Ｄ変換器とを有している。
【００１３】
そして、変換処理手段は、各入力端子に対応するＡ／Ｄ変換トリガ信号のうちの何れかが入力されると、そのＡ／Ｄ変換トリガ信号に対応した入力端子へのアナログ信号を、Ａ／Ｄ変換器に入力させて該Ａ／Ｄ変換器にＡ／Ｄ変換させるＡ／Ｄ変換処理動作と、そのＡ／Ｄ変換器によるＡ／Ｄ変換後のデジタルデータを、それがどの入力端子へのアナログ信号をＡ／Ｄ変換したものなのかを区別可能に前記メモリに格納する記憶処理動作とを行う。
【００１４】
また、複数の各タイマは、変換処理手段の前記各入力端子に対応してそれぞれ設けられたものであり、自身に対応した入力端子に対応する前記Ａ／Ｄ変換トリガ信号を、自身に対応した入力端子へのアナログ信号について定められた一定のサンプリング間隔で、変換処理手段に出力する。そして、その複数のタイマによる各Ａ／Ｄ変換トリガ信号の出力タイミングは互いにずらされている。
【００１５】
このため、各タイマから変換処理手段へは、各入力端子に対応するＡ／Ｄ変換トリガ信号が、互いにずれたタイミングで、且つ、その入力端子へのアナログ信号について定められた一定のサンプリング間隔で、それぞれ出力されることとなる。
【００１６】
よって、変換処理手段は、各入力端子に入力される各アナログ信号を、互いにずれたタイミングで、且つ、そのアナログ信号について定められた一定のサンプリング間隔で、Ａ／Ｄ変換器にＡ／Ｄ変換させて、そのＡ／Ｄ変換後のデジタルデータを、それがどの入力端子へのアナログ信号をＡ／Ｄ変換したものなのかを区別可能にメモリに格納することとなる。
【００１７】
尚、このような前提から当然であるが、各タイマのＡ／Ｄ変換トリガ信号の出力タイミングは、そのＡ／Ｄ変換トリガ信号が何れかのアナログ信号のＡ／Ｄ変換実施中に出力されないように、互いにずらされている。つまり、各Ａ／Ｄ変換トリガ信号の出力タイミングは、Ａ／Ｄ変換所要時間（Ａ／Ｄ変換器が１つのアナログ信号をＡ／Ｄ変換するのに要する時間）よりは長い時間だけ、互いにずらされている。
【００１８】
そして特に、請求項１のＡ／Ｄ変換処理装置は、タイミング修正手段を備えており、そのタイミング修正手段は、各タイマから各Ａ／Ｄ変換トリガ信号が出力される時間差が正常値でない異常状態か否かを判定し、異常状態であると判定したならば、各タイマを、各Ａ／Ｄ変換トリガ信号が出力される時間差が正常値となるように調整する。尚、以下では、この調整のことを、各タイマの正常化ともいう。
【００１９】
このような請求項１のＡ／Ｄ変換処理装置によれば、何れかのタイマに狂いが生じて各Ａ／Ｄ変換トリガ信号の出力時間差が正常値ではなくなった場合に、その状態を是正することができる。よって、例えば、あるアナログ信号のＡ／Ｄ変換実施中に他のアナログ信号のＡ／Ｄ変換を指令するＡ／Ｄ変換トリガ信号が出力されてしまったり、複数のＡ／Ｄ変換トリガ信号が同時に出力されてしまったりする、という状態を解消することができ、その結果、何れかのアナログ信号のＡ／Ｄ変換が実施されなかったり遅れたりすることを解消することができる。また、何れかのタイマによるＡ／Ｄ変換トリガ信号の出力間隔が変わってしまっていても、各Ａ／Ｄ変換トリガ信号の出力時間差が正常値ではなくなるため、そのことを検知して各タイマの正常化を行うことができる。このため、１つのＡ／Ｄ変換器により複数の各アナログ信号を正確な時間間隔でＡ／Ｄ変換することができるようになる。
【００２０】
次に、請求項２のＡ／Ｄ変換処理装置では、請求項１のＡ／Ｄ変換処理装置において、タイミング修正手段は、前記調整のための処理として、各タイマから各Ａ／Ｄ変換トリガ信号が出力される時間差が正常値となるように全てのタイマを動作開始時の状態から動作させ直す処理を行う。
【００２１】
この構成によれば、各タイマの正常化であって、各アナログ信号のＡ／Ｄ変換実施タイミングの正常化（即ち、各アナログ信号のＡ／Ｄ変換タイミングが重複しないようにし、且つ、各アナログ信号のＡ／Ｄ変換間隔を予め定められたサンプリング間隔に戻すこと）を、確実に素早く行うことができる。
【００２２】
次に、請求項３のＡ／Ｄ変換処理装置では、請求項１，２のＡ／Ｄ変換処理装置において、変換処理手段は、電子制御装置に設けられた処理部から、各入力端子に対応するサンプリング開始指示とサンプリング停止指示とを受けるようになっていると共に、各入力端子について、その入力端子に対応するサンプリング開始指示を受けたときから、その入力端子に対応するサンプリング停止指示を受けるまでの間をサンプリング期間として、該サンプリング期間の間、その入力端子に対応するＡ／Ｄ変換トリガ信号が入力される毎に、前記Ａ／Ｄ変換処理動作と前記記憶処理動作とを行うようになっている。尚、処理部は、電子制御装置において、例えば制御対象を制御するための処理を行うもので良い。
【００２３】
そして、タイミング修正手段は、何れかの入力端子に対応するサンプリング停止指示が前記処理部から変換処理手段へ出力されたときに動作するようになっている。
この構成によれば、処理部から次の何れかの入力端子に対応するサンプリング開始指示が出力された際には、既に各タイマが正常化されているようにすることができる。
【００２４】
次に、請求項４のＡ／Ｄ変換処理装置では、請求項３のＡ／Ｄ変換処理装置において、データ破棄手段を備えており、そのデータ破棄手段は、タイミング修正手段によって異常状態であると判定された場合に、前記メモリに格納されているデジタルデータを破棄する。そして、この構成によれば、おかしな間隔でＡ／Ｄ変換された結果のデジタルデータが制御対象の制御に使用されることを防止することができ、制御の信頼性を向上させることができる。
【００２５】
次に、請求項５のＡ／Ｄ変換処理装置では、請求項１〜４のＡ／Ｄ変換処理装置において、変換処理手段は、電子制御装置に設けられた処理部から、各入力端子に対応するサンプリング開始指示とサンプリング停止指示とを受けるようになっていると共に、各入力端子について、その入力端子に対応するサンプリング開始指示を受けたときから、その入力端子に対応するサンプリング停止指示を受けるまでの間をサンプリング期間として、該サンプリング期間の間、その入力端子に対応するＡ／Ｄ変換トリガ信号が入力される毎に、前記Ａ／Ｄ変換処理動作と前記記憶処理動作とを行うようになっている。
【００２６】
そして、タイミング修正手段は、何れかの入力端子に対応するサンプリング開始指示が前記処理部から変換処理手段へ出力されたときに動作するようになっている。
この構成によれば、各アナログ信号のサンプリング期間が始まるときに、各タイマの正常化を行うことができる。よって、各タイマを正常化してから、各アナログ信号のサンプリングを開始することができる。
【００２７】
次に、請求項６のＡ／Ｄ変換処理装置では、請求項１〜５のＡ／Ｄ変換処理装置において、前記電子制御装置は、車両のエンジンを制御するものであり、Ａ／Ｄ変換対象のアナログ信号のうちの少なくとも１つは、高圧の燃料を蓄える蓄圧容器の燃料出口からエンジンの何れかの気筒（ここでは＃ｘとする）に燃料を噴射する燃料噴射弁の噴射口までの燃料経路における所定位置の燃料圧力を検出する圧力センサからの信号、又は、エンジンの何れかの気筒＃ｘの筒内圧力を検出する圧力センサからの信号である。
【００２８】
そして、タイミング修正手段は、前記圧力センサが設けられた前記何れかの気筒＃ｘよりも燃料噴射順が１つ前の気筒に対する燃料噴射が終了してから、前記圧力センサが設けられた前記何れかの気筒＃ｘに対する燃料噴射が開始されるまでの間に、動作するようになっている。尚、「気筒に対する燃料噴射が終了」とは、いわゆる多段噴射の場合は、複数回の噴射のうちの最後の噴射が終了した時のことである。同様に、「気筒に対する燃料噴射が開始」とは、多段噴射の場合は、複数回の噴射のうちの最初の噴射が開始される時のことである。
【００２９】
この構成によれば、上記圧力センサからの信号を、その圧力センサが設けられた気筒＃ｘの燃料噴射期間において一定のサンプリング間隔でＡ／Ｄ変換することを、より確実に実施することができるようになる。その気筒＃ｘへの燃料噴射が開始される前に、各タイマの正常化が行われるからである。
【００３０】
特に、上記燃料圧力を検出する圧力センサ（燃料圧力センサ）からの信号は、気筒への燃料噴射に伴う燃料圧力推移を正確に検出してエンジンの制御精度を確保するために、その気筒の燃料噴射期間において正確な間隔でＡ／Ｄ変換する必要があり、同様に、上記筒内圧力を検出する圧力センサ（筒内圧力センサ）からの信号は、気筒内の燃焼時期や燃焼状態等を正確に予測してエンジンの制御精度を確保するために、その気筒の燃料噴射期間において正確な間隔でＡ／Ｄ変換する必要があるが、そうした要求を、より確実に実現することができるようになる。
【図面の簡単な説明】
【００３１】
【図１】第１実施形態のＥＣＵ（電子制御装置）を表す構成図である。
【図２】各タイマがＡ／Ｄ変換トリガ信号を出力するタイミングを説明する説明図である。
【図３】各タイマの初期設定起動及びスケジュール再起動処理を説明する説明図である。
【図４】タイマに異常が生じた場合の一例を説明する説明図である。
【図５】Ａ／Ｄ変換部の機能の一つを説明する説明図である。
【図６】第１実施形態のサンプリング開始処理及びサンプリング停止処理を表すフローチャートである。
【図７】タイマチェック処理を説明する第１の説明図（異常なしの場合）である。
【図８】タイマチェック処理を説明する第２の説明図（異常ありの場合）である。
【図９】第２実施形態のサンプリング開始処理及びサンプリング停止処理を表すフローチャートである。
【発明を実施するための形態】
【００３２】
以下に、本発明が適用された実施形態の電子制御装置について説明する。尚、本実施形態の電子制御装置は、例えば自動車のディーゼルエンジンを制御するものであるが、以下では、本発明に直接関係する部分について説明する。
［第１実施形態］
図１に示すように、本実施形態の電子制御制御装置（以下、ＥＣＵという）１１は、車載ディーゼルエンジン１３の各気筒（本実施形態では４つの気筒）＃１〜＃４に設けられている燃料噴射弁としてのインジェクタＩＪ１〜ＩＪ４を駆動して、エンジン１３への燃料噴射を制御するものである。尚、本実施形態において、インジェクタＩＪ１〜ＩＪ４は、コイルへの通電によって開弁する電磁弁式のものであるが、インジェクタＩＪ１〜ＩＪ４としては、ピエゾアクチュエータによって開閉弁するタイプのものでも良い。また、各気筒＃１〜＃４の燃料噴射順序は、「＃１→＃３→＃４→＃２」である。
【００３３】
各インジェクタＩＪ１〜ＩＪ４には、燃料の蓄圧容器であるコモンレール１５から伸びた燃料供給用配管１７がそれぞれ接続されている。また、コモンレール１５には、車両の燃料タンク１９に貯留された燃料が、燃料ポンプ２１によって圧送される。そして、各インジェクタＩＪ１〜ＩＪ４は、コモンレール１５に蓄えられた高圧の燃料が上記燃料供給用配管１７を介して供給されて、その燃料を自身の噴射口（図示省略）から気筒＃１〜＃４に噴射する。尚、燃料ポンプ２１は、例えば、エンジン１３のクランク軸の回転により駆動されてポンプ動作を行う機関駆動式の高圧ポンプである。
【００３４】
更に、コモンレール１５から各インジェクタＩＪ１〜ＩＪ４への燃料供給用配管１７において、インジェクタＩＪ１〜ＩＪ４側の端（即ち、インジェクタＩＪ１〜ＩＪ４の燃料取込口）には、その位置の燃料圧力（いわゆるインレット圧）を検出する圧力センサ（燃料圧力センサ）Ｓａ１〜Ｓａ４がそれぞれ設けられている。また、各気筒＃１〜＃４には、その気筒の筒内圧力を検出する圧力センサ（筒内圧力センサ）Ｓｂ１〜Ｓｂ４がそれぞれ設けられている。
【００３５】
そして、圧力センサＳａ１〜Ｓａ４から出力されるアナログのセンサ信号（以下、燃料圧信号ともいう）ＩＰ１〜ＩＰ４や、圧力センサＳｂ１〜Ｓｂ４から出力されるアナログのセンサ信号（以下、筒内圧信号ともいう）ＣＰ１〜ＣＰ４や、エンジン１３の運転状態を検出するための他のセンサからの信号が、ＥＣＵ１１に入力される。他のセンサとしては、例えば、周知のクランク角センサ２３や、エンジン１３への吸入空気量を検出する吸気量センサや、エンジン１３の冷却水温を検出する水温センサや、アクセル踏み込み量センサや、空燃比センサ等がある。
【００３６】
一方、ＥＣＵ１１は、エンジンを制御するための各種処理を行うマイコン３１を備えている。そして、マイコン３１は、複数のアナログ信号を１つずつ切り替えてＡ／Ｄ変換するＡ／Ｄ変換部４１と、ＣＰＵ（中央処理装置）４２と、ＣＰＵ４２により実行されるプログラムが格納されたＲＯＭ４３と、ＣＰＵ４２による演算結果やＡ／Ｄ変換部４１によるＡ／Ｄ変換後のデジタルデータ（以下、Ａ／Ｄ変換値という）等が記憶されるＲＡＭ４４と、Ａ／Ｄ変換部４１にＡ／Ｄ変換動作を行わせるためのタイマ部４５と、Ａ／Ｄ変換部４１からＲＡＭ４４へのデータ転送（Ａ／Ｄ変換値の転送）を行うＤＭＡコントローラ（Direct Memory Access Controller：以下、ＤＭＡＣという）４６とを備えており、それらは、マイコン３１内のバス４７を介して接続されている。
【００３７】
尚、マイコン３１では、Ａ／Ｄ変換部４１により、各気筒＃１〜＃４の筒内圧信号ＣＰ１〜ＣＰ４及び燃料圧信号ＩＰ１〜ＩＰ４や他のセンサからのアナログ信号を、それぞれＡ／Ｄ変換して、それらのＡ／Ｄ変換値をエンジンの制御処理に用いるが、以下では、説明を簡略化するため、気筒＃１の筒内圧信号ＣＰ１及び燃料圧信号ＩＰ１と、気筒＃２の筒内圧信号ＣＰ２及び燃料圧信号ＩＰ２との、４つのアナログ信号が、Ａ／Ｄ変換部４１によりＡ／Ｄ変換されるものとして説明する。
【００３８】
Ａ／Ｄ変換部４１は、４つのアナログ信号ＡＮ１〜ＡＮ４がそれぞれ入力される入力端子Ｔ１〜Ｔ４と、アナログ信号をＡ／Ｄ変換する１つのＡ／Ｄ変換器４１ａと、入力端子Ｔ１〜Ｔ４に入力されるアナログ信号ＡＮ１〜ＡＮ４のうちの何れか１つを選択してＡ／Ｄ変換器４１ａに入力するマルチプレクサ（ＭＰＸ）４１ｂと、Ａ／Ｄ変換器４１ａによるＡ／Ｄ変換値を格納する４つのレジスタＡＤＲ１〜ＡＤＲ４とを備えている。
【００３９】
つまり、Ａ／Ｄ変換部４１は、各入力端子Ｔ１〜Ｔ４へのアナログ信号ＡＮ１〜ＡＮ４を切り替えて１つのＡ／Ｄ変換器４１ａによりＡ／Ｄ変換する多チャネル（この例は４チャネル）Ａ／Ｄ変換器であり、各入力端子Ｔ１〜Ｔ４は、Ａ／Ｄ変換の各チャネルＣＨ１〜ＣＨ４に相当している。また、レジスタＡＤＲ１〜ＡＤＲ４は、入力端子Ｔ１〜Ｔ４の各々に対応して設けられたものである。そして、各レジスタＡＤＲ１〜ＡＤＲ４には、自身に対応する入力端子へのアナログ信号をＡ／Ｄ変換した結果（Ａ／Ｄ変換値）が格納される。
【００４０】
尚、本実施形態では、入力端子Ｔ１に、気筒＃１の筒内圧信号ＣＰ１が入力され、入力端子Ｔ２に、気筒＃１の燃料圧信号ＩＰ１が入力され、入力端子Ｔ３に、気筒＃２の筒内圧信号ＣＰ２が入力され、入力端子Ｔ４に、気筒＃２の燃料圧信号ＩＰ２が入力される。また、以下では、入力端子Ｔ１〜Ｔ４のことを、Ａ／Ｄ変換チャネルＣＨ１〜ＣＨ４、あるいは単に、チャネルＣＨ１〜ＣＨ４ともいう。
【００４１】
更に、Ａ／Ｄ変換部４１は、タイマ部４５から、Ａ／Ｄ変換チャネルＣＨ１〜ＣＨ４の各々に対応したＡ／Ｄ変換トリガ信号が入力されるようになっている。Ａ／Ｄ変換チャネルＣＨｎ（ｎは１〜４の何れかであり以下も同じ）に対応するＡ／Ｄ変換トリガ信号とは、そのＡ／Ｄ変換チャネルＣＨｎへのアナログ信号のＡ／Ｄ変換実施を指令する信号である。
【００４２】
このようなＡ／Ｄ変換部４１では、タイマ部４５から、何れかのＡ／Ｄ変換チャネルＣＨｎに対応したＡ／Ｄ変換トリガ信号が入力される毎に、次のようなサンプリング動作が行われる。
【００４３】
即ち、まず、マルチプレクサ４１ｂが、そのＡ／Ｄ変換チャネルＣＨｎ（入力端子Ｔｎ）へのアナログ信号を選択してＡ／Ｄ変換器４１ａに入力させると共に、Ａ／Ｄ変換器４１ａが起動して、そのアナログ信号をＡ／Ｄ変換する。そして、Ａ／Ｄ変換部４１は、Ａ／Ｄ変換器４１ａによるＡ／Ｄ変換が完了して、Ａ／Ｄ変換値を、レジスタＡＤＲ１〜ＡＤＲ４のうち、Ａ／Ｄ変換チャネルＣＨｎに対応したレジスタＡＤＲｎに格納すると、ＤＭＡＣ４６に対して、Ａ／Ｄ変換チャネルＣＨｎに対応するＡ／Ｄ変換完了信号を出力する。Ａ／Ｄ変換チャネルＣＨｎに対応するＡ／Ｄ変換完了信号とは、Ａ／Ｄ変換チャネルＣＨｎへのアナログ信号のＡ／Ｄ変換が完了したことを示す信号である。
【００４４】
タイマ部４５は、Ａ／Ｄ変換チャネルＣＨ１〜ＣＨ４の各々に対応したタイマＴＭ１〜ＴＭ４を備えている。
そして、各タイマＴＭ１〜ＴＭ４は、マイコン３１の内部クロックでカウントアップされるフリーランカウンタと、コンペアレジスタとを備えており、フリーランカウンタの値が、コンペアレジスタに予めセットされているコンペア値（比較値）と同じになると、Ａ／Ｄ変換部４１へＡ／Ｄ変換トリガ信号を出力すると共に、その時点でフリーランカウンタの値が０に戻るようになっている。
【００４５】
このため、例えば、タイマＴＭ１からは、そのタイマＴＭ１を成すフリーランカウンタの値が該タイマＴＭ１を成すコンペアレジスタ内のコンペア値と一致する毎であって、「コンペア値×内部クロックの１周期時間」の時間毎に、Ａ／Ｄ変換チャネルＣＨ１に対応したＡ／Ｄ変換トリガ信号が出力される。尚、他のタイマＴＭ２，ＴＭ３，ＴＭ４についても同様である。また、以下の説明では、各タイマＴＭ１〜ＴＭ４を成すフリーランカウンタの値のことを、タイマＴＭ１〜ＴＭ４のカウント値という。
【００４６】
ＤＭＡＣ４６は、Ａ／Ｄ変換部４１から、何れかのＡ／Ｄ変換チャネルＣＨｎに対応したＡ／Ｄ変換完了信号が出力されると、Ａ／Ｄ変換部４１のレジスタＡＤＲ１〜ＡＤＲ４のうち、Ａ／Ｄ変換チャネルＣＨｎに対応したレジスタＡＤＲｎ内のＡ／Ｄ変換値を、ＲＡＭ４４において各Ａ／Ｄ変換チャネルＣＨ１〜ＣＨ４に対応して設けられている記憶領域ＲＡＭ１〜ＲＡＭ４のうち、そのＡ／Ｄ変換チャネルＣＨｎに対応した記憶領域ＲＡＭｎに、ＤＭＡ転送する。また、各記憶領域ＲＡＭ１〜ＲＡＭ４は、Ａ／Ｄ変換値を複数記憶可能であり、ＤＭＡＣ４６は、あるＡ／Ｄ変換チャネルＣＨｎに対応したＡ／Ｄ変換完了信号がＡ／Ｄ変換部４１から出力される毎に、レジスタＡＤＲｎ内のＡ／Ｄ変換値を記憶領域ＲＡＭｎの先頭から順に格納する。
【００４７】
このため、例えば、記憶領域ＲＡＭ１には、Ａ／Ｄ変換チャネルＣＨ１へのアナログ信号のＡ／Ｄ変換値が累積して記憶され、記憶領域ＲＡＭ２には、Ａ／Ｄ変換チャネルＣＨ２へのアナログ信号のＡ／Ｄ変換値が累積して記憶される。他の記憶領域ＲＡＭ３，ＲＡＭ４についても同様である。
【００４８】
尚、図１において、ＤＭＡＣ４６内に「ＤＭＡ１」，「ＤＭＡ２」，「ＤＭＡ３」，「ＤＭＡ４」と図示しているのは、そのＤＭＡＣ４６におけるＤＭＡチャネルである。そして、図１において点線の矢印で示しているように、レジスタＡＤＲ１内のＡ／Ｄ変換値は、ＤＭＡＣ４６のＤＭＡチャネルＤＭＡ１によって記憶領域ＲＡＭ１にＤＭＡ転送され、レジスタＡＤＲ２内のＡ／Ｄ変換値は、ＤＭＡＣ４６のＤＭＡチャネルＤＭＡ２によって記憶領域ＲＡＭ２にＤＭＡ転送され、レジスタＡＤＲ３内のＡ／Ｄ変換値は、ＤＭＡＣ４６のＤＭＡチャネルＤＭＡ３によって記憶領域ＲＡＭ３にＤＭＡ転送され、レジスタＡＤＲ４内のＡ／Ｄ変換値は、ＤＭＡＣ４６のＤＭＡチャネルＤＭＡ４によって記憶領域ＲＡＭ４にＤＭＡ転送される。
【００４９】
次に、各タイマＴＭ１〜ＴＭ４がＡ／Ｄ変換トリガ信号を出力するタイミングについて、図２を用い説明する。尚、図２においては、チャネルＣＨｎ（ｎは１〜４の何れか）と記載した各段の上向き矢印のタイミングが、各タイマＴＭｎからＡ／Ｄ変換チャネルＣＨｎに対応したＡ／Ｄ変換トリガ信号が出力されるタイミングを表している。そして、このことは、後述する図４，図５についても同様である。
【００５０】
図２における上向き矢印で示すように、各タイマＴＭ１〜ＴＭ４は、自身に対応したＡ／Ｄ変換チャネルＣＨ１〜ＣＨ４へのアナログ信号について定められた一定のサンプリング間隔（周期）で、且つ、何れかのアナログ信号のＡ／Ｄ変換実施中と重ならないように互いにずれたタイミングで、Ａ／Ｄ変換トリガ信号を出力する。
【００５１】
図２においては、周期１が、Ａ／Ｄ変換チャネルＣＨ１へのアナログ信号ＡＮ１（気筒＃１の筒内圧信号ＣＰ１）のサンプリング間隔であり、周期２が、Ａ／Ｄ変換チャネルＣＨ２へのアナログ信号ＡＮ２（気筒＃１の燃料圧信号ＩＰ１）のサンプリング間隔であり、周期３が、Ａ／Ｄ変換チャネルＣＨ３へのアナログ信号ＡＮ３（気筒＃２の筒内圧信号ＣＰ２）のサンプリング間隔であり、周期４が、Ａ／Ｄ変換チャネルＣＨ４へのアナログ信号ＡＮ４（気筒＃２の燃料圧信号ＩＰ２）のサンプリング間隔である。
【００５２】
そして、図２において、「Ａ／Ｄ変換処理」と記載した段における各四角枠の占有時間が、Ａ／Ｄ変換器４１ａにより何れかのアナログ信号ＡＮ１〜ＡＮ４のＡ／Ｄ変換が開始されてから、Ａ／Ｄ変換値が何れかのレジスタＡＤＲ１〜ＡＤＲ４に格納されるまでの時間を表しており、本実施形態では、その時間をＡ／Ｄ変換所要時間としている。そして、各タイマＴＭ１〜ＴＭ４のＡ／Ｄ変換トリガ信号の出力タイミングは、そのＡ／Ｄ変換所要時間よりも長い時間だけ、互いにずらされている。但し、図２では、図示を簡略化するため、各Ａ／Ｄ変換トリガ信号の相互間隔とＡ／Ｄ変換所要時間（四角枠の占有時間）とが同じのように表している。
【００５３】
尚、本実施形態において、各レジスタＡＤＲ１〜ＡＤＲ４から上記各記憶領域ＲＡＭ１〜ＲＡＭ４へのＡ／Ｄ変換値のＤＭＡ転送は、他のＡ／Ｄ変換チャネルについてのＡ／Ｄ変換器４１ａによるＡ／Ｄ変換と並行して実施可能になっているが、もし、ＤＭＡ転送とＡ／Ｄ変換とを並行して行うことができない構成（つまり、ＤＭＡ転送の所要時間もＡ／Ｄ変換所要時間に含まれる構成）ならば、Ａ／Ｄ変換トリガ信号の出力タイミングの相互ずれを、ＤＭＡ転送の所要時間の分だけ更に長い時間にすれば良い。また、Ａ／Ｄ変換対象のアナログ信号ＡＮ１〜ＡＮ４は、筒内圧信号ＣＰ１，ＣＰ２と燃料圧信号ＩＰ１，ＩＰ２であるため、波形をトレースするような間隔でＡ／Ｄ変換できるように、上記周期１〜周期４は数十μｓに設定されている。
【００５４】
次に、Ａ／Ｄ変換トリガ信号の出力タイミングの相互ずれを、どのように発生させているかについて、図２に加え図３を用いて説明する。
まず、図２及び図３においては、点線で示すグリッドの横方向の１目盛りが、マイコン３１の内部クロックの１周期時間（即ち、各タイマＴＭ１〜ＴＭ４のフリーランカウンタが１カウントアップされる時間）であるものとする。尚、これは、説明内容を分かり易くするための一例である。また、以下では、内部クロックの１周期時間を、Ｔｃｋと記載する。
【００５５】
この場合、図２に示すように、Ａ／Ｄ変換チャネルＣＨ１に対応するＡ／Ｄ変換トリガ信号の周期（周期１）と、Ａ／Ｄ変換チャネルＣＨ３に対応するＡ／Ｄ変換トリガ信号の周期（周期３）は、「１２×Ｔｃｋ」であり、Ａ／Ｄ変換チャネルＣＨ２に対応するＡ／Ｄ変換トリガ信号の周期（周期２）と、Ａ／Ｄ変換チャネルＣＨ４に対応するＡ／Ｄ変換トリガ信号の周期（周期４）は、「６×Ｔｃｋ」である。
【００５６】
更に、各Ａ／Ｄ変換トリガ信号は、順番が隣り合うもの同士で「２×Ｔｃｋ」ずつ、ずれて出力される。
そして、このような各Ａ／Ｄ変換トリガ信号の出力周期と出力ずれ（即ち、各Ａ／Ｄ変換トリガ信号を出力するスケジュールであり、複数のアナログ信号のＡ／Ｄ変換スケジュール）を実現するために、マイコン３１のＣＰＵ４２は、例えば、ＥＣＵ１１に動作用電源が供給されて当該ＣＰＵ４２が動作を開始した際に行う初期化処理にて、各タイマＴＭ１〜ＴＭ４について、図３に示すような初期設定起動を行う。
【００５７】
即ち、まず、タイマＴＭ１については、コンペアレジスタに、コンペア値として、上記周期１に相当する１２を設定すると共に、そのタイマＴＭ１のカウント値（フリーランカウンタの値）を、起動時のオフセット値としての０に設定して、該タイマＴＭ１をスタート（詳しくは、そのタイマのフリーランカウンタをスタート）させる。
【００５８】
また、タイマＴＭ２については、コンペアレジスタに、コンペア値として、上記周期２に相当する６を設定すると共に、そのタイマＴＭ２のカウント値を、起動時のオフセット値としての４に設定して、該タイマＴＭ２をスタートさせる。つまり、内部クロックがあと２回発生すると、タイマＴＭ２からＡ／Ｄ変換トリガ信号が出力されるように、カウント値にオフセットを付けておく。
【００５９】
また、タイマＴＭ３については、コンペアレジスタに、コンペア値として、上記周期３に相当する１２を設定すると共に、そのタイマＴＭ３のカウント値を、起動時のオフセット値としての６に設定して、該タイマＴＭ３をスタートさせる。つまり、内部クロックがあと６回発生すると、タイマＴＭ３からＡ／Ｄ変換トリガ信号が出力されるように、カウント値にオフセットを付けておく。
【００６０】
また、タイマＴＭ４については、コンペアレジスタに、コンペア値として、上記周期４に相当する６を設定すると共に、そのタイマＴＭ４のカウント値を、起動時のオフセット値としての２に設定して、該タイマＴＭ４をスタートさせる。つまり、内部クロックがあと４回発生すると、タイマＴＭ４からＡ／Ｄ変換トリガ信号が出力されるように、カウント値にオフセットを付けておく。
【００６１】
そして、このような初期設定起動により、各タイマＴＭ１〜ＴＭ４からは、図２に示すスケジュールのタイミングでＡ／Ｄ変換トリガ信号がそれぞれ出力されることとなる。
ところで、タイマＴＭ１〜ＴＭ４のカウント値が何等かの原因（例えばノイズ等）でずれてしまうと、そのタイマがＡ／Ｄ変換トリガ信号を出力する間隔が狂ってしまい、他のＡ／Ｄ変換トリガ信号との相対的なずれ（即ち、図２のように故意に設けたずれとは異なる異常なずれ）を生じさせることにもなる。
【００６２】
例えば、図４は、タイマＴＭ２のカウント値が、一時的に、そのタイマＴＭ２のコンペア値（＝６）よりも大きい値に飛んでしまった場合を例示している。
その場合、Ａ／Ｄ変換チャネルＣＨ２に対応するＡ／Ｄ変換トリガ信号は、タイマＴＭ２のカウント値が、カウント可能な最大値にまで達して０に戻り（ラップラウンドし）、再びコンペア値と一致するまで、出力されないこととなる。
【００６３】
このため、Ａ／Ｄ変換チャネルＣＨ２に対応するＡ／Ｄ変換トリガ信号の出力間隔、即ち、Ａ／Ｄ変換チャネルＣＨ２へのアナログ信号ＡＮ２のＡ／Ｄ変換間隔が、本来の間隔（前述の周期２）である「６×Ｔｃｋ」よりも長くなってしまう。
【００６４】
しかも、Ａ／Ｄ変換チャネルＣＨ２に対応するＡ／Ｄ変換トリガ信号の出力再開タイミングが、他のＡ／Ｄ変換トリガ信号との本来のずれ（つまり、図２で説明した本来のＡ／Ｄ変換スケジュール）を満たさないタイミングであると、そのタイミングの乱れが継続してしまい、その結果、あるアナログ信号のＡ／Ｄ変換実施中に、他のアナログ信号についてのＡ／Ｄ変換トリガ信号が発生する、という状態が続いてしまう可能性がある。
【００６５】
即ち、前述したように、本実施形態では、本来ならば、各Ａ／Ｄ変換トリガ信号の出力タイミングを「２×Ｔｃｋ」ずつずらしているが、図４の例では、Ａ／Ｄ変換チャネルＣＨ２に対応するＡ／Ｄ変換トリガ信号の出力再開タイミングが、他のＡ／Ｄ変換トリガ信号との相対関係において、「１×Ｔｃｋ」の時間（点線で示すグリッドの横方向の１目盛り分）だけ遅れてしまった場合を示している。
【００６６】
このため、図４の例では、Ａ／Ｄ変換チャネルＣＨ２へのアナログ信号ＡＮ２のＡ／Ｄ変換が未だ完了していない時点で、次のＡ／Ｄ変換チャネルＣＨ４に対応するＡ／Ｄ変換トリガ信号が発生して、そのＡ／Ｄ変換チャネルＣＨ４へのアナログ信号ＡＮ４のＡ／Ｄ変換開始が、アナログ信号ＡＮ２のＡ／Ｄ変換完了時まで待たされて遅れ、そのため、アナログ信号ＡＮ４のＡ／Ｄ変換が未だ完了していない時点で、次のＡ／Ｄ変換チャネルＣＨ１に対応するＡ／Ｄ変換トリガ信号が発生して、そのＡ／Ｄ変換チャネルＣＨ１へのアナログ信号ＡＮ１のＡ／Ｄ変換開始が、アナログ信号ＡＮ４のＡ／Ｄ変換完了時まで待たされて遅れ、また同様に、アナログ信号ＡＮ４のＡ／Ｄ変換が未だ完了していない時点で、Ａ／Ｄ変換チャネルＣＨ３に対応するＡ／Ｄ変換トリガ信号が発生して、そのＡ／Ｄ変換チャネルＣＨ３へのアナログ信号ＡＮ３のＡ／Ｄ変換開始が、アナログ信号ＡＮ４のＡ／Ｄ変換完了時まで待たされて遅れる、といった状態を招くこととなり、他のアナログ信号ＡＮ１，ＡＮ３，ＡＮ４のＡ／Ｄ変換間隔も本来の間隔からずれることとなる。
【００６７】
尚、本実施形態において、Ａ／Ｄ変換部４１は、Ａ／Ｄ変換実施中に入力された次のＡ／Ｄ変換トリガ信号を記憶しておいて、前のＡ／Ｄ変換トリガ信号に伴うＡ／Ｄ変換が完了してから次のＡ／Ｄ変換を実施する機能を有しているため、図４のような状態になるが、Ａ／Ｄ変換実施中のＡ／Ｄ変換トリガ信号を無視する構成の場合、図４の例では、アナログ信号ＡＮ４のＡ／Ｄ変換が実施されない状態が続いてしまう。
【００６８】
また、図４の例では、アナログ信号ＡＮ１〜ＡＮ４のＡ／Ｄ変換間隔が一時的に乱れるものの、各アナログ信号ＡＮ１〜ＡＮ４のＡ／Ｄ変換タイミングが全体的に同じだけ遅れることで、それらのＡ／Ｄ変換間隔が偶然元の間隔に戻る例であるが、実際には他の現象が多々あり得る。
【００６９】
例えば、Ａ／Ｄ変換チャネルＣＨ２に対応するＡ／Ｄ変換トリガ信号の出力再開タイミングが、他のＡ／Ｄ変換トリガ信号の出力タイミングとほぼ同時になったとすると、そのうちの一方のＡ／Ｄ変換トリガ信号が無視され続けるか、あるいは、どちらのＡ／Ｄ変換トリガ信号に対応するＡ／Ｄ変換が先に実施されるかも分からない。また、複数のタイマに異常が生じて３つ以上のＡ／Ｄ変換トリガ信号が近接して出力されるようになったとすると、Ａ／Ｄ変換部４１に複数のＡ／Ｄ変換トリガ信号を記憶しておく機能がない限り、何れかのアナログ信号のＡ／Ｄ変換が実施できなくなってしまう。
【００７０】
このため、Ａ／Ｄ変換トリガ信号の出力タイミングが本来のスケジュール（図２）を満たさない状態が継続するのは好ましくない。
そこで以下では、こうした不具合を解消するためになされた対策について説明する。
【００７１】
まず、未説明であったが、本実施形態において、Ａ／Ｄ変換部４１は、Ａ／Ｄ変換チャネルＣＨ１〜ＣＨ４の各々について、ＣＰＵ４２から、サンプリング開始指示とサンプリング停止指示とを、例えばバス４７又は専用線を介して受けるようになっている。
【００７２】
そして、図５に示すように、Ａ／Ｄ変換部４１は、各Ａ／Ｄ変換チャネルＣＨ１〜ＣＨ４について、そのチャネルに対応するサンプリング開始指示を受けたときから、そのチャネルに対応するサンプリング停止指示を受けるまでの間をサンプリング期間として、該サンプリング期間の間、そのチャネルに対応するＡ／Ｄ変換トリガ信号が入力される毎に、前述のサンプリング動作（アナログ信号を選択及びＡ／Ｄ変換してＡ／Ｄ変換値をレジスタに格納すると共に、Ａ／Ｄ変換完了信号を出力する動作）を行うようになっている。
【００７３】
このため、各Ａ／Ｄ変換チャネルＣＨ１〜ＣＨ４については、サンプリング開始指示からサンプリング停止指示までのサンプリング期間の間だけ、Ａ／Ｄ変換トリガ信号が入力される毎に、Ａ／Ｄ変換処理動作とＡ／Ｄ変換値のＲＡＭ４４への記憶処理動作とが行われることとなる。
【００７４】
尚、図５では、点線で囲んだ部分により、Ａ／Ｄ変換チャネルＣＨ２についてのサンプリング期間（アナログ信号ＡＮ２のサンプリング期間）を例示しているが、複数のＡ／Ｄ変換チャネルについて、サンプリング期間は重複していても良い。Ａ／Ｄ変換タイミング自体を重複させるわけではないからである。
【００７５】
また、本実施形態では、Ａ／Ｄ変換チャネルＣＨ１へのアナログ信号ＡＮ１とＡ／Ｄ変換チャネルＣＨ２へのアナログ信号ＡＮ２とが、同じ気筒＃１の筒内圧信号ＣＰ１と燃料圧信号ＩＰ１であると共に、Ａ／Ｄ変換チャネルＣＨ３へのアナログ信号ＡＮ３とＡ／Ｄ変換チャネルＣＨ４へのアナログ信号ＡＮ４とが、同じ気筒＃２の筒内圧信号ＣＰ２と燃料圧信号ＩＰ２である。そして、筒内圧信号と燃料圧信号は、それに対応する気筒の燃料噴射期間中において波形をトレースするようなサンプリング間隔でＡ／Ｄ変換したい信号である。
【００７６】
一方、本実施形態では、例えば、各気筒＃ｎについて、その気筒＃ｎの圧縮行程上死点（ＴＤＣ）よりも７８°ＣＡ（尚、ＣＡはクランク角を表す）だけ前のクランク角であるＢＴＤＣ７８°ＣＡにて、その気筒＃ｎに対する最初の燃料噴射が行われる可能性がある。また、各気筒＃ｎについて、その気筒＃ｎのＴＤＣよりも７２°ＣＡだけ後のクランク角であるＡＴＤＣ７２°ＣＡでは、その気筒＃ｎに対する最後の燃料噴射が終了しているようになっている。
【００７７】
このため、ＣＰＵ４２は、気筒＃１の筒内圧信号ＣＰ１と燃料圧信号ＩＰ１とが入力されるＡ／Ｄ変換チャネルＣＨ１，ＣＨ２については、気筒＃１のＢＴＤＣ７８°ＣＡよりも少し前のクランク角（本実施形態では例えばＢＴＤＣ９８°ＣＡ）のタイミングにて、図６（Ａ）のサンプリング開始処理を実行することにより、サンプリング開始指示を出力し、気筒＃１のＡＴＤＣ７２°ＣＡのタイミングにて、図６（Ｂ）のサンプリング停止処理を実行することにより、サンプリング停止指示を出力する。そして、これにより、筒内圧信号ＣＰ１と燃料圧信号ＩＰ１とが、気筒＃１の燃料噴射期間中においてＡ／Ｄ変換されるようにしている。尚、クランク角は、クランク角センサ２３からの信号に基づき周知の手法で検出される。
【００７８】
同様に、ＣＰＵ４２は、気筒＃２の筒内圧信号ＣＰ２と燃料圧信号ＩＰ２とが入力されるＡ／Ｄ変換チャネルＣＨ３，ＣＨ４については、気筒＃２のＢＴＤＣ９８°ＣＡのタイミングにて、図６（Ａ）のサンプリング開始処理を実行することにより、サンプリング開始指示を出力し、気筒＃２のＡＴＤＣ７２°ＣＡのタイミングにて、図６（Ｂ）のサンプリング停止処理を実行することにより、サンプリング停止指示を出力する。そして、これにより、筒内圧信号ＣＰ２と燃料圧信号ＩＰ２とが、気筒＃２の燃料噴射期間中においてＡ／Ｄ変換されるようにしている。
【００７９】
詳しく説明すると、ＣＰＵ４２は、気筒＃１のＢＴＤＣ９８°ＣＡと、気筒＃２のＢＴＤＣ９８°ＣＡとの、何れかのタイミングになると、図６（Ａ）のサンプリング開始処理を開始する。
【００８０】
ここで、今回のタイミングが気筒＃１のＢＴＤＣ９８°ＣＡならば、Ｓ１１０にて、Ａ／Ｄ変換チャネルＣＨ１，ＣＨ２に対応するＤＭＡチャネルＤＭＡ１，ＤＭＡ２を初期化する処理であって、その各ＤＭＡチャネルＤＭＡ１，ＤＭＡ２による最初のデータ転送先をＲＡＭ４４の記憶領域ＲＡＭ１，ＲＡＭ２の先頭に戻す処理を行うと共に、Ａ／Ｄ変換チャネルＣＨ１についてのサンプリング開始指示と、Ａ／Ｄ変換チャネルＣＨ２についてのサンプリング開始指示とを、Ａ／Ｄ変換部４１に出力する。
【００８１】
また、今回のタイミングが気筒＃２のＢＴＤＣ９８°ＣＡならば、Ｓ１１０にて、Ａ／Ｄ変換チャネルＣＨ３，ＣＨ４に対応するＤＭＡチャネルＤＭＡ３，ＤＭＡ４を初期化する処理であって、その各ＤＭＡチャネルＤＭＡ３，ＤＭＡ４による最初のデータ転送先をＲＡＭ４４の記憶領域ＲＡＭ３，ＲＡＭ４の先頭に戻す処理を行うと共に、Ａ／Ｄ変換チャネルＣＨ３についてのサンプリング開始指示と、Ａ／Ｄ変換チャネルＣＨ４についてのサンプリング開始指示とを、Ａ／Ｄ変換部４１に出力する。
【００８２】
そして、ＣＰＵ４２は、上記Ｓ１１０の処理を終えると、当該サンプリング開始処理を終了する。
また、ＣＰＵ４２は、気筒＃１のＡＴＤＣ７２°ＣＡと、気筒＃２のＡＴＤＣ７２°ＣＡとの、何れかのタイミングになると、図６（Ｂ）のサンプリング停止処理を開始する。
【００８３】
そして、今回のタイミングが気筒＃１のＡＴＤＣ７２°ＣＡならば、Ｓ２１０にて、Ａ／Ｄ変換チャネルＣＨ１についてのサンプリング停止指示と、Ａ／Ｄ変換チャネルＣＨ２についてのサンプリング停止指示とを、Ａ／Ｄ変換部４１に出力する。
【００８４】
また、今回のタイミングが気筒＃２のＡＴＤＣ７２°ＣＡならば、Ｓ２１０にて、Ａ／Ｄ変換チャネルＣＨ３についてのサンプリング停止指示と、Ａ／Ｄ変換チャネルＣＨ４についてのサンプリング停止指示とを、Ａ／Ｄ変換部４１に出力する。
【００８５】
そして、ＣＰＵ４２は、上記Ｓ２１０の処理を終えると、次のＳ２２０にて、タイマチェック処理を行う。尚、タイマチェック処理は、各タイマＴＭ１〜ＴＭ４から各Ａ／Ｄ変換トリガ信号が出力される時間差が正常値か否かをチェックする処理であり、換言すれば、各タイマＴＭ１〜ＴＭ４から本来のスケジュールのタイミング（図２のタイミング）でＡ／Ｄ変換トリガ信号がそれぞれ出力される状態か否かをチェックする処理である。
【００８６】
そして、そのタイマチェック処理では、まず、図７における（１）に示すように、現在の各タイマＴＭ１〜ＴＭ４のカウント値を読み出す。
次に、図７における（２）に示すように、上記（１）で読み出した各タイマＴＭｎのカウント値から、そのタイマＴＭｎについての起動時のオフセット値をそれぞれ引く。尚、起動時のオフセット値とは、図３を用いて説明したオフセット値である。そして、本実施形態では、タイマＴＭ１なら０、タイマＴＭ２なら４、タイマＴＭ３なら６、タイマＴＭ４なら２、である。
【００８７】
そして、図７における（３）に示すように、上記（２）の計算結果に対して、周期１〜４の基本単位である６（即ち、倍数関係にある周期１〜４のなかの最小周期に相当する６）を加減算することで、各タイマＴＭ１〜ＴＭ４についての検証対象値を求める。尚、その検証対象値は、タイマＴＭ１〜ＴＭ４について、仮に、オフセット値が全て０で且つ周期１〜４が全て同じであるとした場合の、各タイマＴＭ１〜ＴＭ４のカウント値である。そして、図７では、周期を合わせることを「高さを合わせる」と表現している。
【００８８】
具体的に説明すると、本実施形態では、図２に示したように、周期１〜４のうち、周期２及び周期４（＝６×Ｔｃｋ）が最小であり、周期１及び周期３（＝１２×Ｔｃｋ）は、周期２及び周期４の２倍であるため、その最小の周期２及び周期４を決めている６という値（周期をＴｃｋで割った値）が、周期１〜４の基本単位となっている。そして、上記（２）の計算結果が６以上ならば、その計算結果から６を引き、上記（２）の計算結果が負ならば、その計算結果に６を加え、上記（２）の計算結果が６以上でも負でもなければ、そのままの値とする、という処理を行うことで、各タイマＴＭ１〜ＴＭ４についての検証対象値を求める。
【００８９】
そして、上記（３）で求めた検証対象値が全て一致していれば、Ａ／Ｄ変換トリガ信号の出力スケジュールに異常がない（即ち、各タイマＴＭ１〜ＴＭ４から図２に示す本来のスケジュールのタイミングでＡ／Ｄ変換トリガ信号がそれぞれ出力される正常状態である）と判断することができる。
【００９０】
そこで、タイマチェック処理では、上記（３）で求めた検証対象値が全て一致していれば、正常であると判断する。また、例えば図８に例示するように、上記（３）で求めた検証対象値が全て一致していなければ（つまり、検証対象値同士の差が０でなければ）、異常であると判断する。
【００９１】
尚、Ａ／Ｄ変換トリガ信号の出力タイミングのずれ（本来のスケジュールからのずれ）が、ある程度許容されるのであれば、検証対象値同士の差が、０でなくても所定範囲内であれば、正常であると判断するようにしても良い。そして、上記所定範囲は、検出したい異常の程度によって適宜設定することができる。また、上記（１）の手順で各タイマＴＭ１〜ＴＭ４のカウント値を読み出す場合に、各タイマＴＭ１〜ＴＭ４のカウント値を一斉にキャプチャできる機能があれば、同時点の各カウント値を確実に取得することができるが、そのようなキャプチャの機能がなく、しかも、４つのカウント値を１つずつ読み出している間に、未読み出しのカウント値が進んでしまう可能性があるのであれば、正常／異常の判断基準として上記の所定範囲を設けることが好ましい。つまり、各タイマＴＭ１〜ＴＭ４から各Ａ／Ｄ変換トリガ信号が出力される時間差が正常値か否かを判定するための、その正常値には、適宜幅を設けても良い、ということである。
【００９２】
図６（Ｂ）についての説明に戻ると、ＣＰＵ４２は、上記のようなタイマチェック処理を行った後、次のＳ２３０にて、タイマチェック処理での判断結果を参照し、そのタイマチェック処理で正常（エラーなし）と判断された場合には（Ｓ２３０：ＮＯ）、Ｓ２４０に進んで、データ処理を行った後、当該サンプリング停止処理を終了する。
【００９３】
Ｓ２４０でのデータ処理としては、今回のタイミングが気筒＃１のＡＴＤＣ７２°ＣＡならば、Ａ／Ｄ変換チャネルＣＨ１，ＣＨ２についてのサンプリング期間が終了したということであることから、ＲＡＭ４４の記憶領域ＲＡＭ１，ＲＡＭ２に記憶されているサンプリング期間分の各Ａ／Ｄ変換値を、ＲＡＭ４４における他の演算対象領域にコピーする処理を行う。また、今回のタイミングが気筒＃２のＡＴＤＣ７２°ＣＡならば、Ａ／Ｄ変換チャネルＣＨ３，ＣＨ４についてのサンプリング期間が終了したということであることから、ＲＡＭ４４の記憶領域ＲＡＭ３，ＲＡＭ４に記憶されているサンプリング期間分の各Ａ／Ｄ変換値を、ＲＡＭ４４における他の演算対象領域にコピーする処理を行う。
【００９４】
そして、上記Ｓ２４０の処理でコピーされた各Ａ／Ｄ変換値のうち、記憶領域ＲＡＭ１からコピーされた各Ａ／Ｄ変換値（即ち、筒内圧信号ＣＰ１の各Ａ／Ｄ変換値）は、他の演算処理により、例えば、気筒＃１の実際の燃焼時期や燃焼状態等を予測するのに用いられる。また、記憶領域ＲＡＭ２からコピーされた各Ａ／Ｄ変換値（即ち、燃料圧信号ＩＰ１の各Ａ／Ｄ変換値）は、他の演算処理により、例えば、インジェクタＩＪ１の実際の噴射特性を推定するのに用いられる。同様に、記憶領域ＲＡＭ３からコピーされた各Ａ／Ｄ変換値（即ち、筒内圧信号ＣＰ２の各Ａ／Ｄ変換値）は、他の演算処理により、例えば気筒＃２の実際の燃焼時期や燃焼状態等を予測するのに用いられ、記憶領域ＲＡＭ４からコピーされた各Ａ／Ｄ変換値（即ち、燃料圧信号ＩＰ２の各Ａ／Ｄ変換値）は、他の演算処理により、例えばインジェクタＩＪ２の実際の噴射特性を推定するのに用いられる。そして更に、上記各演算処理で得られた実際の燃焼時期や燃焼状態等と噴射特性は、燃料噴射制御にフィードバックして用いられる。
【００９５】
尚、筒内圧信号の時系列のＡ／Ｄ変換値から燃焼時期や燃焼状態等を予測する方法や、燃料圧信号の時系列のＡ／Ｄ変換値から噴射特性を推定する方法については、公知であり様々なものが考えられているため説明を省略する。また、燃焼時期等の予測結果や噴射特性の推定結果を用いた燃料噴射制御についても、公知であり様々なものが考えられているため説明を省略する。一方、Ｓ２４０にて、上記各演算処理を直接行っても良い。
【００９６】
また、上記タイマチェック処理で異常（エラーあり）と判断された場合（Ｓ２３０：ＹＥＳ）には、Ｓ２５０に移行して、スケジュール再起動処理を行う。
そのスケジュール再起動処理は、各タイマＴＭ１〜ＴＭ４を、各Ａ／Ｄ変換トリガ信号が出力される時間差が正常値となるように調整するための処理である。より具体的には、各Ａ／Ｄ変換トリガ信号が出力される時間差が正常値となるようにタイマＴＭ１〜ＴＭ４を動作開始時の初期状態と同じ状態から動作させ直す処理であり、図３を用いて説明した初期設定起動と同様の処理を行う。
【００９７】
即ち、スケジュール再起動処理では、タイマＴＭ１のカウント値を０に設定し、タイマＴＭ２のカウント値を４に設定し、タイマＴＭ３のカウント値を６に設定し、タイマＴＭ４のカウント値を２に設定する。すると、各タイマＴＭ１〜ＴＭ４は、図３における左端の初期状態となり、その初期状態から動作し直すこととなる。
【００９８】
このため、Ｓ２５０の処理が行われることで、各タイマＴＭ１〜ＴＭ４が正常化され、以後は、図２に示した正常なスケジュールで各Ａ／Ｄ変換トリガ信号が出力される。
そして、次のＳ２６０にて、今回のサンプリング期間で収集した各Ａ／Ｄ変換値を破棄する。即ち、エンジンの制御に用いないようにするための処置を行う。具体的には、今回のタイミングが気筒＃１のＡＴＤＣ７２°ＣＡならば、ＲＡＭ４４の記憶領域ＲＡＭ１，ＲＡＭ２に記憶されている各Ａ／Ｄ変換値を、ＲＡＭ４４の上記演算対象領域にコピーしないか、あるいは消去する。同様に、今回のタイミングが気筒＃２のＡＴＤＣ７２°ＣＡならば、ＲＡＭ４４の記憶領域ＲＡＭ３，ＲＡＭ４に記憶されている各Ａ／Ｄ変換値を、ＲＡＭ４４の上記演算対象領域にコピーしないか、あるいは消去する。
【００９９】
そして、上記Ｓ２６０の後、当該サンプリング停止処理を終了する。
尚、Ａ／Ｄ変換チャネルＣＨ１とＡ／Ｄ変換チャネルＣＨ２とで、サンプリング開始指示とサンプリング停止指示との出力タイミングを異ならせて、筒内圧信号ＣＰ１と燃料圧信号ＩＰ１とのサンプリング期間を一部重複させつつずらすのであれば、その各チャネルＣＨ１，ＣＨ２について、前述のサンプリング開始処理とサンプリング停止処理とを実行すれば良い。但し、Ａ／Ｄ変換チャネルＣＨ１とＡ／Ｄ変換チャネルＣＨ２は、同じ気筒＃１に関する信号ＣＰ１，ＩＰ１をＡ／Ｄ変換するチャネルであり、サンプリング期間が重複することになるので、もし、何れかのチャネル（ＣＨ１又はＣＨ２）についてのサンプリング停止処理において、Ｓ２３０でエラーありと判定した場合、Ｓ２６０では、両チャネルＣＨ１，ＣＨ２についてのＡ／Ｄ変換値（即ち、両記憶領域ＲＡＭ１，ＲＡＭ２に記憶されている各Ａ／Ｄ変換値）を破棄すれば良い。チャネルＣＨ１，ＣＨ２のどちらについてもＡ／Ｄ変換値の信頼性が疑わしいからである。そして、このようなことは、Ａ／Ｄ変換チャネルＣＨ３，ＣＨ４についても同様である。
【０１００】
以上のようなＥＣＵ１１によれば、図６（Ｂ）におけるＳ２２０，Ｓ２３０，Ｓ２５０の処理が行われるため、各タイマＴＭ１〜ＴＭ４から各Ａ／Ｄ変換トリガ信号が出力される時間差が正常値でない異常状態になっても、そのことを検知して、各タイマＴＭ１〜ＴＭ４を正常化し、各Ａ／Ｄ変換トリガ信号が元のスケジュールで出力される状態に戻すことができる。このため、前述した不具合を解消することができ、１つのＡ／Ｄ変換器４１ａによって複数のアナログ信号を正確な時間間隔でＡ／Ｄ変換することができるようになる。また、スケジュール再起動処理（Ｓ２５０）により、各タイマＴＭ１〜ＴＭ４の正常化を素早く完了することができる。
【０１０１】
また、Ａ／Ｄ変換部４１にサンプリング停止指示が出力されるサンプリング期間終了時に、タイマチェック処理（Ｓ２２０）が行われ、そのタイマチェック処理で異常と判断された場合には、スケジュール再起動処理（Ｓ２５０）を行うだけでなく、今回のサンプリング期間で収集したＲＡＭ４４内の各Ａ／Ｄ変換値を破棄するため（Ｓ２６０）、おかしな間隔でＡ／Ｄ変換された結果のＡ／Ｄ変換値がエンジンの制御に使用されることを防止することができ、制御の信頼性を向上させることができる。
【０１０２】
また、本実施形態において、気筒＃１の筒内圧信号ＣＰ１と燃料圧信号ＩＰ１については、その気筒＃１よりも燃料噴射順が１つ前の気筒＃２に対する燃料噴射が終了してから、気筒＃１に対する燃料噴射が開始されるまでの間のタイミングであって、気筒＃２のＡＴＤＣ７２°ＣＡ（＝気筒＃１のＢＴＤＣ１０８°ＣＡ）のタイミングにて、図６（Ｂ）におけるＳ２２０，Ｓ２３０，Ｓ２５０の処理が実行されることとなる。このため、筒内圧信号ＣＰ１と燃料圧信号ＩＰ１とを、気筒＃１の燃料噴射期間において一定のサンプリング間隔でＡ／Ｄ変換することを、より確実に実施することができ、エンジンの制御精度を確保することができる。タイマＴＭ１〜ＴＭ４からＡ／Ｄ変換トリガ信号が出力される相互タイミングが狂っていたとしても、気筒＃１への燃料噴射が開始される前（気筒＃１の筒内圧信号ＣＰ１と燃料圧信号ＩＰ１とのサンプリング期間が始まる直前でもある）に、図６（Ｂ）におけるＳ２５０のスケジュール再起動処理により、タイマＴＭ１〜ＴＭ４の正常化が行われるからである。
【０１０３】
尚、Ａ／Ｄ変換部４１のチャネル数を８に拡張して、気筒＃３，＃４の筒内圧信号ＣＰ３，ＣＰ４及び燃料圧信号ＩＰ３，ＩＰ４についても、気筒＃１，＃２の筒内圧信号ＣＰ１，ＣＰ２及び燃料圧信号ＩＰ１，ＩＰ２について説明したのと同様に切り替えてＡ／Ｄ変換するように構成すれば、各気筒＃１〜＃４の信号について、前述したのと同様の効果が得られる。
【０１０４】
一方、本第１実施形態では、ＲＡＭ４４がメモリに相当し、Ａ／Ｄ変換部４１とＤＭＡＣ４６とが、変換処理手段に相当している。そして、図６（Ｂ）におけるＳ２２０，Ｓ２３０，Ｓ２５０が、タイミング修正手段としての処理に相当し、図６（Ｂ）におけるＳ２６０が、データ破棄手段としての処理に相当している。また、ＣＰＵ４２が処理部に相当している。
［第２実施形態］
第２実施形態のＥＣＵ１１は、第１実施形態と比較すると、マイコン３１のＣＰＵ４２が、図６（Ａ）のサンプリング開始処理に代えて、図９（Ａ）のサンプリング開始処理を実行する点と、図６（Ｂ）のサンプリング停止処理に代えて、図９（Ｂ）のサンプリング停止処理を実行する点とが、異なっている。尚、図９において、図６と同じ内容の処理については、図６と同じステップ番号を付しているため、説明を省略する。
【０１０５】
そして、図９（Ａ）のサンプリング開始処理では、図６（Ａ）のサンプリング開始処理と比較すると、Ｓ１１０の処理を行う前に、図６（Ｂ）のサンプリング停止処理で行っていたＳ２２０，Ｓ２３０，Ｓ２５０の処理を行うようになっている。つまり、まずタイマチェック処理を行い（Ｓ２２０）、そのタイマチェック処理で正常と判断した場合には（Ｓ２３０：ＮＯ）、そのままＳ１１０の処理を行うが、タイマチェック処理で異常と判断した場合には（Ｓ２３０：ＹＥＳ）、スケジュール再起動処理を行ってから（Ｓ２５０）、Ｓ１１０の処理を行う。
【０１０６】
また、図９（Ｂ）のサンプリング停止処理では、図６（Ｂ）のサンプリング停止処理と比較すると、Ｓ２２０，Ｓ２３０，Ｓ２５０及びＳ２６０の処理が削除されており、Ｓ２１０とＳ２４０の処理だけが行われる。
【０１０７】
このような第２実施形態では、Ａ／Ｄ変換部４１にサンプリング開始指示が出力されるサンプリング期間開始時に、タイマチェック処理（Ｓ２２０）が行われて、そのタイマチェック処理で異常と判断されたならスケジュール再起動処理（Ｓ２５０）が行われる。このため、各タイマＴＭ１〜ＴＭ４を正常化してから、各アナログ信号のサンプリングを開始することができる。
【０１０８】
また、本実施形態においても、気筒＃１の筒内圧信号ＣＰ１と燃料圧信号ＩＰ１については、気筒＃１より燃料噴射順が１つ前の気筒＃２に対する燃料噴射が終了してから、気筒＃１に対する燃料噴射が開始されるまでの間のタイミング（気筒＃１のＢＴＤＣ９８°ＣＡ＝気筒＃２のＡＴＤＣ８２°ＣＡのタイミング）にて、Ｓ２２０のタイマチェック処理が実行され、異常と判断された場合には更にＳ２５０のスケジュール再起動処理が実行される。同様に、気筒＃２の筒内圧信号ＣＰ２と燃料圧信号ＩＰ２についても、気筒＃２より燃料噴射順が１つ前の気筒＃３に対する燃料噴射が終了してから、気筒＃２に対する燃料噴射が開始されるまでの間のタイミング（気筒＃２のＢＴＤＣ９８°ＣＡ＝気筒＃３のＡＴＤＣ８２°ＣＡのタイミング）にて、Ｓ２２０のタイマチェック処理が実行され、異常と判断された場合には更にＳ２５０のスケジュール再起動処理が実行される。
【０１０９】
よって、気筒＃１，＃２の各々について、筒内圧信号と燃料圧信号とを燃料噴射期間において一定のサンプリング間隔でＡ／Ｄ変換することを、より確実に実施することができる。
【０１１０】
尚、Ａ／Ｄ変換部４１のチャネル数を８に拡張して、気筒＃３，＃４の筒内圧信号ＣＰ３，ＣＰ４及び燃料圧信号ＩＰ３，ＩＰ４についても、気筒＃１，＃２の筒内圧信号ＣＰ１，ＣＰ２及び燃料圧信号ＩＰ１，ＩＰ２について説明したのと同様に切り替えてＡ／Ｄ変換するように構成すれば、各気筒＃１〜＃４の信号について、前述したのと同様の効果が得られる。
【０１１１】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１１２】
変形例として、図６（Ｂ）又は図９（Ａ）のＳ２５０では、タイマＴＭ１〜ＴＭ４の何れかからＡ／Ｄ変換トリガ信号が出力されるまで待ち、Ａ／Ｄ変換トリガ信号が出力されたなら、それを出力したタイマ（ここではＴＭｘとする）のカウント値を読み出し、その読み出した値にタイマＴＭｘのカウント値がなっているときにおいて他のタイマのカウント値がなっているべき各値を計算し、他のタイマのカウント値を、その計算した各値に設定する、という処理を行っても良い。
【０１１３】
例えば、最初にＡ／Ｄ変換トリガ信号を出力したのがタイマＴＭ１であり、そのタイマＴＭ１のカウント値が９であったならば、図７における（１）のところで示しているように、他のタイマＴＭ２〜ＴＭ４の各カウント値は、それぞれ１，３，５になっているべきであるため、タイマＴＭ２〜ＴＭ４の各カウント値を、１，３，５の各々に設定する、という処理を行えば良い。
【０１１４】
そして、このような処理であれば、Ａ／Ｄ変換トリガ信号の出力タイミング時にタイマＴＭ１〜ＴＭ４を正常化させることとなるため、その正常化によって各Ａ／Ｄ変換トリガ信号の出力間隔を乱すことがないという利点がある。
【０１１５】
また、図６（Ｂ）又は図９（Ａ）のＳ２５０では、全てのタイマＴＭ１〜ＴＭ４のカウント値を０にして、まず何れか１つのタイマ（ここではＴＭ１とする）だけをスタートさせ、その後、正規のずれ時間である「２×Ｔｃｋ」だけ待って、次のタイマＴＭ２をカウント値が０の状態からスタートさせ、更にその後「２×Ｔｃｋ」だけ待って、次のタイマＴＭ４をカウント値が０の状態からスタートさせ、更にその後「２×Ｔｃｋ」だけ待って、次のタイマＴＭ３をカウント値が０の状態からスタートさせる、といった処理を行っても良い。但し、前述のスケジュール再起動処理の方が、各タイマＴＭ１〜ＴＭ４の正常化を一斉に行うことができ有利である。
【０１１６】
一方、他の変形例として、Ａ／Ｄ変換部４１は、サンプリング期間でないチャネルについても、Ａ／Ｄ変換トリガ信号が入力される毎にＡ／Ｄ変換は行うが、ＤＭＡＣ４６にＡ／Ｄ変換完了信号を出力しない、というように構成しても良い。つまり、サンプリング期間でないチャネルについては、Ａ／Ｄ変換は行われるがＡ／Ｄ変換値のＲＡＭ４４への記憶は行われないようにしても良い。
【０１１７】
また、Ａ／Ｄ変換部４１からＲＡＭ４４へのＡ／Ｄ変換値の転送は、ソフト処理で行っても良い。例えば、Ａ／Ｄ変換部４１でのＡ／Ｄ変換が完了する度に起動される割込処理により、Ａ／Ｄ変換部４１からＡ／Ｄ変換値を読み出してＲＡＭ４４の目的のアドレスに書き込むように構成することができる。
【０１１８】
また、図９（Ａ）のサンプリング開始処理と図６（Ｂ）のサンプリング停止処理とを行うようにしても良い。
また、圧力センサＳａ１〜Ｓａ４が設けられる位置は、インジェクタＩＪ１〜ＩＪ４の燃料取込口に限らず、コモンレール１５の燃料出口（燃料供給用配管１７のコモンレール１５側の端）からインジェクタＩＪ１〜ＩＪ４の噴射口までの燃料通路における何れかの位置で良い。
【０１１９】
また、燃料噴射制御の対象は、ガソリンエンジンであっても良い。
【符号の説明】
【０１２０】
１１…ＥＣＵ（電子制御装置）、１３…車載ディーゼルエンジン、１５…コモンレール、１７…燃料供給用配管、１９…燃料タンク、２１…燃料ポンプ、２３…クランク角センサ、３１…マイコン、４１…Ａ／Ｄ変換部、４１ａ…Ａ／Ｄ変換器、４１ｂ…マルチプレクサ、ＡＤＲ１〜ＡＤＲ４…レジスタ、Ｔ１〜Ｔ４…入力端子、４２…ＣＰＵ、４３…ＲＯＭ、４４…ＲＡＭ、ＲＡＭ１〜ＲＡＭ４…記憶領域、４５…タイマ部、ＴＭ１〜ＴＭ４…タイマ、４６…ＤＭＡＣ（ＤＭＡコントローラ）、ＤＭＡ１〜ＤＭＡ４…ＤＭＡチャネル、４７…バス、ＩＪ１〜ＩＪ４…インジェクタ、Ｓａ１〜Ｓａ４…燃料圧力センサ、Ｓｂ１〜Ｓｂ４…筒内圧力センサ
【図１】
2011160199.tif 000003
【図６】
2011160199.tif 000004
【図９】
2011160199.tif 000005
【図２】
2011160199.tif 000006
【図３】
2011160199.tif 000007
【図４】
2011160199.tif 000008
【図５】
2011160199.tif 000009
【図７】
2011160199.tif 000010
【図８】
2011160199.tif 000011