Good morning everyone,
I have a STM32F407 microcontroller running on 3.3V logic level, and I have a plethora of peripherals that I want to connect to it. The problem is that these peripherals run at anything but 3.3V level. Some of them are 1.8, some are 2.5, and a couple of 5V devices.
Immediate solution that comes to mind: programmable logic level translator. There are a lot of dual supply bi-directional level translator ICs available; I can turn these into "programmable" ones with the help of digital potentiometers.
My only problem is the common requirement of logic level translator ICs: Vcc > Vl, i.e. voltage on one side of the translator must be strictly less that voltage on the other side. But what I want is:
controller side logic level: fixed at 3.3V,
GPIO side level: anything from 1.8 to 5 V.
Are there any solutions to this problem (either through ICs or discrete elements), or am I asking too much?
Thank you in advance.
Best Answer
One option is, design your system to accommodate translation from 3.3 V on the uC side to lower and equal voltages on the peripheral side.
Then if you have a 5 V peripheral, include as part of the peripheral circuit a translator to translate from 5 V on the peripheral side to 3.3 V on the uC side. This means that 5 V peripherals will have their signals running through two translator circuits.