Codul gri este sistemul numeric. în care două valori vecine diferă doar într-o singură cifră. Practica cea mai frecvent utilizată este codul gri binar reflexiv. deși în cazul general există un set infinit de coduri gri pentru sistemele numerice cu orice bază. În majoritatea cazurilor, termenul "cod gri" înseamnă exact codul binar gri reflexiv.
Inițial destinat să protejeze împotriva declanșării false a comutatoarelor electromecanice. Astăzi, codurile Gray sunt utilizate pe scară largă pentru a simplifica detectarea și corectarea erorilor în sistemele de comunicații, precum și în formarea semnalelor de feedback în sistemele de control.
Codul gri este de preferat față de cel binar obișnuit, care are caracterul de continuitate al unei combinații binare: modificarea numărului codificat la una corespunde unei modificări a combinației de coduri într-un singur bit. Acesta este construit pe baza binară conform următoarei reguli: cel mai înalt bit rămâne neschimbat; Fiecare bit ulterior este inversat dacă bitul anterior al codului binar original este unul. Acest algoritm de construcție poate fi reprezentat în mod oficial ca rezultat al adăugării unei combinații originale a unui modul binar cu o combinație originală, dar care a schimbat un bit spre dreapta. Cifra cea mai din dreapta a combinației mutate este aruncată.
Astfel, codul Gray este un așa-numit cod într-o singură etapă, deoarece Când treceți de la un număr la altul, doar un singur bit se modifică întotdeauna. Eroarea în citirea informațiilor de pe disc de cod mecanic în timpul tranziției de la un număr la altul va avea ca rezultat doar prin faptul că trecerea de la o stare la alta va fi mutat doar ușor în timp, cu toate acestea, emite o valoare complet greșită a poziției unghiulare în timpul tranziției de la o poziție la alta este complet eliminat . Avantajul codului Gray este și capacitatea sa de a reflecta informațiile. Astfel, inversând MSB este posibil într-un mod simplu de a schimba direcția de numărare și, astfel, selectați reală (fizică) rotație direcția axei. Schimbarea direcției contului se poate modifica cu ușurință prin controlul așa-numitului "Complement" de intrare. Valoarea de ieșire poate fi resetabilă sau descrescătoare pentru aceeași direcție de rotație a axei fizice.
Având în vedere că informațiile exprimate în cod Gray, este pur și simplu un caracter codificat nu se transportă informația numerică reală, el trebuie, înainte de prelucrare ulterioară mai întâi transformată într-un cod binar standard de. Acest lucru se realizează prin intermediul unui convertor de cod (Decoder Gray Binar), care din fericire realiziruetsya cu ușurință printr-un lanț de porți „XOR» (XOR) din ambele metode software și hardware (vezi. Schema de mai jos).
Tabelul arată că în tranziția de la un număr la altul (vecine), doar un singur bit de stat se modifică în cazul în care numărul reprezentat de codul Gray, în timp ce, în cod binar poate schimba sale multiple de biți de stat simultan. Codul Gray este o ieșire, de aceea nu are niciodată o eroare de citire și este utilizat în multe encodere absolute.
Biții care își schimbă starea, atunci când merg de la un număr la altul, sunt marcate în roșu.
Utilizați această schemă pentru a transforma codul gri în cod binar.
Notă:
* Codul Gray poate fi convertit logic în cod binar când terminalul Vin este conectat la 0 V.
** Invertor
*** Exclusiv sau
Ca de obicei un singur pas cod Gray pentru permise, care poate fi reprezentat ca un număr ridicat la puterea 2. În cazul în care este necesar să se pună în aplicare alte rezoluții din codul convențional gri, tăiat și de a folosi media sectorului său. Astfel, codul "un pas" este păstrat. Cu toate acestea, intervalul numeric nu pornește de la zero, ci se schimbă cu o anumită valoare. La procesarea informațiilor din semnalul generat, se scade jumătate din diferența dintre rezoluția originală și cea redusă. Astfel de rezoluții precum, de exemplu, 360 ° pentru exprimarea unghiului sunt adesea realizate prin această metodă. Deci, codul gri de 9 biți este de 512 de pași, tăiați pe ambele părți cu 76 de pași va fi 360 °.
Sistemul de măsurare al codorului absolute include un arbore rotativ montat pe doi rulmenți de înaltă precizie, un disc de cod montat pe ax, precum și procesarea semnalului de citire optoelectronică și circuitul de matrice. Sursa de lumină este un LED, ale cărui raze infraroșii luminează prin discul de cod și intră în matricea fototranzistorului situată pe partea opusă a discului de cod. La fiecare etapă a poziției unghiulare a discului de cod, secțiunile întunecate ale codului împiedică ajungerea la lumină a matricei fototranzistor. Astfel, zonele luminoase întunecate ale fiecărei piste vor fi afișate pe matricea fototranzistorului și transformate în semnale electrice. Semnalele electrice, la rândul lor, sunt pregătite de amplificatoare operaționale și triburi de ieșire pentru ieșire ca semnale binare n -bit. Modificările intensității sursei de lumină sunt înregistrate cu un senzor suplimentar și compensate de un circuit electronic.