MFM-kodning

MFM-kodning (nogle gange i litteraturen er der navne "modificeret Miller-kode i en firkant", "MFM-kodning"; engelsk  modificeret frekvensmodulation ) - en metode til kodning af data, en af ​​metoderne til fysisk kodning (linjekodning, kanalkodning, digital kodning, nøglesignal ). Bruges til at overføre digitale data fra en sender til en modtager via et serielt interface . Det er en bipolær to-niveau kode (et signal kan tage to værdier svarende til et lavt niveau og et højt niveau) kode, hvor hver informationsbit er kodet af en kombination af to bits.

MFM-kodning er en modifikation af frekvensmodulation ( eng.  frequency modulation , FM). For disketter fordoblede brugen af ​​MFM mængden af ​​optaget information, sådanne disketter blev kaldt dobbeltdensitetsdiske (" double density "). MFM-kodning bruges i magnetiske diskdrev. Til harddiske blev MFM også brugt i starten, men en mere effektiv metode til kodning af information RLL ( run-length limited ) blev snart opfundet.

I tilfælde af disketter blev de nye metoder ikke længere brugt på grund af manglen på behovet for at overføre store mængder data på disketter (dette ville ikke være pålideligt nok). I tilfælde af disketter kræves derudover kompatibilitet af nye kodningsstandarder med gamle: ethvert moderne drev kan læse både FM- og MFM-kodede diske, mens princippet om RLL-kodning er fundamentalt forskelligt fra de to foregående.

Kodning

Med MFM-kodning sker der en ændring i optagestrømmen midt i intervallet (uret), hvis den transmitterede bit er 1, og ved kanten af ​​intervallet, hvis begge tilstødende bits er 0. Retningen af ​​strømskifte har ingen betydning.

Data … 0 0 … … 0 1 … … 1 0 … … 1 1 …
Ur bits … ? en ? … … ? 0 0 … … 0 0 ? … … 0 0 0 …
MFM kode … ? 0 1 0 ? … … ? 0 0 1 0 … … 0 1 0 0 ? … … 0 1 0 1 0 …

Bemærk, at clock-bits før og efter sekvensen nogle gange er kendte og nogle gange kræver viden om yderligere databits. Længere eksempel (databit med fed skrift, clock-bit med fed skrift):

Data: 0 0 0 1 1 0 1 1 Ur: ? 1 1 0 0 0 0 0 0 Koden: ? 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0

For at synkronisere controlleren, ved læsning af data, skrives der i begyndelsen af ​​datablokken en speciel markør, som er en hexadecimal byte A1( 10100001), hvori den aktuelle skiftning mellem to nulbit (femte og sjette) indstilles iflg. protokollen udføres ikke.

Ordningsnummer 1 2 3 4 5 6 7 8 Data: 1 0 1 0 0 0 0 1 ? Dataur: ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ Signalniveau: ‾‾|_______|‾‾‾‾‾|_______|‾‾‾‾‾|___?... Synchrobeat: ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ Der er ingen skift i denne cyklus ^

Sekvensen af ​​signalniveauer opnået på denne måde (4 halve cyklusser af et niveau - 3 halve cyklusser af et andet - 4 halve cyklusser af det indledende niveau - 3 halve cyklusser af et andet), på den ene side, modsiger ikke betingelsen krævet af protokollen ("signalniveauet kan forblive uændret i højst 4 halve cyklusser"), og på den anden side forekommer det aldrig i en strøm af normale skrevne data (hvor signalet svarende til denne bit sekvensen skal se ud som 4-3-2-2-3). Opgaven lettes yderligere af, at flere sådanne markørsekvenser er placeret efter hinanden, i hvilket tilfælde den bit, der er markeret med et spørgsmålstegn, er kendt og lig med 1. For således at detektere markøren i den indkommende omskifterstrøm, er nok til at spore flere gentagelser af sekvensen af ​​varighed 4-3- 4-3-2 uden at skulle parse de enkelte bits.

Ansøgning

Se også

Noter

  1. Miller koder/dekoder . Hentet 26. juli 2017. Arkiveret fra originalen 16. august 2015.

Litteratur