Zmodyfikowana modulacja częstotliwości - Modified frequency modulation

Zmodyfikowana modulacja częstotliwości ( MFM ) to kod liniowy o ograniczonej długości działania (RLL) używany do kodowania danych na większości dyskietek . Po raz pierwszy został wprowadzony w dyskach twardych w 1970 roku z IBM 3330, a następnie w napędach dyskietek począwszy od IBM 53FD w 1976 roku.

MFM to modyfikacja oryginalnego kodu modulacji częstotliwości (FM). Ze względu na minimalne odstępy między przejściami strumienia, które są właściwością konstrukcji dysku, głowicy i kanału, MFM, który gwarantuje co najwyżej jedno przejście strumienia na bit danych, może być zapisany z większą gęstością niż FM, który może wymagać dwóch przejść na dane fragment.

MFM jest używany z szybkością transmisji 250–500  kbit/s (kodowanie 500–1000 kbit/s) w standardzie branżowym 5+1 / 4 -cal i 3+Dyskietki 12 cale zwykłe i dyskietki o dużej gęstości. MFM był również używany we wczesnychprojektach dysków twardych , przed pojawieniem się bardziej wydajnych typów kodów RLL. Poza zastosowaniami niszowymi kodowanie MFM jest przestarzałe w zapisie magnetycznym.

Modulacja częstotliwości

Cyfrowa metoda kodowania modulacji częstotliwości (FM) stosowana w kontekście pamięci magnetycznej ma wiele innych nazw, w tym kodowanie opóźnienia i różnicowe kodowanie Manchester .

Modulacja częstotliwości to kodowanie danych binarnych w celu utworzenia sygnału dwupoziomowego , w którym (a) „0” nie powoduje zmiany poziomu sygnału, chyba że następuje po nim kolejne „0”, w którym to przypadku następuje przejście na inny poziom koniec pierwszego okresu bitowego ; oraz (b) „1” powoduje przejście z jednego poziomu na drugi w środku okresu bitowego.

Kodowanie FM jest używane głównie do kodowania sygnałów, ponieważ widmo częstotliwości zakodowanego sygnału zawiera mniej energii niskiej częstotliwości niż konwencjonalny sygnał bez powrotu do zera (NRZ) i mniej energii wysokiej częstotliwości niż sygnał dwufazowy.

Kodowanie FM to kodowanie wykorzystujące tylko połowę szerokości pasma dla kodowania dwufazowego, ale posiada wszystkie zalety kodowania dwufazowego: Do przepisania: Gwarantowane są przejścia co drugi bit, co oznacza, że ​​systemy dekodujące mogą w sposób ciągły dostosowywać próg zegara/DC . Jedną wadą jest brak łatwej czytelności dla człowieka (np. na oscyloskopie).

Kodowanie FM jest również znane jako kodowanie Millera po Arminie Millerze, jego wynalazcy.

Kodowanie MFM

Bajt zakodowany przy użyciu FM (powyżej) i MFM (poniżej). Przerywana niebieska linia oznacza impuls zegarowy (zmiana poziomu sygnału w nim jest ignorowana), a przerywana czerwona linia oznacza impuls danych (zmiana poziomu sygnału oznacza 1, a jego brak 0).

Standardowo przy omawianiu schematów kodowania dysku twardego, kodowania FM i MFM generują strumień bitów, który podczas zapisu na dysku jest zakodowany w formacie NRZI . 1-bit reprezentuje przejście magnetyczne, a 0-bit brak przejścia. Kodowanie danych musi równoważyć dwa czynniki:

  • istnieją ograniczenia dotyczące minimalnej i maksymalnej liczby bitów 0, które sprzęt może wykryć między kolejnymi bitami 1-bitowymi, a kodowanie nie może przekraczać tego limitu;
  • istnieją ograniczenia dotyczące maksymalnej liczby 1-bitów, które sprzęt może wykryć w określonym czasie. Jeśli dysk jest zakodowany z większą (średnią) liczbą przejść magnetycznych na bit, bity będą musiały być „szersze” i mniej sektorów zmieści się na każdej ścieżce;

Zarówno kodowanie FM, jak i MFM można również traktować jako zawierające bity danych oddzielone bitami zegara, ale z różnymi zasadami kodowania bitów. Mimo to oba formaty kodują każdy bit danych jako dwa bity na dysku (ze względu na ograniczniki, które są wymagane na początku i na końcu sekwencji, rzeczywista gęstość jest nieco niższa).

Podstawową zasadą kodowania dla FM jest to, że wszystkie bity zegara to 1: zera są zakodowane jako 10, jedynek są zakodowane jako 11. Liczba przejść magnetycznych na bit wynosi średnio 1,5 (50% × 1 + 50% × 2).

