Deshifrator

**Deshifrator (dekoder)** () raqamli elektronikada — n-bitli ikkilik, uchlik yoki k-ariy kodni oʻzgartiradigan kombinatsiyalangan sxema. \ k^n — bir birlikli kod, bu yerda \ k sanoq tizimining asosi hisoblanadi.

**Bir birlik kod** — faqat bitta faol bit / tritni oʻz ichiga olgan bitlar ketma-ketligi; ketma-ketlikning qolgan bitlari/tritslari faol emas.

**Faol bit/trit** — bit/trit bir yoki nolga teng (dekoder/tritning bajarilishiga bogʻliq):

* yoki faol bit/tritning teskari (NOT) qiymatiga teng;
* yoki yuqori yuk koʻtarish qobiliyatiga ega boʻlgan 3-chi past empedans holatida yoki juda kam yuk hajmiga ega boʻlgan yuqori empedans holatida .

Seriya raqami ikkilik, uchlik yoki k-ariy kodga mos keladigan chiqishda mantiqiy signal faol.

Ikkilik (*k=2*) dekoder quyidagicha ishlaydi:

* dekoderning kirishiga *n* bitli ikkilik soʻz beriladi. *n* bitdan iborat joriy kirish kombinatsiyalarining soni 2^n ;
* dekoderning chiqishida dan kichik yoki teng bitlar sonidan ikkilik soʻz hosil boʻladi 2^n . Chiqish soʻzi har doim bitta faol bitga ega, 1 yoki 0 ga teng, qolgan bitlar faol emas. Faoliyat 0 yoki 1 dekoderning oʻziga xos amalga oshirilishiga bogʻliq. Faol boʻlmagan bitlar yoki barchasi faol bitning teskari holatiga ega yoki uchinchi, yuqori empedans holatiga oʻtkaziladi.

Dekoderlar ikkilik, uchlik yoki k-ariy mantiqiy funksiyalarni (operatsiyalarni) bajaradigan qurilmalardir.

## Ikkilik dekoderning mantiqiy funktsiyalari
Dekoder *n* ta kirishga ega boʻlsin. Kirish ikkilik soʻzdir. x_{n-1} x_{n-2} ... x_0. Kod chiqishlarda hosil boʻladi F_0 F_1 ..., bit chuqurligi dan kichik yoki teng 2^n. Raqam faol boʻladi, ularning soni kiritilgan soʻzning raqamli koʻrinishiga teng. Chiqarish faoliyati ostida mantiqiy birlik qiymatini qabul qilish, mantiqiy nol yoki yuqori impedans holatiga oʻtish — oʻchirish tushuniladi; oʻziga xos qiymat ishlatiladigan dekoder dasturiga bogʻliq. Qolgan raqamlar faol emas. Chiqish soʻzining maksimal mumkin boʻlgan soʻz uzunligi 2^n.

Agar chiqishlar soni chiqish soʻzining maksimal mumkin boʻlgan soʻz uzunligiga teng boʻlsa, dekoder **toʻliq** deb nomlanadi (2^n) Agar kirish bitlarining bir qismi ishlatilmasa, dekoder **toʻliq boʻlmagan** deb ataladi (yaʼni chiqishlar soni undan kam boʻlsa 2^n)

Misol uchun, agar toʻliq ikkilik dekoder uchun (*k=2*) kirish bitlari soni *n=3 boʻlsa* va kirishga 0102=210 soʻzi kelsa, chiqishda 23=8 bit mavjud boʻladi. qaysi biri faol boʻladi — 2-bit. Bu bit 1 yoki 0 boʻladi (amalga oshirishga qarab), qolgan bitlar faol boʻlmaydi (0 yoki 1 yoki yuqori empedans holatida).

Faol chiqish signallari mantiqiy birlik qiymatini oladigan bitta blokli dekoderning ishlashi bogʻlanishlar tizimi bilan tavsiflanadi:

F_0 \ = \bar x_{n-1} \bar x_{n-2} ... \bar x_1 \bar x_0

F_1 \ = \bar x_{n-1} \bar x_{n-2} ... \bar x_1   x_0

F_2 \ = \bar x_{n-1} \bar x_{n-2} ...   x_1 \bar x_0

