Está en la página 1de 2

7.4.

3 Diseño de receptor transmisor-receptor asíncrono universal


Como discutimos en la sección anterior, se requiere una arquitectura digital separada para
implementar el UART-Rx (receptor transmisor-receptor asíncrono universal) en la FPGA. El UART-
Rx literalmente realiza el proceso de conversión de serie a paralelo en la trama de datos asíncrona
recibida a través del puerto serial. Inicialmente, el bit de datos din que recibimos del puerto serial se
asignará a la variable inicio (start), y luego, según el estado del inicio, el proceso estará en estado listo
(si start = '1') o en estado bo (si start = '0'), como se muestra en la Figura 7.17. Siempre que el inicio
sea '1' (bit de parada), el estado está en listo. Dado que la trama en serie es síncrona solo con el reloj
del receptor, una transición de din alto a bajo se tratará como el bit de inicio de una trama. Todos
estos procesos tienen lugar en un módulo detector de secuencia de bits de inicio (SBSD). La velocidad
de toda la operación del módulo SBSD es a la velocidad del reloj integrado. Una vez que se detecta
un bit de inicio válido, la transición de estado ocurre desde el estado listo al estado bo en el SBSD y,
después de llegar al estado bo, inicia el módulo detector de secuencia de datos (DSD) para comenzar
el proceso de recepción de datos. En el módulo DSD ocurren tres operaciones diferentes de acuerdo
con los valores del contador de velocidad en baudios (BRC).

FIGURA 7.17.
Flujo de proceso de recepción de datos en un UART-Rx.
Primero, el módulo DSD recibe el bit de inicio durante un tiempo especificado por la velocidad en
baudios de la transmisión de datos. Una vez que finaliza la duración del bit de inicio, el DSD comienza
a recibir la secuencia de datos, es decir, los 7 bits siguientes. Luego, el proceso se transferirá a otro
proceso para recibir el bit de parada. Una vez que se recibe un bit de inicio válido, los bits de datos
se muestrearán en cada reloj (en base a la tasa de baudios de recepción) en el centro de la duración
del bit. Al final de la duración del bit de parada, el estado será forzado nuevamente por el módulo
DSD al estado listo. Al completar el proceso de recepción de un byte (8 bits) de datos, el módulo
DSD reenvía la secuencia de datos recibidos al módulo de registro de búfer del receptor (RBR) para
hacer espacio en el DSD para las siguientes nuevas recepciones. El módulo RBR transfiere los datos
a la RAM del registro de almacenamiento de datos (DSR) así como a un dispositivo de visualización
de datos adecuado (según sea necesario) de acuerdo con el control de cambio sincronizado
data_sh_ctrl procedente del BRC. La memoria RAM de almacenamiento de datos se puede crear
dentro de la FPGA, o se puede conectar cualquier chip de memoria externa. Los datos recibidos se
acumulan para otros procesos, según sea necesario, para cualquier aplicación para la que se enviaron
a la FPGA.

También podría gustarte