Universidad de Guadalajara
Piensa y trabaja
UNIVERSIDAD DE GUADALAJARA
Ingeniería
Práctica 2
Comunicación serial asíncrona
Nombre del alumno: Luis Omar Nuñez Romero
Nombre del profesor: Raul Carrillo Diaz
Fecha de realización: 27/03/21
Firma de calificación: _________________
1
Universidad de Guadalajara
Piensa y trabaja
PLAN DE CLAVE DE LA
CARRERA NOMBRE DE LA ASIGNATURA
ESTUDIO ASIGNATURA
Ingeniería I7395 Protocolos de comunicación
electrónica
PRACTICA LABORATORIO Comunicaciones DURACION
No y TIPO. DE: EN HORAS:
2 Diseño NOMBRE DE LA
libre – PRACTICA: Comunicación serial asíncrona. 2
especifico.
1.- OBJETIVO O COMPETENCIA
Implementar comunicación serial asíncrona entre dos dispositivos (8 bits) e identificar el
protocolo de la transmisión serial en el osciloscopio.
2.- FUNDAMENTOS
¿Qué es PIC?
El Un PIC es un circuito integrado programable (Programmable Integrated Circuited), el
cual contiene todos los componentes para poder realizar y controlar una tarea, por lo
que se denomina como un microcontrolador. Los PIC son una familia
de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados
del PIC1650, originalmente desarrollado por la división de microelectrónica de General
Instrument.
El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro,
aunque generalmente se utiliza como Peripheral Interface Controller (controlador de
interfaz periférico).
Para este caso utilizaremos un PIC perteneciente a la familia PIC16F886/887 (Nuevo
sustituto del 16F876A y 16F877A con la diferencia que ahora ya incluye oscilador interno,
considerados los más cercanos a la familia 18F)
¿Qué es la comunicación serial?
La comunicación serial es un protocolo de comunicación entre dispositivos que se incluye
de manera estándar en prácticamente cualquier computadora.
Típicamente, la comunicación serial se utiliza para transmitir datos en formato ASCII.
Para realizar la comunicación se utilizan 3 líneas de transmisión:
(1) Tierra (o referencia),
(2) Transmitir,
2
Universidad de Guadalajara
Piensa y trabaja
(3) Recibir.
Debido a que la transmisión es asíncrona, es posible enviar datos por un línea mientras se
reciben datos por otra.
Las características más importantes de la comunicación serial son: – la velocidad de
transmisión
– El número de bits de datos
– El número de bits de paro
– Y si cuenta con bit de paridad.
Velocidad de transmisión (baud rate):
Indica el número de bits por segundo que se transfieren, y se
mide en baudios (bauds).
Por ejemplo, 300 baudios representa 300 bits por segundo.
Bits de datos:
Se refiere a la cantidad de bits (palabra) en la transmisión.
Los valores típicos son 1, 1.5 y 2 bits.
¿Que es UART?
UART, son las siglas en inglés de Universal Asynchronous Receiver-Transmitter, en
español: Transmisor-Receptor Asíncrono Universal, es el dispositivo que controla los
puertos y dispositivos serie. Se encuentra integrado en la placa base o en la tarjeta
adaptadora del dispositivo.
Un UART dual, o DUART, combina dos UART en un solo chip. Existe un dispositivo
electrónico encargado de generar la UART en cada puerto serie. La mayoría de las
computadoras modernas utilizan el chip UART 16550, que soporta velocidades de
3
Universidad de Guadalajara
Piensa y trabaja
transmisión de hasta 921,6 Kbps (Kilobits por segundo). Las funciones principales de chip
UART son: manejar las interrupciones de los dispositivos conectados al puerto serie y
convertir los datos en formato paralelo, transmitidos al bus de sistema, a datos en
formato serie, para que puedan ser transmitidos a través de los puertos y viceversa.
3.- PROCEDIMIENTO
EQUIPO MATERIAL
Fuente de cd 2 PIC 16F887
Osciloscopio Cable para interconexión entre
Proteus PICS
DESARROLLO DE LA PRACTICA
Para esta práctica se utilizará el sig. circuito:
La presente práctica solamente se generó de forma simulada por cuestiones sanitarias.
Para el circuito principal utilizamos diagrama mostrado en la Figura 1. Es en la izquierda
podemos ver al PIC transmisor y en la derecha al receptor. El puerto RB0 del transmisor
esta configurado como entrada, puerto RD como salida y dejamos RC6 y RC7 para la
transmisión UART Rx Tx, en el PIC receptor encontramos RC6 7 RC7 para transmisión
serial y el puerto RD como salida del dato recibido. El dato que se recibirá es un valor que
se estará incrementando cada que haya un cambio en RB0, osea mientras este en “1” se
estará enviando el dato 4, se cambia RB0 a “0”, se deja de enviar el dato, se pone
nuevamente en RB0 en “1”, se incrementa el dato a 5 (dato= dato +1) y se envía
nuevamente hasta pasar a a cero RB0.
4
Universidad de Guadalajara
Piensa y trabaja
U1 U2
1 15 15 1
RE3/MCLR/VPP RC0/T1OSO/T1CKI RC0/T1OSO/T1CKI RE3/MCLR/VPP
16 16
RC1/T1OSI/CCP2 RC1/T1OSI/CCP2
2 17 17 2
RA0/AN0/ULPWU/C12IN0- RC2/P1A/CCP1 RC2/P1A/CCP1 RA0/AN0/ULPWU/C12IN0-
3 18 18 3
RA1/AN1/C12IN1- RC3/SCK/SCL RC3/SCK/SCL RA1/AN1/C12IN1-
4 23 23 4
RA2/AN2/VREF-/CVREF/C2IN+ RC4/SDI/SDA RC4/SDI/SDA RA2/AN2/VREF-/CVREF/C2IN+
5 24 24 5
RA3/AN3/VREF+/C1IN+ RC5/SDO RC5/SDO RA3/AN3/VREF+/C1IN+
6 25 25 6
RA4/T0CKI/C1OUT RC6/TX/CK RC6/TX/CK RA4/T0CKI/C1OUT
7 26 26 7
RA5/AN4/SS/C2OUT RC7/RX/DT RC7/RX/DT RA5/AN4/SS/C2OUT
14 14
RA6/OSC2/CLKOUT RA6/OSC2/CLKOUT
13 19 19 13
RA7/OSC1/CLKIN RD0 RD0 RA7/OSC1/CLKIN
20 A 20
RD1 RD1
33 21 21 33
1 34
RB0/AN12/INT
RB1/AN10/C12IN3-
RD2
RD3
22 B 22
RD2
RD3
RB0/AN12/INT
RB1/AN10/C12IN3-
34
35 27 27 35
RB2/AN8 RD4 RD4 RB2/AN8
36 28 C 28 36
RB3/AN9/PGM/C12IN2- RD5/P1B RD5/P1B RB3/AN9/PGM/C12IN2-
37 29 29 37
RB4/AN11 RD6/P1C RD6/P1C RB4/AN11
38 30 D 30 38
RB5/AN13/T1G RD7/P1D RD7/P1D RB5/AN13/T1G
39 39
RB6/ICSPCLK RB6/ICSPCLK
40 8 8 40
RB7/ICSPDAT RE0/AN5 RE0/AN5 RB7/ICSPDAT
9 9
RE1/AN6 RE1/AN6
10 10
RE2/AN7 RE2/AN7
PIC16F887 PIC16F887
Figura 1.
En la Figura 2 encontramos el código main dentro del main con el cual se programó el
transmisor, como se mencionó antes, el dato se envía solamente cuando RB0 se
encuentre en “1”.
Figura 2.
En la Figura 3 encontramos el código con el cual se programó el receptor, como se puede
ver solo está mandando todo el tiempo dat (que contiene el valor recibido) al puerto D y
su vez esta preguntado por la bandera de recepción, en el momento que sea “1”,
sabemos que se recibió el valor y se pasa a la variable dat.
5
Universidad de Guadalajara
Piensa y trabaja
Figura 3.
En la Figura 4 encontramos la cabecera de nuestras funciones utilizadas y creadas para el
módulo UART del PIC y enseguida encontramos el inicio del main con la configuración del
clock y la velocidad de baud para el módulo UART. Todo el código se subió en classrom.
Figura 4.
DIAGRAMAS,CALCULOS Y RECOPILACION DE DATOS
6
Universidad de Guadalajara
Piensa y trabaja
A continuación encontramos la Figura 5. Donde tenemos conectado el Osciloscopio, como
se muestra en la Figura 1. La punta está conectada al RC6 del transmisor, que va conectado
al Rc7 del receptor. Entonces, dejando la entrada Rb0 del transmisor en 1, se comienza a
enviar el dato.
Según los cálculos y la teoría, nuestro baud rate es de 9600, entonces esto quiere decir
que un bit tiene un periodo de 1.041uS, esto por 9, que serían 8 bits más el bit de parada
nos da 0.9375mS. En la Figura 5 sacando la diferencia de los cursores encontramos que el
mensaje tiene un periodo de 1.21mS – 145uS= 1.065mS. Esto nos dice que 1.065mS-
0.9375mS es igual al tiempo de espera de nuestra UART para enviar un mensaje nuevo es
de 127.5uS. Con esto validamos en la velocidad de transmisión establecida en el programa
del microcontrolador es correcta.
Figura 5.
En la Figura 5, vemos que el dato que se está enviando es un “1”, ya que es “10000000” y
el noveno bit (bit de paro) es “1”, en la Figura 6 vemos que el dato que se está
mandando es “00010000” y el noveno bit es 1. Y de igual forma se sigue respetando el
periodo del mensaje que es 1.065mS.
7
Universidad de Guadalajara
Piensa y trabaja
Figura 6.
4.- RESULTADOS Y CONCLUSIONES
8
Universidad de Guadalajara
Piensa y trabaja
Ya para terminar tenemos este último ejemplo en la Figura 7, donde el mensaje que se
está enviando es un “00000100” y el ultimo bit (paro) está en “1”.
Como se puede apreciar en las Figuras 5, 6 y 7, el mensaje fue recibido correctamente en
todos los casos ya que el PIC receptor lo mando al puerto D como se tenía programado.
De igual forma ambos PIC están mandando el dato por el puerto D, y como se aprecia
ambos PICS tienen el mismo dato recibido según sea el dato enviado.
Figura 7.
Conclusiones: Con el desarrollo de esta práctica pudimos comprobar de forma
efectiva las definiciones de baud rate, bit de parada, y el tamaño del mensaje o tamaño de
palabra, según lo calculado coincidía correctamente con lo mostrado en el osciloscopio y
se validó el principio de la comunicación asíncrona, que no depende en si de un clock
simultaneo, el pic receptor tiene programado a que base de tiempo debe de dividir la
palabra recibida.
5.-BIBLIOGRAFIA Y ANEXOS
9
Universidad de Guadalajara
Piensa y trabaja
[Link]
[Link]
Transmitter#:~:text=UART%2C%20son%20las%20siglas%20en,los%20puertos%20y%20dispositivos%
20serie.&text=Un%20UART%20dual%2C%20o%20DUART,UART%20en%20un%20solo%20chip.
[Link]
10