Está en la página 1de 27

DEPARTAMENTO DE TECNOLOGA ELECTRNICA

ESCUELA UNIVERSITARIA DE INGENIERIA


VITORIA - GASTEIZ
UNIVERSIDAD DEL PAIS VASCO - EUSKAL HERRIKO UNIBERTSITATEA

Comunicacin
serie asncrona

Ampliacin de Sistemas Digitales

E.U.I.
Vitoria-Gasteiz

Jos Miguel Gil-Garca


Dpto. Electrnica y Telecomunicaciones
E.U.I. de Vitoria-Gasteiz
Noviembre 2001

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

Comunicacin serie asncrona


Objetivos
-

Programar el puerto serie del micrcocontrolador para que se comunique con un PC.

Conocer las normas RS-232, RS-422 y RS-485

Distinguir y conocer algunos de los protocolos serie ms comunes.

Introduccin
Conceptos generales

Muchas aplicaciones necesitan de varios microcontoladores para su realizacin. Bien


porque la aplicacin es distribuida, bien porque un solo microcontrolador no es capaz de llevarla
a cabo, es necesario el intercambio de datos entre varios dispositivos. La forma habitual para la
comunicacin es a travs de una lneas serie.
Una lnea serie es aquella en la que se puede poner un nico bit en cada momento. Al
contrario que en una comunicacin paralelo en la que existen varios cables en los que se pone
simultneamente el valor de varios bits. Con el modo de transmisin paralelo se pueden enviar
ms informacin en menos tiempo, sin embargo, las distancias a las que se puede trasmitir es
corta debido a las capacidades entre los conductores. En el modo serie, aunque la informacin
se enva de bit en bit, la distancia que se puede alcanzar es mucho mayor.
Si se observara una lnea serie con un osciloscopio se podra observar algo similar a lo
que descrito en la siguiente figura:

E.U.I.
0

Vitoria-Gasteiz
tiempo

Fig. 1 Lnea serie


Sin embargo, tambin se podra interpretar la informacin que se lee de la siguiente
manera:

E.U.I. V-G

Dpto. de Tecnologa Electrnica

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

1 1 1 1 0 0

0 0

1 1 0 0

tiempo

Fig. 2 Interpretacin de la lnea serie


Se observa la necesidad de sincronizar la transmisin, de que tanto el emisor como el

receptor entiendan el conjunto de bits enviados de la misma manera. Atendiendo a la forma en


que se logra el acuerdo entre los dos terminales de una comunicacin podemos clasificar la
transmisin serie en dos grupos:
-

Sncrona: Junto con el cable que transporta los bits de informacin hay una segunda
lnea llamada de reloj (clock) con cuyos flancos activos (en la figura el positivo) se
sincroniza la lectura de la lnea de datos por parte del receptor.
0

Datos

Reloj

Fig. 3 Lnea serie sncrona


-

Asncrona: La sincronizacin entre los diferentes bits se realiza mediante la


utilizacin de convenios referentes a la forma de comenzar y finalizar el envo de un

E.U.I.

grupo de bits de informacin, as como la duracin en tiempo de cada uno de ellos.

Vitoria-Gasteiz
LSB

Bit
START

MSB

tbit

Bits
INFORMACIN

Bit
Bit
PARIDAD STOP

Fig. 4 Lnea serie asncrona


Se puede ver como en la anterior secuencia se ha introducido un bit adicional de
paridad, para poder comprobar si se han producido errores durante la transmisin. La unidad

E.U.I. V-G

Dpto. de Tecnologa Electrnica

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

que indica el nmero de cambios posibles en la lnea de datos se denomina baudio. Si slo
existen dos estados posibles en la seal transmitida (seal no modulada) la unidad bps (bits per
second) y los baudios son iguales.
Atendiendo a la capacidad de poder enviar o recibir informacin a la vez se pueden
clasificar los sistemas de comunicaciones de la siguiente manera:
-

Full duplex: Si podemos enviar y recibir informacin simultneamente estaremos


ante un sistema full duplex. Con una comunicacin serie digital dispondremos de

esta capacidad con dos lneas para datos, una para transmitir (TX) y otra para recibir
(RX).
TX

TX

RX

RX

Fig. 5 Comunicacin full duplex


-

Half duplex: Estaremos ante un tipo de esta comunicacin cuando slo podamos
enviar o recibir datos, pero no las dos a la vez.

TX (RX)

RX(TX)

Fig. 6 Comunicacin half duplex


-

Simplex: La comunicacin es unidireccional.

TX

E.U.I.

RX

Fig. 7 Comunicacin simplex

Vitoria-Gasteiz

Otras de las clasificaciones que se pueden establecer entre las diferentes formas de
transmisin serie se hace atendiendo a si la seal se referencia con respecto a masa o no.
-

Lneas no equilibradas (unbalanced o single-ended): La seal transmitida se


referencia con respecto a masa. Si el nmero de unos y ceros no es el mismo la lnea
contendr un nivel DC que afecta a la transmisin.

Lneas equilibradas (balanced): Cada seal consta de dos hilos y el valor lgico es
la diferencia de tensin entre esos cables. Tambin se denomina diferencial

En el nivel fsico una transmisin serie puede constar de los siguientes elementos:
-

Serializador de bits: Los microprocesadores trabajan con unidades de uno, dos o


cuatro bytes, segn sean de ocho, diecisis o treinta y dos bits. Sin embargo, en la
comunicacin serie se retransmiten los bits de uno en uno. Debe existir un elemento

