(57)【特許請求の範囲】
【請求項１】
電圧が印加された素子に被検出ガス中の酸素濃度に応じた電流が流れる酸素濃度センサと、
前記素子への印加電圧を酸素濃度検出時の電圧（以下「基準電圧」という）から素子インピーダンスを検出するための電圧（以下「掃引電圧」という）に切り換え、その時の電圧変化ΔＶo と、その電圧変化ΔＶo によって生じる電流変化に応じた電圧変化ΔＶi とから前記素子インピーダンスを算出する素子インピーダンス算出手段と
を備えた酸素濃度センサ素子インピーダンス検出装置において、
前記素子インピーダンス算出手段は、前記素子インピーダンスを１回検出するに当たり、前記素子印加電圧を前記基準電圧から前記掃引電圧に切り換える掃引処理を少なくとも２回行うことを特徴とする酸素濃度センサ素子インピーダンス検出装置。
【請求項２】
前記素子印加電圧と電流に応じた電圧とをＡ／Ｄ変換するＡ／Ｄ変換手段を備え、
前記Ａ／Ｄ変換手段は、一定期間当たりのＡ／Ｄ変換回数を前記素子インピーダンスを検出する時と検出しない時とで同一に設定し、
前記素子インピーダンス算出手段は、前記Ａ／Ｄ変換手段のＡ／Ｄ変換結果を基に前記素子インピーダンスを算出することを特徴とする請求項１に記載の酸素濃度センサ素子インピーダンス検出装置。
【請求項３】
前記素子印加電圧と電流に応じた電圧とをＡ／Ｄ変換するＡ／Ｄ変換手段を備え、
前記Ａ／Ｄ変換手段は、所定期間内で複数回行うＡ／Ｄ変換のうち少なくとも１回のＡ／Ｄ変換タイミングは、前記素子インピーダンスを検出するか検出しないかに拘らず同一の周期に設定し、
前記素子インピーダンス算出手段は、前記Ａ／Ｄ変換手段のＡ／Ｄ変換結果を基に前記素子インピーダンスを算出することを特徴とする請求項１に記載の酸素濃度センサ素子インピーダンス検出装置。
【請求項４】
前記素子インピーダンス算出手段は、掃引による電流変化に応じた電圧変化ΔＶi を検出するための２点の電圧のＡ／Ｄ変換を連続させることを特徴とする請求項２又は３に記載の酸素濃度センサ素子インピーダンス検出装置。
【請求項５】
前記素子インピーダンス算出手段は、前記素子印加電圧を前記掃引電圧に切り換えてＡ／Ｄ変換を行った後に、直ちに該素子印加電圧を前記基準電圧と前記掃引電圧との電圧差分だけ該基準電圧より反対側に振った戻し電圧に切り換え、該戻し電圧を掃引時間と同じ時間だけ保持した後に前記基準電圧に戻すことを特徴とする請求項２乃至４のいずれかに記載の酸素濃度センサ素子インピーダンス検出装置。
【請求項６】
前記素子インピーダンス算出手段は、１回の掃引中に行う酸素濃度センサに関するＡ／Ｄ変換を１回とすることを特徴とする請求項２乃至５のいずれかに記載の酸素濃度センサ素子インピーダンス検出装置。
【請求項７】
前記素子の端子のうち、前記印加電圧を掃引する側の端子は、電源のプラス側とマイナス側とにそれぞれダイオードを介して接続されていることを特徴とする請求項１に記載の酸素濃度センサ素子インピーダンス検出装置。
【請求項８】
前記素子の端子のうち、前記印加電圧を掃引しない側の端子は、電源のプラス側にダイオードを介して接続されていることを特徴とする請求項１に記載の酸素濃度センサ素子インピーダンス検出装置。
【請求項９】
電圧が印加された素子に被検出ガス中の酸素濃度に応じた電流が流れる酸素濃度センサと、
前記素子への印加電圧を酸素濃度検出時の電圧（以下「基準電圧」という）から素子インピーダンスを検出するための電圧（以下「掃引電圧」という）に切り換え、その時の電圧変化ΔＶo と、その電圧変化ΔＶo によって生じる電流変化に応じた電圧変化ΔＶi とから前記素子インピーダンスを算出する素子インピーダンス算出手段と
を備えた酸素濃度センサ素子インピーダンス検出装置において、
前記素子インピーダンス算出手段は、前記素子インピーダンスを１回検出するに当たり、前記素子印加電圧を前記基準電圧から前記掃引電圧に切り換える掃引処理を少なくとも２回行うと共に、最初の掃引でその掃引により生じる電流変化に応じた電圧変化ΔＶi を検出し、それ以外の掃引で前記電圧変化ΔＶo を検出することを特徴とする酸素濃度センサ素子インピーダンス検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、被検出ガス中の酸素濃度を検出する酸素濃度センサの素子インピーダンスを検出する酸素濃度センサ素子インピーダンス検出装置に関するものである。
【０００２】
【従来の技術】
近年、例えば自動車の空燃比制御システムでは、排気ガス中の酸素濃度を酸素濃度センサにより検出し、この酸素濃度センサの検出値に基づいて、エンジンに吸入する混合気の空燃比をフィードバック制御することで、触媒による排気ガス浄化性能を高めるようにしている。一般に、酸素濃度センサは、その出力電圧の温度依存性が大きいため、酸素濃度の検出精度を良好に維持するには素子温度を適温（活性温度）に保つ必要がある。そのため、酸素濃度センサにヒータを付設し、このヒータの発熱により素子温度を活性温度（例えば約６００℃以上）に保つようにヒータへの通電をフィードバック制御するようにしたものがある。このシステムでは、ヒータへの通電をフィードバック制御するために素子温度を検出する必要があるが、酸素濃度センサに温度センサを配設すると、酸素濃度センサの大型化やコストアップを招いてしまう。
【０００３】
そこで、酸素濃度センサの素子インピーダンス（素子抵抗）が素子温度に応じて変化することに着目し、素子インピーダンスを検出し、その素子インピーダンスから素子温度を算出することが提案されている。素子インピーダンスを検出する手法としては、特開平９−２９２３６４号公報に示すように素子印加電圧Ｖｏ  を酸素濃度検出時の電圧（以下「基準電圧」という）から素子インピーダンスを検出するための電圧（以下「掃引電圧」という）に切り換え、その時の電圧変化ΔＶｏ  と、その電圧変化ΔＶｏ  によって生じる電流変化に応じた電圧変化ΔＶｉ  とから素子インピーダンスを検出するものがある。
【０００４】
【発明が解決しようとする課題】
ところで、上記酸素濃度センサシステムでは、通常は、素子電流（酸素濃度）に応じた素子電流検出用の電圧Ｖｉ  と素子印加電圧Ｖｏ  とを一定のサンプリング周期（例えば４ｍｓ周期）でＡ／Ｄ変換回路を通してマイクロコンピュータに取り込んで酸素濃度を検出し、素子インピーダンスを検出する時に、図１８に示すように、素子印加電圧Ｖｏ  を掃引電圧に掃引する直前に、素子印加電圧Ｖｏ  と電流検出用の電圧Ｖｉ  とを順番にＡ／Ｄ変換し、掃引中に、再度、２つの電圧Ｖｏ  ，Ｖｉ  を順番にＡ／Ｄ変換する。この際、１回のＡ／Ｄ変換に例えば５０μｓの時間を要するため、掃引中に２回のＡ／Ｄ変換を行えば、掃引中に少なくとも１００μｓのＡ／Ｄ変換時間が必要となる。
【０００５】
実際のシステムでは、掃引中にＶｏ  ，Ｖｉ  以外のチャンネルの信号もＡ／Ｄ変換されることがあり、掃引中に他のチャンネルの信号のＡ／Ｄ変換によりＶｏ  ，Ｖｉ  のＡ／Ｄ変換が遅らされることもあるため、Ａ／Ｄ変換のための時間をある程度確保しておく必要がある。また、酸素濃度の検出周期は、酸素濃度の変化に対する検出応答性を良くするために短い周期（例えば４ｍｓ周期）に設定することが好ましい。
【０００６】
更に、掃引時間経過後は、素子電流を速やかに通常状態に速やかに収束させるために、掃引時間経過後に素子印加電圧Ｖｏ  を基準電圧と掃引電圧との電圧差分だけ該基準電圧より反対側に振った戻し電圧に切り換えて、掃引中に酸素濃度センサの素子が有する容量成分に蓄えられた電荷の放電を促進させ、該戻し電圧を掃引時間と同じ時間だけ保持して、素子の容量成分による充電電荷を放電し終えた時点で、素子印加電圧Ｖｏ  を基準電圧に戻すようにしている。従って、掃引中に２つの電圧Ｖｏ  ，Ｖｉ  のＡ／Ｄ変換が他のチャンネルの信号のＡ／Ｄ変換により遅れることを考慮して掃引時間を長く設定すれば、それに応じて戻し時間も長くする必要があるため、掃引後に素子印加電圧Ｖｏ  を基準電圧に戻すのが益々遅くなる。このため、素子印加電圧Ｖｏ  が戻し電圧から基準電圧に戻って安定する前に、次の電圧Ｖｏ  ，Ｖｉ  のＡ／Ｄ変換タイミングが来てしまうおそれがあり、それによって、素子電流（酸素濃度）に応じた電圧Ｖｉ  を精度良く検出できないおそれがあり、酸素濃度の検出精度が低下するという問題が生じる。この問題を回避するために、掃引時間を短くすると、掃引中に他のチャンネルの信号のＡ／Ｄ変換を行うことができなくなってしまう。
【０００７】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、酸素濃度センサの素子インピーダンスを検出するための掃引時間を短くすることが可能となり、掃引による影響を受けずに酸素濃度を精度良く検出できると共に、掃引中に他の制御で使用する信号のＡ／Ｄ変換も行うことができる酸素濃度センサ素子インピーダンス検出装置を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の酸素濃度センサ素子インピーダンス検出装置は、素子インピーダンスを１回検出するに当たり、素子印加電圧を基準電圧から掃引電圧に切り換える掃引処理を少なくとも２回行うようにしたものである。このようにすれば、素子印加電圧の検出（Ａ／Ｄ変換）と素子電流検出用の電圧の検出（Ａ／Ｄ変換）とを別々の掃引期間に行うことが可能となる。この場合、素子印加電圧は、素子電流（酸素濃度）によって変化しないように制御されるため、素子印加電圧の検出と素子電流検出用の電圧の検出とを別々の掃引で行っても、これら２つの電圧の検出を１回の掃引中に行った場合と実質的に同じ検出結果が得られ、その検出結果に基づいて素子インピーダンスが検出される。この結果、１回の掃引中に素子印加電圧と素子電流検出用の電圧のいずれか一方を検出するだけで良く、その分、掃引時間を従来より短くすることができて、掃引による影響を受けずに酸素濃度を精度良く検出できると共に、掃引中に他の制御で使用する信号のＡ／Ｄ変換も行うことができる。
【０００９】
この場合、１回の掃引中に素子印加電圧と素子電流検出用の電圧のいずれか一方を検出するだけで良いことを考慮し、請求項２のように、一定期間当たりのＡ／Ｄ変換回数を素子インピーダンスを検出する時と検出しない時とで同一に設定すると良い。このようにすれば、素子インピーダンスを検出する時にＡ／Ｄ変換回数を切り換える必要がない上、Ａ／Ｄ変換の負荷も変わらず、Ａ／Ｄ変換の制御が容易となる。
【００１０】
更に、請求項３のように、所定期間内で複数回行うＡ／Ｄ変換のうち少なくとも１回のＡ／Ｄ変換タイミングは、前記素子インピーダンスを検出するか検出しないかに拘らず同一の周期に設定することが好ましい。このようにすれば、素子インピーダンスを検出すると検出しない時とで、少なくとも１回のＡ／Ｄ変換タイミングは切り換える必要がなく、Ａ／Ｄ変換タイミングの制御が容易となる。
【００１１】
この場合、請求項４のように、掃引による電流変化に応じた電圧変化ΔＶｉ  を検出するための２点の素子電流検出用の電圧Ｖｉ  のＡ／Ｄ変換を連続させることが好ましい。つまり、素子電流検出用の電圧Ｖｉ  は、素子印加電圧とは異なり、素子電流（酸素濃度）によって変化するため、２点の素子電流検出用の電圧Ｖｉ  のＡ／Ｄ変換を連続させることで、当該２点間の時間中の酸素濃度の変化による電圧Ｖｉ  のずれを少なくすることができ、掃引による電流変化に応じた電圧変化ΔＶｉ  を精度良く検出することができる。
【００１２】
また、請求項５のように、素子印加電圧を掃引電圧に切り換えてＡ／Ｄ変換を行った後に、直ちに該素子印加電圧を基準電圧と掃引電圧との電圧差分だけ該基準電圧より反対側に振った戻し電圧に切り換え、該戻し電圧を掃引時間と同じ時間だけ保持した後に基準電圧に戻すようにしても良い。このようにすれば、掃引開始からＡ／Ｄ変換終了までの時間が変化した場合でも、掃引中にＡ／Ｄ変換を終了した時点で、直ちに素子印加電圧が掃引電圧から戻し電圧に切り換えられるので、掃引時間を自動的に最短の時間に設定することができる。従って、掃引時間を固定値とする場合とは異なり、予めＡ／Ｄ変換終了までの時間の変化を見込んで掃引時間を長めの時間に設定する必要がない。
【００１３】
また、請求項６のように、１回の掃引中に行う酸素濃度センサに関するＡ／Ｄ変換を１回としても良い。このようにすれば、１回の掃引によるＡ／Ｄ変換時間が短くなるため、掃引時間を短くできる。
【００１４】
ところで、前述した特開平９−２９２３６４号公報に示すように、酸素濃度センサの素子の両端子は、それぞれコンデンサを介してグランド側（電源のマイナス側）に接続され、各コンデンサによりサージ吸収、ノイズ除去が行われるようになっている。このような回路構成では、掃引時間を短くするほど、コンデンサの容量（時定数）の影響が大きくなって、掃引時の電圧波形のなまりが大きくなり、素子インピーダンスの検出精度が低下する。かといって、コンデンサの容量を小さくすれば、サージ吸収、ノイズ除去の性能が低下してしまう。
【００１５】
この対策として、請求項７のように、酸素濃度センサの素子の端子のうち、印加電圧を掃引する側の端子を、電源のプラス側とマイナス側とにそれぞれダイオードを介して接続し、各ダイオードによってサージ吸収、ノイズ除去を行うようにしても良い。このようにすれば、サージ吸収、ノイズ除去の性能を十分に確保しながら、掃引時の電圧波形のなまりを抑えることができ、掃引時間の短縮化と素子インピーダンスの検出精度向上とを両立させることができる。
【００１６】
また、請求項８のように、酸素濃度センサの素子の端子のうち、印加電圧を掃引しない側の端子ＡＦ−を電源のプラス側にダイオードを介して接続するようにしても良い。このようにすれば、電源オフ時に、端子ＡＦ−側に残った電圧をダイオードを介して速やかに逃がすことができ、酸素濃度センサの素子に過大な電圧がかかることを防止できる。
【００１７】
また、請求項９のように、素子インピーダンスを１回検出するに当たり、素子印加電圧を基準電圧から掃引電圧に切り換える掃引処理を少なくとも２回行うと共に、最初の掃引でその掃引により生じる電流変化に応じた電圧変化ΔＶｉ  を検出し、それ以外の掃引で電圧変化ΔＶｏ  を検出するようにしても良い。つまり、掃引時に素子印加電圧を変化させることで生じる電流変化が掃引後すぐに一定にならずに影響が残るが、最初の掃引でその電流変化に応じた電圧変化ΔＶｉ  を検出すれば、電流変化の影響を受けずに電流変化に応じた電圧変化ΔＶｉ  を精度良く検出することができる。
【００１８】
【発明の実施の形態】
［実施形態（１）］
以下、本発明を空燃比制御システムに適用した実施形態（１）を図１乃至図７に基づいて説明する。酸素濃度センサＡＦＳは、限界電流式の酸素濃度センサ（空燃比センサ）であり、エンジンの排気通路に配置され、排気ガス中の酸素濃度（空燃比）にほぼ比例する限界電流を発生する。この酸素濃度センサＡＦＳは、活性温度が高く（約６００℃以上）、しかも、活性温度範囲が狭いため、排気ガスの熱のみでは、活性温度範囲を維持することが困難である。そこで、この酸素濃度センサＡＦＳには、ヒータ５１を内蔵し、このヒータ５１の発熱により酸素濃度センサＡＦＳの素子温度を活性温度範囲に維持するようにヒータ５１への通電をフィードバック制御する。この際、酸素濃度センサＡＦＳの素子温度の情報として、後述するようにして素子インピーダンスが検出される。
【００１９】
次に、図１に基づいて酸素濃度検出システム５２の構成を説明する。メインマイクロコンピュータ（以下「メインマイコン」と略記する）５３は、エンジン全体の制御を行う主体となるマイクロコンピュータであり、そのＲＯＭ（図示せず）に記憶された点火・噴射制御プログラムに従って演算した点火指令信号と噴射指令信号を駆動回路５４，５５を介して点火装置（図示せず）と燃料噴射弁（図示せず）に出力して点火・噴射動作を制御する。このメインマイコン５３には、該メインマイコン５３との間でＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）方式でデータを送受信するサブマイクロコンピュータ（以下「サブマイコン」と略記する）５６が接続されている。
【００２０】
このサブマイコン５６は、Ａ／Ｄ変換回路５７（Ａ／Ｄ変換手段）を内蔵し、入力ポートｃｈ１，ｃｈ２，ｃｈ３から取り込んだバッテリ電圧（＋ＶＢ  ）、冷却水温、吸気温をＡ／Ｄ変換回路５７でＡ／Ｄ変換してメインマイコン５３に転送する。このサブマイコン５６の出力ポートＰＢ２０，ＰＢ２１は、センサ駆動回路５９のトランジスタＴｒ１，Ｔｒ２に対して、酸素濃度センサＡＦＳの素子印加電圧Ｖｏ  を切り換える信号を出力する。
【００２１】
このサブマイコン５６は、そのＲＯＭ（記憶媒体）に記憶された後述する図５及び図６の割込み処理ルーチンを実行することで、入力ポートｃｈ１１，ｃｈ１２から所定の周期（例えば４ｍｓ周期）で酸素濃度センサＡＦＳの素子印加電圧Ｖｏ  と素子電流検出用の電圧Ｖｉ  を取り込み、これらをＡ／Ｄ変換回路５７でＡ／Ｄ変換し、そのＡ／Ｄ変換値に基づいて排気ガスの酸素濃度を算出すると共に、所定の周期（例えば１２８ｍｓ周期）で後述する掃引処理を２回行って酸素濃度センサＡＦＳの素子インピーダンスを算出し、酸素濃度と素子インピーダンスとをメインマイコン５３へ送信する。
【００２２】
一方、メインマイコン５３は、サブマイコン５６から送信されてくる排気ガスの酸素濃度に基づいて空燃比（燃料噴射量）をフィードバック制御すると共に、サブマイコン５６から送信されてくる酸素濃度センサＡＦＳの素子インピーダンスに基づいて素子温度を判定し、該素子温度を活性温度範囲（例えば約６００℃以上）に維持するようにヒータ駆動回路５８を介してヒータ５１への通電をフィードバック制御する。
【００２３】
次に、酸素濃度センサＡＦＳの素子印加電圧Ｖｏ  を制御するセンサ駆動回路５９の構成を説明する。電源電圧Ｖｃｃを３個の抵抗Ｒ１０，Ｒ１１，Ｒ１２で分圧することで、第１電圧Ｖ１（例えば３．３Ｖ）と第２電圧Ｖ２（例えば３．０Ｖ）を発生し、これら各電圧Ｖ１，Ｖ２は、それぞれオペアンプＯＰ１，ＯＰ２の非反転入力端子（＋）に入力される。各オペアンプＯＰ１，ＯＰ２の非反転入力端子（＋）側とグランド側との間には、それぞれノイズ除去用のコンデンサＣ１，Ｃ２が接続されている。
【００２４】
第２電圧Ｖ２が入力されるオペアンプＯＰ２の出力端子は、抵抗Ｒ１３を介して酸素濃度センサＡＦＳのマイナス側端子ＡＦ−に接続され、該オペアンプＯＰ２の反転入力端子（−）が抵抗Ｒ１４を介して酸素濃度センサＡＦＳのマイナス側端子ＡＦ−側に接続されている。これにより、酸素濃度センサＡＦＳのマイナス側端子ＡＦ−には、オペアンプＯＰ２の非反転入力端子（＋）に入力される第２電圧Ｖ２（例えば３．０Ｖ）が印加される。尚、酸素濃度センサＡＦＳのマイナス側端子ＡＦ−側とグランド側（電源のマイナス側）との間には、ノイズ除去、サージ吸収用のコンデンサＣ５が接続され、マイナス側端子ＡＦ−側とバッテリ電源のプラス電圧ＶＢ  側との間には、ノイズ除去、サージ吸収用のダイオードＤ４が接続されている。
【００２５】
一方、第１電圧Ｖ１が入力されるオペアンプＯＰ１の出力端子は、抵抗Ｒ１５を介して２つの抵抗Ｒ１６，Ｒ１７の中間接続点に接続され、この中間接続点に生じる電圧Ｖｏ  がオペアンプＯＰ３の非反転入力端子（＋）に入力される。一方の抵抗Ｒ１６はＰＮＰ型のトランジスタＴｒ１を介して電源電圧Ｖｃｃ側に接続され、他方の抵抗Ｒ１７はＮＰＮ型のトランジスタＴｒ２を介してグランド側に接続されている。各トランジスタＴｒ１，Ｔｒ２のベースは、サブマイコン５６の出力ポートＰＢ２０，ＰＢ２１に接続され、出力ポートＰＢ２０，ＰＢ２１の出力電圧をハイレベル／ローレベルに切り換えることで、トランジスタＴｒ１，Ｔｒ２のオン／オフを切り換える。
【００２６】
電圧Ｖｏ  が入力されるオペアンプＯＰ３の出力端子は、シャント抵抗Ｒ３を介して酸素濃度センサＡＦＳのプラス側端子ＡＦ＋に接続され、該オペアンプＯＰ３の反転入力端子（−）が抵抗Ｒ２を介して酸素濃度センサＡＦＳのプラス側端子ＡＦ＋側に接続されている。これにより、酸素濃度センサＡＦＳのプラス側端子ＡＦ＋には、オペアンプＯＰ３の非反転入力端子（＋）に入力される電圧Ｖｏ  が印加される。この電圧Ｖｏ  は、トランジスタＴｒ１，Ｔｒ２をオン／オフによって次のように切り換えられる。
【００２７】
通常時（素子インピーダンスを検出しない時）には、２つのトランジスタＴｒ１，Ｔｒ２が共にオフ状態に維持される。この状態では、オペアンプＯＰ１から出力される第１電圧Ｖ１（３．３Ｖ）がそのままオペアンプＯＰ３の非反転入力端子（＋）に入力されるため、空燃比センサＡＦＳのプラス側端子ＡＦ＋には、第１電圧Ｖ１が印加される。この第１電圧Ｖ１が特許請求の範囲でいう「基準電圧」となる。
【００２８】
一方、掃引時には、２つのトランジスタＴｒ１，Ｔｒ２のうち、グランド側のトランジスタＴｒ２だけがオンされる。この状態では、第１電圧Ｖ１とグランド電位との電位差（即ち第１電圧Ｖ１）を抵抗Ｒ１５と抵抗Ｒ１７とで分圧した電圧（Ｖ１一△Ｖａ）がオペアンプＯＰ３の非反転入力端子（＋）に入力されるため、空燃比センサＡＦＳのプラス側端子ＡＦ＋には、第１電圧Ｖ１よりも△Ｖａだけ低い電圧（Ｖ１一△Ｖａ）が印加される。この電圧（Ｖ１一△Ｖａ）が「掃引電圧」となる。
【００２９】
掃引後の戻し時には、２つのトランジスタＴｒ１，Ｔｒ２のうち電源電圧Ｖｃｃ側のトランジスタＴｒ１だけがオンされる。この状態では、電源電圧Ｖｃｃと第１電圧Ｖ１との電圧差（Ｖｃｃ−Ｖ１）を抵抗Ｒ１６と抵抗Ｒ１５とで分圧した電圧（Ｖ１＋△Ｖｂ）がオペアンプＯＰ３の非反転入力端子（＋）に入力されるため、空燃比センサＡＦＳのプラス側端子ＡＦ＋には、第１電圧Ｖ１より△Ｖｂだけ高い電圧（Ｖ１＋△Ｖｂ）が印加される。この電圧（Ｖ１＋△Ｖｂ）が「戻し電圧」となる。
【００３０】
尚、本実施形態（１）では、各抵抗Ｒ１５，Ｒ１６，Ｒ１７の抵抗値は、それぞれ例えば２００Ω，１．５ｋΩ，３．０９ｋΩに設定されている。これにより、基準電圧（Ｖ１＝３．３Ｖ）に対して、掃引電圧（Ｖ１一△Ｖａ）は３．１Ｖとなり、戻し電圧（Ｖ１＋△Ｖｂ）は３．５Ｖとなる。従って、基準電圧から掃引電圧、戻し電圧への振り幅△Ｖａ，△Ｖｂは共に０．２Ｖとなる。
【００３１】
前述したように、酸素濃度センサＡＦＳのマイナス側端子ＡＦ−には、抵抗Ｒ１１，Ｒ１２の中間接続点に生じた第２電圧Ｖ２（３．０Ｖ）が印加されるため、通常時には、第１電圧Ｖ１と第２電圧Ｖ２との電圧差（Ｖ１−Ｖ２＝０．３Ｖ）が空燃比センサＡＦＳの両端に印加される。これにより、空燃比センサＡＦＳには、排気ガス中の酸素濃度に応じた電流が流れることとなる。
【００３２】
オペアンプＯＰ３のシャント抵抗Ｒ３と酸素濃度センサＡＦＳのプラス側端子ＡＦ＋との間の信号経路には、バッテリ電源のプラス電圧ＶＢ  側、グランド側（マイナス側）に対してそれぞれサージ吸収、ノイズ除去用のダイオードＤ２，Ｄ３が接続されている。
【００３３】
オペアンプＯＰ３のシャント抵抗Ｒ３には、酸素濃度センサＡＦＳの素子に流れる電流Ｉと同じ電流が流れるため、シャント抵抗Ｒ３の両端電位差は、センサ電流Ｉに比例した値となる。このシャント抵抗Ｒ３の酸素濃度センサＡＦＳ側の端子電圧Ｖｏ  、即ち酸素濃度センサＡＦＳのプラス側端子ＡＦ＋に印加される電圧Ｖｏ  （Ｖ１又はＶ１一△Ｖａ又はＶ１＋△Ｖｂ）は、オペアンプＯＰ５、抵抗Ｒ４及び入力回路６０を介してサブマイコン５６の入力ポートｃｈ１１に入力される。また、シャント抵抗Ｒ３の空燃比センサＡＦＳとは反対側の端子電圧Ｖｉ  （即ち素子電流Ｉに応じた電圧）は、オペアンプＯＰ４、抵抗Ｒ５及び入力回路６１を介してサブマイコン５６の入力ポートｃｈ１２に入力される。
【００３４】
入力ポートｃｈ１１側の入力回路６０は、オペアンプＯＰ５の出力電圧Ｖｏ  が入力されるオペアンプＯＰ６を内蔵し、このオペアンプＯＰ６の出力端子が２つの抵抗１９，２０を介して入力ポートｃｈ１１に接続され、該オペアンプＯＰ６の出力端子がプルダウン抵抗Ｒ１８を介してグランド側に接続されている。２つの抵抗１９，２０の中間接続点は、過電圧保護用のダイオードＤ１を介して電源電圧Ｖｃｃ（例えば５Ｖ）側に接続され、抵抗２０の入力ポートｃｈ１１側とグランド側との間には、ノイズ除去用のコンデンサＣ４が接続されている。尚、入力ポートｃｈ１２側の入力回路６１の構成も、上記入力ポートｃｈ１１側の入力回路６０と同じ構成である。
【００３５】
次に、酸素濃度と素子インピーダンスの検出方法について説明する。酸素濃度の検出周期は、排気ガスの酸素濃度の変化に対する検出応答性を良くするために短い周期（例えば４ｍｓ周期）に設定されている。一方、素子インピーダンスの検出周期は、素子温度の変化が排気ガスの酸素濃度の変化よりも緩やかであることを考慮して、比較的長い周期（例えば１２８ｍｓ周期）に設定されている（図２参照）。
【００３６】
通常時（素子インピーダンスを検出しない時）には、図４に示すように、４ｍｓ周期で、素子電流検出用の電圧Ｖｉ  と素子印加電圧Ｖｏ  とを順番にサブマイコン５６の入力ポートｃｈ１１，ｃｈ１２から取り込み、サブマイコン５６により酸素濃度を次のようにして算出する。まず、素子電流検出用の電圧Ｖｉ  と素子印加電圧Ｖｏ  との電圧差（Ｖｉ  −Ｖｏ  ）をシャント抵抗Ｒ３の抵抗値Ｒｓ  で割り算することで、酸素濃度センサＡＦＳの素子電流Ｉ（限界電流）を算出する。
Ｉ＝（Ｖｉ  −Ｖｏ  ）／Ｒｓ
【００３７】
この後、サブマイコン５６のＲＯＭ（図示せず）に記憶された、素子電流Ｉをパラメータとする酸素濃度マップを検索して、その時点の素子電流Ｉに応じた酸素濃度を求める。
【００３８】
一方、素子インピーダンスの検出は、１２８ｍｓ周期で次のようにして行われる。図２に示すように、素子インピーダンスを１回検出するに当たり、素子印加電圧Ｖｏ  を基準電圧から掃引電圧に切り換える掃引処理を２回実施する。更に、図３に示すように、１回の掃引中には、素子印加電圧Ｖｏ  又は素子電流検出用の電圧Ｖｉ  のいずれか一方のみをＡ／Ｄ変換する。また、Ａ／Ｄ変換回数及びＡ／Ｄ変換タイミングは、素子インピーダンスを検出する時もそれを検出しない時と同一に設定する（Ｖｏ  ，Ｖｉ  のＡ／Ｄ変換は４ｍｓ当たり２回行う）。そして、掃引中に素子電流検出用の電圧Ｖｉ（ｔ４）  をＡ／Ｄ変換する場合には、電圧ＶＯ  のＡ／Ｄ変換を１回中止し、そのタイミングで電圧Ｖｉ（ｔ４）  のＡ／Ｄ変換を行う。これにより、図３に示すように掃引による電流変化ΔＩに応じた電圧変化ΔＶｉ  を検出するための２点の電圧Ｖｉ（ｔ３）  ，Ｖｉ（ｔ４）  のＡ／Ｄ変換を連続して行うようにする。
【００３９】
素子インピーダンスＺは、サブマイコン５６により図３に示すタイミングでＡ／Ｄ変換した電圧Ｖｏ（ｔ２）  ，Ｖｉ（ｔ３）  ，Ｖｉ（ｔ４）  ，Ｖｏ（ｔ６）  とシャント抵抗Ｒ３の抵抗値Ｒｓ  とを用いて次式により算出される。
【００４０】
【数１】
0003612699.tif 000002
【００４１】
また、素子インピーダンスＺを検出する時には、掃引前にＡ／Ｄ変換した素子印加電圧Ｖｏ（ｔ２）  を用いて素子電流Ｉ（酸素濃度）が検出される。
つまり、１回目の掃引時には、素子電流Ｉは、
Ｉ＝｛Ｖｉ（ｔ３）  −Ｖｏ（ｔ２）｝／Ｒｓ
となり、２回目の掃引時には、素子電流Ｉは、
Ｉ＝｛Ｖｉ（ｔ５）  −Ｖｏ（ｔ２）｝／Ｒｓ
となる。これにより、素子インピーダンス検出時にも、４ｍｓ当たり１回の割合で素子電流Ｉ（酸素濃度）が検出される。
【００４２】
この場合、素子インピーダンスＺや素子電流Ｉを検出する際に、素子印加電圧Ｖｏ  の検出タイミングが素子電流検出用の電圧Ｖｉ  の検出タイミングから離れることになるが、センサ駆動回路５９により、素子印加電圧Ｖｏ  は、素子電流Ｉ（酸素濃度）によって変化しないように制御されるため、素子印加電圧Ｖｏ  の検出タイミングが素子電流検出用の電圧Ｖｉ  の検出タイミングから少しぐらい離れても、素子電流検出用の電圧Ｖｉ  の検出タイミングの近くで素子印加電圧Ｖｏ  を検出した場合と実質的に同じ検出結果が得られる。但し、時間が長くなれば、抵抗Ｒ１０〜Ｒ１７の温度特性等によって素子印加電圧Ｖｏ  がずれることがあるため、通常時には、素子印加電圧Ｖｏ  も、素子電流検出用の電圧Ｖｉ  と共に４ｍｓ周期でＡ／Ｄ変換して、素子印加電圧Ｖｏ  の検出値を更新する。
【００４３】
ところで、掃引後に素子印加電圧Ｖｏ  を基準電圧に復帰させる際に、掃引電圧から基準電圧へ直接切り換えると、酸素濃度センサＡＦＳの素子が有する容量成分に蓄えられた電荷の影響により、素子電流Ｉは素子印加電圧Ｖｏ  の復帰直後においてピーク電流を発生し、結果として通常の電流値に収束するまでの時間が長くなる。
【００４４】
そこで、本実施形態（１）では、掃引後に、素子電流Ｉを通常状態に速やかに収束させるために、掃引時間経過後に素子印加電圧Ｖｏ  を基準電圧と掃引電圧との電圧差分だけ該基準電圧より反対側に振った戻し電圧に切り換えることで、素子の容量成分における電荷の放電を促進させる。更に、戻し電圧を掃引時間と同じ時間だけ保持した後に素子印加電圧Ｖｏ  を基準電圧に戻すことで、素子の容量成分による充電電荷を放電し終えると同時に素子印加電圧Ｖｏ  を基準電圧に戻して、素子電流Ｉを通常状態に速やかに収束させる。
【００４５】
以上説明した図２乃至図４に示す処理は、図５乃至図７に示す各ルーチンに従ってサブマイコン５６によって実行され、これら各ルーチンによって特許請求の範囲でいう素子インピーダンス算出手段としての役割が果たされる。
【００４６】
図５に示す割込み処理ルーチンは、割込み信号が発生する毎に起動される。本ルーチンが起動されると、まずステップ１０１で、処理カウンタＣＮＴの下位４ビットが「＄０」又は「＄８」か否かで、基準時刻か否かを判定する。ここで、処理カウンタＣＮＴは、図２に示すように、素子インピーダンスの検出周期（１２８ｍｓ）をカウントする例えば８桁のバイナリカウンタであり、素子インピーダンスを検出する際に、１回目の掃引を行う時に、０にクリアされ、その後、処理カウンタＣＮＴの値が＄ＦＦ（つまり１２８ｍｓ）になった時点で、次の素子インピーダンスの検出のための掃引を開始する。この処理カウンタＣＮＴの値によって、Ａ／Ｄ変換するデータの種類が判別される。
【００４７】
上記ステップ１０１で、基準時刻と判定されると、ステップ１０２に進み、サブマイコン５６の入力ポートｃｈ１からバッテリ電圧（＋ＶＢ  ）を取り込み、これをＡ／Ｄ変換回路５７でＡ／Ｄ変換する。この後、ステップ１０３で、処理カウンタＣＮＴの現在のカウント値を「＄０６」だけ増加させる。これにより、処理カウンタＣＮＴの値が素子電流検出用の電圧Ｖｉ  のＡ／Ｄ変換を指示する値に更新される。この後、ステップ１０４に進み、２７００μｓ後に素子電流検出用の電圧Ｖｉ  を取り込むための割込みをセットし、本ルーチンを終了する。
【００４８】
この後、２７００μｓが経過すると、本ルーチンの割込み処理が再び開始される。この場合は、ステップ１０１で「Ｎｏ」と判定されるため、ステップ１０５に進み、処理カウンタＣＮＴの値が「＄０６」又は「＄０Ｅ」であるか否かで、掃引処理を開始するか否かを判定する。掃引処理を開始する場合（ステップ１０５で「Ｙｅｓ」の場合）には、ステップ１０８に進み、サブマイコン５６の入力ポートｃｈ１２から素子電流検出用の電圧Ｖｉ  を取り込み、これをＡ／Ｄ変換回路５７でＡ／Ｄ変換する。この後、ステップ１０９で、素子印加電圧Ｖｏ  を基準電圧（３．３Ｖ）から掃引電圧（３．１Ｖ）に切り換える掃引処理を行う。
【００４９】
この後、ステップ１１０で、酸素濃度（素子電流Ｉ）を算出し、続くステップ１１１で、この酸素濃度をメインマイコン５３へ送信する。この後、ステップ１１２で、処理カウンタＣＮＴの現在のカウント値を「＄０１」だけ増加させる。これにより、処理カウンタＣＮＴの値が次のＡ／Ｄ変換タイミングを指示する値に更新される。この後、ステップ１１３で、１３５μｓ後にＡ／Ｄ変換を行うための割込みをセットし、本ルーチンを終了する。
【００５０】
一方、上記ステップ１０５で、掃引処理を開始しないと判定された場合には、ステップ１０６に進み、処理カウンタＣＮＴの下位４ビットが「＄６」又は「＄Ｅ」か否かで、通常時の素子電流検出用の電圧Ｖｉ  の取込みタイミングであるか否かを判定する。もし、通常時の素子電流検出用の電圧Ｖｉ  の取込みタイミングと判定されれば、ステップ１０７に進み、サブマイコン５６の入力ポートｃｈ１２から素子電流検出用の電圧Ｖｉ  を取り込み、これをＡ／Ｄ変換回路５７でＡ／Ｄ変換した後、上述したステップ１１０〜１１３の処理を行い、酸素濃度（素子電流Ｉ）の算出から割込みセットまでの一連の処理を行って本ルーチンを終了する。
【００５１】
一方、ステップ１０６で、素子電流検出用の電圧Ｖｉ  の取込みタイミングでないと判定された場合には、図６のステップ１１４に進み、処理カウンタＣＮＴの値が「＄０７」か否かで、掃引中の素子電流検出用の電圧Ｖｉ  の取込みタイミング（１回目の掃引中）であるか否かを判定する。もし、掃引中の素子電流検出用の電圧Ｖｉ  の取込みタイミングと判定されれば、ステップ１１５に進み、サブマイコン５６の入力ポートｃｈ１２から素子電流検出用の電圧Ｖｉ  を取り込み、これをＡ／Ｄ変換回路５７でＡ／Ｄ変換する。Ａ／Ｄ変換後に、直ちにステップ１１６に進み、図７に示す戻し処理ルーチンを起動する。
【００５２】
この戻し処理ルーチンでは、まずステップ１３１で、素子印加電圧Ｖｏ  を基準電圧（３．３Ｖ）と掃引電圧（３．１Ｖ）との電圧差分だけ該基準電圧より反対側に振った戻し電圧（３．５Ｖ）に切り換え、この戻し電圧を掃引時間（本実施形態では１８５μｓ）と同じ時間だけ保持する（ステップ１３２）。この後、１８５μｓ経過すると、ステップ１３３に進み、素子印加電圧Ｖｏ  を基準電圧に戻す。
【００５３】
戻し処理ルーチンの起動後、図６のステップ１１７に進み、処理カウンタＣＮＴの現在のカウント値を「＄０１」だけ増加させる。これにより、処理カウンタＣＮＴの値が次のバッテリ電圧のＡ／Ｄ変換（基準時刻）を指示する値に更新される。この後、ステップ１１８で、基準時刻の割込みをセットし、本ルーチンを終了する。
【００５４】
一方、前記ステップ１１４で「Ｎｏ」の場合、ステップ１１９に進み、処理カウンタＣＮＴの値が「＄０Ｆ」か否かで、掃引中の素子印加電圧Ｖｏ  の取込みタイミング（２回目の掃引中）であるか否かを判定する。もし、掃引中の素子印加電圧Ｖｏ  の取込みタイミングと判定されれば、ステップ１２０に進み、サブマイコン５６の入力ポートｃｈ１１から素子印加電圧Ｖｏ  を取り込み、これをＡ／Ｄ変換回路５７でＡ／Ｄ変換する。Ａ／Ｄ変換後に、直ちにステップ１２１に進み、上述した図７の戻し処理ルーチンを起動し、素子印加電圧Ｖｏ  を戻し電圧に切り換え、これを掃引時間と同じ時間だけ保持した後、素子印加電圧Ｖｏ  を基準電圧に戻す。
【００５５】
戻し処理ルーチンの起動後、ステップ１２２に進み、前述した［数１］式を用いて素子インピーダンスＺを算出した後、ステップ１２３で、この素子インピーダンスＺをメインマイコン５３へ送信する。その後、ステップ１１７，１１８で、処理カウンタＣＮＴの更新と基準時刻の割込みセットを行い、本ルーチンを終了する。
【００５６】
一方、前記ステップ１１９で「Ｎｏ」の場合には、通常時の素子印加電圧Ｖｏ  の取込みタイミングと判断して、ステップ１２４に進み、サブマイコン５６の入力ポートｃｈ１１から素子印加電圧Ｖｏ  を取り込み、これをＡ／Ｄ変換回路５７でＡ／Ｄ変換する。その後、ステップ１１７，１１８で、処理カウンタＣＮＴの更新と基準時刻の割込みセットを行い、本ルーチンを終了する。
【００５７】
以上説明した本実施形態（１）によれば、素子インピーダンスを１回検出するに当たり、素子印加電圧Ｖｏ  を基準電圧から掃引電圧に切り換える掃引処理を２回実施し、１回の掃引中に、素子印加電圧Ｖｏ  又は素子電流検出用の電圧Ｖｉ  のいずれか一方のみをＡ／Ｄ変換するようにしたので、掃引時間を従来より短くすることができて、掃引による影響を受けずに酸素濃度を精度良く検出できると共に、掃引中に他のチャンネルの信号のＡ／Ｄ変換も行うことができる。但し、本発明は、掃引中に他のチャンネルの信号のＡ／Ｄ変換を行わないようにしても良いことは言うまでもない。
【００５８】
また、本実施形態（１）では、素子インピーダンスを検出する時も、Ａ／Ｄ変換回数及びＡ／Ｄ変換タイミングを素子インピーダンスを検出しない時と同一に設定するようにしたので、素子インピーダンスを検出する時にＡ／Ｄ変換回数及びＡ／Ｄ変換タイミングを切り換える必要がなく、Ａ／Ｄ変換の制御が容易となる。
【００５９】
しかも、掃引による電流変化に応じた電圧変化ΔＶｉ  を検出するための２点の素子電流検出用の電圧Ｖｉ  のＡ／Ｄ変換を連続させるようにしたので、当該２点間の時間中の酸素濃度の変化による電圧Ｖｉ  のずれを少なくすることができ、掃引による電流変化に応じた電圧変化ΔＶｉ  を精度良く検出することができて、素子インピーダンスを精度良く検出することができる。
【００６０】
更に、素子印加電圧Ｖｏ  を掃引電圧に切り換えてＡ／Ｄ変換を行った後に、直ちに該素子印加電圧Ｖｏ  を戻し電圧に切り換えるようにしたので、掃引時間を最短の時間に設定することができる。しかも、掃引後に、戻し電圧を掃引時間と同じ時間だけ保持した後に基準電圧に戻すようにしたので、戻し電圧の保持時間を掃引時間に合わせて適正化することができ、素子印加電圧Ｖｏ  を速やかに基準電圧に復帰させることができる。
【００６１】
尚、本実施形態（１）では、掃引開始からＶｉ  又はＶｏ  を取り込むまでの時間が１３５μｓ、Ａ／Ｄ変換の時間が５０μｓであることを考慮して、掃引時間を一定（１８５μｓ）に設定したが、素子劣化や素子温度の変化により素子電流の応答性が変化することを考慮し、掃引開始からＶｉ  又はＶｏ  を取り込むまでの時間（Ａ／Ｄ変換の開始タイミング）を素子劣化や素子温度の変化に応じて可変設定し、Ｖｉ  又はＶｏ  のＡ／Ｄ変換後に、直ちに素子印加電圧を戻し電圧に切り換え、該戻し電圧を掃引時間と同じ時間だけ保持した後に基準電圧に戻すようにしても良い。このようにすれば、素子劣化や素子温度の変化に応じて掃引時間やＡ／Ｄ変換タイミングを適正化することができ、素子劣化や素子温度の変化によるＡ／Ｄ変換値のずれを少なくすることができて、素子インピーダンスの検出精度を更に向上できる。しかも、掃引開始からＡ／Ｄ変換終了までの時間が変化した場合でも、掃引中にＡ／Ｄ変換を終了した時点で、直ちに素子印加電圧を掃引電圧から戻し電圧に切り換えるようにすれば、掃引時間を自動的に最短の時間に設定することができる。従って、掃引時間を固定値とする場合とは異なり、予めＡ／Ｄ変換終了までの時間の変化を見込んで掃引時間を長めの時間に設定する必要がない。
【００６２】
ところで、図１に示す回路構成例では、酸素濃度センサＡＦＳのプラス側端子ＡＦ＋側のサージ吸収、ノイズ除去用の素子として、以下の理由でダイオードＤ２，Ｄ３を用いている。すなわち、プラス側端子ＡＦ＋側は、素子インピーダンス検出のために、掃引、戻し処理を行う。特に、本実施形態（１）では、掃引時間を従来より短くできるため、特開平９−２９２３６４号公報のように、プラス側端子ＡＦ＋側にサージ吸収、ノイズ除去用のコンデンサを接続すると、掃引、戻し時の電圧波形がコンデンサの容量（時定数）によりなまってしまい、素子インピーダンスの検出精度が低下してしまう。かといって、コンデンサの容量を小さくすれば、サージ吸収、ノイズ除去の性能が低下してしまう。
【００６３】
そこで、本実施形態（１）では、プラス側端子ＡＦ＋側のサージ吸収、ノイズ除去をダイオードＤ２，Ｄ３により行う。これにより、サージ吸収、ノイズ除去の性能を十分に確保しながら、掃引、戻し時の電圧波形のなまりを抑えることができ、掃引時間の短縮化と素子インピーダンスの検出精度向上とを両立させることができる。
【００６４】
一方、酸素濃度センサＡＦＳのマイナス側端子ＡＦ−側は、一定電圧（３．０Ｖ）に固定され、急に電圧を変化させることがないため、マイナス側端子ＡＦ−側とグランド側との間には、ノイズ除去、サージ吸収用のコンデンサＣ５を接続すれば良い。
【００６５】
ところで、酸素濃度センサＡＦＳへの印加電圧がオフされる時（電源オフ時）に、電源ＶＢ  電圧が低下する過程で、プラス側端子ＡＦ＋側に残った電圧がＶＢ  電圧より高くなったときに、ダイオードＤ２を通して電源ＶＢ  側に逃がされる。酸素濃度センサＡＦＳのマイナス側端子ＡＦ−側には、コンデンサＣ５が接続されているため、仮に、マイナス側端子ＡＦ−側と電源ＶＢ  側との間にダイオードＤ４が接続されていないとすると、電源オフ時に、マイナス側端子ＡＦ−側に残った電圧（特にコンデンサＣ５の充電電圧）が長い時間、保持されてしまい、酸素濃度センサＡＦＳに過大な電圧がかかることになる。
【００６６】
これに対し、図１の構成例では、マイナス側端子ＡＦ−側と電源ＶＢ  側との間にダイオードＤ４が接続されているため、電源オフ時に、マイナス側端子ＡＦ−側に残った電圧をダイオードＤ４を通して電源ＶＢ  側に速やかに逃がすことができ、酸素濃度センサＡＦＳに過大な電圧がかかることを防止できる。
尚、コンデンサＣ５の代わりにダイオードを用いても良い。
【００６７】
［実施形態（２）］
上記実施形態（１）は、酸素濃度センサＡＦＳが１つだけ接続されたものであったが、一般に２系統の排気管を有するエンジン（例えばＶ型６気筒エンジンやＶ型８気筒エンジン等）では、各排気管毎に酸素濃度センサが取り付けられる。従って、このように２つの酸素濃度センサＡＦＳを備えたエンジンの場合には、図１に示したセンサ回路（サブマイコン５６とメインマイコン５３を除く回路部分）を、２つの酸素濃度センサＡＦＳに対応して２組設けるように構成することが考えられる。しかし、このような構成にすると、センサ回路の規模が図１に示したものに対してほぼ２倍になってしまう。
【００６８】
そこで、２つの酸素濃度センサＡＦＳを備えたシステムに本発明を適用する場合には、図８乃至図１７に示す実施形態（２）のように構成すると良い。
まず、図８に基づいて本実施形態（２）の回路構成を説明する。図８において、図１と同じ回路素子及び同じ電圧信号については、同一の符号を付している。また、図１に対して同様の役割で追加された回路素子及び電圧信号については、図１で用いた符号に「’」を追記した符号を付している。以下、図１と異なる部分について説明する。
【００６９】
センサ回路（サブマイコン５６とメインマイコン５３を除く回路部分）については、図８に点線で囲んだ部分７０（素子印加電圧Ｖｏ  ，Ｖｏ  ’を切り換える部分）を２つの酸素濃度センサＡＦＳ，ＡＦＳ’に対して共通化し、サブマイコン５６の２つの出力ポートＰＢ２０，ＰＢ２１の出力電圧を切り換えることで、２つの酸素濃度センサＡＦＳ，ＡＦＳ’のプラス側端子に印加する電圧（素子印加電圧）Ｖｏ  ，Ｖｏ  ’を同時に切り換えるようにしている。また、２つの酸素濃度センサＡＦＳ，ＡＦＳ’のマイナス側端子には、共通回路部７０内で生成した第２電圧Ｖ２（例えば３．０Ｖ）が印加される。
【００７０】
上述した共通回路部７０以外の回路部分は、２つの酸素濃度センサＡＦＳ，ＡＦＳ’に対応して２組設けられている。また、サブマイコン５６は、２つの入力ポートｃｈ２１，ｃｈ２２が追加され、２つの酸素濃度センサＡＦＳ，ＡＦＳ’の素子印加電圧Ｖｏ  ，Ｖｏ  ’と素子電流検出用の電圧Ｖｉ  ，Ｖｉ  ’を４つの入力ポートｃｈ１１，ｃｈ１２，ｃｈ２１，ｃｈ２２から取り込むようにしている。
【００７１】
次に、本実施形態（２）の酸素濃度と素子インピーダンスの検出方法について説明する。以下の説明では、第１の酸素濃度センサＡＦＳの素子印加電圧Ｖｏ  、素子電流検出用の電圧Ｖｉ  、素子インピーダンス、酸素濃度（素子電流）をそれぞれＡＦＳ側素子印加電圧Ｖｏ  、ＡＦＳ側素子電流検出用の電圧Ｖｉ  、ＡＦＳ側素子インピーダンス、ＡＦＳ側酸素濃度（ＡＦＳ側素子電流）と表記し、第２の酸素濃度センサＡＦＳ’の素子印加電圧Ｖｏ  ’、素子電流検出用の電圧Ｖｉ  ’、素子インピーダンス、酸素濃度（素子電流）をそれぞれＡＦＳ’側素子印加電圧Ｖｏ  ’、ＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’、ＡＦＳ’側素子インピーダンス、ＡＦＳ’側酸素濃度（ＡＦＳ’側素子電流）と表記する。
【００７２】
各酸素濃度センサＡＦＳ，ＡＦＳ’の酸素濃度の検出周期は前記実施形態（１）と同じく４ｍｓに設定され、各酸素濃度センサＡＦＳ，ＡＦＳ’の素子インピーダンスの検出周期も、前記実施形態（１）と同じく１２８ｍｓに設定されているが、図９に示すように、各酸素濃度センサＡＦＳ，ＡＦＳ’の素子インピーダンスの検出は、６４ｍｓ毎に交互に行われる。
【００７３】
従って、本実施形態（２）では、図９に示すように、６４ｍｓ毎に掃引が２回ずつ行われる。図９に示すタイミング１（ＡＦＳ側素子インピーダンス検出時）では、図１０に示すように、掃引を２回実施し、前記実施形態（１）と同じく、１回目の掃引の直前と掃引中に、ＡＦＳ側素子電流検出用の電圧Ｖｉ  を２回連続してＡ／Ｄ変換するようにＡ／Ｄ変換の順序を入れ替え（つまり、ｔ３のタイミングまでは、Ｖｉ  →Ｖｉ  ’の順にＡ／Ｄ変換するが、ｔ４のタイミング以降、Ｖｉ  ’→Ｖｉ  の順にＡ／Ｄ変換する）、２回目の掃引中にＡＦＳ側素子印加電圧Ｖｏ  をＡ／Ｄ変換する。ＡＦＳ側素子インピーダンスは、図１０に示すＶｏ（ｔ３）  ，Ｖｉ（ｔ５）  ，Ｖｉ（ｔ６）  ，Ｖｏ（ｔ９）  を用いて、前記実施形態（１）と同様の方法で算出する。ＡＦＳ側素子電流（酸素濃度）についても、前記実施形態（１）と同様の方法で、４ｍｓ当たり１回の割合で算出する。
【００７４】
このタイミング１では、ＡＦＳ’側素子電流（酸素濃度）は、ＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’を検出する毎に、ＡＦＳ’側素子印加電圧Ｖｏ  ’（ｔｏ）を用いて算出する。つまり、＄１Ｆタイミングで、次のＡＦＳ’側素子印加電圧  Ｖｏ  ’がＡ／Ｄ変換されるまでの間、Ｖｏ  ’（ｔｏ）の値を用いて、ＡＦＳ’側素子電流を算出することになるが、前記実施形態（１）で述べたように、Ｖｏ  ’は変化しない電圧であるため、何ら問題はない。ＡＦＳ側素子電流は、前記実施形態（１）と同様に、＄ＦＦタイミングのＡＦＳ側素子印加電圧Ｖｏ  を用いる。
以上説明したタイミング１では、素子インピーダンスと酸素濃度の検出のためのＡ／Ｄ変換は、４ｍｓ当たり３回行われる。
【００７５】
図９に示すタイミング２（通常時▲１▼）では、図１１に示すように、４ｍｓ周期で、２つの酸素濃度センサＡＦＳ，ＡＦＳ’の素子電流検出用電圧Ｖｉ  ，Ｖｉ  ’を順番にＡ／Ｄ変換するが、素子印加電圧Ｖｏ  ，Ｖｏ  ’については、８ｍｓ周期でＡ／Ｄ変換する。この際、素子印加電圧Ｖｏ  ，Ｖｏ  ’のＡ／Ｄ変換タイミングを互いに４ｍｓずらすことで、タイミング２でも、上記タイミング１と同じく、酸素濃度の検出のためのＡ／Ｄ変換は、４ｍｓ当たり３回行われる。各酸素濃度センサＡＦＳ，ＡＦＳ’の素子電流（酸素濃度）は、それぞれ８ｍｓ周期でＡ／Ｄ変換した素子印加電圧Ｖｏ  ，Ｖｏ  ’を用いて、４ｍｓ周期で算出される。
【００７６】
図９に示すタイミング３（ＡＦＳ’側素子インピーダンス検出時）では、図１２に示すように、掃引を２回実施し、１回目の掃引の直前と掃引中に、ＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’を２回連続してＡ／Ｄ変換するようにＡ／Ｄ変換の順序を入れ替え（つまり、ｔ３のタイミングまでは、Ｖｉ  ’→Ｖｉ  の順にＡ／Ｄ変換するが、ｔ４のタイミング以降、Ｖｉ  →Ｖｉ  ’の順にＡ／Ｄ変換する）、２回目の掃引中にＡＦＳ’側素子印加電圧Ｖｏ  ’をＡ／Ｄ変換する。ＡＦＳ’側素子インピーダンスは、図１２に示すＶｏ’（ｔ３），Ｖｉ’（ｔ５），Ｖｉ’（ｔ６），Ｖｏ’（ｔ９）を用いて、前記実施形態（１）と同様の方法で算出する。ＡＦＳ’側素子電流（酸素濃度）についても、前記実施形態（１）と同様の方法で４ｍｓ当たり１回の割合で算出する。ＡＦＳ側素子電流（酸素濃度）は、ＡＦＳ側素子電流検出用の電圧Ｖｉ  を検出する毎に、ＡＦＳ側素子印加電圧Ｖｏ（ｔｏ）  を用いて算出する。このタイミング３でも、タイミング１と同じく、素子インピーダンスと酸素濃度の検出のための４ｍｓ当たり３回行われる。
【００７７】
図９及び図１３に示すタイミング４（通常時▲２▼）は、図１１に示すタイミング２（通常時▲１▼）と比較して、Ａ／Ｄ変換の順序を入れ替えた点が異なるのみである。つまり、図１１に示すタイミング２のＡ／Ｄ変換の順序は、
＋ＶＢ  →Ｖｉ  ’→Ｖｉ  →Ｖｏ  →＋ＶＢ  →Ｖｉ  ’→Ｖｉ  →Ｖｏ  ’
であるのに対し、図１３に示すタイミング４のＡ／Ｄ変換の順序は、
＋ＶＢ  →Ｖｉ  →Ｖｉ  ’→Ｖｏ  ’→＋ＶＢ  →Ｖｉ  →Ｖｉ  ’→Ｖｏ
である。このように、Ａ／Ｄ変換の順序を入れ替えることで、タイミング１やタイミング３の所のＶｉ（ｔ５）  ，Ｖｉ（ｔ６）  ，Ｖｉ’（ｔ５），Ｖｉ’（ｔ６）のＡ／Ｄ変換を順番に行うことができ、Ａ／Ｄ変換の順序が素子インピーダンスの検出値に及ぼす影響を少なくする。
【００７８】
以上説明した本実施形態（２）の処理は、図１４乃至図１７に示す割込み処理ルーチンに従ってサブマイコン５６によって実行される。図１４に示す割込み処理ルーチンは、割込み信号が発生する毎に起動される。本ルーチンが起動されると、まずステップ２００で、基準時刻か否かを判定し、基準時刻であれば、バッテリ電圧をＡ／Ｄ変換して（ステップ２０１）、処理カウンタＣＮＴの値に「＄０４」を加算し（ステップ２０２）、２０００μｓ後に割込みをセットして（ステップ２０３）、本ルーチンを終了する。
【００７９】
基準時刻でなければ、ステップ２０４に進み、処理カウンタＣＮＴの値が「＄８０」より小さいか否かで、現在の処理タイミングが上述したタイミング１（図１０）又はタイミング２（図１１）に属するか否かを判定する。タイミング１又はタイミング２と判定された場合には、ステップ２０５に進み、処理カウンタＣＮＴの下位４ビットが「＄４」又は「＄Ｃ」か否かで、ＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’の取込みタイミングであるか否かを判定し、「Ｙｅｓ」と判定されれば、ステップ２０６に進み、ＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’を取り込み、これをＡ／Ｄ変換回路５７でＡ／Ｄ変換する。この後、ステップ２０７に進み、ＡＦＳ’側酸素濃度（素子電流）を算出した後、ステップ２０８で、このＡＦＳ’側酸素濃度をメインマイコン５３へ送信した後、処理カウンタＣＮＴの値に「＄０２」を加算し（ステップ２１８）、７００μｓ後に割込みをセットして（ステップ２１９）、本ルーチンを終了する。
【００８０】
一方、上記ステップ２０５で、ＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’の取込みタイミングでないと判定された場合には、ステップ２０９に進み、処理カウンタＣＮＴの値が「＄０６」又は「＄０Ｅ」であるか否かで、掃引直前のＡＦＳ側素子電流検出用の電圧Ｖｉ  の取込みタイミングであるか否かを判定し、「Ｙｅｓ」であれば、ステップ２１０に進み、ＡＦＳ側素子電流検出用の電圧Ｖｉ  を取り込んでＡ／Ｄ変換する。この後、ステップ２１１で、素子印加電圧Ｖｏ  ，Ｖｏ  ’を基準電圧（３．３Ｖ）から掃引電圧（３．１Ｖ）に切り換える掃引処理を実行する。
【００８１】
この後、ステップ２１２で、ＡＦＳ側酸素濃度（素子電流）を算出し、続くステップ２１３で、このＡＦＳ側酸素濃度をメインマイコン５３へ送信する。この後、ステップ２１４で、処理カウンタＣＮＴの現在のカウント値に「＄０１」を加算して、ステップ２１５に進み、１３５μｓ後に割込みをセットし、本ルーチンを終了する。
【００８２】
一方、上記ステップ２０９で、掃引直前のＡＦＳ側素子電流検出用の電圧Ｖｉ  の取込みタイミングでないと判定された場合には、ステップ２１６に進み、処理カウンタＣＮＴの下位４ビットが「＄６」又は「＄Ｅ」か否かで、通常時のＡＦＳ側素子電流検出用の電圧Ｖｉ  の取込みタイミングか否かを判定し、「Ｙｅｓ」であれば、ステップ２１７に進み、ＡＦＳ側素子電流検出用の電圧Ｖｉ  を取り込んでＡ／Ｄ変換する。この後、上述したステップ２１２〜２１５の処理を行い、本ルーチンを終了する。
【００８３】
また、上記ステップ２１６で、通常時のＡＦＳ側素子電流検出用の電圧Ｖｉ  の取込みタイミングでないと判定された場合は、図１５のステップ２１８に進み、処理カウンタＣＮＴの値が「＄０７」か否かで、掃引中のＡＦＳ側素子電流検出用の電圧Ｖｉ  の取込みタイミングであるか否かを判定する。もし、このステップ２１６で「Ｙｅｓ」と判定されれば、ステップ１１５に進み、掃引中のＡＦＳ側素子電流検出用の電圧Ｖｉ  を取り込んでＡ／Ｄ変換する。
【００８４】
このＡ／Ｄ変換後に、直ちにステップ２２０に進み、前記実施形態（１）で説明した図７の戻し処理ルーチンを実行し、素子印加電圧Ｖｏ  ，Ｖｏ  ’を掃引電圧（３．１Ｖ）から戻し電圧（３．５Ｖ）に切り換え、この戻し電圧を掃引時間と同じ時間だけ保持した後、基準電圧（３．３Ｖ）に戻す。戻し処理ルーチン起動後、ステップ２２１に進み、処理カウンタＣＮＴの現在のカウント値に「＄０１」を加算して、ステップ２２２に進み、基準時刻の割込みをセットして、本ルーチンを終了する。
【００８５】
一方、上記ステップ２１８で、掃引中のＡＦＳ側素子電流検出用の電圧Ｖｉ  の取込みタイミングでないと判定された場合は、ステップ２２３に進み、処理カウンタＣＮＴの値が「＄０Ｆ」か否かで、掃引中のＡＦＳ側素子印加電圧Ｖｏ  の取込みタイミングであるか否かを判定する。もし、掃引中のＡＦＳ側素子印加電圧Ｖｏ  の取込みタイミングと判定されれば、ステップ２２４に進み、ＡＦＳ側素子印加電圧Ｖｏ  を取り込んでＡ／Ｄ変換する。Ａ／Ｄ変換後に、直ちにステップ２２５に進み、前記図７の戻し処理ルーチンを実行し、素子印加電圧Ｖｏ  ，Ｖｏ  ’を戻し電圧に切り換え、これを掃引時間と同じ時間だけ保持した後、素子印加電圧Ｖｏ  Ｖｏ  ’を基準電圧に戻す。
【００８６】
戻し処理ルーチンの起動後、ステップ２２６に進み、ＡＦＳ側素子インピーダンスを算出し、次のステップ２２７で、このＡＦＳ側素子インピーダンスをメインマイコン５３へ送信する。その後、ステップ２２１，２２２で、処理カウンタＣＮＴの更新と基準時刻の割込みセットを行い、本ルーチンを終了する。
【００８７】
また、上記ステップ２２３で、掃引中のＡＦＳ側素子印加電圧Ｖｏ  の取込みタイミングでないと判定されれば、ステップ２２８に進み、処理カウンタＣＮＴの下位４ビットが「＄７」か否かで、通常時のＡＦＳ側素子印加電圧Ｖｏ  の取込みタイミングか否かを判定し、「Ｙｅｓ」であれば、ステップ２２９に進み、ＡＦＳ側素子印加電圧Ｖｏ  を取り込んでＡ／Ｄ変換した後、上述したステップ２２１，２２２の処理を行い、本ルーチンを終了する。
【００８８】
また、上記ステップ２２８で、「Ｎｏ」と判定された場合には、ステップ２３０に進み、ＡＦＳ’側素子印加電圧Ｖｏ  ’を取り込んでＡ／Ｄ変換した後、上述したステップ２２１，２２２の処理を行い、本ルーチンを終了する。
【００８９】
一方、前記図１４のステップ２０４で、現在の処理タイミングが前述したタイミング３（図１２）又はタイミング４（図１３）に属すると判定された場合は、図１６のステップ２３１に進み、処理カウンタＣＮＴの下位４ビットが「＄４」又は「＄Ｃ」であるか否かで、ＡＦＳ側素子電流検出用の電圧Ｖｉ  の取込みタイミングであるか否かを判定し、「Ｙｅｓ」と判定されれば、ステップ２３２に進み、ＡＦＳ側素子電流検出用の電圧Ｖｉ  を取り込んでＡ／Ｄ変換する。この後、ステップ２３３で、ＡＦＳ側酸素濃度（素子電流）を算出した後、ステップ２３３で、このＡＦＳ側酸素濃度をメインマイコン５３へ送信した後、処理カウンタＣＮＴの値に「＄０２」を加算し（ステップ２６１）、７００μｓ後に割込みをセットして（ステップ２６２）、本ルーチンを終了する。
【００９０】
一方、上記ステップ２３１で、ＡＦＳ側素子電流検出用の電圧Ｖｉ  の取込みタイミングでないと判定された場合には、ステップ２３５に進み、処理カウンタＣＮＴの値が「＄８６」又は「＄８Ｅ」であるか否かで、掃引直前のＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’の取込みタイミングか否かを判定し、「Ｙｅｓ」であれば、ステップ２３６に進み、ＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’を取り込んでＡ／Ｄ変換する。この後、ステップ２３７で、素子印加電圧Ｖｏ  ，Ｖｏ  ’を基準電圧（３．３Ｖ）から掃引電圧（３．１Ｖ）に切り換える掃引処理を実行する。
【００９１】
この後、ステップ２３８で、ＡＦＳ’側酸素濃度（素子電流）を算出し、続くステップ２３９で、このＡＦＳ’側酸素濃度をメインマイコン５３へ送信する。この後、ステップ２４０で、処理カウンタＣＮＴの現在のカウント値に「＄０１」を加算して、ステップ２４１に進み、１３５μｓ後に割込みをセットし、本ルーチンを終了する。
【００９２】
一方、上述したステップ２３５で、掃引直前のＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’の取込みタイミングでないと判定された場合には、ステップ２４２に進み、処理カウンタＣＮＴの下位４ビットが「＄６」又は「＄Ｅ」か否かで、通常時のＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’の取込みタイミングか否かを判定し、「Ｙｅｓ」であれば、ステップ２４３に進み、ＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’を取り込んでＡ／Ｄ変換する。この後、上述したステップ２３８〜２４１の処理を行い、本ルーチンを終了する。
【００９３】
また、上述したステップ２４２で、通常時のＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’の取込みタイミングでないと判定された場合は、図１７のステップ２４４に進み、処理カウンタＣＮＴの値が「＄８７」か否かで、掃引中のＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’の取込みタイミングであるか否かを判定する。もし、このステップ２４４で「Ｙｅｓ」と判定されれば、ステップ２４５に進み、掃引中のＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’を取り込んでＡ／Ｄ変換する。
【００９４】
このＡ／Ｄ変換後に、直ちにステップ２４６に進み、前記図７の戻し処理ルーチンを実行し、素子印加電圧Ｖｏ  ，Ｖｏ  ’を掃引電圧（３．１Ｖ）から戻し電圧（３．５Ｖ）に切り換え、この戻し電圧を掃引時間と同じ時間だけ保持した後、基準電圧（３．３Ｖ）に戻す。戻し処理ルーチン起動後、ステップ２４７に進み、処理カウンタＣＮＴの現在のカウント値に「＄０１」を加算して、ステップ２４８に進み、基準時刻の割込みをセットして、本ルーチンを終了する。
【００９５】
一方、上述したステップ２４４で、掃引中のＡＦＳ’側素子電流検出用の電圧Ｖｉ  ’の取込みタイミングでないと判定された場合は、ステップ２４９に進み、処理カウンタＣＮＴの値が「＄８Ｆ」か否かで、掃引中のＡＦＳ’側素子印加電圧Ｖｏ  ’の取込みタイミングであるか否かを判定する。もし、掃引中のＡＦＳ’側素子印加電圧Ｖｏ  ’の取込みタイミングと判定されれば、ステップ２５０に進み、ＡＦＳ’側素子印加電圧Ｖｏ  ’を取り込んでＡ／Ｄ変換する。Ａ／Ｄ変換後に、直ちにステップ２５１に進み、前記図７の戻し処理ルーチンを実行し、素子印加電圧Ｖｏ  ，Ｖｏ  ’を戻し電圧に切り換え、これを掃引時間と同じ時間だけ保持した後、素子印加電圧Ｖｏ  Ｖｏ  ’を基準電圧に戻す。
【００９６】
戻し処理ルーチンの起動後、ステップ２５２に進み、ＡＦＳ’側素子インピーダンスを算出した後、ステップ２５３で、このＡＦＳ’側素子インピーダンスをメインマイコン５３へ送信する。その後、ステップ２４７，２４８で、処理カウンタＣＮＴの更新と基準時刻の割込みセットを行い、本ルーチンを終了する。
【００９７】
また、上記ステップ２４９で、掃引中のＡＦＳ’側素子印加電圧Ｖｏ  ’の取込みタイミングでないと判定されれば、ステップ２５４に進み、処理カウンタＣＮＴの下位４ビットが「＄７」か否かで、通常時のＡＦＳ’側素子印加電圧Ｖｏ  ’の取込みタイミングか否かを判定し、「Ｙｅｓ」であれば、ステップ２５５に進み、ＡＦＳ’側素子印加電圧Ｖｏ  ’を取り込んでＡ／Ｄ変換した後、上述したステップ２４７，２４８の処理を行い、本ルーチンを終了する。
【００９８】
また、上記ステップ２５４で、「Ｎｏ」と判定された場合には、ステップ２５６に進み、ＡＦＳ側素子印加電圧Ｖｏ  を取り込んでＡ／Ｄ変換した後、上述したステップ２４７，２４８の処理を行い、本ルーチンを終了する。
以上説明した本実施形態（２）においても、前記実施形態（１）と同様の効果を得ることができる。
【００９９】
尚、上記各実施形態（１），（２）では、基準時刻にバッテリ電圧（＋ＶＢ  ）を取り込むようにしたが、これに代えて、冷却水温、吸気温等の他のセンサ出力を取り込むようにしても良い。また、上記各実施形態（１），（２）で説明したタイミング以外では、他のセンサ出力のＡ／Ｄ変換のために、Ａ／Ｄ変換回路５７は使用される。
【０１００】
また、上記各実施形態（１），（２）では、サブマイコン５６の出力ポートＰＢ２０，ＰＢ２１の出力電圧をハイレベル／ローレベルに切り換えることで、トランジスタＴｒ１，Ｔｒ２のオン／オフを切り換えて、素子印加電圧を切り換えるようにしたが、サブマイコン５６にＤ／Ａ変換回路を内蔵又は外付けで設け、このＤ／Ａ変換回路から素子印加電圧を出力するように構成しても良い。また、上記各実施形態（１），（２）では、サブマイコン５６にＡ／Ｄ変換回路５７を内蔵したが、このＡ／Ｄ変換回路５７をサブマイコン５６に外付けするようにしても良い。
【０１０１】
また、上記各実施形態（１），（２）では、素子インピーダンスの検出時に酸素濃度センサのプラス側端子への印加電圧を掃引するようにしたが、マイナス側端子への印加電圧を掃引するようにしても良い。また、検出した素子インピーダンスに基づいて、素子温度を判定する以外に、酸素濃度センサの劣化度合や特性ばらつき等を評価するようにしても良い。
【０１０２】
また、上記各実施形態（１），（２）では、酸素濃度や素子インピーダンスの算出をサブマイコン５６で行うようにしたが、これをメインマイコン５３によって行うようにしても良い。或は、メインマイコン５３とサブマイコン５６との機能を１つのマイクロコンピュータに持たせるようにしても良い。
【０１０３】
また、上記実施形態（２）では、ＡＦＳ側素子印加電圧Ｖｏ  とＡＦＳ’側素子印加電圧Ｖｏ  ’とが同一であるため、Ｖｏ  ’のＡ／Ｄ変換タイミングでもＶｏ  ’のＡ／Ｄ変換を行わずにＶｏ  のＡ／Ｄ変換を行い、Ｖｏ  ’の代わりにＶｏ  を用いるようにしても良い。このようにすれば、サブマイコン５６の入力ポートｃｈ２１にＶｏ  ’を取り込む必要がなくなり、この入力ポートｃｈ２１を他のセンサ出力等の取り込みに使用することができる。
【０１０４】
その他、本発明は、要求される仕様に応じて酸素濃度の検出周期や素子インピーダンスの検出周期、Ａ／Ｄ変換回数、Ａ／Ｄ変換タイミングを適宜変更したり、酸素濃度検出システム５２のセンサ駆動回路５９等の回路構成を適宜変更しても良い等、種々変更して実施できる。
【図面の簡単な説明】
【図１】本発明の実施形態（１）の酸素濃度検出システムの回路構成を示す電気回路図
【図２】実施形態（１）の素子インピーダンス検出処理の概要を説明するタイミングチャート
【図３】図２中のタイミング１で行う処理を説明するタイミングチャート
【図４】図２中のタイミング２で行う処理を説明するタイミングチャート
【図５】実施形態（１）の割込み処理ルーチンの処理の流れを示すフローチャート
【図６】図５の続きのフローチャート
【図７】戻し処理ルーチンの処理の流れを示すフローチャート
【図８】本発明の実施形態（２）の酸素濃度検出システムの回路構成を示す電気回路図
【図９】実施形態（２）の素子インピーダンス検出処理の概要を説明するタイミングチャート
【図１０】図９中のタイミング１で行う処理を説明するタイミングチャート
【図１１】図９中のタイミング２で行う処理を説明するタイミングチャート
【図１２】図９中のタイミング３で行う処理を説明するタイミングチャート
【図１３】図９中のタイミング４で行う処理を説明するタイミングチャート
【図１４】実施形態（２）の割込み処理ルーチンの処理の流れを示すフローチャート
【図１５】図１４の続きのフローチャート（その１）
【図１６】図１４の続きのフローチャート（その２）
【図１７】図１６の続きのフローチャート
【図１８】従来のＡ／Ｄ変換処理を説明するタイミングチャート
【符号の説明】
５１…ヒータ、５２…酸素濃度検出システム、５３…メインマイコン、５６…サブマイコン（素子インピーダンス算出手段）、５７…Ａ／Ｄ変換回路（Ａ／Ｄ変換手段）、５９…センサ駆動回路、ＡＦＳ，ＡＦＳ’…酸素濃度センサ。
【図１】
0003612699.tif 000003
【図２】
0003612699.tif 000004
【図３】
0003612699.tif 000005
【図４】
0003612699.tif 000006
【図５】
0003612699.tif 000007
【図６】
0003612699.tif 000008
【図７】
0003612699.tif 000009
【図８】
0003612699.tif 000010
【図９】
0003612699.tif 000011
【図１０】
0003612699.tif 000012
【図１１】
0003612699.tif 000013
【図１２】
0003612699.tif 000014
【図１３】
0003612699.tif 000015
【図１４】
0003612699.tif 000016
【図１５】
0003612699.tif 000017
【図１６】
0003612699.tif 000018
【図１７】
0003612699.tif 000019
【図１８】
0003612699.tif 000020