Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Puerto RS232 1 PDF
Puerto RS232 1 PDF
CONTENIDO:
Comunicacin Serial, Tipos, Historia, Descripcin
del Estndar, Caractersticas, Conexiones y
Parametros
5 B ELECTRNICA
2010
HIMASE
2010
5 B Electrnica
HIMASE
Un poco de Historia
En los aos 60, cada fabricante usaba una interfaz diferente para comunicar un DTE
(Data Terminal Equipment) y un DCE (Data Communications Equipment). Cables,
conectores y niveles de voltaje eran diferentes e incompatibles, por lo tanto, la interconexin
2010
5 B Electrnica
HIMASE
Qu es RS-232?
RS-232 (Estndar ANSI/EIA-232) es el conector serial hallado en las PCs IBM y
compatibles. Es utilizado para una gran variedad de propsitos, como conectar un ratn,
impresora o modem, as como instrumentacin industrial. Gracias a las mejoras que se han
ido desarrollando en las lneas de transmisin y en los cables, existen aplicaciones en las que
se aumenta el desempeo de RS-232 en lo que respecta a la distancia y velocidad del
estndar. RS-232 est limitado a comunicaciones de punto a punto entre los dispositivos y el
puerto serial de la computadora. El hardware de RS-232 se puede utilizar para
comunicaciones seriales en distancias de hasta 50 pies.
Caractersticas elctricas
Los niveles de voltaje descritos en el estndar son los siguientes:
2010
5 B Electrnica
HIMASE
Puede verse que los voltajes del emisor y el receptor son diferentes. Esta definicin de
los niveles de voltaje compensa las perdidas de voltaje a travs del cable. Las seales
son atenuadas y distorsionadas a lo largo del cable. Este efecto es debido en gran
parte a la capacidad del cable. En el estndar la capacidad mxima es de 2500 pf. La
capacidad de un metro de cable es normalmente de 130 pf. Por lo tanto, la longitud
mxima del cable esta limitada a unos 17 metros. Sin embargo, esta es una longitud
nominal definida en el Universidad de las Amricas, Puebla Apndice B: Estndar RS-232
estndar y es posible llegar hasta los 30 metros con cables de baja capacidad o
utilizando velocidades de transmisin bajas y mecanismos de correccin.
2010
5 B Electrnica
HIMASE
CD
RD or
3 -------------------------------Transmitted Data
TX or
RX
TD
4 -------------------------------Data Terminal Ready
DTR
5 ------------------------------ Signal Ground
GND
6 ------------------------------ Data Set Ready
DSR
7 ------------------------------ Request To Send
RTS
8 ------------------------------ Clear To Send
CTS
9 ------------------------------ Ring Indicator
RI
Donde:
Pin Funcin
TXD (Transmitir Datos)
RXD (Recibir Datos)
DTR (Terminal de Datos Listo)
DSR (Equipo de Datos Listo)
RTS (Solicitud de Envo)
CTS (Libre para Envo)
DCD (Deteccin de Portadora)
2010
5 B Electrnica
HIMASE
Bits de datos: Se refiere a la cantidad de bits en la transmisin. Cuando la computadora enva un paquete de
informacin, el tamao de ese paquete no necesariamente ser de 8 bits. Las cantidades ms comunes de bits
por paquete son 5, 7 y 8 bits. El nmero de bits que se enva depende en el tipo de informacin que se
transfiere. Por ejemplo, el ASCII estndar tiene un rango de 0 a 127, es decir, utiliza 7 bits; para ASCII extendido
es de 0 a 255, lo que utiliza 8 bits. Si el tipo de datos que se est transfiriendo es texto simple (ASCII estndar),
entonces es suficiente con utilizar 7 bits por paquete para la comunicacin. Un paquete se refiere a una
transferencia de byte, incluyendo los bits de inicio/parada, bits de datos, y paridad. Debido a que el nmero
actual de bits depende en el protocolo que se seleccione, el trmino paquete se usar para referirse a todos los
casos.
Bits de parada: Usado para indicar el fin de la comunicacin de un solo paquete. Los valores tpicos son 1, 1.5
o 2 bits. Debido a la manera como se transfiere la informacin a travs de las lneas de comunicacin y que cada
dispositivo tiene su propio reloj, es posible que los dos dispositivos no estn sincronizados. Por lo tanto, los bits
de parada no slo indican el fin de la transmisin sino adems dan un margen de tolerancia para esa diferencia
de los relojes. Mientras ms bits de parada se usen, mayor ser la tolerancia a la sincrona de los relojes, sin
embargo la transmisin ser ms lenta.
Paridad: Es una forma sencilla de verificar si hay errores en la transmisin serial. Existen cuatro tipos de
paridad: par, impar, marcada y espaciada. La opcin de no usar paridad alguna tambin est disponible. Para
paridad par e impar, el puerto serial fijar el bit de paridad (el ltimo bit despus de los bits de datos) a un valor
para asegurarse que la transmisin tenga un nmero par o impar de bits en estado alto lgico. Por ejemplo, si la
informacin a transmitir es 011 y la paridad es par, el bit de paridad sera 0 para mantener el nmero de bits en
estado alto lgico como par. Si la paridad seleccionada fuera impar, entonces el bit de paridad sera 1, para
tener 3 bits en estado alto lgico. La paridad marcada y espaciada en realidad no verifican el estado de los bits
de datos; simplemente fija el bit de paridad en estado lgico alto para la marcada, y en estado lgico bajo para la
espaciada. Esto permite al dispositivo receptor conocer de antemano el estado de un bit, lo que servira para
determinar si hay ruido que est afectando de manera negativa la transmisin de los datos, o si los relojes de los
dispositivos no estn sincronizados.
2010
5 B Electrnica
HIMASE
A manera de ejemplo, asmase que el transmisor comienza a enviar datos a alta velocidad. Durante la
transmisin, el receptor se da cuenta que el bfer de entrada se est llenando debido a que el CPU est
ocupado con otras tareas. Para pausar temporalmente la transmisin, el receptor enva XOFF (cuyo valor es
tpicamente 19 decimal, o 13 hexadecimal) hasta que el bfer se vace. Una vez que el receptor est preparado
para recibir ms datos enva XON (cuyo valor es tpicamente 17 decimal, u 11 hexadecimal) para continuar la
comunicacin. LabWindows enviar un XOFF cuando el bfer de entrada se encuentre a la mitad de su
capacidad. Adems, en caso que la transmisin inicial de XOFF haya fallado, LabWindows enviar de nuevo un
XOFF cuando el bfer alcance un 75% y 90% de su capacidad. Para que funcione correctamente, es necesario
que el transmisor est utilizando el mismo protocolo.
La mayor desventaja de este mtodo es adems lo ms importante a considerar: los nmeros decimales 17 y 19
son ahora los lmites para la transmisin. Cuando se transmite en ASCII, esto no importa mucho ya que estos
valores no representan caracter alguno. Sin embargo, si la transmisin de datos es en binario, lo ms probable
es que estos valores sean transmitidos como datos regulares y falle la comunicacin.
Handshaking por hardware: El segundo mtodo de handshaking utiliza lneas de hardware. De manera similar
a las lneas Tx y Rx, las lneas RTS/CTS y DTR/DSR trabajan de manera conjunta siendo un par la entrada y el
otro par la salida. El primer par de lneas es RTS (por sus siglas en ingls, Request to Send) y CTS (Clear to
Send). Cuando el receptor est listo para recibir datos, cambia la lnea RTS a estado alto; este valor ser ledo
por el transmisor en la lnea CTS, indicando que est libre para enviar datos. El siguiente par de lneas es DTR
(por sus siglas en ingls, Data Terminal Ready) y DSR (Data Set Ready). Estas lneas se utilizan principalmente
para comunicacin por modem, permiten al puerto serial y modem indicarse mutuamente su estado. Por
ejemplo, cuando el modem se encuentra preparado para que la PC enve datos, cambia la lnea DTR a estado
alto indicando que se ha realizado una conexin por la lnea de telfono. Este valor se lee a travs de la lnea
DSR y la PC comienza a enviar datos. Como regla general, las lneas DTR/DSR se utilizan para indicar que el
sistema est listo para la comunicacin, mientras que las lneas RTS/CTS se utilizan para paquetes individuales
de datos.
2010
5 B Electrnica
HIMASE
El puerto serie en el PC
El ordenador controla el puerto serie mediante un circuito integrado especifico, llamado
UART (Transmisor-Receptor-Asncrono Universal). Normalmente se utilizan los
siguientes modelos de este chip: 8250 (bastante antiguo, con fallos, solo llega a 9600
baudios), 16450 (versin corregida del 8250, llega hasta 115.200 baudios) y 16550A
(con buffers de E/S). A partir de la gama Pentium, la circuiteria UART de las placa base
son todas de alta velocidad, es decir UART 16550A. De hecho, la mayora de los
mdems conectables a puerto serie necesitan dicho tipo de UART, incluso algunos
juegos para jugar en red a travs del puerto serie necesitan de este tipo de puerto serie.
Por eso hay veces que un 486 no se comunica con la suficiente velocidad con un PC
Pentium... Los porttiles suelen llevar otros chips: 82510 (con buffer especial, emula al
16450) o el 8251 (no es compatible).
Para controlar al puerto serie, la CPU emplea direcciones de puertos de E/S y lneas de
interrupcin (IRQ). En el AT-286 se eligieron las direcciones 3F8h (o 0x3f8) e IRQ 4
para el COM1, y 2F8h e IRQ 3 para el COM2. El estndar del PC llega hasta aqu, por
lo que al aadir posteriormente otros puertos serie, se eligieron las direcciones 3E8 y
2E8 para COM3-COM4, pero las IRQ no estn especificadas. Cada usuario debe
elegirlas de acuerdo a las que tenga libres o el uso que vaya a hacer de los puertos serie
(por ejemplo, no importa compartir una misma IRQ en dos puertos siempre que no se
usen conjuntamente, ya que en caso contrario puede haber problemas). Es por ello que
ltimamente, con el auge de las comunicaciones, los fabricantes de PCs incluyan un
puerto especial PS/2 para el ratn, dejando as libre un puerto serie.
Mediante los puertos de E/S se pueden intercambiar datos, mientras que las IRQ
producen una interrupcin para indicar a la CPU que ha ocurrido un evento (por
ejemplo, que ha llegado un dato, o que ha cambiado el estado de algunas seales de
entrada). La CPU debe responder a estas interrupciones lo mas rpido posible, para que
de tiempo a recoger el dato antes de que el siguiente lo sobrescriba. Sin embargo, las
2010
5 B Electrnica
HIMASE
UART 16550A incluyen unos buffers de tipo FIFO, dos de 16 bytes (para recepcin y
transmisin), donde se pueden guardar varios datos antes de que la CPU los recoja. Esto
tambin disminuye el numero de interrupciones por segundo generadas por el puerto
serie.
El RS-232 puede transmitir los datos en grupos de 5, 6, 7 u 8 bits, a unas velocidades
determinadas (normalmente, 9600 bits por segundo o mas). Despus de la transmisin
de los datos, le sigue un bit opcional de paridad (indica si el numero de bits transmitidos
es par o impar, para detectar fallos), y despus 1 o 2 bits de Stop. Normalmente, el
protocolo utilizado ser 8N1 (que significa, 8 bits de datos, sin paridad y con 1 bit de
Stop).
Una vez que ha comenzado la transmisin de un dato, los bits tienen que llegar uno
detrs de otro a una velocidad constante y en determinados instantes de tiempo. Por eso
se dice que el RS-232 es asncrono por caracter y sincrono por bit. Los pines que portan
los datos son RXD y TXD. Las dems se encargan de otros trabajos: DTR indica que el
ordenador esta encendido, DSR que el aparato conectado a dicho puerto esta encendido,
RTS que el ordenador puede recibir datos (porque no esta ocupado), CTS que el aparato
conectado puede recibir datos, y DCD detecta que existe una comunicacin, presencia
de datos.
Tanto el aparato a conectar como el ordenador (o el programa terminal) tienen que usar
el mismo protocolo serie para comunicarse entre si. Puesto que el estndar RS-232 no
permite indicar en que modo se esta trabajando, es el usuario quien tiene que decidirlo y
configurar ambas partes. Como ya se ha visto, los parmetros que hay que configurar
son: protocolo serie (8N1), velocidad del puerto serie, y protocolo de control de flujo.
Este ultimo puede ser por hardware (el que ya hemos visto, el handshaking RTS/CTS) o
bien por software (XON/XOFF, el cual no es muy recomendable ya que no se pueden
realizar transferencias binarias). La velocidad del puerto serie no tiene por que ser la
misma que la de transmisin de los datos, de hecho debe ser superior. Por ejemplo, para
transmisiones de 1200 baudios es recomendable usar 9600, y para 9600 baudios se
pueden usar 38400 (o 19200).
Este es el diagrama de transmisin de un dato con formato 8N1. El receptor indica al
emisor que puede enviarle datos activando la salida RTS. El emisor enva un bit de
START (nivel alto) antes de los datos, y un bit de STOP (nivel bajo) al final de estos.
_____________________________________
Emisor ===== Receptor
____________________________________
CTS <- | | <- RTS
TXD -> | | 1 | 0 0 | 1 | 0 | 1 1 | 0 | -> RXD
START STOP
_____________________________________
2010
5 B Electrnica
10
HIMASE
2010
5 B Electrnica
11