E.U.I. V-G

Dpto. de Tecnologa Electrnica

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

que se encargue de descomponer y sacar por la lnea TX cada uno de los bits que
forman parte de la unidad de trabajo del microcontrolador. El caso ms sencillo de
serializador es un registro de desplazamiento de carga paralelo salida serie. Estos
elementos, dependiendo del protocolo serie que se con el que se est trabajando,
generan adems diferentes seales de sincronizacin como pueden ser los bits de
start o de stop, o cabeceras de la trama, o bits de redundancia (CRCs) para la
deteccin y correccin de errores durante la transmisin. Tambin debe ser capaz de

recomponer la informacin a partir de los bits que reciba (regsitro de


desplazamiento entrada serie salida paralelo). Dependiendo del protocolo, este
elemento es ms o menos complejo.
-

Adaptador de voltajes (transceiver). Algunos protocolos serie tienen requerimientos


de voltajes determinados, fuera del rango tpico 0-5V (o menor) del funcionamiento
de los micros. Por otro lado, estos suelen trabajar en modo comn, y algunos
protocolos requieren una salida en modo diferencial, que es generada por el
transceiver a partir de la seal recibida del serializador. Adems este elemento se
tiene que encargar de adaptar los niveles que llegan, al rango de voltajes de
funcionamiento del serializador.

'n' bits
en paralelo
a enviar

Serializador

Transceiver

Transceiver

Serializador

'n' bits
en paralelo
recibidos

Fig. 8 Elementos de una comunicacin serie


Al conjunto de normas que se siguen en una comunicacin (numero, orden y significado

E.U.I.

de bits) especificaciones elctricas de las seales, especificaciones fsicas de conectores, etc. Se

Vitoria-Gasteiz

le denomina protocolo. Algunos hacen ms hincapi en unos aspectos que en otros, pero todos
definen cierta forma de actuar para poder intercambiar datos entre dos puntos. En los siguientes
apartados se van a exponer algunas de las caractersticas ms importante de los protocolos serie
asncronos ms usados en el trabajo con microcontroladores.

RS-232
El Recomended Standard 232 de la EIA es el protocolo ms comn de comunicacin
serie que existe. Su nombre completo es TIA/EIA-232-F, donde la letra F representa la
revisin. Todos los PCs incorporan varios puertos serie de este tipo, por lo que se va a tratar
este protocolo con mayor detalle.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

Es un protocolo serie, asncrono, full duplex y que especifica adems de las lneas de
transmisin, recepcin y masa toda una serie de seales de control entre dos tipos generales de
dispositivos: El DTE (Data Terminal Equipment, normalmente el PC) y el DCE (Data
Communication Equipment, normalmente un modem). Define tanto la forma de los conectores
como un nmero adicional de lneas de control del flujo de informacin. Dichas seales se
describen en la siguiente tabla:
Nombre
1.- FG
2.- TXD
3.- RXD

DCE

DCE

O
I

I
O

4.- RTS

5.- CTS

6.- DSR

7.- GND
8.- CD

9.1011.12.- SCD
13.- SCTS

I
I

O
O

14.- STXD
15.- TST

O
I

O
O

Funcin
Frame Ground. Tierra partes metlicas.
Transmitted Data. Lnea por la que salen los bits del DTE al DCE
Received Data. Lnea por la que llegan los bits al DTE desde el
DCE.
Request To Send. El DTE pregunta al DCE si est preparado para
recibir datos
Clear To Send. El DCE indica si est preparado o no para recibir
datos.
Data Set Ready. El DCE indica al DTE que est conectado y
listo.
Ground. Masa
Carrier Detect. Detectora de portadora. El DCE indica al DTE
que existe lnea en el exterior con caracterstica de portadora.
Circuito de test
Circuito de test
No se usa
Secundary Carrier Detect. Detectora de portadora secundaria
Secundary Clear to Send. Segunda lnea para la indicacin por
parte del DCE al DTE de que se encuentra preparado para enviar
o recibir datos.
Secundary Transmitted Data. Lnea secundaria de transmisn
Tranmission Signal Timing. Reloj para el DTE con el que este
informa al DCE la cadencia de transmisin de datos en el caso de
que se use transmisin sncrona.
Secondary Received Data. Segunda lnea de recepcin de datos.
Receiver signal timing. Clock para la recepcin de datos de forma
sncrona.
Sin asignar.
Secondary Request To Send. Indicacin secundaria para la
peticin de envo de datos del DTE al DCE.
Data Terminal Ready. El DTE le indica al DCE que est listo.
Signal Quality Detector. Indica la posibilidad de que exista un
error en los datos recibidos porque la calidad de la lnea cae por
debajo de un nivel aceptable.
Ring Indicator. Indica la llegada de una llamada telefnica al
DCE.
Data Signal Rate Selector. De esta forma se designar la
velocidad de transmisin del DTE al DCE

E.U.I.

I
I
Vitoria-Gasteiz
O
I

16.- SRXD
17.- RXT
18.19.- SRTS

20.- DTR
21.- SQD

22.- RI

23.- DSRS

E.U.I. V-G

Dpto. de Tecnologa Electrnica

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

24.- ST

25.-

Transmit Signal Timing. Seal que da el DTE al DCE para que a


partir de ella, genere sus relojes internos, caso de que este no
pueda hacerlo solo.
Sin asignar.

