Está en la página 1de 12

Capitulo 8 USART

8.0 Introduccin

La comunicacin serial es un proceso de envo de mltiples bits de datos sobre un solo alambre. Es una reminiscencia del telgrafo original, en el cual los bits fueron los puntos y las rayas del cdigo Morse. Los bits de un byte serial estn separados en tiempo tal que el dispositivo receptos puede determinar los niveles lgicos de cada bit. El USART es empleado para comunicarse del microcontrolador a varios otros dispositivos. Ejemplos de estos dispositivos incluyen la herramienta terminal del Code Vision (empleado para los problemas y la depuracin de los problemas de los programas), otros microcontroladores que requieren comunicarse con otros microcontroladores para efectuar un trabajo. La forma regular de comunicacin serial, y la forma que se discutir aqu, es asncrona. La cual es asncrona en el sentido que la seal de reloj comn no se requiere tanto en la transmisin como en la recepcin para la sincronizacin de la deteccin de los datos. Comunicacin serial asncrona emplea un bit de arranque y un bit de fin de transmisin agregados al byte de datos para permitir al receptor la determinacin del tiempo de cada bit. En la siguiente figura se muestra los elementos del byte de la comunicacin serial asncrona. Esta figura muestra la definicin de cada bit de la palabra serial. El mensaje inicia con una espera estando en alto y pasando a bajo para iniciar el mensaje. El bit de arranque o inicio toma el valor de un bit completo y es seguido por los ocho bits de l byte de dato que se muestra sobre una lnea serial en un orden inverso, esto es, el bit menos significativo aparece primero y el bit ms significativo aparece al ltimo. El bit de fin de mensaje sigue al bit ms significativo corresponde a un uno lgico, el mismo valor para el bit de espera.

St (n) P Sp Idle

Bit de inicio siempre en cero logico. Bits de datos (0 a 8). Bit de pariedad, puede ser par o impar. Bit o bits de fin de mensaje, siempre en uno logico. Bit de espera. No existe transferencia de dato sobre la linea de comunicacin

El flanco de bajada inicia la secuencia de transmisin en el receptor serial. Iniciando desde el flanco de bajada del bit de inicio, el receptor espera 1.5 bits antes de muestrear la lnea receptora. Despus de eso, el receptor espera 1 bit por cada bit, por lo tanto se muestrea cada bit de dato sucesivo en el centro del periodo para mxima eficiencia.

Afortunadamente, todo el tiempo del formateo del byte serial, el muestreo de los bits seriales, y la suma del bit de inicio y el bit de fin de transmisin son manejados automticamente por el universal synchronous asynchronous receiver transmitter (USART).

8.1 USART El transmisin y receptor serial asncrono y sncrono universal (USART) es una unidad de comunicacin perifrica muy flexible, que en le microcontrolador atemga8 permite entre otras funciones. Operacin full dplex (se puede enviar y recibir datos simultneamente) Operacin sncrona y asncrona Operacin en modo maestro esclavo con reloj sncrono Soporta frames de 5,6,7,8 y 9 datos y 1 o 2 de parada Generador de paridad par o impar Deteccin de errores (sobre flujo de datos, error en el frame) Filtrado de ruido (inicio falso, filtro digital) Generacin de interrupciones por transmisin completa, por recepcin completa o por registro de datos de transmisin vaca Comunicacin entre multiprocesadores Doblador de velocidad modo de comunicacin asncrona

8.2 Norma RS 232 La interfaz RS-232 est diseada para distancias cortas, de hasta 15 metros segn la norma, y para velocidades de comunicacin bajas, de no ms de 20 Kilobytes/segundo. A pesar de ello, muchas veces se utiliza a mayores velocidades con un resultado aceptable. La interfaz puede trabajar en comunicacin asncrona o sncrona y tipos de canal simplex, half duplex o full duplex. En un canal simplex los datos siempre viajarn en una direccin, por ejemplo desde DCE (Data communication equipment) a DTE (Data terminal equipment). En un canal half duplex, los datos pueden viajar en una u otra direccin, pero slo durante un determinado periodo de tiempo; luego la lnea debe ser conmutada antes que los datos puedan viajar en la otra direccin. En un canal full duplex, los datos pueden viajar en ambos sentidos simultneamente. Las lneas de handshaking de la RS-232 se usan para resolver los problemas asociados con este modo de operacin, tal como en qu direccin los datos deben viajar en un instante determinado.

