Un módem es un dispositivo que sirve para enviar una señal llamada moduladora mediante otra señal llamada portadora. Se han usado módems desde los años 60, principalmente debido a que la transmisión directa de las señales electrónicas inteligibles, a largas distancias, no es eficiente, por ejemplo, para transmitir señales de audio por el aire, se requerirían antenas de gran tamaño (del orden de cientos de metros) para su correcta recepción. Es habitual encontrar en muchos módems de red conmutada la facilidad de respuesta y marcación automática, que les permiten conectarse cuando reciben una llamada de la RTPC (Red Telefónica Pública Conmutada) y proceder a la marcación de cualquier número previamente grabado por el usuario. Gracias a estas funciones se pueden realizar automáticamente todas las operaciones de establecimiento de la comunicación.El modulador emite una señal denominada portadora. Generalmente, se trata de una simple señal eléctrica sinusoidal de mucha mayor frecuencia que la señal moduladora. La señal moduladora constituye la información que se prepara para una transmisión (un módem prepara la información para ser transmitida, pero no realiza la transmisión). La moduladora modifica alguna característica de la portadora (que es la acción de modular), de manera que se obtiene una señal, que incluye la información de la moduladora. Así el demodulador puede recuperar la señal moduladora original, quitando la portadora. Las características que se pueden modificar de la señal portadora son:
Amplitud, dando lugar a una modulación de amplitud (AM/ASK).
Frecuencia, dando lugar a una modulación de frecuencia (FM/FSK).
Fase, dando lugar a una modulación de fase (PM/PSK)
También es posible una combinación de modulaciones o modulaciones más complejas como la modulación de amplitud en cuadratura.
Amplitud, dando lugar a una modulación de amplitud (AM/ASK).
Frecuencia, dando lugar a una modulación de frecuencia (FM/FSK).
Fase, dando lugar a una modulación de fase (PM/PSK)
También es posible una combinación de modulaciones o modulaciones más complejas como la modulación de amplitud en cuadratura.
MODEN PARA PC:La distinción principal que se suele hacer es entre módems internos y módems externos, aunque recientemente han aparecido módems llamados "módems software", más conocidos como "winmódems" o "linuxmódems", que han complicado un poco el panorama. También existen los módems para XDSL, RDSI, etc. y los que se usan para conectarse a través de cable coaxial de 75 ohms (cable modems).
Internos: consisten en una tarjeta de expansión sobre la cual están dispuestos los diferentes componentes que forman el módem. Existen para diversos tipos de conector:
Bus ISA: debido a las bajas velocidades que se manejan en estos aparatos, durante muchos años se utilizó en exclusiva este conector, hoy en día en desuso (obsoleto).
Bus PCI: el formato más común en la actualidad, todavía en uso.
AMR: en algunas placas; económicos pero poco recomendables por su bajo rendimiento. Hoy es una tecnología obsoleta.
La principal ventaja de estos módems reside en su mayor integración con el ordenador, ya que no ocupan espacio sobre la mesa y reciben energía eléctrica directamente del propio ordenador. Además, suelen ser algo más baratos debido a que carecen de carcasa y transformador, especialmente si son PCI (en este caso, son casi todos del tipo "módem software"). Por el contrario, son algo más complejos de instalar y la información sobre su estado sólo puede obtenerse por software.
Externos: similares a los anteriores, pero externos al ordenador o PDA. La ventaja de estos módems reside en su fácil portabilidad entre ordenadores diferentes (algunos de ellos más fácilmente transportables y pequeños que otros), además de que es posible saber el estado del módem (marcando, con/sin línea, transmitiendo...) mediante los leds de estado que incorporan. Por el contrario, y obviamente, ocupan más espacio que los internos
TIPOS DE CONEXION:
La conexión de los módems telefónicos externos con el ordenador se realiza generalmente mediante uno de los puertos serie tradicionales o COM (RS232), por lo que se usa la UART del ordenador, que deberá ser capaz de proporcionar la suficiente velocidad de comunicación. La UART debe ser de 16550 o superior para que el rendimiento de un módem de 28.800 bps o más sea el adecuado. Estos módems necesitan un enchufe para su transformador.
Módems PC Card: son módems en forma de tarjeta, que se utilizaban en portátiles, antes de la llegada del USB (PCMCIA). Su tamaño es similar al de una tarjeta de crédito algo más gruesa, pero sus capacidades son las mismas que los modelos estándares.
Existen modelos para puerto USB, de conexión y configuración aún más sencillas, que no necesitan toma de corriente. Hay modelos tanto para conexión mediante telefonía fija, como para telefonía móvil.
Módems software, HSP (Host Signal Processor) o Winmódems: son módems generalmente internos, en los cuales se han eliminado varias piezas electrónicas (por ejemplo, chips especializados), de manera que el microprocesador del ordenador debe suplir su función mediante un programa. Lo normal es que utilicen como conexión una ranura PCI (o una AMR), aunque no todos los módems PCI son de este tipo. El uso de la CPU entorpece el funcionamiento del resto de aplicaciones del usuario. Además, la necesidad de disponer del programa puede imposibilitar su uso con sistemas operativos no soportados por el fabricante, de manera que, por ejemplo, si el fabricante desaparece, el módem quedaría eventualmente inutilizado ante una futura actualización del sistema. A pesar de su bajo coste, resultan poco o nada recomendables.
Módems completos: los módems clásicos no HSP, bien sean internos o externos. En ellos, el rendimiento depende casi exclusivamente de la velocidad del módem y de la UART del Módems telefónicos
Su uso más común y conocido es en transmisiones de datos por vía telefónica.
Las computadoras procesan datos de forma digital; sin embargo, las líneas telefónicas de la red básica sólo transmiten señales analógicas.
Los métodos de modulación y otras características de los módems telefónicos están estandarizados por el UIT-T (el antiguo CCITT) en la serie de Recomendaciones "V". Estas Recomendaciones también determinan la velocidad de transmisión. Destacan:
V.21. Comunicación Full-Duplex entre dos módems analógicos realizando una variación en la frecuencia de la portadora de un rango de 300 baudios, logrando una transferencia de hasta 300 bps (bits por segundo).
V.22. Comunicación Full-Duplex entre dos módems analógicos utilizando una modulación PSK de 600 baudios para lograr una transferencia de datos de hasta 600 o 1200 bps.
V.32. Transmisión a 9.600 bps.
V.32bis. Transmisión a 14.400 bps.
V.34. Estándar de módem que permite hasta 28,8 Kbps de transferencia de datos bidireccionales Tipos de modulación Dependiendo de si el módem es digital o analógico se usa una modulación de la misma naturaleza. Para una modulación digital se tienen, por ejemplo, los siguientes tipos de modulación:
ASK, (Amplitude Shift Keying, Modulación en Amplitud): la amplitud de la portadora se modula a niveles correspondientes a los dígitos binarios de entrada 1 ó 0.
FSK, (Frecuency Shift Keying, Modulación por Desplazamiento de Frecuencia): la frecuencia portadora se modula sumándole o restándole una frecuencia de desplazamiento que representa los dígitos binarios 1 ó 0. Es el tipo de modulación común en modems de baja velocidad en la que los dos estados de la señal binaria se transmiten como dos frecuencias distintas.
PSK, (Phase Shift Keying, Modulación de Fase): tipo de modulación donde la portadora transmitida se desplaza cierto número de grados en respuesta a la configuración de los datos. Los módems bifásicos por ejemplo, emplean desplazamientos de 180º para representar el dígito binario 0.
Pero en el canal telefónico también existen perturbaciones que el módem debe enfrentar para poder transmitir la información. Estos trastornos se pueden enumerar en: distorsiones, deformaciones y ecos. Ruidos aleatorios e impulsivos. Y por último las interferencias.
Para una modulación analógica se tienen, por ejemplo, los siguientes tipos de modulación:
AM Amplitud Modulada: la amplitud de la portadora se varía por medio de la amplitud de la moduladora.
FM Frecuencia Modulada: la frecuencia de la portadora se varía por medio de la amplitud de la moduladora.
PM Phase Modulation. Modulación de fase: en este caso el parámetro que se varía de la portadora es la fase de la señal, matemáticamente es casi idéntica a la modulación en frecuencia. Igualmente que en AM y FM, es la amplitud de la moduladora lo que se emplea para afectar a la portadora.
Órdenes AT
Órdenes de comunicación
ATA: con esta orden el módem queda en espera de una llamada telefónica, comportándose como un receptor (autoanswer).
Cada módem utiliza una serie de órdenes "AT" comunes y otras específicas. Por ello, se deberá hacer uso de los manuales que acompañan al módem para configurarlo adecuadamente. Donde cada uno de los modems son aplicados Registros
Los registros o registros S son porciones de memoria donde se pueden guardar permanentemente parámetros que definen el perfil del módem (profiles). Además de las órdenes "AT", se dispone de esta serie de registros que permiten al usuario la modificación de otras características de su funcionamiento. Al igual que ocurre con las órdenes "AT", existen registros comunes y otros específicos del módem. Se enumeraran los más comunes.
Registro 0: número de llamadas que el módem espera antes de responder (autoanswer). Si su valor es 0, el módem nunca responderá a las llamadas.
Registro 1: contabilizador de llamadas realizadas / recibidas.
Registro 2: código del carácter que se utiliza para activar la secuencia de escape. Suele ser un +.
Registro 3: código del carácter de fin de línea. Suele ser un 13 (enter).
Registro 4: código de carácter de avance de línea, (line feed).
Registro 5: código de carácter de borrado con retroceso (backspace).
Registro 6: tiempo de espera antes de empezar a marcar (s).
Registro 7: tiempo de espera para recibir portadora (s).
Registro 8: tiempo asignado a la pausa del Hayes (la coma en s).
Registro 9: tiempo de respuesta a la detección de portadora, para activar la DCD (en décimas de segundo).
Registro 10: tiempo máximo de pérdida de portadora para cortar la línea. Aumentando su valor permite al remoto cortar temporalmente la conexión sin que el módem local inicie la secuencia de desconexión. Si es 255, se asume que siempre hay portadora. Este tiempo debe ser mayor que el del registro 9 (en décimas de segundo).
Registro 12: determina el guard time; éste es el tiempo mínimo que precede y sigue a un código de escape (+++), sin que se hayan transmitido o recibido datos. Si es 0, no hay límite de tiempo (S12 x 20 ms).
Registro 18: contiene la duración de los tests.
Registro 25: tiempo para que el módem considere que la señal de DTR ha cambiado.
Registro 26: tiempo de respuesta de la señal CTS ante RTS.
Perfiles de funcionamiento
Existen 3 tipos de perfil para funcionamiento de los módems:
El de fábrica, (por defecto).
El activo.
El del usuario.
Estos perfiles están guardados en su memoria RAM no volátil y el perfil de fabrica está guardado en ROM.
Hay dos opciones o lugares de memoria donde se pueden grabar los perfiles
AT&Y0, (al encender se carga el perfil = 0)
AT&Y1, (al encender se carga el perfil = 1)
Estas órdenes se envían antes de apagar el módem para que los cargue en su próximo encendido.Cuando se escriben las órdenes "AT", dependiendo del tamaño del buffer del módem, se pueden ir concatenando sin necesidad de escribir para cada uno de ellos el prefijo "AT". De esta forma, por ejemplo cuando en un programa se pide una secuencia de inicialización del módem, se puede incluir conjuntamente en una sola línea todos las órdenes necesarias para configurar el módem.
A continuación se describen los procesos que se llevan a cabo para establecer una comunicación a Pasos para establecer una comunicación.
1) Detección del tono de línea. El módem dispone de un detector del tono de línea. Este se activa si dicho tono permanece por más de un segundo. De no ser así, sea por que ha pasado un segundo sin detectar nada o no se ha mantenido activado ese tiempo el tono, envía a la computadora el mensaje "NO DIALTONE".
2) Marcación del número. Si no se indica el modo de llamada, primero se intenta llamar con tonos y si el detector de tonos sigue activo, se pasa a llamar con pulsos. En el período entre cada dígito del número telefónico, el IDP (Interdigit pulse), se continua atendiendo al detector de tono. Si en algún IDP el detector se activa, la llamada se termina y se retorna un mensaje de BUSY. Una vez terminada la marcación, se vuelve a atender al detector de tono para comprobar si hay conexión. En este caso pueden suceder varias cosas:
Rings de espera. Se detectan y contabilizan los rings que se reciban, y se comparan con el registro S1 del módem. Si se excede del valor allí contenido se retorna al mensaje "NO ANSWER".
Si hay respuesta se activa un detector de voz/señal, la detección de la respuesta del otro módem se realiza a través del filtro de banda alta (al menos debe estar activo 2 segundos).
Si el detector de tono fluctúa en un período de 2 segundos se retorna el mensaje "VOICE". El mensaje "NO ANSWER" puede obtenerse si se produce un intervalo de silencio después de la llamada.
3) Establecer el enlace. Implica una secuencia de procesos que dependen si se está llamando o si se recibe la llamada.
Si se está llamando será:
Fijar la recepción de datos a 1.
Seleccionar el modo de baja velocidad.
Activar 0'6 segundos el tono de llamada y esperar señal de línea.
Desactivar señal de tono
Seleccionar modo de alta velocidad.
Esperar a recibir unos, después transmitir unos y activar la transmisión
Analizar los datos recibidos para comprobar que hay conexión. Si ésta no se consigue en el tiempo límite fijado en el registro S7, se da el mensaje "NO CARRIER"; en caso contrario, se dejan de enviar unos, se activa la señal de conexión, se desbloquea la recepción de datos y se da el mensaje "CARRIER".
Si se está recibiendo será:
Selección del modo respuesta.
Desactivar el scrambler.
Seleccionar el modo de baja velocidad y activar el tono de respuesta (p. ej. 2.400 Hz durante 3'3 s).
Desactivar el transmisor.
Esperar portadora, si no se recibe activar el transmisor, el modo de alta velocidad y el tono a 1.800 Hz.
Esperar el tiempo indicado en S7, si no hay conexión envía el mensaje "NO CARRIER", si la hay, indica "CONNECT", se activa el transmisor, el detector de portadora y la señal de conexión.
En resumen los pasos para establecimiento de una conexión son:
La terminal levanta la línea DTR.
Se envía desde la terminal la orden ATDT 5551234 ("AT" -> atención, D -> marcar, T -> por tonos, 5551234 -> número a llamar.)
El módem levanta la línea y marca el número.
El módem realiza el hand shaking con el módem remoto.
El programa de comunicación espera el código de resultado.
Código de resultado "CONNECT".
Test en módems Hayes
Los tests permiten verificar el módem local, la terminal local, el módem remoto y la línea de comunicaciones. Con el registro del módem S18 se indica el tiempo de duración de los tests. Si su contenido es 0, no hay límite de tiempo y es el usuario el que debe finalizar las pruebas con la orden AT&T0. El módem al encenderse realiza una serie de exámenes internos. En caso de surgir algún error, se le indicará al DTE oportunamente.
Los tests que pueden realizarse son:
Local analog loopback (bucle local analógico): se ejecuta con &T1. Comprueba la conexión entre el módem y el terminal local. Tras introducir AT&T1, pasados unos segundos, se entra en modo on line. Para realizar el test debe estar activado el eco local. La ejecución correcta del test implica que todo carácter digitado por el usuario aparecerá duplicado. Para terminar el test, se pulsa la secuencia de escape y después AT&T0. Si el test se inicia estando ya conectado a un servicio, esta conexión se corta.
Local Digital Loopback (bucle local digital): se ejecuta con &T3. Solo puede realizarse durante una conexión con un módem remoto. Comprueba la conexión entre el módem local y el remoto, y el circuito de línea. Envía al módem remoto las cadenas que reciba de él.
Remote Digital Loopback (bucle digital remoto): se ejecuta con &T6. Comprueba el terminal local, el módem local, el módem remoto y el circuito de línea. Debe realizarse durante una conexión, y el módem remoto debe aceptar la petición del test. Para finalizarlo se pasa a modo de órdenes con la secuencia de escape y se teclea AT&T0. El terminal local compara la cadena recibida con la transmitida por él previamente. Las cadenas son proporcionadas por el usuario.
Remote Digital Loopback with Selftest (bucle digital remoto con autotest): se ejecuta con &T7. Comprueba el módem local, el remoto, y el circuito de línea. Debe realizarse durante una conexión y para finalizarlo hay que indicar la secuencia de escape y AT&T0. Se genera un patrón binario, según la recomendación V.54 del CCITT, para comprobar la conexión. Al finalizar el test se indica el número de errores aparecidos, (de 000 a 255).
Local Analog Loopback with Selftest (bucle analógico local con autotest): se ejecuta con &T8. Comprueba el módem local. Tras iniciarse el test, pasados unos segundos, se retorna al modo de órdenes. Se finaliza con &T0 o si se alcanza el tiempo límite definido en S18. El test comprueba los circuitos de transmisión y recepción del módem. Se utiliza un patrón binario, según la recomendación CCITT V.54. Si está conectado con algún servicio, la conexión se corta. Al finalizar el test se retorna el número de errores, (000 a 255).
Protocolos de comprobación de errores
El control de errores: son varias técnicas mediante las cuales se chequea la fiabilidad de los bloques de datos o de los caracteres.
Paridad: función donde el transmisor añade otro bit a los que codifican un símbolo. Es paridad par, cuando el símbolo tenga un número par de bits y es impar en caso contrario. El receptor recalcula el número de par de bits con valor uno, y si el valor recalculado coincide con el bit de paridad enviado, acepta el paquete. De esta forma se detectan errores de un solo bit en los símbolos transmitidos, pero no errores múltiples.
CRC: (Cyclic Redundancy Check, prueba de redundancia cíclica). Esta técnica de detección de error consiste en un algoritmo cíclico en el cual cada bloque o trama de datos es chequeada por el módem que envía y por el que recibe. El módem que está enviando inserta el resultado de su cálculo en cada bloque en forma de código CRC. Por su parte, el módem que está recibiendo compara el resultado con el código CRC recibido y responde con un reconocimiento positivo o negativo dependiendo del resultado.
MNP: (Microcom Networking Protocol, protocolo de red Microcom). Es un control de error desarrollado por Microcom, Inc. Este protocolo asegura transmisiones libres de error por medio Protocolos de transferencia de archivos
Xmodem: es el protocolo más popular, pero lentamente está siendo reemplazado por protocolos más fiables y más rápidos. Xmodem envía archivos en bloques de 128 caracteres al mismo tiempo. Cuando el computador que está recibiendo comprueba que el bloque ha llegado intacto, lo señala así y espera el bloque siguiente. El chequeo de error es un checksum o un chequeo más sofisticado de redundancia cíclica. Algunas comunicaciones por software soportan ambas y podrían automáticamente usar la más indicada para un momento dado. Durante una descarga, el software tiende a usar el CRC, pero se cambiará a checksum si se detecta que el host no soporta el CRC. El protocolo de Xmodem también necesita tener declarado en su configuración: no paridad, ocho bits de datos y un bit de parada.
Xmodem-1k: es una pequeña variante del anteriormente mencionado, que usa bloques que posen un kilobyte (1.024 bytes) de tamaño. Este protocolo es todavía mal llamado ‘Ymodem’ por algunos programas, pero la gente gradualmente se inclina a llamarlo correctamente.
Xmodem-1k-g: es una variante del anterior para canales libres de error tales como corrección de errores por hardware o líneas de cable null-módem entre dos computadoras. Logra mayor velocidad enviando bloques uno tras otro sin tener que esperar el reconocimiento desde el receptor. Sin embargo, no puede retransmitir los bloques en caso de errores. En caso de que un error sea detectado en el receptor, la transferencia será abortada. Al igual que el anterior, muchas veces es mal llamado ‘Ymodem-g’.
Zmodem: este avanzado protocolo es muy rápido al igual que garantiza una buena fiabilidad y ofrece varias características. Zmodem usa paquetes de 1 kb en una línea limpia, pero puede reducir el tamaño del paquete según si la calidad de la línea va deteriorándose. Una vez que la calidad de la línea es recuperada el tamaño del paquete se incrementa nuevamente. Zmodem puede transferir un grupo de archivos en un lote (batch) y guardar exactamente el tamaño y la fecha de los archivos. También puede detectar y recuperar rápidamente errores, y puede resumir e interrumpir transferencias en un período más tarde. Igualmente es muy bueno para enlaces satelitales y redes de paquetes conmutadas.
ASCII: en una transferencia ASCII, es como que si el que envía estuviera actualmente digitando los caracteres y el receptor grabándolos ahora. No se utiliza ninguna forma de detección de error. Usualmente, solo los archivos ASCII pueden ser enviados de esta forma, es decir, como archivos binarios que contienen caracteres.
Ymodem: este protocolo es una variante del Xmodem, el cual permite que múltiples archivos sean enviados en una transferencia. A lo largo de ella, se guarda el nombre correcto, tamaño, y fecha del archivo. Puede usar 128 o (más comúnmente), 1.024 bytes para los bloques.
Ymodem-g: este protocolo es una variante del anterior, el cual alcanza una tasa de transferencia muy alta, enviando bloques uno tras otro sin esperar por un reconocimiento. Esto, sin embargo, significa que si un error es detectado por el receptor, la transferencia será abortada.
Telink: este protocolo es principalmente encontrado en Fido Bulletin Board Systems. Es básicamente el protocolo Xmodem usando CRC para chequear y un bloque extra enviado como cabecera del archivo diciendo su nombre, tamaño y fecha. Por su parte, también permite que más de un archivo sea enviado al mismo tiempo (Fido es una BBS muy popular, que es usada en todo el mundo).
Kermit: este protocolo fue desarrollado para hacer más fácil que los diferentes tipos de computadoras intercambiasen archivos entre ellas. Casi ninguna computadora que usa Kermit puede ser configurada para enviar archivos a otra computadora que también use Kermit. Kermit usa pequeños paquetes (usualmente de 94 bytes) y aunque es fiable, es lento porque la relación del protocolo de datos para usarlos es más alta que en muchos otros protoc