NHD-C0216CIZ-FSW-FBW-3V3 unexpected I2C levels

Comments

3 comments

  • Saurabh_B
    Hello Kent,

    I will need to power this display up to see if I can replicate the spikes being caused by this display.

    Unfortunately the Logic LOW for the ACK is caused by the controller.

    We will have to update this spec to match the output voltage from the controller.
    0
  • jojahn

    Hi there,
    I just got few displays in the mail. I tested two of them on I2C with different speeds, different pull-up resistors etc. I just can't get the ACK back.
    I wrote a VB6 software and using my serial port to bit bang the traffic. It works fine with I/O Chips.... any idea?
    I have a short "PING" version, where I just call the address and wait for the ACK or NACK with the last strobe. Then the counter is increased to the new address. As I said, it works fine with I/O chips.

    Thanks
    Josh

    One step further and the last LCD:
    I checked the voltages: supply voltage 3.3volt. used 1uF capacitors for the boost, pin 1 (RST) to plus
    With no SDA or SCL attached to the LCD it reads 1.38 volts. If I attach a 1k resistor to plus, the voltage is almost the same. During Idle time it is suppose to stay high

    What is wrong here?

    Is the pinout on the data sheet wrong? left to right = 1 to 8?

    Can somebody help me, please?

    0
  • perky

    According to the ST7032 spec the SDA and SCL lines are on DB7 and DB6 respectively. These have a Vol spec of 0.8V with Iol of 1mA (quoted at 25deg C), so that's an equivalent resistance of 3k3 at 3.3V. Generally I2C works well with 4k7 to 10k, so I'd probably use 10k here for some margin, in theory that should get down to less than 0.4V. A 1k5 ohm resistance is too low to get a low enough Vol.

    Mark.

    Edit: OK, I see a problem. You're final SCL clock looks way too short, is this a software I2C master interface you're using? Can you change the pull-up resistors to 10k, and give a proper length SCL pulse at the end? Sampling closer to the rising edge of SCL might help, it shouldn't be changing the SDA state while the clock is high though.

    Edit2: There are small spikes on the SDA at the point where SCL changes. As SDA is open colector and pulled up by a resistor that suggests some noice on Vcc. If the device has feedback internally on SDA, and a too low value of resistor is used meaning the logic low is a little close to the edge, and there's Vcc noise, it's possible that the logic inside the controller lets go of SDA prematurely. So by putting a high value of resistor in you've pulled the signal down, meaning it can tolerate more Vcc noise. At the 50k limit it appears to work, Vcc noise is not enough to trigger a release. I would look carefully then at Vcc, put some decoupling caps close to the module and try to get rid of those little spikes. A combination of using 10k resistors and decent Vcc decoupling may be the solution.

    0

Please sign in to leave a comment.