La transmisión más común que se realiza es por medio del código ASCII a través del puerto RS-232, en las computadoras este puerto aparece como COM más el número que se le asigne. La interfaz RS-232 está diseñada para distancias cortas, hasta 15 metros, y velocidades bajas de comunicación, hasta 20 kb/s. Esta práctica utiliza un canal simplex, es decir, los datos solo viajan en una dirección.
Los datos mandados por la computadora se pueden comprobar con diversos programas para observar que información es la que se está recibiendo. A su vez con otros lenguajes de programación se podrán mandar estos datos y hacer que la tarjeta lleve a cabo ciertos procesos ya programados en el fpga.
Transmisión de datos por el puerto serial.
La comunicación con la interface serial, que recibe y transmite datos es llamada UART (Universal Asynchronous Receiver-Transmitter). RxD es para recibir datos por serial (usada en esta práctica) y TxD es para transmitir los datos.
Se implementó un código el cual llevará tres variables en el entity, una es la que manda el dato al puerto serial (rxd), el reloj (clk) y en una matiz el número que se va a mostrar (shownumber).
Se declara la variable clk que es el reloj, que será el que va a hacer que se almacenen los valores.
La palabra clk’event es la instrucción para que el reloj comience su proceso con un flanco de subida (‘1’).
Debemos tener en cuenta que el reloj de la tarjeta es de 50Mhz, se deben realizar los cálculos para saber cómo pasará la palabra de 8 bits más el bit de inicio y stop.
En el mismo proceso se deben de tener dos variables que van a llevar el conteo del reloj (una de las que se están generando y otras las que se van almacenando), a su vez se guardara en una variable temporal tipo matriz, que al completarse el ciclo del reloj va a enviarla a los leds de la tarjeta. Al mandarla se va a refrescar los bits anteriores para esperar la nueva palabra generada por la computadora.
El bit queda almacenado en la variable temp y al completarse la matriz se mostrará al usuario a través de los les el número que se está mandando de la computadora a la tarjeta (shownumber).
En el último paso del proceso se da la instrucción para que se limpien las variables anteriores, el reloj se reinicia y está en espera del siguiente dato que arroje la computadora.
Una vez que el código ha sido compilado de manera correcta, mediante el uso de un programa llamado Terminal podemos seleccionar el COM Port por donde está ingresando la información al equipo junto con la velocidad y podemos observar en pantalla en código ASCII, hexadecimal, octal y binario cual es el dato que está saliendo de la spartan-3 y entrando a la computadora.
Finalmente la tarjeta se observa al terminar la programación de esta manera:
No hay comentarios:
Publicar un comentario