Podstawowa zasada kodowania dla MFM jest taka, że ​​(x, y, z, ...) koduje do (x, x NOR y, y, y NOR z, z, z NOR...). Zero jest kodowane jako 10, jeśli jest poprzedzone zerem, a 00, jeśli jest poprzedzone jedynką (każdy z tych przypadków występuje w 25% przypadków); jedynka jest zawsze zakodowana jako 01 (co zdarza się w 50% przypadków); zatem liczba przejść magnetycznych wynosi średnio 0,75 (25%  10  = tak + 25%  00  = nie + 50%  01  = tak).

Dane ... 0 0 ... ... 0 1 ... ... 1 0 ... ... 1 1 ...
Bity zegara MFM ...? 1?... ...? 0 0... ...0 0 ?... ...0 0 0...
Kodowanie MFM ...? 0 1 0 ?... ...? 0 0 1 0... ...0 1 0 0 ?... ...0 1 0 1 0...

Należy zauważyć, że otaczające bity zegara są czasami znane, ale czasami wymagają znajomości sąsiednich bitów danych. Dłuższy przykład:

Data:          0 0 0 1 1 0 1 1 ...
FM encoded:   10101011111011111...
MFM clock:    ? 1 1 0 0 0 0 0 0...
MFM encoded:  ?0101001010001010...

(Bity pogrubione to bity danych, pozostałe to bity zegara).

W kodowaniu FM liczba bitów zerowych, które mogą pojawić się między kolejnymi 1-bitami, wynosi 0 lub 1. W kodowaniu MFM pomiędzy sąsiednimi bitami jest minimum 1 bit zerowy (nigdy nie ma dwóch sąsiadujących ze sobą bitów), a maksymalna liczba zer w rzędzie wynosi 3. Tak więc FM jest kodem (0,1) RLL, podczas gdy MFM jest kodem (1,3).

Używany jest specjalny „znacznik synchronizacji”, aby umożliwić kontrolerowi dysku ustalenie, gdzie zaczynają się dane. Ten znak synchronizacji musi być zgodny z kodem RLL, aby sterownik mógł go rozpoznać, ale nie jest zgodny z regułami FM i MFM dla bitów zegara. W ten sposób nigdy nie wystąpi w żadnej pozycji bitowej w żadnym zakodowanym strumieniu danych. Najkrótszy możliwy wzór bitów synchronizacji, który jest zgodny z regułami kodowania RLL (1,3), ale nie może być wytworzony przez normalne kodowanie MFM, to 100010010001 . W rzeczywistości znak synchronizacji, który jest powszechnie używany w kodowaniu MFM, zaczyna się od tych dwunastu bitów; nazywa się to „synchronizacją A1”, ponieważ bity danych tworzą początek wartości szesnastkowej A1 (10100001), ale piąty bit zegara różni się od normalnego kodowania bajtu A1.

Data:      1 0 1 0 0 0 0 1
Clock:      0 0 0 1 1 1 0
Encoded:   100010010101001
Sync clock: 0 0 0 1 0 1 0
Sync Mark: 100010010001001
                    ^ Missing clock bit

MMFM

MMFM (zmodyfikowana modulacja częstotliwości), również w skrócie M²FM lub M2FM , jest podobny do MFM, ale tłumi dodatkowe bity zegara, tworząc dłuższą maksymalną długość przebiegu (kod RLL (1,4)). W szczególności impuls zegarowy jest wstawiany między parę sąsiednich bitów zerowych tylko wtedy, gdy pierwszy bit pary nie zawierał impulsu zegarowego przed nim. W poniższym przykładzie bity zegara, które byłyby obecne w MFM, są pogrubione:

Data:     1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1
Clock:   0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0
Encoded: 01010001001001001000010010001001001000100001

W tym systemie znaczniki synchronizacji są tworzone przez wstawienie dodatkowych impulsów zegarowych między sąsiednimi bitami zerowymi (zgodnie z regułą MFM), gdzie normalnie byłyby pominięte. W szczególności, wzór bitów danych „100001” ma impuls zegarowy wstawiony pośrodku, gdzie normalnie byłby pominięty:

Data:  1 0 0 0 0 1
Normal: 0 1 0 1 0
Sync:   0 1 1 1 0

Zobacz też

Bibliografia

Ten artykuł jest oparty na materiale zaczerpniętym z bezpłatnego słownika komputerowego on-line sprzed 1 listopada 2008 r. i włączonym na warunkach „ponownego licencjonowania” GFDL w wersji 1.3 lub nowszej.
Domena publiczna Ten artykuł zawiera  materiał z domeny publicznej z dokumentu General Services Administration : „Federal Standard 1037C” .

Dalsza lektura

Zewnętrzne linki