Departament de Microelectrònica i Sistemes Electrònics
AVR i FONAMENTS DE COMPUTADORS
Enginyeria en Informàtica (ETSE)
La comunicación serie RS232
El protocolo de comunicación RS232
El protocolo de comunicación serie full-dúplex RS232 asíncrona establece una comunicación fácil entre computador y periférico. El formato que establece se presenta en la figura 1 y contiene los siguientes elementos:
Figura 1. Formato de la comunicación RS232
- El estado de reposo implica un 1 lógico.
- El protocolo de comunicación exige un bit de start a 0 lógico.
- El paquete que se envía debe contener 7 u 8 bits de datos.
- Se puede incoprporar un bit de paridad.
- La comunicación finaliza con uno, uno y medio o dos bits de stop, a 1 lógico.La velocidad de comunicación se mide en baudios, que es el número de bits que se envían por segundo. Velocidades típicas de transmisión, en baudios, son 300, 600, 1200, 2400, 4800, 9600, 19200, 57600 y 115200.
Durante la transmisión (recepción) la duración de cada bit es de 16 ciclos de reloj base. Por consiguiente, en la realización de los drivers (transmisor y receptor) se tendrá que contemplar la sincronización de la transmisión / recepción de datos con el reloj base.
Aunque computador y periférico se programen para transmitir datos a una frecuencia determinada, es difícil asegurar que las frecuencias base de los relojes estén perfectamente sincronizadas. Por ello la emisión y recepción de datos se realiza tomando como base una frecuencia 16 veces superior a la frecuencia de transmisión de datos. Por otra parte, durante la recepción de datos pueden producirse en la transmisión glitches que, debido a interferencias, pueden introducir errores de recepción. Para minimizar este efecto suelen tomarse distintas muestras de la recepción del bit, tomando como resultado bueno, el valor que más se sucede dentro de la recepción del bit. Es por ello, que durante la recepción se deberá considerar circuitería adicional para asegurar un comportamiento más fiable de la transmisión.
Una comunicación full-dúplex exige un protocolo de comunicación entre terminales mediante señales de iniciación de comunicación y eco de recepción que evita la pérdida de datos entre terminales. Sin embargo, en una comunicación simple mediante protocolo RS232 (sin control de recepción) tan sólo son necesarias tres líneas de conexión entre el terminales: RxD o recepción, TxD o transmisión, y señal de tierra.
El puerto serie
Aunque el puerto serie puede tener un tamaño de 25 pines, el formato más utilizado es el de 9 pines. La tabla del pinout para ambos conectores es:
Tabla 1. Pines y significado en un puerto serie DB25 y DB9
En sistemas de prototipado con el PC o en comunicaciones serie dedicadas con microcontroladores en los que los errores de comunicación son prácticamente nulos existen dos conexionados típicos simples que eliminan el protocolo de conexión: el null modem y la conexión loopback.
Conexión en Null modem
Se establece el conexionado de la figura 2, en el que sólo se requieren tres conexiones: TxD, RxD y GND. Las conexiones dan a entender al computador que está conectado con un módem. La transmisión del PC se recibe en la UART por la señal de entrada. Y viceversa, la transmisión de la UART se envía al bit de recepción del PC.
Figura 2. Comunicación RS232 en modo Null Modem
La conexión Null modem es la que se utiliza en la práctica. Es una conexión simple que sólo requiere las tres conexiones mostradas en la figura.Conexión en loopback
La conexión loopback es útil cuando se realiza un programa de debugging en el PC. La señal de datos de salida del PC se conecta a la de entrada. De esta forma, toda señal enviada por el PC es recibida en la línea de entrada como si fuera un eco del módem.
Figura 3. Comunicación RS232 en modo LoopBack.
Para una descripción más formal del protocolo de comunicación serie se recomienda consultar el estándar EIA RS232-c