Si un dispositivo de los que estn conectados a una interfaz RS-232 procesa los datos a una velocidad menor de la que los recibe deben de conectarse las lneas handshaking que permiten realizar un control de flujo tal que al dispositivo ms lento le d tiempo de procesar la informacin. Las lneas de "hand shaking" que permiten hacer este control de flujo son las lneas RTS y CTS. Los diseadores del estndar no concibieron estas lneas para que funcionen de este modo, pero dada su utilidad en cada interfaz posterior se incluye este modo de uso. La norma RS 232 es un protocolo de comunicacin serial que define la transmisin fsica entre la terminal DTE (Data terminal equipment) y un modem DCE (Data communication equipment). Este protocolo define un uno lgico como una seal comprendida en el intervalo de -5 volts a -15 volts y un cero lgico como una seal comprendida en el intervalo de +5 volts a +15 volts. Bajo esta terminologa, la primera transmisin de 1 a 0 lgico, define un bit de inicio, bit de arranque, a la que le siguen 5, 6,7 u 8 bits de datos. El octavo bit se emplea como bit de paridad, mecanismo de deteccin de errores; al final de la transmisin, la seal debe regresar al valor lgico cero, el cual se define como bit de fin de transmisin, que se puede configurar como uno o dos bits de parada. El conector normalizado para este protocolo es el conector V24, de 25 terminales, sin embargo, en equipos de cmputo es ms utilizado el conector DB9 de 9 terminales, las terminales de este conector se muestran en la siguiente tabla.

Numero Nombre 1 CD 2 RXD 3 TXD 4 DTR 5 GND 6 DSR 7 RST 8 CTS 9 RI Tabla 8.1 Pines de conexin RS232 conector DB9. 8.3 Configuracin de la USART. 8.3.1 Registro de entrada salida de datos de la USART, UDR.

Funcin Carrier detect Recepcin de dato Transmisin de dato Data terminal ready Tierra del sistema Data set ready Request to send Clear to send Ring indicator

Es el registro donde se escriben los datos a transmitir (TXB) y donde se leen los datos recibidos (RXB), slo se pueden escribir en este registro cuando el bit UDRE (USART data register empty). Los datos escritos en este registro mientras UDRE esta en cero, sern ignorados. 8.3.2 Registro de control y estado A de la USART, UCSRA.

Bit 7 RXC, recepcin completa. Este bit se activa cuando existen datos no ledos en el buffer de recepcin. Bit 6 TXC, transmisin completa. Este bit se activa cuando se han enviado todos los datos del buffer de transmisin. Bit 5 UDRE, registro de datos de la USART vacio. Indica que el buffer UDR est listo para recibir nuevos datos. Bit 4 FE, error en el frame. Se activa cuando existe un error en el frame de datos recibidos. Bit 3 DOR, data overrun. Si el buffer de recepcin est lleno y se detecta un nuevo bit de inicio. Bit 2 PE, error de paridad. Si se activa la verificacin de paridad (UPM1=1) y existe un error de paridad en la transmisin, este bit se activa.

Bit 1 U2X, doblador de velocidad de la USART. Slo tiene efecto en modo asncrono, reduce el divisor de baud rate de 16 a 8, lo que ocasiona que se duplique la velocidad de transmisin. Bit 0 MPCM, modo de comunicacin multiprocesador. Activa el modo de comunicacin multiprocesador, todos los frames recibidos que no contengan informacin de direccin sern ignorados.

8.3.3 Registro de control y estado B de la USART, UCSRB.

Bit 7 RXCIE, habilitacin por interrupcin por recepcin completa. Bit 6 TXCIE, habilitacin de interrupcin por transmisin completa. Bit 5 UDRIE, habilitacin de interrupcin por registro de datos de USART vacio. Bit 4 RXEN, habilita el receptor de la USART. Bit 3 TXEN, habilita el transmisor de la USART. Bit 2 UCSZ2, en conjunto con la UCSZ1:0, establecen el tamao de bits de datos a utilizar. Bit 1 RXB8, si se escogi un frame de 9 bits de datos, aqu se ubica el noveno bit recibido y debe ser ledo antes de leer los 8 bits restantes. Bit 0 TXB8, si s escogi un frame de 9 bits de datos, aqu se debe de escribir el noveno bit de datos y debe escribirse antes de los ocho restantes.

8.3.4 Registro de control y estado C de la USART, UCSRC.

Bit 7 URSEL, este bit selecciona si se accede al registro UCSRC (URSEL=1) o al registro UBRRH (URSEL=0). Bit 6 UMSEL, modo de operacin de la USART, cero en este bit la USART opera en modo asncrono, con un uno en este bit, la USART opera de forma sncrona. Bit 5:4 Modo de paridad, las posibles combinaciones para modo de operacin con paridad se muestran en la tabla 8.2. Bit 3 USBS, seleccin de bits de parada; 0=1 bit de parada, 1=2 bits de parada. Bit 2:1 UCSZ1:UCSZ0, en conjunto con UCSZ2, establecen el tamao de bits de datos, de acuerdo a la tabla 8.3.

Bit 0 UCPOL, polaridad de reloj, slo aplica en modo sncrono y determina la relacin entre el cambio en la salida de datos y la entrada de datos y el reloj de sincrona (XCK), como lo muestra la tabla 8.4.

