«RS-232» es la abreviación con la que se conoce al «Estándar recomendado». Este estándar desiga a un protocolo para el intercambio de datos binarios entre un «DTE» (Data Terminal Equipment), como por ejemplo una computadora, y un «DCE» (Data Communication Equipment), por ejemplo, un modem.
 



De este estándar queda solamente el protocolo de comunicación el cual hereda el nombre de UART, que era el chip encargado de implementar el protocolo. En cuanto a las formas de onda asociadas con el estándar, ya no suelen manejarse.

El UART es un sistema de dos circuitos, un transmisor y un receptor, colocados en sendos dispositivos a comunicar. El transmisor, toma el byte colocado en su registro de salida y lo envía, bit a bit, hacia el receptor. En tanto, el receptor, recibe bit a a bit y lo coloca en un registro de entraa. El UART incluye un búffer de entrada y un búfer de salida. Cuando un búfer se llena envia la respectiva señal en una línea dedicada. El UART, por lo general se distribuye en un CI que include un circuito transmisor y un circuito receptor para una comunicación full-duplex.

Las comunicación entre dispositivos UART es de tipo asíncrona, es decir, cada byte debe comezar con un bit de arranque que le dice al receptor cuando capturar bits. Una vez que se ha terminado la captura de datos, el UART transmisor envía un bit de parada.

Entre dos UART, el programador, debe acordar algunos parámetros de comunicación como lo es: una tasa de transferencia, cuantos bits representan un dato, cuantos bits son de parada y también, se puede acordar el envío de un bit de paridad.

Dado que el UART se diseña para comunicar alámbricamente dispositivos separados por más de un metro y menos de 10 metros, normalmente requiere de circuitos de interfaz separados para convertir las señales de nivel lógico del UART hacia y desde los niveles de señalización en la linea de transmisión. Este circuito se conoce como el MAX232 y puede adquirirse en tiendas de componentes electrónicos.

El tipo de UART que se diseña a continuación implica comunicación unidireccional. En caso de que se desee comunicación bidireccional es fácil adaptar la información provista aquí para lograr tal propósito.

A continuación se presenta un ejemplo de como sonaba el enlace de comunicación mediante un «:modem».




contenido

  1. ...


El UART descrito aquí solamente puede transmitir datos desde uno hasta 8 bits. También, se está usando un FPGA con señal de reloj de 50MHz

Las tasas de transferencia se especifican en baudios, aunque en este caso un baudio es igual a un bit por segundo. Las tasas son:

     50      100      110      300      600      1200
   2400     4800     9600    14400    19200     28800
  31250    38400    57800    76800   115200

El sistema UART típicamente soporta datos de 5,6,7 y 8 bits. Para el caso que nos compete se usarán 8 bits.

Para poder comprobar la calidad de la transmisión se suele utilizar un sistema de control de paridad que añade un bit a los bits de datos. Los sistemas utilizados son:



Así entonces, la paridad más empleada es la denominada paridad par de unos. En nuestro caso, no usaremos paridad.

Después que se envía un carácter se envía un bit de parada, que tienen el valor 1 (marca); la duración de este bit puede ser 1, 1.5 o 2 periodos.

La figura siguiente ilustra el tipo de señales manejados en el estándar:

UART TTL "0" => [0 , 0.7] "1" => [2.4 , 5.0] "0" => [ 3 , 15] "1" => [-3 , -15] UART-TTL "0" => [ 3 , 15] "1" => [-3 , -15] "0" => [0 , 0.7] "1" => [2.4 , 5.0] Línea de transmisión MAX232 MAX232 RS-232 RS-232


El circuito UART típicamente aceptaba niveles de voltaje compatibles con la tecnología TTL. No obstante, las versiones mas actuales también aceptan niveles de voltaje MOS de 3.3V.

Niveles TTL
0 logico 0 a 0.7
1 logico 2.4 a 5
Niveles MOS 3.3V
0 logico 0 a 1.6
1 logico 1.6.a 3.3



Pero una vez que se sale a la línea, las tensiones de transmisión se adaptan de la forma siguiente:

Tensión Señal Nivel lógico
+3 a +15 Espacio 0
-3 a -15 Marca 1


consulte Uso de los protocolos seriales UART/USART

[Pong] Pong. P. Chu
FPGA PROTYPING BY VHDL EXAMPLES
Wiley-Interscience
2008
USA
Cap. 7