Commodore >> Artículo
La interfase RS-232

Para utilizar a pleno una computadora es necesario relacionarla con el exterior, ya sea con periféricos como impresoras o plotters, o bien con líneas de transmisión de datos a través de módems. Un excelente sistema para llevar a cabo esta comunicación es por medio de la interfase RS-232. A continuación, enfocaremos dos aspectos diferentes de la interfase RS-232: en primer lugar, una información general y, posteriormente, cómo manejarla con la C64 y C128.

¿QUÉ ES UNA INTERFASE?

Una interfase es un dispositivo que permite adaptar señales bajo normas estándar, denominadas protocolos, de forma tal que dos equipos que las sigan sean capaces de comunicarse entre ellos. Hay una gran cantidad de estos protocolos, dentro de los cuales existe a su vez versiones y modificaciones. Los cierto es que cada uno tiene sus ventajas e inconvenientes, según la aplicación a la que los destinemos. El concepto de interfase no es tan sencillo como puede parecer y hay varios niveles de aplicación de las normas estándar. Primero está la forma física de la interfase, el conector y la repartición del cableado dentro del mismo; luego, los niveles lógicos de las señales de transmisión y de control y, finalmente, toda la lógica de control que permite la transmisión y recepción sin errores. Las interfases se dividen de una forma genérica en dos tipos: serie y paralelo; las diferencias entre ellas son notables y cada una tiene su aplicación específica. Las interfases SERIE sirven para mandar los datos bit a bit de una forma ordenada y secuencial, economizando las transmisiones a larga distancia, ya que requieren poco cableado y abaratan los costos de los amplificadores de mantenimiento, ya que cada cierta distancia hay que amplificar la señal para evitar pérdidas, siendo necesario un amplificador por cada línea de datos y control. Por otro lado, las interfases PARALELO envían varios bits de datos en forma simultánea, son menos económicos pero más fiables y permiten una mayor rapidez en la transmisión. Ideales para interconexión de periféricos y cortas distancias. El problema de elegir entre una interfase y otra depende de los costos y del tipo de aplicación, ya que emplear una interfase paralelo como el Centronics en una transmisión vía módem es inviable, por la propia naturaleza de la red telefónica.

INTRODUCCIÓN A LA INTERFASE RS-232



La interfase RS-232 es una interfase serie que permite conectar un equipo terminal (computadora) con un periférico (impresora, plotter, etc.) o con un equipo de transmisión de datos a una red de telecomunicaciones (módem). La RS-232 es uno de los estándar más difundidos en la actualidad, dada su versatilidad y facilidad de programación; por ello, tampoco define una comunicación por si misma, ya que es necesario conocer una serie de parámetros previamente, como la velocidad de transmisión, la longitud de la palabra, etc. Como es lógico, el control y la sincronización de una interfase serie es mucho más complejo que el de una interfase paralelo, pero ésto queda resuelto con circuitos especializados que simplifican el trabajo, como es el caso de las VIAs (Versatile Interfase Adapter) o las PIAs (Peripherical Interfase Adapter), aunque el circuito más utilizado en el caso de la RS-232 es la UART (Universal Asyncronus Receiver Transmiter). Desde que la EIA (Electronic Industries Asociation) estableció la RS-232 han aparecido varias versiones de la misma: A, B y C, siendo esta última la más extendida y diferenciándose de las otras dos en que las señales están invertidas en su polaridad. Esta interfase es tan versátil que es capaz de conectarse sin problemas desde un teletipo de baja velocidad hasta una impresora láser de alta velocidad a una misma computadora, y puede trabajar en una extensa gama de velocidades, tamaño de palabras en bits y bajo distintas formas de operación. Básicamente, puede funcionar de dos maneras distintas: Asincronica o Sincronica. La transmisión SINCRONICA utiliza una señal de reloj que emite la estación transmisora a intervalos regulares dependientes de la velocidad de transmisión (en baudios). De esta forma, la estación receptora sabe cuando se le van a enviar los datos, ya que estos van en bloques de cierta longitud distribuidos de forma regular entre las señales de reloj. La transmisión ASINCRONICA es la que más se emplea; el transmisor envía una señal al receptor para que sepa que se le van a enviar datos, y en ese momento se pone en funcionamiento el reloj para la sincronización de la transmisión. Una de las características más destacadas de la RS-232 es la posibilidad de utilizar distinto número de bits para definir un caracter. Así es posible emplear varios códigos de transmisión como el BAUDOT empleado en teletipos con 5 bits por caracter, o el ASCI con 7 bits por caracter, e incluso se puede usar el ASCII extendido con 8 bits por caracter. En el caso de utilizar el formato de 7 bits por caracter, se suele emplear el último bit como bit de paridad para detectar errores en la transmisión. Las tensiones de funcionamiento van de +/- 3v. a +/- 12v. y varían según versiones. Como hemos dicho antes, no sólo es necesario definir las señales de transmisión de datos, sino que son precisas una serie de señales de control manejadas por todo el soporte lógico del protocolo de interconexión.

