Articulo de referencia

Codificación por modulación de frecuencia

El Atari 810 era un ejemplo típico de las unidades de disquete basadas en FM de principios de la década de 1980, la época de los ordenadores domésticos . La codificación por mod...

El Atari 810 era un ejemplo típico de las unidades de disquete basadas en FM de principios de la década de 1980, la época de los ordenadores domésticos .

La codificación por modulación de frecuencia , o simplemente FM , es un método de almacenamiento de datos que se utilizó ampliamente en las primeras unidades de disquete y discos duros . Los datos se modifican mediante codificación diferencial Manchester al escribirse para permitir la recuperación del reloj y corregir los efectos de temporización conocidos como "jitter" que se observan en los soportes de disco. Se introdujo en las unidades de los ordenadores centrales de IBM y fue prácticamente universal en los primeros disquetes de minicomputadoras y microcomputadoras  . En el caso de los disquetes, la codificación FM permitía almacenar aproximadamente 80 kB de datos en un disco de 5 ¼ pulgadas .

IBM comenzó a introducir la modulación de frecuencia modificada (MFM), más eficiente, a partir de 1970. A este formato lo denominaron "doble densidad", mientras que la FM original pasó a denominarse "densidad simple". La implementación de la MFM fue más compleja, y no fue hasta principios de la década de 1980 que surgieron controladores de disquetera MFM todo en uno de bajo costo, como el WD1770 . Esto provocó la rápida desaparición de la codificación FM en favor de la MFM a mediados de la década de 1980.

Mecanismo de almacenamiento subyacente

Los sistemas de memoria principal de los ordenadores modernos almacenan información binaria mediante dos señales eléctricas diferentes, generalmente voltajes. En la DRAM , por ejemplo, la presencia de un voltaje superior a un cierto umbral representa un uno binario, mientras que cualquier voltaje inferior a ese valor representa un cero. La letra "A" en ASCII se representa como 01000001 en binario, que podría almacenarse en una DRAM típica de finales de la década de 1970, como la Mostek MK4116, como una serie de  voltajes de 0 y 5 V en los condensadores individuales que componen la memoria. [ 1 ]

En cambio, los sistemas de grabación magnética, como los disquetes, registran estos datos como un cambio en la polaridad magnética . Esto se debe a la forma en que se leen y escriben los datos, mediante inducción magnética . Durante la lectura, el disco gira, por lo que su superficie se mueve rápidamente frente al cabezal de lectura/escritura , un pequeño electroimán . Cuando cambia la polaridad de la carga magnética del disco, se induce un breve pulso de electricidad en el cabezal, que se lee como un uno; cualquier sección donde la polaridad no cambia produce un cero. [ 2 ] Para codificar la misma letra A, suponiendo que los datos anteriores terminaron con un cero, un disco usaría 01111110. La primera transición de cero a uno produce un 1, la secuencia de unos que sigue no produce ninguna salida y, finalmente, la última transición de uno a cero crea el 1 final. [ 3 ]

Además de que los datos se almacenan en patrones que requieren conversión en tiempo real hacia y desde su formato interno, el disco enfrenta problemas adicionales asociados con ser un sistema analógico: ruido, efectos mecánicos y otros problemas. En particular, los discos sufren un efecto conocido como jitter debido a pequeñas variaciones en la sincronización a medida que el medio acelera y desacelera durante la rotación. Una forma inevitable de jitter se debe a la histéresis del medio magnético, que puede provocar un efecto conocido como desplazamiento de bits que hace que las secuencias de transición magnética se estiren en el tiempo. Estos efectos dificultan saber a qué bit pertenece una transición en particular. [ 3 ]

Para solucionar este problema, los discos utilizan algún tipo de recuperación de reloj mediante señales adicionales escritas en el disco. Cuando se leen los datos, la señal de reloj se separa y los bits de datos se pueden ver claramente en la señal y alinearlos correctamente en las ranuras correspondientes de la memoria. [ 3 ]

Codificación

La codificación FM utiliza un sistema sencillo para codificar los datos originales de tal manera que cada bit de datos contenga al menos una transición, asegurando así que haya suficientes transiciones durante un período determinado para una recuperación de reloj exitosa. Para ello, opera con un período de datos básico que duplica la frecuencia máxima del medio de grabación. Estas se conocen como "ventanas de reloj", con hasta una transición de reloj y una transición de datos por ventana. Dado que cada bit de datos requiere un mínimo de dos tiempos, la codificación FM almacena aproximadamente la mitad de la cantidad que teóricamente es posible en ese medio. [ 3 ]

FM utiliza una implementación de la codificación diferencial de Manchester . Un cero en los datos originales se codifica mediante una única transición de flujo magnético durante el período, y los unos se codifican como dos transiciones. Por ejemplo, si un byte de datos del sistema original contiene los bits 01000001 , el controlador del disquete lo traducirá a la serie 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 1 , insertando señales adicionales delante de cada bit para representar el reloj. Cuando esta señal se envía al cabezal de lectura/escritura, la polaridad se invertirá cada vez que haya un pulso. En este ejemplo, si el cabezal estaba originalmente en estado bajo al final de la escritura de los últimos datos, el 1 inicial lo invertirá al estado alto, y el cero siguiente lo dejará allí. El resultado es una única transición en esa ventana. El siguiente bit primero invertirá el estado de nuevo a bajo, y luego lo invertirá de nuevo a alto, para dos transiciones en la ventana. [ 3 ]

