Основы работы с серым кодом

Основы работы с серым кодом
Основы работы с серым кодом
Anonim

Серый код

Быстрое и удобное обновление Grey Codes.

Что такое серые коды »// en.wikipedia.org/wiki/Frank_Gray_(researcher)« target = "_ blank"> Фрэнк Грей, который описал это в своем заявлении на патент 1947 года на Pulse Code Communication. Он не назвал его «серым кодом», но отметил, что не было имени, связанного с новым кодом, и называл его бинарным отраженным кодом для того, как он определял группировки и числовые представления. Когда патент был предоставлен в 1953 году, другие начали ссылаться на схему кодирования как на серый код. Кодирование использовалось в некоторых приложениях до получения патентов Грея, но Фрэнк Грей первым документировал код и как его разрабатывать с использованием метода «отражения» в патентной заявке

Серый код не взвешен, столбцы битов не отражают неявный базовый вес, как это делает система двоичных номеров. В системе двоичных номеров наименее значимый бит (самый правый) столбец взвешен как 2 ^ 0 (1); второй столбец 2 ^ 1 (2); третий 2 ^ 2 (4) и т. д., причем каждый столбец представляет основание, поднятое до степени. Конечное значение определяется умножением бит на вес столбца и добавлением результатов столбца, поэтому в двоичном формате 4-битное число «0011» представляет 1 * 2 + 1 * 1 = 3. Столбцы в коде серого являются позиционными, но не взвешенный, и поскольку Gray Code является числовым представлением схемы циклического кодирования, где он будет перевернуться и повторится, он не подходит для математических операций. Серийные последовательности кода должны быть преобразованы в двоичную или двоичную кодированную десятичную (BCD), если они используются в математических вычислениях или для отображения.

Элемент единичных далеких кодов с минимальным изменением, когда только один бит последовательности изменяется по мере того, как числовые числа прогрессируют, Серые коды обеспечивают большую гибкость в отношении несоосности и синхронизации, поскольку они ограничивают максимальную ошибку чтения одной единицей. Это свойство также делает их полезными в схемах обнаружения ошибок. Лучше, чем проверка на четность, системы связи используют Gray Codes для обнаружения неожиданных изменений данных. Если биты в количестве суммируются, сумма следующего числа должна только изменяться на единицу с суммой, чередующейся четной и нечетной.

Сравнение первых десяти чисел в десятичном, двоичном и сером кодах показано в таблице 1.

Таблица 1. Десятичные, двоичные, серые коды

Десятичный (основание 10) Двоичный (основание 2) Двоично-отраженный (без базовой)

0 0000 0000

1 0001 0001

2 0010 0011

3 0011 0010

4 0100 0110

5 0101 0111

6 0110 0101

7 0111 0100

8 1000 1100

9 1001 1101

10 1010 1111

Запатентованный код

Оригинальная патентная заявка Фрэнка Грея ввела код в отношении маскировочной маски для развертки катодного луча, чтобы устранить ошибки из-за механики развертки. В патенте Грей ссылался на двоичную систему чисел как на обычную двоичную систему, чтобы отличить свою кодирующую маску от тех, которые в настоящее время используются. Коды импульсов были результатом амплитуд сигнала выборки и группирования полученных импульсов включения / выключения в ряд двоичных групп. Серый назвал код двоичным n-значным кодом, потому что группы могут быть битами 4, 5, 7 или любым числом n. При разном количестве битов в группе и перестановках битов код может создавать различные реализации.

В патенте подробно описывается проблема с использованием обычной двоичной нотации для маски. В двоичной системе переход от числа 7 к 8 (с шагом в 1 единицу) потребовал, чтобы все биты, представляющие число, изменились: 0111 стало 1000. Приятно предположить, что каждый бит в группе меняет состояние в одно и то же время, но с механические системы, которые могут быть не в зависимости от индивидуальных механических ответов и времени циклов считывания. Операция чтения при изменении битов может привести к плохим данным. В случае, когда 7 увеличивается до 8, изменяющиеся биты могут отражать число от 1111 до 0000 в зависимости от индивидуальных бит-переходов и когда бит считывается.

Хотя в патенте упоминается, что проблема с одновременным изменением всех цифр может привести к ошибкам, выходящим за пределы присущих ошибкам с контролем пучка катода, эта же ситуация может вызвать ошибки, когда временная задержка или механический отклик могут привести к неправильным показаниям. Например, если используются механические переключатели, могут возникать проблемы с debouncing или фактическим временем при установке на 0 или 1. Простое время, достаточное для того, чтобы быть уверенным, что все пройденные механики могут серьезно повлиять на сроки и могут быть невозможны в зависимости от системных требований.

