説明

物理量検出装置

【課題】多重割込み機能及び、シリアル通信回路を具備しない安価・小型なマイクロプロセッサを使用しても物理量検出装置の物理量出力信号誤差を低減でき、さらに、物理量検出装置の小型化や、低価格化を実現できる物理量検出装置を提供すること。
【解決手段】シリアル通信のクロック信号及びデータ信号をバックグランドジョブで操作し、シリアル通信開始を示すシリアル通信開始フラグを定時タスクでセットし、シリアル通信開始フラグの検査をバックグランドジョブで行いタイマタスクの割込み処理をシリアル通信実行中でも拒否しないことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物理量検出部と回路が一体的に封止され、マイクロプロセッサからシリアル通信で物理量情報を読み出す構成の物理量検出装置に関する。
【背景技術】
【0002】
自動車などの制御や安全性確保のために、各種の物理量を検出するセンサが使用されており、この中には、検出部と回路を半導体製造技術で製造し、小型の筐体又はモールドなどで封止したものが多数使われている。センサを半導体プロセスで製造すると安定でばらつきの少ない物理量検出素子が安価に製造できるだけでなく、物理量検出のための回路や、これらの信号を処理するディジタル論理回路,特性のばらつきを補正するメモリ回路、さらに検出した物理量情報を信号の劣化なく外部へ伝達できるシリアル通信回路を一体に構成するものが合理的である。
【0003】
このようなセンサは信号の読み出しをマイクロプロセッサなどで行うことが一般的であり、マイクロプロセッサの場合はセンサからの信号を読み出すためのシリアル通信回路を具備しているものが使われる。一定以上の性能を持つマイクロプロセッサにはシリアル通信回路が標準的に具備されており、マイクロプロセッサの演算・実行部分からの指示によって独立して回路動作する。通信信号はエッジ検出回路,シフトレジスタ回路,バッファ回路などを持つ論理回路を経て、少なくとも通信の最小単位、たとえばビット単位の信号操作はマイクロプロセッサの処理に影響を与えず通信が可能である。このような通信回路に関する技術が例えば、特許文献1に開示されている。
【0004】
特許文献1では、シリアル通信でセンサからシリアル信号を受信する場合、シリアル信号のデータ入力はシフトレジスタがクロックと協調して、時系列的なビット列をシフトレジスタに逐次保持され、シリアル通信の最小単位を受領すると、バッファに保持されると同時に、受信用FIFOバッファに蓄積され、マイクロプロセッサの都合の良いタイミングで読み出される。一連の受信動作は全て論理回路で実行され、マイクロプロセッサの処理は受信データの読み出しだけである。
【0005】
一方、物理量計測装置は通常、上位機器へ検出した物理量を出力するものであり、電圧などの直接的な出力や、FMやPWMなどの変調信号が使われる。これらの変調信号は電気回路によって変換され、マイクロプロセッサなどで演算した後にタイマ回路で生成するものが多い。このような信号変調に関する技術が例えば特許文献2に開示されている。
【0006】
特許文献2では、基準カウントクロック信号をタイマ・カウンタでカウントし、一致検出回路でコンペアレジスタの値と、タイマの値を常に比較し、一致した場合はフリップフロップで出力端子を操作する。マイクロプロセッサはバスを経由してタイマ・カウンタのリセットや、コンペアレジスタへのパルス操作タイミングの書き込みを行う。マイクロプロセッサの実行処理として出力信号自体の操作は行わず、信号操作は全て論理回路が行う。
【0007】
これら特許文献に記載されている例は、通信処理や端子信号操作をマイクロプロセッサに具備されている独立した論理回路によってシリアル通信と端子信号操作を同時に実施可能であることを示している。
【0008】
一方、廉価型のマイクロプロセッサでは半導体プロセスによる回路規模を縮小しているため、マイクロプロセッサは小さく、小型の機器やセンサに実装することが容易であるが、シリアル通信回路を具備していない、あるいは、割込み処理の機能が簡易的であることが多い。このため、シリアル通信の信号端子を汎用入出力端子に割り当て、ソフトウェアによって時系列に順序だてて論理状態を制御してシリアル通信を行わざるを得ない。また、割込みの機能が簡易的で、多重割込み処理機能がないため、シリアル通信を開始すると、通信処理が完了するまで、信号端子操作などの処理を停止せざるを得ない。このような理由から、即時性が求められるセンサのような製品に廉価型のマイクロプロセッサが使われることはまれであり、一部の高価・大型なセンサに前記シリアル通信回路やタイマ・カウンタ回路を装備する高機能型のマイクロプロセッサが使用されるのみである。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特許第3228413号公報
【特許文献2】特許第3082721号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
前記のようにシリアル通信と、物理量情報の出力のための信号変調を同時に処理する必要がある場合は高機能型のマイクロプロセッサが必要であるが、自動車用センサなど、極めて小型の製品には大きさや価格の制約でこれらが搭載できない。逆に、自動車用センサなどに搭載可能な超小型のマイクロプロセッサでは通信処理と変調処理を即時処理できるほどの性能がないため、実装できても製品の機能を満足することができなかった。具体的にはシリアル通信を定期的に実施するために定時タスクでこれを開始すると、シリアル通信中に出力信号操作の割込み要求が発生しても多重の割込みができないために出力信号操作はシリアル通信の完了後となってしまい、湿度信号出力を操作するタイミングに誤差が生じ、ひいてはこれが物理量情報の誤差となる。また、物理量信号出力操作を優先させた場合でも、多重の割込み処理ができないためシリアル通信の開始自体を断念せざるを得ず、シリアル通信、すなわち物理量情報の読み出し周期が変動してしまう問題がある。また、シリアル通信の開始時期を割込み処理以外の期間のみ実行されるバックグランドジョブで管理すると、割込み処理による中断度合いでバックグランドジョブの実行進捗が変動し、シリアル通信開始の周期を一定にすることが困難である。このため物理量情報の更新周期が一定とならない問題があった。
【0011】
そこで、本発明の目的は上記課題に鑑み、多重割込み機能及び、シリアル通信回路を具備しない安価・小型なマイクロプロセッサを使用しても物理量検出装置の物理量出力信号誤差を低減でき、さらに、物理量検出装置の小型化や、低価格化を実現できる物理量検出装置を提供することにある。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明では、内燃機関の吸気通路に挿入され、吸入空気の物理量を検出する物理量検出手段と、物理量を電気的に検出する物理量検出回路と、物理量検出回路に接続され、物理量情報をシリアル通信で送信するシリアル通信手段と、シリアル通信を独立したクロック信号とデータ信号で行うクロック同期式のプロトコルと、シリアル通信手段に接続され、物理量情報を読み出すマイクロプロセッサと、マイクロプロセッサから出力され、検出した物理量の情報をパルス信号で出力する出力信号操作手段と、ソフトウェアであって一定時間毎に割り込みで処理を実行する定時タスクと、タイマ回路を利用して任意の時間後に割込みで処理を行い、出力信号の操作を行うタイマタスクと、割込み処理を実行していない間に処理を行うバックグランドジョブを具備し、シリアル通信のクロック信号及びデータ信号をバックグランドジョブで操作し、かつシリアル通信開始を示すシリアル通信開始フラグを定時タスクでセットし、かつシリアル通信開始フラグの検査をバックグランドジョブで行い、かつタイマタスクの割込み処理をシリアル通信実行中でも拒否しないことを特徴とする。
【発明の効果】
【0013】
本発明は多重割込み機能及び、シリアル通信回路を具備しない安価・小型なマイクロプロセッサを使用しても物理量検出装置の物理量出力信号誤差を低減できる。さらに、物理量検出装置の小型化や、低価格化を実現できる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施例を示す機関制御構成図。
【図2】本発明の一実施例における湿度検出装置構成図。
【図3】本発明の一実施例におけるシリアル通信波形。
【図4】本発明の一実施例における湿度情報出力波形生成方法。
【図5】本発明の一実施例におけるソフトウェア構成図。
【図6】本発明の一実施例における波形及び処理のタイミングチャート。
【図7】本発明の一実施例におけるソフトウェアフローチャート。
【図8】本発明の第二の実施例におけるソフトウェアフローチャート。
【発明を実施するための形態】
【0015】
以下、本発明の一実施例について図面を参照して物理量検出対象が湿度である場合で説明する。検出する物理量がいかなるものであっても、本発明の効果は同様である。
【実施例1】
【0016】
内燃機関の動力性能や環境性能を向上させるため、各種の物理量検出装置と電子制御システムが使用される。図1はこのような電子制御システムの構成を示している。図1はディーゼル機関での例であるが、これがガソリン機関であっても同様である。機関の吸入空気はエアフィルタ102でろ過され、エアダクト103を経て湿度検出センサ101で、温湿度などの物理量を検出し、これらの情報は電子制御ユニット104に伝達される。電子制御ユニット104では他の物理量検出手段の情報も使用し、たとえば燃料噴射弁105の噴射量を調節したり、尿素噴射手段106の噴射量を調節して、窒素酸化物還元手段107の能力を調節したりして、機関出力性能や、排出ガスの有毒物質を低減し、燃料消費量の低減をはかるなどの総合的な制御を行う。また、電子制御ユニット104で検出された湿度情報は、車両ネットワークを介して車室内の各種制御ユニットへ伝達され、各種の制御に使われることもある。
【0017】
図2は湿度検出センサ101の内部構造を示したものである。温湿度センサ201とマイクロプロセッサ206が接続され、温湿度センサ201は温湿度検出部202で物理量を検出し、シリアル通信回路203でマイクロプロセッサ206へ伝送する。シリアル通信はマイクロプロセッサ206側から操作されるクロック信号204と、半二重のシリアル通信を行うデータ信号205によって行われる。振動子210はマイクロプロセッサ206に接続され、プログラム実行のタイミング制御や、出力信号の変調時間基準源などに使用される。出力トランジスタ207はマイクロプロセッサ206の出力信号218に応じて電流を操作し、温湿度情報を示すパルス信号を出力する。電子制御ユニット104内のプルアップ抵抗209で電圧パルス信号213となった温湿度信号は電子制御ユニット104内で処理され、各種制御に利用される。
【0018】
図3はシリアル通信回路203とマイクロプロセッサ206の通信信号を時系列的に示したものである。クロック信号204はマイクロプロセッサ206がデータ信号の同期制御のために発行しているものであり、データ信号205はクロック信号204に応じて操作される。シリアル通信の開始を制御するため、通信開始時にはスタートコンディション301を設けている。また終了の制御は、ACKビット302によって行う。
【0019】
図4はマイクロプロセッサ206内で出力信号218を生成する手順を示したものである。振動子210で生成された動作クロック信号401は、プリスケーラ402で分周され、パルス信号生成用タイマ403に入力される。タイマ403はたとえばアップカウント動作406に示すように動作し、オーバーフローしたときの割り込み処理要求で出力信号の立ち上げ割込み処理を行うJOB1(407)、立ち下げを行うJOB2(408)を処理する。これらの割込み処理で出力信号218を操作して任意のパルス信号を得る。
【0020】
図5はマイクロプロセッサ206での割込み要求発生回路とソフトウェア処理の関係を模式的に示したものである。マイクロプロセッサ206内で使用される動作クロック信号401はプリスケーラ402を経てタイマ403によるカウントが行われ、オーバーフローが発生すると割込みコントローラ501からソフトウェに対して割込み要求を発行する。同じマイクロプロセッサ206内では異なるプリスケーラ506,タイマ507で定期的にオーバーフローを発生させ、割込みコントローラ501からソフトウェアへ割込み要求を発行する。一方、割込み処理を実行していないときはバックグランドジョブ503が繰り返し実行される。シリアル通信処理504もこのバックグランドジョブ内で実行される。割込みコントローラ501から割込み要求が発行されると、先ずタスクディスパッチャ502でどの要因の割り込みであるかを解析し、割り込み要因毎にそれぞれ異なる処理に実行を移す。たとえば、温湿度信号のパルス信号を生成するタイマ403からの割込み要求であれば、タイマ1タスク505を実行し、定期的に実行する処理のタイミングを生成するタイマ507からの割込み要求であればタスク0(509)を実行する。これらタスク505,509は割り込み処理であるため、バックグランドジョブ503の実行を中断して、より高い優先度で実行される。タスク505,509の実行が終了すると、バックグランドジョブ503は中断された直後の処理から実行を再開する。
【0021】
図6はバックグランドジョブ503におけるシリアル通信処理504が、割込み処理であるタスク1内のJOB1(407)に割り込まれたときのシリアル通信信号の様子を示したものである。シリアル通信処理504により、シリアル通信が行われるが、出力信号の操作のためにJOB1(407)が実行されると、クロック信号204,データ信号205の両方を中断し、そのときの信号論理を保留する(601)。
【0022】
JIB1(407)は実際に出力信号218を操作する以前に、次の割り込み処理タイミングを制御するためにタイマ403の値を変更するなどの処理を行い、JOB1(408)の処理を完了する直前に出力信号218を操作して、バックグランドジョブ503内のシリアル通信処理504に復帰する。シリアル通信処理504は保留直前の状態から残りの処理を実行し、シリアル通信を継続する。
【0023】
図7は図6に示すシリアル通信が中断されたときの、バックグランドジョブ503と、タイマ1タスク505中のJOB1(407)のフローチャートと、実行パスを示している。マイクロプロセッサ206にはシリアル通信回路が具備されていないのでクロック信号204及びデータ信号205は全てソフトウェアにて制御される。通信の開始は定時タスク、たとえばタスク0(509)で管理される、タスク0は一定時間ごとに実行されるが、この実行周期よりも長周期毎のシリアル通信を行う場合は、タスク0(509)が何回実行されたかをカウントして、通信開始タイミングになった場合は、通信開始フラグ710をセットする。定時タスクであるタスク0(509)は通信に関してこれ以上の処理を行わない。この通信開始フラグ710はバックグランドジョブ503の通信開始確認処理701にて検査され、通信開始フラグ710がセットされている場合のみシリアル通信を開始する。シリアル通信処理ではまず、シリアル通信の送信ビット数セット処理702にて送信ビット数をセットする。次に、データ信号セット処理703にてデータの信号論理を確定してから、クロック信号操作処理704を実施する。このクロック信号操作処理704ではクロック信号204の立ち上がり操作と、立ち下がり操作が行われる。この操作が1ビット分のシリアル通信となる。送信ビット数デクリメント処理706で送信ビット数を1ずつ減算してそれが0になるまでデータ信号セット処理703からクロック信号操作処理704をループ実行することにより、所望のビット数のシリアル通信を行う。通信開始フラグ710はシリアル通信終了と同時にクリアされ、次回の送信開始要求を待つ。バックグランドジョブは終了と同時に最初から再開しても良いし、別の定時割込みタスクから起動されて、その都度1回のみ実行する格好でも良い。一方出力信号操作を行うJOB1(407)では、先ず次の割込みタイミングを制御するためのタイマセット処理711を実行し、出力信号218を操作する出力信号操作処理712を実行して割込み処理は終了する。
【0024】
このように3種類に独立した処理群にて、シリアル通信を実行するが、たとえばクロック信号操作処理704でクロック信号204の立ち上がり操作をした直後に、JOB1(407)の割込み要求が発生した場合は、バックグランドジョブ503を中断してJOB1(407)内のタイマセット処理711,出力信号操作処理712が行われ、出力信号218が変化する。この間、シリアル通信のクロック信号204及びデータ信号205の電圧論理は共に保持されており、JOB1(407)が終了すればクロック信号操作処理704の立下り操作から実行が再開される。シリアル通信は中断するが、通信データはクロック信号204の変化に同期して伝送されるため、通信データの内容は中断の影響を受けない。
【0025】
タスク0(509)は通信開始をバックグランドジョブ503に通信を要求する通信開始フラグ710をセットするのみであるので、実行時間は非常に短く、仮にこの時にJOB1(407)の割込みを拒否してそれを遅延させても、JOB1(407)で行う出力信号218の操作タイミングに与える変動の影響は小さい。よって湿度情報を示す出力信号218の信号精度が悪化することが防止される。さらにタスク0(509)による通信開始フラグのセット周期は、このフラグをバックグランドジョブ503が参照して実際にシリアル通信を開始するまでの遅延時間とは無関係であるため、通信開始、すなわち温湿度データの更新周期は累積的な変動とはならない。このことは温湿度出力信号を受信して各種の機関制御を行う電子制御ユニット104の性能向上に重要である。
【0026】
このような構成にすることにより、シリアル通信回路や、複雑なタイマ回路を具備しない安価なマイクロプロセッサを使用しても、シリアル通信を開始する周期の変動を最小化でき、かつ、出力信号218の周期または、デューティー比の誤差、すなわち湿度センサから出力される温湿度信号213の精度悪化を防止することができる。
【実施例2】
【0027】
実施例1ではシリアル通信の開始要求が定時タスクであるタスク0(509)によって行われているが、この部分がバックグランドジョブによる外部要因の判定であっても本発明の効果は同様である。
【0028】
図8は実施例2における外部要因の判定手段を示すものである。コンパレータ801は基準電圧803と、入力電圧804を比較するために設けられており、この例では入力電圧804が基準電圧803以上となった場合にコンパレータ出力802が正論理になる。バックグランドジョブ503ではこの論理状態をバックグランドジョブ実行毎に検査し、たとえば正論理であったときのみ通信を開始する。このような構成であっても外部要因が発生してから通信が開始されるまでの時間変動は実施例1と同様にバックグランドジョブのシリアル通信開始遅延時間だけで時間変動の最大値を定義でき、さらに外部要因の検出を割込み処理で行った場合に発生する、割込みの多重に起因する処理抜けを防止することができる。
【符号の説明】
【0029】
101 湿度検出センサ
104 電子制御ユニット
202 温湿度検出部
203 シリアル通信回路
204 クロック信号
205 データ信号
218 出力信号
301 スタートコンディション
406 アップカウント動作
407 出力信号立ち上げ割込み処理JOB1
503 バックグランドジョブ
504 シリアル通信処理
508 湿度演算処理
509 定時割込み処理(タスク0)
710 通信開始フラグ

