This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLA2528: Conversion Time

Part Number: TLA2528
Other Parts Discussed in Thread: ADS7128

Hi there,

I am yet another victim of the substantial TLA2528 datasheet errors.

I have the chip on several boards. I have successfully implemented it using a mixture of analogue in, digital in and digital out on each board. The auto-sequence works fine, but as far as I can tell there's no way to get it to initiate autonomous conversions without the clock stretching occurring when I request the data. This is a significant problem. The only way to get quality analogue data is with averaging and oversampling, but I can't wait over a millisecond for each TLA2528 to do that while the line is busy. It needs to do these conversions autonomously when it's in auto-sequence mode and then we just read back the latest result.

The datasheet alludes to autonomous mode on page 16 and enabling STATS_EN, initiating conversions with CNVST and reading back from the undocumented RECENT_CHx_LSB & RECENT_CHx_MSB registers on page 15.

Let's focus on CNVST as that's what is actually documented in the registers section of the datasheet. What is the function of this if the conversions occur only when you request the data, in either one-shot or auto-sequence mode?

If there's no way for it to initiate conversions autonomously and bypass this long delay on the bus, this part is useless. I use the I2C bus for other stuff, including reading buttons on these chips!

I hope TI can shed some light on what's missing.

  • Hi Tad,

    Peripherals on the I2C bus are required to keep SCL low, in response to a read instruction, until the response is ready or the device is busy.

    In the TLA2528, the I2C read  instruction is used to initiate a conversion. Hence the TLA2528 holds up the I2C bus until the response is ready. The bus is held up only for a short time when not using averaging. when averaging the data, the bus hold-up is longer (because of averaging). 

    The ADS7128, pin-compatible with the TLA2528, allows the user to initiate conversion by writing to a register. Hence the I2C bus is not held up. Please see this section in the ADS7128 datasheet - Programmable Averaging Filter.