We have a #PCF2129 RTC connected to an mcu via i2c. The i2c is shared by 2 other devices. The system works fine when the battery is not connected. All three slaves works fine over a single i2c. But when we connected the battery to the RTC the entire i2c operation hangs up. The system has a display which shows the current time on #RTC. The system is able to retain the correct value without battery after a software reset.
Is there some configuration change that is needed to be made to make it work with a 3v battery?
Hi Aditya,
The I2C interface is disabled during the battery backup operation:
Best regards,
Tomas
Thanks for the input... I have already read the above section and tried to do the same i.e. send a Stop before resuming normal mode of operation (Start bit - address - read write bit - stop bit) but that did not help. It somehow affects the working of other I2C slaves. They also stop responding after sending of the Stop bit. Also what does uncontrolled termination even mean? Does it mean that I2C operation got terminated during a read/write sequence?
The general sequence of operation is as follows.
I2Cinit();
Stopbit();
while(1)
{
StartBit();
AddrAndDatabits();
StopBit();
otherOperations();
}
And I am able to make it work without sending of the stop bit when battery is connected. But now I am facing another problem where I am not receiving the interrupt. The interrupt is configured for second i.e. an interrupt will be generated each second. This operation too works fine without the battery. The RTC stops generating interrupts the moment battery is connected. I even tried putting the battery during runtime i.e the RTC is generating interrupts without battery and when battery is inserted the interrupts stop coming. The RTC is still connected to Vdd but still its getting affected by the presence of battery.