BINÁRIS KÓDOK

Az abszolút értékű kódolók bináris rendszerben működnek (az "1s" és "0s" kombinációval írt számok.
Az elhelyezkedésük információit a következő bináris kódok egyikével látják el:

  • Tiszta bináris
  • B C D
  • szürke
  • Szürke felesleg

Megtekintjük ezeket a kódokat:

Tiszta bináris kód:

Ez egy számozási rendszer, amely megegyezik a tizedessel, de a 2-es bázissal. "1s" és "0s" szekvencia alkotja.
Nézzük meg, hogyan lehet a bináris számot tízes számból beszerezni:

Tegyük fel, hogy a 75-ös tizedes számot binárisra szeretnénk alakítani: A 75-ös számot elosztjuk 2-vel, és a hányadost ismét elosztjuk 2-vel. Így folytatjuk egymást egymás után, amíg a hányados nem lesz "0". Ezután a bináris számot az "1s" és a "0s" egymásutánja alkotja, amelyeket az egyes műveletek fennmaradó részeként kaptunk.

Lássuk a folyamatot:

rotációs

Ne feledje, hogy az első osztás fennmaradó része a bináris kifejezés legkevesebb számjegye (az első számjegy jobbról) és így tovább az utolsó maradékig, amely a bináris szám (az első számjegy) legjelentősebb számjegye lesz balról).

Lássuk most az ellenkező folyamatot. Konvertálni fogunk egy bináris számot a decimális rendszerben való kifejezésére. Az alkalmazandó képlet a következő:

Ahol: D = szám tizedesjegyben
Bn = Számbitek bináris formában (a 2 teljesítményének együtthatója)
n = bitek száma

Tegyük fel, hogy a következő bináris szám van: 00110111. Konvertáljuk decimálissá:

BCD kód (bináris kódolt tizedes):

Ebben a kódban a tizedes szám minden számjegye tiszta bináris formában van ábrázolva. Vagyis 4 bit esetén minden számjegy kódolása a többi számjegytől függetlenül történik.

A legegyszerűbben egy példával láthatja:

A szám decimálisban 358, a BCD-ben való ábrázolása a következő:

Tehát az első négy bit a jobb oldalon egységek; a második négy bit a tízes, az utolsó négy bit pedig a száz.

Ezért egy háromjegyű szám (decimális) írásához a BCD-hez 12 bitre van szükség. Ha a tizedesjegyű szám 5 jegyű, 20 bitre lesz szükség, stb. Stb.

Ez a kódolási rendszer nem felel meg a számok valós matematikai ábrázolásának. Ez az "1s" és a "0s" kombinációja, amelyek a változók lehetséges kombinációi.

Bizonyos számú bitből kiindulva a kombinációk Gray normái szerint készülnek.

Ennek a kódnak a fő jellemzője, hogy két egymást követő szám, bármi legyen is, csak egy bittel tér el (távolságuk "1").

Ez egy ciklikus kód is. Vagyis az első és az utolsó szám is szomszédos, vagyis csak egy bittel különböznek egymástól.

Eddig kissé összetettnek tűnik, de ragaszkodunk a magyarázathoz, hogy megpróbáljuk teljesen tisztázni.

Az alábbiakban egy táblázat látható, 0-tól 31-ig terjedő számok felépítésével, szürke kóddal, legfeljebb 5 bitig:

Amint a fenti táblázatból látható, a szürke kód szimmetrikus a megtört vonalhoz képest, annak minden bitjén, kivéve a bal oldali (Gn). Ebben az utolsó bitben a szaggatott vonal tetején levők "0", az alsók pedig "1".

Lássuk, hogyan alakult ez a táblázat:

Mivel egy bitnél csak két lehetőség van (érdemes „0” vagy „1” -t érni), ezért kódolhatjuk a 0 és az 1 számot. Ahhoz, hogy a 0-tól a 3-ig kódoljunk, kettőre van szükségünk bitek. Gray szabálya szerint a következőképpen járunk el:

A 0-tól a 7-ig történő kódoláshoz 3 bitre van szükség, és folytassa az előző lépéshez hasonlóan:

Ily módon egymás után hozzáadunk még egy bitet.

