Дешифраторът: пощальонът
Дешифраторът получава двоичен адрес с n бита и активира точно един от своите 2ⁿ изхода – този с номер равен на адреса. Като пощальон, който по адреса звъни само на една врата. Казано с кодове: превръща двоичния код в унитарен (една единица от N).
Отвътре всеки изход е един елемент И, вързан към правите или инвертираните адресни битове. Y2 например е A1·Ā0: свети само при адрес 10. Така е направен линейният дешифратор: 2ⁿ елемента И с по n входа. Пирамидалният се прави от двувходови И на стъпала, а матричният – от решетка. Изводът E (разрешаване) е главният ключ: при E = 0 не свети нищо. В интегралните дешифратори активното ниво на изходите обикновено е 0.
Тук адресът е A1A0 = 10, а E = 1. Свети Y2.
Зелените проводници са 1. Всяко И чака три единици: двата адресни бита (правия или обърнатия) и E. При всеки адрес точно едно И ги събира. Свали E – всички изходи изгасват, каквото и да е адресът. С този вход дешифраторите се свързват каскадно.
Шифраторът: кой бутон е натиснат
Шифраторът прави обратното: има 2ⁿ входа (бутони) и дава на изхода n бита – номера на активния вход. Ако са натиснати няколко наведнъж, обикновеният шифратор дава безсмислица. Приоритетният шифратор дава номера на най-важния, обикновено най-старшия. Той има и изход „няма активен вход“, за да се различи натиснатият бутон 0 от никакъв натиснат бутон. Има и изводи EI/EO, с които се свързват няколко шифратора за повече входове.
Натиснати са 2, 5. Шифраторът дава 101 = 5.
Натисни няколко бутона: печели най-големият номер. Пусни всичките и кодът е 000, също като при бутон 0. Затова е нужен отделният изход „няма активен вход“. Така клавиатурата казва на процесора кой бутон е натиснат с 3 жици вместо с 8.
Мултиплексорът: стрелочникът
Мултиплексорът (MUX) има 2ⁿ информационни входа D, n адресни входа A и един изход. Адресът избира кой вход минава към изхода, като стрелочник, който от много релси пуска една. Отвътре е дешифратор, чиито изходи пускат „своя“ D през И, а накрая всички се събират в ИЛИ:
Y = Ā1Ā0·D0 + Ā1A0·D1 + A1Ā0·D2 + A1A0·D3.
Тук адресът е A1A0 = 10, затова минава D2 = 1.
Демултиплексорът е обратният стрелочник: един вход към един от 2ⁿ изхода. Това е дешифратор, на който E е информационният вход. В CMOS има и аналогови мултиплексори от CMOS ключове. Те пропускат и в двете посоки, дори аналогови сигнали, затова един чип е и MUX, и DEMUX. Големите мултиплексори (напр. 32 канала) се правят каскадно: няколко MUX в първото стъпало и един във второто.
Адресните шини са същите като в дешифратора. Всяко И има трети вход – своя D. Само избраното И може да даде 1, а ИЛИ го пуска навън. Сменяй D-тата: изходът следи само избрания вход, останалите нямат значение.
Динамичната индикация: всичко заедно
Четирицифреният индикатор има 4 × 7 = 28 черти. Вместо 28 жици, едноименните черти на всички цифри са свързани заедно (7 жици), а всяка цифра има свой общ извод (4 жици). Чипът свети цифрите една по една:
- брояч отброява 0, 1, 2, 3 и пак отначало;
- дешифраторът 2 → 4 пали общия извод на цифрата с този номер;
- мултиплексорът подава нейния BCD код на преобразувателя за 7 сегмента (тема 17).
Ако това става бавно, виждаш една цифра да тича. Ако е бързо, окото, което усреднява светлината за десетина-двайсетина милисекунди, вижда всички цифри наведнъж. Тук целият индикатор се опреснява с 2 Hz: дешифраторът сменя цифрата 8 пъти в секунда и всяка свети 1/4 от времето.
Триъгълникът показва коя цифра свети в момента. При 2 Hz цифрите тичат. При 10 Hz цифрите видимо трептят. Над 50 Hz трептенето изчезва и се вижда „1234“. Всяка цифра свети само 1/4 от времето, затова токът през нея се прави 4 пъти по-голям, иначе индикаторът е блед.
Самопроверка
1. Колко изхода има пълен дешифратор с 3 входа и кой свети при 101?
2³ = 8 изхода; при 101 свети Y5.
2. Защо приоритетният шифратор има изход „няма активен вход“?
Без него натиснат бутон 0 и никакъв натиснат бутон дават един и същ код 000.
3. Напиши функцията на мултиплексор 2 : 1.
Y = Ā·D0 + A·D1.
4. Как от дешифратор се получава демултиплексор?
Разрешаващият вход E става информационен: адресът избира изхода, а на него се появява това, което е на E.
5. Как се прави дешифратор 4 → 16 от дешифратори 2 → 4?
Един 2 → 4 по старшите два бита разрешава (през E) един от четири 2 → 4, които дешифрират младшите два бита: r = p + q = 2 + 2.