Para la mayora de las aplicaciones no es necesario usar todos ellos. De hecho, todas las
seales sncronas no se usan en el 99.9% de los casos y no se hablar ms de ellas. Es necesario
hacer notar que la lnea de transmisin de datos (TXD) es la salida de bits para el DTE y la

entrada para el DCE. Anlogamente, la lnea de recepcin RXD es la entrada de bits del DTE y
la salida del DCE. Por lo tanto se habla de transmisin y recepcin desde el punto de vista del
DTE (normalmente un PC). Un escenario tpico de una comunicacin serie sera el siguiente:
-

El DTE (PC) indica que est encendido activando su seal DTR

El DCE (mdem) indica que est encendido activando su seal DSR.

Si alguna de esas dos seales no est activa, no se produce ningn tipo de


intercambio de datos.

Si el PC quiere enviar informacin activar la seal RTS.

Si el mdem est dispuesto a recibirlos, activar la lnea CTS. En el momento en


que no pueda enviar ms (por haber llenado los bufferes internos), desactivar CTS
y el PC ya no enviar ms datos hasta observar que el DCE puede recibirlos
mediante la activacin de CTS. Esta forma de proceder, en la que dos dispositivos
esperan a estar de acuerdo, se le denomina handshaking (algo as como apretn de
manos)

En el caso en que el mdem quiera enviar datos que ha recibido por la lnea

E.U.I.

telefnica al PC, no hace falta ningn handshaking previo. Simplemente, los enva
al PC, siempre y cuando la lnea DTR del mismo este activada. Por eso se dice que

Vitoria-Gasteiz
la RS232 es un protocolo orientado al emisor.

Adems de todas las seales descritas, el protocolo define tambin la forma y configuracin de
los conectores. Estos pueden ser de dos tipos, DB9 (9 pines) o DB25 (pines). El del DTE es
macho y el del DCE hembra. La distribucin de pines del DB25 es idntica a como se ha
descrito en la tabla superior. Sin embargo, la distribucin del DB9 vara respecto a esta.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

Fig. 9 Pinout de un conector DB25

Fig. 10 Pinout de un conector DB9

E.U.I.

Hay que notar que un DB25 el pin 2 corresponde a TXD, mientras que un DB9 el pin 2
corresponde con RXD.

Vitoria-Gasteiz

La conexin completa DTE-DCE deber seguir el siguiente modelo.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

TXD

TXD

RTS

RTS

CTS

CTS

DTR

DTR

TXD

DSR

DSR

RX

RX
CD

RXD

CD

RI

RI

GND

GND

DTE

DCE
Fig. 11 Conexin DTE-DCE con handshaking

- Si se implementa la conexin entre conectores DB25


Conectores del cable de unin

E.U.I.

DB25 hembra

Vitoria-Gasteiz
Al mdem
DB25 macho

Hembra

Macho

Shield Ground

Transmit Data

OUT

Al Ordenador

Dir

Receive Data

IN

Request to Send

OUT

Clear to Send

IN

Data Set Ready

IN

System Ground

Carrier Detect

IN

Data Terminal Ready

20

20

OUT

Ring Indicator

22

22

IN

Si se implementa entre un DB9 en el DTE y un DB25 en el DCE


Conectores del cable de unin
Hembra

Macho

Shield Ground

Transmit Data

OUT

Receive Data

IN

Al Ordenador
DB9 hembra

E.U.I. V-G

Dpto. de Tecnologa Electrnica

Dir

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

Al mdem
DB25 macho

Request to Send

OUT

Clear to Send

IN

Data Set Ready

IN

System Ground

Carrier Detect

IN

Data Terminal Ready

20

OUT

Ring Indicator

22

IN

Si no hace falta handshake en la conexin DTE-DCE, es posible eliminar gran parte de

los cables dejando nicamente la conexin de masa, as como la unin entre las lneas de
transmisin (2 con 2 en el caso DB25 a DB25, y 3 con 2 en el caso de un DB9 a DB25) y
recepcin (3 con 3 en el caso DB25 a DB25, y 2 a 3 en el caso de un DB9 a DB25).

Sin embargo cuando se disea un sistema con un microcontrolador este suele hacer las
funciones de DTE. Por lo tanto, si queremos conectarlo a un PC no podremos seguir el tipo de
conexin descrito, sino que tendremos que realizar un cable null modem.

Este tipo de cables es el que se debe usar cuando se quiere conectar dos ordenadores
entre s a travs del puerto serie. El cable null modem puede requerir o no que se produzca un
handshake entre los dos DTEs. Se describe en la siguiente tabla la forma de conectar los dos
DTEs.

Conectores del cable de unin


Al Ordenador 1

E.U.I.

DB9 hembra

Vitoria-Gasteiz
Al Ordenador 2
DB9 hembra

DTE 1
TXD

DTE 2
3

RXD

RXD

TXD

DTR

6+1

DSR + CD

GND

GND

DSR + CD

6+1

DTR

RTS

CTS

CTS

RTS

Si uno de los ordenadores tiene un DB9 y el otro un DB25, la conexin del cable null
modem se hara segn la siguiente tabla.
Conectores del cable de unin
Al Ordenador 1
DB9 hembra

DB9
TXD

DB25
3

RXD

RXD

TXD

DTR

6+8

DSR + CD

Al Ordenador 2
E.U.I. V-G

Dpto. de Tecnologa Electrnica

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

GND