Mivel a szürke kód nem a matematikai számkifejezés, ezért mindig szükséges az Encoder által ebben a kódban megadott értékeket tiszta binárisra konvertálni, hogy elvégezhessük azokat a matematikai műveleteket, amelyek szükségesek az alkalmazáshoz, ahol az Encoder működik.

Az átalakítás elvégzéséhez a következő képletet kell alkalmazni az egyes bitek értékének kiszámításához:

Bit (n) = Bit (n + 1) XOR G (n)

Az (n) bit a bináris n-edik bitje
Az (n + 1) bit a következő bit
G (n) a szürke n-edik bitje
XOR az a logikai művelet, amelyet a bitek között hajtanak végre.

JEGYZET: A művelet XOR ez egy két bemenettel rendelkező logikai kapu, amely csak "1" -t ad a kimenetnek, ha a két bemenet különbözik. Ha a két bemenet egyenlő ("1" és "0" egyaránt), akkor a kimenet "0". A rendszer a következő:

A következő séma is megtalálható:

Ezután ezt a függvényt fogjuk alkalmazni, hogy a szürke kódban lévő számot tiszta binárisra konvertáljuk:

Nézzük meg ugyanezt a sémát egy példával. Konvertáljuk a 4. számú szürke kód (0110) kifejezését bináris kódra (0100):

JEGYZET: A legjelentősebb bit (M.S.B.) Xor-kapujának bemeneti Nº2 értékét „0” logikai szinten kell rögzíteni.

Gray Code Excess

Az előző szakaszban látható szürke kód egy olyan kódolási rendszer, amelyben két egymást követő szám távolsága 1 (ez azt jelenti, hogy csak egy bittel különböznek egymástól). Ami azt jelenti, hogy az egyik számról a másikra lépés csak egy bitet változtat.

Ez egy ciklikus kód is, mert az utolsó és az első olvasás közötti távolság 1.

Lássunk egy példát:

4 bit segítségével kódolhatja a számokat 0-tól 15-ig. A szürke kódú kifejezések mindkét esetben: 0 = 0000 és 15 = 1000

Mint láthatjuk, csak a legnagyobb súlyú bitben különböznek (balra). 15-ről 0-ra lépéshez csak 0-ra kell állítania ezt a bitet. Ezért a távolság egy és ciklikus is, mivel az utolsó számtól az elsővel változtatással adják át, csak egy bit.

Amikor a kódolót hordozó lemez pontos bináris többszörös (256, 512, 1024, 4096 vagy 8192), akkor ez megtörténik, amint azt elmagyaráztuk.

De ha az alkalmazás, ahol a kódolót használni kívánja, nem pontosan többszörös, például 360 lépés (szögpozíció-szabályozás), akkor nem lehet 360-as leolvasást tartalmazó lemezt szürke kódban elhelyezni, mivel az nem lenne ciklikus lemez, mivel a 359 és 0 pozíció közötti távolság nem egyenlő 1-vel, amint azt alább láthatjuk:

A két szám közötti különbség több mint egy bit, így a távolság nem 1, és nem léphetünk 359-ről 0-ra, ha csak egy bitet változtatunk.

A probléma megoldására kidolgozták a szürke-felesleg kódot. Ez a kód szintén szürke kód, de bizonyos számú lépést eltolt: E

Kiszámoljuk ezt az elmozdulást, E, és ellenőrizni fogjuk, hogy teljesül-e az 1. távolság és a ciklikusság két alapvető feltétele.

Az alkalmazandó képlet a következő:

Egy példával tisztábban fogjuk látni:

Tegyük fel, hogy egy 360º-os mérési tartomány E-tényezőjét akarjuk kiszámítani. Ebben az esetben az "n" paraméter a következő:

2 9 = 512 (512> 360)

Az R tényező 360, ezért kiszámíthatjuk az E értéket:

Így az elmozdulás ebben az esetben 76. Ezért a mérési tartomány 76 és 435 között lesz (ami 360 osztás; ugyanaz, mint 0 és 359 között).

Az Encoder jel vevőjének (amely a szürke lemezt hordozza - a 360 osztás több mint 76 része) ki kell vonni 76-ot minden egyes olvasatból, amellyel megismerheti a helyes olvasást.

Sajnos még nincsenek hozzászólások.