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: Auto Sequence Reading Issue

Part Number: TLA2528

Tool/software:

I am having issues with the Auto Sequence Read where during transmission I am seeing the SCLK stay low and the SDA stay high in the middle of transmission. I am currently testing if this is an issue with either my host efr32zg23 or the peripheral TLA2528.

I left all the channels as the default configuration for analog reading and enabled all of the channels in the AUTO_SEQ_CH_SEL to 0xff as well as setting the SEQUENCE_CFG to 0x01 at startup to enable the sequence mode.

The I2C clock is currently set at 400 kHz

I am currently reading this at timer set intervals and this issue frequently occurs when looking at the data through a scope or logic analyzer. The Bus stays this way until the timeout on the I2C function breaks the transfer. I'm not sure if I am missing something or maybe I am attempting to read the device too fast currently at 100ms interval?

Any insight or guidance on this issue is appreciated, thanks in advance!

  • Hi Jesus,

    It doesn't seem to me that you are reading the data too fast. My initial thought based on the behavior you describe (the SCL line stays low while SDA stays high) is that this is the TLA2528 stretching SCL (holding it low) until the conversion is complete. How long does it take for the timeout to happen? Do you know if the controller you're using explicitly supports clock stretching with I2C peripherals?

    Regards,
    Joel

  • In this specific setup the SCL would stay low for about 75ms until the I2C function timeout counter would break the I2C read function. The sequential read works fine sometimes but other times it causes that lockup. It always seems to happen halfway through the auto sequence read. I am also using the default conversion time setup with the default high speed oscillator.

    I'll read through my host device data sheet and i2c driver functions to confirm I2C clock stretching issues.

  • Hi Jesus,

    I don't think this is the TLA2528 holding the SCL line down with clock stretching anymore, since it should only happen after the first acknowledge after the device address is provided. Do you have other TLA2528 devices to switch out and compare with? This could be a controller issue, but not sure exactly what might be causing it to stop providing SCL. 

    Regards,
    Joel

  • Can you share an oscilloscope capture? It might help to look at the how the line behaves before it is pulled down.

    Regards,
    Joel