ZHCSLE6A August 2023 – December 2023 OPT4003-Q1
PRODUCTION DATA
OPT4003-Q1 测量照度并使用比例 ADC 代码更新输出寄存器。器件的输出由两部分表示:4 个 EXPONENT 寄存器位和 20 个 MANTISSA 位。这种二进制对数满量程的排列方式在一定范围内具有线性表示,有助于覆盖较大的动态测量范围。MANTISSA 表示在给定满量程内与测量的照度成正比的线性 ADC 代码,而 EXPONENT 位表示当前所选的满量程。所选范围既可通过自动范围选择逻辑自动确定,也可根据 表 6-3 手动选择。
可以使用以下公式来确定照度级别。首先,使用方程式 1 或方程式 2 计算 MANTISSA。接下来,使用方程式 3 或方程式 4 计算 ADC_CODES。最后,使用方程式 5 计算照度。
或
其中:
RESULT_MSB 寄存器承载 MANTISSA 的 12 个最高有效位,而 RESULT_LSB 寄存器承载 MANTISSA 的 8 个最低有效位。使用上述公式即可得到 20 位 MANTISSA 数字。四个 EXPONENT 位直接从寄存器读取。
计算 EXPONENT 和 MANTISSA 部分后,请使用方程式 3 或方程式 4 计算线性化的 ADC_CODES。
或
寄存器 E 的最大值为 8,因此 ADC_CODES 实际上是一个 28 位数字。如方程式 5 所示,半对数数字转换为线性 ADC_CODES 表示,这很容易转换为照度 (lux)。
MANTISSA 和 ADC_CODES 都是很大的数字,分别需要 20 位和 28 位来表示。在开发用于这些计算的固件或软件时,分配适当的数据类型以防止数据溢出非常重要。建议对较大的数据类型进行一些显式类型转换,例如左移运算 (<<) 前的 32 位表示。