4.7.1. Шифраторы и дешифраторы. Основными видами преобразования информации являются шифрование и дешифрование (сжатие данных и обратное преобразование). Для реализации таких преобразований служат шифраторы и дешифраторы. Они представляют собой комбинационные устройства, поскольку состоят только из логических элементов, а элементов памяти не имеют. Шифраторы преобразуют код «1 из N» в двоичный код, а дешифраторы — двоичный код в код «1 из N». Число разрядов двоичного кода обычно меньше N, поэтому операцию шифрования можно считать сжатием данных. Иными словами, шифратор превращает сигнал 1 на одном из нескольких входных зажимов в выходную кодовую комбинацию. Поэтому для шифратора используется также название «кодер», а на его условном обозначении пишут буквы CD. Дешифратор превращает комбинацию из нулей и единиц на входе в сигнал 1 только на одном единственном из нескольких выходных зажимов. Поэтому для дешифратора используется также название «декодер», а на его условном обозначении пишут DC.
Как и для других комбинационных устройств, для шифраторов и дешифраторов связь между входными и выходными сигналами можно задать с помощью логических функций или таблиц истинности. Для синхронизации выходных сигналов этих преобразователей тактовыми импульсами используют дополнительные входы. В этом случае преобразователи называют стробируемыми. Стробирование — это выделение сигнала в определенный момент времени. Наличие входов стробирования расширяет функциональные возможности шифраторов и дешифраторов.
Дешифраторы широко применяются в устройствах управления, вывода информации на цифровые индикаторы, в коммутаторах для распределения сигналов по различным цепям.
Различают полные и неполные дешифраторы. Число выходов у полного дешифратора NBbIX = 2n, а у неполного NBblx < 2n, где п — число двоичных разрядов (число входов). На рис. 7.22, а приведено условное графическое обозначение полного стробируемого дешифратора «1 из 8», а табл. 1 представляет собой его таблицу истинности.
Существуют два способа стробирования дешифраторов: введением дополнительного входа в каждый элемент и блокированием всех элементов через одну из входных цепей.
С помощью дешифраторов в вычислительных устройствах могут быть реализованы различные логические функции, а также преобразование кода одного типа в код другого типа. В качестве примера приведена таблица истинности преобразователя двоично-десятичного кода в код «3 из 5» (табл. 2). Такой преобразователь имеет четыре входа (а при необходимости стробирования — пять) и пять выходов (v, w, х, у, z). В любой выходной кодовой комбинации (т.е. при любом входном сигнале) всегда будут три единицы и два нуля. Данный код способен выявить одиночную ошибку при передаче. Если из-за какой-то случайной причины (помехи) устройство, принимающее такой код, выявит наличие большего или меньшего числа единиц, то станет ясно, что вкралась ошибка. Существуют специальные коды, не только выявляющие ошибку, но и определяющие разряд, в котором она имеется.
Шифратор — это комбинационное устройство, преобразующее код «1 из N» в двоичный код. Полный шифратор имеет 2n входов и п выходов. Одно из основных применений шифратора — ввод данных с клавиатуры, при котором нажатие на клавишу с десятичной цифрой должно приводить к передаче в устройство этой цифры в двоичном коде. При нажатии любой из десяти цифровых клавиш единица появляется только на одном из десяти входов шифратора Х0, Х1, …, Х9. На выходе шифратора должен появиться двоичный код (у0 ух у2 y3) введенного десятичного числа. Из таблицы истинности (табл. 3) видно, что в этом случае нужен преобразователь с десятью входами и четырьмя выходами, т.е. так называемый шифратор «10 — 4».
На выходе у0 единица должна появиться при нажатии любой нечетной клавиши (Х1, Х3, Х5, Х7, Х9), т.е. у0 = Х1 v Х3 v Х5 v Х7 v Х9. Состояние остальных выходов определяется следующими логическими функциями:
y1 = Х2 v Х3 v Х6 v Х7; у2 = Х4 v Х5 v Х6 v Х7; у3 = X8 v Х9.
Следовательно, для реализации указанного шифратора понадобятся четыре логических элемента ИЛИ: пятивходовый, два четырехвходовых и двухвходовый.
4.7.2. Аналого-цифровые преобразователи. Аналого-цифровой преобразователь (АЦП) предназначен для автоматического преобразования (измерения и кодирования) непрерывно изменяющихся во времени (т.е. аналоговых) величин в соответствующие значения числовых кодов. В данном случае под словом «цифра» понимается двоичный код. Когда говорят о цифровой звукозаписывающей и воспроизводящей аппаратуре или о цифровой телефонии, то подразумевают, что непрерывно изменяющийся звуковой сигнал записывается или передается оцифрованным, т.е. в виде двоичных (бинарных) кодов.
В зависимости от способа преобразования АЦП подразделяют на последовательные, параллельные и последовательно-параллельные. На рис. 3 показана схема АЦП последовательного типа.
По команде «Пуск» цифровой автомат ЦА вырабатывает последовательность двоичных чисел, которые поступают на вход цифро-аналогового преобразователя ЦАП, вырабатывающего напряжение UЦАП, соответствующее каждому входному двоичному сигналу. Это напряжение (непрерывно растущее, пока работает ЦА) подается на один из входов компаратора К, на другой вход которого поступает входное напряжение UВХ. Компаратор сравнивает эти два напряжения и выдает сигнал при их равенстве. По этому сигналу ЦА останавливается, а на его выходе фиксируется двоичный код, соответствующий UВХ. Таким образом, преобразование в последовательном АЦП происходит в ступенчатом режиме. Выходное значение отдельными шагами (тактами), т.е. последовательно, приближается к измеряемому значению. Поэтому последовательные АЦП на каждое преобразование аналогового сигнала затрачивают много времени. Для повышения их быстродействия используется метод поразрядного уравновешивания.
Роль цифрового автомата выполняет регистр Рг с датчиком тактовых импульсов ДТИ. Считывание выходного кода происходит по сигналу схемы готовности данных СГД, который подается при поступлении сигнала от компаратора К о равенстве входного напряжения UBX и напряжения UЦАП. Работа компаратора синхронизирована импульсами ДТИ. Эти же импульсы последовательно переводят разряды регистра Рг в состояние 1. Перевод начинается со старшего разряда, а младшие остаются в состоянии 0. При этом ЦАП вырабатывает соответствующее напряжение, которое сравнивается в компараторе К с входным. Если UЦАП > UBX, то по команде компаратора старший разряд сбрасывается в состояние 0; если UЦАП < UBX, то в старшем разряде остается 1. Затем в состояние 1 переводится следующий по старшинству разряд Рг и снова производится сравнение напряжений UЦАП и UBX. Цикл повторяется до тех пор, пока не будет зафиксировано равенство указанных напряжений при переводе в состояние 1 какого-то из младших разрядов. После этого СГД подает сигнал о выдаче выходного кода. Число циклов сравнения в таком АЦП будет равно числу разрядов выходного кода.
Наиболее быстродействующими являются АЦП параллельного типа. Преобразование аналогового сигнала в код в них осуществляется за один шаг, но такие АЦП требуют нескольких компараторов. Входное напряжение одновременно сравнивается во всех компараторах с несколькими опорными напряжениями. Параллельные АЦП имеют большее число элементов, чем последовательные.
Рассмотрим работу параллельного трехразрядного АЦП (рис. 5). Тремя двоичными разрядами можно представить восемь чисел — от 0 до 7. Поэтому используются семь компараторов для сравнения входного напряжения с опорными напряжениями, получаемыми с помощью резисторного делителя. От каждого компаратора поступает сигнал 0, если входное напряжение меньше опорного, и 1 — в противном случае.
Преобразователь кода выдает двоичное трехразрядное число. Время преобразования параллельных АЦП может составлять несколько десятков наносекунд, что в сотни раз быстрее, чем у последовательных АЦП.
Аналого-цифровые преобразователи используются для преобразования звуковых аналоговых сигналов в цифровой телефонии, цифровой записи звукового сопровождения в компьютерных играх, записи речи и музыки в цифровом формате и последующего воспроизведения аудио- и видеоинформации не только на соответствующих цифровых проигрывателях, но и с помощью компьютеров.
Стандартный цифровой канал с пропускной способностью 64 Кбит/с разработан и уже широко используется прежде всего для передачи в реальном масштабе времени речи, т.е. аналоговых сигналов в полосе частот 0,3...3,4 кГц. Чтобы указанные сигналы преобразовать в цифровой поток со скоростью передачи информации по каналу связи 64 Кбит/с, осуществляют три операции: дискретизацию, квантование и кодирование. Такие же преобразования используются и для компьютерной телефонии.
В цифровой телефонии достоинства цифрового сигнала проявились особенно ярко. Сам метод преобразования аналогового сигнала получил название импульсно-кодовая модуляция (ИКМ). Аппаратура ИКМ позволяет по одной паре проводов передавать практически одновременно сотни и тысячи телефонных разговоров. При этом необходимо решать проблемы управления таким процессом передачи информации. Каждую семиразрядную комбинацию сопровождает восьмой импульс, используемый для управления. Таким образом, скорость передачи сообщений в стандартном цифровом канале В =64 Кбит/с.
Для повышения точности аналого-цифрового преобразования телефонных сигналов используется неравномерное квантование.
В общем случае точность аналого-цифрового преобразования тем выше, чем меньше размер шагов квантования, поскольку расстояние между соседними уровнями и есть размер шага квантования.
Для исходных сигналов малой величины относительная величина ошибки очень велика. Например, исходный сигнал, равный половине напряжения первого уровня, после квантования будет передаваться как сигнал 1-го уровня, в результате чего относительная ошибка составит 50%. Поэтому при аналого-цифровом преобразовании телефонного сигнала применяется неравномерное квантование.
В цифровых системах передачи (ДСП) применяются сегментные неравномерные характеристики квантования, поскольку они достаточно просто реализуются на цифровой основе.
В цифровой телефонии используется понятие отношение «сигнал—шум квантования» (ОСШК). Величину ОСШК измеряют в децибелах (дБ). В системах ИКМ с равномерным квантованием кодовое пространство используется весьма неэффективно: для малого сигнала ОСШК составляет 26 дБ, а для сигнала с максимальной амплитудой — 56 дБ.
При неравномерном квантовании ОСШК одинаково для всех уровней сигналов. При неодинаковых размерах шагов квантования между кодовыми комбинациями и соответствующими им значениями амплитуд импульсов существует нелинейное соотношение.
Нелинейное преобразование аналогового сигнала в цифровой при неравномерном квантовании называют компрессированием, а обратное нелинейное преобразование на приемной стороне, при котором аналоговый сигнал восстанавливается из цифрового, называют экспандированием. Процесс, при котором сначала осуществляется компрессирование, а затем экспандирование сигнала, носит название компандирование.
По мере распространения компьютеров возникла необходимость быстрой передачи информации между ними. Сложнее всего оказалось связать компьютеры, расположенные на большом расстоянии друг от друга. Прокладка специальных линий связи представлялась очень дорогой. В то же время уже существовала телефонная сеть, охватывающая весь земной шар. Однако телефонные каналы позволяют передавать только аналоговый сигнал, компьютер же работает только с дискретным (цифровым) сигналом.
Поэтому были разработаны специальные устройства, предназначенные для преобразования дискретных (цифровых) сигналов в аналоговую форму, передачи полученного сигнала по телефонной линии и приема аналогового сигнала из телефонной линии с последующим преобразованием его в цифровую форму для подачи в компьютер (рис. 6). Такое устройство получило название «модем». На рис. 6 показана общая схема соединения компьютеров при помощи модема.
4.7.3. Цифроаналоговые преобразователи. Цифроаналоговый преобразователь (ЦАП) предназначен для автоматического преобразования (декодирования) входных величин, представленных числовыми кодами, в соответствующие им значения непрерывно изменяющихся во времени (т.е. аналоговых) величин. Иными словами, ЦАП выполняет обратное по сравнению с АЦП преобразование. Выходные физические величины АЦП чаще всего представляют собой электрические напряжения и токи, но могут быть также временными интервалами, угловыми перемещениями и т.п. В системе автоматики с ЭВМ удобнее обрабатывать (преобразовывать и передавать) цифровой сигнал, но человеку (оператору) привычнее и удобнее воспринимать аналоговые сигналы, соответствующие значениям числовых кодов. С помощью АЦП информация вводится в ЭВМ, а с помощью ЦАП она выводится из ЭВМ для воздействия на управляемый объект и восприятия человеком.
В схемах ЦАП обычно используется представление двоичного числа, состоящего из нескольких разрядов, в виде суммы степеней числа 2. Каждый разряд (если в нем записана единица) преобразуется в аналоговый сигнал, пропорциональный числу 2 в степени, равной номеру разряда, уменьшенному на единицу.
На рис. 7 показана простая схема ЦАП, основу которой составляет резистивная матрица — набор резисторов, которые подключаются ко входу операционного усилителя ключами, управляемыми соответствующими разрядами двоичного числа. В качестве ключей могут быть использованы триоды (например МДП-транзисторы). Если в данном разряде записана 1, то ключ замкнут, если 0 — разомкнут.
Операционный усилитель — это аналоговое устройство (в отличие от всех других рассматриваемых в данной главе устройств, которые являются цифровыми, или дискретными). Необходимость в нем обусловлена тем, что в ЦАП выходной сигнал является аналоговым. И входной, и выходной сигналы операционного усилителя представляют собой напряжения постоянного (в смысле неизменной полярности) тока. Отношение выходного напряжения к входному называется коэффициентом передачи. Операционный усилитель является основным элементом для построения аналоговых вычислительных машин. Подсоединяя к нему определенным образом резисторы и конденсаторы, можно обеспечить различные функциональные зависимости выходного сигнала от входного. При использовании операционного усилителя в схеме ЦАП необходимо, чтобы такая зависимость была строго пропорциональной.
Компараторы
Для сравнения двух сигналов используются компараторы (от англ/ compare — сравнить). Они позволяют дать ответы на вопросы, равны или не равны два сигнала; если не равны, то какой из этих сигналов больше. Для сравнения двух двоичных чисел нужен цифровой компаратор. Связь между сигналами на выходах и входах компаратора при сравнении одноразрядных чисел а и b, которые могут быть равны 1 или 0. На соответствующем выходе появляется логическая 1, когда в указанном соотношении находятся сигналы на входах. Так, если а = 1, b = 1 (числа одинаковы), то функция, характеризующая равенство чисел, Fa=b = 1, а функции, характеризующие их неравенство, Fa>b = 0 и Fa<b = 0.