(57)【特許請求の範囲】
【請求項１】
物理量を検出するセンサとの間で双方向に通信する通信線と、
前記センサよりも高い動作電圧で動作し、前記センサが検出した物理量の値を前記通信線経由で取得する論理回路と、
前記センサとの間で信号を送受信する入出力回路と、
前記入出力回路が受信した信号を数値に変換するＡ／Ｄ変換器と、
前記論理回路が前記通信線を介して前記センサに対して出力する信号の電圧を減圧する減圧回路と、
を備え、
前記論理回路は、
所定の第１Ｈｉレベル閾値と第１Ｌｏレベル閾値にしたがって、前記Ａ／Ｄ変換器が数値に変換した前記信号がＨｉレベル信号であるかＬｏレベル信号であるかを判定する演算器を備え、
前記入出力回路と前記Ａ／Ｄ変換器は、
前記センサに対して互いに並列に接続されており、
前記演算器は、
前記通信線を介して前記物理量を記述した信号を前記センサから受信する際には、
前記第１Ｈｉレベル閾値と前記第１Ｌｏレベル閾値に代えて、前記演算器が実施する演算処理上で定められた第２Ｈｉレベル閾値と第２Ｌｏレベル閾値にしたがって、前記Ａ／Ｄ変換器が数値に変換した前記信号がＨｉレベル信号であるかＬｏレベル信号であるかを判定することにより、前記センサが送信した前記物理量の値を取得する
ことを特徴とする物理量検出装置。
【請求項２】
前記演算器は、前記第２Ｈｉレベル閾値と前記第２Ｌｏレベル閾値を異なる値とする
ことを特徴とする請求項１記載の物理量検出装置。
【請求項３】
前記演算器は、
前記センサから受信するＨｉレベル信号とＬｏレベル信号をそれぞれ記録し、
記録された前記Ｈｉレベル信号と前記Ｌｏレベル信号の間の値を、前記第２Ｈｉレベル閾値、前記第２Ｌｏレベル閾値、または前記第２Ｈｉレベル閾値と前記第２Ｌｏレベル閾値を兼ねた閾値として用いる
ことを特徴とする請求項１記載の物理量検出装置。
【請求項４】
前記演算器は、
前記記録されたＨｉレベル信号とＬｏレベル信号の移動平均、相加平均、加重平均、または二乗平均を、前記第２Ｈｉレベル閾値と前記第２Ｌｏレベル閾値を兼ねた閾値として用いる
ことを特徴とする請求項３記載の物理量検出装置。
【請求項５】
前記演算器は、
前記記録されたＨｉレベル信号とＬｏレベル信号の中間値を計算し、
前記中間値にオフセットを加算した値を前記第２Ｈｉレベル閾値とし、
前記中間値からオフセットを減算した値を前記第２Ｌｏレベル閾値とする
ことを特徴とする請求項３記載の物理量検出装置。
【請求項６】
前記演算器は、前記記録されたＨｉレベル信号とＬｏレベル信号の間の差分の絶対値が大きいほど前記オフセットを大きくする
ことを特徴とする請求項５記載の物理量検出装置。
【請求項７】
前記演算器は、
前記Ａ／Ｄ変換器が数値に変換した結果が前記第２Ｈｉレベル閾値と前記第２Ｌｏレベル閾値の間にある場合は、前記センサから前記信号を受信できなかったものとする
ことを特徴とする請求項５記載の物理量検出装置。
【請求項８】
前記演算器は、
前記センサから前記信号を受信する際に、同じ値に対するサンプリングを、互いに異なるタイミングで複数回実施する
ことを特徴とする請求項１記載の物理量検出装置。
【請求項９】
前記演算器は、
前記センサが送信したＨｉレベル信号をサンプリングする際の前記タイミングと、前記センサが送信したＬｏレベル信号をサンプリングする際の前記タイミングを、互いに異なるタイミングとする
ことを特徴とする請求項８記載の物理量検出装置。
【請求項１０】
前記演算器は、
各回の前記サンプリングによって取得した前記信号間の差分が所定値以上である場合は、前記タイミングを一時的に遅らせ、または前記サンプリングの周波数を一時的に下げて前記サンプリングを再試行する
ことを特徴とする請求項８記載の物理量検出装置。
【請求項１１】
前記演算器は、前記複数回のサンプリングの結果が互いに異なる場合は、前記センサから前記信号を受信できなかったものとする
ことを特徴とする請求項８記載の物理量検出装置。
【請求項１２】
前記論理回路は、前記Ａ／Ｄ変換器の入力端子と、前記論理回路の動作電源との間に接続されたプルアップ抵抗器を備えており、
前記減圧回路は、一端が前記プルアップ抵抗器に接続され、他端が接地されている
ことを特徴とする請求項１記載の物理量検出装置。
【請求項１３】
前記減圧回路は、前記センサと前記論理回路の間に配置された分圧抵抗として構成されている
ことを特徴とする請求項１記載の物理量検出装置。
【請求項１４】
前記論理回路は、Ｉ２Ｃ方式を用いて前記センサとの間で通信する
ことを特徴とする請求項１記載の物理量検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理量を検出するセンサと通信して検出結果を取得する物理量検出装置に関する。
【背景技術】
【０００２】
自動車、民生機器、産業機器などの制御や安全性確保のために、温度、圧力、流量などの各種の物理量を検出するセンサが使用されている。このようなセンサは、物理量を電気信号として取り出す物理量検出部、電気信号を所望の大きさまで増幅する増幅部、検出した物理量を外部に出力する出力信号変調部などを備える。一連の信号操作および信号処理は、マイクロプロセッサなどの論理回路によって実施される。自動車用途で使用されるマイクロプロセッサは、電源電圧変動や接地電位の変動に対応するため、５Ｖ程度の電圧で動作するものが多い。
【０００３】
物理量を検出する検出素子やその周辺回路は、半導体技術の進歩により、検出した物理量を単一の半導体基板上の回路でデジタル処理して数値化し、これらの情報をたとえばＩ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの少配線シリアル通信で上位の回路へ送出するようになってきている。Ｉ２Ｃなどの少配線シリアル通信は、通信における送信と受信を単一の配線上で交互に使用するため、配線数を減らし、ひいてはセンサ自体を小型化できるからである。
【０００４】
センサが検出結果を送信する際に用いる微弱信号を受信し、その微弱信号を解釈することにより物理量を検出する場合には、デジタル処理回路の発熱により、検出した物理量に誤差を生ずる場合がある。そのため、回路の動作電圧を下げて消費電流を下げ、発熱量を小さくする手法が広く取られている。このときのセンサの電源電圧はたとえば２〜３Ｖ付近の電圧が使用される。
【０００５】
これらのシリアル通信型のセンサとマイクロプロセッサを接続してセンサシステムを構成する場合は、上記のように電源電圧が異なる回路間で双方向のシリアル通信を行う必要があるため、一般には双方向レベルコンバーター回路が使用される。
【０００６】
下記特許文献１の図１では、５Ｖ側のマイコンの信号を分圧抵抗Ｒ２およびＲ３で分圧し、ダイオードＤ２を介して３．３Ｖ側のマイコンへ伝達する。３．３Ｖ側のマイコンからの信号は、ダイオードＤ１を介して５Ｖ側のマイコンへ伝達され、分圧抵抗Ｒ２およびＲ３は負荷抵抗として動作する。この回路構成の下では、５Ｖ側マイコンがハイレベルのとき３．３Ｖ側マイコンが２．２Ｖ以上３．３Ｖ未満になり、５Ｖ側マイコンがローレベルのとき、３．３Ｖ側マイコンもローレベルとなり、逆に３．３Ｖ側マイコンがハイレベルとなったときは５Ｖ側が３．５Ｖ以上、３．３Ｖ側マイコンがローレベルとなったときは５Ｖ側マイコンが１．５Ｖになる。これらの動作により、５Ｖ側マイコンと３．３Ｖ側マイコンの双方とも、ハイレベル信号とローレベル信号を認識することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１３３９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載されているような、半導体（同文献ではダイオードＤ１）を用いた双方向レベルコンバーター回路は、ローレベル側のしきい値余裕が不足する場合があり、また半導体を使用しない回路に比べ費用が増加する。その他、半導体部品を設けることにより、部品点数が増大して部品実装面積が増え、部品を実装する方向を適切に管理する作業負担が増加し、回路全体としての信頼性が低下し、高温動作に不利となるなどの課題がある。さらには、双方向レベルコンバーター回路によって対応できる低電圧側の電圧範囲が限られているため、検出値を誤認識するおそれがある。
【０００９】
本発明は、上記のような課題に鑑みてなされたものであり、センサと論理回路が異なる動作電圧で動作する物理量検出装置において、簡易な構成でセンサの検出結果を精度よく認識できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る物理量検出装置は、センサと論理回路が双方向通信線で接続され、互いに異なる動作電圧で動作するように構成されており、センサの検出結果を受信する際には、演算器が備えている第１Ｈｉ／Ｌｏレベル閾値に代えて、演算処理上で設定した第２Ｈｉ／Ｌｏレベル閾値を用いて、Ｈｉ／Ｌｏレベル信号を認識する。
【発明の効果】
【００１１】
本発明に係る物理量検出装置によれば、双方向通信線を介して受信した信号が本来のＨｉ／Ｌｏレベル閾値に達していない場合でも、その信号のＨｉ／Ｌｏレベルを精度よく認識することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態１に係る物理量検出装置１００およびセンサ２００の構成図である。
【図２】物理量検出装置１００とセンサ２００の間で送受信する各信号の電圧レベルを示す図である。
【図３】物理量検出装置１００からセンサ２００へ命令を送信する場合の動作を説明する図である。
【図４】センサ２００から物理量検出装置１００へ検出結果をデータ信号ＳＤＡ３０１として送信する場合の動作を説明する図である。
【図５】センサ２００がＬｏレベルのデータ信号ＳＤＡ３０１を出力するときの回路状態を示す図である。
【図６】センサ２００がＨｉレベルのデータ信号ＳＤＡ３０１を出力するときの回路状態を示す図である。
【図７】演算処理上で設定した第２Ｈｉレベル閾値ＶＩＨと第２Ｌｏレベル閾値ＶＩＬを用いて、信号のＨｉ／Ｌｏレベルを判定する様子を示す図である。
【図８】部品の個体差、温度変化、経時劣化などにより変動したＶｉｎ＿ｈｉとＶｉｎ＿ｌｏの関係を示す図である。
【図９】閾値Ｖｔｈを計算する手順を説明するものである。
【図１０】実施形態３において不感帯を計算する手順を説明する図である。
【図１１】実施形態４において演算回路１０３がデータ信号ＳＤＡ３０１をサンプリングするタイミングを説明する図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、センサの検出結果をＩ２Ｃ通信でマイコンやシステムＬＳＩなどのデジタル論理回路（総称して以降マイコン）との間で送受信する例を説明する。検出する物理量がいかなるものであっても、Ｉ２Ｃ以外の通信規格であっても本発明の効果は同様である。
【００１４】
＜実施の形態１＞
図１は、本発明の実施形態１に係る物理量検出装置１００およびセンサ２００の構成図である。物理量検出装置１００は、センサ２００が検出した物理量の検出結果を、Ｉ２Ｃバス３００を介して受信し、その検出結果を取得する装置である。物理量検出装置１００は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算回路１０３を搭載したマイコンによって構成することができるが、同等の機能を備えていればこれに限られるものではない。
【００１５】
物理量検出装置１００は、５Ｖの電源電圧を用いて動作する装置であり、汎用入出力回路１０１および１０２、演算回路１０３、Ａ／Ｄ変換器１０４、スイッチ１０５、プルアップ抵抗１０６、データ分圧抵抗１０７および１０８、クロック分圧抵抗１０９および１１０を備える。
【００１６】
汎用入出力回路１０１は、センサ２００との間で後述するデータ信号ＳＤＡ３０１を送受信するための回路であり、演算回路１０３からの指令にしたがって入力と出力を切り替えることができる。汎用入出力回路１０１が入力に切り替わったとき、スイッチ１０５がＯＮになり、プルアップ抵抗１０６と５Ｖ電源が接続される。
【００１７】
汎用入出力回路１０２は、センサ２００との間で後述するクロック信号ＳＣＫ３０２を送受信するための回路であり、演算回路１０３からの指令にしたがって入力と出力を切り替えることができる。
【００１８】
演算回路１０３は、例えばＣＰＵなどの論理演算を実施する演算器を備えており、汎用入出力回路１０１を介してセンサ２００に対してデータ信号ＳＤＡ３０１を送信し、汎用入出力回路１０２を介してセンサ２００に対してクロック信号ＳＣＫ３０２を送信する。また、汎用入出力回路１０１およびＡ／Ｄ変換器１０４を介してセンサ２００からデータ信号ＳＤＡ３０１を受信する。これらの動作については後に詳述する。
【００１９】
Ａ／Ｄ変換器１０４は、センサ２００に対して汎用入出力回路１０１と並列に接続されており、センサ２００が送信したデータ信号ＳＤＡ３０１の電圧レベルを数値に変換して演算回路１０３に出力する。汎用入出回路１０１がセンサ２００に対してデータ信号ＳＤＡ３０１を送信する際には、Ａ／Ｄ変換器１０４にもデータ信号ＳＤＡ３０１が入力される。これらの動作については後に詳述する。
【００２０】
プルアップ抵抗１０６は、スイッチ１０５がＯＮになったとき物理量検出装置１００の電源に接続される。これによりセンサ２００が送信したデータ信号ＳＤＡ３０１がプルアップされる。このような内蔵プルアップ抵抗は近年のマイコンに標準的に具備されている機能である。プルアップ抵抗１０６は半導体プロセスを利用して製造された抵抗なので抵抗値は数十ｋΩ程度であることが一般的である。
【００２１】
データ分圧抵抗１０７と１０８は、物理量検出装置１００からセンサ２００へデータ信号ＳＤＡ３０１を送信する際に、電圧レベルを分圧するための抵抗である。クロック分圧抵抗１０９と１１０は、物理量検出装置１００からセンサ２００へクロック信号ＳＣＫ３０２を送信する際に、電圧レベルを分圧するための抵抗である。物理量検出装置１００とセンサ２００は、データ分圧抵抗１０７と１０８、およびクロック分圧抵抗１０９と１１０を介して、同じ電位に接地されている。
【００２２】
センサ２００は、物理量検出装置１００の電源電圧よりも低い、例えば２．５Ｖの電源電圧を用いて動作する装置であり、Ｉ２Ｃバス３００を介して物理量検出装置１００と電気的に接続されている。センサ２００は、検出部２０１、演算回路２０２、通信回路２０３を備える。
【００２３】
検出部２０１は、物理量を検出してその結果を電気信号などに変換する素子である。演算回路２０２は、検出部２０１の検出結果を例えばパルス変調などによってデジタルデータに変換し、通信回路２０３およびＩ２Ｃバス３００を介して、データ信号ＳＤＡ３０１として物理量検出装置１００へ送信する。
【００２４】
Ｉ２Ｃ通信においては、送受信側双方が同一の電源電圧の下で通信することが望ましいが、センサなどの低電圧回路が接続されている場合は、通信信号の電圧レベルを変換することが必要になる。これは演算回路１０３などのデジタル回路が、その動作電圧によって決まるＨｉレベル閾値とＬｏレベル閾値を用いて、通信信号の論理レベル、すなわちその信号がハイレベル信号であるかローレベル信号であるかを判別するからである。これらの閾値のことを、演算回路１０３が本来備えている判別閾値として、第１Ｈｉレベル閾値および第１Ｌｏレベル閾値とする。
【００２５】
Ｉ２Ｃの場合、クロック信号ＳＣＫ３０２は常に物理量検出装置１００からセンサ２００へ出力される信号であるため、クロック分圧抵抗１０９と１１０でクロック信号ＳＣＫ３０２の電圧レベルを分圧することにより、センサ２００にとって所望の電圧レベルへ変換することができる。これは物理量検出装置１００のほうがセンサ２００よりも高い電源電圧で動作しているからである。同様に双方向データ信号であるデータ信号ＳＤＡ３０１も、データ分圧抵抗１０７と１０８で電圧レベルを分圧することにより、センサ２００にとって所望の電圧レベルへ変換することができる。
【００２６】
図２は、物理量検出装置１００とセンサ２００の間で送受信する各信号の電圧レベルを示す図である。ここでは、物理量検出装置１００からセンサ２００へ計測開始の命令を送信し、センサ２００が計測結果を物理量検出装置１００へ返信するときの動作を示す。図２の右図は図１の略図、図２の左上図は各分圧抵抗よりも物理量検出装置１００に近い位置における信号波形、図２の左下図は各分圧抵抗よりもセンサ２００に近い位置における信号波形、図２の左中図は左上図の円で囲んだ部分を拡大した図である。
【００２７】
クロック信号ＳＣＫ３０２は、物理量検出装置１００からセンサ２００へ送信される。送信時点の電圧レベルは５Ｖであるが、クロック分圧抵抗１０９と１１０によって減圧され、センサ２００に到達する時点ではセンサ２００の動作電圧である２．５Ｖとなっている。データ信号ＳＤＡ３０１についても同様である。ただしデータ信号ＳＤＡ３０１はセンサ２００から物理量検出装置１００へ送信される場合もある。端子１１１にデータ信号ＳＤＡ３０１が到着した時点の電圧レベルは、第１Ｈｉレベル閾値ＶＩＨと第１Ｌｏレベル閾値ＶＩＬの中間の値となっているため、そのままでは演算回路１０３はデータ信号ＳＤＡ３０１の論理値を識別できない。以下、図２の詳細についてさらに説明する。
【００２８】
図３は、物理量検出装置１００からセンサ２００へ命令を送信する場合の動作を説明する図である。図３中の太線で示した経路は、本図において信号が送受信される経路を示している。
【００２９】
演算回路１０３は、クロック信号ＳＣＫ３０２の信号エッジに同期してデータ信号ＳＤＡ３０１の電位を操作することにより、シリアルデータをセンサ２００へ送信する。クロック信号ＳＣＫ３０２は常に物理量検出装置１００から出力されるので、汎用入出力回路１０２から５Ｖのクロック信号ＳＣＫ３０２を出力すれば、分圧されたクロック信号ＳＣＫ３０２は常にセンサ２００側の動作電圧振幅（本実施形態１では２．５Ｖ付近）で動作する。データ信号ＳＤＡ３０１も同様に汎用入出回路１０１から５Ｖの電圧レベルで出力すれば、センサ２００側では２．５Ｖ付近の振幅となり、センサ２００は問題なく命令を受信することができる。
【００３０】
図４は、センサ２００から物理量検出装置１００へ検出結果をデータ信号ＳＤＡ３０１として送信する場合の動作を説明する図である。図４中の太線で示した経路は、本図において信号が送受信される経路を示している。
【００３１】
本図において、通信回路２０３のＳＤＡ端子が出力端子に切り替わり、汎用入出力回路１０１はデータ信号ＳＤＡ３０１の受信に備え入力に切り替わる。また、低い動作電圧のセンサ２００から高い動作電圧の物理量検出装置１００へ信号を送信しなければならないので、演算回路１０３はスイッチ１０５をＯＮにしてプルアップ抵抗１０６を端子１１１に接続し、データ信号ＳＤＡ３０１の電圧レベルをプルアップする。通信回路２０３の出力回路は例えばオープンドレイン（コレクタ）であり、出力端子を単に接地側に接続する機能しかないため、データ信号ＳＤＡ３０１の電圧レベルを引き上げるのはプルアップ抵抗１０６である。この構成によれば、通信回路２０３がデータ信号ＳＤＡ３０１をオープンドレイン駆動することにより、データ信号ＳＤＡ３０１の電圧レベルを変化させることができる。
【００３２】
図５は、センサ２００がＬｏレベルのデータ信号ＳＤＡ３０１を出力するときの回路状態を示す図である。通信回路２０３は、出力端子がオープンドレイン回路となり、トランジスタ２０３１が接地側に接続される。一般に半導体スイッチはある程度の回路抵抗を持つため、トランジスタ２０３１の回路抵抗をＲｐｄとした。データ分圧抵抗１０７と１０８の抵抗値はＲとする。一方、汎用入出力回路１０１の端子１１１はプルアップ抵抗１０６（抵抗値＝Ｒｐｕ）を介して動作電源ＶＤＤに接続されている。端子１１１の電位Ｖｉｎ＿ｌｏは下記式１のようになる。
【００３３】
【数１】
0005680572.tif 000002
【００３４】
本実施形態１では物理量検出装置１００の動作電圧がセンサ２００の動作電圧の約２倍なのでデータ分圧抵抗１０７と１０８それぞれの抵抗値は同じ値としたが、物理量検出装置１００からセンサ２００へデータ信号ＳＤＡ３０１を送信するときにデータ信号ＳＤＡ３０１の信号振幅が物理量検出装置１００の動作可能範囲になれば、これに限られるものではない。
【００３５】
上記式１において、プルアップ抵抗１０６＝４０ｋΩ、Ｒ＝１０ｋΩとすると、センサ２００がＬｏレベルのデータ信号ＳＤＡ３０１を出力しても、入力端子１１１の電圧は１Ｖ付近までしか下がらないことが分かる。動作電圧が５Ｖである演算回路１０３のＬｏレベル閾値ＶＩＨは約１．７Ｖ付近なので、当該信号がＬｏレベル信号であることを一応は判定できる電圧レベルであるが、十分な余裕があるとはいえない。
【００３６】
図６は、センサ２００がＨｉレベルのデータ信号ＳＤＡ３０１を出力するときの回路状態を示す図である。通信回路２０３は、出力端子がオープンであり、データ信号ＳＤＡ３０１の電位はセンサ２００側に依存しない。このときの端子１１１の電位Ｖｉｎ＿ｈｉは、プルアップ抵抗１０６、データ分圧抵抗１０７および１０８で分圧された電位となり、下記式２で表される。
【００３７】
【数２】
0005680572.tif 000003
【００３８】
上記式２において、式１と同様の定数を用いると、センサがＨｉレベルのデータ信号ＳＤＡ３０１を出力しても、入力端子１１１の電圧は１．７５Ｖ付近にしかならず、演算回路１０３のＨｉレベル閾値ＶＩＨである約３．５Ｖに達しない。これは演算回路１０３がＨｉレベル信号を認識できないことを意味し、ＨｉレベルでもＬｏレベルでもないデジタル回路では使用してはならない電位である。
【００３９】
式１と式２において、現実的にパラメータを変更可能なデータ分圧抵抗１０７と１０８をどのような値にしても、演算回路１０３のＨｉレベル閾値ＶＩＨとＬｏレベル閾値ＶＩＬを満足する定数はない。つまり、図１に示す回路構成のみではデータ信号ＳＤＡ３０１を双方向通信のために用いることができない。
【００４０】
そこで本実施形態１では、物理量検出装置１００からセンサ２００へ信号を送信する際には第１Ｈｉレベル閾値ＶＩＨと第１Ｌｏレベル閾値ＶＩＬを使用し、センサ２００から物理量検出装置１００へ信号を送信する際にはソフトウェア上で定めた第２Ｈｉレベル閾値と第２Ｌｏレベル閾値を使用することとした。これにより、センサ２００から物理量検出装置１００へ送信された信号の電圧レベルが各閾値に達していない場合でも、双方向通信ができるようにすることを図る。
【００４１】
上記を実現するため、本実施形態１では汎用入出力回路１０１の端子１１１とＡ／Ｄ変換器１０４をセンサ２００に対して並列に接続し、物理量検出装置１００とセンサ２００の間で送受信する信号がＡ／Ｄ変換器１０４にも入力されるようにする。Ａ／Ｄ変換器１０４は、物理量検出装置１００からセンサ２００へ信号を送信するときは、単に接続されているだけである。センサ２００から物理量検出装置１００へ信号を送信するときは、演算回路１０３がクロック信号ＳＣＫ３０２を操作するタイミングに同期して、Ａ／Ｄ変換器１０４がデータ信号ＳＤＡ３０１の電位をＡ／Ｄ変換することにより数値に変換し、演算回路１０３に出力する。
【００４２】
図７は、演算回路１０３が演算処理上で設定した第２Ｈｉレベル閾値ＶＩＨと第２Ｌｏレベル閾値ＶＩＬを用いて、信号のＨｉ／Ｌｏレベルを判定する様子を示す図である。演算回路１０３は、Ａ／Ｄ変換器１０４によって数値に変換された値が第２Ｈｉレベル閾値ＶＩＨより大きければその信号はＨｉレベル信号であり、第２Ｌｏレベル閾値ＶＩＬより小さければその信号はＬｏレベル信号であると判定する。
【００４３】
図７に示すような第２Ｈｉレベル閾値ＶＩＨと第２Ｌｏレベル閾値ＶＩＬをソフトウェアによって実施した場合、センサ２００から受信したデータ信号ＳＤＡ３０１と各閾値を比較する判定処理にある程度の時間がかかる。しかし、センサ２００から送信されるデータ信号ＳＤＡ３０１は演算回路１０３が出力するクロック信号ＳＣＫ３０２に同期して変化するため、クロック信号ＳＣＫ３０２のタイミングをソフトウェアの判定処理に合わせて操作すれば、クロック信号ＳＣＫ３０２に対するデータ信号ＳＤＡ３０１の論理値はクロック信号ＳＣＫ３０２のタイミングによって左右されない。つまり物理量検出装置１００は、センサ２００から正しいデータ信号ＳＤＡ３０１を受信できる。しかもソフトウェア上の閾値は任意に設定できるため、センサ２００と物理量検出装置１００の動作電圧の相違、プルアップ抵抗１０６の抵抗値、その他パラメータの任意の組み合せなどにも柔軟に適応させることができる。
【００４４】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係る物理量検出装置１００は、センサ２００からデータ信号ＳＤＡ３０１を受信するときは、第１Ｈｉレベル閾値と第１Ｌｏレベル閾値に代えてソフトウェア処理上で設定した第２Ｈｉレベル閾値と第２Ｌｏレベル閾値を用いて、データ信号ＳＤＡ３０１のＨｉ／Ｌｏレベルを判定する。これにより、汎用的なマイコンが通常備えている機能と抵抗器のみで、電源電圧の異なるセンサ２００との間で双方向通信をすることができる。したがって、特許文献１に記載されているような半導体を用いた双方向レベルコンバーターが不要となり、安価に通信回路を構成できる。また、抵抗器とソフトウェアだけで通信が実現できるため回路の信頼性を高めることができ、抵抗器や回路特性のばらつきによる影響も低減することができる。ひいては機器全体を安価に構成し、高い信頼性を得ることができる。
【００４５】
＜実施の形態２＞
実施形態１では、演算回路１０３がソフトウェア上で設定したＨｉ／Ｌｏレベル閾値を用いて、データ信号ＳＤＡ３０１のＨｉ／Ｌｏレベルを判定することを説明した。本発明の実施形態２では、データ信号ＳＤＡ３０１の電圧レベル変動に応じて、Ｈｉ／Ｌｏレベルを判定するための閾値を変化させる動作例を説明する。各機器の構成は実施形態１と同様であるため、以下では差異点を中心に説明する。
【００４６】
図８は、プルアップ抵抗１０６、各分圧抵抗、Ａ／Ｄ変換器１０４の基準電圧などが、部品の個体差、温度変化、経時劣化などにより変動した場合のＶｉｎ＿ｈｉとＶｉｎ＿ｌｏの関係を示す図である。縦軸は端子１１１の電位（Ａ／Ｄ変換される電圧）、横軸は温度変化や個体差による各パラメータの変化量を模式的に示したものである。特性１１０１はＡ／Ｄ変換器１０４の基準電圧ばらつきを示したものであり、この値もソフトウェアによる論理判定を実施する際に誤差要因として関与する。
【００４７】
図８から判るように、回路定数の変化によって最適なしきい値は異なり、さらに温度などの外部要因によって物理量検出装置１００およびセンサ２００の動作中であってもこれが変動する。実施形態１で説明したＶｉｎ＿ｈｉと電圧Ｖin_ｌｏの間の差は１Ｖ程度と小さいため、単一の閾値でソフトウェアによる論理判定を実施すると誤判定する可能性がある。そこで図８に示すように、Ｖｉｎ＿ｈｉとＶｉｎ＿ｌｏの変動に併せて推奨ソフトウェア閾値のＶｔｈも変化させることが望ましいと考えられる。第２Ｈｉレベル閾値ＶＩＨと第２Ｌｏレベル閾値ＶＩＬをともに変化させることも考えられるが、本実施形態１では単一の閾値ＶｔｈによってＨｉ／Ｌｏレベルを判定するものとする。
【００４８】
図９は、閾値Ｖｔｈを計算する手順を説明するものである。Ｖｉｎ＿ｈｉと電圧Ｖｉｎ＿ｌｏの変動に併せて閾値Ｖｔｈを調整するためには、Ｖｉｎ＿ｈｉとＶｉｎ＿ｌｏそれぞれの平均値を経常的に計算し、閾値Ｖｔｈをそれらの間の値に設定すればよい。そこで演算回路１０３は、Ｈｉレベルのデータ信号ＳＤＡ３０１とＬｏレベルのデータ信号ＳＤＡ３０１それぞれのＡ／Ｄ変換結果を個別に記録する。記録先は、例えば演算回路１０３が備えているメモリなどの記憶装置にすればよい。
【００４９】
演算回路１０３は、下記式３と式４に示すようにこれらの記録値をそれぞれ加算した上で、それぞれ独立して平滑処理（例えば移動平均、相加平均、加重平均、二乗平均など）する。演算回路１０３は、下記式５によってＶｉｎ＿ｈｉとＶｉｎ＿ｌｏの中間値として閾値Ｖｔｈを計算する。
【００５０】
【数３】
0005680572.tif 000004
【００５１】
上記説明では、Ｖｉｎ＿ｈｉとＶｉｎ＿ｌｏをバッファに蓄積して平均処理することを説明したが、前回値のみを記録するだけの単一バッファでもよい。また、Ｖｉｎ＿ｈｉとＶｉｎ＿ｌｏの差分を学習し、これらの中間値を閾値Ｖｔｈとしてもよいし、起動時のみ学習を実施するようにしてもよい。
【００５２】
＜実施の形態２：まとめ＞
以上のように、本実施形態２に係る物理量検出装置１００は、データ信号ＳＤＡ３０１のＨｉ／Ｌｏレベルを判定するための閾値Ｖｔｈを、過去のＨｉ／Ｌｏレベルそれぞれのデータ信号ＳＤＡ３０１を蓄積して平均することにより計算する。これにより、温度変化などの要因によってＶｉｎ＿ｈｉとＶｉｎ＿ｌｏが変動しても、常に最適な閾値でＨｉ／Ｌｏレベルを判定することができる。
【００５３】
＜実施の形態３＞
実施形態２では単一の閾値Ｖｔｈを用いてＨｉ／Ｌｏレベルを判定することを説明した。本発明の実施形態３では、閾値Ｖｔｈの上下に不感帯を設け、データ信号ＳＤＡ３０１のＡ／Ｄ変換結果が不感帯に入っている場合は通信エラーとする動作例を説明する。各機器の構成は実施形態１〜２と同様であるため、以下では差異点を中心に説明する。
【００５４】
図１０は、本実施形態３において不感帯を計算する手順を説明する図である。不感帯は、実施形態２で説明した閾値Ｖｔｈを上下にオフセットさせることによって計算することができる。具体的には、下記式６に示すように閾値Ｖｔｈの値に応じてオフセット幅Ｖｏｆｓ＿ｈｉ／ｌｏを計算してもよいし、下記式７に示すようにＶｉｎ＿ｈｉとＶｉｎ＿ｌｏの差分Ｖｐｐに応じてオフセット幅Ｖｏｆｓ＿ｈｉ／ｌｏを計算してもよい。関数ｆは、閾値Ｖｔｈまたは差分Ｖｐｐが小さくなるとオフセット幅Ｖｏｆｓ＿ｈｉ／ｌｏが小さくなり、閾値Ｖｔｈまたは差分Ｖｐｐが大きくなるとオフセット幅Ｖｏｆｓ＿ｈｉ／ｌｏが大きくなるように構成された関数である。
【００５５】
【数４】
0005680572.tif 000005
【００５６】
演算回路１０３は、データ信号ＳＤＡ３０１をＡ／Ｄ変換した結果が不感帯に入っている場合は、その信号を通信エラーとして処理する。
【００５７】
＜実施の形態３：まとめ＞
以上のように、本実施形態３に係る物理量検出装置１００によれば、不感帯を設けることによってさらに柔軟な論理判定が可能になり、電気的ノイズなどの外乱に対する冗長性が確保できる。また、Ｖｐｐの値を評価することで信号が十分な振幅を持っているかなどの診断も可能になり、センサ全体としての故障検出性能を向上することができる。これら不感帯の大きさや計算方法が変わっても本発明の効果は同様である。
【００５８】
＜実施の形態４＞
本発明の実施形態４では、演算回路１０３がデータ信号ＳＤＡ３０１をサンプリングするタイミングを調整する動作例について説明する。各機器の構成は実施形態１〜３と同様であるため、以下では差異点を中心に説明する。
【００５９】
図１１は、本実施形態４において演算回路１０３がデータ信号ＳＤＡ３０１をサンプリングするタイミングを説明する図である。黒丸１１０１と１１０２は、Ｈｉレベルのデータ信号ＳＤＡ３０１をサンプリングするタイミングを示す。黒丸１１０３と１１０４は、Ｌｏレベルのデータ信号ＳＤＡ３０１をサンプリングするタイミングを示す。ディレイＴｄｌｙ＿ｈｉは、クロック信号ＳＣＫ３０２の立ち下がりタイミングから演算回路１０３がＨｉレベルのデータ信号ＳＤＡ３０１をサンプリングするタイミングまでのディレイ時間である。ディレイＴｄｌｙ＿ｌｏは、クロック信号ＳＣＫ３０２の立ち下がりタイミングから演算回路１０３がＬｏレベルのデータ信号ＳＤＡ３０１をサンプリングするタイミングまでのディレイ時間である。
【００６０】
実施形態１〜３では、演算回路１０３はクロック信号ＳＣＫ３０２の立ち下がりタイミングでデータ信号ＳＤＡ３０１をサンプリングすることを想定していたが、回路の寄生容量などの影響によってデータ信号ＳＤＡ３０１の立ち上がりエッジが鈍っているような場合は、クロック信号ＳＣＫ３０２の立ち下がりタイミングからやや遅れてサンプリングを実施した方が望ましい場合がある。そこで本実施形態４では、上記ディレイＴｄｌｙ＿ｈｉとＴｄｌｙ＿ｌｏを設けることとした。
【００６１】
ディレイ時間を２種類設けているのは、Ｈｉレベル信号とＬｏレベル信号では抵抗値や寄生容量がデータ信号ＳＤＡ３０１の波形に与える影響が異なるからである。そこでＨｉレベル信号をサンプリングするタイミングとＬｏレベルデータ信号をサンプリングするタイミングが互いに異なるように、２種類のディレイ時間を設けることとした。
【００６２】
実際にデータ信号ＳＤＡ３０１の波形が鈍っている場合、波形が平坦になった時点でサンプリングを実施したのか否かは、直後の値を別途サンプリングしないと分からない。そこで演算回路１０３は、サンプリングを２回以上実施し、（ａ）いずれもＨｉレベルであった場合はその信号がＨｉレベル信号であると判定し、（ｂ）いずれもＬｏレベルであった場合はその信号がＬｏレベル信号であると判定し、（ｃ）各回のＨｉ／Ｌｏレベルが一致しない場合は通信エラーとして処理する。
【００６３】
各回のサンプリング結果（例えば黒丸１１０１と１１０２）の間に所定電圧値以上の電圧差がある場合は、データ信号ＳＤＡ３０１が鈍って立ち上がりまたは立ち下がっている可能性がある。この場合は、波形が鈍っていることを見越して、次回以降の各回のサンプリング間隔（例えば黒丸１１０１と１１０２の間隔）を広げ、サンプリングの確実性を向上させるようにしてもよい。次回以降のサンプリング周波数を下げても同様の効果を発揮することができる。サンプリングタイミングやサンプリング周期を一時的に変更して各回のサンプリング結果を比較した後、これら結果が一致していれば、変更したサンプリングタイミングやサンプリング周期を元に戻してもよい。
【００６４】
＜実施の形態４：まとめ＞
以上のように、本実施形態４に係る物理量検出装置１００は、同じ値のデータ信号ＳＤＡ３０１に対してサンプリングを複数回実施し、各回のサンプリング結果を比較してサンプリングタイミングを調整する。これにより、データ信号ＳＤＡ３０１の波形が鈍っている場合でも、サンプリングタイミングを適切に設定することにより確実にデータ信号ＳＤＡ３０１の値を取得することができる。
【００６５】
＜実施の形態５＞
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【００６６】
例えば、実施形態１〜４では物理量検出装置１００とセンサ２００がＩ２Ｃ通信方式を用いて通信することを説明したが、これら機器の動作電圧が異なり信号電圧レベルが相違する場合には、本発明と同様の構成を採用して同様の効果を発揮することができる。また分圧抵抗を用いて通信信号の電圧レベルを下げることを説明したが、電圧レベルを下げることができる回路などを用いても、同様の機能を発揮することができる。
【００６７】
また、上記各構成、機能、処理部などは、それらの全部または一部を、例えば集積回路で設計することによりハードウェアとして実現することもできるし、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアとして実現することもできる。各機能を実現するプログラム、テーブルなどの情報は、メモリやハードディスクなどの記憶装置、ＩＣカード、ＤＶＤなどの記憶媒体に格納することができる。
【符号の説明】
【００６８】
１００：物理量検出装置、１０１および１０２：汎用入出力回路、１０３：演算回路、１０４：Ａ／Ｄ変換器、１０５：スイッチ、１０６：プルアップ抵抗、１０７および１０８：データ分圧抵抗、１０９および１１０：クロック分圧抵抗、２００：センサ、２０１：検出部、２０２：演算回路、２０３：通信回路、３００：Ｉ２Ｃバス、３０１：データ信号ＳＤＡ、３０２：クロック信号ＳＣＫ。
【図１】
0005680572.tif 000006
【図２】
0005680572.tif 000007
【図３】
0005680572.tif 000008
【図４】
0005680572.tif 000009
【図５】
0005680572.tif 000010
【図６】
0005680572.tif 000011
【図７】
0005680572.tif 000012
【図８】
0005680572.tif 000013
【図９】
0005680572.tif 000014
【図１０】
0005680572.tif 000015
【図１１】
0005680572.tif 000016