I2C Bus Monitor needed

Discussion in 'The Projects Forum' started by raz, Feb 18, 2012.

  1. raz

    Thread Starter New Member

    Jun 25, 2011
    10
    0
    I would like to monitor the SDA line of a I2C bus to know when it goes high. I have to do this by tapping into an external cable that goes into a sealed box that houses the I2C CCA. The SDA and SCL lines are pulled up to 3.3V through 1K resistors. I found a LED at Radio Shack with a 3.3V forward voltage and 10 mA rating. I was thinking of attaching the LED between the SDA line and the 3.3V return but with a 1K ohm pullup resistor will the LED be bright enough to see?
    There is a 24V wire in the cable that supplies power to the 3.3V power supply. If the LED between the SDA and return won't work, could I connect the LED as above, put a 3.3V zener in parallel with it so the SDA line won't go above 3.3V and then connect the 24V to the SDA line through a 2800 ohm .25W resistor? Any ideas would be greatly appreciated.
     
  2. Papabravo

    Expert

    Feb 24, 2006
    10,135
    1,786
  3. raz

    Thread Starter New Member

    Jun 25, 2011
    10
    0
    Thanks Papabravo but that it out of my price range. I'm just looking for a quick and cheap way to monitor the SDA line and would like to know if either of my ideas would work.
     
  4. Papabravo

    Expert

    Feb 24, 2006
    10,135
    1,786
    I'm sorry it is out of you price range. The problem with what you want to do is that putting an LED across the SDA line and ground will change the fundamental impedance of the line to the point where it may cease to work. On the I2C interface the SDA line will be high most of the time. The pullup resistors will guarantee this.

    The 3.3V LED cannot draw any current from any driver because they are all open collector types that will sink current but not source current. Your LED will show you absolutely nothing.

    You might be able to use an op amp or comparator. Certainly that would be within your budget.
     
  5. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    7,386
    1,605
    First, you really don't want to sink or source enough current to drive a LED from an I2C bus. Seccond, even if you did buffer the LED to connect it the I2C states change so fast you would be lucky to notice them at all, at best your LED would dim a bit during transactions.
     
  6. kubeek

    AAC Fanatic!

    Sep 20, 2005
    4,669
    804
    If you just want to see when there is some communictaion on the bus, the buffered led should work.
     
  7. raz

    Thread Starter New Member

    Jun 25, 2011
    10
    0
    Thanks for the replies. I thought there was only one signal to watch on the data line but after connecting a scope to it, I found more activity then I expected. As stated the LED wouldn't tell me when the signal I was expecting was sent but would only dim intermitently. The IC was capable of sourcing and sinking 30mA so using the 24V, 2.8K resistor and zener should have worked if I did have only one signal to watch.
     
Loading...