Kodowanie modulacji częstotliwości
Kodowanie z modulacją częstotliwości lub po prostu FM to metoda przechowywania danych, która była szeroko stosowana we wczesnych stacjach dyskietek i dyskach twardych . Podczas zapisywania dane są modyfikowane przy użyciu różnicowego kodowania Manchester, aby umożliwić przywrócenie zegara w celu uwzględnienia efektów czasowych znanych jako „jitter” obserwowanych na nośnikach dyskowych. Został wprowadzony na dyskach mainframe IBM i był prawie uniwersalny wśród wczesnych minikomputerów i mikrokomputerów dyskietki. W przypadku dyskietek kodowanie FM pozwoliło na zapisanie około 80 kB danych na 5 + 1 ⁄ 4 cala.
IBM zaczął wprowadzać bardziej wydajną zmodyfikowaną modulację częstotliwości lub MFM, począwszy od 1970 r. Odnieśli się do tego formatu jako „podwójnej gęstości”, przy czym oryginalny FM z mocą wsteczną stał się „pojedynczą gęstością”. MFM był trudniejszy do wdrożenia i dopiero na początku lat 80. pojawiły się niedrogie, uniwersalne kontrolery stacji dyskietek MFM, takie jak WD1770 . Doprowadziło to do szybkiego upadku kodowania FM na rzecz MFM w połowie lat osiemdziesiątych.
Podstawowy mechanizm przechowywania
pamięci głównej w nowoczesnych komputerach przechowują informacje binarne przy użyciu dwóch różnych sygnałów elektrycznych, zazwyczaj napięć. Na przykład w pamięci DRAM obecność napięcia powyżej pewnego progu reprezentuje jedynkę binarną, podczas gdy każde napięcie poniżej tej wartości reprezentuje zero. Litera „A” w ASCII jest reprezentowana jako 01000001 w postaci binarnej, która może być przechowywana w typowej pamięci DRAM z końca lat 70., takiej jak Mostek MK4116, jako seria napięć 0 i 5 V w poszczególnych kondensatorach tworzących pamięć.
W przeciwieństwie do tego systemy zapisu magnetycznego , takie jak dyskietki, zapisują te dane jako zmianę biegunowości magnetycznej . Wynika to ze sposobu, w jaki dane są odczytywane i zapisywane przy użyciu indukcji magnetycznej . Podczas odczytu dysk obraca się, więc jego powierzchnia szybko przesuwa się obok głowicy odczytu/zapisu , małego elektromagnesu . Kiedy zmienia się biegunowość ładunku magnetycznego na dysku, w głowicy indukowany jest krótki impuls elektryczny, który jest odczytywany jako jedynka, a każda sekcja, w której polaryzacja się nie zmienia, wytwarza zero. Aby zakodować tę samą literę A, zakładając, że poprzednie dane zakończyły się zerem, dysk użyłby 01111110. Pierwsze przejście od zera do jednego powoduje wyprowadzenie 1, następujący po nim strumień jedynek nie powoduje wysłania, a na końcu ostatni jeden do zera tworzy ostateczną 1.
Oprócz danych przechowywanych we wzorcach, które wymagają konwersji w locie do iz formatu wewnętrznego, dysk napotyka dodatkowe problemy związane z byciem systemem analogowym – hałas, efekty mechaniczne i inne problemy. W szczególności dyski cierpią z powodu efektu znanego jako jitter z powodu niewielkich zmian taktowania, gdy nośnik przyspiesza i zwalnia podczas obracania. Jedną z form nieuniknionego jittera jest histereza ośrodka magnetycznego, co może prowadzić do efektu zwanego przesunięciem bitowym, który powoduje rozciągnięcie w czasie strun magnetycznego przejścia. Efekty te utrudniają ustalenie, do którego bitu należy określone przejście.
Aby rozwiązać ten problem, dyski wykorzystują pewną formę odzyskiwania zegara przy użyciu dodatkowych sygnałów zapisywanych na dysku. Kiedy dane są odczytywane, sygnał zegara jest rozdzielany, a bity danych mogą być wyraźnie widoczne w sygnale i wyraźnie wyrównane w odpowiednich gniazdach w pamięci.
Kodowanie
Kodowanie FM wykorzystuje prosty system do kodowania oryginalnych danych w taki sposób, że każdy bit danych będzie zawierał co najmniej jedno przejście, zapewniając wystarczającą liczbę przejść w danym okresie, aby pomyślnie przywrócić zegar. W tym celu pracuje z podstawowym okresem danych dwukrotnie większym niż maksymalna częstotliwość nośnika zapisu. Są one znane jako „okna zegara”, z maksymalnie jednym przejściem zegara i jednym przejściem danych na okno. Ponieważ każdy bit danych wymaga dwóch minimalnych czasów, kodowanie FM przechowuje około połowy ilości, która jest teoretycznie możliwa na tym nośniku.
FM wykorzystuje implementację różnicowego kodowania Manchester , kodowania używanego w wielu różnych dziedzinach. Zero w oryginalnych danych jest kodowane przez pojedyncze przejście w okresie, a jedynki są kodowane jako dwa przejścia. Na przykład, jeśli bajt danych z oryginalnego systemu zawiera bity 01000001, kontroler stacji dyskietek przetłumaczy to na serię 1011101010101011, wstawiając dodatkowe sygnały przed każdym bitem, aby reprezentować zegar. Kiedy ten sygnał jest następnie wysyłany do głowicy odczytująco-zapisującej, biegunowość zostanie odwrócona za każdym razem, gdy pojawi się impuls. W tym przykładzie, jeśli głowica była pierwotnie w stanie niskim pod koniec zapisywania ostatnich danych, wiodąca 1 przełączy ją do stanu wysokiego, a następne zero pozostawi ją tam. Rezultatem jest pojedyncze przejście w tym oknie. Następny bit najpierw zmieni stan z powrotem na niski, a następnie z powrotem na wysoki, dla dwóch przejść w oknie.
Kodowanie tych przejść wymaga, aby system zaakceptował dane cyfrowe z komputera hosta, a następnie przekodował je do bazowego formatu FM. Podczas odczytu system musi ponownie oddzielić sygnał zegarowy i pozostawić tylko bity danych. Ponieważ system FM jest tak prosty, można go zaimplementować w postaci pojedynczego układu scalonego przy użyciu technik wytwarzania półprzewodników z końca lat 70. To znacznie obniżyło koszt wdrożenia kompletnego kontrolera napędu, który składał się głównie z zegara, układu kontrolera napędu, układu do komunikacji z komputerem głównym i pewnej pamięci buforowej. Szczególnie popularny był Western Digital FD1771 i jego odmiany.
Kodowanie danych a format
Powyższy materiał odnosi się do bajtów zapisywanych na dysku, ale jest to uproszczenie. Na większości dysków jedyną jednostką danych jest sektor , a poszczególne bajty w nim zawarte nie mają znaczenia dla kontrolera. Kiedy dane są zapisywane, kontroler otrzymuje dane o wartości pełnego sektora i nakazuje zapisać je jako pojedynczą operację atomową jako serię bitów. Kontroler nie może wyrównać bitów z bajtami wyłącznie na podstawie informacji FM. Zatem nie tylko bity w danych muszą być wyrównane podczas odczytu, ale także punkt początkowy danych sektora jako całości.
Nie jest to osiągane za pomocą schematu kodowania, ale zamiast tego formatu dysku . Kiedy kontroler zapisuje sektor danych, dodaje sekcję nagłówka zawierającą informacje o następujących danych, a także adres sektora, aby można było go znaleźć w przyszłości. Podczas procesu zapisu kontroler zapisuje również serię specjalnych „bajtów synchronizacji” przed nagłówkiem i danymi. W formacie IBM składa się z serii trzynastu zer, po których następują trzy szesnastkowe A1
jest przed obszarami nagłówka i danych. Nie są one zakodowane w systemie FM, więc kontroler może je łatwo zidentyfikować w locie. Kontroler blokuje te sygnały, aby znaleźć początek danych, który następuje bezpośrednio po ostatnim bajcie synchronizacji. Następnie odczytuje każde osiem bitów na kolejne bajty w buforze.
Wymiana na MFM
Ponieważ każdy bit danych wymaga dwóch okresów przejściowych w systemie FM, wykorzystuje on tylko połowę potencjalnej pojemności dysku. Doprowadziło to do serii bardziej zaawansowanych kodowań, które lepiej wykorzystują dostępną przestrzeń. Najczęściej stosowanym zamiennikiem była zmodyfikowana modulacja częstotliwości lub MFM. Ten system rejestrował tylko jeden bit w każdym oknie, który generował podstawowy sygnał zegara. Wartość bitu, 1 lub 0, była kodowana przez lokalizację impulsu w oknie. 1 zostały zakodowane za pomocą impulsów na środku okna; 0 z impulsem na końcu.
MFM wymaga bardziej złożonego rozwiązania do odzyskiwania sygnału zegara. Zwykle ma to postać pętli synchronizacji fazowej lub podobnego systemu, który wytwarza stały wyjściowy sygnał zegarowy z hałaśliwego wejścia. To wykraczało poza możliwości tanich układów scalonych z późnych lat 70., dlatego FM pozostawał popularny we wczesnej komputerów domowych na początku lat 80. Układy scalone MFM były dostępne i były używane na droższych platformach, takich jak IBM PC , ale korzystanie z nich wymagało odtworzenia zegara przez zewnętrzny sprzęt, „separator danych”. W tym okresie produkcja układów scalonych rozwijała się szybko, aw połowie lat 80. pojawiły się uniwersalne kontrolery MFM, a rynek szybko przeszedł na format o podwójnej gęstości.
Cytaty
Bibliografia
- Lutz, Bob; Melloni, Paolo; Wakeman, Larry (1995). TL/F/9419 Przewodnik po projektowaniu separatora danych dyskietek dla DP8473 (PDF) (raport techniczny). Krajowy półprzewodnik.
- Schouhamer Immink, Kees (grudzień 1990). „Sekwencje o ograniczonej długości serii” . Obrady IEEE . 78 (11): 1745–1759. doi : 10.1109/5.63306 .