El Puerto Serie USART GRUPO2
El Puerto Serie USART GRUPO2
El Puerto Serie USART GRUPO2
MATERIA: MICROCONTROLADORES
EXPOSICION
GRUPO N˚2
NRC: 2840
INTEGRANTES:
LUIS ALVAREZ
DAVID BRAVO
Los sistemas micro-programables basados en CPU internamente están diseñados para la transferencia de
datos en buses o líneas de 8 bits o múltiplos de 8. Así el bus de datos está optimizado para el tratamiento de
datos en paralelo lo cual es mucho más rápido que el tratamiento serie. Una manera de conectar dos
dispositivitos es mediante comunicaciones serie. A pesar de que la velocidad de trasferencia de datos en
paralelo es mucho mas rápida, la transmisión de datos en serie es la más utilizada por:
1. Comunicación en paralelo requiere una gran cantidad de hilos conductores, mientras que la
comunicación serie requiere 2, 3 o 4 hilos.
2. La entrada/salida serial puede ser transmitida a través de pares de cobre, cable coaxial, fibra óptica.
3. La comunicación en paralelo no posee el alto grado de estandarización que ha alcanzado la
comunicación serie.
La comunicación en serie es utilizada por la gran mayoría de los sistemas de comunicación de datos digitales,
puesto a que poseen grandes ventajas:
1. Comunicación en paralelo. Se utiliza una línea física por cada bit del dato a comunicar; además de
posibles líneas para protocolo. A manera de ejemplo, en la figura 1 se muestra como se transmitiría e
dato de 8 bits 1001 0111= 97h
2. Comunicación en Serie. Sólo utiliza una línea para la transmisión de datos, y opcionalmente alguna
línea o líneas para protocolo. En la figura 2 se muestra cómo se transmitiría en serie el mismo dato
(97h).
2
Figura 2. Ejemplo de comunicación en serie
(El Puerto Serie USART )
Al momento de comparar ambos tipos de conexiones, existe una clara desventaja de la comunicación serie
puesto que un dato se envía de uno por uno, de manera que mientras que la comunicación en paralelo envía
en un ciclo un dato de 8 bits, es decir a la comunicación serie le toma más de 8 ciclos. Sin embargo, debido a
que la comunicación serie requiere sólo una línea para la transmisión esto abarata los costos en líneas de
cuyos datos no necesariamente deben ser enviados a través de un conductor eléctrico, sino inclusive por aire
o por el vacío usando impulsos electromagnéticos.
Las transmisiones asincrónicas: Son aquellas en que los bits que constituyen el código de un carácter
se emiten con la ayuda de impulsos suplementarios que permiten mantener en sincronismo los dos
extremos. Su misión es: Avisar al receptor de que está llegando un dato y darle suficiente tiempo al
receptor de realizar funciones de sincronismo antes de que llegue el siguiente byte.
Las transmisiones sincrónicas: Los caracteres se transmiten consecutivamente, no existiendo ni bit
de inicio ni bit de parada entre los caracteres, estando dividida la corriente de caracteres en bloques,
enviándose una secuencia de sincronización al inicio de cada bloque. Su misión es: Alertar al receptor
de la llegada de los datos.
1. Sincronización de bits: El receptor necesita saber dónde comienza y donde termina cada bit en la
señal recibida para efectuar el muestreo de esta en el centro del intervalo de cada símbolo.
2. Sincronización del carácter: La información serie se transmite por definición bit a bit, pero la misma
tiene sentido en palabras o bytes.
3. Sincronización del mensaje: Es necesario conocer el inicio y fin de una cadena de caracteres por parte
del receptor para detectar algún error en la comunicación de un mensaje. El control de la transmisión
serie depende del programador
Sincronización de bits
Existen algunos métodos para resolver el problema de una mala interpretación:
1. Codificación no auto reloj: Enviar por una línea adicional una señal de reloj que indique el centro de
las celdas de bits en la línea de datos.
3
Figura 3. Ejemplos de codificación no auto reloj
(Descripción Detallada del PIC16F87)
2. Codificación auto reloj: Enviar con cada bit y por la misma línea de datos información que permita
extraer la señal de reloj.
3. Los relojes de transmisión y de recepción se mantienen en fase: Lograr mediante alguna estrategia
que los relojes de transmisión y de recepción se mantengan en fase continuamente, es decir, sin
necesidad de tener una señal de reloj en una línea adicional o por la misma línea de datos de
información
Sincronización de carácter
Estos sistemas no requieren líneas adicionales a la línea de datos y son:
1. Método Asíncrono. Cada carácter va señalizado mediante dos bits: un bit de inicio y un bit de parada,
estos dos bits permiten al receptor reconocer el inicio y el final de cada carácter.
2. Método Síncrono. Cada mensaje o bloque de transmisión va precedido de unos caracteres de
sincronismo, es decir una configuración de bits que será detectada para el inicio y tamaño de datos.
La transmisión asíncrona para la norma RS232 esta definida por el siguiente conjunto de reglas (El
Puerto Serie USART ):
a) Cuando no se envían datos por la línea, ésta se mantiene en estado alto “1”
b) Cuando se desea transmitir un carácter, se envía primero un bit de inicio que pone la línea a
estado bajo “0” durante el tiempo de un bit.
c) Durante la transmisión, si la línea está a nivel bajo, se envía un 0, y si está a nivel alto se envía
un 1.
d) se envían todos los bits del mensaje a transmitir con los intervalos que marca el reloj de
transmisión. Por convenio se transmiten entre 5 y 8 bits, al ritmo marcado por el reloj de
transmisión.
e) Se envía primero el bit menos significativo, siendo el más significativo el último en enviarse.
f) A continuación del último bit del mensaje se envía el bit (o los bits) del final que hace que la
línea se ponga a 1 por lo menos durante el tiempo mínimo de un bit.
Los bits del último paso pueden ser un bit de paridad para detectar errores y el bit o bits de stop, que
indican el fin de la transmisión de un carácter. En cuanto a los datos pueden ser recibidos siguiendo
los siguientes pasos (El Puerto Serie USART ):
5
3. Velocidad de transmisión
a) Simplex: En ella la comunicación serie usa una dirección y una línea de comunicación. Siempre existirá
un transmisor y un receptor, pero no ambos. La ventaja de este sistema consiste en que es necesario
sólo un enlace a dos hilos sin embargo el extremo receptor no tiene ninguna forma de avisar al
extremo transmisor sobre su estado y sobre la calidad de la información que se recibe.
b) Semi duplex: La comunicación serie se establece a través de una sola línea, pero en ambos sentidos.
En un momento el transmisor enviará información y en otro recibirá. Este modo permite la
transmisión desde el extremo receptor de la información, sobre el estado de dicho receptor y sobre
la calidad de la información recibida por lo que permite así la realización de procedimientos de
detección y corrección de errores.
c) Full duplex: Se utilizan dos líneas, una transmisora y otra receptora, y se transfiere información en
ambos sentidos. La ventaja de este método es que se puede transmitir y recibir información de
manera simultánea.
Aunque la USART tiene funciones independientes para la transmisión y recepción, los formatos de datos y de
velocidad de transmisión son iguales para los dos casos. El bit de paridad no está soportado por el hardware,
pero se puede implementar por software empleando para ello el noveno bit de datos. En este modo la USART
usa un formato estándar NRZ asíncrono.
Es importante recalcar que en este modo de comunicaciones se emplea una configuración estándar de un bit
de Start, ocho o nueve bits de datos, y un bit de Stop. Este modo de trabajo es detenido durante la función
Sleep.
6
Para configurar dichas funciones se debe poner a "1" bit SPEN (RCSTA <7>), y los bits TRISC <7:6>, se configura
RC6/TX/CK y RC7/RX/DT como USART. El generador de baudios produce siempre las señales de reloj x16 ó x64
(dependiendo de BRGH, TXSTA<2>) para el desplazamiento de los bits.
Dirección Nombre Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
98h TXSTA CSRC TX9 TXEN SYNC ---- BRGH TRMT TX9D
18h RCSTA SPEN RX9 SREN CREN ADDEN FERR OERR RX9D
99h SPGBRG Registro generador de Baud Rate
La Norma RS232
La Norma RS-232 fue definida para conectar un ordenador a un modem. Además de transmitirse los datos de
una forma serie asíncrona son necesarias una serie de señales adicionales, que se definen en la norma. Las
tensiones empleadas están comprendidas entre +15/-15 voltios. El RS-232C consiste en un conector tipo DB-
25 de 25 pines, aunque es normal encontrar la versión de 9 pines DB-9. Cada pin puede ser de entrada o de
salida, teniendo una función específica cada uno de ellos, como se muestran en la siguiente figura:
En la siguiente tabla de la figura 8 se identifican las funciones correspondientes al numero de patita en los
cables DB-25 y DB-9:
7
La comunicación serial asincrónica usando RS232
Una comunicación serial generalmente consiste en la transmisión y recepción de datos de un punto a otro
sólo usando una línea eléctrica. La comunicación serial usando RS232, se detalla a continuación:
La comunicación serial usando RS232 entre un par de PC’s, se hace de acuerdo con la figura 9:
La línea de transmisión de Datos (TXD) se presenta con el pin 3 del conector DB9 macho del PC, para
ser conectado a la línea de recepción de datos (RXD) que se presenta en el pin 2 del segundo PC.
La configuración del puerto serial entre dos PC’s. Se realiza para que la información de un PC se pueda
transmitir inmediatamente a través del puerto serial al otro PC.
Para indicar al receptor PC que la transmisión ha empezado, el PC transmisor coloca la línea TXD a +12
voltios correspondientes a la condición 0 lógico, por un tiempo igual al inverso de la frecuencia de
transmisión o al tiempo de transmisión de un sólo bit. Este 0 lógico se denomina bit de inicio (START
BIT) y siempre está presente en la transmisión al principio de un solo byte. El bit de inicio se transmite
en sucesión con los ocho bits componentes del código ASCII del carácter transmitido partiendo del bit
menos significativo. Una vez transmitido el octavo bit, el PC agrega automáticamente un último bit
con valor 1 lógico denominado bit de parada (STOP BIT); para indicar la transmisión del byte entero
se ha realizado.
Para efectuar una transmisión RS232 bidireccional se agrega al cable serial una conexión entre el pin
TXD del PC receptor con el pin RXD del PC transmisor. El cable que se consigue es el cable más simple
NULL MODEM para poner en conexión entre los dos DTE1.
2. La comunicación serial usando RS232 entre el circuito con PIC y otro circuito
El circuito con PIC simula un dispositivo DCE2,esto significa que el cable que se debe usar no debe ser
de tipo NULL MODEM o INVERTENTE.
El cable de conexión entre el PIC y el circuito debe estar a su vez seguido de un conector hembra de
un lado, para poder realizar la transmisión serial del PIC, y un conector macho del otro para poder
estar conectado al conector del circuito de prueba. Se tienen en la figura 10 siguiente las conexiones
internas al cable que se usa:
1
Data Terminal Equipment (DTE) es un dispositivo que se usa para almacenar o recibir datos.
2
Data Communication Equipment (DCE) es un dispositivo que se usa para manejar una comunicación de los datos.
8
Figura 10. Comunicación serial usando RS232 entre el circuito con PIC y otro circuito.
Para la conexión entre el PC y el circuito con PIC se usa un driver RS232 (MAX232) o un integrado para
convertir las señales a +/- 12 voltios típico del RS232 en señales a 0/5 voltios del puerto del PIC. Por
lo tanto, se necesita una adaptación de niveles, como se muestra en la siguiente figura 11:
Para el usuario de un microcontrolador que posee una USART o sistema similar, la manera detallada
como el sistema logra establecer la comunicación resulta transparente a él, ya que sólo tiene que
configurar el protocolo del transmisor y del receptor para que estos logren la comunicación adecuada,
es decir, el usuario usualmente sólo debe configurar:
Consiste en un contador/divisor de frecuencia de 8 bits controlado por el registro SPBRG (99H). De tal
manera que su función consiste en determinar la frecuencia de transmisión de la comunicación serie,
la cual se calcula de acuerdo con la siguiente tabla:
Debido a que el divisor es de 8 bits, no se puede tener cualquier velocidad de transmisión deseada,
ya que X se deberá redondear al entero más cercano.
9
2. El transmisor asíncrono
3. El receptor asíncrono
En la figura 13 se muestra el diagrama de bloques del receptor de la USART. El corazón del receptor
es el registro de corrimiento RSR.
11
Este bit se borra después de completar la recepción
Modo Síncrono esclavo
En este modo no se usa
bit 4: CREN: Bit de habilitación de recepción continua
Modo Asíncrono
1 = Habilita recepción continua
0 = Deshabilita recepción continua
Modo Síncrono
1 = Habilita recepción continua hasta que el bit CREN sea borrado (CREN anula SREN)
0 = Deshabilita la recepción continua
bit 3: Sin implementar: En lectura es '0'
bit 2: FERR: Bit de error de empaquetamiento
1 = Error de empaquetamiento (Puede actualizarse al leer el registro RCREG y recibir el
siguiente byte)
0 = No hay error
bit 1: OERR: Bit de error de desbordamiento
1 = Error de desbordamiento (puede ser borrado al borrar CREN)
0 = No hay desbordamiento
bit 0: RXGD: Noveno bit de datos de recepción. Se puede emplear como bit de paridad
Bibliografía
Descripción Detallada del PIC16F87. (n.d.). Retrieved from Unioviedo:
https://www.unioviedo.es/ate/alberto/detalladaPic16F877.pdf
PIC16F87XA. (2003). In PIC16F87XA Data Sheet (pp. 111-113). Retrieved from Micrchip.
Valdes Perez, F., & Pallas Areny, R. (2007). Microntroladores: fundamentos y aplicaciones con PIC.
Marcombo.
12