查看: 1324|回复: 0
打印 上一主题 下一主题

如何利用Maxim的环境光传感器进行EOC检测

[复制链接]
跳转到指定楼层
沙发
发表于 2015-11-8 18:54:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

摘要:本应用笔记主要说明如何利用Maxim环境光传感器的中断引脚实施EOC (转换结束)检测,以改善传感器对测量值的响应时间。



引言

  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所示。



RegisterBitRegister addressPower-on reset stateR/W
76543210
Status
Interrupt statusINTS0x000x00R
Interrupt enableINTE0x010x00R/W
Configuration
ConfigurationCONTMANUALCDRTIM[2:0]0x020x03R/W
LUX reading
LUX high byteE3E2E1E0M7M6M5M40x030x00R
LUX low byteM3M2M1M00x040x00R
Threshold set
Upper threshold
High byte
UE3UE2UE1UE0UM7UM6UM5UM40x050xFFR/W
Lower threshold
High byte
LE3LE2LE1LE0LM7LM6LM5LM40x060x00R/W
Threshold timerT7T6T5T4T3T2T1T00x070xFFR/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引脚,等待中断触发信号,引脚将发出转换结束信号,可读取有效的光强测量数据。

第五步 重复第三步。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表