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.

PCF8575: General Queries

Part Number: PCF8575
Other Parts Discussed in Thread: DRV8823, TCA9555

1. If I am initializing all pins to output only, then what should I do with INT (interrupt) pin?

2. If I am not using some IO pins, then it will left unconnected, should I do pull up or pull down?

3. If I am using only 8 IO's only, remaining 8 IO's I am not using, then during I2C communication, do I need to send values of second byte every time?

4. Is TI having any IO Expander IC consisting 12 IO's only?

5. Is it possible to Interface DRV8823 IC on the IO pins of Expander IC PCF8575?

6. If I am using first 8 IO as Output port, remaining 8 IO I am not using. My requirement is to change my Output port after defined time like 25mS, therefore my output will remain unchanged for time period 25mS, so how can I set this configuration during I2C communication ?

  • Hello AC,

    If you will truly not need the INT pin, then you can simply connect it via a pull-up to VCC.

    For the unconnected IO pins, I recommend pull-up if you need to have them as inputs. But if it suits your design better, you could simply set them as outputs if left unconnected. Be advised that it is not best to leave an input pin floating, as this would generate many unnecessary INT signals, and it would also cause significantly increased current consumption by the device.

    Each communication via I2C must contain an even number of bytes. While the number of bytes that can be sent successively is not limited, it must still be an even number of data bytes. For each pair, the first byte (or the "odd-numbered" byte) is P07-P00, while the second byte (or the "even-numbered" byte) is P17-P10. So yes, you would still need to send the second data byte each time.

    TI does not have any I2C expanders that contain 12 IOs. If you need 12, you would be best served to use a device with 16 IOs and leave 4 IOs unused.

    I do not know exactly how you intend to interface the PCF8575 with the DRV8823, but you can use the IOs of the PCF8575 to interface with the IOs of the motor driver. Just make sure that you are not using the IO pins of the PCF8575 to draw large amounts of current. Also, be aware that interfacing with the IO expander pins requires a multi-byte read/write I2C command each time. Thus, your speed is limited. This is why the IO expander is intended to be used for applications where high-frequency IO interfacing is not desired.

    The P-ports of the PCF8575 will change state upon a write command. If you need the state to change after 25 ms, then this will need to be done by the master device after the appropriate time. There is no built-in timing mechanism for the IO pins of the PCF8575.

    Also, have you considered using the TCA9555?

    Please let me know if any other questions remain. Have a great weekend!

    Best,

    Danny