Part Number: TCA9539
Other Parts Discussed in Thread: ADS7128, TCAL9539
Hi,
I have two TI's I2C devices (TCA9539, and ADS7128) that are placed on the same I2C bus (I2CA) pin 98 & 99 of the TMS320F28375 micro controller. The TCA9539 can support the clock frequency of 400KhZ and it has an address of 0x74 and the ADS7128 can support up to 1Mhz and it has an address of 0x17. I have a very tight loop of 1ms requirement and software needs to do lots of thing in that loop. In order to meet this requirement I need to set the I2C clock to 1Mhz when the software read the ADS7128 and then switch to 400K to read the TCA9539. The clock switching back and forth goes on for ever. I listed the pseudocode below for your reference.
Just to let you know, I have used the mentioned skim and coded the software. The software has been running without any issues for the passed five days without any issues but I like to hear from you by coding this way I am not violating anything with respect to TCA9539 datasheet.
Is it okay to communicate with the ADS7128 with the speed of 1Mhz while TCA9539 is placed in the same bus that can only support 400K? One more thing is that We are at the point that we are not able to change the hardware like replacing the TCA9539 with TCAL9539 (Which can support 1Mhz). Please advise...
main()
{
...
...
Setting the I2C clock to 400k
Init(ADS7128)
Init(TCA9539)
...
Setting the I2C clock to 1Mhz
for(;;)
{
Reading the ADS7128.
...
Setting the I2C clock to 100Kz
Reading the TCA9539.
Setting the I2C clock to 1Mhz
...
}
}
