- K čemu je bit parity?
- Kontrola chyb
- Příklad
- Detekce chyb
- Jak to funguje?
- Rovnoměrná metoda parity
- Neomylný
- Reference
Paritní bit je parametr s hodnotou 0 nebo 1, který je použit ve způsobu detekce chyb přenosu, ve kterém se přidává do každé skupině 7-8 bitů (byte), 0 nebo 1. Cílem je, aby každý bajt měl vždy liché celkové množství „1“ nebo sudé celkové množství „1“ podle stanovené parity.
Parita je technika detekce chyb používaná v asynchronní komunikaci. Používá se k ověření integrity každého bajtu v přenášeném proudu. Například, pokud je nastavena lichá parita, každý bajt, který je přijat z přenosu s celkovým počtem „1s“, který je sudý, musí obsahovat chybu.
Zdroj: pixabay.com
Používají se dva typy parity: sudá parita, kde je přidána parita 1 bit, pokud je v předchozím bajtu lichý celkový počet bitů „1“, a lichá parita, kde je opak. S touto metodou budete moci pouze vědět, že došlo k chybě, ale nebudete vědět, kde k chybě došlo.
K čemu je bit parity?
Při odesílání digitálních dat může dojít k chybě mezi vyslaným kódem a přijatým kódem. Existuje mnoho zdrojů chyb ve formě různých typů hluku, jako například EM nebo tepelný hluk.
Proto je nutné implementovat nějakou metodu k ověření, zda přijaté kódy nebo bajty jsou chybné nebo ne.
Jak však může příjemce vědět, zda je přijatý kód chybný nebo ne? Je nemožné, aby příjemce poznal kód před jeho přijetím.
Předpokládejme například, že odesílatel vysílá kód 01100110, ale po průchodu hlučnou linkou přijímač přijme kód 00100110. Přijímač nebude vědět, že přijal kód s chybou ve druhém bitu.
Je nemožné, aby příjemce věděl, že zpráva má chybu v prvním bitu, protože by to znamenalo, že příjemce již zná zprávu z vysílače před přenosem.
Kontrola chyb
Problém, že přijímač musí být schopen ověřit, že došlo k chybě, lze vyřešit pomocí kódování řízení chyb.
Ústřední myšlenkou kódování řízení chyb je přidat další bit do informace, která má být odeslána, aby byla chyba detekována a opravena. Existuje mnoho kódování zpracování chyb. Nejjednodušší je paritní bit.
Paritní bit se přidá do každého přenášeného bajtu. Tento bit se používá ke kontrole, zda byly informace doručeny přesně.
Paritní bit pro každý bajt je nastaven tak, aby všechny bajty měly liché číslo nebo sudý počet bitů „1“.
Příklad
Předpokládejme, že dva disky komunikují se sudou paritou, což je nejběžnější forma kontroly parity.
V závislosti na vysílací jednotce vyšle bajty a nejprve spočítá počet bitů „1“ v každé skupině sedmi bitů (byte). Pokud je počet bitů „1“ sudý, nastavte paritní bit na 0. Pokud je počet bitů "1" lichý, nastavte paritní bit na 1. Tímto způsobem bude mít každý bajt sudý počet bitů „1“.
Přijímačem je každý bajt ověřen, aby se zajistilo, že má sudý počet bitů „1“. Pokud je v bajtu nalezen lichý počet bitů „1“, bude příjemce vědět, že během přenosu došlo k chybě.
Dříve se musí přijímající subjekt i odesílatel dohodnout na použití ověření parity a zda by parita měla být lichá nebo sudá. Pokud nejsou obě strany konfigurovány se stejným smyslem pro paritu, nebude možné komunikovat.
Detekce chyb
Kontrola parity je nejjednodušší technikou pro detekci komunikačních chyb.
Přestože dokáže detekovat mnoho chyb, není neomylná, protože není schopna detekovat uspořádání, když se stejný počet bitů změní ve stejném byte elektrickým šumem.
Kontrola parity se používá nejen v komunikaci, ale také k testování paměťových paměťových zařízení. Například mnoho osobních počítačů provádí kontrolu parity vždy, když se z paměti načte bajt dat.
Jak to funguje?
Předpokládejme, že máte 7bitové datové kódy a přidává se další bit, což je paritní bit, aby vytvořil 8bitový datový kód. Lze použít dvě metody: sudá parita a lichá parita.
Jako vzorek lze použít metodu sudé parity. Udělal byste opak, kdybyste použili metodu liché parity.
Rovnoměrná metoda parity
Tato metoda naznačuje, že paritní bit, který se má přidat, musí být takový, aby celková částka "1" v konečném kódu byla sudá. Například:
Proto pro první 7bitový kód: 0010010 se sudým množstvím „1“ (2) bude přenášený 8bitový kód: 00100100 se sudým množstvím „1“ (2).
U 7bitového kódu 1110110 s lichým množstvím „1“ (5) bude přenášený 8bitový kód 11101101 se sudým množstvím „1“ (6).
Jakmile přijímač obdrží 8 bitů, zkontroluje množství „1“ v přijatém kódu, pokud je množství „1“ sudé, to znamená, že nedochází k žádné chybě, pokud je množství liché, to znamená, že chyba.
Když se vypočtená parita přijatého bajtu neshoduje s hodnotou přijatého paritního bitu, říká se, že došlo k chybě parity a normálně je bajt vyřazen.
V případě chyby přijímač upozorní vysílač, aby kód znovu poslal.
Neomylný
S těmito paritními metodami však existuje nevýhoda, pokud je kód 1110110 převeden linkovým šumem na 11111001, což způsobuje 2bitovou chybu, pak tato metoda nemůže detekovat, že došlo k chybě.
Parita je dobrá v detekci chyb a vždy detekuje jakýkoli lichý počet chyb v přijatém bajtu. Pokud však existuje sudý počet chyb, nebude paritní kontrola chybu schopna najít.
Reference
- Vangie Beal (2019). Kontrola parity. Webopedia. Převzato z: webopedia.com.
- Elektronická výzkumná skupina (2019). Parita charakteru. Převzato z: erg.abdn.ac.uk.
- Slovní zásoba (2019).. Paritní bit. Převzato z: vocabulary.com.
- Angms (2013). Nejjednodušší kód řízení chyb - Paritní bit. Převzato z: angms.science.
- Christensson, (2011). Definice paritních bitů. Techterms. Převzato z: techterms.com.