…

F_{{2^n}-2} = x_{n-1} x_{n-2} ...  x_1 \bar x_0

F_{{2^n}-1} =   x_{n-1}   x_{n-2} ...   x_1 x_0

Koʻpincha dekoderlar *E* kirishi bilan toʻldiriladi (dan) — „operatsiyani yoqish“ (yoqish). Agar bu kirish faol mantiqiy signalni qabul qilsa (bir yoki nol), u holda dekoder chiqishlaridan biri faol holatga oʻtadi, aks holda kirishlar holatidan qatʼi nazar, barcha chiqishlar faol emas.

Qoʻshimcha *E* kirishiga ega bitta blokli dekoderning ishlashi birlashmalar tizimi bilan tavsiflanadi:

F_0 \ = \bar x_{n-1} \bar x_{n-2} ... \bar x_1 \bar x_0 E

F_1 \ = \bar x_{n-1} \bar x_{n-2} ... \bar x_1   x_0 E

F_2 \ = \bar x_{n-1} \bar x_{n-2} ...   x_1 \bar x_0 E

…

F_{{2^n}-2} = x_{n-1} x_{n-2} ...  x_1 \bar x_0 E

F_{{2^n}-1} =   x_{n-1}   x_{n-2} ...   x_1 x_0 E

Odatda, dekoder chiplari teskari (EMAS) chiqishlar bilan tayyorlanadi (yaʼni faol tanlangan bit mantiqiy nol qiymatini oladi).

Dekoderning kirish qismidagi ikkilik soʻz koʻpincha **manzil** deb ataladi.

## Yagona birlik dekoderlari

### Ikkilik ikkilik bir birlikli dekoder.
4 chiqishli 2 kirishli ikkilik dekoderning haqiqat jadvali (2^2=4) jadvalda keltirilgan:

### Uch kirishli ikkilik birlik dekoder
Jadvalda „VA“ (AND) mantiqiy elementlarida amalga oshirilgan toʻliq 3 kirishli ikkilik dekoderning diagrammasi hamda uning haqiqat jadvali koʻrsatilgan.

## Dekoderlarning bit chuqurligini oshirish
Kirishlarni faollashtiradigan dekoderlar boʻlgan mantiqiy sxemalardan koʻproq kirish va chiqishlar uchun dekoderlarni qurish mumkin. Misol uchun, ikkita toʻliq uch kirishli dekoderdan siz toʻrtta kirish va 16 chiqishga ega toʻliq dekoderni yaratishingiz mumkin. Bunday holda, kirish soʻzining eng kam ahamiyatli uch biti ikkala dekoderga beriladi va soʻzning 4-biti ulardan birining ruxsat kiritishiga (eng yuqori), mantiqiy teskari (EMAS) 4-bitiga yuboriladi. soʻz ikkinchi dekoderning ruxsat kiritishiga yuboriladi (pastki).

## Qoʻllash misollari

* Kirishda bittaga ortib borayotgan ikkilik kod beriladigan bir birlikli ikkilik dekoder chiqishda „ishlaydigan nol“ signalini hosil qiladi, bu matritsa koʻrsatkichlarini, koʻp xonali etti segmentli koʻrsatkichlarni boshqarish uchun keng qoʻllanadi. klaviaturada soʻrovnoma.

* Mikroprotsessorli tizimning manzil shinasiga ulangan bir birlikli ikkilik dekoder manzilli dekoder deyiladi. Uning chiqish signallari registrning oʻqish yoki yozishni yoqish kirishlariga qoʻllanadi,  maʼlumotlar avtobusiga ulangan maʼlum bir periferik qurilmaga „manzilga havola“ ni ishga tushirishga imkon beradi.

* Ikkilik kodni etti segmentli koʻrsatkichlar boʻyicha oʻnlik raqamlarning displeyiga aylantirish uchun ixtisoslashtirilgan dekoder (asosan 4 bitli manzil kodiga javoban 7 bitli soʻzlarni ishlab chiqaradigan ROM) ishlatiladi.

## Teskari kod konvertatsiyasi
Teskari transformatsiya kodlovchi tomonidan amalga oshiriladi.