I'm using ADuC7026's I2C to interface with AD5254 (digital potentiometer). Every once in a while, I get a bad pulse on the SCL line, and the AD5254 does not acknowledge the byte. The bad pulse is essentially a pulse that only rises 40-50% of the normal logic level (3.3V). Subsequently, the SDA line remains low, and I must do a hard reset of the micro to get the line back to it's high logic level.
This condition seems to occur more frequently when I'm interfacing with a host PC through the ADuC7026's serial port.
Any help would be appreciated. Matt.
I've posted the screenshot at "nilessa (dot) ca"
Do you have correct pullup resistors for your signals? All your signals looks like shark tooths. As you can see, the rise time is too long for the clock signal to ever stabilize at a high state. The data signal has also a hard time reaching a high state.
Do you use hardware or software I2C? If hardware I2C - do you have anything that may reset the I2C controller?
I am using the I2C interface embedded in Analog Device's ADuC7026 microcontroller. I am not generating clock/data pulses in software, but relying on the micro for that.
There are 10kOhm pull-ups on each line. We're going to replace them soon for 1kOhm pull-ups.