LA RS-232 Y LA COMMODORE 64

Los que hemos leído el manual de referencia del programador de la Commodore 64, sabemos que ésta dispone de una interfase RS-232 C, accesible desde el port del usuario. Pero existen una serie de problemas que nos impiden utilizar la interfase de forma directa. La RS-232 es accesible por el port del usuario, ya que todas las señales de control y transmisión se encuentran disponibles gracias a la CIA 6526 #2. Por otra parte, el sistema operativo de la C-64 y de la C-128 dispone de una serie de rutinas Kernal encargadas de la gestión de la RS-232. No obstante, a la hora de tomar las señales del port nos damos cuenta que se tratan de señales de niveles TTL de 0 a 5 voltios, las cuales no son utilizables bajo el estándar RS-232. Para solucionar este problema, Commodore puso a la venta un cartucho RS-232 que compatibilizaba las señales al estándar. Un cartucho de este tipo consta de una fuente de alimentación auxiliar que nos proporciona las tensiones de +12v. y de -12v., y una serie de inversores y buffers que gestionan los niveles y polaridades de las señales. En la interfase RS-232 un "0" (Space) se indica por una señal negativa de -3v. a -15v. según el estándar, y un "1" (Mark) con una señal positiva de +3v. a +15v. donde toda señal por debajo de +/- 3v. se considera ambigua y no es reconocida ni como Space ni como Mark.

DESCRIPCIÓN DE LOS PINES DE LA RS-232

De forma física, la interfase serie RS-232 se organiza en torno a un conector "D" de 25 pines, de los cuales hay algunos que no están conectados y otros que se reservan para futuras expansiones. La descripción de los pines de la RS-232 es el siguiente:

1 (PG) Protective Ground: a este terminal está conectada la tierra de los equipos.
2 (TD) Transmit Data: este terminal está conectado al de recepción de datos del otro equipo colateral y es por el que se envían los datos.
3 (RD) Receive Data: este terminal está conectado al de transmisión de datos del equipo colateral y por el mismo se reciben los datos.
4 (RTS) Request To Send: por éste se envía la señal al equipo colateral con el cual se establece la comunicación.
5 (CTS) Clear To Send: es el terminal que contesta a la señal del RTS.
6 (DSR) Data Set Ready: este terminal indica cuándo un equipo está listo para operaciones de entrada/salida (I/O).
7 (SG) Signal Ground: a él están conectadas todas las masas de las señales de datos y de control, y es independiente del PG.
8 (DCD) Data Carrier Detect: detecta la presencia de la señal portadora cuando trabajamos con el módem y sirve para localizar fallos en la transmisión de datos.
9 (DST) Data Set Testing.
10 (DST) Data Set Testing.
11 Señal sin asignar.
12 (SRLD) Secondary Receive Line Detector: similar al RTS pero para velocidades de transmisión superiores a 9600 baudios.
13 (SCTS) Secondary Clear To Send: similar al CTS pero para velocidades de transmisión superiores a 9600 baudios.
14 (STD) Secondary Transmited Data: similar al TD pero para velocidades de transmisión superiores a 9600 baudios.
15 (TSET) Transmition Signal Element Timing: reloj para transmisión sincronica.
16 (SRD) Secondary Received Data: similar al RD pero para velocidades de transmisión superiores a 9600 baudios.
17 (RSET) Received Signal Element Timing: reloj para recepción sincronica.
18 Señal sin asignar.
19 (SRTS) Secondary Request To Send: similar al RTS pero para velocidades de transmisión superiores a 9600 baudios.
20 (DTR) Data Terminal Ready: esta señal se utiliza para indicar que el data set del dispositivo está listo para recibir y/o (depende del RTS) transmitir datos.
21 (SQD) Signal Quality Detect: cuando está en OFF, indica que la señal portadora en la línea está en tal estado que probablemente habrá que repetir la transmisión.
22 (RG) Ring Indicator: se utiliza en Módem's Autoanswer para indicar llamada por vía telefónica.
23 (DSRD) Data Signal Rate Detection: cuando en la línea está instalado un Módem con dos velocidades, esta señal se utiliza para seleccionar una u otra.
24 (TSET) Transmit Signal Element Timing: por esta señal se permite la entrada de un reloj externo para la velocidad de transmisión.
25 Señal sin asignar.


Fuente: TU MICRO COMMODORE, enero de 1987. Ediciones INGELEK (España)


 

...

Este sitio forma parte de la comunidad de

[ volver al inicio de la página ]

Ultima actualización: AGOSTO de 2015
- Copyright (C) 2006/2015 Home Computer - www.homecomputer.com.ar -