Anda di halaman 1dari 47

USART

USART
Caractersticas:
Comunicacin Full-duplex. Operacin Sncrona y Asncrona. Genera altas velocidades de transferencia a bajas frecuencias:
2400 a 230400 baudios con 0% error @ 1.8432 MHz 2 Mbaudios con 0% error @ 16 MHz 2.5 Mbaudios con 0% error @ 20 MHz

Configurable a 5, 6, 7, 8 o 9 bits de datos y 1 o 2 bit de paro. Deteccin de errores:


Bit de inicio falso. Overrun. Framing. Detector por hardware de paridad par o impar.

Interrupciones:
Rx completa Tx completa Registro de datos vaco.

Modo de comunicaciones Multiprocesador. Compatible con la UART AVR.

USART
Registros asociados a la USART:
UDR. Registro de datos de la USART.
2 registros con el mismo nombre y la misma direccin dentro del espacio I/O.
Registro de transmisin. OUT UDR,Rx Registro de recepcin. IN Rx,UDR

USART
Registros de Control y Estado A, B y C:

Registros de Configuracin del Baud-rate:

USART, Diagrama a bloques

USART
Generador de reloj. Dependiendo de la transferencia de datos, existen 4 modos de generacin de CLK:
Normal asncrono. Doble velocidad asncrono. Maestro sncrono Esclavo sncrono.

USART
Registros que intervienen en la seleccin y configuracin de la generacin de CLK de la USART:

UMSEL. Selecciona entre una operacin sncrona o asncrona.


Si UMSEL = 0 Si UMSEL = 1 => Operacin asncrona (*). => Operacin sncrona.

U2X. Habilita un doblador de baud-rate. Solo disponible para modo asncrono.


Si U2X = 0 Si U2X = 1 => Baud-rate normal (*). => Habilita doblador de baud-rate.

USART
Generacin de reloj interna. Usada por el modo asncrono y sncrono (cuando opera como maestro). Hace uso de: UBRR = UBRRH:UBRRL

Ecuaciones para calcular el valor del registro UBRR:

USART
Ejemplos UBRR, Baud-rate y frecuencias comerciales:

USART
Ejemplos UBRR, Baud-rate y frecuencias comerciales:

USART
Fuente de reloj externa. Usada en el modo de operacin sncrono (cuando opera como esclavo).
El pin XCK es la entrada de la seal de CLK de la USART.

La seal fXCK es muestreada en funcin de CLK (seal de reloj del uC), por tanto la frecuencia mxima de operacin de la USART ser:

El modo de operacin del pin XCK es controlado por el valor en el bit DDRD4 del registro DDRD.
Si DDRD4 = 0 Si DDRD4 = 1 => XCK es entrada (opera como esclavo). => XCK es salida (opera como maestro).

USART
Operacin Sncrona.

USART
Operacin Sncrona. Configurado a travs de:

En este modo de operacin, el bit XCK debe ser usado como fuente de CLK de la USART:
Si XCK es entrada, el uC opera como esclavo. Si XCK es salida, el uC opera como maestro.

USART
Los eventos que disparan una recepcin y una transmisin en operacin sncrona son configurables a travs del bit UCPOL del UCSRC.

Si UCPOL = 0 Si UCPOL = 1

=> Tx en => Tx en

y Rx en y Rx en

(*). .

USART
Operacin Asncrona.

La fuente de reloj es interna. El pin XCK no tiene funcin.

USART
Operacin Asncrona. Configurado a travs de:

Se puede habilitar el doblador de baud-rate

USART
Transmisor. Slo debe garantizar que cada bit dure un tiempo X.

Receptor. Cada bit es dividido en 16 u 8 muestras, tomando como validas las muestras 8, 9 y 10 o 4, 5 y 6.

USART
Formatos de una trama. Una trama utilizada por la USART incluye:
1 bit de inicio. 5, 6, 7, 8 o 9 bits de datos. Sin paridad, paridad par o impar. 1 o 2 bits de paro.

USART
Configuracin de la trama.
Los bits UCSZ2..0 del los registros UCSRB y UCSRC selecciona el numero de bits de datos en la trama:

USART
Los 5-8 LSbits se encuentran en los regsitros UDR.

Los bits RXB8 y TXB8 del registro UCSRB contiene al noveno bit recibido y al noveno a transmitir cuando se elije una trama con 9 bits de datos.

USART
El bit USBS del registro UCSRC determina el nmero de bits de paro en la trama.

USART
Los bits UPM1..0 del registro UCSRC determinar si la trama incluye bit de paridad y si sta es par o impar.

USART
Banderas. La USART tiene banderas que permiten monitorear su funcionamiento.
Banderas de interrupcin. Banderas de error.

Banderas de Interrupcin.

UDRE. Bandera de registro decompleta. TXC. Bandera de recepcin completa. RXC. Bandera de transmisin datos vaco.

USART
Banderas de error.

FE. Bandera de error en la trama, Frame Error. DOR. Bandera de error de sobre-carga. Overrun error. PE. Bandera de error de paridad.

USART
Interrupciones. La USART tiene 3 interrupciones:
Interrupcin por recepcin completa. Interrupcin por transmisin completa. Interrupcin por registro de datos vaco.

Estas interrupciones son habilitadas en forma global a travs del:__________________ Estas interrupciones son habilitadas en forma individual por:

Valor inicial: RXCIE=0; TXCIE=0; UDRIE=0. Si RXCIE=1 => Int. por recepcin completa est habilitada. Si TXCIE=1 => Int. por transmisin completa est habilitada. Si UDRIE=1 => Int. por Reg. de datos vaco est habilitada.

USART
Vectores de las interrupciones de la USART:

USART
Habilitacin del Receptor y del Transmisor.

