AP3216C 是一款集成了 环境光传感器(ALS)、接近传感器(PS) 和 红外发射器(IR LED) 的光学传感器芯片,广泛用于智能手机、平板电脑、笔记本电脑等设备,以提供自动亮度调节和接近检测功能。
AP3216C 主要特性
-
环境光传感器(ALS)
- 支持光照强度检测(Lux 计算)。
- 16位分辨率 。
- 具有红光和红外光补偿,适应不同光照条件 。
- 自动调整增益,适应不同光照环境。
- 动态范围广,可测量 0.01~64K Lux 亮度
-
接近传感器(PS)
- 12位分辨率,支持近距离检测
- 采用 IR LED 发射红外光,并通过光电二极管检测反射信号,物体越近,反射的红外光信号越强;物体越远,反射的信号就会变弱。
- 具备环境光噪声抑制,提高检测精度
- 支持中断模式,减少MCU轮询负担。
-
通信接口
- I²C(地址 0x1E)
- 支持 100kHz / 400kHz 速率
-
供电电压
- 2.4V ~ 3.6V,低功耗设计
- 可直接供电于 3.3V 或 3.0V MCU
-
低功耗模式
- 休眠模式下功耗极低,适合低功耗应用
- ALS和PS可独立控制,节能模式支持自动休眠。
典型应用
- 手机、平板的屏幕亮度自动调节
- 接近检测(如自动关闭屏幕、接听电话时屏幕熄灭)
- 智能灯光控制
- 其他智能设备的人机交互检测
使用AP3216C的常见步骤
通常,AP3216C 通过 I²C 总线与 MCU 进行通信。典型的初始化过程包括:
- I²C 设备地址(0x1E) 读取/写入数据
- 初始化传感器,配置模式寄存器
- 读取环境光传感器数据(ALS_DATA_L / ALS_DATA_H)
- 读取接近传感器数据(PS_DATA_L / PS_DATA_H)
0号寄存器(System Configuration)的介绍及使用示例
0号寄存器的名字叫做“System Configuration”,它的具体配置情况如下面这幅截图所示:
取值为 0b100(0x04)时的SW reset
代表软复位(Software Reset)芯片。
使用示例详情见 https://blog.youkuaiyun.com/wenhao_ir/article/details/146319007 【搜索“对光照数据的读取操作”】
存储光照强度值的ALS Data
的介绍及使用示例
ALS Data
寄存器的介绍和使用示例都请见 https://blog.youkuaiyun.com/wenhao_ir/article/details/146319007 【搜索“读取光照强度数据”】
存储距离值的PS Data
寄存器的介绍及使用示例
PS Data
寄存器一共有两个,分别为PS Data Low和PS Data High,详情如下:
其中第7位(Object detect)的0值代表物体远离传感器,或没有物体在传感器检测范围内;1值代表物体接近传感器,或物体在检测范围内。
第6位(IR overflow)的两个值的含义如下:
Bit6 值 | 状态 | 含义 |
---|---|---|
0 | 数据有效(Valid) | 红外(IR)和接近传感器(PS)数据有效,并且检测到了物体 |
1 | 数据无效(Invalid) | 红外(IR)和接近传感器(PS)数据无效,但仍检测到物体 |
这个位 主要用于指示接近传感器数据的可靠性,当 Bit6 = 1
时,表示当前读取的数据可能受到干扰或不稳定,需要进行额外处理或重新测量。
🔹 为什么会出现“无效数据”?
可能导致 Bit6 = 1
(无效数据)的情况:
- 环境光干扰
- 如果环境中的 红外光较强(例如太阳光或某些 LED 灯),可能会干扰 AP3216C 的红外接近检测,使得数据不可靠。
- 接近传感器饱和
- 当物体离传感器太近或 红外反射过强,传感器可能会饱和,导致数据无效。
- 传感器初始化或数据未更新
- 在 传感器刚启动 或 数据未完全刷新 时,可能会出现短暂的无效数据状态。
- 传感器表面被遮挡
- 如果 AP3216C 传感器镜头被灰尘、污垢或透明胶带覆盖,会影响红外检测,使数据变得不可靠。
PS Data Low的[3:0]是芯片得到的距离值的低4位,PS Data High的[5:0]是芯片得到的距离值的高6位,所以距离值实际上是由10位表示。
使用示例见 https://blog.youkuaiyun.com/wenhao_ir/article/details/146319007 【搜索“读取距离值”】