Дешифратори і шифратори
Функції дешифраторів і шифраторів зрозумілі з їх назв. Дешифратор перетворює вхідний двійковий код в номер вихідного сигналу (дешифрирует код), а шифратор перетворює номер вхідного сигналу у вихідний двійковий код (шифрує номер вхідного сигналу). Кількість вихідних сигналів дешифратора і вхідних сигналів шифратора дорівнює кількості можливих станів двійкового коду (вхідного коду у дешифратора і вихідного коду у шифратора), тобто 2 n. де n - розрядність двійкового коду (рис. 5.1). Мікросхеми дешифраторів позначаються на схемах буквами DC (від англійського Decoder), а мікросхеми шифраторів - CD (від англійського Coder).
Мал. 5.1. Функції дешифратора (зліва) і шифратора (праворуч)
На виході дешифратора завжди присутній тільки один сигнал, причому номер цього сигналу однозначно визначається вхідним кодом. Вихідний код шифратора однозначно визначається номером вхідного сигналу.
Розглянемо докладніше функцію дешифратора.

Мал. 5.2. Приклади мікросхем дешифраторів
Код на входах 1, 2, 4, 8 визначає номер активного виходу (вхід 1 відповідає молодшому розряду коду, вхід 8 - старшому розряду коду). Входи дозволу С1, С2, С3 об'єднані по функції І і мають зазначену на малюнку полярність. Для прикладу в табл. 5.1 наведена таблиця істинності дешифратора ІД7 (3-8). Існують і дешифратори 4-10 (наприклад, ІД6), які обробляють не всі можливі 16 станів вхідного коду, а тільки перші 10 з них.
Перші три рядки таблиці відповідають забороні вихідних сигналів. Дозволом виходу буде одиниця на вході С1 і нулі на входах С2 і С5. Символ "Х" позначає байдуже стан даного входу (неважливо, нуль або одиниця). Нижні вісім рядків відповідають вирішенню вихідних сигналів. Номер активного виходу (на якому формується нульовий сигнал) визначається кодом на входах 1, 2, 4, причому вхід 1 відповідає молодшому розряду коду, а вхід 4 - старшому розряду коду.
Таблиця 5.1. Таблиця істинності дешифратора 3-8 (ІД7)
Найбільш типове застосування дешифраторів полягає саме в дешифруванні вхідних кодів, при цьому входи С використовуються як стробирующие, керуючі сигнали. Номер активного (тобто нульового) вихідного сигналу показує, який вхідний код надійшов. Якщо потрібно дешифрувати код з великим числом розрядів, то можна об'єднати кілька мікросхем дешифраторів (приклад показаний на рис. 5.3).

Мал. 5.3. Збільшення кількості розрядів дешифратора
При цьому старші розряди коду подаються на основний дешифратор, виходи якого дозволяють роботу кількох додаткових дешифраторів. На об'єднані входи цих додаткових дешифраторів подаються молодші розряди вхідного коду. З п'яти мікросхем дешифраторів 2-4 можна отримати дешифратор 4-16, як показано на малюнку (хоча краще, звичайно, взяти готову мікросхему). Точно так же з дев'яти мікросхем 3-8 можна отримати дешифратор 6-64, а з сімнадцяти мікросхем 4-16 - дешифратор 8-256. Ще одна поширена застосування дешифраторів - селекція (вибір) заданих вхідних кодів. Поява негативного сигналу на обраному виході дешифратора буде означати надходження на вхід цікавить нас коду. В даному випадку збільшувати число розрядів вхідного селектіруемих коду набагато простіше, ніж в попередньому (див. Рис. 5.3). Наприклад, дві мікросхеми 4-16 дозволяють селектировать 8-розрядний код (рис. 5.4). У прикладі на малюнку селектіруется 16-ковий код 2А (двійковий код 0010 1010). При цьому один дешифратор робота ет з молодшими чотирма розрядами коду, а інший - зі старшими чотирма розрядами. Об'єднуються дешифратори так, що один з них дозволяє роботу іншого по входах С1 і С2. Застосовуючи механічні перемикачі виходів дешифраторів (тумблери, перемички), можна легко змінювати код, селектіруемих даною схемою.

Мал. 5.4. Селектирования коду на дешифратор

