This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCF8574: Question on section 9.2.1.1 of the spec sheet (version revised March 2015)

Part Number: PCF8574

This section gives guidance on using this part to drive LEDs.

Figure 19 shows the suggested configuration when driving the LED and the pcf8574 with the same supply AND using the part as an input.

Given that this section specifically says "Input", I assumed that if I was writing the register, I didn't need to have the "parallel" resistor (with the resulting circuit looking like Figure 20).

I use two pcf8575s to drive multiple LEDs.   I write a '0' to the port to turn the LED on.   I write '1' to the port to turn the LED off.

All seem to work fine on one part.    On the other, 4 LEDs work as expected.   Another doesn't light, and when I write '0' to it, actually turns the 4 that are working off!

I have checked the schematic and layout and they all appear to be correct.   I have checked this on multiple PCBs.

Is the "parallel" resistor required when "writing" to the ports?

Thanks!

  • There is no output/input selection; ports can be used as inputs when they are in the high state. But the resistor in figure 19 only reduces power usage, it does not affect the correctness.

    If you have one chip that works and one that doesn't (in the same circuit), then it appears that that chip is damaged.
  • Hey Ed,

    " the pcf8574 with the same supply AND using the part as an input."
    I know the datasheet states the device is an input but I try not to think of this device as a TRUE GPIO expander. This device is more like a GPO which can temporarily be used to 'peek' at the pins logic state during a read transaction (a quasi GPI if you will).

    As Clemens as stated, the parallel resistor is not there to make sure the device works properly or as an input. It is there to reduce power consumption because of how the input stage of the device is constructed (CMOS). If you have the pin floating or pulled high with a weak pull up (output high) then the PMOS and NMOS of the input stage can partially conduct and result in shoot through current which eats away at power in an end equipment which runs off a battery. (Smart watch for example)

    "Given that this section specifically says "Input", I assumed that if I was writing the register, I didn't need to have the "parallel" resistor (with the resulting circuit looking like Figure 20)."
    This device is very unique in our portfolio in the sense that it has only one register. You do not actually configure the device to be an input, you simply do a read transaction to "Poll" the pins current state.

    "Is the "parallel" resistor required when "writing" to the ports?"
    No, the parallel resistors only help with consumption current.

    "All seem to work fine on one part. On the other, 4 LEDs work as expected. Another doesn't light, and when I write '0' to it, actually turns the 4 that are working off!"
    It may help if we see what the I2C lines look like to confirm you are actually writing to the device correctly. Something about turning on the other 4 working LEDs off seems odd (Sounds like you may be writing the wrong data if the LEDs are unexpectly turning off). Can you provide scope shots of when the working LEDs are turned off? Providing a schematic to review of this device may also help.

    Thanks,
    -Bobby