Si RXEN=1 Si TXEN=1

=> Receptor est habilitado. => Transmisor est habilitado.

Esto hace que los pines PD0 y PD1 dejen de ser lneas de E/S y tomen su funcin alternativa, RxD y TxD respectivamente.

USART
Inicializacin de la USART.
Configurar el baud-rate.

Seleccionar el modo de operacin y configurar la trama.

USART
Habilitar al Transmisor y al Receptor, habilitar las interrupciones que se usaran.

USART
Ejemplos, transmisin serial.
Cuando el PD.0=0, se transmitir el valor del puerto B. Transmisin de 5 datos adquiridos del puerto B en forma consecutiva:
Por tiempo. Por polling (monitoreo de bandera). Por interrupcin.

USART
Ejemplos, recepcin serial.
Por polling. Por interrupcin.

USART
Ejemplo, TX y RX.
Considerar n datos almacenados en SRAM a partir de la loc. $60 y cuyo fin es indicado por el numero $FF. Se deben transmitir los n datos, a travs de la UART, por los siguientes mtodos:
Tiempo Polling TXC, UDRE. Int. Tx completa. Int. Reg. De datos vaco.

El inicio de la Tx ser generado por la recepcin, a travs de la UART, del digito $03.
Polling RXC Int. Rx completa.

USART
Prctica.
Implementar una interfaz del uC ATmega8 con una PC a travs del protocolo serial RS232, con las siguientes caractersticas:
El uC esperara la recepcin de n datos, stos debern ser almacenados en SRAM a partir de la loc. $60, el inicio ser indicado por la recepcin del carcter $00 y el fin por el nmero $FF, formando parte de la trama nicamente este ltimo.
Recepcin: 80 20 33 00 03 29 21 55 af e5 ff Trama: 03 29 21 55 af e5 ff

Cada que se reciba un dato fe, se debe recuperar aplicar un algoritmo de ordenamiento y transmitir la trama hacia la PC. Int. Tx completa. Int. Reg. De datos vaco.

USART
Modo Multiprocesador. Se trata de un protocolo muy simple que permite implementar una red de uCs usando la USART.
Protocolo poco robusto. En este modo un mensaje (trama) est compuesto por:
Campo de direccin. n datos.

USART
Cuando se activa el modo Multiprocesador, se habilita un filtro en la USART que determina si el dato recibido es de control (direccin) o datos. Los mensajes, que no contienen direccin o sta no corresponde al uC receptor, son ignorados por la USART. Cuando el uC es esclavo (en modo recepcin):
Si la trama contiene de 5 a 8 bits de datos, el 1er bit de paro indica si la trama es direccin o dato. Si la trama contiene 9 bits de datos, entonces el 9 bit (Rx8) es el encargado de indicar si la trama es direccin o dato. En ambos casos si el bit encargado de indicar el tipo de trama es 1, entonces la trama es una direccin; si su valor es 0, se trata de un dato.

USART
Operacin en modo Multiprocesador.
1. Configura a todos los uCs en modo Multiprocesador.
MPCP = 1. Inicialmente todos los uCs son esclavos. En el caso de una trama con datos < 9, configurar la USART para recibir n datos y 2 bits de paro. Para una trama de 9 bits, se puede usar 1 o 2 bits de paro y bit de paridad.

USART
2. Cuando un uC transmite un dato se vuelve maestro del bus.
El primer dato enviado debe ser una direccin: Formato para datos = 9 bits

Antes de transmitir la direccin, en el caso de una trama con datos < 9, configurar la USART con n+1 datos y 1 bit de paro. El bit n+1 = 1.

USART
3. Todos los uC esclavos recibirn la trama de direccin. Mediante esta trama determinaran si el mensaje les corresponde.

El esclavo que contiene la direccin enviada por el maestro debe: Salir del modo de Multiprocesador MPCM = 0 (Reg. UCSRA). Configurar su trama a n+1 datos y 1 bit de paro, cuando datos < 9.

USART
4. A partir de ese momento el uC maestro enviara los n datos contenidos en el mensaje. Cada dato estar conformado de la siguiente manera:

USART
5. Una vez terminado el mensaje:
El uC esclavo debe entrar nuevamente en modo multiprogramacin, MPCM = 1 (Reg. UCSRA). Tanto el uC esclavo como el uC maestro deben configurar su trama a n datos y 2 bits de paro Una vez concluido este paso 5, cualquier uC puede ser maestro de acuerdo a lo explicado en el paso 2.

USART
Consideraciones adicionales.
Cuando se desea transmitir a largas distancias, con altas velocidades y conectar ms de dos dispositivos, la solucin es la norma TIA/EIA-485 (RS-485). Esta interface tiene muchas ventajas con respecto a RS 232, entre las cuales se encuentran: a) Bajo costo. Los Circuitos Integrados para trasmitir y recibir son baratos y solo requieren una fuente de +5V para poder generar una diferencia mnima de 1.5v entre las salidas diferenciales.

USART
a) Capacidad de interconexin. RS-485 es una interface multi-enlace con la capacidad de poder tener mltiples transmisores y receptores. Con una alta impedancia receptora, los enlaces con RS-485 pueden llegar a tener a lo mximo hasta 256 nodos. b) Longitud de Enlace. En un enlace RS-485 puede tener hasta 4000 pies de longitud, comparado con RS-232 que tiene unos limites tpicos de 50 a 100 pies. c) Rapidez: La razn de bits puede se tan alta como 10 Mega bits/ segundo.

USART
d) Alta inmunidad al ruido.

USART
Conexin Half-duplex

USART
Conexin Full-duplex

USART
Transceivers con la norma TIA/EIA-485.
SN75176. MAX485.

USART
Practica.
Implementar una red de 3 uC.

Anda mungkin juga menyukai