С кодом серого, где только один из битов изменяется для каждого перехода, вероятность такой ошибки уменьшается. Начиная с 7 до 8 в коде с двоичным отраженным серым цветом (BRGC), последовательность бит изменяется с 0100 до 1100. В любой момент число считываний равно 7 или 8, так как остальные биты остаются неизменными. Возможность минимизации неверных значений из-за множественных изменений битов; В худшем случае значение может быть отключено на единицу.

Любой код с этим свойством изменения единицы называется Gray Code. Концепция существовала до патента Грея. Французский инженер, ответственный за Кодекс Бодо, Émile Baudot использовал его в телеграфной демонстрации в 1878 году, но патент Грея документировал шаги для определения конкретного порядка кодирования.

Разработка кода

Отраженный двоичный код, указанный Фрэнком Грей в его патентной заявке, определяется с использованием следующих шагов:

Начиная с бит в первом столбце:

0

1

Возьмите отражение, как будто зеркало удерживается до колонны:

0

1______mirror

1

0

Это приводит к столбцу с 4 входами, но первый и последний те же, что и средние, поэтому добавляются еще один столбец и альтернативные биты:

00

01

11

10

Затем задумайтесь:

00

01

11

10______mirror

10

11

01

00

и добавьте еще один столбец с альтернативными битами:

000

001

011

010

110

111

101

100

и он продолжается.

Серый код полезен, когда быстро меняющиеся значения могут приводить к ошибкам из-за аппаратных и сопрягаемых ограничений. Многие ротационные механические и оптические кодеры предлагают выходы Gray Code, такие как Electrocam, Mouser и Digi-Key.

Ниже приведено описание колеса кодирования серого кода. Каждая позиция на диске соответствует двоичной последовательности с изменением только одного бита. Обычный двоичный код имеет черный шрифт, а серый код - красный.

Пользы

Серые коды вышли за рамки кодирования, задокументированные в патенте; Серые коды теперь включены в системы, где однобитовое обнаружение полезно.

В самолетах, где альтиметры обычно являются механическими, диск кодирования, синхронизированный с циферблатами, может выдавать тип вывода Gray Code (код Gillham) для отправки транспондеру для обработки. Этот специализированный код отражает однобитовое изменение для каждого 100-футового приращения, позволяющего отслеживать высоту.

В картах Карно (K-карты), графическом инструменте, который используется для упрощения цифровых схем и определения потенциальных условий гонки, переменные расположены в порядке серого кода. K-карты были разработаны в 1954 году Морисом Карно (другим исследователем в Bell Labs) в качестве уточнения диаграмм Вейча Эдварда Вейча. K-карты обычно использовались цифровыми дизайнерами до того, как были доступны компьютеры и инструменты автоматического проектирования. Для получения дополнительной информации о Карно Картах, ознакомьтесь с нашей страницей учебника по картам Карно или нашей статьей на карте Карно. Булевская алгебраическая методика упрощения.

Другие серые коды

Термин Grey Code расширился, включив любую схему удаленного кодирования. В дополнение к упомянутым выше, другие коды Grey, разработанные для конкретных ситуаций, включают:

n-ary Grey Code, где включены небулевые значения, например последовательности из 1, 2, 3.

Два мерных (n, k) -Gray Codes, используемых для исправления ошибок.

Сбалансированные серые коды, где все коэффициенты пересчета равны (n должно быть степенью 2).

Беккет-Грей Код, названный в честь ирландского драматурга Сэмюэля Беккета, который интересовался исполнителями ордена, вышел и вышел из сцены.

В теории графов коды змеи в коробке (змеи) и коды катушки в коробке (катушки) называются «серыми кодами», поскольку они обнаруживают ошибки однобитового кодирования.

В роторных системах однодорожечные серые коды (STGC) используются для определения контактов с вращающимися дорожками.

Резюме

Хотя они были разработаны для конкретного приложения, Gray Codes, схемы кодирования, где биты, представляющие число, отличаются только одним битом между числом до и после, нашли применение в ротационных и оптических кодах, обнаружении ошибок и картах Карно. При изменении только одного бита при продвижении числа, минимизируются механические и временные проблемы, которые могут вызвать ошибки чтения. Многие роторные кодеры и системы сбора данных предлагают выходы Gray Code.