(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、信頼性の高い通信を行うためには、マスター装置からのコマンド信号の適否判定、すなわちコマンド信号にエラーがあるかどうかを判定することが好ましい。そして、コマンド信号にエラーがあった場合、高速なデータ通信システムの実現のためには、スレーブ装置が直ちにマスター装置へと通知することが好ましい。マスター装置がエラーの通知を直ちに受ければ、例えば再送等の対応が可能になるからである。しかし、I
2Cバス通信プロトコルに従う従来の通信では、マスター装置からエラーの有無を判定するためのコマンド信号を新たに受け取らない限り、スレーブ装置はマスター装置へとエラーがあったことを通知することはできなかった。
【0007】
本発明は、以上の事を鑑みてなされたものであり、本発明のいくつかの態様によれば、マスタースレーブ方式による通信プロトコルに基づいてデータ通信を行い、コマンド信号の異常を直ちにマスター装置へと通知することができる通信回路、物理量測定装置、電子機器、移動体、通信方法等を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は前述の課題の少なくとも一部を解決するためになされたものであり、以下の態様又は適用例として実現することが可能である。
【0009】
[適用例1]
本適用例に係る通信回路は、データ信号が入力される入力部と、前記データ信号が入力された場合に、応答信号を出力する出力部と、前記データ信号に含まれるコマンド信号の適否判定を行うコマンド判定部と、を含み、前記適否判定により前記コマンド信号が適切でないと判定された場合に、前記出力部は前記応答信号として否定応答信号を出力する。
【0010】
本適用例に係る通信回路は、マスター装置からコマンド信号を受け取るスレーブ装置の通信回路である。そして、本適用例に係る通信回路は入力部、出力部、およびコマンド判定部を含む。コマンド判定部はコマンド信号の適否判定を行う。例えば、コマンド信号のコード(‘0’と‘1’の組み合わせ)が仕様に定められたものか否かを判定する。
【0011】
出力部は、コマンド信号の適否判定の結果、すなわち、判定部による否定応答信号をマスター装置に出力する。
【0012】
このとき、マスター装置は、コマンド信号の出力の直後にコマンド信号が適切でないことを、本適用例に係る通信回路からの否定応答信号によって直ちに知ることができる。そのため、例えばコマンド信号のコードが誤っていた場合には、マスター装置は、コマンド信号のコードを訂正しての再送等の対応をとることが可能である。このとき、マスター装置は、別途コマンド信号の適否判定を実行させるコマンド信号を出力する必要はなく、応答が早い通信を実現できる。
【0013】
つまり、本適用例に係る通信回路は、マスタースレーブ方式による通信プロトコルに基づいてデータ通信を行いながらも、コマンド信号の異常を直ちにマスター装置へと通知することができる。
【0014】
[適用例2]
本適用例に係る通信回路は、データ信号が入力される入力部と、前記入力に連続して、応答信号を出力する出力部と、前記データ信号に含まれるコマンド信号の適否判定を行うコマンド判定部と、を含み、前記適否判定により前記コマンド信号が適切でないと判定された場合に、前記出力部は前記応答信号として否定応答信号を出力する、通信回路。
【0015】
本適用例に係る通信回路は、入力に連続して、コマンド信号の適否判定の結果、すなわち、判定部による否定応答信号を直ちにマスター装置に出力する。
【0016】
このとき、マスター装置は、コマンド信号の出力の直後にコマンド信号が適切でないことを、本適用例に係る通信回路からの否定応答信号によって直ちに知ることができる。そのため、例えばコマンド信号のコードが誤っていた場合には、マスター装置は、コマンド信号のコードを訂正しての再送等の対応をとることが可能である。このとき、マスター装置は、別途コマンド信号の適否判定を実行させるコマンド信号を出力する必要はなく、応答が早い通信を実現できる。
【0017】
つまり、本適用例に係る通信回路は、マスタースレーブ方式による通信プロトコルに基づいてデータ通信を行いながらも、コマンド信号の異常を直ちにマスター装置へと通知することができる。
【0018】
[適用例3]
上記適用例に係る通信回路において、存在しないレジスターアドレスを前記コマンド信号が指定している場合に、前記出力部は、前記否定応答信号を出力してもよい。
【0019】
[適用例4]
上記適用例に係る通信回路において、連結コマンドを構成する複数のコマンド信号の適切な順番と異なる順番で、前記入力部に前記コマンド信号が入力された場合に、前記出力部は前記否定応答信号を出力してもよい。
【0020】
[適用例5]
上記適用例に係る通信回路において、前記連結コマンド信号がソフトウェアリセット信号であってもよい。
【0021】
[適用例6]
上記適用例に係る通信回路において、前記連結コマンド信号は、検査用コマンド信号であってもよい。
【0022】
本適用例に係る通信回路において、コマンド判定部は、コマンド信号の適否判定として、コマンド信号が存在しないレジスターアドレスを指定している場合に、適切でないとの判定を行ってもよい。また、コマンド判定部は、例えばソフトウェアリセット等で誤認識を防止するために用いられる連結コマンド信号の一部のコマンド信号を、適切な順番と異なる順番で入力された場合に、適切でないとの判定を行ってもよい。また、コマンド判定部は、検査用コマンド信号の一部のコマンド信号を、適切な順番と異なる順番で受け取った場合に、適切でないとの判定を行ってもよい。そして、出力部は、コマンド判定部が受け取ったコマンド信号を適切でないと判定した場合に否定応答信号をマスター装置に出力してもよい。
【0023】
このとき、本適用例に係る通信回路は、例えばスレーブアドレスの不一致等で否定応答信号を出力するだけでなく、コマンド信号のコードの異常、コマンド信号を受け取る順番についての異常を検出した場合にも否定応答信号を出力する。そのため、本適用例に係る通信回路は、コマンド信号の異常を直ちにマスター装置へと通知することができ、応答が早い通信を実現できる。
【0024】
[適用例7]
上記適用例に係る通信回路において、前記コマンド判定部は、前記コマンド信号により決定されるモードと、前記コマンド信号とに基づいて前記適否判定を行ってもよい。
【0025】
本適用例に係る通信回路において、コマンド判定部は、実行中の前記コマンド信号の種類で決まるモードを備える。そして、モードと受け取ったコマンド信号の種類とに基づいて適否判定を効率的に行うことができる。
【0026】
例えば、コマンド判定部は、スレーブ装置のレジスターのデータを読み出すコマンド信号(以下、レジスターリードコマンド信号)に対応するモード(以下、第1モードとする)と、検査用コマンド信号に対応するモード(以下、第2モードとする)とを、動作モード(単にモードとも表す)として選択できるとする。コマンド判定部のモードが、第1モードにセットされている場合に、検査用データの出力を要求するコマンド信号(検査用コマンド信号の1つ)を受け取ったとする。このとき、判定部は、当該コマンド信号が、第2モードの場合に受け取るべきコマンド信号であり、現在の第1モードと適合しないことから、受け取ったコマンド信号が適切でないと判断できる。この例のように、本適用例に係る通信回路は、モードとコマンド信号の種類に基づいて適否判定を効率的に行うことができる。
【0027】
[適用例8]
上記適用例に係る通信回路において、前記適否判定により前記コマンド信号が適切であると判定された場合に、前記出力部は、前記応答信号として肯定応答信号を出力してもよい。
【0028】
[適用例9]
上記適用例に係る通信回路において、前記入力部は、I
2C通信プロトコルに従って前記入力を行い、前記肯定応答信号は、前記I
2C通信プロトコルのACK信号であり、前記否定応答信号は、前記I
2C通信プロトコルのNACK信号であってもよい。
【0029】
本適用例に係る通信回路は、出力部は、コマンド信号の適否判定の結果、すなわち、判定部による適切であるまたは適切でないとの判定に応じて肯定応答信号、または否定応答信号をマスター装置に出力する。
【0030】
このとき、マスター装置は、例えば半二重通信のI
2Cバス通信プロトコルに従う場合でも、コマンド信号の出力の直後にコマンド信号が適切でないことを、本適用例に係る通信回路からの肯定応答信号(たとえば、I
2Cバス通信プロトコルのACK信号)または否定応答信号(たとえば、I
2Cバス通信プロトコルのNACK信号)によって直ちに知ることができる。そのため、例えばコマンド信号のコードが誤っていた場合には、マスター装置は、コマンド信号のコードを訂正しての再送等の対応をとることが可能である。このとき、マスター装置は、別途コマンド信号の適否判定を実行させるコマンド信号を出力する必要はなく、応答が早い通信を実現できる。
【0031】
つまり、本適用例に係る通信回路は、マスタースレーブ方式による通信プロトコルに基づいてデータ通信を行いながらも、コマンド信号の異常を直ちにマスター装置へと通知することができる。
【0032】
[適用例10]
本適用例に係る物理量測定装置は、前記適用例に係る通信回路と、物理量に対応する検出信号を出力するセンサー素子と、を含む。
【0033】
[適用例11]
本適用例に係る電子機器は、前記適用例に係る通信回路を含む。
【0034】
[適用例12]
本適用例に係る移動体は、前記適用例に係る通信回路を含む。
【0035】
本適用例に係る物理量測定装置、電子機器、移動体によれば、前記の通信回路を含んでいるため、コマンド信号にエラーがあるかどうかを判定して、エラーがあっても直ちにマスター装置へと通知できる。そのため、信頼性が高く、応答が早い物理量測定装置、電子機器、移動体を実現できる。
【0036】
[適用例13]
本適用例に係る通信方法は、データ信号が入力されるデータ信号入力ステップと、前記データ信号に含まれるコマンド信号の適否判定を行う適否判定ステップと、前記データ信号が前記入力された場合に、応答信号を出力する応答信号出力ステップと、を含み、前記応答信号出力ステップは、前記適否判定により前記コマンド信号が適切でないと判定された場合に、前記応答信号として否定応答信号を出力する。
【0037】
本適用例に係る通信方法は、マスター装置からコマンド信号を受け取るスレーブ装置の通信方法である。マスター装置は、例えば半二重通信のI
2Cバス通信プロトコルに従う場合でも、コマンド信号の出力の直後にコマンド信号が適切か否かを、本適用例に係る通信方法による否定応答信号によって直ちに知ることができる。そのため、例えばコマンド信号のコードが誤っていた場合には、マスター装置は、コマンド信号のコードを訂正しての再送等の対応をとることが可能である。このとき、マスター装置は、別途コマンドの適否判定を実行させるコマンド信号を出力する必要はなく、応答が早い通信を実現できる。
【0038】
つまり、本適用例に係る通信方法は、マスタースレーブ方式による通信プロトコルに基づいてデータ通信を行いながらも、コマンド信号の異常を直ちにマスター装置へと通知することができる。
【発明を実施するための形態】
【0040】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【0041】
1.通信回路、物理量測定装置の構成
図1は、インターフェース部10を含む物理量測定装置1の構成例を示す図である。インターフェース部10が本発明の通信回路に対応し、物理量測定装置1の外部のマスター装置110(
図2参照)との通信を行う。物理量測定装置1は、マスター装置110と接続されたスレーブ装置の1つである。
【0042】
物理量測定装置1のインターフェース部10とマスター装置110とは、シリアルバス112、シリアルバス114で接続されている。インターフェース部10はシリアルバス112によってマスター装置110からのクロック信号を受け取る。また、インターフェース部10はシリアルバス114によってマスター装置110からコマンド信号を受け取り、例えば要求されたデータを出力する。つまり、シリアルバス114は双方向のデータ通信を行うバスである。本実施形態では、物理量測定装置1のインターフェース部10とマスター装置110とは、I
2Cバス通信プロトコルに従って通信を行うが、これに限られるものではなく、他のマスタースレーブ方式による通信プロトコルが用いられてもよい。なお、
図1では後述する物理量測定装置1の端子(SCL入力端子およびSDA入出力端子)の図示を省略している。
【0043】
図2は、物理量測定装置1とマスター装置110との接続例を示す図である。
図2のように、マスター装置110と、物理量測定装置1、スレーブ装置170、180、190とでデータ通信システム101が構成されている。なお、データ通信システム101において、スレーブ装置170、180、190のいくつかが省略されてもよいし、さらに別のスレーブ装置が接続されていてもよい。
【0044】
図2のデータ通信システム101において、マスター装置110のSCL出力端子は、シリアルバス112を介して物理量測定装置1、スレーブ装置170、180、190のSCL入力端子と接続されている。また、マスター装置110のSDA入出力端子は、シリアルバス114を介して物理量測定装置1、スレーブ装置170、180、190のSDA入出力端子と接続されている。また、シリアルバス112及び114はそれぞれ抵抗器116及び118を介して電源にプルアップ接続されている。
【0045】
マスター装置110はI
2Cバス通信プロトコルにおけるマスターとして機能し、物理量測定装置1、スレーブ装置170、180、190はI
2Cバス通信プロトコルにおけるスレーブとして機能する。すなわち、マスター装置110がデータ通信の主導権を有する。マスター装置110は、データ通信を行う時にはSCL出力端子からシリアルバス112にクロック信号を出力(送信)する。マスター装置110がSCL出力端子からクロック信号を出力しない時は、シリアルバス112は解放されるため抵抗器116を介してプルアップされてハイレベルの電位(電源電位)になる。
【0046】
マスター装置110、物理量測定装置1、スレーブ装置170、180、190は、SDA入出力端子を介してシリアルバス114にデータ信号を出力(送信)することができるし、シリアルバス114のデータを入力することもできる。ここで、マスター装置110から出力されるデータを、他のスレーブ装置からのデータと区別するために、以下ではコマンド信号という。なお、マスター装置110、物理量測定装置1、スレーブ装置170、180、190のいずれもシリアルバス114にデータを出力しない場合、シリアルバス114は解放されるため抵抗器118を介してプルアップされてハイレベルの電位(電源電位)になる。
【0047】
データ通信を開始するまでは、シリアルバス112及び114はいずれもハイレベルの電位にプルアップされている。データ通信を開始する場合には、マスター装置110は、シリアルバス112(クロック信号)がハイレベルの時に、シリアルバス114をハイレベルからローレベルに遷移させる(スタートコンディション)。マスター装置110は、スタートコンディションの実行後、所定のコマンド信号を出力することにより物理量測定装置1、スレーブ装置170、180、190とのデータ通信を行う。データ通信を終了する場合には、マスター装置110は、シリアルバス112(クロック信号)がハイレベルの時に、シリアルバス114をローレベルからハイレベルに遷移させる(ストップコンディション)。
【0048】
再び
図1を参照して、物理量測定装置1について説明する。物理量測定装置1は、インターフェース部10以外に、センサー素子4、駆動部5、検出部6、動作設定部7、故障診断部20を含む。
【0049】
センサー素子4は、例えば一体である振動子2、3を含み、角速度を検出する。ここで、角速度の大きさに応じた信号であってセンサー素子4が出力する信号を検出信号とする。
図1では、検出信号は差動信号90、92である。なお、検出信号はシングルエンド信号であってもよい。
【0050】
駆動部5は、駆動信号82を生成して振動子2に供給し、振動子2からの励振電流80を受け取って発振ループを形成する。差動信号90、92の大きさは励振電流80に比例する。そのため、駆動部5は、測定環境の変化に関わらず励振電流80の振幅を一定にするように駆動信号82を制御する。
【0051】
検出部6は、差動信号90、92に基づいて出力信号40を生成する。出力信号40は、インターフェース部10を介して、マスター装置110に出力される。検出部6は、差動信号90、92を受け取り、例えばマスター装置110が要求する形式への変換等を行って出力信号40を生成してもよい。
【0052】
動作設定部7は、駆動部5、検出部6の動作設定が可能である。動作設定部7は、駆動部5、検出部6の電圧設定、パラメーター設定等によって動作環境に応じた最適化を行う。なお、インターフェース部10を介して、マスター装置110が動作設定部7に指示を与えてもよい。
【0053】
故障診断部20は、駆動部5および検出部6の少なくとも1つについての故障診断を行う。本実施形態では、駆動部5および検出部6の両方について故障診断が実行される。故障診断部20は、駆動部5、検出部6の状態を表す内部信号42、44を受け取って故障診断を行う。
【0054】
故障診断信号30は、故障診断部20が実行した故障診断の結果を表す。故障診断信号30は、故障診断部20が実行した故障診断のそれぞれの結果(例えば、エラー時にハイレベル‘1’となる)を表す数ビットの信号であってもよい。故障診断信号30は、インターフェース部10を介して、マスター装置110に出力され得る。
【0055】
ここで、センサー素子4を除く、駆動部5、検出部6、動作設定部7、故障診断部20(
図1の回路群22)はソフトウェアリセット信号122によってリセットされる。ソフトウェアリセット信号122は、インターフェース部10がマスター装置110からのコマンド信号(ソフトウェアリセット)を複数回受け取ることでアクティブとなる。つまり、ソフトウェアリセットは、複数のコマンド信号を所定の順番で受け取って初めて命令が実行される連結コマンド信号である。
【0056】
2.コマンド信号の種類
以下に、インターフェース部10がマスター装置110から受け取るコマンド信号の種類と通信手順について説明する。
【0057】
2.1.レジスターリードコマンド信号
図3は、コマンド信号の1種類であるレジスターリードコマンド信号の通信手順を説明する図である。レジスターリードコマンド信号は、物理量測定装置1のレジスターのデータを読み出すコマンド信号である。マスター装置110は、レジスターアドレスを指定することで、読み出すデータを指定できる。ここで、レジスターリードコマンド信号で読み出されるデータは、例えばセンサー素子4が出力した検出信号に基づく出力信号40や駆動部5、検出部6の電圧設定、パラメーター設定等である。出力信号40については、後述する記憶部15に記憶されてレジスターアドレスが割り当てられているものとする。例えば、マスター装置110は、レジスターリードコマンド信号を用いて、あるレジスターアドレスを指定して角速度データを読み出し、別のレジスターアドレスを指定して駆動部5のパラメーター設定を読み出すことができる。
【0058】
なお、
図3(
図4(A)、
図4(B)、
図6も同じ)では、シリアルバス114のデータ(コマンド信号も含む)だけを示し、シリアルバス112のクロック信号は省略している。また、わかりやすさのため、シリアルバス114のデータをマスター装置110の出力と物理量測定装置1の出力とで分けて示している。また、ビット数についてはデータ(コマンド信号も含む)の名称の下に示している。1ビットのデータは‘0’または‘1’をとる。例えば7ビットのスレーブアドレスは‘0101111’といった値であり、シリアルバス114は‘0’に対応してローレベルに、‘1’に対応してハイレベルに変化する。
【0059】
図3のように、マスター装置110は、スタートコンディション(
図3のS:START)を実行した後に、物理量測定装置1を指定する7ビットのスレーブアドレスおよびライト信号(
図3のW:WRITE)を含むデータ信号を出力する。なお、ライト信号は具体的にはローレベルであり、後述するリード信号はハイレベルである。正しいスレーブアドレスを指定している場合には、物理量測定装置1は応答信号としてACK信号(
図3のA:ACK)を出力する。なお、ACK信号は具体的にはローレベルであり、後述するNACK信号(Negative ACKnowledgement:否定応答信号)はハイレベルである。
【0060】
そして、マスター装置110は、8ビットのレジスターアドレスを含むデータ信号を出力し、読み出すレジスターを指定する。指定したレジスターアドレスが存在する場合には、物理量測定装置1は応答信号としてACK信号を出力する。
【0061】
その後、マスター装置110は、リスタートコンディション(
図3のRS:RESTART)を実行し、物理量測定装置1を指定する7ビットのスレーブアドレスおよびリード信号(
図3のR:READ)を出力する。正しいスレーブアドレスを指定している場合には、物理量測定装置1は応答信号としてACK信号を出力する。なお、リスタートコンディションはスタートコンディションと同じであるため説明を省略する。
【0062】
そして、物理量測定装置1は、指定されたレジスターアドレスのデータ(この例では16ビットのレジスターデータ)を2回に分けて出力する。マスター装置110は、1回目のデータ(最初の1バイト)を正しく受け取った場合には応答信号としてACK信号を出力し、2回目のデータ(最後の1バイト)を受け取った後には応答信号としてNACK信号(
図3のN:NACK)を出力する。そして、ストップコンディション(
図3のP:STOP)を実行して、物理量測定装置1との通信を終了する。
【0063】
2.2.検査用コマンド信号
図4(A)、
図4(B)は、コマンド信号の1種類である検査用コマンド信号の通信手順を説明する図である。検査用コマンド信号は、故障診断部20に内部信号42、44に代えて擬似的な信号を与え、故障診断部20の故障の有無を判断できる故障診断信号30(本発明の検査用データに対応)を生成、出力させる。
【0064】
ここで、検査用コマンド信号は、複数のコマンド信号を所定の適切な順番に受け取ることで検査用データを出力できる。本実施形態の検査用コマンド信号には、故障診断部20に擬似的な信号を与えるための開始コマンド信号と、故障診断部20で擬似的な信号に基づいて生成された故障診断信号30をマスター装置110に出力させる出力コマンド信号とがある。物理量測定装置1は、最初に開始コマンド信号を受け取った後で出力コマンド信号を受け取る必要がある。この順番通りでない場合には、擬似的な信号に基づく故障診断信号30を生成、出力することができない。
【0065】
図4(A)は、検査用コマンド信号のうち開始コマンド信号の通信手順を説明する図である。なお、
図3と同じ要素には同じ符号を付しており詳細な説明を省略する。マスター装置110は、スタートコンディションを実行した後に、物理量測定装置1を指定する7ビットのスレーブアドレスおよびライト信号を出力する。正しいスレーブアドレスを指定している場合には、物理量測定装置1はACK信号を出力する。
【0066】
マスター装置110は開始コマンド信号を出力し、物理量測定装置1がACK信号を出力した後に、ストップコンディションを実行する。その後、マスター装置110は故障診断部20が故障診断を実行する間待機する(
図4の待機時間)。
【0067】
図4(B)は、検査用コマンド信号のうち出力コマンド信号の通信手順を説明する図である。なお、
図3、
図4(A)と同じ要素には同じ符号を付しており詳細な説明を省略する。マスター装置110は、スタートコンディションを実行した後に、物理量測定装置1を指定する7ビットのスレーブアドレスおよびライト信号を出力する。正しいスレーブアドレスを指定している場合には、物理量測定装置1はACK信号を出力する。
【0068】
マスター装置110は出力コマンド信号を出力し、物理量測定装置1がACK信号を出力した後に、リスタートコンディションを実行する。そして、マスター装置110は物理量測定装置1を指定する7ビットのスレーブアドレスおよびリード信号を出力する。正しいスレーブアドレスを指定している場合には、物理量測定装置1はACK信号を出力する。
【0069】
そして、物理量測定装置1は、後述する記憶部15に記憶された擬似的な信号に基づく故障診断信号30のデータを(この例では16ビットのレジスターデータ)を2回に分けて出力する。マスター装置110は、1回目のデータ(最初の1バイト)を正しく受け取った場合にはACK信号を出力し、2回目のデータ(最後の1バイト)を受け取った後にはNACK信号を出力する。そして、ストップコンディションを実行して、物理量測定装置1との通信を終了する。
【0070】
ここで、
図5は故障診断部20の構成例を示す図であり、開始コマンド信号と出力コマンド信号との関係を説明する。故障診断部20はコンパレーターCMP0〜CMP15を含み、駆動部5、検出部6の動作の状態を表す信号42A、42B、44A、44B等と、所定の電圧値V
th0〜V
th15とを比較する。なお、信号42A、42Bは
図1の内部信号42に、信号44A、44Bは
図1の内部信号44に対応する。
【0071】
コンパレーターCMP0〜CMP15の出力信号であるCO
0〜CO
15は、故障診断の結果を表し、
図1の故障診断信号30に対応する。この例では、CO
0〜CO
15のそれぞれについて、ハイレベルであれば故障があったことを表し、ローレベルであれば故障はなく正常であることを表す。
【0072】
ここで、物理量測定装置1はマスター装置110から開始コマンド信号を受け取ると、故障診断部20の信号TESTを切り換えて(例えばローレベルからハイレベルへと変化させて)、コンパレーターCMP0〜CMP15自体の故障診断を行う。
図5の信号TESTがハイレベルである場合には、信号42A、42B、44A、44B等に代わって、予め用意された電圧値V
test0〜V
test15がそれぞれコンパレーターCMP0〜CMP15に入力される。
【0073】
そして、物理量測定装置1はマスター装置110から出力コマンド信号を受け取ると、電圧値V
test0〜V
test15を用いて得られたCO
0〜CO
15である故障診断信号30を出力する(
図4(B)のレジスターデータが対応)。つまり、マスター装置110は、
図4(B)の16ビットのレジスターデータの全ビットがローレベルに対応する‘0’であれば、コンパレーターCMP0〜CMP15が正常に動作していると判定できる。
【0074】
2.3.連結コマンド信号
図6は、コマンド信号の1種類である連結コマンド信号の通信手順を説明する図である。なお、
図3、
図4(A)、
図4(B)と同じ要素には同じ符号を付しており詳細な説明を省略する。連結コマンド信号は、複数のコマンド信号を所定の順番に受け取ることで1つまたは複数の指示が実行されるものである。本実施形態の連結コマンド信号は、
図1の回路群22をリセットするソフトウェアリセットが該当する。
【0075】
物理量測定装置1が動作しなくなるため、誤ってソフトウェアリセットが実行されることは回避する必要がある。そのため、インターフェース部10はソフトウェアリセットのコマンド信号を連続して3回受け取って初めてソフトウェアリセット信号122をローレベルにして、回路群22をリセットする。例えば、誤ってソフトウェアリセットのコマンド信号を1回受け取っても、ソフトウェアリセット信号122をローレベルにすることはない。
【0076】
図6のように、マスター装置110は、スタートコンディションを実行した後に、物理量測定装置1を指定する7ビットのスレーブアドレスおよびライト信号を出力する。正しいスレーブアドレスを指定している場合には、物理量測定装置1はACK信号を出力する。
【0077】
マスター装置110は、その後、ソフトウェアリセット1〜ソフトウェアリセット5を出力する。それぞれのコマンド信号を順番通りに受け取った場合には、物理量測定装置1はそれぞれACK信号を出力する。物理量測定装置1がソフトウェアリセット5に対してACK信号を出力した後に、マスター装置110はストップコンディションを実行する。
【0078】
このとき、物理量測定装置1のインターフェース部10は、マスター装置110からのソフトウェアリセット3を受け取った後の時刻t
1でソフトウェアリセット信号122をローレベルにして回路群22をリセットする。そして、インターフェース部10は、マスター装置110からのソフトウェアリセット5を受け取った後の時刻t
2でソフトウェアリセット信号122をハイレベルに戻す。
【0079】
なお、ソフトウェアリセット1〜ソフトウェアリセット5のコマンド信号のコード(‘0’と‘1’の組み合わせ)は本実施形態のように同じであってもよいし、一部または全部が異なっていてもよい。また、ソフトウェアリセットのコマンド信号を受け取る回数は、この例のように5回に限るものではなく2回以上であればよい。
【0080】
2.4.コマンド信号の適否判定
図3、
図4(A)、
図4(B)、
図6の例では、マスター装置110からのコマンド信号にエラーが含まれないとして説明した。しかし、実際のマスター装置110と物理量測定装置1との通信においては、例えばマスター装置110から誤ったコマンド信号が出力されることや、通信経路のノイズ混入でコマンド信号の一部の信号レベルが変化すること等があり得る。そのため、信頼性の高い通信を行うためには、インターフェース部10は、マスター装置110からのコマンド信号の適否判定、すなわちコマンド信号にエラーがあるかどうかを判定することが好ましい。
【0081】
そして、インターフェース部10は、高速なデータ通信システムの実現のために、コマンド信号にエラーがあることをマスター装置110へと直ちに通知して、例えば再送等の対応をしてもらうことが好ましい。そこで、インターフェース部10は、コマンド信号にエラーがある場合には、NACK信号を出力することで、直ちにマスター装置110へとエラーの存在を伝える。
【0082】
図7はインターフェース部10の構成例を示す図である。
図1〜
図6と同じ要素には同じ符号を付しており説明を省略する。ただし、
図7では説明のために双方向のシリアルバス114を入力114INと出力114OUTとに分けて図示している。
【0083】
インターフェース部10は、入力部としての入力シフトレジスター11、コマンド判定部14、記憶部15、バッファー17、18、セレクター19、出力シフトレジスター29を含む。
【0084】
インターフェース部10は、マスター装置110から受け取ったコマンド信号を、入力シフトレジスター11によってパラレルに変換してコマンド判定部14に出力する(信号102)。
【0085】
コマンド判定部14はコマンド信号を受け取り、実行中のコマンドの種類で定められているモードと受け取ったコマンド信号の種類とに基づいて適否判定を行う。コマンド信号の適否判定の詳細については後述する。コマンド判定部14はコマンド信号の適否判定の結果に対応する信号103を出力シフトレジスター29に出力する。
【0086】
そして、出力シフトレジスター29は、コマンド信号が適切であると判定された場合には通常のI
2Cバス通信プロトコルに従ったACK信号/NACK信号を出力し、コマンド信号にエラーが含まれると判定された場合にはNACK信号を出力する。
【0087】
インターフェース部10は、コマンド判定部14がコマンド信号の適否判定の結果に対応する信号103を出力シフトレジスター29に伝えて、コマンド信号が適していないと判定された場合には出力シフトレジスター29が直ちにNACK信号を出力する構成をとる。そのため、I
2Cバス通信プロトコルに従った通信を行いながら、コマンド信号の異常を直ちにマスター装置110へと通知することができる。
【0088】
特に、本実施形態のように、通信プロトコルがマスタースレーブ方式による通信プロトコル(例えばI
2Cバス通信プロトコル)である場合は次のことがいえる。すなわち、コマンド信号が適していないと判定された場合には、物理量測定装置1のインターフェース部10がコマンド信号を含むデータ信号を受け取った後であって、次のデータ信号の送信または受信が行われる前に、マスター装置110に対する応答信号としてNACK信号を出力する。換言すれば、コマンド信号が適していないと判定された場合には、物理量測定装置1のインターフェース部10は、マスター装置110からコマンド信号を含むデータ信号の受信に連続して、応答信号としてNACK信号を出力する。そのため、物理量測定装置1は、コマンド信号の適否判定結果を、データ信号に含ませて送信する必要なしに、直ちにマスター装置110に通知することができる。また、コマンド信号の適否判定結果をマスター装置110に知らせるための情報量は、コマンド信号の送信した直後の応答信号の僅か1ビットである。その結果、マスター装置110と物理量測定装置1との間の通信量を削減することができる。なお、通信プロトコルは、I
2Cバス通信プロトコルに類似する他のプロトコルであってもよい。
【0089】
例えば
図3において、マスター装置110から受け取ったレジスターリードコマンド信号のレジスターアドレスが存在しないアドレスであったとする。このとき、コマンド判定部14はコマンド信号にエラーが含まれると判定する。そして、信号103を受け取った出力シフトレジスター29は、
図3の符号301で示されるACK信号に代えてNACK信号をマスター装置110に出力する。
【0090】
また、例えば
図4(B)において、既に開始コマンド信号を受け取っているにも関わらず、出力コマンド信号でないコマンド信号をマスター装置110から受け取ったとする。このとき、コマンド判定部14はコマンド信号にエラーが含まれると判定する。そして、信号103を受け取った出力シフトレジスター29は、
図4(B)の符号302で示されるACK信号に代えてNACK信号をマスター装置110に出力する。
【0091】
また、例えば
図6において、連結コマンド信号であるソフトウェアリセットの途中で、ソフトウェアリセット2以外のコマンド信号をマスター装置110から受け取ったとする。このとき、コマンド判定部14はコマンド信号にエラーが含まれると判定する。そして、信号103を受け取った出力シフトレジスター29は、
図6の符号304で示されるACK信号に代えてNACK信号をマスター装置110に出力する。このように、新たなコマンド信号を要することなく、NACK信号によって直ちにマスター装置110にコマンド信号にエラーが含まれることを知らせることが可能である。
【0092】
ここで、再び
図7に戻り、インターフェース部10の構成を説明する。コマンド判定部14は、マスター装置110から連結コマンド信号であるソフトウェアリセットのコマンド信号をエラー無く受け取った場合に、ソフトウェアリセット信号122をローレベルにして回路群22をリセットしたり、ソフトウェアリセット信号122をハイレベルに戻したりする。
【0093】
また、コマンド判定部14は、マスター装置110からレジスターリードコマンド信号や検査用コマンド信号(開始コマンド信号および出力コマンド信号)をエラー無く受け取った場合に、マスター装置110が要求するデータが記憶されているレジスターのアドレスを信号104で指定する。
【0094】
記憶部15は、例えば検出部6からの出力信号40、故障診断部20からの故障診断信号30等を記憶するレジスターである。記憶部15は、例えばSRAMであってもよいし、DRAMであってもよいし、不揮発性のメモリーであってもよいし、その他のメモリーであってもよい。そして、コマンド判定部14からのアドレス(信号104)に従って、選択されたデータ106を出力する。
【0095】
バッファー17、18は一時記憶用のメモリーである。本実施形態の通信では、例えば16ビット(2バイト)のデータを2回に分けて8ビット(1バイト)ずつ送受信する。つまり、バイト単位のシリアル通信を行う。そのため、データ106はバッファー17とバッファー18とに分割して一時的に記憶される。
【0096】
そして、それぞれのバッファー17、18から出力される信号108、109は、セレクター19によって順に選択される。セレクター19の出力である信号111は、出力シフトレジスター29によってシリアルに変換されて、マスター装置110に出力される。
【0097】
ここで、コマンド判定部14が実行するコマンド信号の適否判定の詳細について説明する。コマンド判定部14は、コマンド信号のコードが仕様に定められたものか否かだけでなく、コマンド信号が定められた順番に従っているか否かを判定する。しかし、順番が定められているのは特定の種類のコマンド信号である。そのため、コマンド判定部14は、実行中のコマンド信号の種類で決まる動作モード(単にモードとも表す)を備えることで、モードと受け取ったコマンド信号の種類とに基づいて適否判定を効率的に行うことができる。
【0098】
図8はインターフェース部10が受け取る可能性のあるコマンド信号を種類ごとに分けたものである。
図8のコマンド名にある、レジスターリードコマンド信号に対応するレジスターリードコマンド、開始コマンド信号に対応する開始コマンド、出力コマンド信号に対応する出力コマンド、ソフトウェアリセット信号に対応するソフトウェアリセットについては前記の通りである。
図8では、レジスターリードコマンドで指定されるレジスターアドレスが存在しない場合や、そもそも仕様にないコードのコマンドを、不存在コマンドとしてコマンドの1種類として扱う。
【0099】
コマンド判定部14は、レジスターリードコマンドに従う処理を行う場合、すなわちレジスターリードコマンドの実行中には、動作モードを第1モードとする。コマンド判定部14は、検査用コマンド(開始コマンド、出力コマンド)の実行中は動作モードを第2モードとする。また、コマンド判定部14は、ソフトウェアリセットの実行中は動作モードを第3モードとする。例えば、コマンド判定部14のモードが第3モードである場合にソフトウェアリセット信号以外のコマンド信号を受け取った場合、コマンド判定部14はコマンド信号にエラーが含まれると効率的に判定できる。
【0100】
ここで、デフォルトの動作モードは第1モードであり、コマンド判定部14は通信が開始されるとモードを第1モードとし、検査用コマンドやソフトウェアリセットの実行後にもモードを第1モードに戻す。また、
図6のように、ソフトウェアリセットは連結コマンドであって、5つのコマンド信号(ソフトウェアリセット1〜ソフトウェアリセット5)を受け取るが、本実施形態では5つのコマンドは同じコードを有するとして説明する。ただし、ソフトウェアリセット1〜ソフトウェアリセット5の一部または全部が異なるコードであってもよい。
【0101】
図9はコマンド判定部14のモードの遷移を説明する図である。
図9には動作モードとして、デフォルトである第1モードと、第2モード、第3モードとが示されている。第3モードについては、ソフトウェアリセットのコマンド信号を受け取ったときの変化を説明するために第3モード(1)、第3モード(2)、第3モード(3)、第3モード(4)と分けて図示している。
【0102】
図9の矢印はモードの遷移を表し、矢印には受け取ったコマンド信号の種類とマスター装置110へACK信号を出力させるかNACK信号を出力させるかを示す記号が書かれている。受け取ったコマンド信号は区切り文字(/)の左側に
図8に示したコマンド記号で示されている。また、ACK信号を出力させる場合にはAが、NACK信号を出力させる場合にはNが、区切り文字(/)の右側に示されている。
【0103】
例えば「RR,SC,OC,NE/N」は、レジスターリードコマンド信号、開始コマンド信号、出力コマンド信号または不存在コマンド信号を受け取った場合に、NACK信号をマスター装置110へと出力させて、コマンド判定部14はモードを矢印の通りに遷移させることを意味する。また、例えば「SR/A」は、ソフトウェアリセットを受け取った場合に、ACK信号をマスター装置110へと出力させて、コマンド判定部14はモードを矢印の通りに遷移させることを意味する。
【0104】
通信が開始されると、コマンド判定部14のモードはデフォルトの第1モードになる。レジスターリードコマンド信号を受け取ると、コマンド判定部14はACK信号をマスター装置110へと出力させて、モードを第1モードのままにする(「RR/A」)。出力コマンド信号または不存在コマンド信号を受け取ると、コマンド判定部14はNACK信号をマスター装置110へと出力させて、モードを第1モードのままにする(「OC,NE/N」)。
【0105】
ここで、開始コマンド信号を受け取ると、コマンド判定部14はACK信号をマスター装置110へと出力させて、モードを第2モードに変化させる(「SC/A」)。その後、出力コマンド信号を受け取ると、コマンド判定部14はACK信号をマスター装置110へと出力させて、モードを第1モードに変化させる(「OC/A」)。
【0106】
なお、モードが第2モードである場合にさらに開始コマンド信号を受け取ると、コマンド判定部14はNACK信号をマスター装置110へと出力させて、モードを第2モードのままにする(「SC/N」)。また、レジスターリードコマンド信号、ソフトウェアリセットまたは不存在コマンド信号を受け取ると、コマンド判定部14はNACK信号をマスター装置110へと出力させて、モードを第1モードに変化させる(「RR,SR,NE/N」)。
【0107】
モードが第1モードまたは第2モードである場合に、ソフトウェアリセットを受け取ると、コマンド判定部14はACK信号をマスター装置110へと出力させて、モードを第3モード(1)に変化させる(「SR/A」)。その後、ソフトウェアリセットを4回受け取ると、コマンド判定部14は各コマンド信号の後でACK信号をマスター装置110へと出力させて、モードを第3モード(2)、第3モード(3)、第3モード(4)、第1モードに変化させる(「SR/A」)。
【0108】
しかし、モードが第3モード(1)〜(4)である場合にレジスターリードコマンド信号、開始コマンド信号、出力コマンド信号または不存在コマンド信号を受け取ると、コマンド判定部14はNACK信号をマスター装置110へと出力させて、モードを第1モードに変化させる(「RR,SC,OC,NE/N」)。
【0109】
このように、コマンド判定部14はモードとコマンド信号の種類に基づいて適否判定を効率的に行うことができる。
【0110】
3.通信方法
図10はインターフェース部10の通信方法を示すフローチャートである。インターフェース部10は、マスター装置110からデータ信号を含むコマンド信号を受け取る(データ信号入力ステップ:S10)。そして、コマンド信号の種類と現在のモードに基づいてコマンド信号の適否判定を行う(適否判定ステップ:S12)。適否判定は、
図9を参照して説明したようにコマンド判定部14が実行する。
【0111】
そして、適否判定の結果、受け取ったコマンド信号が適切であるか否か、すなわちコマンド信号に違反(エラー)が存在するか否かの条件分岐がS20である。違反が存在する場合には(S20Y)、インターフェース部10はマスター装置110にNACK信号を出力する(否定応答信号を出力する応答信号出力ステップ:S24)。また、違反が存在しない場合には(S20N)、インターフェース部10はマスター装置110にACK信号を出力する(肯定応答信号を出力する応答信号出力ステップ:S22)。ACK信号またはNACK信号の出力は、具体的には、コマンド判定部14のコマンド信号の適否判定の結果に対応する信号103を受け取った出力シフトレジスター29が行う。
【0112】
インターフェース部10は、コマンド信号の種類と現在のモードに基づいてモードを更新する(モード更新ステップ:S30)。モードの更新は、
図9を参照して説明したようにコマンド判定部14が実行する。
【0113】
以上のような通信方法をインターフェース部10が実行することで、マスタースレーブ方式による通信プロトコル(例えばI
2Cバス通信プロトコル)に基づいてデータ通信を行いながらも、コマンド信号の異常を直ちにマスター装置110へと通知することができる。そのため、信頼性が高く、高速なデータ通信が可能になる。
【0114】
4.電子機器
本実施形態の電子機器300について、
図11〜
図12を用いて説明する。なお、
図1〜
図10と同じ要素については同じ番号、符号を付しており説明を省略する。
【0115】
図11は、電子機器300の機能ブロック図である。電子機器300は、インターフェース部10を含む物理量測定装置1、CPU(Central Processing Unit)320、操作部330、ROM(Read Only Memory)340、RAM(Random Access Memory)350、通信部360、表示部370、音出力部380を含んで構成されている。なお、電子機器300は、
図11の構成要素(各部)の一部を省略又は変更してもよいし、他の構成要素を付加した構成としてもよい。
【0116】
物理量測定装置1は、インターフェース部10によってマスター装置であるCPU(Central Processing Unit)320と通信を行う。なお、
図11では物理量測定装置1のインターフェース部10以外の機能ブロックの表記を省略している。
【0117】
CPU320は、ROM340等に記憶されているプログラムに従い、物理量測定装置1からデータを取得して各種の計算処理や制御処理を行う。また、CPU320は、操作部330からの操作信号に応じた各種の処理、外部とデータ通信を行うために通信部360を制御する処理、表示部370に各種の情報を表示させるための表示信号を送信する処理、音出力部380に各種の音を出力させる処理等を行う。
【0118】
操作部330は、操作キーやボタンスイッチ等により構成される入力装置であり、ユーザーによる操作に応じた操作信号をCPU320に出力する。
【0119】
ROM340は、CPU320が各種の計算処理や制御処理を行うためのプログラムやデータ等を記憶している。
【0120】
RAM350は、CPU320の作業領域として用いられ、ROM340から読み出されたプログラムやデータ、操作部330から入力されたデータ、CPU320が各種プログラムに従って実行した演算結果等を一時的に記憶する。
【0121】
通信部360は、CPU320と外部装置との間のデータ通信を成立させるための各種制御を行う。
【0122】
表示部370は、LCD(Liquid Crystal Display)等により構成される表示装置であり、CPU320から入力される表示信号に基づいて各種の情報を表示する。
【0123】
そして、音出力部380は、スピーカー等の音を出力する装置である。
【0124】
電子機器300では、CPU320が物理量測定装置1とインターフェース部10を介して通信を行う。インターフェース部10はCPU320からのコマンド信号にエラーがあるかどうかを判定して、エラーがあっても直ちにCPU320へと通知できる。そのため、信頼性が高く、応答が早い電子機器300を実現できる。
【0125】
電子機器300としては種々が考えられる。例えば、ネットワークサーバー、パーソナルコンピューター(例えば、モバイル型パーソナルコンピューター、ラップトップ型パーソナルコンピューター、タブレット型パーソナルコンピューター)、携帯電話機などの移動体端末、ディジタルスチールカメラ、インクジェット式吐出装置(例えば、インクジェットプリンター)、ルーターやスイッチなどのストレージエリアネットワーク機器、ローカルエリアネットワーク機器、テレビ、ビデオカメラ、ビデオテープレコーダー、カーナビゲーション装置、ページャー、電子手帳(通信機能付も含む)、電子辞書、電卓、電子ゲーム機器、ゲーム用コントローラー、ワードプロセッサー、ワークステーション、テレビ電話、防犯用テレビモニター、電子双眼鏡、POS端末、医療機器(例えば電子体温計、血圧計、血糖計、心電図計測装置、超音波診断装置、電子内視鏡)、魚群探知機、各種測定機器、計器類(例えば、車両、航空機、船舶の計器類)、フライトシュミレーター、ヘッドマウントディスプレイ、モーショントレース、モーショントラッキング、モーションコントローラー、PDR(歩行者位置方位計測)等が挙げられる。
【0126】
図12は、電子機器300の一例であるスマートフォンの外観の一例を示す図である。電子機器300であるスマートフォンは、操作部330としてボタンを、表示部370としてLCDを備えている。そして、電子機器300であるスマートフォンは、インターフェース部10を含む物理量測定装置1を有する。そのため、信頼性が高く、操作時の応答を早めることができる。
【0127】
5.移動体
本実施形態の移動体400について、
図13を用いて説明する。
【0128】
図13は、本実施形態の移動体400の一例を示す図(上面図)である。
図13に示す移動体400は、発振部410、エンジンシステム、ブレーキシステム、キーレスエントリーシステム等の各種の制御を行うコントローラー420、430、440、バッテリー450、バックアップ用バッテリー460を含んで構成されている。なお、本実施形態の移動体は、
図13の構成要素(各部)の一部を省略又は変更してもよいし、他の構成要素を付加した構成としてもよい。
【0129】
コントローラー430は、インターフェース部10を含む物理量測定装置1を有する。その他の構成要素の詳細な説明は省略するが、移動体の移動に必要な制御を行うため高い信頼性が要求される。
【0130】
ここで、移動体400のシステムでは、コントローラー430は受け取ったコマンド信号にエラーがあった場合にも直ちに検出可能である。そして、不図示のマスター装置にエラーを知らせて適切な対応を求めることができる。そのため、移動体400としての信頼性を高めることができる。
【0131】
なお、このような移動体400としては種々の移動体が考えられ、例えば、自動車(電気自動車も含む)、ジェット機やヘリコプター等の航空機、船舶、ロケット、人工衛星等が挙げられる。
【0132】
6.その他
本発明は、前記の実施形態で説明した構成と実質的に同一の構成(例えば、機能、方法および結果が同一の構成、あるいは目的および効果が同一の構成)を含む。また、本発明は、実施形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施形態で説明した構成に公知技術を付加した構成を含む。