Мал. 5.5. Включення дешифратора як демультиплексор
Як і для будь-яких інших цифрових мікросхем, для дешифраторів найбільш критична ситуація одночасного або майже одночасного зміни вхідних сигналів. Наприклад, якщо строби З завжди дозволяють роботу дешифратора, то в момент зміни вхідного коду на будь-який вихід дешифратора можуть з'явитися паразитні негативні короткі імпульси. Це може бути пов'язано як з неодночасним виставленням розрядів коду (через недосконалість мікросхем джерел коду або через різні затримок поширення по лініях зв'язку), так і з внутрішніми затримками самих мікросхем дешифраторів.

Мал. 5.6. Стробування вихідних сигналів дешифратора
Якщо такі паразитні імпульси потрібно виключити, то можна застосовувати синхронізацію за допомогою стробирующих сигналів. Використовуваний для цього сигнал С повинен починатися після поточного зміни коду, а закінчуватися до наступного зміни коду, тобто повинен бути реалізований вкладений цикл. На рис. 5.6 показано, як буде виглядати вихідний сигнал дешифратора без стробування і зі стробированием.
На другому рівні уявлення (модель з тимчасовими затримками) також треба враховувати, що затримки дешифратора більше затримки простих логічних елементів приблизно вдвічі для вхідного коду і приблизно в півтора рази - для стробирующих входів. Тобто якщо спробувати замінити дешифратор схемою на логічних елементах, то такий дешифратор вийде повільніше. Точні величини затримок треба дивитися в довідниках.

Мал. 5.7. Позиційна індикація на дешифраторі з виходами ОК
Дешифратори, що мають виходи типу ОК (ІД5, ІД10), зручно застосовувати в схемах позиційної індикації на світлодіодах. На рис. 5.7 наведено приклад такої індикації на мікросхемі ІД5, яка представляє собою два дешифратора 2-4 з об'єднаними входами для подачі коду і стробами, що дозволяють легко будувати дешифратор 3-8. При цьому старший розряд коду вибирає один з дешифраторів 2-4 (нуль відповідає верхньому по схемі дешифратор, а одиниця - нижньому). Тобто в даному випадку номер палаючого світлодіода дорівнює вхідному коду дешифратора. Така індикація називається позиційною.

Мал. 5.8. Об'єднання виходів дешифраторів з ОК
Виходи мікросхем дешифраторів з ОК можна об'єднувати між собою для реалізації проводового АБО (рис. 5.8). Нуль на об'єднаному виході буде тоді, коли хоча б на одному з виходів виробляється нуль. При рівномірному покроковому нарощуванні вхідного коду (наприклад, за допомогою лічильника) таке рішення дозволяє формувати досить складні послідовності вихідних сигналів. Правда, кожен вихід дешифратора може використовуватися для отримання тільки одного вихідного сигналу. Це обмежує можливості таких схем.
Шифратори використовуються набагато рідше, ніж дешифратори. Це пов'язано з більш специфічною областю їх застосування. Значно менше і вибір мікросхем шифраторів в стандартних серіях. У вітчизняних серіях шифратори мають в назві літери ІВ.
На рис. 5.9 показані для прикладу дві мікросхеми шифраторів ІВ1 і ІВ3. Перша має 8 входів і 3 виходи (шифратор 8-3), а друга - 9 входів і 4 виходи (шифратор 9-4). Всі входи шифраторів - інверсні (активні вхідні сигнали - нульові). Всі виходи теж інверсні, тобто формується інверсний код. Мікросхема ІВ1, крім 8 інформаційних входів і 3 розрядів вихідного коду (1, 2, 4), має інверсний вхід дозволу -ЕI, вихід ознаки приходу будь-якого вхідного сигналу -GS, а також вихід перенесення -EO, що дозволяє об'єднувати декілька шифраторів для збільшення розрядності .

Мал. 5.9. мікросхеми шифраторів
Таблиця істинності шифратора ІВ1 приведена в табл. 5.2.
Таблиця 5.2. Таблиця істинності шифратора ІВ1
З таблиці видно, що на виходах коду 1, 2, 4 формується інверсний двоїчний код номера вхідний лінії, на який приходить негативна вхідний сигнал. При одночасному надходженні декількох вхідних сигналів формується вихідний код, відповідний входу з найбільшим номером, тобто старші входи мають пріоритет перед молодшими. Тому такий шифратор називається пріоритетним. При відсутності вхідних сигналів (другий рядок таблиці) формується вихідний код 111. Одиничний сигнал -EI (перший рядок) забороняє роботу шифратора (всі вихідні сигнали встановлюються в одиницю). На виході -GS виробляється нуль при приході будь-якого вхідного сигналу, що дозволяє, зокрема, відрізнити ситуацію приходу нульового вхідного сигналу від ситуації відсутності будь-яких вхідних сигналів. Вихід -EO стає активним (нульовим) при відсутності вхідних сигналів, але дозвіл роботи шифратора сигналом -EI.
Стандартне застосування шифраторів полягає в скороченні кількості сигналів. Наприклад, в разі шифратора ІВ1 інформація про восьми вхідних сигналах згортається в три вихідних сигнали. Це дуже зручно, наприклад, при передачі сигналів на великі відстані. Правда, вхідні сигнали не повинні приходити одночасно. На рис. 5.10 показані стандартна схема включення шифратора і тимчасові діаграми його роботи.
Мал. 5.10. Стандартне включення шифратора
Інверсія вихідного коду призводить до того, що при приході нульового вхідного сигналу на виході формується не нульовий код, а код 111, тобто 7. Точно так же при приході, наприклад, третього вхідного сигналу на виході утворюється код 100, тобто 4, а при приході п'ятого вихідного сигналу - код 010, тобто 2.
Наявність у шифраторів входів EI і EO дозволяє збільшувати кількість входів і розрядів шифратора, правда, за допомогою додаткових елементів на виході. На рис. 5.11 показаний приклад побудови шифратора 16-4 на двох мікросхемах шифраторів ІВ1 і трьох елементах 2И-НЕ (ЛА3).

Мал. 5.11. Шифратор 16-4 на двох Шифратори 8-3
Одночасне або майже одночасна зміна сигналів на вході шифратора призводить до появи періодів невизначеності на виходах. Вихідний код може на короткий час приймати значення, що не відповідає жодному з вхідних сигналів. Тому в тих випадках, коли вхідні сигнали можуть приходити одночасно, необхідна синхронізація вихідного коду, наприклад, за допомогою дозволяючого сигналу EI, який повинен приходити тільки тоді, коли стан невизначеності вже закінчилося.
Затримка шифратора від входу до виходу коду приблизно в півтора рази перевищує затримку логічного елемента, а затримка до виходу GS - приблизно в два рази більше. Точні величини затримок мікросхем треба дивитися в довідниках.