3.2 Kodowanie FM i MFM

Poziom namagnesowania podloża

Dane na dyskach magnetycznych zapisywane są w postaci przemagnesowań czyli zmian kierunku namagnesowania podłoża co przedstawia rysunek. Odczytując takie zmiany namagnesowania podłoża otrzymujemy impulsy oznaczone jako I, które dopiero po odpowiednim dekodowaniu dadzą nam ciąg bitowy zapisanych danych. Kiedy nośniki magnetyczne znajdowały się w swoim apogeum rozwoju powstawały różne metody zwiększenia pojemności takich taśm zawierających przemagnesowania. Najprostszym rozwiązaniem było zwiększenie zagęszczenia przemagnesowań, ale ten sposób bardzo szybko doszedł do granic technicznych możliwości magnetycznego podłoża. Więc równolegle do postępu technicznego rozwijano różnego typu kodowania sygnałów i wykorzystywania ich w taki sposób żeby zmieścić jak najwięcej danych.

Metody kodowania musiały jednak spełniać pewną własność. Szybkość obrotów dysku musiała być odpowiednio zsynchronizowana z szybkością odczytu danych przez głowicę. Przy odpowiednich danych zapisanych na dysku mogło dojść do powstawania dużych obszarów dysku na których nie występowały przemagnesowania. Brak przemagnesowań przez dłuższą chwilę mógł doprowadzić do rozsynchronizowania prędkości obrotowej dysku. Tak więc po dłuższym czasie pracy bez synchronizacji mogłyby pojawiać się błędy.Na nośniku więc prócz samych danych trzeba było umieścić też impulsy synchronizujące, które sprowadzały by szybkość silnika obracającego na odpowiednią wartość nawet przy danych które zawierały by stałą wartość (np. same zera lub jedynki). Odpowiedni system kodowania ma zapewnić większe upakowanie danych i przeciwdziałać braku wystąpień impulsów tz. Jeżeli dane zawierają ten sam stan logiczny to system kodowania musi tak zakodować ciąg danych, żeby występowały w nim impulsy przemagnesowania.

FM (Frequency Modulation)

Podstawowym systemem kodowania danych na dysku magnetycznym jest system FM.

Opiszę ten system przedstawiając przykładowy proces zapisywania danych na dysku:

Najpierw silnik obracający dyskiem jest rozpędzany do odpowiedniej stałej prędkości zapisu. Ta prędkość może różnić się nieco od prędkości z jaką nastąpi w przyszłości odczyt danych, ale zostanie to skorygowane przez impulsy synchronizacyjne. W pewien zwielokrotniony takt sprzęgnięty z prędkością silnika jest generowany sygnał zegarowy. W kodowaniu FM każde narastające zbocze sygnału zegarowego jest kodowane na dysku jako sygnał przemagnesowania, który oznaczony jest na wykresie przemagnesowań FM(i) jako Z. Jeden pełny cykl sygnału zegarowego przypisany jest do jednego bitu kodowanych danych. Jeżeli podczas opadającego zbocza sygnału zegarowego odpowiadający mu bit kodowanych danych ma stan wysoki na na dysku również zapisywany jest sygnał w postaci przemagnesowania co oznaczone jest na wykresie kodowania FM(i) jako sygnał D.

System jest dość łatwy i zapewnia stałą synchronizację po przez niezależne od danych występowanie impulsów zegarowych.

Nazwa "Frequency Modulation" jak widać pochodzi od systemu modulacji częstotliwości z powodu łączących analogii.

Dekodowanie danych jest procesem odwrotnym do opisanego wcześniej kodowania więc nie będę tego omawiał. Istotne jest to że przy dekodowaniu z systemu FM zapewniona jest jednoznaczność otrzymanych wyników.

Wykres kodowania fm i mfm

MFM (Modified Frequency Modulation)

Oczywiście podczas kodowania przebieg zegarowy jest synchronizowany z danymi poddawanymi obróbce. W systemie MFM niejako usunięto ciągłe występowanie impulsów zegarowych i wpleciono je w impulsy danych. Prosty system kodowania można zawrzeć w tabeli.

Ciąg danych Impuls przemagnesowujący
00 Tak (Z)
01 Tak (D)
10 Nie
11 Tak (D)

Tabelkę można tez zastąpić kilkoma sformułowaniami: Jeżeli podczas opadającego zbocza przebiegu zegarowego ciąg danych zawiera wartość 1 to występuje impuls przemagnesowania. Jeżeli podczas narastającego zbocza przebiegu zegarowego poprzedni i następujący bit są równe co do wartości 0 to zostaje wygenerowany impuls przemagnesowujący.

Jak widać wszystkie impulsy pojawiają się wyłącznie w zależności od stanu kodowanych danych i nie ma dodatkowych źródeł synchronizacji pochodzących od sygnału zegarowego. Jednak niektóre impulsy oznaczyłem jako Z ponieważ pełnią one funkcję synchronizującą i zawierają też pewne informacje o zakodowanych danych. Połączenie tych dwóch funkcji impulsów pozwoliło na ich rozrzedzenie. W wyniku tego można podczas zapisu je gęściej zapisać na dysku co w wyniku końcowym da większą ilość danych na jednostkę nośnika niż w systemie FM.

Żeby udowodnić prawidłowość działania tego systemu należało by jeszcze przedstawić proces dekodowania impulsów odczytanych z dysku.

Dekodowanie przeprowadza się za pomocą dwóch bramek typu AND sterowanych sygnałem zegarowym o fazie przesuniętej o połowę okresu. Na drugie wejścia tych bramek podaje się sygnał zakodowany i w ten sposób jedna bramka odfiltruje nam sygnały zegarowe i udostępni je do stabilizacji częstotliwości zegara. Druga bramka odfiltruje bity danych.

System dekodowania przez dwie bramki AND równie dobrze służy jako filtr impulsów w systemie FM.