Hi,
I am working on a device that has a TMS320C6713 talking with two slaves (one RTC and one Temp sensor) via I2C. The unit is randomly locking up. With some troubleshooting I have narrowed down the issue to be with the I2C bus. It appears that the bus is getting locked-up once in a while and the DSP is not able to recover even after resetting the I2C interface numerous times.
After doing some search I found that during such lock-ups, it is usually the slave that is keeping the bus busy. I also found the data sheet for the temp sensor (LM92CIM) recommend sending 9 clock pulses and a stop bit to flush out the slave register and release the bus. However, the I2C0 of TMS320C6713 does not allow it to use as a GPIO so that I could toggle the pin and issue 9 clocks.
Please let me know if there are any workarounds to make the I2C0 of 6713 to send just 9 clocks on SCL and a stop on SDA. I did read about ‘free data format’, but am not sure if this could be used for this purpose. If free data format could be used to release the bus, any guidance / tips to implement this would be greatly appreciated.
RTOS: DSP/BIOS 5.41
CGT: 7.0.4
CCS: 4.2.3
Emulator: XDS510USB
Thanks
Joe