Aquí es bastante simple y también es bidireccional: -
Cuando la entrada de datos desde el lado de 3.3 voltios es baja, U1 se enciende y conecta el pin de datos de la mano derecha al pin de datos de entrada, por lo que la salida también es de 0 voltios. Cuando el pin de entrada es alto, el transistor se apaga y la salida de la derecha se eleva a 5 voltios.
Lo único que hay que tener en cuenta es la velocidad de los datos: el tiempo de subida en el lado de salida de 5 voltios se limita un poco al alcanzar 5 voltios desde 3,3 voltios. El primer 3.3 voltios está bien porque la capacitancia del MOSFET acopla la señal de entrada de datos ascendente de 3.3 voltios a la salida pero, una vez que el lado de entrada se ha establecido en 3.3 voltios, los 1.7 voltios restantes solo se logran a través de R3 cargando la capacitancia parásita interna del BSS138 (aproximadamente 20 pF, incluida la capacidad de transferencia inversa). Por lo tanto, el tiempo RC es 200 ns, lo que será bueno para velocidades de datos de hasta 1 o 2 Mbps.
Si crees que necesitas más rápido, entonces puedes bajar el R3 a 1 kohm. Entonces, el único factor limitante son los tiempos especificados de aumento y caída del propio MOSFET y estos son máximos de 18 y 14 ns respectivamente, pero tenga cuidado con el tiempo de retardo de apagado (es de 36 ns en comparación con 5 ns para el encendido). hora. El efecto de esto será alterar ligeramente la proporción de espacio de marca de sus datos. Podría ser un problema, pero sospecho que no a 2 Mbps si baja R3 a 1 kohm.