LK204-25 I2C trouble with system reset
Posted: Tue Sep 15, 2009 3:44 pm
We're running an LK204-25 on the TWI port of AT91SAM7S256. The LCD module shares the bus with an EEPROM, 24LC64. Running from system power-up, everything is fine and we can do everything we need to do: display data, read pushbuttons.
When we reset the AT91 processor with its RESET pin we occasionally wind up with a hung system. Debugger shows that we're waiting for a TWI interchange to complete, a logic probe shows that the I2C clock line is being held low. This can persist over many resets, although merely waiting 30 or 60 seconds will not consistently break the impasse. Briefly killing power to the LK204-25 will break the impasse.
My suspicion is that the system hangs when the RESET comes in the middle of a pushbutton read on the LK204, and interrupts the normal I2C sequence. Is there any info about the LK204 operation that could prove or disprove this idea?
Mel.
When we reset the AT91 processor with its RESET pin we occasionally wind up with a hung system. Debugger shows that we're waiting for a TWI interchange to complete, a logic probe shows that the I2C clock line is being held low. This can persist over many resets, although merely waiting 30 or 60 seconds will not consistently break the impasse. Briefly killing power to the LK204-25 will break the impasse.
My suspicion is that the system hangs when the RESET comes in the middle of a pushbutton read on the LK204, and interrupts the normal I2C sequence. Is there any info about the LK204 operation that could prove or disprove this idea?
Mel.