La codificación serial de datos consiste en enviar o guardar información como unos y ceros en un medio físico, y aquí vamos a entenderla sin sufrir, con un ejemplo musical de aplausos y silencios.
Empecemos por lo básico: si damos una palmada, decimos que eso es un uno; si nos quedamos quietos, eso es un cero. Fácil. El lío aparece cuando encadenamos muchos silencios seguidos. Si no oímos palmas durante un rato, como receptor nos entra la duda: cuántos ceros han pasado, dónde acaba un bit y empieza el siguiente, y si nos hemos despistado media décima de segundo.
Por eso la sincronización es la estrella del tema. En una transmisión en serie no basta con saber qué significa cada señal, también hay que ponerse de acuerdo en el ritmo. Emisor y receptor tienen que compartir un reloj o, al menos, pistas constantes para reconstruir ese reloj a partir de la señal. Cuando aparecen muchos ceros consecutivos, esas pistas desaparecen y el receptor puede empezar a contar mal.
Aquí entra en juego la modulación de frecuencia, o FM, como truco para codificar información de forma más resistente al caos del mundo real. En vez de depender solo de presencia o ausencia de algo, jugamos con cambios de frecuencia o con marcas temporales que ayudan a recuperar el ritmo. La idea práctica es que siempre haya eventos detectables que nos permitan seguir el compás, incluso si los datos traen rachas largas de ceros.
Esto se vuelve especialmente importante en soportes como los discos flexibles. Aunque los imaginemos como algo muy preciso, su velocidad de rotación puede variar un poco. Y si el disco va un pelín más rápido o más lento, las marcas llegan antes o después. Sin una estrategia para reenganchar el reloj, el lector puede interpretar un bit donde no toca y ya tenemos un dato corrupto.
Para mejorar eficiencia aparece la modulación de frecuencia modificada, MFM, que permite guardar o transmitir más información en el mismo espacio sin perder sincronía. El truco es garantizar que siempre exista separación adecuada entre los unos y, al mismo tiempo, evitar que se acumulen demasiados ceros sin ninguna referencia temporal. Dicho de forma sencilla: combinamos latidos regulares que sirven de guía con pulsos de datos cuando toca, de manera que el receptor nunca se queda sin señales para seguir contando.
Con MFM conseguimos más densidad porque reducimos transiciones innecesarias y dejamos las justas para que el reloj se mantenga estable. No es magia, es diseño cuidadoso: patrones que equilibran almacenamiento y fiabilidad, manteniendo una distancia mínima entre transiciones para que el soporte físico pueda escribir y leer sin confundirse.
Y sí, en la codificación serial de datos el soporte físico manda. Hay límites: el material magnético, el cabezal, el ruido, la precisión mecánica y la separación entre marcas. Si intentamos escribir transiciones demasiado juntas, el sistema puede no distinguirlas bien. Por eso hacen falta reglas de codificación y control: para asegurar márgenes, detectar errores y mantener la integridad de lo que almacenamos.
Propuesta de juego: montamos una batería humana en casa. Un equipo es el emisor y otro el receptor; usamos palmas para unos y silencio para ceros, primero sin pistas y luego añadiendo un golpecito de mesa regular como reloj. Después probamos una versión tipo MFM, donde nunca dejamos silencios eternos, y medimos quién descifra más bits sin fallar.
Si queremos más ideas para aprender así, con juego y luego aprendizaje, nos vemos en JeiJoLand.