UPM1 UPM0 Modo de paridad 0 0 Desactivada 0 1 Reservado 1 0 Activada, paridad par 1 1 Activada, paridad impar Tabla 8.2 Modos de paridad UCSZ2 UCSZ1 UCSZ0 Tamao de datos 0 0 0 5 bits 0 0 1 6 bits 0 1 0 7 bits 0 1 1 8 bits 1 0 0 Reservado 1 0 1 Reservado 1 1 0 Reservado 1 1 1 9 bits Tabla 8.3 Tamao de datos. UCPOL Cambio en transmisin (TXD) 0 Flanco de subida en XCK 1 Flanco de bajada en XCK Tabla 8.4 Configuracin de UCPOL Muestreo de recepcin (RXD) Flanco de bajada en XCK Flanco de subida en XCK

8.3.5 Registros de seccin de baud rate, UDRRH y UDRRL.

Bit 11:0 UBRR11:UBRR0, registro de baud rate de la USART. Para una completa lista de valores de configuracin consulte la hoja de datos del microcontrolador, paginas 156-159.

8.4 Prctica del USART. 8.4.1 Objetivo. Conocer el funcionamiento y los registros que intervienen en la configuracin del USART. 8.4.2 Desarrollo. Arme el circuito de la figura 8.8. 8.4.3 Cdigo. //_________________________inicio del programa #include <avr/io.h> #include <avr/signal.h> #include <avr/interrupt.h> char data; void init_USART(void){ UBRRL=25; //configurar USART para

UCSRB=(1<<RXEN)|(1<<TXEN)|(1<<RXCIE); //baud rate 9600 a 4 Mhz

UCSRC=(1<<URSEL)|(1<<USBS)|(3<<UCSZ0);//2 bits de parada, 8 bits de datos sei(); }

void TX_USART(void){ data=data-32; // resta 32 para obtener

loop_until_bit_is_set(UCSRA,UDRE); // valor ASCII en maysculas UDR=data; } // enviar dato

ISR (SIG_UART_RECV){ Data=UDR; TX_USART(); }

//interrupcin de recepcin USART //leer dato recibido //funcin de envo de dato

int main(){ init_USART(); while(1); } 8.5 Anexo.

8.5.1 Hyperterminal (configuracin).


Para comenzar la configuracin, dirjase al botn de Inicio y seleccione: Programas Accesorios - Hyperterminal. Si no tiene la carpeta de Hyperterminal: Dentro de Mi PC haga doble click sobre el icono de Panel de Control. Luego haga doble click sobre Agregar o Quitar Programas y haga un click sobre la pestaa de Instalacin de Windows. Ahora para verificar las opciones de comunicaciones que tiene instalada, haga doble click sobre Comunicaciones, luego en las Propiedades, y marque la opcin de Hyperterminal y seleccione Aceptar hasta que el programa empiece a instalar el Hyperterminal.

Se visualizar una ventana como lo muestra la figura. Haga doble clic sobre el cono Hypertrm.

Al presentarse esta pantalla, en el campo de Nombre, escriba el nombre con el que desea identificar la sesin (puede escribir T-NET) y oprima el botn de Aceptar.

En el campo de Conectar utilizando, se selecciona el puerto de comunicacin (COM) en donde se encuentre su mdem instalado. Oprima el botn de Aceptar.

Las propiedades del puerto (COM x) no deben sufrir modificaciones. En esta pantalla oprima el botn de Aceptar.

En esta pantalla empezar a parpadear el cursor, en donde debe escribir el siguiente comando AT&V y oprimir la tecla de Enter. De no visualizarse las letras al teclearlo escriba el siguiente comando ATE1 y presione Enter al tratar de escribir podr visualizar los comandos. Esta ser la pantalla con todo los perfiles que tiene configurado, en donde hay que observar los valores que se encuentran en: S7, S9, S10, y en S12. Si tienen valores por debajo de los que se mencionarn a continuacin hay que modificarlos, para que la transmisin no sea interrumpida. Ahora escriba los siguientes comandos: ats7=80 Haga un click en la tecla de ENTER. Deber aparecer OK ats9=100Haga un click en la tecla de ENTER. Deber aparecer OK ats10=255 Haga un click en la tecla de ENTER. Deber aparecer OK ats12=120 Haga un click en la tecla de ENTER. Deber aparecer OK at&w Haga un click en la tecla de ENTER. Deber aparecer OK. De lo contrario escriba atw atx3 Haga un click en la tecla de ENTER. Deber aparecer OK at&k3 Haga un click en la tecla de ENTER. Deber aparecer OK. De lo contrario estriba atk3 at%c=1 Haga un click en la tecla de ENTER. Deber aparecer OK. De lo contrario escriba at%c1 , at&c=1 at&c1 at&w Haga un click en la tecla de ENTER. Deber aparecer OK. De lo contrario escriba atw Una vez concluida la configuracin, vaya al men de File (Archivo) y seleccione Exit (Salir). Le preguntar si desea desconectarse, haga un click en Yes (Si), y si desea guardar sesin, seleccione la opcin Yes (Si). Saldr un nuevo cono con el nombre o la letra que coloca al principio, cierre la ventana y realice la conexin nuevamente directamente desde el cono Internet, observando si fue solventado el inconveniente con el mdem.

También podría gustarte