- •Введение
- •1. Булева алгебра и логические элементы
- •1.1. Теоремы булевой алгебры
- •1.2. Простейшие комбинационные логические элементы
- •1.3. Преобразователи кодов
- •1.3.1. Преобразователь двоично-десятичного кода в двоичный код
- •1.3.2. Преобразователи двоичного кода в двоично-десятичный код
- •1.4. Дешифраторы и демультиплексоры
- •1.5. Мультиплексоры
- •1.6. Шифраторы
- •1.7. Сумматоры/вычитатели
- •2. Последовательностные устройства
- •2.1. Триггерные устройства на ис средней степени интеграции
- •2.1.1. Одноступенчатые триггеры
- •2.1.2. Двухступенчатые триггеры
- •2.1.3. Триггеры с динамическим управлением
- •2.2. Регистры на ис средней степени интеграции
- •2.3. Счетчики на ис средней степени интеграции
- •3. Схемотехника элементов кмоп бис
- •3.1. Логические элементы на моп-транзисторах
- •3.2. Cхемотехника базовых кмоп логических элементов
- •3.3. Схемотехника кмоп триггеров бис
- •Комбинированного типа
- •3.3.5. Элементы памяти, тактируемые фронтом синхросигнала
- •Схемотехника входных и буферных ячеек кмоп бис
- •4. Аналого-цифровые интегральные схемы
- •4.1. Операционные усилители
- •4.2. Принципы цифро-аналоговых преобразователей
- •4.3. Процесс преобразования аналогового сигнала в цифровой
- •4.4. Основные архитектуры аналого-цифровых преобразователей
- •Диаграмма состояний приоритетного шифратора
- •Принцип действия сигма-дельта ацп
- •4.5. Интерфейсы ацп
- •4.6. Системы сбора данных и микроконверторы
- •4.7. Параметры ацп
- •Заключение
- •Библиографический список
- •394026 Воронеж, Московский просп., 14
1.3.2. Преобразователи двоичного кода в двоично-десятичный код
Для преобразования десятичного числа представленного в двоичном коде (ДК) в двоично-десятичный код (ДДК), двоичное число, начиная со старшего разряда, вдвигается справа налево в двоично-десятичную разрядную сетку (рис.1.19). Когда какая-либо единица пересекает границу между двоично-десятичными разрядами, возникает ошибка. Например, при сдвиге двоичного числа 1000 (8) в лево, разрядное значение 1 увеличивается с 8 до 16 (10000), тогда как для двоично-десятичного числа оно возрастает с 8 до 10 (вес 8 увеличивается до веса 10). Поэтому двоично-десятичное число уменьшается как бы на 6. Следовательно, для коррекции необходимо прибавлять 6 к числу во всех случаях, когда единица пересекает границу между двоично-десятичными разрядами. К числу десятков надо прибавить 6, если единица перейдет в разряд сотен, и т.д. Составленное таким образом двоично-десятичное число имеет правильное значение, однако оно может содержать псевдотетрады. Чтобы этого не было, возникающие псевдотетрады корректируют непосредственно после каждого шага сдвига, прибавляя 6 к соответствующей декаде с переносом 1 в следующую.
На практике, перед сдвигом прибавляют 3 а не 6. Необходимость корреции определяют перед сдвигом. Если значение тетрады меньше или равно 4 (0100), то при последующем сдвиге не произойдет перехода единицы через границу между декадами и не возникнут псевдотетрады. Если значение тетрады перед сдвигом 5 (0101), 6 (0110) или 7 (0111), то также не произойдет перехода 1 через границу, поскольку старший разряд равен 0. Однако при этом возникнут псевдотетрады: 10, 12, 14 или 11, 13, 15 в зависимости от того, будет ли в младший разряд сдвинут 0 или 1. Следовательно, в этих случаях необходима коррекция псевдотетрад путем прибавления 3 перед сдвигом (рис.1.19). Для значений тетрад 8 и 9 так же необходима коррекция.
|
Рис.1.19. Идея преобразования ДК в ДДК на примере десятичного числа 218
|
Если представить передачу информации в схеме, изображенной на рис.1.13, в обратном направлении, то получим преобразователь ДК в ДДК. Из этого следует, что в качестве элементарного преобразователя кодов можно использовать преобразователь КС на сумматорах, производя в нем взаимную замену соответствующих весов, указанных на дополнительных полях (рис.1.20).
Такой преобразователь должен выполнять функцию, обратную функции (1), т.е. при , надо производить сложение числа с числом 3. Таким образом, данный преобразователь выполняет функцию (1.18) (табл.1.15):
. (1.18)
|
Рис.1.20. УГО элементарного преобразователя кодов ДК в ДДК |
На рис.1.21 показан способ преобразования ДК в ДДК с помощью комбинационной схемы. Вместо сдвига числа справо налево здесь слева направо сдвигаются границы двоично-десятичных разрядов, а каждая полученная тетрада корректируется в соответствии с табл.1.16. На вход преобразователей нельзя подавать двоичные числа 10…15, т.к. они превышают сумму весов выходных сигналов 5+4+2+1=12. Поэтому вес 8 элементарного преобразователя должен быть “заземлен”.
На рис.1.22 приведена комбинационная схема преобразователя 10-разрядного двоичного числа в 4-разрядное десятичное число, представленное в ДДК с помощью элементарного преобразователя кодов.
Правила составления преобразователя ДК в ДДК: веса разрядов входных сигналов всех преобразователей кодов должны находиться в отношении 1:2:4:8, т.к. каждый преобразователь кодов преобразует только один двоичный разряд в двоично-десятичный разряд (вес 8 изменяется на вес 5). Поэтому преобразователь ДК в ДДК имеет пирамидальную структуру. Построение пирамиды продолжается до тех пор, пока небудут получены веса , где (за исключением старшего десятичного разряда).
Таблица 1.16
Таблица переключений элементарного преобразователя (КС) для преобразований ДК в ДДК
Рис.1.21. Преобразование ДК в ДДК методом сдвига границ двоично-десятичных разрядов с лева направо с последующей коррекцией тетрад на примере десятичного числа 218
Р
Преобразователь К155ПР7 (рис.1.23 и рис.1.24) по A, B, C, D, E принимает 5-разрядный байт и преобразует его в ДДК, если G=L. При G=H выходы Q=H. На выходах Y8 и Y7 всегда H. Цифровой вес разрядов ДДК ПР7: Y1=1, Y2=2, Y3=4, Y4=5, Y5=10, Y6=20.
|
|
Рис.1.23. Преобразователь ДК в ДДК
|
Рис.1.24. Преобразователь 8-разрядного двоичного числа в ДДК |
Преобразователь ПР7 выполняет следующую функцию (табл.1.17):
Таблица 1.17
Состояния при преобразовании двоичного кода в двоично-десятичный в ПЗУ К155ПР7