Documentos de Académico
Documentos de Profesional
Documentos de Cultura
10 COMUNICACIN SERIAL
Una caracterstica importante en todo microcontrolador es la capacidad de poder
comunicarse con otros componentes (memorias, convertidores, RTC, etc) o con otros
dispositivos (computadora personal, u otros microcontroladores).
Los PIC32MX poseen varios mdulos de comunicacin serial diseados para
permitir la comunicacin del microcontrolador con otros componentes o dispositivos
esternos.
El PIC32MX534F064H posee:
La diferencia principal entre una interface sncrona (como SPI o I2C) y una ascrona
(como UART, CAN o USB) es la forma en la que la informacin de sincronizacin es
pasada del transmisor al receptor.
Los perifricos sncronos necesitan una lnea fsica (un cable) dedicada a la seal de
reloj, proporcionando la sincronizacin entre los dos dispositivos.
Los perifrico asncronos no usan una seal de reloj, la informacin de
sincronizacin es extraida de los mismos datos. Se agregan bit de inicio y de parada,
adems de un formato preciso a una tasa de transferencia fija.
152
UART
El mdulo UART de la siglas en Ingles Universal Asynchronous Receiver
Transmitter permite comunicacin serial asncrona full-duplex con otros dispositivos, o
componentes tales como computadoras, convertidores, mdulos inalmbricos, etc.
La Figura 10-1 muestra el diagrama simplificado del UART, el cual consiste de los
siguientes elementos principales:
Generador de Baudios
Transmisor Asncrono
Receptor Asncrono
153
154
El conector serial
El conector externo para un puerto serie puede ser de 9 o de 25 pines (Figura 10-3).
Originalmente el uso de un puerto serie era para conectar un modem a la computadora.
La asignacin de los pines refleja esta conexin como se muestra en la Tabla 10-1 y
Tabla 10-2.
Comnmente se usa un conector DB9 hembra para conectarlo en el conector serial
DB9 macho que poseen las computadoras.
PIN
ABREV.
NOMBRE
CD
Carrier Detect
RD
Receive Data
3
4
TD
DTR
5
6
SG
DSR
Transmit Data
Data Terminal
Ready
Signal Ground
Data Set Ready
RTS
Request To Send
CTS
Clear To Send
RI
Ring Indicator
FUNCIONAMIENTO
Determina si el modem est conectado a una lnea
telefnica en funcionamiento.
La computadora recibe la informacin enviada por el
modem.
La computadora enva informacin al modem.
Esta seal le dice al MODEM que el UART est listo para
establecer una conexin.
Tierra
Esta seal le dice al UART que el MODEM est listo para
establecer una conexin.
Esta lnea le informa al MODEM que el UART est listo
para intercambiar datos.
Esta lnea indica que el MODEM est listo para
intercambiar datos.
Una vez que una llamada ha tomado lugar, la computadora
reconoce por esta seal (enviada por el modem) que una
llamada es detectada.
155
PIN
ABREV.
NOMBRE
1
2
3
TD
RD
No utilizado
Transmit Data
Receive Data
RTS
Request To Send
CTS
Clear To Send
DSR
7
8
SG
CD
Signal Ground
Carrier Detect
9-19
20
21
22
DTR
RI
23-25
No utilizado
Data Terminal
Ready
No utilizado
Ring Indicator
FUNCIONAMIENTO
La computadora enva informacin al modem.
La computadora recibe la informacin enviada por el
modem.
Esta lnea le informa al MODEM que el UART est listo
para intercambiar datos.
Esta lnea indica que el MODEM est listo para
intercambiar datos.
Esta seal le dice al UART que el MODEM est listo para
establecer una conexin.
Tierra
Determina si el modem est conectado a una lnea
telefnica en funcionamiento.
Esta seal le dice al MODEM que el UART est listo para
establecer una conexin.
Una vez que una llamada ha tomado lugar, la
computadora reconoce por esta seal (enviada por el
modem) que una llamada es detectada.
No utilizado
Control de Flujo
Un aspecto importante de la comunicacin serial es el concepto de control de flujo.
Esta es la capacidad de sincronizacin entre transmisor y receptor con la finalidad de
que el receptor no se sature. Existe el control de flujo por software y control de flujo por
hardware.
Imagine un MODEM que se comunica a 56Kbps con la red, y la conexin serial
entre la computadora y el modem es de a 115Kbps, el cual es mas del doble de rpido
que lo que el MODEM puede transmitir hacia la red. Esto significa que el modem est
recibiendo ms informacin de la computadora que la que puede transmitir por la lnea
telefnica. Aun si el modem tuviera un buffer grande para almacenar datos, este
rpidamente se llenara y sera incapaz de funcionar correctamente con toda la
informacin recibiendo de la computadora. Esta es una aplicacin clsica donde se
requiere control de flujo. Imagine otra aplicacin en donde se tiene conectado un
PIC32MX a una computadora con el sistema operativo Windows y se est realizando
una comunicacin serial de alta velocidad (por ejemplo 20 MHz), el SO Windows es
multitarea y debido a esto sus aplicaciones pueden experimentar largos retardos
provocando prdidas de datos enviados por el PIC32MX. Aqu tambin necesitamos un
control de flujo.
156
157
La conexin de MODEM nulo se usa para conectar dos DTEs, proporciona una
manera econmica de conectar dos computadoras o bien una computadora con un
dispositivo Embedded, en nuestro caso un PIC32MX a la computadora.
(Recepcin)
Todo dato transmitido de una computadora debe ser recibido por la otra, de tal forma
que TD est conectado con RD en ambas computadoras, la seal de tierra tambin debe
estar unida entre ambas.
El pin Data Terminal Ready est interconectado con el pin Data Set Ready y con
Carrier Detect en ambos extremos. De tal forma que cuando el pin Data Terminal
Ready se active, entonces Data Set Ready y Carrier Detect se activarn
inmediatamente.
En este punto, la computadora piensa que el MODEM al cual est conectada
est listo y ha detectado la portadora de la lnea telefnica.
158
Cuando la computadora desea enviar datos, enva la seal Request To Send y esta
misma seal es atrapada en el pin Clear To Send de tal forma que siempre obtiene la
respuesta del MODEM que est listo para recibir datos.
Note que el pin Ring Indicador no est conectado a nada. Esta lnea solo se usa para
decirle a la computadora que hay una seal en la lnea telefnica, pero como no tenemos
un MODEM conectado a la lnea telefnica, lo dejamos desconectado.
Sin embargo todos los pines del puerto serie de la computadora usa niveles RS-232,
en los cuales un voltaje de +3 a +25 indican un 0 (espacio) y de -3 a -25 volts indican
un 1 (marca). Cualquier voltaje entre -3 y 3 volts es un bit indefinido. Debido a esto
es necesario un Convertidor de niveles RS-232.
159
160
161
Generador de Baudios
Regresando al mdulo UART, el generador de Baudios controla la velocidad de
transmisin o recepcin de los datos. Por medio del registro UxBRG controlamos la tasa
de baudios (bits por segundo). Los PIC32MX manejan 2 velocidades: Baja (bit
BRGH=0) y Alta (bit BRGH=1). El bit BRGH se encuentra en el registro UxMODE.
La Figura 10-8 muestra la frmula para calcular el valor de UxBRG para una
determinada tasa de transferencia en baja velocidad.
Figura 10-8. Formula para calcular la tasa de baudios en baja velocidad (BRGH=0) [12]
La Figura 10-9 muestra la frmula para calcular el valor de UxBRG para una
determinada tasa de transferencia para alta velocidad.
Figura 10-9. Formula para calcular la tasa de baudios en alta velocidad (BRGH=0) [12]
162
80 10 6
1 = 519.83 520
16 9600
BaudRate =
El Error en % se define como
Entonces el error es E =
80 10 6
= 9596.93
16 (520 + 1)
TasaCalculada TasaDeseada
100
TasaDeseada
9596.92 9600
100 = 0.03%
9600
163
}
}
164
HyperTerminal
El sistema operativo Windows incluye un programa llamado HyperTerminal el cual
permite comunicarnos por puerto serie. Este programa se encuentra en Inicio> Todos
los programas> Accesorios> Comunicaciones> HyperTerminal.
165
166