現在、複数のセンサデバイスからのセンサデータが広く活用されており、実際にスマートフォンをはじめとして高機能モバイル機器などにも角速度センサデバイスや磁気方位センサデバイスのような様々なセンサデバイスが搭載されてきている。また、ナビゲーションシステムへ応用できる複数のセンサデータを統合して位置推定を行うデッドレコニング(DR/Dead Reckoning;自律航法)技術などの研究も進んでおり、複数のセンサデバイスからのセンサデータを統合処理する技術が必要とされている。
このように、複数のセンサデバイスを統合処理する場合に、ユーザの利用を妨げず、かつセンサデバイスを省電力で動作させるには、センサデータを取得して処理する統合処理部の負荷を軽減することや、各センサデバイスに最適な測定管理を行うことで不要または非効率な測定を避けることは重要である。
統合処理部への負荷を軽減するために、この統合処理部と独立して自律的に動作するセンサデバイスが、例えば、特許文献1に開示されている。
図1は、従来のDRセンササンプリング機能付きGPSレシーバの構成図で、特許文献1に記載のGPSレシーバである。このGPSレシーバは、GPS測位機能のみでなくカーナビゲーションシステムとして要求される他の機能を自ら搭載し、かつ、CPU(中央処理装置)に対して利用し易い形態で情報を提供することができるものである。図中符号8はGPSアンテナ、10はCPU、12はジャイロ、14,16はフィルタ、20はGPSレシーバ、22は制御部、24はA/D変換部、26はカウンタ、100はナビゲーションシステムを示している。
この特許文献1に記載のGPSレシーバは、ジャイロセンサ、車速パルス、バック信号などのDRセンサ信号を、所定の周期でサンプリングするサンプリング手段と、このサンプリング手段がサンプリングした複数のサンプリングデータを、所定の周期で算出されるGPS測位解と共に、GPS測位解が算出される周期毎に、1フレームのデータとして出力する制御手段を備え、この制御手段が、1フレームのデータをシリアルデータとして出力する場合、CPUは、シリアルインタフェースを制御するのみで、GPS測位解とともにDRセンサのサンプリングデータを取得するというものである。
つまり、この特許文献1に記載のものは、CPUと独立したセンサデバイスが各センサデバイスの測定を管理し、データを一括してCPUに送信することで従来CPUにより実現されていた統合処理部の処理を削減したもので、第1周波数(低)で測定を行うGPSレシーバが、第2周波数(高)でDR用の各デバイスの測定を管理する制御部を持ち、第1周波数でCPUに一括送信するものである。
このようなシステムでは、メインとなるデバイスがCPUの代わりに各センサデバイスの測定を制御・管理するのでCPUに負荷をかけることなく、所望の周波数で同期を取りながら測定することが可能である。しかし、CPUの機能を代替しただけで、そのような機能を持つ特定のデバイスが必須となってしまい、メインデバイスにつながるセンサデバイスは自律的に動作することはできない。
完全に自律して動作可能なセンサデバイスとして、内部に独自のクロックを持ち各自が自律的に測定を行うセンサデバイスが開発されている。これにより、CPUに負荷をかけずに各センサデバイスが設定されたそれぞれの周波数で自律的に測定を行うことができる。しかし、独自のクロックで動作するためセンサデバイス間で測定タイミングがずれてしまい、同期が取れないという問題があった。
そこで、外部からのトリガを受けて測定タイミングの同期を取り、自律的に測定を行うセンサデバイスが近年開発されている。
例えば、特許文献2に記載の磁気センサは、外部からのトリガを検出して、各検出部(センサ)間で同期を取ってサンプリングを行うことが可能な磁気センサである。
図2は、特許文献2に記載の磁気センサを説明するためのブロック図である。この磁気センサ9は、磁気センサ9a,9bに相当するもので、複数の磁気検出部11a〜11cと、サンプリング処理部17a〜17cと、トリガ検出部13と、ホールド処理部19とを備えている。複数の磁気検出部11a〜11cによる検出信号は、それぞれサンプリング処理部17a〜17cによってサンプリング処理されるように構成されている。また、サンプリング処理部17a〜17cでサンプリング処理された信号は、それぞれホールド処理部19に入力され、次の信号が入力されるまで信号を保持し、適切に外部に出力するように構成されている。また、サンプリング処理部17a〜17cは、トリガ検出部13に入力される外部トリガ信号に同期して駆動され、一回のみサンプリングを行うように構成されている。また、磁気センサ11a〜11bの駆動回路も、トリガ検出部13に入力される外部トリガ信号に同期して駆動させることができる。なお、15は制御部を示している。
このような技術を用いて、CPUに負荷をかけずにセンサデバイス間で同期を取りながら測定することは可能である。しかし、上述した特許文献2のように、測定周波数が同じである複数のセンサデバイスを用いる場合において、センサデバイス間で測定タイミングを合わせて同期を取り測定する技術はあるが、種類の異なるセンサデバイス間では、省電力化・最適化のため、または測定に要する時間の違いから測定周波数、測定タイミングも異なる場合が多い。この場合、センサデバイス間の測定タイミングにずれが生じるため、各センサデバイスを統合処理する場合には、データのずれの補正処理を行ってデータの対応付けを行う必要がある。例えば、特許文献3が挙げられる。この特許文献3では、測定タイミングのずれに応じて遅延時間を設定し出力することでセンサデバイス間の処理のタイミングを合わせている。
一般的に、車両用ナビゲーション装置では、自律航法から算出された位置と、GPS(Global Positioning System)から算出された位置とを合成して最適な位置が推定される。また、自律航法では、車両の速度を示す速度パルスと、ジャイロ、つまり角速度センサによって計測された車両の旋回角速度とをもとに、前回の測位位置を更新することによって、現在の位置が算出される。このような方式のナビゲーション装置によれば、GPS衛星からの電波の受信が困難なトンネル、地下駐車場や高層ビルの谷間であっても、自律航法によって自車位置の導出が可能である。ただし、速度パルスからの移動距離と、ジャイロからの角速度、つまり方位とが正確に取得されていることが前提となる。
上述した特許文献3に記載のナビゲーション装置は、移動体に備えられた角速度センサの出力値と、その角速度センサの出力値から角速度への変換係数とをもとに、移動体の角速度を導出するナビゲーション装置に関するもので、衛星から受信した信号をもとに、移動方向の方位と移動速度とが少なくとも含まれた測定データを周期的に測定する測定部を備え、この測定部における測定データの測定タイミングに合うように、角速度センサの出力値の出力タイミングを調節するもので、この場合、角速度センサの出力値の検出タイミングと測定データの測定タイミングとの誤差に応じて、角速度センサの出力値の出力タイミングを調節することによって、検出タイミングと測定タイミングとの誤差を低減できるようにしたものである。
しかし、このような方法では、事前に測定タイミングのずれを補正するための遅延時間を実験から算出して設定する必要があり、汎用的でないという問題があった。
上述した特許文献1乃至3において説明したように、複数のセンサデバイスからのセンサデータを統合処理する場合には、センサデバイス毎に最適な周波数でかつ同期を取りながら測定を行うこと、センサデータの統合処理部の負荷を減らすことが重要である。
ここで「同期を取る」という語句には2つの観点がある。本発明では、この2つの観点を区別して使用している。まず、1)センサデバイス間で測定周波数に基づいた測定回数の比にずれが生じないようにするという観点がある。これは例えば、あるセンサデバイスがn回測定する間にあるデバイスはm回測定するという測定数の比を維持するということである。これにより、異なるセンサデバイス間のデータの対応付けが正確に行えるので、これは必要不可欠である。次に、2)センサデバイス間で測定タイミングを合わせて測定を行うという観点がある。上述した特許文献2及び3における同期はこちらの観点に基づいている。測定タイミングについては、かならずしも時間的に正確に一致させることが良いわけではなく、複数のセンサデバイスを用いる場合には、あえてタイミングをずらして測定したい場合もある。例えば、同時に測定すると干渉してしまう複数のセンサデバイスがある場合は、測定タイミングをずらすことで干渉を防ぐことができる。また、一度にすべてのセンサデバイスを用いて測定すると大量の電流が流れるため、ノイズが発生しやすくなるが、ずらして測定することで一度に使用する電流を低く抑えると同時に電流値も平滑化できるため、ノイズを低く抑えることができる。
このように、「同期を取る」という語句の2つの観点の内、特に測定数の比を維持するという観点が重要である。したがって、本発明の以下の説明においては、特に断りがない限り、測定周波数に基づいた測定回数の比にずれが生じないように測定を行う意味で「同期を取る」と言うこととする。
また、本発明の明細書においては、「サンプリング」という語句を使っているが、センサデバイスでもよく利用されるオーバーサンプリング手法まで考慮した場合「サンプリング」には2つの観点がある。まず、1)アナログ〜デジタル変換器の入り口でアナログ信号がサンプル/ホールドされる点でのサンプリングである。これを「AD変換のサンプリング」と呼ぶことにする。2)AD変換出力の時間離散信号列は、その後、AD変換のサンプリングとは異なる時間間隔でサンプリングされる。これを「データ収集時のサンプリング」と呼ぶことにする。
本発明で「サンプリング」という語句を使う場合、特に断りがない限り、「データ収集時のサンプリング」を意図する。オーバーサンプリング手法を使わない場合、AD変換のサンプリングとデータ収集時のサンプリングとは同一である。本発明では、測定数の比を維持する観点が重要であると述べたが、測定数の比は、上記「データ収集時のサンプリング」回数の比として捉える。
以上より、複数のセンサデバイスからのセンサデータを統合処理する場合には、1)センサデバイス毎に最適な周波数で測定すること、2)センサデバイス間で測定周波数に基づいた測定回数の比(測定数比)を維持して測定すること、3)センサデータの統合処理部の負荷を減らすこと、の3点が重要であり課題となる。
図3は、本発明に係るサンプリング機能付きセンサデバイスの前提となる技術を開示するもので、CPUが複数のセンサデバイス間の測定タイミングを管理する機能を有するセンサデータ処理システムの構成図である。
このセンサデータ処理システムは、複数のセンサデバイス31,32,33からなるセンサ装置30と、このセンサ装置30からの測定データを処理するCPU35とから構成されている。外部からの測定命令を受ける第1のセンサデバイス31は、検知部311と、測定開始命令を受けて検知部311からの測定を開始する測定部312と、この測定部312の測定結果を保持し、その測定データをCPU35に送る測定結果保持部313とから構成されている。他の第2のセンサデバイス32及び第3のセンサデバイス33についても、第1のセンサデバイス31と同様の構成を備えている。
このような構成により、まず、CPU35から測定命令が第1のセンサデバイス31に出ると、第1のセンサデバイス31が測定を開始する。CPU35が、第1のセンサデバイス31の測定結果保持部313に保持された測定結果を測定データとして読み出す。次に、CPU35から測定命令が第2のセンサデバイス32に出ると、第2のセンサデバイス32が測定を開始する。CPU35が、第2のセンサデバイス32から測定データを読み出す。最後に、CPU35から測定命令が第3のセンサデバイス33に出ると、第3のセンサデバイス33が測定を開始する。CPU35が、第3のセンサデバイス33から測定データを読み出す。このようにして複数のセンサデバイス31,32,33からの測定データをCPU35で処理する。ここで、各センサデバイスにアクセスするタイミングは測定周波数に基づいて管理されている。
このように、CPUが複数のセンサデバイスの測定タイミングを管理するシステムでは、センサデバイス側において、外部からの命令を受けて測定し、CPU側において、各センサデバイスごとに設定した測定周波数で測定タイミングを管理し、各センサデバイスに随時アクセスしてデータ取得するもので、統合処理部の機能全てを担当するCPUへの負荷が大きいという問題があった。したがって、上述した1)と2)の課題は解決できるが、3)の課題が解決できない。
図4は、本発明に係るサンプリング機能付きセンサデバイスの前提となる技術を開示するもので、CPUが測定タイミングを管理することなく、独立にクロックを備えて自律的に測定を行うセンサ装置を備えた自律測定管理システムの構成図である。
この自律測定管理システムは、複数のセンサデバイス41,42,43からなるセンサ装置40と、このセンサ装置40からの測定データを処理するCPU45とから構成されている。自分のクロックをもとに測定を開始する第1のセンサデバイス41は、クロック発生部414と、このクロック発生部414からのクロックをカウントするカウンタ415と、レジスタ設定部417による設定値とカウンタ415のカウント値とを比較する比較部416と、この比較部416からの比較値により測定開始命令生成する測定開始命令生成部418と、この測定開始命令生成部418からの測定開始命令を受けて検知部411からの測定を開始する測定部412と、この測定部412の測定結果を保持し、その測定データをCPU45に送る測定結果保持部413とから構成されている。他の第2のセンサデバイス42及び第3のセンサデバイス43についても、第1のセンサデバイス41と同様の構成を備えている。
このような構成により、各センサデバイス41,42,43は自走して測定し、所望の回数の測定が終了すると割り込み信号を発生する。CPU45は、各センサデバイス41,42,43からの割り込み信号に基づいて測定データを取得する。
このように、各センサデバイスが独立にクロックを持ち自律的に測定を行うセンサデバイスを備えた自律測定管理システムは、センサデバイス側において、自分のクロックをもとに自走して測定し、所望の回数の測定が終わると割り込み信号を発生し、CPU側において、センサデバイスからの割り込み信号をもとに各センサデバイスにアクセスして測定データ取得するものであった。この場合、統合処理部の機能の多くを各センサデバイスが担当するため、CPUへの負荷が減るという効果があった。また、各センサデバイスがそれぞれ最適な測定周波数を設定して測定することも可能である。
しかしながら、センサデバイスが自律的に測定を管理する場合、センサデバイス毎に独自のクロックで動いていることで生じる、センサデバイス間での測定数比のずれが時間経過とともに増大するという問題があった。これは、同じ測定周波数で設定しても各センサデバイス間でクロックの動作周波数にばらつきが存在するため、測定周期にずれが生じてしまうからである。
図5は、各センサデバイスのクロックにはばらつきがあるので、同じセンサデバイスで同じ測定周波数に設定しても測定周期が一致しない場合の説明図である。例えば、±1%の誤差を含んで動作する1kHzのクロックを用いて、測定周波数100Hzで測定した場合、1秒で±10msec、つまり1測定回数分ずれることになる。このずれは時間経過とともに積算されて増大する。したがって、上述した1)と3)の課題は解決できるが、2)の課題を解決することができない。
さらに、上述した特許文献2に記載のセンサデバイスを用いた場合について検討する。この場合、複数のセンサデバイス間で同一のトリガ信号を参照して自律的にサンプリングを行うことができるので、時間経過とともにセンサデバイス間での測定数比がずれることはない、また、センサデータの統合処理部の負荷を減らすことも可能になる。しかしながら、省電力化のための、センサデバイス毎に状況に応じた最適な周波数でサンプリングすることはできないという問題があった。つまり、上述した2)と3)の課題は解決できるが、1)の課題が解決できない。
このように、複数のセンサデバイスからのセンサデータを統合処理する場合に重要な、上述した1)センサデバイス毎に最適な周波数で測定すること、2)センサデバイス間で測定周波数に基づいた測定回数の比(測定数比)を維持して測定すること、3)センサデータの統合処理部の負荷を減らすこと、の3つの重要課題を同時に満たすことは困難であった。
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、センサデバイス間での測定数比を任意に設定・保持し、設定したセンサデバイス間の測定数比を維持したまま自律的に測定可能にしたサンプリング機能付きセンサデバイス及びそれを用いたセンサデータ処理システムを提供することにある。
本発明は、このような目的を達成するためになされたもので、請求項1に記載の発明は、サンプリング機能付きセンサデバイスであって、複数のセンサデバイス間で測定数比を維持して測定するためのカウント命令をカウントするカウンタと、所望の測定数比の設定値を保持する測定数比保持手段と、前記カウンタのカウンタ値と、前記測定数比保持手段により保持された前記測定数比の設定値とから、前記カウンタ値と前記設定値との比較結果に基づいてサンプリングタイミング信号を生成するサンプリングタイミング生成手段と、検知部で検知された各種情報の検知信号を前記サンプリングタイミング生成手段によるサンプリングタイミング信号によりサンプリングを開始するサンプリング部とを備えたことを特徴とする。(実施例1;図6に対応)
また、請求項2に記載の発明は、請求項1に記載の発明において、前記サンプリングタイミング信号による前記サンプリング部のサンプリングの開始を遅延させるために、該サンプリングタイミング生成手段に所望の測定開始遅延時間を保持する遅延時間保持手段を接続させたことを特徴とする。(実施例2;図11に対応)
また、請求項3に記載の発明は、請求項1に記載の発明において、検知部動作開始時間情報を保持する検知部動作開始時間情報保持手段を設けるとともに、該検知部動作開始時間情報保持手段からの検知部動作開始時間情報と、前記カウンタからのカウンタ値を入力する検知部動作制御手段とを設けたことを特徴とする。(実施例3;図15に対応)
また、請求項4に記載の発明は、請求項1に記載の発明において、カウント命令を生成するカウント命令生成手段を設けるとともに、該カウント命令生成手段が生成するカウント命令を利用する場合には、前記カウンタに該カウント命令を入力すると同時に、外部にも該カウント命令を出力できることを特徴とする。(実施例4;図19に対応)
また、請求項5に記載の発明は、請求項4に記載の発明において、前記カウント命令生成手段が生成するカウント命令を外部に出力するためのインタフェースと、外部からカウント命令を入力するためのインタフェースとが単一のインタフェースであることを特徴とする。(実施例4;図20)
また、請求項6に記載の発明は、請求項5に記載の発明において、前記カウント命令生成手段が生成するカウント命令を外部に出力するためのインタフェースと、外部からカウント命令を入力するためのインタフェースとが単一のインタフェースで、かつI2Cバスであることを特徴とする。(実施例4;図26のセンサデバイス部分)
また、請求項7に記載の発明は、請求項5に記載の発明において、前記カウント命令生成手段が生成するカウント命令を外部に出力するためのインタフェースと、外部からカウント命令を入力するためのインタフェースとが単一のインタフェースで、かつSPIバスであることを特徴とする。(実施例4;図27のセンサデバイス部分)
また、請求項8に記載の発明は、請求項5に記載の発明において、前記カウント命令生成手段が生成するカウント命令を前記カウンタに入力する動作モードと、外部から入力されるカウント命令を前記カウンタに入力する動作モードとを切り替え可能にしたことを特徴とする。(実施例4;図21)
また、請求項9に記載の発明は、サンプリング機能付きセンサデバイスを用いたセンサデータ処理システムであって、請求項1乃至8のいずれかに記載のセンサデバイスとセンサデータ処理部を組み合わせ、該センサデータ処理部が、前記測定数比の設定を行い、該測定数比の情報とカウント命令を前記各センサデバイスに送信する機能を有するとともに、前記各センサデバイスからデータを受信する機能を有することを特徴とする。(実施例5;図25に対応)
また、請求項10に記載の発明は、サンプリング機能付きセンサデバイスを用いたセンサデータ処理システムであって、請求項1乃至8のいずれかに記載のセンサデバイスとセンサデータ処理部とを組み合わせ、該センサデータ処理部につながるマスタデバイスが、前記測定数比の設定を行い、該測定数比の情報とカウント命令を前記各センサデバイスに送信する機能を有するとともに、前記各センサデバイスからデータを受信する機能を有することを特徴とする。(実施例6;図28に対応)
また、請求項11に記載の発明は、サンプリング機能付きセンサデバイスを用いたセンサデータ処理システムであって、請求項1乃至8のいずれかに記載のセンサデバイスとセンサデータ処理部とを組み合わせ、該センサデータ処理部が、前記測定数比などの設定を行い、該測定数比の情報を前記各センサデバイスに送信する機能と、前記各センサデバイスからデータを受信する機能を有し、前記センサデバイスのいずれかがカウント命令生成と出力を行うことを特徴とする。(実施例7;図29に対応)
また、請求項12に記載の発明は、サンプリング機能付きセンサデバイスを用いたセンサデータ処理システムであって、請求項1乃至8のいずれかに記載のセンサデバイスとセンサデータ処理部とを組み合わせ、カウント命令生成を行う外部の周期信号生成手段を備え、該周期信号生成手段から前記各センサデバイスにカウント命令が送信され、前記センサデータ処理部が、前記測定数比の設定を行い、該測定数比の情報を前記各センサデバイスに送信する機能と、前記各センサデバイスからデータを受信する機能を有することを特徴とする。(実施例8;図30に対応)
また、請求項13に記載の発明は、サンプリング機能付きセンサデバイスを用いたセンサデータ処理システムであって、請求項1乃至8のいずれかに記載のセンサデバイスとセンサデータ処理部とを組み合わせ、カウント命令生成を行う外部の周期信号生成部を備え、該周期信号生成手段から前記各センサデバイスにカウント命令が送信され、前記各センサデバイスと前記センサデータ処理部が受信し、カウント命令によって各センサデバイスが設定された前記測定数比で自律的に測定し、前記センサデータ処理部が、受信したカウント命令をカウントし、設定した回数になったら対応する前記各センサデバイスからデータを取得することを特徴とする。(実施例9;図31に対応)
本発明によれば、複数のセンサデバイス間での測定数比を任意に設定・保持し、設定したセンサデバイス間の測定数比を維持したまま自律的に測定可能にしたサンプリング機能付きセンサデバイス及びそれを用いたセンサデータ処理システムを提供することができる。
以下、図面を参照して本発明の各実施例について説明する。
図6は、本発明に係るサンプリング機能付きセンサデバイスの実施例1を説明するための構成図で、図中符号51はセンサデバイス、511はカウンタ、512は測定数比保持部、513はサンプリングタイミング生成部、514は検知部、515はサンプリング部を示している。このセンサデバイス51は、図3における各センサデバイス31,32,33に相当し、また、図4における各センサデバイス41,42,43に相当している。この図6においては1個のセンサデバイスのみが示されている。
本発明の実施例1に係るセンサデバイス51は、複数のセンサデバイス間で測定数比を維持して測定するためのカウント命令をカウントするカウンタ511と、測定数比を所望の測定数比に設定し、複数のセンサデバイスが各自対応するように測定数比の設定値を保持する測定数比保持部512と、カウンタ511のカウンタ値と、測定数比保持部512により保持された測定数比の設定値とを入力し、カウンタ値と設定値との一致後にサンプリングタイミング信号を生成するサンプリングタイミング生成部513と、検知部514で検知された検知信号をサンプリングタイミング生成部513によるサンプリングタイミング信号でサンプリングするサンプリング部515とで構成されている。このセンサデバイス51からの測定データはCPU(図示せず)に送られて信号処理される。
図7は、図6に示した構成図における各部の信号の流れを説明するための図である。図8は、図7における各部の信号を示す図である。図8には、複数のセンサデバイス(sensor1、sensor2、sensor3)を含む場合の例が示されている。図8において、最上段に示す2つの信号(rstn、trg)は全てのセンサデバイスに対して共通に外部から入力される信号である。次にsensor1、sensor2、sensor3と示された各仕切り線の下に示す4つの信号(clk、trg_sync、trg_count、smpl_org)は、各センサデバイスが独立に保持する内部信号である。最後にsensor1,2,3と示された仕切り線の下に示す4つの信号(trg、smpl1、smpl2、smpl3)は複数のセンサデバイス間での同期の様子を見やすく示すために上に示した信号を再掲したものであり、trgは最上段のtrgと、smpl1乃至3は各センサデバイスsensor1乃至3のsmpl_orgと、それぞれ同一である。
各センサデバイスは、それぞれ独立した±10%精度を持つ1KHzの内部クロック(clk)で動作している。また、それぞれ測定数比(s2)として1,2,3という値を保持している。さらに100Hzの共通のカウント命令(trg)が入力されている。この例において、カウント命令は1ビットの信号として実現されている。各センサデバイスは、それぞれの内部クロックでカウント命令を取り込み1クロック周期分アクティブになるような内部カウント命令(trg_sync)を生成する。更に内部カウント命令がアクティブになる毎にカウント命令カウンタの値(trg_count,s1)を1ずつインクリメントする。カウント命令カウンタの値は測定数比(s2)の値−1と一致するとカウント命令カウンタリセット信号(s3)により0にリセットされる。カウント命令カウンタがリセットされた状態で内部カウント命令がアクティブになると、内部基本サンプリング信号(smpl_org)が1クロック周期分アクティブになり、この信号がサンプリングタイミング生成部513の出力であるサンプリング信号(s4)となる。
このような構成により、複数のセンサデバイス間での測定数比を任意に設定でき、設定したセンサデバイス間の測定数比を維持したまま自律的に測定可能となる。
図10は、各センサデバイスが同一周波数のクロックをそれぞれ持つ場合の説明図で、実施例1の動作を、より簡略化した図を用いてさらに説明したものである。図10では、各センサデバイスが起動する時刻がばらばらであり、かつクロックの周期にもばらつきがある。
このとき、第1乃至第3のセンサデバイスの測定数比を1,1,2とする場合を考えると、第1のセンサデバイスにおいて、測定周期t1をTに設定した場合に、第2,第3のセンサデバイスでは、測定周期t2,t3はそれぞれT,2Tに設定される。従来技術のセンサデバイスの場合、クロックの周波数ばらつきにより測定周期にズレが生じるためそれぞれ正確にT,2Tにはならず、結果的に時間とともに測定数比はずれてしまう。また、起動時刻にもずれがある場合は、測定タイミングもずれてしまう。この状況を図9の左側に示す。このような状況であっても、図6に示した構成を介して処理すれば、図9の右側に示すように、それぞれ測定周期T,2Tを維持したまま測定可能となり、センサデバイス間で測定数比がずれることはない。また、センサデバイス間で測定タイミングを合わせることも可能である。
このように、図6に示したような実施例1の構成によれば、複数のセンサデバイス間での測定数比を任意に設定・保持でき、設定したセンサデバイス間の測定数比を維持したまま自律的に測定が可能となる。
上述した実施例1の例では、センサデバイス間で測定数比を維持して測定することに加えて、測定タイミングも各センサデバイスのクロックのばらつきの範囲内で合っている。しかしながら、発明が解決しようとする課題において上述したように、センサデバイス間で測定タイミングをあえてずらしたい場合が考えられ、測定タイミングの遅延も設定可能であることは重要である。
図11は、本発明に係るサンプリング機能付きセンサデバイスの実施例2を説明するための構成図で、各検知部の測定開始時刻の遅延時間を設定・保持できるようにしたセンサデバイスの構成図である。図中符号61はセンサデバイス、611はカウンタ、612は測定数比保持部、613はサンプリングタイミング生成部、614は検知部、615はサンプリング部、616は遅延時間保持部を示している。
本発明の実施例2に係るセンサデバイス61は、複数のセンサデバイス間で測定数比を維持して測定するためのカウント命令をカウントするカウンタ611と、測定数比を所望の測定数比に設定し、複数のセンサデバイスが各自対応するように測定数比の設定値を保持する測定数比保持部612と、カウンタ611のカウンタ値と、測定数比保持部612により保持された測定数比の設定値とを入力し、カウンタ値と設定値との一致を起点としてサンプリングタイミング信号を、遅延時間保持部616による遅延時間経過後に生成するサンプリングタイミング生成部613と、検知部614で検知された検知信号をサンプリングタイミング生成部613によるサンプリングタイミング信号でサンプリングするサンプリング部615とで構成されている。
つまり、サンプリングタイミング信号によるサンプリング部615のサンプリングの開始を遅延させるために、サンプリングタイミング生成部613に所望の測定開始遅延時間を保持する遅延時間保持部616を接続させている。このセンサデバイス61からの測定データはCPU(図示せず)に送られて信号処理される。
このような構成により、所望の遅延時間を保持する遅延時間保持部616と、
サンプリングタイミング生成部613は、カウンタ値と保持された測定数比とを基に遅延時間経過後にサンプリング開始のタイミングを生成する。
図12は、図11に示した構成図における各部の信号の流れを説明するための図である。図13は、図12における各部の信号を示す図である。図13には、複数のセンサデバイス(sensor1、sensor2、sensor3)を含む場合の例が示されている。図13において、最上段に示す2つの信号(rstn、trg)は全てのセンサデバイスに対して共通に外部から入力される信号である。次にsensor1、sensor2、sensor3と示された各仕切り線の下に示す6つの信号(clkからsmpl_trg_dlyまで)は、各センサデバイスが独立に保持する内部信号である。最後にsensor1,2,3と示された仕切り線の下に示す4つの信号(trg、smpl1、smpl2、smpl3)は複数のセンサデバイス間での同期の様子を見やすく示すために上に示した信号を再掲したものであり、trgは最上段のtrgと、smpl1乃至3は各センサデバイスsensor1乃至3のsmpl_trg_dlyと、それぞれ同一である。
各センサデバイスは、それぞれ独立した±10%精度を持つ1KHzの内部クロック(clk)で動作している。また、それぞれ測定数比(s2)として5,5,5という値を保持している。遅延時間情報(a1,a2)は、最終的なサンプリングタイミングを決めるもので、内部基本サンプリング信号(smpl_org)からの遅延時間として指定する。ここで、遅延時間(a1)は、内部基本サンプリング信号から何カウント命令分遅延させてサンプリングするかを表す値であり、遅延時間(a2)は、a1個のカウント命令遅延した後に更に何クロック遅延させてサンプリングするかを表す値である。この例においては、それぞれa1は0,1,2、a2は0,0,0という値を保持している(0は遅延なしで動作する)。さらに、100Hzの共通のカウント命令(trg)が入力されている。この例においては、カウント命令は1ビットの信号として実現されている。
各センサデバイスは、それぞれの内部クロックでカウント命令を取り込み1クロック周期分アクティブになるような内部カウント命令(trg_sync)を生成する。更に内部カウント命令がアクティブになる毎にカウント命令カウンタの値(trg_count,s1)を1ずつインクリメントする。カウント命令カウンタの値は、測定数比(s2)の値−1と一致するとカウント命令カウンタリセット信号(s3)により0にリセットされる。カウント命令カウンタがリセットされた状態で内部カウント命令がアクティブになると、内部基本サンプリング信号(smpl_org)が1クロック周期分アクティブになる。この信号がアクティブになるタイミングからa1番目の内部カウント命令がアクティブになったタイミングからクロックがa2回動作したタイミングで1クロック周期分アクティブになる信号がサンプリングタイミング生成部613の出力であるサンプリング信号(smpl_trg_dly,s4)となる。
図14は、複数のセンサデバイス間の測定開始時刻の遅延時間を設定・保持できるようにした場合の説明図である。センサデバイス間での測定数比を任意に設定・保持でき、各センサデバイスの測定開始時刻の遅延時間も設定・保持できる。また、設定したセンサデバイス間の測定数比を維持したまま自律的に測定可能である。
図15は、本発明に係るサンプリング機能付きセンサデバイスの実施例3を説明するための構成図で、図6に示した実施例1に、検知部動作開始時間情報保持部と検知部制御部とを加えた構成図である。図中符号71はセンサデバイス、711はカウンタ、712は測定数比保持部、713はサンプリングタイミング生成部、714は検知部、715はサンプリング部、716は検知部動作開始時間情報保持部、717は検知部動作制御部を示している。
本発明の実施例3に係るセンサデバイス71は、複数のセンサデバイス間で測定数比を維持して測定するためのカウント命令をカウントするカウンタ711と、測定数比を所望の測定数比に設定し、複数のセンサデバイスが各自対応するように測定数比の設定値を保持する測定数比保持部712と、所望の検知部動作開始時間情報を保持する検知部動作開始時間情報保持部716と、カウンタ711からのカウンタ値と検知部動作開始時間情報保持部716からの検知部制御部時間情報に基づいて、検知部714の動作を制御する検知部動作制御部717と、カウンタ711のカウンタ値と、測定数比保持部712により保持された測定数比の設定値とを入力し、カウンタ値と設定値との一致後にサンプリングタイミング信号を生成するサンプリングタイミング生成部713と、検知部714で検知された検知信号をサンプリングタイミング生成部713によるサンプリングタイミング信号でサンプリングするサンプリング部715とで構成されている。このセンサデバイス71からの測定データはCPU(図示せず)に送られて信号処理される。
図16は、図15に示した構成図における各部の信号の流れを説明するための図である。図17は、図16における各部の信号を示す図である。図17には、複数のセンサデバイス(sensor1、sensor2、sensor3)を含む場合の例が示されている。図17において、最上段に示す2つの信号(rstn、trg)は全てのセンサデバイスに対して共通に外部から入力される信号である。次にsensor1、sensor2、sensor3と示された各仕切り線の下に示す4つ(clkからsmpl_orgまで)または5つ(clkからpower_enableまで)の信号は、各センサデバイスが独立に保持する内部信号である。最後にsensor1,2,3と示された仕切り線の下に示す6つの信号(trgからsmpl3まで)は複数のセンサデバイス間での同期と各センサデバイスの検知部動作の様子を見やすく示すために上に示した信号を再掲したものであり、trgは最上段のtrgと、smpl1乃至3は各センサデバイスsensor1乃至3のsmpl_orgと、power_enable2乃至3はセンサデバイスsensor2乃至3のpower_enableとそれぞれ同一である。
各センサデバイスは、それぞれ独立した±10%精度を持つ1KHzの内部クロック(clk)で動作している。また、それぞれ測定数比(s2)として5、5、5という値を保持している。検知部動作開始時間情報(a1,a2)は、検知部動作開始時間を決めるもので、内部基本サンプリング信号(smpl_org、s4)からの遅延時間として指定する。ここで、遅延時間(a1)は内部基本サンプリング信号から何カウント命令分遅延させて動作開始するかを表す値であり、遅延時間(a2)はa1個のカウント命令遅延した後に更に何クロック遅延するかを表す値である。この例においては、それぞれa1は0,1,2、a2は0,0,0という値を保持している。さらに100Hzの共通のカウント命令(trg)が入力されている。この例において、カウント命令は1ビットの信号として実現されている。
各センサデバイスは、それぞれの内部クロックでカウント命令を取り込み1クロック周期分アクティブになるような内部カウント命令(trg_sync)を生成する。更に内部カウント命令がアクティブになる毎にカウント命令カウンタの値(trg_count,s1)を1ずつインクリメントする。カウント命令カウンタの値は、測定数比(s2)の値−1と一致するとカウント命令カウンタリセット信号(s3)により0にリセットされる。カウント命令カウンタがリセットされた状態で内部カウント命令がアクティブになると、内部基本サンプリング信号(smpl_org)が1クロック周期分アクティブになる。この信号がサンプリングタイミング生成部713の出力であるサンプリング信号(s4)となる。
サンプリング信号がアクティブになるタイミングからa1番目の内部カウント命令がアクティブになったタイミングからクロックがa2回動作したタイミングを検知部動作制御部717で検知し、検知部714の動作を開始させ、次のサンプリング終了時(例えばサンプリング信号の立ち下がりエッジ)に検知部714を休止させ、その次の動作開始のタイミングまで待機させる。
図18(a),(b)は、本発明に係るサンプリング機能付きセンサデバイスの実施例3におけるセンサデバイス間での測定数比を任意に設定・保持でき、各検知部の動作開始時刻及び終了時刻も遅延時間として設定・保持できるようにした場合の説明図で、図18(a)は測定数比が1のとき、図18(b)は測定数比が4のときを示している。
サンプリングタイミングよりも設定した時間だけ前に検知部を動作開始させ、サンプリングタイミングになったら遅延なくサンプリングを開始し、サンプリングタイミング外のときは検知部を休止モードなどにしておくことが可能である。
図19は、本発明に係るサンプリング機能付きセンサデバイスの実施例4を説明するための構成図で、図6に示した実施例1のカウンタにカウント命令生成部を付加した構成図である。図中符号81はセンサデバイス、811はカウンタ、812は測定数比保持部、813はサンプリングタイミング生成部、814は検知部、815はサンプリング部、816はカウント命令生成部、817はカウント命令出力制御部(SW1)を示している。
本発明の実施例4に係るセンサデバイス81は、複数のセンサデバイス間で測定数比を維持して測定するためのカウント命令をカウントするカウンタ811と、カウント命令を生成するカウント命令生成部816と、生成されたカウント命令をセンサデバイス間同期用カウント命令として利用するかを制御するカウント命令出力制御部817と、測定数比を所望の測定数比に設定し、複数のセンサデバイスが各自対応するように測定数比の設定値を保持する測定数比保持部812と、カウンタ811のカウンタ値と、測定数比保持部812により保持された測定数比の設定値とを入力し、カウンタ値と設定値との一致後にサンプリングタイミング信号を生成するサンプリングタイミング生成部813と、検知部814で検知された検知信号をサンプリングタイミング生成部813によるサンプリングタイミング信号でサンプリングするサンプリング部815とで構成されている。このセンサデバイス81からの測定データはCPU(図示せず)に送られて信号処理される。
つまり、カウント命令を生成するカウント命令生成部816を設けるとともに、このカウント命令生成部816が生成するカウント命令を利用する場合には、カウンタ811にカウント命令を入力すると同時に、外部にもカウント命令を出力できる。カウント命令出力端とカウント命令生成部816との間にカウント命令出力制御部(SW1)817が設けられ、カウント命令入力端とカウンタ811のラインと、カウント命令出力端とカウント命令生成部816とのラインは接続されている。
このような構成により、後述する図25乃至図31に示すセンサデータ処理システムのように、センサデバイス間での測定数比を任意に設定・保持でき、設定したセンサデバイス間の測定数比を維持したまま自律的に測定可能となる。また、内部で生成したカウント命令に従って動作しながら、同じカウント命令を外部にも供給することも可能なカウント命令の出力制御を行うので、生成したカウント命令を外部のセンサにも出力することで、センサデバイス間の同期を取るマスタとなることが可能となる。符合101,102,103は複数のセンサデバイスを示している。
図20は、本発明に係るサンプリング機能付きセンサデバイスの実施例4の変更例を説明するための構成図で、図6に示した実施例1のカウンタにカウント命令生成部を付加した構成図である。図19ではカウント命令入力端とカウント命令出力端を備えているが、図20においてはカウント命令入出力端のみを備え、カウント命令出力制御部(SW1)817が、カウント命令入出力端とカウント命令生成部816との間に設けられている。つまり、図19に示したカウンタ命令出力とカウント命令入力のそれぞれのインタフェースを共通にした構成図である。
本発明の実施例4の変更例に係るセンサデバイスは、複数のセンサデバイス間で測定数比を維持して測定するために、2つの動作を実現できる。まず、センサデバイス間の同期を取るマスタとして動作する場合(SW1はオン)には、内部のカウント命令生成手段から生成されたカウント命令を、カウンタに入力すると同時に、外部にも出力できる。この場合、カウント命令入出力インタフェースの方向は命令の出力である。次に、外部のマスタに従ってセンサデバイス間で同期して動作する場合(SW1はオフ)には、外部からカウント命令入出力インタフェースを通して入力されるカウント命令を、カウンタに入力する。この場合、カウント命令入出力インタフェースの方向は命令の入力である。
つまり、カウント命令生成部816が生成するカウント命令を外部に出力するためのインタフェースと、外部からカウント命令を入力するためのインタフェースとが単一のインタフェースである。
このような構成により、センサデバイスのインタフェースを入力用と出力用に分けることなく、図19に示す構成に比べて簡単に、同一の機能を実現することが可能になる。これにより、個々のセンサデバイスの構成が簡単になるだけでなく、センサデータ処理システム全体の構成をより簡単にするという効果が得られる。
図21は、本発明に係るサンプリング機能付きセンサデバイスの実施例4の更なる変更例を説明するための構成図で、図6に示した実施例1のカウンタにカウント命令生成部を付加した構成図である。図20と同様にカウント命令入出力端のみを備えているが、SW2が、カウント命令入出力端とカウンタとの間に設けられている。つまり、図20に示した実施例のカウンタ命令入出力インタフェースを内部のカウント命令生成部816及びカウンタ811から切断できるようにした構成図である。
実施例4の更なる変更例に係るセンサデバイスは、複数のセンサデバイス間で測定数比を維持して測定するために、3つの動作を実現できる。まず、センサデバイス間の同期を取るマスタとして動作する場合(SW1とSW2どちらもオン)には、内部のカウント命令生成部816から生成されたカウント命令を、カウンタ811に入力すると同時に、外部にも出力できる。この場合、カウント命令入出力インタフェースの方向は命令の出力である。次に、外部のマスタに従ってセンサデバイス間で同期して動作する場合(SW1はオフ、SW2はオン)には、外部からカウント命令入出力インタフェースを通して入力されるカウント命令を、カウンタ811に入力する。この場合、カウント命令入出力インタフェースの方向は命令の入力である。さらに、外部のセンサデバイスと同期しないで独立して動作する場合(SW1はオン、SW2はオフ)には、内部のカウント命令生成部816から生成されたカウント命令を、カウンタ811に入力するが、この命令は外部へは出力されない。この場合、カウント命令入出力インタフェースは内部のカウント命令生成部816及びカウンタ811から切断されている。
このような構成により、複数のセンサデバイスを接続する物理的な接続を固定した状態であっても各センサデバイスの動作モードを切り替えることにより、複数のマスタ〜スレーブ構成を実現することが可能になる。
つまり、カウント命令生成部816が生成するカウント命令をカウンタ811に入力する動作モードと、外部から入力されるカウント命令をカウンタ811に入力する動作モードとを切り替え可能にしたものである。
また、カウント命令生成部816が生成するカウント命令を外部に出力するためのインタフェースと、外部からカウント命令を入力するためのインタフェースとが単一のインタフェースで、かつ、I2Cバスであることも可能である。この「I2C」とは、シリアルバスで、組み込みシステムや携帯電話などに使用され、Inter−Integrated Circuit の略で、一般にI2Cと表記され、「アイ・ツーシー」と呼ばれている。なお、I2Cバスを用いたデータ処理システムについては、後述する図26に示されている。
また、カウント命令生成部816が生成するカウント命令を外部に出力するためのインタフェースと、外部からカウント命令を入力するためのインタフェースとが単一のインタフェースで、かつ、SPIバスであることも可能である。この「SPI」とは、シリアル・ペリフェラル・インタフェース(Serial Peripheral Interface)で、コンピュータ内部で使われるデバイス同士を接続するバスである。パラレルバスに比べて接続端子数が少なくて済むシリアルバスの一種で、比較的低速なデータ転送を行うデバイスに利用されている。なお、SPICバスを用いたデータ処理システムについては、後述する図27に示されている。
図22は、図19に示したセンサデバイス間での測定数比を任意に設定・保持でき、設定したセンサデバイス間の測定数比を維持したまま自律的に測定可能としたセンサデータ処理システムのブロック図で、カウント命令入力端とカウント命令出力端を備えた複数のセンサデバイス101,102,103の関係を示している。
図23は、図20及び図21に示したセンサデバイス間での測定数比を任意に設定・保持でき、設定したセンサデバイス間の測定数比を維持したまま自律的に測定可能としたセンサデータ処理システムのブロック図で、カウント命令入出力端のみを備えた複数のセンサデバイス101,102,103の関係を示している。
図24(a)乃至(f)は、図21で示した構成を持つセンサデバイス間の各種接続関係を示すシステム構成図で、図中CCはカウント命令生成部、Cはカウンタ、Mはマスタ、Sはスレーブを示している。また、図中の配線の内、実線はセンサデバイス間の物理的な接続、破線は各センサデバイスの動作モードを切り替えることにより実現されるカウント命令生成部とカウンタとの間の最終的な接続を、それぞれ示す。図24(a)乃至(f)から明らかな通り、センサデバイス間の物理的な接続を固定した状態であっても各センサデバイスの動作モードを切り替えることにより、複数のマスタ〜スレーブ構成を実現できる。
このように、複数のセンサデバイス間での測定数比を任意に設定・保持し、設定したセンサデバイス間の測定数比を維持したまま自律的に測定可能にしたサンプリング機能付きセンサデバイスを提供することができる。
図25乃至図31は、上述した本発明の複数のセンサデバイスを用いた場合のセンサデータ処理システムを説明するためのブロック図である。
図25は、本発明の実施例5に係るセンサデバイスを用いた場合のデータ処理システムを説明するためのブロック図である。図中符号101乃至103はセンサデバイス、110はMCU(センサデータ処理部)を示している。なお、実線は測定数比等の設定内容やその他の命令、破線はカウント命令、一点鎖線はデータを示している。
ここで、MCU(Micro Controller Unit;マイクロコントローラ)とは、一つの集積回路にコンピュータシステムをまとめた、組み込み用のマイクロプロセッサのことである。主に電子機器の制御などに用いられる。一般的なマイクロプロセッサとは異なり、ROMやRAMなどのメモリ、I/O関連など多くの周辺機能をMCU自体に搭載している。このため、ROMなどを独立した部品として搭載する場合に比べて、システム構築のためのコストを抑えることができるようになっている。本発明では、センサデータ処理部として機能している。
本実施例5は、本発明の機能を有する各センサデバイス101,102,103と、この各センサデバイス101,102,103がつながるMCU110から構成され、このMCU110は、測定数比などの設定を行い、その情報を各センサデバイス101,102,103に送信する機能とカウント命令を生成し、各センサデバイス101,102,103に送信する機能、また、各センサデバイス101,102,103からデータを受信する機能を有する。
図26は、図25に示したブロック図における動作説明をするためのシステム構成図で、単一のカウント命令入出力インタフェースにI2Cバスを用いた場合のシステム構成図である。
各センサデバイス101,102,103とMCU110は、I2Cのインタフェースを備え、I2Cで通信を行う。MCU110で測定数比の設定を行い、各センサデバイス101,102,103に送信する。各センサデバイス101,102,103は固有のアドレスとは別にブロードキャスト用のアドレスを持ち、MCU110から送信されたカウント命令をブロードキャスト用アドレスで各センサデバイス101,102,103が同時に受信する。カウント命令によって各センサデバイス101,102,103は、設定された測定数比で自律的に測定を行い、測定が終了すると割り込みフラグを立てる。MCU110は、測定終了の割り込みフラグを検知するとデータを取りに行く。
図28は、本発明の実施例6に係る複数のセンサデバイスを用いた場合のセンサデータ処理システムを説明するためのブロック図である。
本実施例6は、本発明の機能を有する各センサデバイス101,102,103と、この各センサデバイス101,102,103がつながるマスタデバイスと、このマスタデバイス111がつながり、マスタデバイス111とデータを送受信でき、測定数比などの設定が可能なMCU110から構成され、マスタデバイス111は、MCU110から得た測定数比などの情報を各センサデバイス101,102,103に送信する機能とカウント命令を生成し、各センサデバイス101,102,103に送信する機能、各センサデバイス101,102,103からデータを受信する機能、MCU110との間でデータを送受信する機能を有している。
図29は、本発明の実施例7に係る複数のセンサデバイスを用いた場合のセンサデータ処理システムを説明するためのブロック図である。
本実施例7は、本発明の機能を有する各センサデバイス101,102,103と、この各センサデバイス101,102,103がつながるMCU110から構成され、このMCU110は、測定数比などの設定を行い、その情報を各センサデバイス101,102,103に送信する機能と、各センサデバイス101,102,103からデータを受信する機能を有するが、カウント命令を生成する機能は有していない。センサデバイスのうちいずれかがカウント命令生成と出力を行う。
図26は、図29に示したブロック図における動作説明をするためのシステム構成図で、単一のカウント命令入出力インタフェースにI2Cバスを用いた場合のシステム構成図である。
つまり、本実施例では、各センサデバイスは固有のスレーブアドレスとは別にブロードキャスト用の共通のスレーブアドレスを有する。また、MCUもこの共通のスレーブアドレスを持ってもよい。まず、各センサデバイスの測定数比の設定を行うため、MCU110がI2Cマスタとなり、各センサデバイスに対して各センサデバイスの固有アドレスを用いて、書込モードでのデータ送信を開始する。
次に、センサデバイスの1つにカウント命令を生成するように指示するため、MCUがI2Cマスタとなり、該当するセンサデバイスに対してそのセンサデバイスの固有アドレスを用いて、書込モードでのデータ送信を開始する。その後、カウント命令を生成するように指示されたセンサデバイスは、自身が管理するタイミングにより、I2Cマスタとなって共通のブロードキャスト用アドレスに対して、カウント命令として書込モードでのデータ送信を開始する。各センサデバイスが同時に受信する。各センサデバイスにおいては、このセンサデバイスから送信されたカウント命令をカウントし、設定された測定数比で自律的に測定を行う。
MCU110もブロードキャスト用アドレスを共有している場合、MCU110は、カウント命令を何回受信したかを把握しており、その情報によって、各センサデバイスからデータを収集するべきタイミングを知ることもできる。そのため、MCU110は、データを収集するべき適切なタイミングでI2Cマスタとなって各センサデバイスに対し、各センサデバイスの固有アドレスを用いて、読込モードでのデータ送信開始を開始する。これにより、指定された各センサデバイスが測定データをMCU110に送信してくるので、MCU110は、測定データを収集することができる。
また、各センサデバイスがMCU110に対して測定終了を通知することもできる。通知の手段としては、割り込みフラグを立てたり、各センサデバイスがI2CマスタとなってMCU書込モードでのデータ送信を開始する、などが考えられる。MCU110は、測定終了の通知を検知するとデータを取りに行く。さらに、各センサデバイスがI2CマスタとなってMCU書込モードでのデータ送信を指示することにより、自動的に測定データを送信することもできる。
図27は、図29に示したブロック図における動作説明をするためのシステム構成図で、単一のインタフェースにSPIバスを用いた場合のシステム構成図である。この図27において、CPUとスレーブ1及びスレーブ2は、SPIのインタフェースを備えてSPIバスで通信を行う。CPUからスレーブ1及びスレーブ2を設定する。
本実施例では、各センサデバイスはMCU(CPU)110に対してカスケード接続されており、スレーブ選択信号線(SS)とシリアルクロック信号線(SCK)が各センサデバイス間で共有されている。この構成の場合、各センサデバイスの設定レジスタやデータレジスタなどは、MCU110から1つの長いシフトレジスタとして見える。
まず、各センサデバイスの測定数比の設定を行うため、MCU110がSPIマスタとなる。この時、MCU110のシリアルクロック信号端子(SCK)は出力端子である。また、センサデバイスのスレーブ選択信号端子(SS)及びシリアルクロック信号端子(SCK)は全て入力端子である。MCU110は、CTRL端子を通して、センサデバイス間で共有されたスレーブ選択信号線(SS)をアクティブにする。このスレーブ選択信号はMCU110自身のスレーブ選択信号入力端子(SS)にも入力されるが、この時点ではMCU110は、SPIマスタとして動作しているので、MCU110の動作は何も影響されない。
この状態でMCU110は、シリアルクロック信号端子とシリアル出力信号端子を用いて、全てのセンサデバイスの設定レジスタがカスケード接続されたレジスタチェーンにアクセスし、測定数比の設定を行う。さらに、センサデバイスの1つにカウント命令を生成するように指示する設定と、測定データを送信すべき所望のタイミング(何回カウントしたら送信するのかで指定)と送信すべき所望の測定データ数の設定とを行う。
ここまでの操作が完了したら、MCU110はマスタ状態を解除し、自身をスレーブモードに設定する。以降の状態では、MCU110のシリアルクロック信号端子(SCK)は入力端子である。また、カウント命令を生成するように設定されたセンサデバイスは、自身のスレーブ選択信号端子(SS)およびシリアルクロック信号端子(SCK)を出力端子に変更する。
カウント命令を生成するように設定されたセンサデバイスは、自身が管理するタイミングにより、SPIマスタとなってスレーブ選択信号線(SS)にカウント命令を出力する。カウント命令は、例えば、スレーブ選択信号線(SS)の立ち下がりエッジとする。このカウント命令は各センサデバイスが同時に受信する。各センサデバイスにおいては、カウント命令をカウントし、設定された測定数比で自律的に測定を行う。
さらに、カウント命令を生成するように設定されたセンサデバイスは、設定された測定データを送信すべきタイミングを検出したら、スレーブ選択信号線(SS)をアクティブにしたままで、送信すべき測定データ数に対応するクロック信号をシリアルクロック信号線(SCK)に対して送出する。これにより、全てのセンサデバイスのデータレジスタがカスケード接続されたレジスタチェーンからMCUに対して、測定データが順次転送されることになり、MCUは所望の測定データを収集することができる。
カスケード接続されたSPIバス構成においては、センサデバイスからMCU110にデータ送信されているタイミングで、MCU110からセンサデバイスにもデータを送信することができる。そのため、MCU110が測定データの構成を変更したい場合などには、所望の設定情報を送信することで、センサデバイスからSPIマスタの権限を取り戻すこともできる。
図30は、本発明の実施例8に係る複数のセンサデバイスを用いた場合のセンサデータ処理システムを説明するためのブロック図である。
本実施例8は、本発明の機能を有する各センサデバイス101,102,103と、この各センサデバイス101,102,103がつながるMCU110と、カウント命令生成を行う外部の周期信号生成部112から構成され、この周期信号生成部112が各センサデバイス101,102,103にカウント命令を送り、MCU110は、測定数比などの設定を行い、その情報を各センサデバイス101,102,103に送信する機能と、各センサデバイス101,102,103からデータを受信する機能を有する。
図31は、本発明の実施例9に係る複数のセンサデバイスを用いた場合のセンサデータ処理システムを説明するためのブロック図で、図30に示した実施例8の他の実施例を示している。
本実施例9は、本発明の機能を有する各センサデバイス101,102,103と、この各センサデバイス101,102,103がつながるMCU110と、カウント命令生成を行う外部の周期信号生成部112から構成され、MCU110が測定数比の設定を行い、その情報を各センサデバイス101,102,103に送信する。カウント命令受信用のラインを用意し、外部の周期信号生成部112から各センサデバイス101,102,103にカウント命令が送信され、各センサデバイス101,102,103とMCU110が受信する。カウント命令によって各センサデバイス101,102,103は設定された測定数比で自律的に測定を行う。MCU110は、受信したカウント命令をカウントし、設定した回数になったら対応する各センサデバイス101,102,103からデータを取りに行く。
このように、複数のセンサデバイス間での測定数比を任意に設定・保持し、設定したセンサデバイス間の測定数比を維持したまま自律的に測定可能にしたサンプリング機能付きセンサデバイスを用いたセンサデータ処理システムを提供することができる。