I've read plenty of advice on how to deal with 5v <-> 3v logic translation and there seems to be a ton of methods, some of which I'm clear on and some I'm not. Most of the material is geared around things like Arduino, etc... one-off hobbiest solutions that don't necessarily translate well to volume production for cost, pcb real-estate or reliability reasons.
So specifically for production at volume, what would be the best way to handle a single unidirectional 3.3v microprocessor output (this case it is a STM32F205) to a 5v device (this case it is an RGB LED driver with one-wire control) without inversion? My guess is a dedicated buffer IC, but I don't really know.
My 5V device requires 0.7*5=3.5V for logic high and 0.3*5=1.5V for logic low.
My options appear to be:
- Just chance a direct connection. I put this here for completeness sake, because I think it would not be wise for production. There is anecdotal evidence (forum posts) suggesting the particular device can operate at 3.3V despite the datasheet info.
- I've been told a "simple pull-up resistor of 4.7k" should do the trick, however I've not found any discussions showing a single-resistor solution, so if anyone could explain this (preferably with a schematic) I'd appreciate it. This solution is somewhat vaguely mentioned in an answer here.
- That same answer also mentions a couple of diodes and a resistor, although this method is discussed here too with the article's author later stating in comments that he's not thrilled with the results.
- A MC74VHC1GT125, which is a dedicated IC built for the job. At a volume cost of roughly $0.06 to $0.07 it certainly isn't a cost issue (although % wise that is far above the other methods) but I wonder... is it the right way to go? With this options, I have a couple "sub-questions":
- I'm a little unclear on what purpose OE service. When would you want it in Hi-Z? I just tie that to GND, right?
- I've been unable to find any alternatives to this piece which specifically mention 5v to 3.3v translation, but any non-inverting buffer should do the trick, correct? Diodes Inc 74AHCT1G125, for example?