TSL2568, TSL2569
LIGHT-TO-DIGITAL CONVERTER
TAOS091D DECEMBER 2008
17
The LUMENOLOGY r Company
r
r
Copyright E 2008, TAOS Inc.
www.taosinc.com
APPLICATION INFORMATION: SOFTWARE
Basic Operation
After applying V
DD
, the device will initially be in the power-down state. To operate the device, issue a command
to access the CONTROL register followed by the data value 03h to power up the device. At this point, both ADC
channels will begin a conversion at the default integration time of 400 ms. After 400 ms, the conversion results
will be available in the DATA0 and DATA1 registers. Use the following pseudo code to read the data registers:
// Read ADC Channels Using Read Word Protocol RECOMMENDED
Address = 0x39
//Slave addr also 0x29 or 0x49
//Address the Ch0 lower data register and configure for Read Word
Command = 0xAC
//Set Command bit and Word bit
//Reads two bytes from sequential registers 0x0C and 0x0D
//Results are returned in DataLow and DataHigh variables
ReadWord (Address, Command, DataLow, DataHigh)
Channel0 = 256 * DataHigh + DataLow
//Address the Ch1 lower data register and configure for Read Word
Command = 0xAE
//Set bit fields 7 and 5
//Reads two bytes from sequential registers 0x0E and 0x0F
//Results are returned in DataLow and DataHigh variables
ReadWord (Address, Command, DataLow, DataHigh)
Channel1 = 256 * DataHigh + DataLow
//Shift DataHigh to upper byte
// Read ADC Channels Using Read Byte Protocol
Address = 0x39
//Slave addr also 0x29 or 0x49
Command = 0x8C
//Address the Ch0 lower data register
ReadByte (Address, Command, DataLow)
//Result returned in DataLow
Command = 0x8D
//Address the Ch0 upper data register
ReadByte (Address, Command, DataHigh)
//Result returned in DataHigh
Channel0 = 256 * DataHigh + DataLow
//Shift DataHigh to upper byte
Command = 0x8E
//Address the Ch1 lower data register
ReadByte (Address, Command, DataLow)
//Result returned in DataLow
Command = 0x8F
//Address the Ch1 upper data register
ReadByte (Address, Command, DataHigh)
//Result returned in DataHigh
Channel1 = 256 * DataHigh + DataLow
//Shift DataHigh to upper byte