NOA1305
http://onsemi.com
10
POWER_CONTROL Register (0x00)
The POWER_CONTROL register is used to power the
device up and down via software control. By default this
device powers up in the power ON mode. To reduce power
consumption, the NOA1305 can be powered down at any
time by writing 0x00 to this register.
To power up the device, use the following write command
sequence:
1. Issue Start command
2. Issue 0x72 (lower seven bits of I2C slave address
0x39 followed by write−bit 0)
3. Issue 0x00 for the POWER_CONTROL register
address
4. Issue 0x08 to put the device in the power on state
5. Issue Stop command
After applying power to the device or after issuing a
power−on command, stable ALS_DATA and INT signal
may not be available for the first three integration times. For
example with a default of 200 ms integration time, the I2C
master should wait at least 600 ms before accessing this
device.
To power down the device, use the following write
command sequence:
1. Issue Start command
2. Issue 0x72 (lower seven bits of I2C slave address
0x39 followed by write−bit 0)
3. Issue 0x00 for the POWER_CONTROL register
address
4. Issue 0x00 to put the device in the power down
state
5. Issue Stop command
After issuing a power−on command, the I2C master
should wait at least 1.5 ms before accessing this device.
The data registers are set to their default values when
power is first applied to the device. However the
power−down and power−on commands do not affect the
values of the data registers.
The test modes provide a useful debugging mode as they
cause the device to output known values in place of the
ALS_DATA values.
RESET Register (0x01)
Software reset is controlled by this register. Setting this
register followed by an I2C_STOP sequence will
immediately reset the NOA1305 to the startup standby state
and clear the ALS_DATA register. However the values of
the other data registers are not affected.
To reset the device, use the following write command
sequence:
1. Issue Start command
2. Issue 0x72 (lower seven bits of I2C slave address
0x39 followed by write−bit 0)
3. Issue 0x01 for the RESET register address
4. Issue 0x10 to reset the device
5. Issue Stop command
After issuing a reset command, the device will reset the
RESET register to 0x00.
INTEGRATION_TIME Register (0x02)
The INTEGRATION_TIME register controls the
integration time of the ambient light sensor which directly
affects the sensitivity.
To set the integration time, use the following write
command sequence:
1. Issue Start command
2. Issue 0x72 (lower seven bits of I2C slave address
0x39 followed by write−bit 0)
3. Issue 0x02 for the INTEGRATION_TIME register
address
4. Issue 0x02 to set the integration time to 200 ms
(for example)
5. Issue Stop command
INT_SELECT Register (0x03)
The INT_SELECT register controls the polarity of the
interrupt pin INT and enables or disables interrupts on that
pin.
To specify low to high transitions on INT to signal an
interrupt, use the following write command sequence:
1. Issue Start command
2. Issue 0x72 (lower seven bits of I2C slave address
0x39 followed by write−bit 0)
3. Issue 0x03 for the INT_SELECT register address
4. Issue 0x01 to specify low to high signaling on INT
5. Issue Stop command
To specify low to high transitions on INT to signal an
interrupt, use the following write command sequence:
1. Issue Start command
2. Issue 0x72 (lower seven bits of I2C slave address
0x39 followed by write−bit 0)
3. Issue 0x03 for the INT_SELECT register address
4. Issue 0x02 to specify high to low signaling on INT
5. Issue Stop command
Disabling interrupts causes the INT pin to be held in the
open−drain or high state. To disable interrupts completely on
the INT pin, use the following write command sequence:
1. Issue Start command
2. Issue 0x72 (lower seven bits of I2C slave address
0x39 followed by write−bit 0)
3. Issue 0x03 for the INT_SELECT register address
4. Issue 0x03 to disable interrupts on INT
5. Issue Stop command
INT_THRESH_LSB and INT_THRES_MSB Registers
(0x04, 0x05)
The INT_THRESH register specifies an ambient light
threshold value for signaling interrupts on the INT pin. The
INT_THRESH register is 16−bits wide to match the 16−bit
ALS_DATA register and is accessed over the I2C bus as two
8−bit registers for the least and most significant bits (LSB
and MSB). On any measurement cycle where the
ALS_DATA intensity count exceeds the INT_THRESH
value, the INT pin will become active and will remain active
until a measurement cycle where the count is less than or