To All,
Am running simple i2c test with 2 ea K20 talking back and forth to each other.
I am running into a couple of issues I haven't been able to explain.
I've been playing around with the pin control settings.
PORTB_PCR0 SCL
PORTB_PCR1 SDA
1. code works when PCR's set to (ALT2 + ODE + PE). However, the Low signal levels look bad on SDA (around 1V).
2. Code does not work when PCR's set to (ALT2 + ODE). But, low signal levels now look correct.
Is there any reason why i2c module requires a PULL DOWN Resister enabled?
I have external pullups on both SCL & SDA (I think they are 4.75K but I need to verify this)
Tried changing Pulldown to Pullup and no activity on bus at all with that config.
It acts like the Master cannot pull the bus completely low when the internal pullups are enabled. And cannot see RX Data from the slave unless the pulldown is enabled.
Any Ideas? I'm beginning to wonder if I've missed another config parameter somewhere.
Thanks,
-Roger
More Info
I forgot to mention that when the slave needs to pull SDA low that level is correct