Drive Modes in PSoC GPIO

Version 1
    Question: What are the different drive modes available for the PSoC GPIO and what are their applications?



    The following are the various drive modes and their possible applications. Below is only a general explanation of the drive modes.  For more detailed explanation refer application note AN2094.

    High Z: This mode can be used when the input signal is Digital or Analog. But it shouldn't be used when the pin has to work as an output pin. When High-Z mode is selected, the Schmitt trigger that interfaces the pin to the interna Digital bus is enabled.  Either the CPU can read the pin state through the PRTxDR register or the signal on the pin can be passed to digital blocks.

    High Z Analog: Use this drive mode when the pin has to be used as analog input.  In this mode, the Schmitt trigger is disabled, thus device consumes less current via cross-bar current elimination and smaller noise is generated by Schmitt trigger to analog part of PSoC.

    Open Drain Low and Open Drain High:  In Open Drain Low mode, the pin is at HighZ when a 1 is written to the pin and the pin drives a strong 0, when a 0 is written to the pin.  This can be used in implementing a wired AND circuit like an I2C Bus.  In Open Drain High mode, the pin is at HighZ when a 0 is written to the pin and drives a strong 1 when 1 is written.  This may be used to create a wired OR circuit.

    Pull Up and Pull Down:  In these modes, the pin is driven by a resistor for a 1 and 0 respectively.  These modes may be used for both inputs and outputs.

    Strong: When a device connected to the pin would require more amount of current, Drive mode as strong is used.

    Strong Slow: An internal Capacitor is added when this setting is used. This introduces a slope in the rise and fall time thus reducing harmonics on the output.