Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Преобразователь кода Грея в двоичный код 8-4-2-1
Код Грея является циклическим кодом, который используется в системах контроля цифровых устройств, в преобразователях механических перемещений в цифровой код и т.д. Две соседние цифровые комбинации кода Грея отличаются всегда значениями только одного разряда. Такие комбинации образуют цепь длиной 2n, где n – число разрядов в коде Грея. На рис.19, а показаны кодовые комбинации цепи Грея для n = 2, которые используются для задания координат строк и столбцов карт Карно для ПФ четырех переменных (рис.19, б). Если обойти все клетки карты рис.19, б в направлении стрелки и для каждой клетки записать ее координаты x3, x2, x1, x0, получим все (24) комбинации 4-разрядного кода Грея (рис.19, в). Правая часть таблицы содержит все комбинации двоичного кода 8-4-2-1. Синтезируемый преобразователь должен формировать для каждой комбинации кода Грея соответствующую комбинацию кода 8-4-2-1.Задача синтеза сводится к синтезу системы логических функций y3, y2, y1, y0 от переменных x3, x2, x1, x0. Карты Карно для этих функций позволяют получить структурные формулы для формирования разрядов y3, y2, y1, y0 выходного кода (рис.19, г). Скобочные преобразования всех полученных по картам исходных формул (МДНФ) с использованием тождеств алгебры логики приводят к логическим выражениям на основе операции (Исключающее ИЛИ): . Структурная схема преобразователя кода Грея в двоичный код 8-4-2-1 приведена на рис.19, д, а на рис.19, е – условное графическое изображение преобразователей кода.
Узел свертки по четности Сверткой по четности цифрового кода (слова) x3, x2, x1, x0 называется логическое преобразование вида . Для n-разрядных кодов преобразование для функции p записывается аналогично. Логическая функция p является признаком четного число единиц в коде. Если число единиц четное, то p = 1, если – нечетное, то p = 0 (в истинности этого утверждения можно убедиться методом перебора вариантов). Свертка по четности очень часто используется для контроля по четности (контроля по паритету) при передаче цифровых кодов по каналам передачи данных, при чтении их из устройств памяти и т.п. Задача контроля по четности – обнаружение одиночных ошибок в принимаемом из канала связи (или извлекаемом из памяти) коде. Одиночной ошибкой является замена единицы в каком-то одном разряде нулем или - наоборот. Общая схема организации контроля по четности показана на рис.20. Источник данных для каждой кодовой комбинации (для n-разрядного цифрового слова) формирует признак четности, который в качестве дополнительного (n+1)-го разряда отправляется вместе с передаваемым словом в канал передачи данных. Передаваемое (n+1)-разрядное слово имеет всегда нечетное число единиц. Если в исходном коде число единиц было нечетным, то на выходе КС1 значение контрольного разряда p = 0 не меняет число единиц при передаче слова. Если же число единиц в исходном коде было четным, то контрольный разряд для такого кода p =1, и результирующее число единиц в передаваемом (n+1)-разрядном слове станет нечетным. На приемном конце канала от полученного (n+1)-разрядного слова снова берется свертка по четности e. Если значение этой свертки равно 1, то или в передаваемом слове, или в контрольном разряде при передаче произошла ошибка. Столь простой контроль не позволяет исправить ошибку, но он дает возможность при обнаружении ошибки исключить неверные слова, затребовав повторную передачу и т.п. Двойную ошибку контроль по четности не обнаруживает. Развитием принципа контроля по четности являются корректирующие коды, например код Хэмминга, который позволяет не только обнаруживать, но и исправлять одиночную ошибку. Возможность исправления ошибки основывается на повторенной k раз процедуре контроля по четности, но не всего слова сразу, а k определенных групп его разрядов. Слово разбивается на группы так, чтобы номер любого разряда, однозначно определялся по его принадлежности или непринадлежности к этим группам. По номерам групп, в которых обнаружена ошибка, определяется номер искаженного разряда. Исправление ошибки сводится к инвертированию искаженного бита.
Упражнения 33. Синтезировать одноразрядный арифметический полный сумматор на ЛЭ основного базиса. Оценить сложность схемы и сравнить с вариантом схемы сумматора на рис.17, д. 34. Синтезировать преобразователь двоичного кода 8-4-2-1 в код Грея на логических элементах Исключающее ИЛИ. 35. Получить логическую схему свертки по четности для байта данных. 36. Синтезировать дешифратор в соответствии с таблицей истинности на ЛЭ основного базиса: 37. а) синтезировать преобразователь кода на логических элементах основного базиса. Входной код - двоично-десятичный (двоичные 4-разрядные числа Q3Q2Q1Q0, эквивалентные десяти десятичным цифрам), выходной код – 7-разрядный код управления 7-сегментным индикатором. Система логических функций сегментов индикатора: s1 = ( 1, 4 ) + ( 10, 11, 12, 13, 14, 15 ), s2 = ( 5, 6 ) + ( 10, 11, 12, 13, 14, 15 ), s3 = ( 2 ) + ( 10, 11, 12, 13, 14, 15 ), s4 = ( 1, 3, 4, 7, 9 ) + ( 10, 11, 12, 13, 14, 15 ), s5 = ( 1, 4 ) + ( 10, 11, 12, 13, 14, 15 ), s6 = ( 1, 2, 3, 7 ) + ( 10, 11, 12, 13, 14, 15), s7 = ( 0, 1, 7 ) + ( 10, 11, 12, 13, 14, 15 ). б) убедиться в том, что полученная схема формирует символы десятичных цифр. Получить путем анализа схемы изображения формируемых символов в случае поступления на вход 4-разрядных двоичных чисел, эквивалентных шестнадцатеричным цифрам A, B, C, D, E, F. 38. Выполнить упражнение 37 при условии, что преобразователь кода формирует все шестнадцатеричные цифры при подаче на вход соответствующих им 4-разрядных двоичных кодов. Систему логических функций сегментов индикатора сформировать самостоятельно. Для построения схемы использовать дешифратор ИД3. 39. Синтезировать схему для реализации системы логических функций на 8-канальных мультиплексорах: y1( x2, x1, x0 ) = ( 5, 6, 7 ) + ( 2, 3 ), y2( x2, x1, x0 ) = ( 1, 4, 5 ) + ( 2, 3 ). 40. Синтезировать схему для реализации системы логических функций на 4-канальных мультиплексорах: y1(x3, x2, x1, x0 )= ( 9, 10, 11 ) + ( 0, 1, 2, 3, 4, 5, 12, 13, 14, 15 ), y2(x3 x2, x1, x0 ) = ( 1, 4, 5 ) + ( 2, 3 ). |
Последнее изменение этой страницы: 2017-03-15; Просмотров: 695; Нарушение авторского права страницы