130 likes | 259 Views
Vývoj a základy Automatizace. 11. Grayův kód. Grayův kód.
E N D
Vývoj a základy Automatizace 11. Grayův kód
Grayův kód • Grayův binární kód (původně nazvaný zrcadlový binární kód) je binární kód, u kterého se dvě po sobě jdoucí číselné hodnoty liší vždy pouze v jednom bitu. Grayův kód je příkladem neváhového binárního kódu. Motivací pro vznik tohoto kódu bylo vyloučení výskytu chybné hodnoty při přechodu mezi dvěma po sobě jdoucími stavy.
U standardního binárního kódu se při přechodu mezi některými po sobě jdoucími číselnými stavy mění hodnoty více než jednoho bitu. Například při přechodu mezi sedmičkou a osmičkou se mění hodnoty čtyř bitů současně. • Vzhledem k tomu, že se vnitřní klopné obvody logického obvodu překlápí s konečnou rychlostí, nelze v reálném systému zaručit, aby se změnilo více logických úrovní na výstupu obvodu v přesně stejný okamžik. • Při použití Grayova kódu se toto nestane. Grayův kód
Dnes se Grayův kód používá mimo jiné pro usnadnění opravy chyb v digitální komunikaci, kde se využívá v některých digitálních modulačních schématech (např. QAM). • Grayovým kódem se rovněž můžete setkat u některých snímačů polohy nebo natočení, kde se tímto způsobem eliminuje detekce chybné hodnoty při přechodu mezi dvěma sousedními polohami. Grayův kód
V tabulce jsou uvedeny hodnoty dekadických čísel vyjádřených ve 2bitovém, 3bitovém a 4bitovém Grayově kódu. Obecně n-bitový Grayův kód je možno generovat různými způsoby. Jednou z možností je generovat jej rekurzivně z (n-1)bitového Grayova kódu. • Jako základ vezmeme hodnoty (n-1)bitového Grayova kódu (můžeme začít 1bitovým Grayovým kódem, který tvoří prvky 0 a 1). Grayův kód
Provedeme zrcadlení prvků, tj. na konec seznamu kódů připojíme stejný seznam s opačným pořadím prvků. • K prvkům z první poloviny seznamu kódů (tj. k prvkům, které tvoří původní (n-1)bitový Grayův kód) přidáme na pozici nejvýznamnějšího bitu nulu, k prvkům z druhé poloviny seznamu kódů přidáme na pozici nejvýznamnějšího bitu jedničku. Grayův kód
Vyjádření dekadických čísel ve 2bitovém, 3bitovém a 4 bitovém Grayově kódu Grayův kód
Generování n-bitového Grayova kódu Grayův kód
Převod mezi binárním kódem a Grayovým kódem • Číslo vyjádřené v binárním kódu lze převést do Grayova kódu s využitím logických funkcí XOR, a to následujícím způsobem: • Nejvýznamnější bit (MSB) binárního kódu je shodný s nejvýznamnějším bitem Grayova kódu. • Hodnotu druhého nejvýznamnějšího bitu (MSB-1) Grayova kódu získáme jako výsledek logické funkce XOR prvního (MSB) a druhého (MSB-1) nejvýznamnějšího bitu binárního kódu. Grayův kód
Podobně hodnotu bitu MSB-n Grayova kódu získáme jako výsledek logické funkce XOR bitu MSB-n+1 a bitu MSB-n binárního kódu. • Výsledkem logické funkce XOR (⊕) je log. 1 pouze v případě, že obě vstupní proměnné nabývají rozdílných hodnot. Grayův kód
Příklad: • Převeďte číslo 10110 vyjádřené v binárním kódu (jedná se o dekadické číslo 22) do Grayova kódu. • Binární číslo 10110 by tedy v Grayově kódu bylo reprezentováno kódem 11101. Grayův kód
Použitá literatura: • http://mikrokontrolery-pic.cz/zaciname/cislicova-technika/binarni-bcd-kody/ Grayův kód