serious I2C-problem


Closed Thread
Results 1 to 3 of 3
  1. #1
    Join Date
    Oct 2004
    Location
    Hangover, Germany
    Posts
    289

    Default 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

  2. #2
    Join Date
    Jul 2003
    Posts
    2,358


    Did you find this post helpful? Yes | No

    Default

    I find 4K7 pull-up's good from one device on the I2C Bus, right up to about 8 devices on the I2C Bus. Have you put a scope on the Clock and Data lines to see how clean and square the pulses are?

    If you are putting your hand over the product and it affects how it works, looks like a decoupling/noise problem. Your I2CBus is pretty resilient and should not be affected. You may need at add some 100nF's around your Vdd and perhaps improve the grounding. It is possible the problem is not with your display, but with your controller. The 18F's are a lot more intollerant of noise. Another thing to look at is if you are using a crystal, if it's being used in weak XT mode instead of HS mode (higher level of drive), your hand approaching it may just add enough extra capacitance to stop it from working.

  3. #3
    Join Date
    Jul 2003
    Posts
    2,358


    Did you find this post helpful? Yes | No

    Default

    The off-topic Part of this Thread that developed has been moved to the "Off-Topic" Section under the title "Manufacturing" before poor BigWumpus loses his original problem buried in Political debate... let's continue only with BW's problem here and leave the Politics in the Off-Topic section.

Similar Threads

  1. I2C Master/Slave 16F88/16F767 working code
    By DanPBP in forum Code Examples
    Replies: 2
    Last Post: - 23rd October 2012, 22:31
  2. HARDWARE I2C SAMPLE CODE question
    By Michael Wakileh in forum Code Examples
    Replies: 2
    Last Post: - 16th June 2009, 21:07
  3. Another I2C Slave Routine Problem
    By DanPBP in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 19th February 2009, 05:50
  4. I2C Master Slave issues.
    By cpayne in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 29th March 2008, 19:33
  5. I2C eeprom and DS1307 @40MHz problem
    By ius01 in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 20th July 2007, 07:41

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts