(57)【特許請求の範囲】
【請求項１】
内燃機関の吸気通路に挿入され吸入空気の物理量を検出する物理量検出手段と、
前記物理量を電気的に検出する物理量検出回路と、
前記物理量検出回路に接続され物理量情報をシリアル通信で送信するシリアル通信手段と、
前記シリアル通信を独立したクロック信号とデータ信号で行うクロック同期式のプロトコルと、
前記シリアル通信手段に接続され前記物理量情報を読み出すマイクロプロセッサと、
前記マイクロプロセッサから出力され検出した物理量の情報をパルス信号で出力する出力信号操作手段と、を備え、
ソフトウェアであって一定時間毎に割り込みで処理を実行する定時タスクと、
タイマ回路を利用して任意の時間後に割込みで処理を行い出力信号の操作を行うタイマタスクと、
前記割込み処理を実行していない間に処理を行うバックグランドジョブを具備し、
前記シリアル通信のクロック信号及びデータ信号をバックグランドジョブで操作し、
前記シリアル通信開始を示すシリアル通信開始フラグを定時タスクでセットし、
前記シリアル通信開始フラグの検査をバックグランドジョブで行いタイマタスクの割込み処理をシリアル通信実行中でも拒否しないことを特徴とする物理量検出装置。
【請求項２】
前記シリアル通信手段が互いに導体で接続され電圧レベルを操作するものであることを特徴とする請求項１記載の物理量検出装置。
【請求項３】
前記物理量検出装置は、湿度，温度，圧力，気体流量の少なくとも一つを検出するものであることを特徴とする請求項１記載の物理量検出装置。
【請求項４】
前記マイクロプロセッサが通信回路を具備しないことを特徴とする請求項１記載の物理量検出装置。
【請求項５】
前記マイクロプロセッサは、割込み処理中にさらに別の割込み処理を受け付ける機能を持たないことを特徴とする請求項１記載の物理量検出装置。
【請求項６】
前記シリアル通信手段のクロック信号の操作権がマイクロプロセッサ側だけであることを特徴とする請求項１記載の物理量検出装置。
【請求項７】
前記バックグランドジョブにおけるシリアル通信開始を示すシリアル通信開始フラグの検査が、電圧値または、電流値を予め決められたしきい値又は任意に変更できるしきい値との判定結果によるものであることを特徴とする請求項１記載の物理量検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理量検出部と回路が一体的に封止され、マイクロプロセッサからシリアル通信で物理量情報を読み出す構成の物理量検出装置に関する。
【背景技術】
【０００２】
自動車などの制御や安全性確保のために、各種の物理量を検出するセンサが使用されており、この中には、検出部と回路を半導体製造技術で製造し、小型の筐体又はモールドなどで封止したものが多数使われている。センサを半導体プロセスで製造すると安定でばらつきの少ない物理量検出素子が安価に製造できるだけでなく、物理量検出のための回路や、これらの信号を処理するディジタル論理回路，特性のばらつきを補正するメモリ回路、さらに検出した物理量情報を信号の劣化なく外部へ伝達できるシリアル通信回路を一体に構成するものが合理的である。
【０００３】
このようなセンサは信号の読み出しをマイクロプロセッサなどで行うことが一般的であり、マイクロプロセッサの場合はセンサからの信号を読み出すためのシリアル通信回路を具備しているものが使われる。一定以上の性能を持つマイクロプロセッサにはシリアル通信回路が標準的に具備されており、マイクロプロセッサの演算・実行部分からの指示によって独立して回路動作する。通信信号はエッジ検出回路，シフトレジスタ回路，バッファ回路などを持つ論理回路を経て、少なくとも通信の最小単位、たとえばビット単位の信号操作はマイクロプロセッサの処理に影響を与えず通信が可能である。このような通信回路に関する技術が例えば、特許文献１に開示されている。
【０００４】
特許文献１では、シリアル通信でセンサからシリアル信号を受信する場合、シリアル信号のデータ入力はシフトレジスタがクロックと協調して、時系列的なビット列をシフトレジスタに逐次保持され、シリアル通信の最小単位を受領すると、バッファに保持されると同時に、受信用ＦＩＦＯバッファに蓄積され、マイクロプロセッサの都合の良いタイミングで読み出される。一連の受信動作は全て論理回路で実行され、マイクロプロセッサの処理は受信データの読み出しだけである。
【０００５】
一方、物理量計測装置は通常、上位機器へ検出した物理量を出力するものであり、電圧などの直接的な出力や、ＦＭやＰＷＭなどの変調信号が使われる。これらの変調信号は電気回路によって変換され、マイクロプロセッサなどで演算した後にタイマ回路で生成するものが多い。このような信号変調に関する技術が例えば特許文献２に開示されている。
【０００６】
特許文献２では、基準カウントクロック信号をタイマ・カウンタでカウントし、一致検出回路でコンペアレジスタの値と、タイマの値を常に比較し、一致した場合はフリップフロップで出力端子を操作する。マイクロプロセッサはバスを経由してタイマ・カウンタのリセットや、コンペアレジスタへのパルス操作タイミングの書き込みを行う。マイクロプロセッサの実行処理として出力信号自体の操作は行わず、信号操作は全て論理回路が行う。
【０００７】
これら特許文献に記載されている例は、通信処理や端子信号操作をマイクロプロセッサに具備されている独立した論理回路によってシリアル通信と端子信号操作を同時に実施可能であることを示している。
【０００８】
一方、廉価型のマイクロプロセッサでは半導体プロセスによる回路規模を縮小しているため、マイクロプロセッサは小さく、小型の機器やセンサに実装することが容易であるが、シリアル通信回路を具備していない、あるいは、割込み処理の機能が簡易的であることが多い。このため、シリアル通信の信号端子を汎用入出力端子に割り当て、ソフトウェアによって時系列に順序だてて論理状態を制御してシリアル通信を行わざるを得ない。また、割込みの機能が簡易的で、多重割込み処理機能がないため、シリアル通信を開始すると、通信処理が完了するまで、信号端子操作などの処理を停止せざるを得ない。このような理由から、即時性が求められるセンサのような製品に廉価型のマイクロプロセッサが使われることはまれであり、一部の高価・大型なセンサに前記シリアル通信回路やタイマ・カウンタ回路を装備する高機能型のマイクロプロセッサが使用されるのみである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第３２２８４１３号公報
【特許文献２】特許第３０８２７２１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
前記のようにシリアル通信と、物理量情報の出力のための信号変調を同時に処理する必要がある場合は高機能型のマイクロプロセッサが必要であるが、自動車用センサなど、極めて小型の製品には大きさや価格の制約でこれらが搭載できない。逆に、自動車用センサなどに搭載可能な超小型のマイクロプロセッサでは通信処理と変調処理を即時処理できるほどの性能がないため、実装できても製品の機能を満足することができなかった。具体的にはシリアル通信を定期的に実施するために定時タスクでこれを開始すると、シリアル通信中に出力信号操作の割込み要求が発生しても多重の割込みができないために出力信号操作はシリアル通信の完了後となってしまい、湿度信号出力を操作するタイミングに誤差が生じ、ひいてはこれが物理量情報の誤差となる。また、物理量信号出力操作を優先させた場合でも、多重の割込み処理ができないためシリアル通信の開始自体を断念せざるを得ず、シリアル通信、すなわち物理量情報の読み出し周期が変動してしまう問題がある。また、シリアル通信の開始時期を割込み処理以外の期間のみ実行されるバックグランドジョブで管理すると、割込み処理による中断度合いでバックグランドジョブの実行進捗が変動し、シリアル通信開始の周期を一定にすることが困難である。このため物理量情報の更新周期が一定とならない問題があった。
【００１１】
そこで、本発明の目的は上記課題に鑑み、多重割込み機能及び、シリアル通信回路を具備しない安価・小型なマイクロプロセッサを使用しても物理量検出装置の物理量出力信号誤差を低減でき、さらに、物理量検出装置の小型化や、低価格化を実現できる物理量検出装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明では、内燃機関の吸気通路に挿入され、吸入空気の物理量を検出する物理量検出手段と、物理量を電気的に検出する物理量検出回路と、物理量検出回路に接続され、物理量情報をシリアル通信で送信するシリアル通信手段と、シリアル通信を独立したクロック信号とデータ信号で行うクロック同期式のプロトコルと、シリアル通信手段に接続され、物理量情報を読み出すマイクロプロセッサと、マイクロプロセッサから出力され、検出した物理量の情報をパルス信号で出力する出力信号操作手段と、ソフトウェアであって一定時間毎に割り込みで処理を実行する定時タスクと、タイマ回路を利用して任意の時間後に割込みで処理を行い、出力信号の操作を行うタイマタスクと、割込み処理を実行していない間に処理を行うバックグランドジョブを具備し、シリアル通信のクロック信号及びデータ信号をバックグランドジョブで操作し、かつシリアル通信開始を示すシリアル通信開始フラグを定時タスクでセットし、かつシリアル通信開始フラグの検査をバックグランドジョブで行い、かつタイマタスクの割込み処理をシリアル通信実行中でも拒否しないことを特徴とする。
【発明の効果】
【００１３】
本発明は多重割込み機能及び、シリアル通信回路を具備しない安価・小型なマイクロプロセッサを使用しても物理量検出装置の物理量出力信号誤差を低減できる。さらに、物理量検出装置の小型化や、低価格化を実現できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施例を示す機関制御構成図。
【図２】本発明の一実施例における湿度検出装置構成図。
【図３】本発明の一実施例におけるシリアル通信波形。
【図４】本発明の一実施例における湿度情報出力波形生成方法。
【図５】本発明の一実施例におけるソフトウェア構成図。
【図６】本発明の一実施例における波形及び処理のタイミングチャート。
【図７】本発明の一実施例におけるソフトウェアフローチャート。
【図８】本発明の第二の実施例におけるソフトウェアフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施例について図面を参照して物理量検出対象が湿度である場合で説明する。検出する物理量がいかなるものであっても、本発明の効果は同様である。
【実施例１】
【００１６】
内燃機関の動力性能や環境性能を向上させるため、各種の物理量検出装置と電子制御システムが使用される。図１はこのような電子制御システムの構成を示している。図１はディーゼル機関での例であるが、これがガソリン機関であっても同様である。機関の吸入空気はエアフィルタ１０２でろ過され、エアダクト１０３を経て湿度検出センサ１０１で、温湿度などの物理量を検出し、これらの情報は電子制御ユニット１０４に伝達される。電子制御ユニット１０４では他の物理量検出手段の情報も使用し、たとえば燃料噴射弁１０５の噴射量を調節したり、尿素噴射手段１０６の噴射量を調節して、窒素酸化物還元手段１０７の能力を調節したりして、機関出力性能や、排出ガスの有毒物質を低減し、燃料消費量の低減をはかるなどの総合的な制御を行う。また、電子制御ユニット１０４で検出された湿度情報は、車両ネットワークを介して車室内の各種制御ユニットへ伝達され、各種の制御に使われることもある。
【００１７】
図２は湿度検出センサ１０１の内部構造を示したものである。温湿度センサ２０１とマイクロプロセッサ２０６が接続され、温湿度センサ２０１は温湿度検出部２０２で物理量を検出し、シリアル通信回路２０３でマイクロプロセッサ２０６へ伝送する。シリアル通信はマイクロプロセッサ２０６側から操作されるクロック信号２０４と、半二重のシリアル通信を行うデータ信号２０５によって行われる。振動子２１０はマイクロプロセッサ２０６に接続され、プログラム実行のタイミング制御や、出力信号の変調時間基準源などに使用される。出力トランジスタ２０７はマイクロプロセッサ２０６の出力信号２１８に応じて電流を操作し、温湿度情報を示すパルス信号を出力する。電子制御ユニット１０４内のプルアップ抵抗２０９で電圧パルス信号２１３となった温湿度信号は電子制御ユニット１０４内で処理され、各種制御に利用される。
【００１８】
図３はシリアル通信回路２０３とマイクロプロセッサ２０６の通信信号を時系列的に示したものである。クロック信号２０４はマイクロプロセッサ２０６がデータ信号の同期制御のために発行しているものであり、データ信号２０５はクロック信号２０４に応じて操作される。シリアル通信の開始を制御するため、通信開始時にはスタートコンディション３０１を設けている。また終了の制御は、ＡＣＫビット３０２によって行う。
【００１９】
図４はマイクロプロセッサ２０６内で出力信号２１８を生成する手順を示したものである。振動子２１０で生成された動作クロック信号４０１は、プリスケーラ４０２で分周され、パルス信号生成用タイマ４０３に入力される。タイマ４０３はたとえばアップカウント動作４０６に示すように動作し、オーバーフローしたときの割り込み処理要求で出力信号の立ち上げ割込み処理を行うＪＯＢ１（４０７）、立ち下げを行うＪＯＢ２（４０８）を処理する。これらの割込み処理で出力信号２１８を操作して任意のパルス信号を得る。
【００２０】
図５はマイクロプロセッサ２０６での割込み要求発生回路とソフトウェア処理の関係を模式的に示したものである。マイクロプロセッサ２０６内で使用される動作クロック信号４０１はプリスケーラ４０２を経てタイマ４０３によるカウントが行われ、オーバーフローが発生すると割込みコントローラ５０１からソフトウェに対して割込み要求を発行する。同じマイクロプロセッサ２０６内では異なるプリスケーラ５０６，タイマ５０７で定期的にオーバーフローを発生させ、割込みコントローラ５０１からソフトウェアへ割込み要求を発行する。一方、割込み処理を実行していないときはバックグランドジョブ５０３が繰り返し実行される。シリアル通信処理５０４もこのバックグランドジョブ内で実行される。割込みコントローラ５０１から割込み要求が発行されると、先ずタスクディスパッチャ５０２でどの要因の割り込みであるかを解析し、割り込み要因毎にそれぞれ異なる処理に実行を移す。たとえば、温湿度信号のパルス信号を生成するタイマ４０３からの割込み要求であれば、タイマ１タスク５０５を実行し、定期的に実行する処理のタイミングを生成するタイマ５０７からの割込み要求であればタスク０（５０９）を実行する。これらタスク５０５，５０９は割り込み処理であるため、バックグランドジョブ５０３の実行を中断して、より高い優先度で実行される。タスク５０５，５０９の実行が終了すると、バックグランドジョブ５０３は中断された直後の処理から実行を再開する。
【００２１】
図６はバックグランドジョブ５０３におけるシリアル通信処理５０４が、割込み処理であるタスク１内のＪＯＢ１（４０７）に割り込まれたときのシリアル通信信号の様子を示したものである。シリアル通信処理５０４により、シリアル通信が行われるが、出力信号の操作のためにＪＯＢ１（４０７）が実行されると、クロック信号２０４，データ信号２０５の両方を中断し、そのときの信号論理を保留する（６０１）。
【００２２】
ＪＩＢ１（４０７）は実際に出力信号２１８を操作する以前に、次の割り込み処理タイミングを制御するためにタイマ４０３の値を変更するなどの処理を行い、ＪＯＢ１（４０８）の処理を完了する直前に出力信号２１８を操作して、バックグランドジョブ５０３内のシリアル通信処理５０４に復帰する。シリアル通信処理５０４は保留直前の状態から残りの処理を実行し、シリアル通信を継続する。
【００２３】
図７は図６に示すシリアル通信が中断されたときの、バックグランドジョブ５０３と、タイマ１タスク５０５中のＪＯＢ１（４０７）のフローチャートと、実行パスを示している。マイクロプロセッサ２０６にはシリアル通信回路が具備されていないのでクロック信号２０４及びデータ信号２０５は全てソフトウェアにて制御される。通信の開始は定時タスク、たとえばタスク０（５０９）で管理される、タスク０は一定時間ごとに実行されるが、この実行周期よりも長周期毎のシリアル通信を行う場合は、タスク０（５０９）が何回実行されたかをカウントして、通信開始タイミングになった場合は、通信開始フラグ７１０をセットする。定時タスクであるタスク０（５０９）は通信に関してこれ以上の処理を行わない。この通信開始フラグ７１０はバックグランドジョブ５０３の通信開始確認処理７０１にて検査され、通信開始フラグ７１０がセットされている場合のみシリアル通信を開始する。シリアル通信処理ではまず、シリアル通信の送信ビット数セット処理７０２にて送信ビット数をセットする。次に、データ信号セット処理７０３にてデータの信号論理を確定してから、クロック信号操作処理７０４を実施する。このクロック信号操作処理７０４ではクロック信号２０４の立ち上がり操作と、立ち下がり操作が行われる。この操作が１ビット分のシリアル通信となる。送信ビット数デクリメント処理７０６で送信ビット数を１ずつ減算してそれが０になるまでデータ信号セット処理７０３からクロック信号操作処理７０４をループ実行することにより、所望のビット数のシリアル通信を行う。通信開始フラグ７１０はシリアル通信終了と同時にクリアされ、次回の送信開始要求を待つ。バックグランドジョブは終了と同時に最初から再開しても良いし、別の定時割込みタスクから起動されて、その都度１回のみ実行する格好でも良い。一方出力信号操作を行うＪＯＢ１（４０７）では、先ず次の割込みタイミングを制御するためのタイマセット処理７１１を実行し、出力信号２１８を操作する出力信号操作処理７１２を実行して割込み処理は終了する。
【００２４】
このように３種類に独立した処理群にて、シリアル通信を実行するが、たとえばクロック信号操作処理７０４でクロック信号２０４の立ち上がり操作をした直後に、ＪＯＢ１（４０７）の割込み要求が発生した場合は、バックグランドジョブ５０３を中断してＪＯＢ１（４０７）内のタイマセット処理７１１，出力信号操作処理７１２が行われ、出力信号２１８が変化する。この間、シリアル通信のクロック信号２０４及びデータ信号２０５の電圧論理は共に保持されており、ＪＯＢ１（４０７）が終了すればクロック信号操作処理７０４の立下り操作から実行が再開される。シリアル通信は中断するが、通信データはクロック信号２０４の変化に同期して伝送されるため、通信データの内容は中断の影響を受けない。
【００２５】
タスク０（５０９）は通信開始をバックグランドジョブ５０３に通信を要求する通信開始フラグ７１０をセットするのみであるので、実行時間は非常に短く、仮にこの時にＪＯＢ１（４０７）の割込みを拒否してそれを遅延させても、ＪＯＢ１（４０７）で行う出力信号２１８の操作タイミングに与える変動の影響は小さい。よって湿度情報を示す出力信号２１８の信号精度が悪化することが防止される。さらにタスク０（５０９）による通信開始フラグのセット周期は、このフラグをバックグランドジョブ５０３が参照して実際にシリアル通信を開始するまでの遅延時間とは無関係であるため、通信開始、すなわち温湿度データの更新周期は累積的な変動とはならない。このことは温湿度出力信号を受信して各種の機関制御を行う電子制御ユニット１０４の性能向上に重要である。
【００２６】
このような構成にすることにより、シリアル通信回路や、複雑なタイマ回路を具備しない安価なマイクロプロセッサを使用しても、シリアル通信を開始する周期の変動を最小化でき、かつ、出力信号２１８の周期または、デューティー比の誤差、すなわち湿度センサから出力される温湿度信号２１３の精度悪化を防止することができる。
【実施例２】
【００２７】
実施例１ではシリアル通信の開始要求が定時タスクであるタスク０（５０９）によって行われているが、この部分がバックグランドジョブによる外部要因の判定であっても本発明の効果は同様である。
【００２８】
図８は実施例２における外部要因の判定手段を示すものである。コンパレータ８０１は基準電圧８０３と、入力電圧８０４を比較するために設けられており、この例では入力電圧８０４が基準電圧８０３以上となった場合にコンパレータ出力８０２が正論理になる。バックグランドジョブ５０３ではこの論理状態をバックグランドジョブ実行毎に検査し、たとえば正論理であったときのみ通信を開始する。このような構成であっても外部要因が発生してから通信が開始されるまでの時間変動は実施例１と同様にバックグランドジョブのシリアル通信開始遅延時間だけで時間変動の最大値を定義でき、さらに外部要因の検出を割込み処理で行った場合に発生する、割込みの多重に起因する処理抜けを防止することができる。
【符号の説明】
【００２９】
１０１  湿度検出センサ
１０４  電子制御ユニット
２０２  温湿度検出部
２０３  シリアル通信回路
２０４  クロック信号
２０５  データ信号
２１８  出力信号
３０１  スタートコンディション
４０６  アップカウント動作
４０７  出力信号立ち上げ割込み処理ＪＯＢ１
５０３  バックグランドジョブ
５０４  シリアル通信処理
５０８  湿度演算処理
５０９  定時割込み処理（タスク０）
７１０  通信開始フラグ
【図１】
0005537459.tif 000002
【図２】
0005537459.tif 000003
【図３】
0005537459.tif 000004
【図４】
0005537459.tif 000005
【図５】
0005537459.tif 000006
【図６】
0005537459.tif 000007
【図７】
0005537459.tif 000008
【図８】
0005537459.tif 000009