GND

DSR + CD

6+1

20

DTR

RTS

CTS

CTS

RTS

Sin embargo, si el equipo remoto no es capaz de dar ese handshake (muchos micros no
pueden realizar esa tarea, al menos de forma automtica) es necesario engaar a los terminales

del ordenador para que crea que s se esta produciendo.

Conectores del cable de unin

Al Ordenador 1

DTE 1

DB9 hembra

DTE 2

TXD

RXD

RXD

TXD

GND

GND

Cortocircuitar en el propio Cortocircuitar en el propio

Al Ordenador 2

conector 6,1 y 4

conector 6,1 y 4

Cortocircuitar en el propio Cortocircuitar en el propio

DB9 hembra

conector 7 con 8

conector 7 con 8

Si no es necesario el handshake (porque ninguno de los programas que corren en los


DTEs lo consulta para nada), no hace falta ni tan siquiera cortocircuitar los terminales
descritos, y basta con las lneas TXD, RXD, y GND para obtener una conexin satisfactoria.
DB9 - HEMBRA
DTE1

DB9 - HEMBRA
DTE2
1

E.U.I.
2

Rx

Rx

Tx

Tx

2
7

Vitoria-Gasteiz

Fig. 12 Conexin null modem entre dos DTEs con handshake local
El control de flujo se puede realizar por hardware, tal y como se ha descrito
anteriormente. Sin embargo, muchos micrcocontroladores no implementan de CTS y RTS.
Existe una forma alternativa para controlar el flujo por software denominada XON-XOFF. En
este esquema de control se intercalan en la comunicacin caracteres que mandan parar (XOFF,
13H) o reanudar (XON, 11H) la transmisin. Si el envo no es de caracteres ASCII sino binario,
tanto el transmisor como el receptor debern tomar medidas para poder mandar estos bytes,
precedindolos normalmente de un byte de control que indica que el siguiente byte es especial.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

10

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

En el nivel elctrico la norma define que los unos lgicos sern dados por valores de
tensin entre 3V y 15V. Los ceros lgicos vendrn dados por tensiones comprendidas entre
los 3V y los 15V. Adems de eso define una series de caractersticas de impedancias de entrada
y salida, capacidades y corrientes que deben ser cumplidas para que podamos decir que nuestro
circuito est dentro de la norma. Para conseguir estos efectos se pueden emplear drivers
especiales que consiguen tensiones de 10V a partir de tensiones de alimentacin de +5V con
ayuda de condensadores. El circuito tpico que se usa como driver es el MAX232 que cumple

las caractersticas elctricas requeridas por la norma y reinterpreta los valores lgico habituales
de ceros y unos para adaptarlos a la norma RS-232.

+5V VCC

C3

C5

C1+ 1

15 GND

C1- 3

14 T1OUT

MAXIM

C2+ 4
C2- 5
V- 6

16

16 VCC

V+ 2

MAX220
MAX232
MAX232-A

T2OUT 7

C1
C2

13 R1IN
12 R1OUT

VCC
Doblador de V+
3
C1+5V a +10V
4
Inversor
+ C2+
V5
C2- de +10V a -10V

1 C1+

TTL/CMOS
INPUTS

+5V
400K
10 T2IN

T2OUT 7

12 R1OUT

C4
10
10
.1

+10V
-10V

+ C4

T1OUT 14

11 T1IN

9 R2OUT

CAPACIDAD (uF)
DISPOSITIVO
C1
C2
C3
MAX232
4.7
4.7
10
MAX232
10
10
10
MAX232A
.1
.1
.1

+5V
400K

11 T1IN
10 T2IN

R2IN 8

C5
4.7
10
.1

TTL/CMOS
OUTPUTS

RS-232
OUTPUTS

R1IN 13
5K

9 R2OUT

RS-232
INPUTS

R2IN 8
5K
GND
15

Fig. 13 Conexin tpica de una MAX232


Existen drivers para RS232 sin necesidad de condensadores externos como la MAX225.
Existen unos 16 drivers de la casa Maxim (www.maxim-ic.com) que realizan la adaptacin de

E.U.I.

niveles lgicos y cada uno de ellos tiene diferentes cualidades adicionales, como shutdown,
deteccin de lnea abierta, media carga, etc. El Fan-out de una linea RS-232 es de uno, por lo

Vitoria-Gasteiz

que no se pueden conectar varios equipos escuchando del mismo cable, a no ser que se usen
drivers especiales.
En cuanto al formato de la informacin que se transmite, la norma no establece un
formato fijo, aunque normalmente se enva primero el LSB de un byte. Adems, cada byte
transmitido debe ser sincornizado con un byte de start. Para finalizar la transmisin se emiten
unos bits de stop que puede tener longitud variable. Opcionalmente se puede aadir un bit para
la paridad de la informacin enviada y comprobacin de posibles errores en la transmisin.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

11

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

Direccin del flujo de datos


LSB

Caracter ASCII 'A' = 0100 0001B

MSB

1
0

Bit Start del


siguiente caracter
Stop (1,1.5, 2)
Paridad (Opcional)

Informacin (5 a 8 bits)
Bit de start

Secuencia lgica

+15

+3
0
-3

-15
Niveles elctricos

Fig. 14 Niveles elctricos y lgicos de una RS-232


