Your SlideShare is downloading. ×
Clase USART
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Clase USART

9,968

Published on

Módulo USART - PIC16F877A

Módulo USART - PIC16F877A

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,968
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. CIRCUITOS DIGITALES IICIRCUITOS DIGITALES II USART: Transmisor/ReceptorUSART: Transmisor/Receptor SSííncrononcrono/As/Asííncrono seriencrono serie Ing. Fernando Aparicio Urbano Molano
  • 2. 2 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. INTRODUCCIINTRODUCCIÓÓNN Existen dos formas de intercambiar información binaria o digital: la paralela y la serial. La comunicación paralela transmite todos los bits de un dato de manera simultánea y tiene la ventaja que la transferencia es rápida, pero la desventaja de necesitar una gran cantidad de hilos o líneas, situación que encarece los costos y se agrava cuando las distancias que separan los equipos entre los cuales se hace el intercambio es muy grande, debido a las capacitancias entre los conductores, la cual limita el correcto intercambio de datos a unos pocos metros.
  • 3. 3 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. INTRODUCCIINTRODUCCIÓÓN (2)N (2) La comunicación serial transmite un bit a la vez, por lo cual es mucho más lenta, pero posee la ventaja de que necesita mucho menor número de líneas para la transferencia de la información y las distancias a la cual se puede realizar el intercambio, es mayor; a esto se suma que mediante dispositivos como los modems, la comunicación se pueda extender prácticamente a cualquier lugar.
  • 4. 4 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. INTERFAZ DE COMUNICACIINTERFAZ DE COMUNICACIÓÓN TTL/RSN TTL/RS--232232 El microcontrolador PIC16F87X posee un módulo USART, usando la norma RS-232, sin embargo es necesario usar un módulo adicional para convertir las señales que maneja, a niveles TTL (0 – 5V) a niveles adecuados para que haya una correcta comunicación con el computador (PC). Dicha labor la realiza el circuito integrado MAX232 de Maxim Semiconductor. Este integrado se destaca por que maneja los niveles de voltaje positivos y negativos propios de la interface RS-232, a pesar de que se alimenta con solo una fuente sencilla de 5V.
  • 5. 5 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. COMUNICACICOMUNICACIÓÓN SERIE ASN SERIE ASÍÍNCRONANCRONA El USART (Universal Synchronous Asynchronous Receiver Transmitter), o conocido como SCI (Serial Comunications Interface), puede ser configurado como un sistema full duplex o bidireccional asíncrono, adaptándose a multitud de periféricos y dispositivos que transfieren información de ésta forma, tales como el monitor CRT o el computador. USART puede configurarse de tres formas: • Asíncrona (Full duplex, bidireccional). • Síncrona-Maestro (Half duplex, unidireccional). • Síncrona-Esclavo (Half duplex, unidireccional).
  • 6. 6 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. COMUNICACICOMUNICACIÓÓN SERIE ASN SERIE ASÍÍNCRONA (2)NCRONA (2) Vamos a estudiar únicamente el modo asíncrono, donde las transferencias de información se realizan sobre dos líneas TX (transmisión) y RX (recepción), saliendo y entrando los bits por dichas líneas al ritmo de una frecuencia controlada internamente por el USART. Las líneas de comunicación son los dos bits de más peso del Puerto C: RC6/TX/CK y RC7/RX/DT, donde el bit SPEN (RCSTA<7>) y los bits TRISC<7:6> tienen que activarse mediante un 1 con el fin activar dichos pines.
  • 7. 7 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. REGISTRO TXSTA: Estado de la transmisiREGISTRO TXSTA: Estado de la transmisióón y Registro de controln y Registro de control
  • 8. 8 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. REGISTRO RCSTA: Estado de la recepciREGISTRO RCSTA: Estado de la recepcióón y Registro de controln y Registro de control
  • 9. 9 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. GENERADOR DE BAUDIOSGENERADOR DE BAUDIOS En el protocolo asíncrono RS-232-C, la frecuencia en baudios (bits por segundo) a la que se realiza la transferencia se debe efectuar a un valor normalizado: 2400, 4800, 9600, 19200, etc. Para generar esta frecuencia en Baudios, BRG, cuyo valor es controlado por el contenido grabado en el registro SPBRG. Además del valor X cargado en el registro SPBRG, la frecuencia en baudios del generador depende del bit BRGH del registro TXSTA<2>. En caso de que BRGH sea 0 se trabaja en baja velocidad y si BRGH = 1 se trabaja en alta velocidad. Según éste bit se obtendrá el valor de una constante K necesaria en la determinación de la frecuencia de funcionamiento.
  • 10. 10 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. GENERADOR DE BAUDIOS (2)GENERADOR DE BAUDIOS (2) ( )( )1 OSCF K X = • + Frecuencia en Baudios X es el valor cargado en el registro SPBRG Si BRGH = 0, baja velocidad y K = 64 Si BRGH = 1, alta velocidad y K = 16 De donde se tiene que: 1OSCF X Frecuencia K = − •
  • 11. 11 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. GENERADOR DE BAUDIOS (3)GENERADOR DE BAUDIOS (3) Si en un PIC16F877A funcionando con una 4OSCF MHz= Se desea trabajar con el USART en modo asíncrono y alta velocidad, con una frecuencia de 9600 baudios, calcular el valor X que hay que cargar en el registro SPBRG y el error que se origina. (Alta velocidad) K = 16 ( )9600 4000000 / 16 ( 1)X= • + 4000000 1 9600 16 X = − • 25X =
  • 12. 12 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. GENERADOR DE BAUDIOS (4)GENERADOR DE BAUDIOS (4) Si se carga el registro SPBRG con 8 la frecuencia real de trabajo será: ( )4000000 / 16 (25 1) 9615Frecuencia = • + = baudios El error que se genera cargando 25 en el SPBRG será: 9615 9600 100% 0.16% 9600 Error −⎛ ⎞ = ∗ =⎜ ⎟ ⎝ ⎠
  • 13. 13 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. TRANSMISOR ASTRANSMISOR ASÍÍNCRONONCRONO Pasos a seguir para implementar una transmisión en el USART: 1. Configurar las líneas RC6/TX/CK como salida y RC7/RX/DT como entrada. 2. Poner SYNC = 0 y SPEN = 1 para activar el USART en modo asíncrono. 3. Si se desea trabajar con interrupción, poner TXIE = 1, además de habilitar las interrupciones en general. 4. Si el dato consta de 9 bits, en lugar de los 8 típicos, poner el bit TX9 = 1. El noveno bit se colocará en TX9D (TXSTA). 5. Se carga el valor X adecuado en el registro SPBRG, para producir la frecuencia de trabajo deseada. Hay que controlar el bit BRGH (alta y baja velocidad). 6. Activar la transmisión con TXEN = 1. El bit TXIF tendrá valor 1, ya que TXREG se encuentra vacío. 7. Cargar en TXREG el dato a transmitir. Comienza la transmisión.
  • 14. 14 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. RECEPTOR ASRECEPTOR ASÍÍNCRONONCRONO Pasos a seguir para el modo recepción: 1. Se carga con el valor X al registro SPBRG para trabajar con la frecuencia deseada, controlando además el valor de BRGH. 2. Se habilita el USART en modo asíncrono con SPEN = 1 y SYNC = 0. 3. Si se desea trabajar con interrupción con la llegada del bit de STOP (parada), se pone RCIE = 1, además de habilitar las interrupciones en general. 4. Poner RX9 = 1 para permitir la recepción del bit 9 bits. 5. Para detectar la dirección, poner ADDEN = 1. 6. Se habilita la recepción poniendo CREN = 1. 7. Al completarse la recepción RCIF se pondrá a 1 y se produce una interrupción si se había permitido 8. Se lee el registro RCSTA y se averigüa si se ha producido algún error. 9. Leer los 8 bits del registro RCREG para determinar si el dispositivo ha sido direccionado. 10. Si se ha producido algún error, poner CREN = 0. 11. Si ha sido direccionado el dispositivo, poner ADDEN = 0 para permitir la recepción de la información.
  • 15. 15 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. SIMULACISIMULACIÓÓN DEL RSN DEL RS--232 EN PROTEUS ISIS 6.9232 EN PROTEUS ISIS 6.9 Es posible simular la transmisión serial por medio de éste terminal virtual, conectado directamente a los pines de transmisión y/o recepción.
  • 16. 16 USART: Transmisor/Receptor Asíncrono Serie Ing. Fernando A. Urbano M. REFERENCIASREFERENCIAS 1. PIC16F87X Data Sheet 28/40 pin 8-bit CMOS FLASH Microcontrolers. Microchip Technologies Inc. 2001. 2. ANGULO, Jose M. y otros. Microcontroladores PIC. Diseño práctico de aplicaciones. Segunda Parte: PIC16F87X. Segunda Edición McGrawHill. 2006. 3. RODRIGUEZ, Luis Alfonso y otro. Adquisición y almacenamiento de datos de 12 bits. Electrónica y Computadores. Nro. 72. CEKIT. 4. NARANJO, John Jairo. Interface Serial RS-232. Electrónica y Computadores. CEKIT.

×