Estoy conectando una tarjeta SD a la Z80, una de las cuales utiliza la lógica de 5V (Z80) y la otra la lógica de 3.3V (SD). Creo que el cambio de nivel de 3.3V a 5V será atendido por el 74HC595 que estoy usando para la entrada en serie a conversión en paralelo (considera que 3.3V es el nivel lógico alto y dará salida a la lógica de 5V al Z80). Sin embargo, el 74HC165 que estoy usando para emitir datos en serie (MOSI) del Z80 a la tarjeta SD generará una lógica de 5 V que podría freír la tarjeta SD.
No tengo ningún IC de cambio de nivel por ahí y me gustaría evitar tener que esperar a que llegue uno por correo. He leído que puedo usar un circuito de división de voltaje bruto en la línea MOSI, pero leí que tiende a causar problemas en frecuencias de reloj más altas. ¿Funcionaría el siguiente circuito que usa dos transistores NPN (cambiando el voltaje de entrada a 5V y el voltaje de salida a 3.3V)?
¿O sería mejor reemplazar el transistor más a la izquierda con un inversor que se alimenta a la base del transistor más a la derecha, manteniendo el emisor a tierra y haciendo que el colector se detenga a 3.3 V? La señal MOSI de 5 V del 74HC165 se alimentaría a la entrada del inversor, y el pin MOSI de 3,3 V de la tarjeta SD se conectaría al colector del transistor. Entonces, si no me equivoco, si la salida tiene un nivel lógico bajo, el inversor alimentará la base del transistor, lo que hará que la salida a la tarjeta SD también tenga un nivel lógico bajo. Si la salida tiene un nivel lógico alto de 5 V, el inversor no alimentará la base del transistor, lo que provocará que la salida a la tarjeta SD tenga un nivel lógico alto de 3,3 V.
¿O esto sería aún crudo? Mientras no haya una transmisión de datos precisa al voltaje correcto, no me preocupa. Pero por favor déjame saber lo que piensas. Si esto lleva a una transmisión de datos inexacta o inconsistente, preferiría esperar el IC correcto.