Построение преобразователя двоичного кода в код Грея

Преобразование А(х) = (an ,..., aр ,..., a1) , где a = xp Å xp , если р = 1, 2, ..., n-1, и aр = xn , если р = n, определяет алгоритм построения кода Грея.

Код Грея используют в преобразованиях аналоговых физических сигналов в цифровые сигналы с погрешностью, не превышающей значение младшего разряда двоичного числа X.

Важно: код Грея относится к таким, в которых при переходе от любой кодовой комбинации к следующей изменяется только один разраяд. Код Грея можно получить по соотношению , где - значение разряда кода грея, - значение разряда двоичного кода, преобразуемого в код грея. Ряд левее старшего для двоичного кода считается нулевым.

Пример: Записать число в коде Грея. Перепишем это число в двоичном коде: 1010, тогда преобразование будет выглядеть следующим образом:

Х
*
Х

(*-всегда ноль). Сложив столбцы в таблице по модулю 2 и отбросив последний (где есть «Х»), получили число или двоичное 1010 в коде Грея. Оно имет значение 1111. Это можно увидеть и на временных диаграммах (рис. 6.38)

Рис. 6.38 Работа преобразователя двоичного кода в код Грея

Рис. 6.39 Структура преобразователя двоичного кода в код Грея (блок Bin_to_Gray)

Рис. 6.40 Преобразователь двоичного кода в код Грея в пакете

MAX+Plus II

Рис. 6.41 Временные диаграммы

Рис. 6.42 Матрица временных задержек

Программа:

CONSTANT t=3

SUBDESIGN preobraz_dvoich_v_kod_greay

( X[3..0] : INPUT;

Y[3..0] : OUTPUT;

)

VARIABLE q[3..0] : NODE;

BEGIN

FOR i IN 0 TO t GENERATE

X[i+1] = q[i];

END GENERATE;

q[3] = GND;

Y[3..0] = X[3..0] $ q [3..0];

END;

 

Преобразование кода Грея в двоичный код описывается выражением xp = ap Å xp+1, если р = 1, 2, ..., n-1, и x = an , если р = n. Схема преобразователя А(х) для четырехразрядных двоичных чисел Х = (x4, х3, x2, x1) показано на рис. 6.43.

Пример: Получить из числа 1011, записанного в коде Грея, его двоичное значение.

 

Тут нужно пояснить. Бинарное число в старшем разряде всегда будет иметь то значение, которое было в старшем разряде кода Грея. Остальные значения получаются после сложения по модулю 2 соответствующих разрядов (если записаны как в таблице, тогда по диагонали).

Рис. 6.43 Работа преобразователя кода Грея в двоичный код (*)

Рис. 6.44 Внутренняя структура элемента Gray_to_Bin

(преобразователя кода Грея в двоичный код)

(*) Примечание. Для получения кода Грея, из которого нужно получить двоичный код, можно воспользоваться рассмотренным в предыдущем примере преобразователем двоичного кода в код Грея (модуль Bin_to_Gray).

Рис. 6.44 Преобразователь кода Грея в двоичный код в

пакете MAX+Plus II

Рис. 6.45 Временные диаграммы

 

Рис. 6.46 Матрица временных задержек

Программа:

CONSTANT t=3;

SUBDESIGN

( X[3..0] : INPUT;

Y[3..0] : OUTPUT;

)

BEGIN

Y[3] = X[3];

FOR i IN 0 TO t GENERATE

y[t-1] = X[t-1] $ Y[t+1-i];

END GENERATE;

END;








Дата добавления: 2015-04-25; просмотров: 3009;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.