(57)【要約】【課題】誘導性負荷の電流制御精度を確保しつつ、制御のための処理負荷を低減する。【解決手段】リニアソレノイドの通電経路上のスイッチング手段を駆動するＰＷＭ信号のデューティ比を制御する装置では、ソレノイド電流に応じた電圧信号をＡ／Ｄ変換するＡ／Ｄ変換器を、ＰＷＭ信号のオン切り替わり時（ｔ２，ｔ６）より所定時間Ｔｂ前のタイミング（ｔ１，ｔ５）毎に起動して、オン切り替わり時までの間にＡ／Ｄ変換器を動作させ、その回のＡ／Ｄ変換値を電流極小時のＡ／Ｄ変換値としてメモリに記憶する。またＡ／Ｄ変換器を、ＰＷＭ信号のオフ切り替わり時（ｔ４）より所定時間Ｔｂ前のタイミング（ｔ３）毎に起動して、オフ切り替わり時までの間にＡ／Ｄ変換器を動作させ、その回のＡ／Ｄ変換値を電流極大時のＡ／Ｄ変換値としてメモリに記憶する。そして、メモリ内のＡ／Ｄ変換値に基づきソレノイド電流が目標値となるようにデューティ比を制御する。【選択図】図５
2014096409.tif 000002
【特許請求の範囲】
【請求項１】
誘導性負荷（３）に電流を流すための通電経路において前記誘導性負荷に対し直列に接続され、前記誘導性負荷に流れる電流を制御するためにＰＷＭ信号で駆動されるスイッチング手段（２１）と、
前記誘導性負荷に流れる電流に応じた電圧信号を出力する電流検出手段（２７，２９）と、
前記電流検出手段からの前記電圧信号をＡ／Ｄ変換するＡ／Ｄ変換手段（１３）と、
前記Ａ／Ｄ変換手段を起動して、該Ａ／Ｄ変換手段による前記電圧信号のＡ／Ｄ変換値をメモリ（１１）に記憶する電流値取得手段（５，Ｓ２２０，Ｓ２６０，Ｓ３２０，Ｓ３６０）と、
前記メモリに記憶されたＡ／Ｄ変換値に基づいて、前記スイッチング手段を駆動するための前記ＰＷＭ信号のデューティ比を制御する制御手段（５，Ｓ４１０，Ｓ４２０，Ｓ２３０）と、を備え、
前記電流値取得手段は、
前記誘導性負荷に流れる電流が前記ＰＷＭ信号の１周期中において極小値になるときに前記Ａ／Ｄ変換手段が動作するように、該Ａ／Ｄ変換手段を起動して、該Ａ／Ｄ変換手段による前記電圧信号のＡ／Ｄ変換値を、電流極小時のＡ／Ｄ変換値として前記メモリに記憶する第１手段（５，Ｓ２２０，Ｓ２６０）と、
前記誘導性負荷に流れる電流が前記ＰＷＭ信号の１周期中において極大値になるときに前記Ａ／Ｄ変換手段が動作するように、該Ａ／Ｄ変換手段を起動して、該Ａ／Ｄ変換手段による前記電圧信号のＡ／Ｄ変換値を、電流極大時のＡ／Ｄ変換値として前記メモリに記憶する第２手段（５，Ｓ３２０，Ｓ３６０）と、からなり、
前記制御手段は、前記メモリに記憶された前記電流極小時のＡ／Ｄ変換値と前記電流極大時のＡ／Ｄ変換値とに基づいて前記誘導性負荷に流れる電流を検出し、その検出電流値が目標値となるように前記ＰＷＭ信号のデューティ比を制御すること、
を特徴とする誘導性負荷制御装置。
【請求項２】
請求項１に記載の誘導性負荷制御装置において、
前記第１手段は、
前記ＰＷＭ信号が前記スイッチング手段をオフさせる方の非アクティブレベルから前記スイッチング手段をオンさせる方のアクティブレベルへ変化するオン切り替わりタイミングよりも所定時間前のタイミングであるオン直前タイミング毎に、前記Ａ／Ｄ変換手段を起動することにより、前記オン直前タイミングから前記オン切り替わりタイミングまでの間に前記Ａ／Ｄ変換手段を動作させ、該Ａ／Ｄ変換手段による前記電圧信号のＡ／Ｄ変換値を、前記電流極小時のＡ／Ｄ変換値として前記メモリに記憶し、
前記第２手段は、
前記ＰＷＭ信号が前記アクティブレベルから前記非アクティブレベルへ変化するオフ切り替わりタイミングよりも所定時間前のタイミングであるオフ直前タイミング毎に、前記Ａ／Ｄ変換手段を起動することにより、前記オフ直前タイミングから前記オフ切り替わりタイミングまでの間に前記Ａ／Ｄ変換手段を動作させ、該Ａ／Ｄ変換手段による前記電圧信号のＡ／Ｄ変換値を、前記電流極大時のＡ／Ｄ変換値として前記メモリに記憶すること、
を特徴とする誘導性負荷制御装置。
【請求項３】
請求項２に記載の誘導性負荷制御装置において、
前記第１手段と前記第２手段は、マイコン（５）によって実現され、
前記マイコンは、前記オン直前タイミング毎にタイマ割り込みを発生させ、そのオン直前タイミングで発生するタイマ割り込みの処理により、前記Ａ／Ｄ変換手段を起動すると共に、該Ａ／Ｄ変換手段による前記電圧信号のＡ／Ｄ変換値を前記電流極小時のＡ／Ｄ変換値として前記メモリに記憶することにより、前記第１手段として機能し、
前記マイコンは、前記オフ直前タイミング毎にタイマ割り込みを発生させ、そのオフ直前タイミングで発生するタイマ割り込みの処理により、前記Ａ／Ｄ変換手段を起動すると共に、該Ａ／Ｄ変換手段による前記電圧信号のＡ／Ｄ変換値を前記電流極大時のＡ／Ｄ変換値として前記メモリに記憶することにより、前記第２手段として機能すること、
を特徴とする誘導性負荷制御装置。
【請求項４】
請求項３に記載の誘導性負荷制御装置において、
前記オン直前タイミングで発生するタイマ割り込みと、前記オフ直前タイミングで発生するタイマ割り込みは、１つの同じタイマ割り込みであり、
前記マイコンは、前記オン直前タイミングで発生するタイマ割り込みの処理にて、次回の前記オフ直前タイミングで前記タイマ割り込みを発生させるための処理（Ｓ２４０）を行い、前記オフ直前タイミングで発生するタイマ割り込みの処理にて、次回の前記オン直前タイミングで前記タイマ割り込みを発生させるための処理（Ｓ３４０）を行うこと、
を特徴とする誘導性負荷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誘導性負荷に流れる電流を制御する装置に関する。
【背景技術】
【０００２】
リニアソレノイド等の誘導性負荷に流れる電流をフィードバック制御する従来の装置が、例えば特許文献１に記載されている。
特許文献１に記載されている従来の装置では、リニアソレノイドに電流を流すための通電経路において、リニアソレノイドに対し直列に、ＰＷＭ（パルス幅変調）信号で駆動される電流制御用のスイッチング素子を設けている。そして、上記通電経路に設けた電流検出抵抗により、リニアソレノイドに流れる電流に応じた電圧の電流検出信号を発生させ、その電流検出信号を、リニアソレノイドの電流波形をトレースするような短い一定時間毎に、Ａ／Ｄ変換器によりＡ／Ｄ変換（アナログ／デジタル変換）している。そして更に、ＣＰＵが、ＰＷＭ信号１周期分のＡ／Ｄ変換器によるＡ／Ｄ変換値を平均化することにより、リニアソレノイドに流れる電流を検出し、その電流の検出値が目標値となるように、スイッチング素子の駆動信号であるＰＷＭ信号のデューティ比を制御している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１１４０３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来の装置では、ＰＷＭ信号のレベル変化タイミングとは無関係の一定時間毎に、電流検出信号をＡ／Ｄ変換しており、リニアソレノイドに流れる電流を精度良く検出するためには、Ａ／Ｄ変換間隔をＰＷＭ信号の周期よりも十分に短くする必要がある。このため、リニアソレノイドの電流波形をトレースするような短い間隔で、電流検出信号をＡ／Ｄ変換している。
【０００５】
しかし、ＣＰＵは、Ａ／Ｄ変換器による電流検出信号のＡ／Ｄ変換が完了する毎に、その回のＡ／Ｄ変換器によるＡ／Ｄ変換値を読み取ってＲＡＭに保存する処理などを行わなければならない。よって、リニアソレノイドを制御するための処理負荷が大きくなってしまう。
【０００６】
また一般に、ＣＰＵは、Ａ／Ｄ変換器によるＡ／Ｄ変換が完了すると発生するＡ／Ｄ変換完了割り込みの処理により、Ａ／Ｄ変換器によるＡ／Ｄ変換値を読み取ってＲＡＭに保存することとなる。そして、Ａ／Ｄ変換完了割り込みの処理の開始が、他の優先度が高い割り込みの処理によって遅れて、Ａ／Ｄ変換値のＲＡＭへの保存をし損ねると、電流の検出精度（延いては電流の制御精度）が低下するため、Ａ／Ｄ変換完了割り込みの優先度は、制御精度面の必要性に応じて高く設定する必要がある。しかし、従来の装置では、Ａ／Ｄ変換完了割り込みの発生間隔が短くなるため、Ａ／Ｄ変換完了割り込みの優先度を高く設定すると、逆に他の処理を所望のタイミングで実行することができなくなってしまう。
【０００７】
そこで本発明は、誘導性負荷制御装置において、誘導性負荷の電流制御精度を確保しつつ、制御のための処理負荷を低減することを目的としている。
【課題を解決するための手段】
【０００８】
本発明の誘導性負荷制御装置は、誘導性負荷に電流を流すための通電経路において誘導性負荷に対し直列に接続され、誘導性負荷に流れる電流を制御するためにＰＷＭ信号で駆動されるスイッチング手段と、誘導性負荷に流れる電流に応じた電圧信号を出力する電流検出手段と、その電流検出手段からの電圧信号をＡ／Ｄ変換するＡ／Ｄ変換手段と、Ａ／Ｄ変換手段を起動して、該Ａ／Ｄ変換手段による電圧信号のＡ／Ｄ変換値（Ａ／Ｄ変換されたデータ）をメモリに記憶する電流値取得手段と、メモリに記憶されたＡ／Ｄ変換値に基づいて、スイッチング手段を駆動するためのＰＷＭ信号のデューティ比を制御する制御手段と、を備えている。
【０００９】
そして、電流値取得手段は、第１手段と第２手段とからなる。
第１手段は、誘導性負荷に流れる電流がＰＷＭ信号の１周期中において極小値になるときにＡ／Ｄ変換手段が動作するように、該Ａ／Ｄ変換手段を起動して、該Ａ／Ｄ変換手段による電圧信号のＡ／Ｄ変換値を、電流極小時のＡ／Ｄ変換値としてメモリに記憶する。
【００１０】
また、第２手段は、誘導性負荷に流れる電流がＰＷＭ信号の１周期中において極大値になるときにＡ／Ｄ変換手段が動作するように、該Ａ／Ｄ変換手段を起動して、該Ａ／Ｄ変換手段による電圧信号のＡ／Ｄ変換値を、電流極大時のＡ／Ｄ変換値としてメモリに記憶する。
【００１１】
そして、制御手段は、メモリに記憶された電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値とに基づいて誘導性負荷に流れる電流を検出し、その検出電流値が目標値となるようにＰＷＭ信号のデューティ比を制御する。
【００１２】
つまり、この誘導性負荷制御装置では、ＰＷＭ信号の１周期において、誘導性負荷に流れる電流（以下、負荷電流ともいう）が極小値と極大値との各々になるときに、Ａ／Ｄ変換手段が動作するように、該Ａ／Ｄ変換手段を起動し、負荷電流が極小値のときのＡ／Ｄ変換値（電流極小時のＡ／Ｄ変換値）と、負荷電流が極大値のときのＡ／Ｄ変換値（電流極大時のＡ／Ｄ変換値）とに基づいて、ＰＷＭ信号のデューティ比を決めるための負荷電流を検出している。
【００１３】
そして、この誘導性負荷制御装置によれば、Ａ／Ｄ変換手段を起動してＡ／Ｄ変換値をメモリに記憶する電流値取得手段としての処理は、ＰＷＭ信号の１周期あたりに２回で済むため、誘導性負荷を制御するための処理負荷を低減することができる。
【００１４】
また、その２回のＡ／Ｄ変換によるＡ／Ｄ変換値（電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値）から、負荷電流を精度良く検出することができるため、誘導性負荷の電流制御精度も確保することができる。
【００１５】
また例えば、電流値取得手段としての処理を、マイコン（マイクロコンピュータ）による割り込み処理で実現する場合に、その割り込み処理の優先度を他の特定の割り込み処理より高くしたとしても、電流値取得手段としての処理の実行頻度はＰＷＭ信号１周期あたりに２回というように少ないため、他の特定の割り込み処理に対する影響を抑えることができる。このため、誘導性負荷の制御を行うことによって他の処理が行えなくなってしまうことを、抑制することができる。
【００１６】
一方、一構成例として、電流値取得手段のうちの第１手段は、ＰＷＭ信号がスイッチング手段をオフさせる方の非アクティブレベルからスイッチング手段をオンさせる方のアクティブレベルへ変化するオン切り替わりタイミングよりも所定時間前のタイミングであるオン直前タイミング毎に、Ａ／Ｄ変換手段を起動することにより、そのオン直前タイミングからオン切り替わりタイミングまでの間にＡ／Ｄ変換手段を動作させ、該Ａ／Ｄ変換手段による電圧信号のＡ／Ｄ変換値を、電流極小時のＡ／Ｄ変換値としてメモリに記憶するように構成することができる。
【００１７】
同様に、一構成例として、電流値取得手段のうちの第２手段は、ＰＷＭ信号がアクティブレベルから非アクティブレベルへ変化するオフ切り替わりタイミングよりも所定時間前のタイミングであるオフ直前タイミング毎に、Ａ／Ｄ変換手段を起動することにより、そのオフ直前タイミングからオフ切り替わりタイミングまでの間にＡ／Ｄ変換手段を動作させ、該Ａ／Ｄ変換手段による電圧信号のＡ／Ｄ変換値を、電流極大時のＡ／Ｄ変換値としてメモリに記憶するように構成することができる。
【００１８】
そして、このような一構成例によれば、上記所定時間を適宜設定するだけで、負荷電流がＰＷＭ信号の１周期中において極小値になるときにＡ／Ｄ変換手段を動作させることと、負荷電流がＰＷＭ信号の１周期中において極大値になるときにＡ／Ｄ変換手段を動作させることとを、確実に実施することができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態の電子制御装置（ＥＣＵ）の構成を表す構成図である。
【図２】初期化処理を表すフローチャートである。
【図３】タイマ割り込み処理を表すフローチャートである。
【図４】ＦＢ演算処理を表すフローチャートである。
【図５】実施形態の電子制御装置の作用を表すタイムチャートである。
【発明を実施するための形態】
【００２０】
以下に、本発明が適用された実施形態の、誘導性負荷制御装置としての電子制御装置について説明する。
尚、本実施形態の電子制御装置（以下、ＥＣＵという）は、例えば、自動車のエンジンと変速機を制御するものであり、変速機の制御として、変速機の変速状態を切り替えるリニアソレノイドの制御を行う。そして、ここでは、主にリニアソレノイドの制御に関する部分について説明する。
【００２１】
図１に示すように、本実施形態のＥＣＵ１は、自動車のエンジンと変速機を制御するための処理を行うマイコン５を備えている。
そして、マイコン５は、ＣＰＵ７と、ＣＰＵ７が実行するプログラムや固定の制御データ等が記憶されたＲＯＭ９と、ＣＰＵ７による演算結果や演算対象データ等が記憶されるＲＡＭ１１と、割り込みコントローラ１２と、Ａ／Ｄ変換器（ＡＤＣ）１３と、Ａ／Ｄ変換器１３がＡ／Ｄ変換を完了する毎に、そのＡ／Ｄ変換器１３によるＡ／Ｄ変換値がソフトウェアを介さずに格納されると共に、ＣＰＵ７からアクセス可能なレジスタ（Ａ／Ｄ変換値用のレジスタ）１５と、変速機の変速状態を切り替えるリニアソレノイド３をデューティ制御するための、ＰＷＭ信号を生成して当該マイコン５の外部へ出力するＰＷＭ信号出力回路１７と、ＰＷＭ信号出力回路１７がＰＷＭ信号を生成するのに用いるＰＷＭデータが、ＣＰＵ７によって書き込まれるレジスタ（ＰＷＭデータ用のレジスタ）１９と、を備えている。
【００２２】
Ａ／Ｄ変換器１３は、複数の入力チャンネルを有しており、その入力チャンネル毎に、当該Ａ／Ｄ変換器１３の起動モードがＣＰＵ７によって設定可能となっている。その起動モードとしては、例えば、ＣＰＵ７からの起動指令によってその都度起動する第１モードと、ＣＰＵ７によって設定された一定時間毎に自動的に起動する第２モードとがある。そして、レジスタ１５も、Ａ／Ｄ変換器１３の入力チャンネル毎にそれぞれ設けられている。
【００２３】
また、ＣＰＵ７がレジスタ１９に書き込むＰＷＭデータは、ＰＷＭ信号の１周期時間を表す周期データと、ＰＷＭ信号のデューティ比を表すデューティ比データとからなる。そして、デューティ比データは、ＰＷＭ信号の１周期において該ＰＷＭ信号をアクティブレベル（即ち、後述するスイッチング手段をオンして電源電圧からリニアソレノイド３に通電する方のレベルであり、本実施形態では例えばハイレベル）にする時間も間接的に示す。つまり、デューティ比データが示すデューティ比を、周期データが示す周期に乗じた値が、ＰＷＭ信号のハイレベル時間（以下、オン時間という）になる。また、周期データが示す周期から、そのオン時間を引いた時間が、ＰＷＭ信号のローレベル時間（以下、オフ時間という）になる。
【００２４】
そして、ＰＷＭ信号出力回路１７は、レジスタ１９に書き込まれたＰＷＭデータが示す周期及びデューティ比のＰＷＭ信号を生成して当該マイコン５の外部へ出力する。具体的には、ＰＷＭ信号出力回路１７は、出力するＰＷＭ信号の周期を、周期データが示す周期に設定すると共に、そのＰＷＭ信号の１周期中において、該１周期の開始時からデューティ比データが示すオン時間は、ＰＷＭ信号の出力レベルをアクティブレベル（ハイレベル）にし、残りのオフ時間は、ＰＷＭ信号の出力レベルを非アクティブレベル（ローレベル）にする。
【００２５】
また、ＥＣＵ１は、電源電圧（本実施形態では、自動車のバッテリ電圧）ＶＢからリニアソレノイド３に電流を流すための通電経路を断続させるスイッチング手段として、例えばＰチャンネル形のＭＯＳＦＥＴ（以下単にＦＥＴという）２１を備えている。ＦＥＴ２１は、上記通電経路において、リニアソレノイド３に対し直列に且つリニアソレノイド３よりも上流側に、所謂ハイサイドスイッチとして設けられている。
【００２６】
そして、ＥＣＵ１は、ＦＥＴ２１をオン／オフさせる（駆動する）ためのトランジスタとして、コレクタがＦＥＴ２１のゲートに接続され、エミッタがグランドラインに接続されたＮＰＮトランジスタ２３を備えている。そのＮＰＮトランジスタ２３のベースには、ＰＷＭ信号出力回路１７によってマイコン５から出力されるＰＷＭ信号が、駆動信号として入力される。
【００２７】
更に、ＥＣＵ１は、ＦＥＴ２１のリニアソレノイド３側の端子（この例ではドレイン）にカソードが接続され、アノードがグランドラインに接続された電流環流用のダイオード２５と、リニアソレノイド３の下流側とグラインドラインとの間に接続された電流検出用の抵抗２７と、抵抗２７の両端の電圧差を増幅して出力する増幅回路２９と、を備えている。
【００２８】
このようなハードウェア構成を有したＥＣＵ１では、マイコン５からのＰＷＭ信号がハイレベルであるときに、ＮＰＮトランジスタ２３がオンして、ＦＥＴ２１がオンすることにより、電源電圧ＶＢからリニアソレノイド３への通電経路が導通して、リニアソレノイド３に電流が流れる。また、ＰＷＭ信号がハイレベルからローレベルに切り替わると、ＮＰＮトランジスタ２３がオフして、ＦＥＴ２１がオフすることにより、電源電圧ＶＢからリニアソレノイド３への通電経路が遮断される。すると、リニアソレノイド３には、該リニアソレノイド３に蓄積されたフライバックエネルギー（逆起電力）により、グランドライン側からダイオード２５を経由して電流が流れる。
【００２９】
このため、リニアソレノイド３に流れる電流（以下、ソレノイド電流という）は、図５に示すように、ＰＷＭ信号がハイレベルになると増加し、ＰＷＭ信号がローレベルになると減少する。よって、ソレノイド電流は、ＰＷＭ信号のローレベルからハイレベルへの変化タイミング（以下、オン切り替わりタイミングという）において、極小値となり、ＰＷＭ信号のハイレベルからローレベルへの変化タイミング（以下、オフ切り替わりタイミングという）において、極大値となる。そして、ＰＷＭ信号のデューティ比が大きいほど、ソレノイド電流の平均値は大きくなる。尚、ＦＥＴ２１は、ＰＷＭ信号によってオン／オフするため、ＰＷＭ信号は、ＮＰＮトランジスタ２３の駆動信号であると共に、ＦＥＴ２１の駆動信号でもある。
【００３０】
また、ＰＷＭ信号がハイレベルとローレベルとの何れの場合でも、ソレノイド電流は、抵抗２７にも流れるため、その抵抗２７の両端には、ソレノイド電流に比例した電圧（＝ソレノイド電流×抵抗２７の抵抗値）が生じる。
【００３１】
このため、増幅回路２９からは、ソレノイド電流に比例した電圧信号が、ソレノイド電流を表す電流検出信号として出力される。そして、ＥＣＵ１では、その増幅回路３９から出力される電流検出信号が、マイコン５に入力されて、Ａ／Ｄ変換器１３によりＡ／Ｄ変換される。
【００３２】
また、マイコン５には、エンジンと変速機の制御に用いられる情報を表す他の複数の信号も入力され、それらの信号のうち、アナログ信号は、電流検出信号と同様に、Ａ／Ｄ変換器１３によりＡ／Ｄ変換される。
【００３３】
尚、電流検出信号と他のアナログ信号は、Ａ／Ｄ変換器１３の異なる入力チャンネルにそれぞれ入力される。そして、Ａ／Ｄ変換器１３は、電流検出信号については前述の第１モードで起動されてＡ／Ｄ変換し、他のアナログ信号については、第１モード又は第２モードで起動されてＡ／Ｄ変換する。
【００３４】
このようなＥＣＵ１において、マイコン５は、ソレノイド電流を目標値となるようにフィードバック制御する。具体的には、マイコン５は、ＦＥＴ２１をオン／オフさせるＰＷＭ信号の１周期あたりに２回、タイマ割り込みを発生させ、そのタイマ割り込みの処理により、Ａ／Ｄ変換器１３に増幅回路２９からの電流検出信号をＡ／Ｄ変換させる。そして、マイコン５は、その電流検出信号のＡ／Ｄ変換値に基づいて、実際のソレノイド電流が目標値となるように、ＰＷＭ信号のデューティ比を制御する。
【００３５】
そこで次に、マイコン５がリニアソレノイド３を制御するために行う処理について、フローチャートを用い説明する。尚、マイコン５が行う処理は、実際には、ＣＰＵ７がＲＯＭ９内のプログラムを実行することで行う処理である。
【００３６】
まず、マイコン５は、ＥＣＵ１に電源電圧が供給されて起動すると、図２の初期化処理を行う。
そして、図２に示すように、マイコン５は、初期化処理を開始すると、まずＳ１１０にて、タイマ割り込みの、初回の発生タイミングを設定する。
【００３７】
具体的に説明すると、マイコン５において、割り込みコントローラ１２は、当該マイコン５における所定周波数の内部クロックでカウントアップされる割り込み発生用タイマ３１と、書き込まれた値が割り込み発生用タイマ３１の値と比較されるコンペアレジスタ（図示省略）とを備えている。そして、割り込みコントローラ１２は、割り込み発生用タイマ３１の値がコンペアレジスタの値と一致すると、当該マイコン５内でタイマ割り込みを発生させる。具体的なアクションとしては、タイマ割り込みの要求信号を出力する。すると、ＣＰＵ７は、そのタイマ割り込みに対してＲＯＭ９に用意されたプログラムの処理であるタイマ割り込みの処理（以下、タイマ割り込み処理ともいう）を実行する。また、本実施形態において、割り込みコントローラ１２は、タイマ割り込みを発生させると、割り込み発生用タイマ３１を自動的にリセットスタートさせる(図５の時刻ｔ１，ｔ３，ｔ５参照)。
【００３８】
このため、マイコン５は、Ｓ１１０にて、上記コンペアレジスタに、タイマ割り込みを発生させるタイミングに該当する値（詳しくは、現在からタイマ割り込みを発生させるタイミングまでの時間を、上記内部クロックの周期で割った値）を書き込むと共に、割り込み発生用タイマ３１をリセットスタートさせる。また、このＳ１１０では、図５における時刻ｔ１であって、当該マイコン５が起動してからＰＷＭ信号が最初にハイレベルになる時刻ｔ２よりも微小な所定時間Ｔｂ（本実施形態では、例えば１００μｓ）だけ前の時刻に、タイマ割り込みを発生させる値を、上記コンペアレジスタに書き込む。
【００３９】
そして、マイコン５は、次のＳ１２０にて、後述する図３のタイマ割り込み処理で参照される処理識別フラグを“０”に設定する。その処理識別フラグは、タイマ割り込み処理において、今回の処理が、ＰＷＭ信号のオン切り替わりタイミング直前に実行されるオン直前処理と、ＰＷＭ信号のオフ切り替わりタイミング直前に実行されるオフ直前処理との、何れであるかを識別するためのフラグである。
【００４０】
次に、マイコン５は、Ｓ１３０にて、Ａ／Ｄ変換機能の初期設定を行う。具体的には、Ａ／Ｄ変換器１３の各入力チャンネルについて、起動モードを設定すると共に、起動モードを前述の第２モードに設定した入力チャンネルについては、Ａ／Ｄ変換器１３を自動的に起動する時間間隔も設定する。そして、電流検出信号の入力チャンネルについては第１モードに設定し、後述するタイマ割り込み処理により、Ａ／Ｄ変換器１３を起動して、その電流検出信号のＡ／Ｄ変換が実施されるようにする。
【００４１】
尚、以下の説明において、「Ａ／Ｄ変換器１３を起動する」ということは、電流検出信号の入力チャンネルについてＡ／Ｄ変換器１３を起動するということであり、複数のアナログ信号のうちの電流検出信号をＡ／Ｄ変換させるためにＡ／Ｄ変換器１３を起動するということである。更に、以下の説明におけるレジスタ１５は、電流検出信号の入力チャンネルに対応するレジスタ１５であって、電流検出信号のＡ／Ｄ変換値が格納されるレジスタ１５のことである。
【００４２】
次に、マイコン５は、Ｓ１４０にて、ＰＷＭ出力機能の初期設定を行う。具体的には、ＰＷＭデータの初期値（即ち、ＰＷＭ信号の周期とデューティ比との初期値）をレジスタ１９に書き込むと共に、ＰＷＭ信号出力回路１７の動作を開始させる。
【００４３】
尚、ＰＷＭデータのうち、デューティ比データの初期値としては、０を書き込む。また、周期データの初期値としては、例えば３００ヘルツに相当する３．３３ｍｓに該当する値を書き込む。また、本実施形態において、ＰＷＭ信号の周期（１周期時間）は、このＳ１４０で設定される初期値から変更されることはないが、マイコン５の動作中にＰＷＭ信号の周期を変更することも可能である。
【００４４】
そして、マイコン５は、上記Ｓ１４０の処理を行った後、当該初期化処理を終了し、その後は、割り込みコントローラ１２によってタイマ割り込みが発生される毎に、図３のタイマ割り込み処理を行う。
【００４５】
図３に示すように、マイコン５は、タイマ割り込み処理を開始すると、まずＳ２１０にて、処理識別フラグが“１”であるか否かを判定し、処理識別フラグが“１”でなければ（即ち“０”であれば）、今回の当該タイマ割り込み処理が、ＰＷＭ信号のオン切り替わりタイミング直前に実行されるオン直前処理であると判断して、Ｓ２２０に進む。
【００４６】
そして、Ｓ２２０にて、Ａ／Ｄ変換器１３を起動して該Ａ／Ｄ変換器１３に電流検出信号をＡ／Ｄ変換させる。
次に、マイコン５は、Ｓ２３０にて、レジスタ１９内のＰＷＭデータを更新する。
【００４７】
具体的には、マイコン５は、図５において☆印で示しているように、ＰＷＭ信号のデューティ比を算出するＦＢ演算処理（ＦＢはフィードバックの略）を、一定時間毎に行うようになっている。尚、ＦＢ演算処理については後で図４を用い説明する。そして、マイコン５は、Ｓ２３０では、レジスタ１９内のＰＷＭデータのうち、デューティ比データを、ＦＢ演算処理で算出した最新のデューティ比を表すデータに書き換える。
【００４８】
次に、マイコン５は、Ｓ２４０にて、レジスタ１９にＰＷＭデータのかたちで現在設定しているＰＷＭ信号の周期及びデューティ比に基づいて、ＰＷＭ信号の次回のオフ切り替わりタイミングよりも前述の所定時間Ｔｂだけ前のタイミングを算出し、そのタイミングを、次回のタイマ割り込みの発生タイミングとして設定する。
【００４９】
具体的には、本実施形態において、オン直前処理としてのタイマ割り込み処理を起床するタイマ割り込みは、ＰＷＭ信号のオン切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングで発生されるようになっている。このため、Ｓ２４０では、Ｓ２３０で設定した最新の周期及びデューティ比から、ＰＷＭ信号のオン時間（ハイレベル時間）を、目的のタイミングとして算出する。今回のタイマ割り込みの発生時からそのオン時間が経過したタイミングが、ＰＷＭ信号の次回のオフ切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングになるからである。そして更に、Ｓ２４０では、算出したオン時間に相当する値（詳しくは、オン時間を上記内部クロックの周期で割った値）を、前述のコンペアレジスタに書き込む。すると、その後、ＰＷＭ信号の次回のオフ切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングになると、次回のタイマ割り込みが発生し、その時に実行される当該タイマ割り込み処理はオフ直前処理となる。
【００５０】
そして、マイコン５は、次のＳ２５０にて、処理識別フラグを“１”に設定する。次回の当該タイマ割り込み処理にて、オフ直前処理であることを判別するためである。
次に、Ｓ２６０にて、レジスタ１５から電流検出信号のＡ／Ｄ変換値を読み出して、そのＡ／Ｄ変換値を、電流極小時のＡ／Ｄ変換値としてＲＡＭ１１に記憶する。そして、その後、当該タイマ割り込み処理を終了する。
【００５１】
尚、Ｓ２６０の処理が行われる時点において、上記Ｓ２２０で起動されたＡ／Ｄ変換器１３は電流検出信号のＡ／Ｄ変換を完了しており、レジスタ１５には今回のＡ／Ｄ変換による電流検出信号のＡ／Ｄ変換値が格納されている。また、Ｓ２６０の処理は、電流検出信号のＡ／Ｄ変換が完了してからであれば、Ｓ２２０以降のどのタイミングで実施しても良い。また、電流極小時のＡ／Ｄ変換値とは、ソレノイド電流がＰＷＭ信号の１周期中において極小値になったときの、電流検出信号のＡ／Ｄ変換値を意味する。
【００５２】
一方、マイコン５は、上記Ｓ２１０にて、処理識別フラグが“１”であると判定した場合には、今回の当該タイマ割り込み処理が、ＰＷＭ信号のオフ切り替わりタイミング直前に実行されるオフ直前処理であると判断して、Ｓ３２０に進む。
【００５３】
そして、Ｓ３２０にて、Ｓ２２０と同様に、Ａ／Ｄ変換器１３を起動して該Ａ／Ｄ変換器１３に電流検出信号をＡ／Ｄ変換させる。
次に、マイコン５は、Ｓ３４０にて、レジスタ１９にＰＷＭデータのかたちで現在設定しているＰＷＭ信号の周期及びデューティ比に基づいて、ＰＷＭ信号の次回のオン切り替わりタイミングよりも前述の所定時間Ｔｂだけ前のタイミングを算出し、そのタイミングを、次回のタイマ割り込みの発生タイミングとして設定する。
【００５４】
具体的には、本実施形態において、オフ直前処理としてのタイマ割り込み処理を起床するタイマ割り込みは、ＰＷＭ信号のオフ切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングで発生されるようになっている。このため、Ｓ３４０では、現在設定しているＰＷＭ信号の周期及びデューティ比から、ＰＷＭ信号のオフ時間（ローレベル時間）を、目的のタイミングとして算出する。今回のタイマ割り込みの発生時からそのオフ時間が経過したタイミングが、ＰＷＭ信号の次回のオン切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングになるからである。そして更に、Ｓ３４０では、算出したオフ時間に相当する値（詳しくは、オフ時間を上記内部クロックの周期で割った値）を、前述のコンペアレジスタに書き込む。すると、その後、ＰＷＭ信号の次回のオン切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングになると、次回のタイマ割り込みが発生し、その時に実行される当該タイマ割り込み処理はオン直前処理となる。
【００５５】
そして、マイコン５は、次のＳ３５０にて、処理識別フラグを“０”に設定する。次回の当該タイマ割り込み処理にて、オン直前処理であることを判別するためである。
次に、Ｓ３６０にて、レジスタ１５から電流検出信号のＡ／Ｄ変換値を読み出して、そのＡ／Ｄ変換値を、電流極大時のＡ／Ｄ変換値としてＲＡＭ１１に記憶する。そして、その後、当該タイマ割り込み処理を終了する。
【００５６】
尚、Ｓ３６０の処理が行われる時点において、上記Ｓ３２０で起動されたＡ／Ｄ変換器１３は電流検出信号のＡ／Ｄ変換を完了しており、レジスタ１５には今回のＡ／Ｄ変換による電流検出信号のＡ／Ｄ変換値が格納されている。また、Ｓ３６０の処理は、電流検出信号のＡ／Ｄ変換が完了してからであれば、Ｓ３２０以降のどのタイミングで実施しても良い。また、電流極大時のＡ／Ｄ変換値とは、ソレノイド電流がＰＷＭ信号の１周期中において極大値になったときの、電流検出信号のＡ／Ｄ変換値を意味する。
【００５７】
一方、割り込み発生用タイマ３１の値がコンペアレジスタの値と一致してタイマ割り込みが発生したときから、タイマ割り込み処理における上記Ｓ２２０又はＳ３２０でＡ／Ｄ変換器１３が起動されて該Ａ／Ｄ変換器１３が電流検出信号をＡ／Ｄ変換するまでの遅れ時間を、ＴＤとすると、上記所定時間Ｔｂは、ＴＤの設計上の最大値以上に設定されている。このため、電流検出信号のＡ／Ｄ変換は、ＰＷＭ信号のレベル変化タイミング（オン切り替わりタイミング及びオフ切り替わりタイミング）か、あるいはそのレベル変化タイミングの直前で行われることとなる。
【００５８】
また、図５における時刻ｔ３から時刻ｔ４までの間と、図５における時刻ｔ５から時刻ｔ６までの間に例示しているように、ＰＷＭ信号のレベル変化タイミングの直前において、ソレノイド電流は、既にＰＷＭ信号のレベル変化タイミングでの値と同じと見なすことができる値に達する。このため更に、上記所定時間Ｔｂは、ＴＤが設計上の最小値になっても、ソレノイド電流がＰＷＭ信号のレベル変化タイミングでの値（即ち、極小値又は極大値）と設計上同一と見なすことができる値（例えば９５％以上近づいた値）になっているときに、Ａ／Ｄ変換器１３が電流検出信号をＡ／Ｄ変換することとなる時間に設定されている。
【００５９】
所定時間Ｔｂが上記のように設定されているため、タイマ割り込み処理により起動されるＡ／Ｄ変換器１３は、ソレノイド電流がＰＷＭ信号の１周期中において極小値又は極大値になるときに動作して、電流検出信号をＡ／Ｄ変換することとなる。
【００６０】
また、マイコン５は、図４のＦＢ演算処理を、一定時間毎に行う。尚、本実施形態では、ＦＢ演算処理は、図５において☆印で示しているように、例えばＰＷＭ信号の周期と同じ一定時間毎に実行されると共に、当該マイコン５が起動してからタイマ割り込み処理が最初に実行される前に、１回目が実行されるようになっている。
【００６１】
そして、図４に示すように、マイコン５は、ＦＢ演算処理を開始すると、まずＳ４１０にて、ＲＡＭ１１に記憶されている最新の、電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値とを、ＲＡＭ１１から読み込む。尚、電流極小時のＡ／Ｄ変換値と、電流極大時のＡ／Ｄ変換値は、タイマ割り込み処理のＳ２６０又はＳ３６０でＲＡＭ１１に記憶されたＡ／Ｄ変換値である。
【００６２】
そして、マイコン５は、次のＳ４２０にて、Ｓ４１０で読み込んだ電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値とに基づいて、ソレノイド電流を検出し、その検出電流値を目標値にするためのＦＢ演算により、ＰＷＭ信号のデューティ比を算出する。
【００６３】
具体的には、例えば、電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値とを加算して２で割った値（つまり、両Ａ／Ｄ変換値の平均値）を、電流検出値として算出し、ＦＢ演算では、目標値から電流検出値を引いた偏差に応じて、偏差が正であればデューティ比を大きくし、偏差が負であればデューティ比を小さくする。
【００６４】
また、マイコン５が起動してから当該ＦＢ演算処理が１回目に実行された場合（図５における☆印のうち、左側の☆印のタイミングで当該ＦＢ演算処理が実行された場合）には、電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値との両方がＲＡＭ１１に未だ記憶されていないため、Ｓ４２０では、デューティ比の算出値を、予め定められた通電開始用のデューティ比（例えば５０％）にする。
【００６５】
尚、ソレノイド電流の目標値は、変速機の変速状態を決定する別の演算処理により、例えば一定時間毎に算出されている。また、Ｓ４２０で算出されるデューティ比は、当該ＦＢ演算処理の後に実行されるオン直前処理としてのタイマ割り込み処理におけるＳ２３０にて、レジスタ１９にデューティ比データとして書き込まれ、その書き込み直後のＰＷＭ信号１周期におけるデューティ比として反映される。
【００６６】
そして、マイコン５は、上記Ｓ４２０の処理を行った後、当該ＦＢ演算処理を終了する。
次に、マイコン５が図２〜図４の処理を行うことによるＥＣＵ１の作用について、図５を用い説明する。
【００６７】
図５に示すように、マイコン５は、初期化処理にて、ＰＷＭ信号のデューティ比を初期値としての０に設定するため（Ｓ１４０）、ＰＷＭ信号は、マイコン５が初期化処理を行ってからの最初の１周期目はローのままとなる。
【００６８】
そして、マイコン５が初期化処理を終了してからＰＷＭ信号の１周期時間よりも所定時間Ｔｂだけ短い時間が経過した時刻ｔ１になると、タイマ割り込みが発生して、マイコン５はタイマ割り込み処理を実行する。尚、この時刻ｔ１でのタイマ割り込みは、初期化処理におけるＳ１１０でのタイミング設定によって発生される。また、マイコン５は、時刻ｔ１より前に、ＦＢ演算処理を少なくとも１回は実行している。
【００６９】
マイコン５は、時刻ｔ１で起床されるタイマ割り込み処理では、処理識別フラグが初期化処理のＳ１２０で“０”に設定されているため、オン直前処理であると判断して、Ｓ２２０〜Ｓ２６０の処理を行うこととなる。そして、そのＳ２２０〜Ｓ２６０の処理により、Ａ／Ｄ変換器１３を起動して、電流検出信号のＡ／Ｄ変換値を電流極小時のＡ／Ｄ変換値としてＲＡＭ１１に記憶すると共に、レジスタ１９内のデューティ比データを、直前のＦＢ演算処理で算出した最新のデューティ比（但し、この場合は、初回であるため、前述した通電開始用のデューティ比）を表すデータに書き換え、更に、ＰＷＭ信号の次回のオフ切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングを、次回のタイマ割り込みの発生タイミングとして設定して、処理識別フラグを“１”に設定することとなる。
【００７０】
また、時刻ｔ１よりも所定時間Ｔｂだけ後の時刻ｔ２であって、ＰＷＭ信号の２周期目の開始時刻ｔ２になると、ＰＷＭ信号が、ローレベルからハイレベルに変化する。そして、そのＰＷＭ信号は、レジスタ１９に現在設定されているデューティ比データに応じたオン時間だけハイレベルになる。
【００７１】
その後、ＰＷＭ信号の次回のオフ切り替わりタイミングである時刻ｔ４よりも所定時間Ｔｂだけ前の時刻ｔ３になると、タイマ割り込みが発生して、マイコン５はタイマ割り込み処理を実行する。尚、この時刻ｔ３でのタイマ割り込みは、前回のタイマ割り込み処理におけるＳ２４０でのタイミング設定によって発生される。
【００７２】
マイコン５は、その時刻ｔ３で起床されるタイマ割り込み処理では、処理識別フラグが前回のタイマ割り込み処理におけるＳ２５０で“１”に設定されているため、オフ直前処理であると判断して、Ｓ３２０〜Ｓ３６０の処理を行うこととなる。そして、そのＳ３２０〜Ｓ３６０の処理により、Ａ／Ｄ変換器１３を起動して、電流検出信号のＡ／Ｄ変換値を電流極大時のＡ／Ｄ変換値としてＲＡＭ１１に記憶し、更に、ＰＷＭ信号の次回のオン切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングを、次回のタイマ割り込みの発生タイミングとして設定して、処理識別フラグを“０”に設定することとなる。
【００７３】
また、時刻ｔ３よりも所定時間Ｔｂだけ後の時刻ｔ４になると、ＰＷＭ信号が、ハイレベルからローレベルに変化する。そして、そのＰＷＭ信号は、レジスタ１９に現在設定されているデューティ比データに応じたオフ時間だけローレベルになる。
【００７４】
その後、ＰＷＭ信号の次回のオン切り替わりタイミングである時刻ｔ６よりも所定時間Ｔｂだけ前の時刻ｔ５になると、タイマ割り込みが発生して、マイコン５はタイマ割り込み処理を実行する。尚、この時刻ｔ５でのタイマ割り込みは、前回のタイマ割り込み処理におけるＳ３４０でのタイミング設定によって発生される。
【００７５】
マイコン５は、その時刻ｔ５で起床されるタイマ割り込み処理では、処理識別フラグが前回のタイマ割り込み処理におけるＳ３５０で“０”に設定されているため、オン直前処理であると判断して、Ｓ２２０〜Ｓ２６０の処理を行うこととなる。そして、そのＳ２２０〜Ｓ２６０の処理により、Ａ／Ｄ変換器１３を起動して、電流検出信号のＡ／Ｄ変換値を電流極小時のＡ／Ｄ変換値としてＲＡＭ１１に記憶すると共に、レジスタ１９内のデューティ比データを、直前のＦＢ演算処理で算出した最新のデューティ比を表すデータに書き換え、更に、ＰＷＭ信号の次回のオフ切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングを、次回のタイマ割り込みの発生タイミングとして設定して、処理識別フラグを“１”に設定することとなる。
【００７６】
また、時刻ｔ５の直前に実行されるＦＢ演算処理（図５における☆印のうち、右側の☆印のタイミングで実行されるＦＢ演算処理）では、時刻ｔ１で起床されたタイマ割り込み処理によりＲＡＭ１１に記憶された電流極小時のＡ／Ｄ変換値と、時刻ｔ３で起床されたタイマ割り込み処理によりＲＡＭ１１に記憶された電流極大時のＡ／Ｄ変換値とに基づいて、ＰＷＭ信号のデューティ比を算出することとなる。そして、時刻ｔ５で起床されたタイマ割り込み処理においては、その直前のＦＢ演算処理で算出されたデューティ比を、時刻ｔ６から始まる次の周期のＰＷＭ信号のデューティ比として設定することとなる。
【００７７】
そして、時刻ｔ５以降は、図５における時刻ｔ１〜ｔ５の動作と同様の動作が繰り返されることにより、ソレノイド電流が目標値となるようにフィードバック制御される。
以上のようなＥＣＵ１では、ソレノイド電流がＰＷＭ信号の１周期中において極小値になるときにＡ／Ｄ変換器１３が動作するように、該Ａ／Ｄ変換器１３を起動して、該Ａ／Ｄ変換器１３による電流検出信号のＡ／Ｄ変換値を、電流極小時のＡ／Ｄ変換値としてＲＡＭ１１に記憶し、また、ソレノイド電流がＰＷＭ信号の１周期中において極大値になるときにＡ／Ｄ変換器１３が動作するように、該Ａ／Ｄ変換器１３を起動して、該Ａ／Ｄ変換器１３による電流検出信号のＡ／Ｄ変換値を、電流極大時のＡ／Ｄ変換値としてＲＡＭ１１に記憶している。そして、ＲＡＭ１１に記憶された電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値とに基づいてソレノイド電流を検出し、その検出電流値が目標値となるようにＰＷＭ信号のデューティ比を制御している。
【００７８】
このＥＣＵ１によれば、Ａ／Ｄ変換器１３を起動して電流検出信号のＡ／Ｄ変換値をＲＡＭ１１に記憶する処理（以下、電流値取得用処理という）は、ＰＷＭ信号の１周期あたりに２回で済むため、リニアソレノイド３を制御するための処理負荷を低減することができる。
【００７９】
また、その２回のＡ／Ｄ変換によるＡ／Ｄ変換値（電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値）から、ソレノイド電流を精度良く検出することができるため、リニアソレノイド３の電流制御精度も確保することができる。
【００８０】
また、ＥＣＵ１では、上記電流値取得用処理を、マイコン５によるタイマ割り込み処理で行っているが、そのタイマ割り込み処理の優先度を他の特定の割り込み処理より高くしたとしても、電流値取得用処理としてのタイマ割り込み処理の実行頻度はＰＷＭ信号１周期あたりに２回というように少ないため、他の特定の割り込み処理に対する影響を抑えることができる。このため、リニアソレノイド３の制御を行うことによって他の処理（例えば、エンジンを制御するための処理）が行えなくなってしまうことを、抑制することができる。
【００８１】
また、ＥＣＵ１では、ＰＷＭ信号のオン切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングであるオン直前タイミング毎に、Ａ／Ｄ変換器１３を起動することにより、そのオン直前タイミングからオン切り替わりタイミングまでの間にＡ／Ｄ変換器１３を動作させ、該Ａ／Ｄ変換器１３による電流検出信号のＡ／Ｄ変換値を、電流極小時のＡ／Ｄ変換値としてＲＡＭ１１に記憶している。同様に、ＰＷＭ信号のオフ切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングであるオフ直前タイミング毎に、Ａ／Ｄ変換器１３を起動することにより、そのオフ直前タイミングからオフ切り替わりタイミングまでの間にＡ／Ｄ変換器１３を動作させ、該Ａ／Ｄ変換器１３による電流検出信号のＡ／Ｄ変換値を、電流極大時のＡ／Ｄ変換値としてＲＡＭ１１に記憶している。
【００８２】
このため、上記所定時間Ｔｂを適宜設定するだけで、ソレノイド電流がＰＷＭ信号の１周期中において極小値になるときにＡ／Ｄ変換器１３を動作させることと、ソレノイド電流がＰＷＭ信号の１周期中において極大値になるときにＡ／Ｄ変換器１３を動作させることとを、確実に実施することができる。
【００８３】
また、マイコン５は、上記オン直前タイミング毎にタイマ割り込みを発生させ、そのオン直前タイミングで発生するタイマ割り込みの処理により、Ａ／Ｄ変換器１３を起動すると共に、該Ａ／Ｄ変換器１３による電流検出信号のＡ／Ｄ変換値を電流極小時のＡ／Ｄ変換値としてＲＡＭ１１に記憶することにより、前述の第１手段として機能する。同様に、マイコン５は、上記オフ直前タイミング毎にタイマ割り込みを発生させ、そのオフ直前タイミングで発生するタイマ割り込みの処理により、Ａ／Ｄ変換器１３を起動すると共に、該Ａ／Ｄ変換器１３による電流検出信号のＡ／Ｄ変換値を電流極大時のＡ／Ｄ変換値としてＲＡＭ１１に記憶することにより、前述の第２手段として機能する。
【００８４】
そして、この構成によれば、マイコン５のタイマ割り込み処理により、Ａ／Ｄ変換器１３を起動して、電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値とをＲＡＭ１１に記憶することができる。
【００８５】
また特に、上記オン直前タイミングで発生するタイマ割り込みと、上記オフ直前タイミングで発生するタイマ割り込みは、１つの同じタイマ割り込みである。そして、マイコン５は、上記オン直前タイミングで発生するタイマ割り込みの処理にて、次回のオフ直前タイミングでタイマ割り込みを発生させるための処理（Ｓ２４０）を行い、上記オフ直前タイミングで発生するタイマ割り込みの処理にて、次回のオン直前タイミングでタイマ割り込みを発生させるための処理（Ｓ３４０）を行う。
【００８６】
このため、複数のタイマ割り込みを使用することなく、１つのタイマ割り込みにより、電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値とをＲＡＭ１１に記憶することができ、マイコン５におけるリソースを節約することができる。
【００８７】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【００８８】
例えば、前述した実施形態では、ＲＡＭ１１に記憶されると共に、図４のＦＢ演算処理におけるＳ４２０でデューティ比の算出に用いる電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値は、最新の１組であった。これに対して、ＲＡＭ１１に、電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値とを、最新のものから溯って複数組記憶するようにし、図４のＦＢ演算処理におけるＳ４２０では、その複数組の平均をとることにより、ソレノイド電流を算出しても良い。
【００８９】
また、図４のＦＢ演算処理におけるＳ４２０では、例えば、電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値との、両方又は一方に、所定の重み付け定数を乗じ、その乗算後のＡ／Ｄ変換値を用いて、平均化などの演算を行うことにより、ソレノイド電流を算出しても良い。
【００９０】
また、電流極小時のＡ／Ｄ変換値と電流極大時のＡ／Ｄ変換値とをＲＡＭ１１に記憶するために、２つタイマ割り込みを用いても良い。その場合、上記オン直前タイミング毎に、一方のタイマ割り込みを発生させて、その一方のタイマ割り込みの処理にて、図３のＳ２２０、Ｓ２３０及びＳ２６０と同じ処理を行うと共に、ＰＷＭ信号の次回のオフ切り替わりタイミングよりも所定時間Ｔｂだけ前のタイミングを、他方のタイマ割り込みの発生タイミングとして設定し、その他方のタイマ割り込みの処理にて、図３のＳ３２０及びＳ３６０と同じ処理を行えば良い。
【００９１】
また、Ａ／Ｄ変換器１３により抵抗２７の両端の各電圧（上流側電圧と下流側電圧）を、ソレノイド電流に応じた電圧信号としてＡ／Ｄ変換し、その両Ａ／Ｄ変換値の差を、ソレノイド電流を表すＡ／Ｄ変換値して処理する構成を採っても良い。
【００９２】
また、スイッチング手段としては、例えば、Ｎチャンネル形のＭＯＳＦＥＴでも良く、バイポーラトランジスタやＩＧＢＴ等の他の種類のスイッチング素子でも良い。
また、制御対象の誘導性負荷は、変速機の変速状態を切り替えるリニアソレノイド３に限らず、流れる電流を制御すべき他の誘導性負荷であっても良い。
【００９３】
また、上記実施形態では、電流値取得手段と制御手段とをマイコン５によって実現したが、電流値取得手段と制御手段は、例えば、ソフトウェアを利用しない専用のハードウェア回路で実現しても良い。また、メモリとしては、ＲＡＭ１１以外の書き換え可能なメモリやレジスタでも良い。また、オン直前タイミングを定める所定時間Ｔｂと、オフ直前タイミングを定める所定時間Ｔｂとを、異なる時間に設定しても良い。
【００９４】
一方、割り込みコントローラ１２が、タイマ割り込みを発生させたときに、割り込み発生用タイマ３１を自動的にリセットスタートさせない構成であれば、一例として、タイマ割り込み処理における何れかのステップ（例えば先頭）で、割り込み発生用タイマ３１をリセットスタートさせれば良い。また他の例として、タイマ割り込み処理におけるＳ２４０とＳ３４０との各々では、現在のコンペアレジスタの値（タイマ割り込みの発生時における割り込み発生用タイマ３１の値でもある）に、算出したオン時間又はオフ時間に相当する値を加算した値（但し、加算した値が割り込み発生用タイマ３１の最大値を超える場合は、その最大値を超える分の値）を、コンペアレジスタに書き込めば良い。
【符号の説明】
【００９５】
１…ＥＣＵ（電子制御装置）、３…リニアソレノイド、５…マイコン、１１…ＲＡＭ、１３…Ａ／Ｄ変換器、２１…ＦＥＴ、２７…抵抗、２９…増幅回路
【図１】
2014096409.tif 000003
【図２】
2014096409.tif 000004
【図３】
2014096409.tif 000005
【図４】
2014096409.tif 000006
【図５】
2014096409.tif 000007