Код Грея
Код Грея предпочтительнее обычного двоичного тем, что обладает свойством непрерывности бинарной комбинации: изменение кодируемого числа на единицу соответствует изменению кодовой комбинации только в одном разряде. Он строится на базе двоичного по следующему правилу: старший разряд остается без изменения; каждый последующий разряд инвертируется, если предыдущий разряд исходного двоичного кода равен единице. Этот алгоритм построения может быть формально представлен как результат сложения по модулю два исходной комбинации двоичного кода с такой же комбинацией, но сдвинутой на один разряд вправо. При этом крайний правый разряд сдвинутой комбинации отбрасывается.
Таким образом, Грей-код является так называемым одношаговым кодом, т.к. при переходе от одного числа к другому всегда меняется лишь какой-то один бит. Погрешность при считывании информации с механического кодового диска при переходе от одного числа к другому приведет лишь к тому, что переход от одного положения к другом будет лишь несколько смещен по времени, однако выдача совершенно неверного значения углового положения при переходе от одного положения к другому полностью исключается.
Десятичный код | Двоичный код | Код Грея |
23 22 21 20 | ||
0 1 2 3 | 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 | 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 |
4 5 6 7 | 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 | 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 |
8 9 10 11 | 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 | 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 |
12 13 14 15 | 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 |
Преимуществом Грей-кода является также его способность зеркального отображения информации. Так, инвертируя старший бит можно простым образом менять направление счета и, таким образом, подбирать к фактическому (физическому) направлению вращения оси. Изменение направления счета может легко изменяться, управляя так называемым входом " Complement ". Выдаваемое значение может быть возрастающим или спадающим при одном и том же физическом направлении вращения оси.
Поскольку информация, выраженная в Грей-коде, имеет чисто кодированный характер не несущей реальной числовой информации, должен он перед дальнейшей обработкой сперва преобразован в стандартный бинарный код. Осуществляется это при помощи преобразователя кода (декодера Грей-Бинар), который к счастью легко реализируется с помощью цепи из логических элементов «исключающее или» ( XOR ) как программным, так и аппаратным способом (см. схему ниже).
Из таблицы видно, что при переходе от одного числа к другому (соседнему) лишь один бит информации меняет свое состояние, если число представлено кодом Грея, в то время, как в двоичном коде могут поменять свое состояние несколько бит одновременно. Код Грея - выход, следовательно, он никогда не имеет ошибку чтения и применяется во многих абсолютных энкодерах.
Дата добавления: 2015-03-20; просмотров: 1488;