Me gustaría que mi puerto GPIO de la Raspberry Pi se comunicara con un circuito digital que funciona al doble del voltaje del GPIO. La comunicación será a una frecuencia relativamente alta (hasta 500kHz).
La pregunta principal es cómo puedo amplificar el voltaje en un pin de salida GPIO. ¿Será suficiente un simple transistor 2n2222? Mi principal preocupación es la frecuencia. (También conseguir el diagrama de circuito correcto y los valores de los condensadores/resistencias).
(La pregunta extra es para la otra dirección: cómo reducir la tensión de entrada. Mi primer pensamiento es un divisor de tensión de dos resistencias, pero entonces, ¿funcionará bien a 500kHz?)
editar:
Evidentemente, no he oído hablar del cambio de nivel ni de los traductores de nivel. :)
Sin embargo, los traductores que puedo ver son todos 3V3 <-> 5V. Me gustaría algo bidireccional, que pudiera funcionar en torno a los 7V y soportar cómodamente los 9V. ¿Cuál es el siguiente paso estándar (si hay uno) por encima de 3,3/5? (Supongo que no hay traductores 3V3 <-> 7V ;), pero tal vez hay un estándar de 9V o 12V que tiene 5V en el extremo inferior y podría serializar 3V3 <-> 5V <-> 9V ?)
¿O tal vez hay una manera simple de rodar mi propio traductor para mis necesidades de tensión inusual? (con 500kHz en mente, por supuesto)
editar:
Gracias a todos por sugerir un traductor de tensión.
De hecho, parece que existe un estándar más alto - para CMOS de 15V.
Si he entendido bien, los voltajes de entrada y salida de la señal pueden ser controlados por los voltajes de la "fuente de alimentación" prevista para un chip. Así que puedo usar los voltajes extraños que quiera, siempre y cuando pueda encontrar una fuente de alimentación adecuada.
Algunos candidatos son TI CD40109B, CD4504 y Pololu 2595.