Tengo una pequeña placa que diseñé y que contiene un cpld XC2C64A que tiene 8 LEDS conectados a la salida y 2 entradas. No es lo que habría diseñado para este proyecto, pero es lo que ya tengo, ya que lo hice para otro proyecto de aprendizaje para aprender a diseñar y fabricar PCB.
He conectado las entradas a los puertos GPIO de mi Raspberry PI y uso uno de los pines como reloj (ya que no hay reloj disponible en mi placa) y otro para datos y puedo hacer que haga las cosas, así que sé que todo funciona eléctricamente y puede leer y escribir datos entre los dos dispositivos.
Sin embargo, quiero poder enviar algunos comandos a través del único pin que tengo disponible. Por ejemplo, encendiendo un LED, apagando un LED, cambiándolos a la izquierda, cambiando a la derecha, configurando un giro automático hacia la izquierda, etc.
Mi pregunta es ¿cuál es la mejor manera de hacer esto? Mi primer intento fue escribir un verilog que esperaba 3 bits para un número de pin seguido del bit de activación o desactivación para manejar el caso simple de configurar un LED. Ahora que funciona, más o menos, pero no hay forma de sincronizarlo, ¡no puedo decir la diferencia entre 000 - 0 para apagar el LED0 y simplemente estar inactivo!
¿Alguien ha recibido alguna sugerencia sobre la mejor manera de enviar mis datos a través de este único pin? Debe ser muy simple, ya que no hay mucho espacio para la lógica en el CPLD una vez que haya agregado la lógica para el control LED.
Gracias por cualquier sugerencia :)