Other Parts Discussed in Thread: ADS1015, OPT3001, HDC1080, CC3200
Tool/software: TI-RTOS
Hi,
I am working on a custom PCB using PIN_02 and PIN_05 as the I2C lines. I am seeing a glitch on the SCL line after 10-20 minutes when polling once per second (see below).
In software I am getting stuck in I2CTransact(...):
while ((MAP_I2CMasterIntStatusEx(I2C_BASE, false) & (I2C_INT_MASTER | I2C_MRIS_CLKTOUT)) == 0) { }
I have three chips on the slave (HDC1080, OPT3001, and an ADS1015) with a pull-up resistor value of 2.7k Ohms (calculated using the following resource: http://www.ti.com/lit/an/slva689/slva689.pdf)
Here is what I have tried:
- a larger pull-up value of 10k Ohms
- adding PinModeSet(PIN_01, PIN_MODE_0); to PinMuxConfig (processors.wiki.ti.com/.../CC32xx_Summary_of_Known_Issues)
- using TI-RTOS and non RTOS environments
- various power supplies
- 100KHz and 400KHz clock speeds
- generating a pulse on the SCL line to unfreeze the slave before every transaction
- clearing all interrupts
I have scoured the forums to find another solution, but so far I've just come across unanswered problems. I've yet to find anything from TI stating there is a problem with the chip itself so I'm not sure what the solution is. Any help would be greatly appreciated.
Thanks,
Kyle