マキシムの環境光センサーに変換終了検出を実装する方法

要約

このアプリケーションノートでは、マキシムの環境光センサーの割込みピンを使って変換終了検出を実装し、測定に対する応答時間を向上させる方法について説明します。

はじめに

マキシムの高性能環境光センサーのMAX44007およびMAX44009は、フォトダイオート、フロントエンドアナログ回路(AFE)、2つの高分解能ADC、デジタル減算/データフォーマット回路、およびI²Cインタフェースブロックを組み合わせています。これらの光センサーは、業界最先端の低動作電流レベル(0.65µA)、低電圧1.8V ICC動作、超低光感度、および小型2mm x 2mm x 0.6mmのパッケージも提供します。

光積分時間が100msの倍数(100/200/400/800msなど)のとき、これらの環境光センサーは優れた50Hz/60Hz除去を提供します。しかし、多くの場合、アプリケーションは高信頼の環境光センサー情報にアクセスする際の不必要な遅延を防ぐため、変換終了信号が必要になります。このアプリケーションノートでは、これらのデバイスの割込みピンを使って変換終了機能を実装する方法について説明し、I²Cレジスタの設定についても詳しく説明します。

レジスタマップ

表1に、これらの光センサーのI²Cレジスタマップを示します。.

Register Bit Register Address Power-On Reset State R/W
7 6 5 4 3 2 1 0
Status
Interrupt Status INTS 0x00 0x00 R
Interrupt Enable INTE 0x01 0x00 R/W
Configuration
Configuration CONT MANUAL CDR TIM[2:0] 0x02 0x03 R/W
LUX Reading
LUX High Byte E3 E2 E1 E0 M7 M6 M5 M4 0x03 0x00 R
LUX Low Byte M3 M2 M1 M0 0x04 0x00 R
Threshold Set
Upper Threshold
High Byte
UE3 UE2 UE1 UE0 UM7 UM6 UM5 UM4 0x05 0xFF R/W
Lower Threshold
High Byte
LE3 LE2 LE1 LE0 LM7 LM6 LM5 LM4 0x06 0x00 R/W
Threshold Timer T7 T6 T5 T4 T3 T2 T1 T0 0x07 0xFF R/W

変換終了検出の実装

実装は、割込み検出ロジックはADCが有効なデータを持った後にのみ、すなわちADC変換の終了時にICの内部でアクティブ化されるという事実に基づきます。進行中のADC変換/積分時間の間、割込み検出ロジックは²Cレジスタ設定の変化を無視します。この部品が(下限スレッショルドを上限スレッショルドより大きい値に設定するなどの方法で)変換の結果に関係なく割込みをトリガするように設定された場合、割込みピンを監視することによって、変換終了信号を取得することができます。

以下に、手順ごとに説明したアルゴリズム例を示します。

手順1:クイックアクセス用に設定します。

1100 0111をConfigurationレジスタ0x02に書き込みます。これによって、部品は次の非デフォルト設定で設定されます。
CONT = 1 (即時かつ連続変換の場合)
MANUAL = 1 (積分時間の最小マニュアル調整を許可する場合)
TIM = 111 (積分時間を最小可能= 6.25msに設定する場合)
手順2:変換終了時と同時に強制割込みトリガがでるように設定します。
下限スレッショルドハイバイト = 1111 1111を書き込みます。

上限スレッショルドハイバイト = 0000 0000を書き込みます。
スレッショルドタイマー = 0000 0000を書き込みます。

手順3:ユーザーコマンドが有効な変換を開始するまで「待機」状態を維持します。
この間、部品からの任意の割込みトリガを無視します。
手順4:有効な変換の起動を開始します(マスターによるコマンドの後)。
1000 0000をConfigurationレジスタ0x02に書き込みます。これによって、オートレンジと連続変換に設定されます。

設定されている割込みをすべてクリアするためInterrupt Statusレジスタ0x00を読み取ります。アクティブローINTピンがハイに移行します。

アクティブローINTピンを監視することによって、割込みトリガを待ちます(注:手順1のTIM設定によって最大待機時間は6.25msとなります)。

これで、実際の光センサー測定が開始されます。

設定されている割込みをすべてクリアするためInterrupt Statusレジスタ0x00を読み取ります。アクティブローINTピンがハイに移行します。

1100 0111を書き込み、現在の変換期間の終了後に6.25ms積分時間を返すように設定します。

有効な光測定の変換終了を知らせるアクティブローINTピンを監視することによって、割込みトリガを待ちます。

手順5:手順3に戻ります。

著者

Generic_Author_image

Prashanth Holenarsipur