I am using a processor which operates at 5 V and a MUX with 3.3 V. If I want to give selection lines from the processor, I have step down the voltage level. how can i do this by simply placing a resistor across it. How can I find the value of the resistor?
There are several options, e.g:
- Use a voltage divider
- Use a series resistor. This is used to limit the current into the protection diode of the input pin. This has to be done with care, the input characteristics and ratings have to be considered. The resistor must be bigger than
(5.0V-3.3V)/MaxInputCurrent. The maximum input current is normally listed in the datasheet of the mux.
- Use a level shifter or a logic buffer/inverter with 5V compatible inputs like the 74LVC series.
- If you are lucky, the selection lines of the mux may be 5V-compatible, check the datasheet.
- Depending on your circuit and type of the mux, you can supply the mux with 5V. No level shifting needed.
Please keep in mind that the resistor-based solutions are generally relatively slow due to the time constants involved. If you want to change you selection lines very fast, it may not be the appropriate solution.
For an almost complete guide on 3.3V to 5V (and vice-versa) interfacing, see http://ww1.microchip.com/downloads/en/DeviceDoc/chapter%208.pdf
Use a voltage level translator if they are only digital lines. Something like this might work: TXB0104