Está en la página 1de 26

UART

Universal Asynchronous
Receiver/Transmitter
UART

Introducción

La UART es un circuito que envía datos paralelos en forma


serial (realiza una transformación paralelo-serie).
Es utilizada en conjunto con un estándar que especifica las
características eléctricas, mecánicas, funcionales y de
procedimiento de dos equipos de comunicación (RS-232).

Se denomina “Universal” debido a que el formato de los


datos y la velocidad de transmisión son configurables y que
los niveles de señalización eléctricos y métodos son
manejados por un circuito externo a la UART. Las
velocidades de transmisión más comunes son 2400, 4800,
9600, 15500, y 19200 bps

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Estándar RS-232 (EIA/TIA-232-E)

Especifica niveles de voltaje y señal, la configuración de


pines de los conectores, el control entre equipos, la forma y
características físicas de los conectores.
Los niveles lógicos ‘0’ y ‘1’ están definidos como los valores
eléctricos +3 a +15V y -3 a -15V, respectivamente.

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Estándar RS-232 (EIA/TIA-232-E)

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Bloques de una UART

Incluye un transmisor y un receptor. El primero es


básicamente un registro de desplazamiento con carga paralelo
y salida serie, mientras que el segundo carga valores en serie
para luego agruparlos en un dato.

Transmisor Entrada paralelo

Salida serie

Receptor

Entrada serie

Salida paralelo

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Formato de datos

En reposo
(idle). La línea Bit de fin ‘1’
está en ‘1’
Dato
Bit de paridad
Bit de inicio ‘0’

1. Mientras no existan datos para enviar la línea se mantiene en ‘1’

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Formato de datos

En reposo
(idle). La línea Bit de fin ‘1’
está en ‘1’
Dato
Bit de paridad
Bit de inicio ‘0’

2. Cuando se tiene un dato para transmitir el transmisor inicia el


proceso enviando un bit ‘0’

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Formato de datos

En reposo
(idle). La línea Bit de fin ‘1’
está en ‘1’
Dato
Bit de paridad
Bit de inicio ‘0’

3. Seguidamente se envía el dato bit a bit, comenzando por el menos


significativo

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Formato de datos

En reposo
(idle). La línea Bit de fin ‘1’
está en ‘1’
Dato
Bit de paridad
Bit de inicio ‘0’

4. En caso de que se haya especificado, después del último bit del


dato transmitido (el más significativo) se agrega un bit de
paridad

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Formato de datos

En reposo
(idle). La línea Bit de fin ‘1’
está en ‘1’
Dato
Bit de paridad
Bit de inicio ‘0’

5. Para finalizar se cierra la trama con uno o dos bits de fin poniendo
la línea en ‘1’.

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Subsistema de recepción: Esquema

Receptor: circuito para la obtención del dato por medio del sobremuestreo
Generador de baud rate: circuito generador de los ticks de muestreo
Circuito de interfaz: circuito encargado de proveer un buffer y estado entre
el receptor UART y el sistema que utiliza la UART

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Subsistema de recepción: Esquema

Ya que no existe información de clock en la señal transmitida el receptor


puede obtener los bits del dato sólo basándose en los parámetros
predeterminados. Se utiliza un esquema de sobremuestreo para estimar el
punto medio de los bits transmitidos.

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Subsistema de recepción: Interfaz

• Provee un mecanismo para indicar la disponibilidad de un nuevo dato y para

evitar que ese dato sea leído múltiples veces.

• Provee almacenamiento entre el sistema principal y la uart (receptor). No


todos los esquemas cumplen esto.

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Subsistema de recepción: Esquema 1 de interfaz

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Subsistema de recepción: Esquema 2 de interfaz

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Subsistema de recepción: Esquema 3 de interfaz

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Subsistema de recepción: FIFO

wr wr wr wr wr wr wr wr

0 1 2 3 4 5 6 7

rd rd rd

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Subsistema de recepción: Sobremuestreo

La tasa de muestreo habitual utilizada es de 16 veces el baud rate.


El esquema de sobremuestreo funciona de la siguiente manera (asumir
datos de N bits y M bits de finalización):
1. Esperar hasta que la señal de entrada se ponga a ‘0’ (bit de inicio) e
iniciar el contador de ticks de muestreo.
2. Cuando la cuenta llegue a 7 la señal de entrada alcanza el punto
medio del bit de inicio. Resetear y reiniciar el contador.
3. Cuando la cuenta llegue a 15 la señal de entrada habrá progresado un
bit y alcanzado la mitad del primer bit del dato. Tomar el valor,
introducirlo en el registro y reiniciar el contador.
4. Repetir el paso 3 N-1 veces mas para tomar el resto de los bits
5. Si el bit de paridad se está usando repetir el paso 3 una vez, para
obtener su valor.
6. Repetir el paso 3 M veces más para obtener los bits de finalización

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Subsistema de recepción: Sobremuestreo

DATAW: tamaño del dato


SBT: cantidad de ticks para el bit de stop
S: contador de ticks
N: contador de bits de dato recibidos
Fuente: FPGA prototyping by VHDL examples (Pong P. Chu)

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Subsistema de transmisión: Esquema

Transmisor: circuito para la transmisión del dato


Generador de baud rate: circuito generador de los ticks de muestreo
Circuito de interfaz: circuito encargado de proveer un buffer y estado entre
el transmisor UART y el sistema que utiliza la UART

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

UART: Esquema general

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Puerto serial RS-232 incluido en el kit Spartan 3

Fuente: Spartan-3 Starter Kit Board User Guide

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Puerto serial RS-232 incluido en el kit Spartan 3

Fuente: Spartan-3 Starter Kit Board User Guide

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Puerto serial RS-232 incluido en el kit Spartan 3

Conversor de nivel (MAX3232)

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

Puerto serial RS-232 incluido en el kit Nexys 2

Fuente: Digilent Nexys 2 Board Reference Manual

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013


UART

FIN

Sistemas Digitales - FIUBA 2do. Cuatrimestre de 2013