単一のI²Cバスを使用した複数の近接センサの組み合わせ
DigiKeyのヨーロッパ担当編集者の提供
2017-01-18
過去数年の間に、近接センサへの関心が急速に高まりました。 例えば、近接センサは、スマートフォンが電話の発信や受信に使用されているときにタッチ感度を無効にするために広く使用され、ユーザーが画面を見ていないときにスマートフォンの消費電力を減少させます。 また、通話中に電話機がユーザーの身体の一部と接触した場合に誤った切断のリスクを最小限に抑えます。 最近まで、近接センサは、IR光のパルスを発する赤外線LEDと、ターゲットから反射された光の振幅を測定する赤外線検出器とで構成されていました。 この技術により、ホストプロセッサはセンサとターゲット間の距離を推定することができました。 しかし、その正確さはターゲットから反射される光の量が、ターゲット表面の色や平滑さなどのいくつかの要因に依存するという事実によって制限されます。
STMicroelectronicsのFlightSense™テクノロジは全く異なるアプローチを採用しています。 それは、光が最も近い物体に移動し、センサまで反射されるのにかかる時間を正確に測定します。 この「飛行時間」(ToF)アプローチの利点は、光が戻るのにかかる時間が反射される光の量ではなく、移動した距離にのみ依存するということに依ります。 光の速度は高い精度で知られているので、戻りの距離は単純に「光の速度」×「時間遅れ」となります。
VL53L0Xは、今日の市場で最も小型のパッケージに収納された新世代のToFレーザー測距モジュールで、非常に広い範囲のターゲットの色と反射率特性に対して正確な測距を提供します。 このデバイスは、選択された消費電力/精度のトレードオフに応じて、最高2mの絶対距離を最高3%の精度で測定することができます。

図1:VL53L0Xのブロック図
図1に示すように、VL53L0Xは、人間の目には全く見えない940nmのVCSELエミッタ(垂直共振器面発光レーザ)を内蔵しています。 このレーザーはクラス1レーザーデバイス用の最新規格(IEC 60825-1:2014 - 第3版)に完全に準拠しています。 内部の物理的な赤外線フィルタと組み合わせることで長距離、周囲光に対するより高い耐性およびカバーガラスの光学クロストークに対するより高い耐性が可能になります。 反射されたIR光は、最先端の医療用スキャナに最適な高感度の最新のSPAD(Single Photon Avalanche Diode)アレイによって測定されます。
1つの設計での複数のVL53L0Xの使用
ToF測距装置の初期市場は、センサの前にある距離だけを測定する単一のデバイスに焦点を当てていましたが、ロボティクスやジェスチャセンシングなどの多くの新しいアプリケーションでは、複数の近接センサを使用する必要があります。 これらのアプリケーションで考慮する必要がある問題の1つは、ホストプロセッサのGPIOリソースに対する要求事項です。
1つのVL53L0xセンサには、ホストMCUのGPIOピンの4つが必要です(図1)。 これらのうち2つはI²Cシリアルクロック(SCL)とシリアルデータ(SDA)信号を提供し、1つ(XSHUT)はMCUがセンサをリセットするために使用され、4番目(GPIO1)はタイムクリティカルなアプリケーションでのホストコントローラにインタラプトを提供し、アプリケーションが新しい測距に高速応答する必要がない場合はポーリングされた入力として使用することができます。
ただし、すべてのセンサが同じI²Cクロックとデータラインを共有できるため、2つのセンサが8つのGPIOピンを必要としたり、3つのセンサが12のGPIOピンを必要とするわけではありません。 複数のセンサが同じI²Cバスを共有する場合、異なるバスアドレスを持たなければなりません。 これらは、ホストMCUが各センサを順次リセットし、直ちにWRITEコマンドを発行することによって割り当てられます。 従って、MCUは、各センサをGPIOピンの1つを介して直接、またはGPIOエキスパンダチップを介して個別にリセット/再起動できる必要があります。
基本的に、設計者がGPIO数、パッケージサイズ、ボードの複雑さの点でMCUを過度に指定したくない場合、3つの基本的なシナリオがあります。
シナリオ1は、使用可能なGPIOピンの数(2つのGPIOピンがすでにI²Cクロックおよびデータ信号専用である場合)が、VL53L0x近接センサの数の2倍以上の場合をカバーしています。 このシナリオでは、GPIOエクスパンダチップは不要で、各センサのXSHUTピンと割り込み(GPIO1)ピンは、ホストMCUのGPIOピンに直接接続できます。
2番目のシナリオでは、システム内のすべてのVL53L0xセンサのXSHUTおよび割り込み(GPIO1)信号を処理するのに十分なGPIOピンがない場合について説明します。 図2に示すこのシナリオでは、FairchildのFLX6408UMXなどの1対のGPIOエキスパンダが最大8個の近接センサを使用してI²Cバスを共有できます。 エキスパンダの1つは、XSHUTリセット信号をセンサに供給するために使用され、もう1つは出力レンジング信号を受信するために使用されます。

図2:I²C GPIOエキスパンダの例
最後に、3番目のシナリオではボードにN個のセンサがあり、MCUには少なくともGPIOピンがN+1個ある中間の場合で、設計者はGPIOエクスパンダの1つを不要にできます。 このシナリオでは、GPIOエキスパンダ(図2のU1)を使用してセンサにXSHUT信号を供給し、センサ出力をMCUのGPIOピンに直接接続することをお勧めします。 これにより、システムはGPIOエキスパンダを介して割り込み信号をルーティングする際に伴う時間遅延を回避することにより、レンジング測定値の変化に対してより迅速に応答することができます。
VL53L0xを使用した設計
VL53L0xアプリケーションの開発を加速するため、STはSTM32 MCU開発環境で使用するX-NUCLEO-53LAO1拡張ボードやSTSW-IMG005 APIパッケージなど、さまざまな開発ボードを提供しています。 ユーザーが可能な限り最終的なアプリケーションに近い環境でVL53L0Xを検証できるように、X-NUCLEO-53L0A1拡張ボードには、0.25mm、0.5mmおよび1mmの3種類の高さのスペーサーを使用できるホルダが付属しており、VL53L0Xとカバーガラス間のエアギャップをシミュレートできます。
VL53L0X APIパッケージは、VL53L0Xを制御するCファンクションのセットを提供します。これには、エンドユーザアプリケーションの開発を可能にするセンサの初期化と測距データの取得が含まれます。 これは、絶縁されたプラットフォーム層(主に低レベルのI²Cアクセス用)を介して、あらゆる種類のプラットフォーム上でコンパイルできるように構成されています。
結論
近接センシングは、最新のデバイスで新しい時代を迎え、設計者が単一の制御ボードから複数のセンサを管理する能力を活用できる新しいアプリケーションを素早く手頃な価格で試用し、プロトタイプ化し、工業化できるようにする、ハードウェアおよびソフトウェアサポートツールと組み合わせて、前例のないレベルの精度を提供します。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。


