stringtranslate.com

Codificación de modulación de frecuencia

El Atari 810 fue un ejemplo típico de las unidades de disquete basadas en FM de la era de las computadoras domésticas de principios de los años 1980 .

La codificación de 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 unidades de disco duro . Los datos se modifican utilizando la codificación Manchester diferencial cuando se escriben para permitir la recuperación del reloj para abordar los efectos de sincronización conocidos como "jitter" que se observan en los medios de disco. Se introdujo en las unidades de mainframe de IBM y fue casi universal entre los primeros disquetes de minicomputadoras y microcomputadoras . En el caso de los disquetes, la codificación FM permitió almacenar alrededor de 80 kB de datos en un disquete de 5+Disco de 1 ⁄4 de pulgada .

IBM comenzó a introducir la modulación de frecuencia modificada (MFM), más eficiente, a partir de 1970. Se refirieron a este formato como "doble densidad", y el FM original se convirtió retroactivamente en "densidad simple". La MFM era más difícil de implementar y no fue hasta principios de la década de 1980 que surgieron controladores de unidad de disquete MFM todo en uno de bajo costo como el WD1770 . Esto llevó a 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, normalmente voltajes. En la memoria DRAM , por ejemplo, la presencia de un voltaje por encima de un determinado umbral representa un uno binario, mientras que cualquier voltaje por debajo de 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 los años 70, como la Mostek MK4116, como una serie de voltajes de 0 y 5 V en los condensadores individuales que componen la memoria. [1]

Por el contrario, 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, utilizando inducción magnética . Durante la lectura, el disco gira, por lo que su superficie se mueve rápidamente más allá del cabezal de lectura/escritura , un pequeño electroimán . Cuando cambia la polaridad de la carga magnética en el 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 hace que se emita un 1, la secuencia de unos que sigue no produce ninguna salida y, finalmente, el último uno a cero crea el 1 final. [3]

Además de que los datos se almacenan en patrones que requieren una conversión sobre la marcha 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 fluctuación debido a pequeños cambios en el tiempo a medida que el medio acelera y desacelera durante la rotación. Una forma de fluctuación inevitable se debe a la histéresis del medio magnético, que puede conducir a un efecto conocido como desplazamiento de bits que hace que las cadenas de transición magnética se estiren en el tiempo. Estos efectos hacen que sea difícil 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 se pueden alinear de forma ordenada en las ranuras correspondientes de la memoria. [3]

Codificación

La codificación FM utiliza un sistema simple para codificar los datos originales de tal manera que cada bit de datos contenga al menos una transición, lo que garantiza que haya suficientes transiciones durante un período determinado para una recuperación exitosa del reloj. Para ello, opera con un período de datos básico que es el doble de 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 dos tiempos mínimos, la codificación FM almacena aproximadamente la mitad de la cantidad que es teóricamente posible en ese medio. [3]

FM utiliza una implementación de la codificación diferencial 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 traducirá esto 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 luego al cabezal de lectura/escritura, la polaridad se invertirá cada vez que haya un pulso. En este ejemplo, si el cabezal estaba originalmente en el estado bajo al final de la escritura de los últimos datos, el 1 inicial lo invertirá al estado alto, y el siguiente cero 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]

Para codificar estas transiciones, el sistema debe aceptar datos digitales del ordenador central y luego volver a codificarlos en el formato FM subyacente. Al leerlos, el sistema debe separar nuevamente la señal de reloj y dejar solo los bits de datos. Debido a que el sistema FM es tan simple, se pudo implementar en formatos de un solo chip utilizando técnicas de fabricación de semiconductores de finales de los años 70. Esto redujo enormemente el costo de implementación de un controlador de unidad completo, que consistía principalmente en un reloj, un chip controlador de unidad, un chip para comunicarse con el ordenador central y algo de memoria intermedia. Especialmente popular fue el Western Digital FD1771 y sus variantes. [4]

Codificación de datos vs formato

El material anterior se refiere a la escritura de bytes en el disco, pero se trata de una simplificación. En la mayoría de los discos, la única unidad de datos es el sector , y los bytes individuales que contiene no tienen ningún significado para el controlador. Cuando se escriben datos, se le entrega al controlador 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 se deben alinear los bits dentro de los datos al leerlos, sino 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 de 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 se pueda encontrar en el futuro. 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 " hexadecimales A1 " delante de las áreas de encabezado y 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 comienzo de los datos, que sigue inmediatamente al último byte de sincronización. Después de eso, lee cada ocho bits en bytes posteriores en el búfer. [3]

Reemplazo con MFM

Como cada bit de datos requiere dos períodos de transición en el sistema FM, se utiliza sólo la mitad de la capacidad de almacenamiento potencial del disco. Esto dio lugar a una serie de codificaciones más avanzadas que hacen un mejor uso del espacio disponible. El sustituto más utilizado fue la modulación de frecuencia modificada o MFM. Este sistema registraba sólo un bit en cada ventana, que producía la señal de reloj subyacente. El valor del bit, 1 o 0, se codificaba por 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 al final. [3]

El MFM requiere una solución más compleja para recuperar la señal de reloj. Generalmente, esto toma la forma de un bucle de enganche de fase o un sistema similar que producirá una señal de reloj de salida estable a partir de una entrada ruidosa. Esto estaba más allá de las capacidades de los circuitos integrados de bajo costo de finales de la década de 1970, por lo que el FM siguió siendo popular durante la 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 trasladó rápidamente al 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. ^ abcdefghi 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