La codificación de estas transiciones requiere que el sistema acepte datos digitales del ordenador anfitrión y los vuelva a codificar en el formato FM subyacente. Al leerlos, el sistema debe separar de nuevo la señal de reloj y dejar solo los bits de datos. Debido a la simplicidad del sistema FM, se podía implementar en chips individuales utilizando las técnicas de fabricación de semiconductores de finales de la década de 1970. Esto redujo considerablemente el coste de implementación de un controlador de accionamiento completo, que consistía principalmente en un reloj, un chip controlador de accionamiento, un chip para comunicarse con el ordenador anfitrión y algo de memoria intermedia. El Western Digital FD1771 y sus variantes fueron especialmente populares. [ 4 ]

Codificación de datos frente a formato

El material anterior se refiere a la escritura de bytes en el disco, pero esto es una simplificación. En la mayoría de los discos, la única unidad de datos es el sector , y los bytes individuales dentro de él no tienen significado para el controlador. Cuando se escriben datos, el controlador recibe un sector completo de datos y se le indica que los escriba como una única operación atómica como una serie de bits. El controlador no puede alinear los bits con los bytes basándose únicamente en la información de FM. Por lo tanto, no solo los bits dentro de los datos deben alinearse al leerlos, sino también el punto de partida de los datos del sector en su conjunto. [ 3 ]

Esto no se logra con el esquema de codificación, sino con el formato del disco . Cuando el controlador escribe un sector de datos, agrega una sección de encabezado que contiene información sobre los datos que siguen, así como la dirección del sector para que pueda encontrarse posteriormente. Durante el proceso de escritura, el controlador también escribe una serie de "bytes de sincronización" especiales antes del encabezado y los datos. En el formato IBM, esto consiste en una serie de trece ceros seguidos de tres dígitos hexadecimalesA1 delante del encabezado y las áreas de datos. Estos no están codificados en FM, por lo que el controlador puede identificarlos fácilmente sobre la marcha. El controlador se fija en estas señales para encontrar el inicio de los datos, que sigue inmediatamente al último byte de sincronización. Después de eso, lee cada ocho bits en los bytes subsiguientes en el búfer. [ 3 ]

Sustitución por MFM

Como cada bit de datos requiere dos periodos de transición en el sistema FM, solo utiliza la mitad de la capacidad de almacenamiento potencial del disco. Esto dio lugar a una serie de codificaciones más avanzadas que aprovechan mejor el espacio disponible. La sustitución más utilizada fue la modulación de frecuencia modificada (MFM). Este sistema registraba un solo bit en cada ventana, lo que generaba la señal de reloj subyacente. El valor del bit, 1 o 0, se codificaba según la ubicación del pulso dentro de la ventana. Los 1 se codificaban con pulsos en el centro de la ventana; los 0 con el pulso en el extremo. [ 3 ]

Debido a que la precisión de la sincronización de la transición es más exigente, MFM requiere una solución más compleja para recuperar la señal de reloj. Generalmente, esto se logra mediante un bucle de enganche de fase o un sistema similar que produce una señal de reloj de salida estable a partir de una entrada ruidosa. Esto superaba las capacidades de los circuitos integrados de bajo costo de finales de la década de 1970, razón por la cual FM siguió siendo popular durante la primera era de las computadoras domésticas a principios de la década de 1980. Los circuitos integrados MFM estaban disponibles y se usaban en plataformas más caras como la IBM PC , pero su uso requería que la recuperación del reloj se realizara mediante hardware externo, el "separador de datos". La fabricación de circuitos integrados avanzaba rápidamente durante este período, y a mediados de la década de 1980 aparecieron los controladores MFM todo en uno y el mercado se movió rápidamente hacia el formato de doble densidad. [ 3 ]

Referencias

Citas

  1. St. Michael, Stephen (1 de agosto de 2019). "Introducción a la DRAM" . Todo sobre circuitos .
  2. Lutz, Melloni y Wakeman 1995 , pág. 1.
  3. 1 2 3 4 5 6 7 8 9 Lutz, Melloni y Wakeman 1995 , pág. 2.
  4. Michalopoulos, Demetrios A (octubre de 1976). "Nuevos productos: formateador/controlador de disquetes de un solo chip". Computer . 9 (10). IEEE: 64. doi : 10.1109/CM.1976.218414 .

Bibliografía

  • Lutz, Bob; Melloni, Paolo; Wakeman, Larry (1995). Guía de diseño del separador de datos de disquete TL/F/9419 para el DP8473 (PDF) (Informe técnico). National Semiconductor.
  • Schouhamer Immink, Kees (diciembre de 1990). "Secuencias de longitud limitada" . Actas del IEEE . 78 (11): 1745– 1759. Bibcode : 1990IEEEP..78.1745I . doi : 10.1109/5.63306 .