Para la transmisin serie es necesario secuenciar o serializar el contenido de un byte. De recibir
un byte y enviar cada uno de sus bits, uno detrs de otro, precedidos del bit de start, y de aadir
al final los bits de paridad se encarga un elemento llamado U(S)ART: Universal (Synchronous)
Asynchronous Receiver-Transmitter. La idea bsica es la de un registro de desplazamiento

E.U.I.

carga paralelo salida serie.

Vitoria-Gasteiz
8 bits

U(S)ART

Fig. 15 UART
No todos los elementos tienen capacidad para realizar comunicaciones sncronas, por lo
que podremos ver uno u otro trmino (UART o USART) para describir los perifricos que
contiene un microcontrolador. Como perifrico externo se pueden tambin usar UARTs como la
INS8250 y NS16450 con un byte de buffer, o la 16550 con 16 bytes de buffer.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

12

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

E.U.I.
Vitoria-Gasteiz

Fig. 16 Diagrama de bloques de una UART

En el esquema de bloques de la figura se puede observar como la UART implementa


tambin las entradas de control CTS, RTS, etc. Los microcontroladores suelen impelementar de
forma automtica la salida TX y la entrada RX, pero hay que realizar de forma manual, caso de
ser necesario, las funciones adicionales de handshake con pines libres de I/O.
La norma RS-232 permite transmitir datos va serie a velocidades bajas (19.2 Kbps,
aunque en la realidad se pueda llegar a ir ms rpido) entre dos dispositivos nicamente
distantes un mximo de 50 pies, aunque lo que se define en la norma es la mxima capacidad
del cable, 2500pF. A esta forma de comunicacin se la denomina point-to-point. Si lo que se
quiere es establecer una red de dispositivos en la que se pueda intercambiar informacin no se

E.U.I. V-G

Dpto. de Tecnologa Electrnica

13

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

puede usar esta norma. En aplicaciones ms complejas donde se necesite un mayor nmero de
elementos comunicndose entre s a ms largas distancias y a una mayor velocidad se puede
usar una de las normas siguientes

RS-422
Su nombre completo es TIA/EIA-422-B. Es un standard puramente elctrico que
especifica una comunicacin unidireccional (a veces denominada simplex) entre un transmisor

(driver) y numerosos receptores (receiver), sobre una lnea equilibrada (balanced) y terminada
en una resistencia en el ltimo receptor. A este tipo de comunicacin se le denomina Multidrop. La figura muestra un ejemplo tpico de este tipo de comunicacin.
A

100

Fig. 17 Configuracin tpica Multi-drop para RS-422


Normalmente el maestro har de transmisor y los esclavos de receptores. En esta norma
no es posible que un esclavo conteste a un maestro a menos que se use otro cable para esa
comunicacin.

E.U.I.

Los terminales diferenciales de los drivers y de los receivers se denominan con las letras

Vitoria-Gasteiz

A y B. En estado de idle, cuando no hay comunicacin en el cable, el terminal B es ms positivo


que el A. Aunque pueda parecer que el protocolo necesita nicamente de dos cables para su
funcionamiento, no hay que olvidar la necesidad de que la masa sea comn a todos los circuitos.
Este hecho, aparentemente insignificante, representa uno de los quebraderos de cabeza ms
importante cuando se trabaja tanto con RS-422 como con RS-485. Se considera habitualmente,
y a menudo de forma errnea, que el cable de masa tiene el mismo potencial en todo un circuito.
Es ms que dudoso que esto sea as cuando los diferentes dispositivos distan hasta mil metros
entre ellos, encontrndose en el camino todo tipo de incidencias elctricas que van a suponer
cambios en la tensin de referencia. La mxima tensin en modo comn que pueden aguantar
los terminales de un receptor RS-422 es de 7V. Estos lmites pueden alcanzarse si no se tiene
en cuenta un diseo correcto de la masa del sistema completo.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

14

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

El nmero de receptores que se pueden conectar a un transmisor se mide por Unidades


de Carga (UL, Unit Loads). La unidad de carga es de 4kW. La norma exige que se puedan
conectar como mucho 10 UL en una red RS-422. Sin embargo, los fabricantes han diseado
receptores con una impedancia de entrada de 8kW (UL) y 16kW (UL) por lo que es posible,
en la prctica, configurar redes de mayor tamao.
La sensibilidad mnima que debe tener un receptor para cumplir con la norma es de

200mV de diferencia de tensin entre VA y VB. Diferencias de tensin menores entre ambos
terminales suponen que la lnea est en un estado desconocido y deben ser evitadas. Si VA es
mayor que VB en ms de 200mV se entiende un nivel alto. Si VA es menor que VB en mas de
200mV entonces se entiende un nivel bajo.

La velocidad a la que se puede transmitir depende de la distancia, de la resistencia de


terminacin del circuito, del cable usado y de la topologa empleada. La norma especifica que se
debe poder transmitir hasta a 10 Mbps a una distancia de 40 pies (12.19m) y se debe alcanzar
una distancia de 4000 pies (1219.2m) a una velocidad de 100 kbps. La siguiente grfica
representa la velocidad de transmisin que se puede alcanzar con un cable 24AWG de cobre con
16pF/ft de capacidad, par trenzado y con terminacin de 100W.

1,E+08

Velocidad (bits/s)

1,E+07

1,E+06

E.U.I.
1,E+05

Vitoria-Gasteiz
1,E+04
1

10

100

1000

10000

Longitud del cable (m)

Fig. 18 Compromiso entre velocidad de transmisin y longitud de cable