【特許請求の範囲】
【請求項1】
内燃機関の吸気通路に挿入され吸入空気の物理量を検出する物理量検出手段と、
前記物理量を電気的に検出する物理量検出回路と、
前記物理量検出回路に接続され物理量情報をシリアル通信で送信するシリアル通信手段と、
前記シリアル通信を独立したクロック信号とデータ信号で行うクロック同期式のプロトコルと、
前記シリアル通信手段に接続され前記物理量情報を読み出すマイクロプロセッサと、
前記マイクロプロセッサから出力され検出した物理量の情報をパルス信号で出力する出力信号操作手段と、を備え、
ソフトウェアであって一定時間毎に割り込みで処理を実行する定時タスクと、
タイマ回路を利用して任意の時間後に割込みで処理を行い出力信号の操作を行うタイマタスクと、
前記割込み処理を実行していない間に処理を行うバックグランドジョブを具備し、
前記シリアル通信のクロック信号及びデータ信号をバックグランドジョブで操作し、
前記シリアル通信開始を示すシリアル通信開始フラグを定時タスクでセットし、
前記シリアル通信開始フラグの検査をバックグランドジョブで行いタイマタスクの割込み処理をシリアル通信実行中でも拒否しないことを特徴とする物理量検出装置。
【請求項2】
前記シリアル通信手段が互いに導体で接続され電圧レベルを操作するものであることを特徴とする請求項1記載の物理量検出装置。
【請求項3】
前記物理量検出装置は、湿度,温度,圧力,気体流量の少なくとも一つを検出するものであることを特徴とする請求項1記載の物理量検出装置。
【請求項4】
前記マイクロプロセッサが通信回路を具備しないことを特徴とする請求項1記載の物理量検出装置。
【請求項5】
前記マイクロプロセッサは、割込み処理中にさらに別の割込み処理を受け付ける機能を持たないことを特徴とする請求項1記載の物理量検出装置。
【請求項6】
前記シリアル通信手段のクロック信号の操作権がマイクロプロセッサ側だけであることを特徴とする請求項1記載の物理量検出装置。
【請求項7】
前記バックグランドジョブにおけるシリアル通信開始を示すシリアル通信開始フラグの検査が、電圧値または、電流値を予め決められたしきい値又は任意に変更できるしきい値との判定結果によるものであることを特徴とする請求項1記載の物理量検出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−168826(P2012−168826A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−30358(P2011−30358)
【出願日】平成23年2月16日(2011.2.16)
【出願人】(509186579)日立オートモティブシステムズ株式会社 (2,205)
【Fターム(参考)】