serious I2C-problem
Hello,
I have a problem:
Our controller V3 works great (maybe 3000 parts in the market) with our display V3. They communicate via I2C (16F876 - 16F872). The producer has soldert a lot of 2,7k pullups and at last 4,7k pullups (poland...).
They work great!
Now, we have our display V4 (+PWM for LCD +RGB-backlight) and it works great with controller V3.
Our controller V4 (18F4585) works great with both displays.
The software is nearly the same...
Yesterday we have a problem:
The I2C-communication is bad. A display V4 works on controller V3 but not really on a controller V4. (MSSP receives no bytes)
Sometimes I put my hand over the display - it works, or I touch the display - it works - or not...
Yesterday night i checked out the software. I set down the speed of the I2C to maybe 60kHz - it works. Back to 100kHz - it works. Up to 300kHz - it works. ???
Today I checked again...
A few days ago we have changed the pullups from 4,7k to 3,3k - that may be the problem. But all people tell, the lower the pullups, the better the signal. (signal form is ok). Inserting 10k pullups - it works. And why does the 2,7k pullup worked so well ?
Where is my problem ?
Pullups to low ?
PBP 2.50C, MCS+ 3.0.0.5, MPLAB 8, MPASM 5.14, ASIX Presto, PoScope, mE mikroBasic V7.2, PICKIT2
Bookmarks