MFM-kodning

MFM-kodning (ibland i litteraturen finns det namn "modifierad Miller-kod i en kvadrat", "MFM-kodning"; engelsk  modifierad frekvensmodulering ) - en metod för att koda data, en av metoderna för fysisk kodning (linjekodning, kanalkodning, digital kodning, nyckelsignal ). Används för att överföra digital data från en sändare till en mottagare via ett seriellt gränssnitt . Det är en bipolär två-nivå (en signal kan ta två värden som motsvarar en låg nivå och en hög nivå) kod där varje informationsbit är kodad av en kombination av två bitar.

MFM-kodning är en modifiering av frekvensmodulering ( eng.  Frequency Modulation , FM). För disketter fördubblade användningen av MFM mängden inspelad information, sådana disketter kallades dubbeldensitetsdisketter (" dubbel densitet "). MFM-kodning används i magnetiska diskenheter. För hårddiskar användes även MFM till en början, men en mer effektiv metod för att koda information RLL ( run-length limited ) uppfanns snart.

När det gäller disketter användes de nya metoderna inte längre på grund av att det saknades behov av att överföra stora mängder data på disketter (detta skulle inte vara tillräckligt tillförlitligt). Dessutom, när det gäller disketter, krävs kompatibilitet av nya kodningsstandarder med gamla: alla moderna enheter kan läsa både FM- och MFM-kodade diskar, medan principen för RLL-kodning är fundamentalt annorlunda än de två tidigare.

Kodning

Med MFM-kodning sker en förändring av inspelningsströmmen i mitten av intervallet (klockan) om den överförda biten är 1, och vid kanten av intervallet om båda intilliggande bitar är 0. Strömomkopplingens riktning spelar ingen roll.

Data … 0 0 … … 0 1 … … 1 0 … … 1 1 …
Klockbitar … ? ett ? … … ? 0 0 … … 0 0 ? … … 0 0 0 …
MFM-kod … ? 0 1 0 ? … … ? 0 0 1 0 … … 0 1 0 0 ? … … 0 1 0 1 0 …

Observera att klockbitarna före och efter sekvensen ibland är kända och ibland kräver kunskap om ytterligare databitar. Längre exempel (databitar i fet stil, klockbitar i fet stil):

Data: 0 0 0 1 1 0 1 1 Klocka: ? 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

För att synkronisera regulatorn, vid läsning av data, i början av datablocket, skrivs en speciell markör, som är en hexadecimal byte A1( 10100001), i vilken strömväxlingen mellan två nollbitar (femte och sjätte) ställs in enl. protokollet utförs inte.

Ordningsnummer 1 2 3 4 5 6 7 8 Data: 1 0 1 0 0 0 0 1 ? Dataklocka: ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ Signalnivå: ‾‾|_______|‾‾‾‾‾|_______|‾‾‾‾‾|___?... Synkrobeat: ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ Det finns ingen växling i denna cykel ^

Sekvensen av signalnivåer som erhålls på detta sätt (4 halvcykler av en nivå - 3 halvcykler av en annan - 4 halvcykler av initialnivån - 3 halvcykler av en annan), å ena sidan, motsäger inte villkoret som krävs av protokollet ("signalnivån kan förbli oförändrad i högst 4 halvcykler") och å andra sidan inträffar den aldrig i en ström av normal skriftlig data (där signalen som motsvarar denna bit sekvensen ska se ut som 4-3-2-2-3). Uppgiften underlättas ytterligare av det faktum att flera sådana markörsekvenser är placerade efter varandra, i vilket fall den bit som markerats med ett frågetecken är känd och lika med 1. För att sålunda detektera markören i den inkommande växlingsströmmen är tillräckligt för att spåra flera repetitioner av sekvensen av varaktigheter 4-3- 4-3-2 utan att behöva analysera de individuella bitarna.

Applikation

Se även

Anteckningar

  1. Miller kodare/avkodare . Hämtad 26 juli 2017. Arkiverad från originalet 16 augusti 2015.

Litteratur