2x NHD-0420D3Z I2C Problem

Comments

8 comments

  • Saurabh_B
    How are the displays powered?

    Is there a separate 5V input for the VDD on either display. Also are you using any pull up resistors?
    0
  • alk

    Both displays are powered by a single 5V rail. My control board has 3.3v outputs connected to a bi-directional level shifter with 10kOhm pullups

    0
  • Saurabh_B

    Are there any other devices on the I2C bus?

    Last time I heard an issue like this occur; another device on the bus was keeping the logic voltage from reaching a valid logic High for the display.

    0
  • alk

    No, these are the only two devices on the bus.

    The bus waveforms for the case of a single display is almost identical to the case with two displays. I did, however, notice a small difference today. For the latter case, the SDA line only gets pulled down to about 900mV for the ACKs whereas the SDA line gets pulled down to about 400mV when only one display is plugged in. The datasheet says that the the voltage must be below 0.6v to register as a low input. Could it be that the other display (the one not being addressed) is trying interpreting an ACK as a release of the bus?

    I tried removing the pullup from one of the displays since I thought that perhaps the parallel combination of the two pullups (5KOhm) could be fudging the voltage levels. However, this changed nothing.

    0
  • Saurabh_B

    Can you also try this without the pull up resistors?

    0
  • alk

    Yes, I've done so and there is again no change in the waveforms. I guess this means that the internal pull-ups on the display's pic16f690 are enabled. I've tried lower termination resistances as well (2Kohm) with no changes. I checked the series resistance on the i2c bus (the resistance of my wiring) and it was about 30 ohms. This seems a little high since the wire (22AWG) should only provide 52 ohms/km and there's only about 1foot of wire.

    Could it be that the weak internal pullups are too low value and are dragging the pullup resistance way down?

    0
  • CarloTruax

    Hi...i am a new user here. I want to know how are the displays powered?Is there a separate 5V input for the VDD on either display. Also are you using any pull up resistors? Are there any other devices on the I2C bus?Last time I heard an issue like this occur; another device on the bus was keeping the logic voltage from reaching a valid logic High for the display.

    0
  • Saurabh_B

    Hi,

    You could power it through a 5V so long as the supply can provide enough current to run the backlight as well. Most MPUs would allow for this.
    The display does have internal pull up resistors, so you will not need to worry about providing those externally.

    0

Please sign in to leave a comment.