Interfacing PSoC 3/ PSoC 5 to an External Device with Different Voltage Levels - KBA216142

Version: *B

 

Question:

How do I use a 3.3-V device (for e.g., 3.3 V character LCD) with a 5-V powered PSoC® 3/ PSoC® 5LP

 

Answer:

In PSoC® 3/5LP, I/Os are divided into four quadrants. The pins VDDIO0, VDDIO1, VDDIO2, and VDDIO3 are used to power the I/Os of each quadrant respectively. Therefore, each quadrant can operate their I/Os at logic voltage levels different from the other quadrants. This means that even if the device is operating at 5 V, one or more quadrants can be configured for 3.3 V logic levels, thereby the I/Os in the quadrant/s can be interfaced with an external device operating at 3.3 V.

The VDDIO pins should be supplied with a reference voltage to control the I/O logic voltage levels. In PSoC 3/5LP, this reference voltage can be generated inside the chip itself. A voltage DAC (VDAC) can be used to generate the required reference voltage. The VDAC output is fed to an opamp buffer to increase the drive strength (25 mA source/sink for the entire quadrant). The output of the opamp must be connected to VDDIOx externally.

 

The advantage of this method is that the voltage DAC provides 8 bits of programmability to the reference voltage. This means that the logic voltage levels of I/Os can be varied during runtime if required.

 

Figure 1 shows the required connections:

Figure 1

 

The diagram above shows how to operate Quadrant 0 at a different I/O logic voltage level (through VDDIO0). The opamp output is routed to P3[6], which belongs to Quadrant 3. Quadrant 3 will be powered by the device voltage (VDD = 5V, by leaving pin VDDIO3 open). The blue line shown above implies an external wire connection.

Figure 2 shows the configuration of the DAC and op-amp to generate 3.3 V.

Figure 2