Й.Янсен Курс цифровой электроники. Том 1. Основы цифровой электроники на ИС (1987) (1092081), страница 25
Текст из файла (страница 25)
В ЭВМ специальная программа, называемая компилятором, преобразует текст, написанный на таком языке высокого уровня, в простой машинный язык, элементами которого являются нули и единицы. В результате ЭВМ эффективно заменяет человека на трудоемкой и длительной операции кодирования информации. Ниже мы рассмотрим более подробно некоторые широко распространенные коды. 3.6. Двоично-десятичные коды Из двоичных кодов наиболее известным является код ВСР (сокращение от словосочетания В1пагу-Собеб-Рес!гпа1з — двоично-кодированные десятичные цифры), который применяется, в частности, в декадных счетчиках, частотомерах и других цифровых приборах в сочетании с 7-сегментными индикаторами. В ВСР-коде каждая десятичная цифра задается группой из 4 двоичных цифр, или битов.
Веса, т. е. величины, на которые мы должны умножать биты, являются степенями основания, равного 2. ВСР-код десятичных цифр определяется по правилам перехода от десятичных к двоичным числам, На рис.3.!б,а двоично- 14Е Глава 8 десятичный код приведен в табличной форме. В верхней части таблицы указаны веса битов, т, е, степени 2. С помощью 4 битов можно обозначить 16 различных конфигураций, из которых для ВСР-кода используется только 10. Отдельные цифры каждого десятичного числа можно представить 4-разрядными группами. Например, число 526 записывается с помощью последовательности двоичных цифр, как показано на рис. 3.15, б.
ВЮ гене лае эаеене Аесеет Лес Рис. 3.15. Регулярный двоична-десятичный код (ВС0) (а), десятичное число, представленное в этом коде тремя группами по четыре разряда в каждой (б) и код Эйкена (в]. Если степени числа 2 расположить другим способом, то, хотя в результате и получится также двоично-десятичный код, теперь он будет уже «нерегулярным».
Примерами такого кода являются код 4221 и код 2421 (код Эйкена). Преобразования в этих двоично-десятичных кодах осуществляются достаточно просто, если известен порядок следования степеней 2. Др)тими словами, должен быть известен «ключ». Отсюда следует, что если установить вес кода некоторым произвольным образом, такой код можно характеризовать как случайный. Связывая сложным образом веса между собой, можно образовать такие секретные коды, которые не поддаются расшифровке.
Ббльшая часть двоично-десятичных кодов возникла в то время, когда для реализации логических функций использовались в основном реле. Тогда было важно разрабатывать такие релейные схемы, которые потребляли минимальную электрическую 147 Диаграилиы и коды мощность.
В связи с этим были разработаны коды, действительно способствующие экономному потреблению электроэнергии. В настоящее время этот фактор уже не играет такой роли, потому что современные цифровые схемы потребляют гораздо меньшую мощность, чем реле. К современным кодам обычно предъявляется требование максимально возможной простоты при арифметической обработке. 3.7. Код с избытком 3 Код с избытком 3 также является двоично-десятичным кодом, однако веса, соответствующие каждому биту,,в нем не являются степенями 2. К каждой группе из 4 битов, соответствующей десятичной цифре, в этом коде добавлено число 3. Для иллюстрации мы приводим на рис. 3.16, б пример числа, записанного в коде с избытком 3, рядом с которым па рис. 3.16, а приведен код в табличной форме.
При вычислении десятичного числа для группы двоичных цифр сначала производится уменьшение двоичного числа на 3, а затем результат преобразуется в десятичное число. Адаьэ Рис. 3.16. Код с избытком 3, Код с избытком 3 является самодополняющим, т. е. его верх ние 5 цифр являются зеркальным отражением нижних 5 цифр. Это видно из таблицы, представленной на рис. 3.16, а. Кроме того, каждая цифра содержит как единицы, так и нули, что создает определенные преимущества при передаче информации, поскольку десятичный нуль также представляет собой группу нулей и единиц, а это обеспечивает высокую степень надежности при детектировании кода нуля. 148 Глава 3 3.8. Код Грея Код Грея является кодом с обменом единицей, т.
е. при последовательном переходе от одной цифры этого кода к другой всегда изменяется только один из двоичных разрядов. В управляющих модулях и счетчиках этот обмен единицей имеет преимущество: команда на ввод следующего шага воздействует только на один триггер соответствующего управляю- л7е еее Рис. 3.!7. Код Грея. щего модуля или счетчика. Другое преимущество заключается в том, что здесь при декодировании триггерных состояний, как правило, не возникает никаких затруднений, связанных с помехами типа «иголки» (короткие импульсы, которые появляются на выходе в то время, когда счетчик еще не перешел в определенное состояние).
При переходе же из одного состояния в другое изменяется только один бит, после чего счетчик оказывается в следующем состоянии. т д ИИИИ ~Г зФ гЛ 77сггссрссс1сбиее«7 77сдсгюс Хсесее Е К и Е Рис, 3.18. Преобразование из двончиого или ВСЮ-кода в код Грея. Работа управляющих модулей, а также проблема генерации «иголок» рассмотрены в последующих главах. На рис. 3.17 приведена таблица для кода Грея. Преобразование регулярного двоично-десятичного кода в код Грея осуществляется довольно просто. Старший бит переходит непосредственно в соответствующий бит кода Грея, как показано на 149 Диаграммы и коды рис. 3.18.
Следующий бит из кода ВСП суммируется со старшим битом и дает второй бит ~кода Грея. В дальнейшем суммируются два следующих бита из кода ВСВ, которые дают третий бит кода Грея. Вычисление продолжается до тех пор, пока не будет определен младший бит кода Грея. лддгддя Е [О~ Е и ~ „4+4 ~1 ныл' перенос Гд1 Е Рис. 3.19. Преобразование кода Грея в двоичный или НСП-код. При преобразовании кода Грея в регулярный двоично-десятичный код ВСР сначала переносится старший бит, после чего производится вычисление по методу «диагонального» сложения битов в обеих цифровых последовательностях„как показано на рис. 3.19. Мы видим, что второй бит кода ВСР равен сумме старшего бита кода ВСЮ и второго бита кода Грея.
Такое сло- Адов Рис. 3.20. Таблииа кода Грея для чисел от О до 15 включительно. жение выполняется до тех пор, пока не будет достигнут младший бит кода ВС11. Как мы уже говорили выше, код Грея широко применяется в управляющих и контролирующих модулях. Вычисления производятся не с помощью двоично-десятичных конфигураций, т. е. Глава 8 150 4-разрядных групп, а в двоичном коде по правилам преобразования, описанным выше. Таблица кода Грея для чисел от 0 до 15 включительно приведена на рис.
3.20. 3.9. Код «1 из 1О» В случае кода «1 из 1О» в группе нз 10 битов один битвсегда равен 1. Начиная с десятичного нуля, бит, равный 1, сдвигается в таблице, показанной на рис. 3.21, на один разряд влево. алеет Рис 3 21. Код «1 из 1О». В этом коде только один разряд ка адой группы равен 1, все остальные разряды равны О. Код «1 из 1О» часто используется для сигнализации, когда требуется включить, например, только одну лампу или один светодиод из набора, содержащего 10 элементов. Этот код применяется также при сканировании последовательности, состоящей нз 10 точек. 3.10.
Двоично-пятеричный код Двоично-пятеричный код, как следует из таблицы, приведенной на рис. 3.22, является кодом «1 из 5», который применен дважды, причем со стороны старшего бита этого кода вводится 4'ееееги Рис, 3.22. Двоична-пятеричныа код. Диаграммы и коды дополнительный бит четности. Верхние элементы;кода «1 из 5» отличаются от нижних элементов шестым битом. Добавление этого бита приводит к тому, что все десятичные цифры от 5 до 9 имеют бит четности, равный О.
3.11. Заполняющий код Таблица одного из заполняющих кодов приведена на рис. 3.23. Как показано в последующих главах, счетчик Джонсона работает по этому коду. Этот счетчик легко программиру- Рнс. 323, Заполняющий нод. ется с помощью заполняющего кода. Такой счетчик состоит из сдвнгающего регистра, инверсный выход .которого связан с последовательным входом.
В начале счета отдельные триггеры регистра необходимо перевести в нулевое состояние. 3.12. 7-сегментный код для цифровой индикации Этот код применяется для представления десятичных цифр с помощью 7-сегментного индикаторного элемента, показанного слева на рис. 3,24,а. Индикаторные сегменты, обозначенные буквами А — Г, могут состоять, в частности, из светодиодов, элементов с жидкими светоотражающими кристаллами (дисплей на жидких кристаллах) или из плазменных индикаторов. При возбуждении светового излучения в сегментах на экране возникают требуемые цифры, составленные из элементов, согласно таблице, приведенной на рис.