Maxim的MAX9635、MAX44007和MAX44009高性能环境光传感器,在单一芯片集成了光电二极管、模拟前端(AFE)、两路高分辨率模/数转换器(ADC)、数字比较和数据格式化处理电路及I?C接口功能。这些光传感器具有业内的低工作电流(0.65?A)、ICC低工作电压(1.8V)、超低光敏感度,采用2mm x 2mm x 0.6mm小尺寸封装。
当光积分时间为100ms的倍数(如:100/200/400/800ms)时,这些环境光传感器能够很好地抑制50Hz/60Hz噪声干扰。然而,多数情况下,很多应用需要一个转换完成信号,在可靠读取环境光传感器信息时避免不必要的延迟。本应用笔记主要介绍如何使用器件的中断引脚提供转换完成指示,详细说明I²C寄存器的设置方法。
寄存器
光传感器的I²C寄存器如表1所示。
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 |
UE3 |
UE2 |
UE1 |
UE0 |
UM7 |
UM6 |
UM5 |
UM4 |
0x05 |
0xFF |
R/W |
Lower threshold |
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转换期间/积分时间内,中断检测逻辑将忽略I?C寄存器设置的变化。如果寄存器设置为不考虑转换结果而触发中断,例如,所设置的下限高于上,可通过监测中断引脚获得转换完成信号。
下面,按步骤详细说明一个算法示例。
步 配置寄存器,快速访问。
向配置寄存器0x02写入1100 0111,将寄存器配置为以下非默认参数:
CONT = 1:立即转换和连续转换
MANUAL = 1:允许手动调整积分时间
TIM = 111:将积分时间设置为值 = 6.25ms
第二步 配置寄存器,转换结束时立即、强制触发中断。
写入下限高字节 = 1111 1111
写入上限高字节 = 0000 0000
写入门限定时器 = 0000 0000
第三步 保持在“等待”状态,直到用户启动有效转换。
在此期间,忽略任何来自寄存器的中断触发信号。
第四步 收到用户命令后,启动有效转换过程。
向配置寄存器写入1000 0000,实现寄存器的自动量程设置和连续转换配置。
读取中断状态寄存器0x00,清除任何中断条件。/INT引脚应置为高电平。
检测/INT引脚,等待中断触发信号(注意:由于步中的TIM设置,长等待时间为6.25ms)
随后,即可开启光传感器测量。
读取中断状态寄存器0x00,清除任何中断条件。/INT引脚应为高电平。
当前转换过程完成后,写入1100 0111,将寄存器的积分时间重新设置为6.25ms。
检测/INT引脚,等待中断触发信号,引脚将发出转换结束信号,可读取有效的光强测量数据。
第五步 重复第三步。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。