La resistencia de terminacin de la red formada es necesaria para evitar los rebotes de la
seal que se producen por los efectos de lneas de transmisin que tienen lugar en cables largos
con seales de alta frecuencia. La resistencia debe escogerse de tal forma que est lo ms cerca
posible de la impedancia caracterstica del cable suministrado en datasheet del fabricante. El
cable, as mismo, se recomienda que sea de par trenzado y blindado. Sin embargo, si las

E.U.I. V-G

Dpto. de Tecnologa Electrnica

15

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

distancias son muy cortas (dentro de un mismo equipo) y sin mucha carga es posible usar cables
normales sin resistencia de terminacin y que el conjunto funcione satisfactoriamente.
La siguientes figuras corresponden a unas capturas de osciloscopio suministradas por
Maxim, en la que se puede ver el efecto de la resistencia de terminacin. La primera figura
ensea la diferencia en la seal obtenida sin resistencia de terminacin y con resistencia de
100W.

Fig. 19 Seales RS-422 sin y con resistencia de terminacin


En el segundo caso, se representan las seales obtenidas en una red con una resistencia
de 54W contra una red con una resistencia de 100W

E.U.I.
Vitoria-Gasteiz

Fig. 20 Seales con resistencias de terminacin de 54Wy de 100W


En cuanto a la topologa empleada se recomienda la topologa en Daisy Chain. Esto
significa que el cable entra en un dispositivo y sale, va a otro dispositivo en el que entra y
vuelve a salir para ir a otro dispositivo, etc. La siguiente figura representa un conjunto de
topologas posibles de las que nicamente es recomendable la daisy chain. La topologa
Backbone with stubs puede ser aceptable en algunos casos.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

16

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

Daisy Chain

Backbone with stubs

Backbone with clusters

Ring (Anillo)

Star (Estrella)

Fig. 21 Topologas de redes

RS-485
Su denominacin completa es TIA/EIA-485-A. La norma RS-422 tiene una clara
limitacin. No se puede realizar una comunicacin bidereccional entre los dispositivos de la red.
La norma RS-485 cuya ltima revisin data de octubre de 1998 trata de solventar ese problema
contemplando la posibilidad de que pueda haber mltiples emisores y receptores dentro de la
red, en una configuracin que se denomina Multi-point o Party Line, transmitiendo en modo

E.U.I.

half duplex. Con un segundo conjunto de cables, se puede lograr una comunicacin full-duplex
entre un maestro y varios esclavos.

Vitoria-Gasteiz

A
120

T/R

120

T/R

T/R

T/R

Fig. 22 Configuracin tpica multi-line para RS-485 en half-duplex

E.U.I. V-G

Dpto. de Tecnologa Electrnica

17

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

Al contrario que en la RS-422, un chip puede estar cambiando su papel de emisor al de


recepetor, y viceversa, por lo que a los chips de este tipo se les denomina transceivers.
Bsicamente la RS-485 es como la RS-422 pero con soporte para mltiples drivers. Se
debe ver la RS-485 como la norma que supera la RS-422. An as tiene algunas diferencias con
ella. El rango de tensin en modo comn de las entradas pasa a ser desde 7V a 12V.
VA

Regin indeterminada
de +/- 0.2 V
11.8V

+12V

11.8V

SPACE, ON

MARK, OFF

-7V

+12V

VB

-6.8V
-6.8V

-7V

Fig. 23 Rango de tensiones vlidas en RS-485


La sensibilidad de 200mV en la entrada permanece sin cambios para la RS-485, as
como las velocidades y longitudes de transmisin especificadas en el apartado anterior.
La impedencia de entrada de los receptores, y por tanto la UL, pasa a ser de 12k
pudindose conectar 32 drivers-receiver a la red. En este caso tambin hay fabricantes que han
diseado circuitos para RS-485 con mayor impedancia que al ser vista en paralelo representa
menos de 1 UL, pudindose conectar, en la prctica, ms de 32 circuitos.

E.U.I.

La capacidad de un driver RS-422 es de 20mA mientras que la de un driver RS-485 es

Vitoria-Gasteiz

de 55mA.

En el caso de la resistencia de terminacin, la RS-485 requiere dos de 120 colocadas


en los puntos ms alejados de la red.
Una consecuencia inmediata del uso de varios drivers (salidas) en un mismo cable es la
necesidad de dotar a los drivers RS-485 de una entrada de control para poner el driver en triestado y evitar as que afecte a la lnea de comunicacin. Tambin suelen tener una entrada para
la habilitacin del dirver de lectura, para poder as tener varios canales de comunicacin
multiplexados sobre un mismo canal serie.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

18

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

TRI-STATE

T
T/R
R
ENABLE

Fig. 24 Transceiver RS-485 tri-estado

En una red RS-485 pueden estar todos los drivers en tri-estado, en cuyo caso, las
entradas de los receiver estn al aire, flotantes. Para evitar este problema se pueden usar dos
resitencias, colocando una de las lneas a alimentacin y la otra a masa (idle-state bias resistors),
de tal forma que se asegure que los receptores ven un estado de idle cuando todos los drivers
estn en tri-estado. Dependiendo de las caractersticas del diseo, a menudo se usan resistencias
de 1.1kW y 2.2.W como pull-ups.

