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.

XIO2001: GPIO pins, Internal Pullup, External Pulldown

Part Number: XIO2001


Datasheet SCPS212I Miscellaneous Pins table states that for GPIO0/1/2/4 there is an internal active pullup resistor. The table does not have a similar note for GPIO3.

In section 6.10 of the same datasheet, the footnote to IOZP states that the it applies to “most GPIO”, so the datasheet seems consistent in this regard.

However, checking the Implementation Guide, SCPA045D, strongly suggests that both GPIO3 and GPIO4 may not have an internal pullup as it states “Internal active pullup transistors are present on GPIO terminals 0, 1, and 2. When a GPIO terminal is configured as an input, the internal active pullup transistor is enabled. If a GPIO terminal is configured as an output, the internal active pullup transistor is disabled.”

 

It is noted that Errata SCPZ008B does mention that certain internal pulldown resistors don’t work, but the GPIOs are not affected.

  

Assuming GPIO4 does have an internal pullup, and in a situation where it needs to be pulled low in order to disable the serial interface, (and therefore allow GPIO3 and GPIO4 to operate as GPIO lines), an external pulldown resistor needs to be used.

With IOZP max 100uA, a nominal 10kohm pulldown seems appropriate, but perhaps a stronger pulldown is needed, since 100uA current strength and 10k would give a 1V level, which, when VDD is below 3V3, does not quite satisfy the VIL logic low threshold of 0.3VDD max.

 

In summary:

Does GPIO4 have an internal active pullup?

What is the recommended external pulldown value for GPIO4?

  • Hello Andrew,

    GPIO4/SCL must be tied low if the external EEPROM is not required, the internal pull-down on this terminal is not enabled, we recommend to use a 10k pulldown.

    Regards,
    Roberto
  • Hi Roberto,
    The first part of my query was about whether GPIO4 has an internal pull-up. As far as I am aware, none of the GPIO signals have an internal pull-down, so your answer to my query only makes sense if I misread
    "the internal pull-down on this terminal is not enabled" as
    "there is no internal pull-up for this terminal".
    If GPIO4 doesn't have an internal pull-up, then I can see that an external 10k pull down is suitable.
    For a GPIO with an internal pull-up, I suspect that while an external 10k will do the job, a stronger pull down should be used to satisfy the VIL Max.

    Thanks,

    Andy