Й.Янсен Курс цифровой электроники. Том 3. Сложные ИС для устройств передачи данных (1987) (1092083), страница 24
Текст из файла (страница 24)
Среднее время выполнения заявки на заказную ИС составляет около 3 месяцев, в то время как ППЗУ можно запрограммировать за один-два дпя. 2.13. Преобразователи кода Как мы уже отмечали, ППЗУ хорошо приспособлены для применения в качестве преобразователей кода. В ходе такого преобразования логический элемент представляет одно и-раз- Чцнкааанааонан пиявица Юхааог Вагкааог ' Я7Я7АуАраа В, В, Вг о оооо 7 О О О 7) О!О О 7 йхаа ббаично- Во када ) ооаад кооа lаан 7 7 О О Р двоичного кода рядное слово в виде другого т-разрядного слова с измененной кодовой структурой.
Пример преобразователя кода, который трансформирует 4-разрядный двоичный код в 4-разрядный код Грея, приведен на рис. 2.47. В ППЗУ двоичный код определяет- ооо ооо о о о о ага О 7 О о о 7 О О о о О 7 О 7 7 7 О 7 О 7 7 Рис. 2.47. Использование ПИЗУ в качестве преобразователи в код Грея. О О 7 О О 7 7 О о О 7 О О 7 О О о о 7 7 О 7 7 7 7 7 о 7О 7О о о о Глааа л ся методом адресации. Программируя строки матрицы в эквивалентном коде Грея, мы фактически решаем задачу преобразования. Эквивалент двоичного кода в коде Грея генерируется при обращении к соответствующему адресу.
Таким же образом осуществляется преобразование из кода Грея в двоичный код нли в ВСР-код. Подавая эквиваленты кода Грея в качестве двоичного адреса, мы программируем по строкам соответствующий двоичный код или ВСР-код. Для преобразования кода с помощью ППЗУ требуется тХ Х2" бит, где ш н и определены выше. Указанный выше преобразователь можно, например, реализовать в ППЗУ на 4р',4'= =64 бит.
Преобразователи кода с большим числом битов можно реализовать с помощью одного ППЗУ большего объема или с помощью нескольких ППЗУ меньшего объема, но связанных параллельно так, как это делается при увеличении емкости ЗУ в системах обработки данных. Например, преобразователь 8-разрядного АСС!1 в 8-разрядный ЕВСР1С можно изготовить в виде одного ППЗУ на 258Р',8 бит илн в виде четырех ППЗУ на 64Х Х8 бнт, дополнительные (старшие) входы которых декодируются н связываются с СЕ1Ь)-входами для выборки одного нз четырех ППЗУ. В другом варианте применяются восемь ППЗУ на 256Х1 бит в параллельном включении.
Здесь все выходные разряды всех ППЗУ могут быть запрограммированы так, что параллельное включение обеспечивает на выходе требуемое кодовое преобразование без всяких дополнительных схем. Достоинством этого метода является возможность исключения из преобразователя дополнительного декодера. Кроме того, многие фирмы-изготовители выпускают ППЗУ со структурой 256Х4 бнт, поэтому требуемый преобразователь проще изготовить из двух таких ППЗУ. Часто в ПЗУ требуется выполнить несколько различных преобразований.
В качестве примера назовем принтер с игольчатыми исполнительнымн элементами, который может печатать символы в матричной форме, включая арабские, иврнтские и греческие буквы. В ППЗУ этот режим осуществляется по методу управления индивидуальными ячейками. На рис. 2.48 показано ППЗУ, которое запрограммировано для выполнения преобразования 4-разридных двоичных чисел в четыре различных кода.
Два бита в адресных входах ППЗУ, т. е. старшие цифры, определяют тип конкретного кодового преобразования. Например, при А5А4=00 входной двоичный код будет преобразован в ВСР-эквивалент, а прн А5А4=01 получится преобразователь в код с избытком 3 и т. д. Заясяинв>с>ииа Встрсостев >'ЗУ) )вс до>гад преадааза- даннага нада Рднщио>>ононоу н>одно>то дход '„до!код ' Упоюйти Фдооо>у або Пртбризоданое А,. Ат ~АЗАз.а, Ас В, В6 „    Ву О 0 О 0 0 О б О О О О б 0 7 О О О О 1 >О 0 О 1 , '1 О 1 0 О О Х О 1 О О Кади УВЗГ' О 1 0 О О О О 0 0 У У 7 1 У 1 У~~ О О~к Кад ХЕРУ>уиаги > 1 Х Х= неоощеипбгнно Рис. 248.
Разлив>>ые кодовые преобразования, управляемые разрядами Аб и А4 алреса. Многие преобразователи кода поставляются в продажу в виде стандартных ИС со специфическим обозначением функции. Они входят и состав таких логических семейств„ как ТТЛ и КМОП. 2.14. Детектирование ошибок Для детектирования ошибок, возникающих при передаче данных, используются преобразователи кода особого тииа. В частности, при детектировании ошибок широко применяется система проверки на четность, с которой мы уже познакомились дкод ддоооноео код> дУ>аадгенаг ( 1 О>ОО О 1 О 1 ~0 б Х Х Х О Х Х Х 7 У О 0 ххооо>11 ХХУУООО~~ дь)) кад Кад а агдма> кар> д т т! т Глава л в предыдущей главе. В процессе передачи данных бит четности добавляется к битам передаваемых данных и передается вместе с ними.
На приемном конце линии бит четности определяетси заново и сравнивается с битом четности, который был получен на передающем конце линии. Если при атом обнаруживаются еща лдпр дытадиитиа- ниошидки Пеоедаитник туентна ВгоВные беннета о о ааааа ооооао7 о о о о о т р т т т т а т о т о о т т тттот тт т т т т т о тт т т т т тт т т т т т т тт т т т т т т то, 'а т т о о Генеоонтао бишаб иентодотни ,74етдеквар ошибки Рис, 2,49. Проверки четкости е помощью ППЗУ (МОДЕМ вЂ” МОдулирую- щее-ДЕМодулирующее устройство), ошибки, то попытка передачи повторяется.
На рис. 2.49 показано, как выглядит проверка на четкость. Мы видим, что к 7 бнт с помощью ППЗУ был добавлен бит четности. Возникшее в результате слово из 8 бит было превращено в последовательную структуру с помощью МОДЕМа, т. е. модулирующего-демодулирующего блока, и зта структура была затем передана через телекснуто или телефонную линию связи на вход приемного МОДЕМа. После детектирования набора битов и его преобразования из последовательного кода в параллельный данные были введены в ППЗУ для нового определения бита четно- Запоминающие устройства ГЗУ1 2.15.
Коррекция ошибок Выло бы гораздо эффективнее использовать прн передаче данных код, который хотя бы в какой-то степени мог корректировать сам себя. Для этой цели подходит код Хеммиига. Вэтом коде й контрольных битов добавляются к лт битам данных, дедодоееегс 1 дссегсииуое 1 де Паздное г З 4 С Нс Н тг «» тг 6 тг о о о о О 1 О о о о о ~ о 1 1 о о 1 О о о 1 1 о о 1 1 о о о о 1 о о 1 о о о з о~~ ю 1 1 ~ М О О; 12 О 1' .,1З 1 0 ' 14 1 1 15 1 0~1 1,.'О О 1~1 О'О Рис, 2.50. Таблица кода Хеимиига для т=4, й=з. сти и сравнения этого бита с тем битом четности, который был передан с данными. Из таблицы, представленной на рис. 2.49, следует, что на выходе генератора битов четности появляется 1, если число единичных битов в передаваемом слове нечетио.
Если число единичных битов четно, то бит четности равен О. Детектором ошибок является ППЗУ с 8-разрядным входом, которое запрограммировано таким образом, что его выход сразу же показывает, обнаружена ошибка или нет. Переданныи бит четности при новом определении четности такясс учитывается, и, как следует из таблицы, мы можем сразу установить. как прошла передача данных †ошибками или без них. Если число единичных битов в слове нечетно, то бит четности равен 1, и эта 1 вместе с битами данных дает при новом определении четности бит четности, равный О. Если число единичных битов в слове четно, то бит четности будет равен О, и прн новом определении, если этот О будет взят вместе с битами данных, мы снова получим О.
Таким образом, если на выходе возникает О, то можно сделать заключение, что проверка на четность прошла нормально. Глава 2 %л г та о га! юа мз о о 1 о 1 о 1 7 Рис. 2.5П Пример нрограммиронаннн ППЗУ дан кода Хемминга с 4 разрндами данных н 3 контроаьнымн раарндамн 16нтами). в этих трех битах число единиц четно, то йе=1. Второй контрольный бит й~ определяется таким же образом, однако теперь уже для битов данных лта, ига и тпо.
Наконец, третий контрольный бнт /га получается из четности битов данных гпа, т, н та (рис. 2.51). На приемном конце линии контрольные биты й определяются таким же образом и сравниваются с переданными контрольными битами. Если все контрольные биты совпадают, то на выходе всех трех схем сравнения появляются нули. В случае неравенства каких-либо битов на выходе схемы сравнения появится единица. Если мы возьмем в качестве переменных выходные сигналы схем сравнения, то для них можно будет получить таблицу истинности, причем десятичный эквивалент двоичного кода в этой таблице даст нам позицию ошибочного бита в коде.
Следует отметить, что контрольный бит Ае находится на менее значимой стороне таблицы. Иннерти- причем для того, чтобы скорректировать один бит данных, Й должно удовлетворять следующему условию: 2а~гп+А+1. Если при передаче было введено 4 бит данных, то к нпм требуется добавить 3 контрольных бита. К слову из 8 бит данных необходимо добавлять 4 контрольных бита и т. д. Пример кода Хемминга приведен в таблице, показанной на рис.
2.50. Таблица демонстрирует, как биты данных и контрольные биты распределены по определенным позициям. Три контрольных бита извлекаются следующим образом: первый контрольный бит (Ае) определяется четностью битов данных гпа, и, и ига. Если Зааомаяающие устройства (ЗУ) о ~ о о г ~ о ~ш--о --о о г г о ..г-о г г о о' ( г г о г г о о--о- г о г г о о г-..р о г о о г г г Юшубеонме набег (б Ебнпм разрубе) Юшибеоуоге.