E.U.I.
Vitoria-Gasteiz
Fig. 25 Failsafe biasing
Un cable muy usado en el diseo de redes RS-485 es de CAT-5 (mximo 17pF/ft) que
tiene una impedancia caracterstica de 100W. Aunque no son los 120 recomendados, da un
resultado aceptable la mayora de las veces.
Adems de todo lo descrito existen numerosas situaciones en las que se puede producir
un error en la red, y esta deber estar diseada para prevenirlos y minimizar sus efectos. No es
objeto de este cuaderno el analizarlos todos, pero puede consultarse la extensa bibliografa para
seguir profundizando en el diseo de sistemas basados en RS-485.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

19

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

En cuanto a los circuitos que sirven para implementar este interface se pueden citar los
siguientes:
MAX490, por ser la que se encuentra en la placa de prcticas, que permite una
comunicacin full duplex con otra del mismo tipo. No est dotada de entrada para la activacin
del tri-estado ni para la habilitacin del driver de lectura, por lo que se deber usar en
aplicaciones point-to-point

Fig. 26 Circuito de aplicacin tpico para MAX490. Point-to-point, full-duplex


Existen otra serie de drivers con los que s se puede llegar a utilizar una verdadera red
RS-485 como el MAX-489 y el MAX-491 tal y como muestra la figura

E.U.I.
Vitoria-Gasteiz

Fig. 27 Red multi-point, full-dulex RS-485 con dispositivos de Maxim


La configuracin half-duplex se lograra de la siguiente manera

E.U.I. V-G

Dpto. de Tecnologa Electrnica

20

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

Fig. 28 Red-multipoint, half-duplex tpica de RS-485

La serie de Maxim MAX3080 al MAX3089 son una serie de transceivers para RS-485
que contienen un driver y un receptor con circuitera integrada contra fallos de cortos o circuitos
abiertos en la red (fail-safe). Todos ellos representan 1/8UL por lo que se pueden llegar a tener
256 dispositivos en una red.
National tiene una serie que va del DS3695 al DS3697 o el DS1487 para el trabajo en
redes RS-485
Texas Instruments tiene el SN75175 y el SN75174 que son cudruples receptores y
drivers respectivamente. An as cabe destacar las notas de aplicacin que tiene sobre el tema.
La siguiente tabla resume las caractersticas de los tres protocolos expuestos
RS-232

RS-422

RS-485

Single-ended

Diferencial

Diferencial

N de Tx y Rx permitidos

1Tx. 1Rx

1 Tx, 10 Rx

32 Tx 32 Rx

Mxima longitud de cable

50ft - 15m

Caracterstica
Modo de operacin

E.U.I.

Vitoria-Gasteiz
Mxima velocidad de transmisin

4000ft 1200m 4000ft 1200m

19.2 kbps

10Mbps

10Mbps

Rango de tensin mnimo del transmisor

3V

2V

1.5V

Rango de tensin mximo del transmisor

15V

5V

5V

Corriente mxima de cortocircuito

30mA

150mA

250mA

Impedancia del transmisor

3k a 7k

100

54

3V

200mV

200mV

3k a 7k

4k

12k

Rango de tensin de entrada del receptor

15V

7V

-7V to +12V

Nivel alto lgico

< -3V

>200mV

>200mV

Nivel bajo lgico

> 3V

<-200mV

<-200mV

Sensibilidad de entrada del receptor


Mxima impedancia de entrada del receptor

E.U.I. V-G

Dpto. de Tecnologa Electrnica

21

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

E.U.I.
Vitoria-Gasteiz

E.U.I. V-G

Dpto. de Tecnologa Electrnica

22

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

Desarrollo de la prctica
La prctica va a consistir en la configuracin de la USART del microcontrolador de tal forma
que cuando reciba un carcter por el puerto serie, lo devuelva incrementado en una unidad. As,
si se recibe una A, el microcontrolador debe enviar una B. El puerto serie va a funcionar a
9600 baudios, 8 bits de datos, 1 bit de stop y sin bit de paridad.
Para ayudar a la configuracin del puerto serie puede ser necesario contestar alguna de las
siguientes preguntas relativas al puerto serie.

Se va a usar la interrupcin del puerto serie?

Qu vector de interrupcin tiene asociado?

Qu modo de funcionamiento tiene?

Los flags TI y RI se borran solos al entrar en la intrrupcin?

Se necesita algn otro recurso del microcontrolador para que funcione el puerto
serie?

Si la respuesta a esta ltima pregunta es afirmativa, en qu modo debe funcionar


dicho recurso?

Qu valores de recarga se deben fijar en TH1 y TL1?

Se debe permitir la interrupcin del Timer 1? Debe estar en marcha?

Aunque no es estrictamente necesario, se va a definir una funcin que nos sirva en adelante para
el envi de una byte por el puerto serie. Hay que tener en cuenta que si la interrupcin del
puerto serie est permitida y se acaba de transmitir un byte, se saltar al vector de interrupcin
asociado al puerto serie. Y eso puede no ser deseable. Su prototipo ser:

E.U.I.

;**********************************************************************************************
;*
EnviarByteSerie:
;*
Descripcion: rutina que enva por el puerto serie un byte. Se enmascara
;*
la interrupcin hasta que se acaba de enviar.
;*
Parametros de entrada:
;*
ACC: contendr el byte a enviar.
;*
Valores devueltos:
;*
Registros modificados:
;**********************************************************************************************
EnviarByteSerie:

Vitoria-Gasteiz

RET

