Un módem es un equipo que sirve para modular y demodular (en amplitud, frecuencia, fase u otro sistema) una señal llamada portadora mediante otra señal de entrada llamada moduladora. Se han usado modems desde los años 60 o antes del siglo XX, principalmente debido a que la transmisión directa de la señales electrónicas inteligibles, a largas distancias, no es eficiente. Por ejemplo, para transmitir señales de audio por radiofrecuencia haría necesarias antenas de gran tamaño (del orden de cientos de metros) para su correcta recepción.

Cómo funciona

El modulador emite una señal denominada portadora. Generalmente, se trata de una simple señal eléctrica sinusoidal de mucho mayor frecuencia con 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).
También es posible una combinación de modulaciones o modulaciones más complejas como la Modulación de amplitud en cuadratura.

Frecuencia, dando lugar a una modulación de frecuencia (FM/FSK).
Fase, dando lugar a una modulación de fase (PM/PSK).

Tipos de modems

Los modems han adquirido gran popularidad entre la gente de bajos conocimientos técnicos gracias a su uso en la PC, sin embargo los modems son usados en un sinfín de aplicaciones, como las comunicaciones telefónicas, radiofónicas y de televisión.

Se pueden clasificar de diferentes maneras, siendo una de ellas la clasificación por el tipo de moduladora empleada, teniendo así los modems digitales, en los cuales la moduladora es una señal digital y los modems analógicos, en donde la moduladora es una señal analógica.

Modems para PC

La distinción principal que se suele hacer es entre modems internos y módems externos, aunque, recientemente, han aparecido unos modems llamados "modems software", más conocidos como "winmodems" o "linuxmodems", que han complicado un poco el panorama, también existen los modems 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.


PCI: el formato más común en la actualidad.

Tipos de Modem

AMR: sólo en algunas placas muy modernas; baratos pero poco recomendables por su bajo rendimiento.
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 transportabilidad entre ordenadores diferentes (algunos de ellos más fácilmente transportables y pequeños que otros), además de que podemos saber el estado del módem (marcando, con/sin línea, transmitiendo...) mediante los [LED de estado que incorporan. Por el contrario, y obviamente, ocupan más espacio que los internos. Tipos de [conexión]:

La conexión de los módems telefónicos con el ordenador se realiza generalmente mediante uno de los puertos serie tradicionales o COM, 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 modems necesitan un enchufe para su transformador.
Modems PC Card: son módems en forma de tarjeta, que se utilizaban en portátiles, antes de la llegada del USB, que puede ser utilizado tanto en los ordenadores de sobremesa como en los portátiles. Su tamaño es similar al de una tarjeta de crédito algo más gruesa, pero sus capacidades pueden ser igual o más avanzadas que en los modelos normales.

wikipedia

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. Véase : Módem USB Vodafone Mobile Connect 3G.
Modems software, HSP o Winmodems: son modems 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.
Modems completos: los modems 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 ordenador, no del microprocesador.

Módems telefónicos

Su uso más común y conocido es en transmisiones de datos por vía telefónica.

pc

Los ordenadores 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.32. Transmisión a 9.600 bps.
V.32 bis. Transmisión a 14.400 bps.
V.34. Transmisión a 33.600 bps. Uso de técnicas de compresión de datos.
V.90. Transmisión a 56'6 Kbps de descarga y hasta 33.600 bps de subida.
V.92. Mejora sobre V.90 con compresión de datos y llamada en espera. La velocidad de subida se incrementa, pero sigue sin igualar a la de descarga.
Existen, además, módems DSL (Digital Subscriber Line), que utilizan un espectro de frecuencias situado por encima de la banda vocal (300 - 3.400 Hz) en líneas telefónicas o por encima de los 80 KHz ocupados en las líneas RDSI, y permiten alcanzar velocidades mucho mayores que un módem telefónico convencional. También poseen otras cualidades, como es la posibilidad de establecer una comunicación telefónica por voz al mismo tiempo que se envían y reciben datos.


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 p. ej., 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 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.

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 través del módem:


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 al ordenador 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 periodo de tiempo 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".

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 de una detección de error, (CRC) y retransmisión de tramas equivocadas.

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-modem 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 de tiempo más tarde. Igualmente es muy bueno para enlaces satelitales y redes de paquetes switchadas.
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 taza 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 protocolos.

Fuente:

http://es.wikipedia.org/wiki/M%C3%B3dem