En la segunda parte de la prctica se va a disear una funcin que enve una cadena acabada en
el valor cero por el puerto serie. Para ello se define la cadena dentro de memoria de programa de
la siguiente manera

MENSAJE: DB HOLA, COMO ESTAS?,0

E.U.I. V-G

Dpto. de Tecnologa Electrnica

23

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

La funcin va a tener el siguiente prototipo


;**********************************************************************************************
;*
EnviarCadenaSerie:
;*
Descripcion: rutina que enva por el puerto serie una cadena de
;*
caracteres situados en memoria de programa
;*
hasta que encuentra el valor 0.
;*
Parametros de entrada:
;*
DPTR: Al llamar a la funcin deber de contener
;*
la direccin de comienzo de la cadena
;*
Valores devueltos:
;*
;*
Registros modificados:
;**********************************************************************************************
EnviarCadenaSerie:

RET

Bibliografa
General
-

http://www.tiaonline.org/ Pgina WEB en la que se puede comprar la descripcin


oficial de los estndares

Common DataTransmision Parameters and their Definitions. Nota de aplicacin


912 de National. Documento en el que se definen los valores tpicos que se
encuentran en las hojas caractersticas de los fabricantes.

Summary of well known Interface Standars. Nota de aplicacin 216 de National

E.U.I.

Semiconductor

RS-232Vitoria-Gasteiz
-

http://www.arcelect.com/rs232.htm: explica con cierto detalle conectores y


protocolo de comunicaciones entre DCE y DTE

Fundamentals of RS-232 Communications. Nota de aplicacin 83 de Dallas


Semiconductor. Comenta el conjunto de especificaciones elctricas, mecnicas y
nomenclatura que existe alrededor de la RS-232

RS-232 made easy Seyer, Martin. Prentice Hall, 1991

Apuntes docentes Jos Antonio Sainz, EUITI e ITT de Vitoria, 1992

Networking

Micrcocontrollers

with

Serial

Ports

http://www.eetimes.com/ContentEETimes/Documents/ESC%20Proceedings/1993/
ESC_1993_Vol1_Page25_Butler_Networking%20Microcontrollers%20with%20Se
E.U.I. V-G

Dpto. de Tecnologa Electrnica

24

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

rial%20Ports.pdf Artculo de Jim Butler sobre la comunicacin multiprocesador con


esquemtico bsico y referencias a circuitos. Es antiguo pero puede dar una primera
idea de cmo se hace.
-

RS-485
-

RS-422 & RS-485 application note B&B electronics. www.bb-elec.com. 44

pginas con la descripcin de los protocolos as como de formas de proteccin de la


red, cableado y consejos para el software de control.
-

The Art and Science of RS-485. Artculo en www.engineerbob.com de un


ingeniero que ha trabajado bastante con la norma y explica los problemas ms
frecuentes que ocurren en su aplicacin y cmo solucionarlos. Explica diferentes
formas de llevar masa a todos los elementos.

Introduction to RS-422 & RS-485. http://www.hw.cz/english/docs/rs485/


rs485.html Artculo que explica con bastante detalle ambas normas.

Texas instruments tiene unos tutoriales excelentes sobre la materia


-

Interface notes for TIA/EIA-485. Design Notes. slla036b.pdf

422 and 485 Standards Overview and System Configuration. slla070d.pdf.

Explicacin general de la norma, tcnicas de puesta a masa y terminaciones.


National Semiconductor tiene bastantes notas de aplicacin al respecto
-

Transceivers and Repeaters Meeting the EIA RS-485 Interface Standard. Nota de
aplicacin 409 de National. Aborda la RS-485 a partir de la RS-422

E.U.I.

TIA/EIA-422-B Overview. Nota de aplicacin 1031 de National Semiconductor.

Failsafe biasing of Diferential Circuits Nota de aplicacin 847 de National obre el

Vitoria-Gasteiz

clculo de resistencias para ser tolerante a fallos.

A Comparasion of diferential termination techniques. Nota de aplicacin 903 de


National Semiconductor. Analiza las diferentes formas en que se deben terminar las
redes diferenciales.

A Practical guide to Cable Selection Nota de aplicacin 916 de National sobre el


significado de diferentes tipos de parmetros de cableado.

Comparing EIA-485 and EIA-422-A Line Drivers and Receivers in Multipoint


Applications. Nota de aplicacin 759 de National Semiconductor. Se explican las
diferencias entre los drivers de ambos sistemas analizando las etapas de salida de
los mismos.

E.U.I. V-G

Dpto. de Tecnologa Electrnica

25

Comunicacin serie asncrona

Ampliacin de Sistemas Digitales

The practical limits of RS-485. Nota de aplicacin 979 de National donde hace un
repaso somero de los lmites de nodos, topologas, etc. en la implementacin de
redes RS-485

Ten Ways To Bulletproof RS-485 Interfaces Nota de aplicacin 1057 de National


donde analiza las topologas y nodos recomendados para RS-485.

Revisiones

10.06.03
-

Se corrige error en la conexin del cable null modem entre DB25 y DB9.

31.03.04
-

Adaptacin al nombre de la Escuela.

31.08.11
-

Actualizacin de bibliografa correccin de versin de la nota de aplicacin de

Texas Instruments de slla070c a slla070d.


11.06.12
-

Actualizacin de la bibliografa y de la denominacin del departamento.

E.U.I.
Vitoria-Gasteiz

E.U.I. V-G

Dpto. de Tecnologa Electrnica

26

También podría gustarte