Circuite digitale. NU porți logice. Seturi complete funcțional de porți logice

25 aprilie 2010 la 16:16

Studiu independent de proiectare a circuitelor. Noțiuni de bază. Partea 1

  • Electronice pentru începători

Studiul circuitelor digitale trebuie să înceapă cu teoria automatelor. În acest articol puteți găsi câteva lucruri de bază care vă vor ajuta să nu vă pierdeți în articolele ulterioare. Am încercat să fac articolul ușor de citit și sunt încrezător că un cititor neinstruit îl va putea înțelege cu ușurință.


Semnal- un mediu de stocare a materialelor utilizat pentru transmiterea mesajelor printr-un sistem de comunicații. Un semnal, spre deosebire de mesaj, poate fi generat, dar recepția lui nu este necesară (mesajul trebuie acceptat de partea care primește, altfel nu este un mesaj, ci doar un semnal).

Articolul discută despre un semnal digital discret. Acesta este un semnal care are mai multe niveluri. Evident, un semnal binar are două niveluri - și ele sunt considerate a fi 0 și 1. Când nivel inalt este notat cu unu și mic cu zero - această logică se numește pozitivă, altfel negativă.

Un semnal digital poate fi reprezentat ca o diagramă de timp.

În natură semnale discrete nu există, deci sunt înlocuite cu cele analogice. Semnal analog nu poate trece de la 0 la 1 instantaneu, deci un astfel de semnal are o margine înainte și o margine descendentă.
Dacă îl desenezi într-un mod simplificat, arată astfel:

1 - nivel scăzut semnal, 2 - nivel ridicat al semnalului, 3 - creștere a semnalului (margine), 4 - scădere a semnalului (tăieri)

Semnalele pot fi convertite. În acest scop, în practică, se folosesc elemente logice, iar pentru a nota acest lucru formal se folosesc funcții logice. Iată pe cele principale:

Negație - inversează semnalul.
Pe diagrame este indicat astfel:

SAU logic (adunare, disjuncție logică)

Pe diagramă:

ȘI logic (înmulțire logică, conjuncție)

Pe diagramă:

Ultimele două pot avea o ieșire negativă (NAND, NOR). Valorile funcțiilor lor logice sunt inversate, iar rezultatul este desenat ca un cerc în diagramă.

Un tabel rezumat al funcțiilor logice a două argumente arată astfel:

Lucrul cu funcții logice se bazează pe legile algebrei logice, ale căror elemente de bază sunt prezentate în fișierul atașat. Există și sarcini pentru autocontrol și Întrebări de control pe această temă.

Proiectarea circuitelor logice folosind funcții de algebră logică

Circuit logic numit un set de logici elemente electronice, conectate între ele în așa fel încât legea de funcționare specificată a circuitului să fie îndeplinită, cu alte cuvinte, funcția logică specificată este îndeplinită.
Pe baza dependenței semnalului de ieșire de semnalul de intrare, toate circuitele logice electronice pot fi împărțite în:

Scheme de primul fel, adică circuite combinaţionale, al cărui semnal de ieșire depinde numai de starea semnalelor de intrare în fiecare moment de timp;

Scheme de al doilea fel sau circuite de acumulare(sistem secvenţial), care conțin circuite de acumulare ( elemente cu memorie), al cărui semnal de ieșire depinde atât de semnalele de intrare, cât și de starea circuitului în momentele anterioare timp.

In functie de numarul de intrari si iesiri, circuitele pot fi: cu o intrare si o iesire, cu mai multe intrari si o iesire, cu o intrare si mai multe iesiri, cu mai multe intrari si iesiri.

Conform metodei de sincronizare, schemele sunt împărțite în cu sincronizare externă (mașini sincrone), cu sincronizare internă(automatele asincrone sunt cazul lor special).

Aproape orice computer constă dintr-o combinație de circuite de primul și al doilea tip de complexitate variabilă. Astfel, baza oricărei mașini digitale care prelucrează informații digitale sunt două tipuri de elemente electronice: joc de inteligență sau combinaționalăȘi memorând. Elementele logice efectuează cele mai simple operații logice asupra informațiilor digitale, iar elementele de stocare servesc la stocarea acesteia. După cum se știe, operatie logica constă în transformarea informațiilor digitale de intrare în ieșire conform anumitor reguli.

Putem presupune că funcțiile logice elementare sunt operatori logici elementele electronice menționate, i.e. scheme Fiecare astfel de schemă este desemnată de un anumit simbol grafic. (Au fost prezentate mai sus - Elemente AND, OR, NOT, NOR-NOT, AND-NOT)

Ca exemplu, mai jos este o diagramă funcțională electrică a unui convertor logic (mașină combinată) care implementează functie logica în baza elementară a elemente logiceȘI, SAU, NU.

Pentru a consolida, vă sugerez să îl sintetizați singur circuit logic, implementând următoarele funcții logice:

Acest lucru se poate face, de exemplu, în Electronic workbench.

Iată un exemplu al primei sarcini finalizate:

Vom începe călătoria dumneavoastră în lumea electronicelor cu o scufundare în electronica digitală. În primul rând, pentru că acesta este vârful piramidei lumea electronică, în al doilea rând, Noțiuni de bază electronicele digitale sunt simple și ușor de înțeles.

Te-ai gândit vreodată ce descoperire fenomenală în știință și tehnologie a avut loc datorită electronicii și electronicii digitale în special? Dacă nu, atunci ia-ți smartphone-ul și aruncă o privire atentă la el. Un astfel de design simplu este rezultatul unei cantități uriașe de muncă și realizări fenomenale ale electronicii moderne. Crearea unei astfel de tehnici a fost posibilă datorită ideii simple că orice informație poate fi reprezentată sub formă de numere. Așadar, indiferent de informațiile cu care lucrează dispozitivul, în adâncul său efectuează scăderea numerelor.

Probabil că sunteți familiarizat cu cifrele romane și arabe. În sistemul roman, numerele sunt reprezentate ca o combinație a literelor I, V, X, L, C, D, M, iar în arabă folosind combinația de simboluri 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Dar există și alte forme de reprezentare a numerelor. Una dintre ele este forma binară. Sau, așa cum este numit mai des, sistemul de numere binar. Într-un astfel de sistem numeric, orice număr este o secvență de numai „0” și „1”.

arabic român Binar
0 - 00
1 eu 01
2 II 10
3 III 11

Matematicienii și inginerii au muncit din greu, iar astăzi orice informație poate fi prezentată ca o combinație de zerouri și unu: un semnal de la un senzor de mișcare, muzică, video, fotografie, temperatură și chiar și acest text pe care îl citiți acum se află de fapt în adâncimile dispozitivului arată ca o secvență de zerouri și unu.

Indiferent de informațiile pe care le gestionează un dispozitiv digital, în adâncul acesta procesează numere.

De ce exact „0” și „1”, și nu „0”, „1” și „2”, de exemplu? De fapt, au existat încercări destul de reușite de a crea tehnologie digitala, care folosește nu un sistem de numere binar, ci ternar („0”, „1” și „2”), dar totuși binar a câștigat.

Poate că a câștigat pentru că URSS s-a prăbușit sau poate pentru că „0” și „1” sunt mai ușor de reprezentat sub formă de semnale electrice. Aceasta înseamnă că dispozitivele digitale bazate pe sistem binar calculele sunt mai ușor și mai ieftin de făcut. Voi vorbi mai multe despre numerele binare mai târziu.

Structura unui dispozitiv digital

Aproape fiecare dispozitiv digital conține elemente tipice, din care constă o combinație. Unele elemente sunt foarte simple, unele sunt mai complexe, iar altele sunt complet complexe. În practica amatorilor, cele mai frecvente sunt: ​​declanșatoarele, temporizatoarele, contoarele, registrele, microcontrolerele, comparatoarele etc.

Să alegem ceva din această listă și să vedem cum funcționează. Să fie un microcontroler (MK)! Bine, o să recunosc. Am ales microcontrolerul cu un motiv. Cert este că apariția microprocesoarelor a făcut o adevărată revoluție în electronică și a împins dezvoltarea acesteia la un nou nivel.

MK este cel mai numeros și popular tip de microprocesoare din lume. Ceea ce îl face special este că microcontrolerul este un micro-PC -- tot computerulîntr-un singur cip. Imaginați-vă un computer de mărimea, să zicem, a unui ban. Acesta este MK.

Microcontrolerele sunt folosite peste tot: in televizoare moderne, frigidere, tablete, sisteme de securitate. Oriunde ceva trebuie controlat, un microcontroler își poate găsi locul. Și totul datorită faptului că, ca orice microprocesor, MK poate fi programat. Ca rezultat, același tip de cip poate fi utilizat în sute de dispozitive diferite.

În zilele noastre, cele mai populare sunt, de exemplu, Microcontrolere AVR, PIC, ARM. Fiecare dintre companiile care produce tipurile de microcontrolere enumerate produce zeci, dacă nu sute, de varietăți de microcontrolere concepute pentru toate sarcinile imaginabile și de neconceput.

Cum funcționează un microcontroler?

În ciuda complexității designului unui microcontroler real, puteți spune cum funcționează acesta într-o singură propoziție: „Textul programului este scris în memoria microcontrolerului, MK citește comenzile din acest program și le execută”, asta este toate.

Desigur, MK nu poate executa nicio comandă. El are set de bază comenzi pe care le înțelege și știe să le execute. Combinând aceste comenzi, puteți obține aproape orice program cu care dispozitivul va face exact ceea ce doriți să facă.

ÎN lumea modernă un microprocesor (MK este tot un microprocesor, dar specializat) poate avea fie o mulțime comenzi de bază, sau foarte puțin. Aceasta este o astfel de diviziune condiționată pentru care au fost inventați chiar doi termeni: CISC și RISC. CISC este mult tipuri diferite comenzi pentru toate ocaziile, RISC - acestea sunt doar comenzile cele mai necesare și utilizate frecvent, adică set redus de comenzi.

Majoritatea microcontrolerelor sunt RISC. Acest lucru se explică prin faptul că, atunci când se utilizează un set redus de comenzi, microcontrolerele sunt mai simple și mai ieftine de produs și sunt mai ușor și mai rapid de stăpânit pentru dezvoltatorii de hardware. Există multe diferențe între CISC și RISC, dar deocamdată singurul lucru important de reținut este că CISC are multe comenzi, RISC are puține comenzi. Vom arunca o privire mai profundă asupra acestor două idei altădată.

Ce se întâmplă când microcontrolerul pornește?

Deci, să ne imaginăm o lume ideală în care aveți un MK și un program a fost deja înregistrat în memoria sa. Sau, așa cum se spune de obicei, MK este „flash” (în acest caz, programul se numește „firmware”) și este gata de luptă.

Ce se întâmplă când alimentați circuitul dvs. MK? Nu se dovedește nimic deosebit. Nu există deloc magie acolo. Se vor întâmpla următoarele:

După ce este aplicată alimentarea, microcontrolerul va merge să se uite la ceea ce este în memorie. În același timp, el „știe” unde să caute pentru a găsi prima comandă a programului său.

Locația de început a programului este stabilită în timpul producției MK și nu se schimbă niciodată. MK numără prima comandă, o execută, apoi numără a doua comandă, o execută, apoi a treia și așa mai departe până la ultima. Când numără ultima comandă, totul va începe din nou, deoarece MK execută programul în cerc, dacă nu i s-a spus să se oprească. Deci așa funcționează.

Dar asta nu mă împiedică să scriu programe complexe, care ajută la controlul frigiderelor, aspiratoarelor, mașinilor industriale, playerelor audio și a mii de alte dispozitive. De asemenea, puteți învăța cum să creați dispozitive cu MK. Va fi nevoie de timp, dorință și puțini bani. Dar astea sunt lucruri atât de mici, nu?

Cum funcționează un MK tipic?

Orice sistem cu microprocesor se bazează pe trei piloni:

  1. CPU(ALU + dispozitiv de control),
  2. Memorie(ROM, RAM, FLASH),
  3. Porturi I/O .

Procesorul, folosind porturi I/O, primește/trimite date sub formă de numere și îndeplinește diverse funcții asupra acestora operatii aritmeticeși le stochează în memorie. Comunicarea dintre procesor, porturi și memorie are loc prin fire numite obosi(anvelopele sunt împărțite în mai multe tipuri în funcție de scop) . Acest ideea generala funcţionarea sistemului MP. Ca in poza de mai jos.

MK, așa cum am scris deja, este și un microprocesor. Doar specializat. Structura fizică a microcircuitelor MK de diferite serii poate diferi semnificativ, dar ideologic vor fi similare și vor avea, de exemplu, blocuri precum: ROM, RAM, ALU, porturi de intrare/ieșire, temporizatoare, contoare, registre.

ROM Memoria permanentă. Tot ceea ce este scris pe acesta rămâne în ROM chiar și după ce dispozitivul a fost deconectat de la sursa de alimentare.
RAM Memoria temporară. RAM este memoria de lucru a MK. Toate rezultatele intermediare ale executării comenzii sau datele de la dispozitive externe sunt plasate în el.
ALU Creierul matematic al unui microcontroler. El este cel care adună, scade, înmulțește și, uneori, împarte, compară zerouri și unu în procesul de execuție a comenzilor programului. Unul dintre cele mai importante organe ale MK.
Porturi I/O Doar dispozitive pentru comunicarea cu MK lumea de afara. Fără ele, nu puteți scrie în memoria externă și nici nu puteți primi date de la senzor sau tastatură.
Cronometre Ai gatit prajitura sau pui? Ai setat un cronometru pentru a te anunța când vasul este gata? În MK, cronometrul îndeplinește funcții similare: numără intervalele, emite un semnal când este declanșat etc.
Contoare Sunt utile atunci când trebuie să numărați ceva.
Registrele Cel mai de neînțeles cuvânt pentru cei care au încercat măcar o dată să stăpânească pe cont propriu Assembler. Și apropo, acţionează ca RAM rapid pentru MK. Fiecare registru este un fel de celulă de memorie. Și în fiecare MK există doar câteva zeci.

Scara modernă de dezvoltare a electronicii digitale este atât de enormă încât chiar și pentru fiecare articol din acest tabel puteți scrie o carte întreagă, sau chiar mai multe. Voi descrie ideile de bază care vă vor ajuta să înțelegeți în mod independent și mai în detaliu fiecare dintre dispozitive.

Creierul microcontrolerului

Microprocesorul/microcontrolerul funcționează întotdeauna conform programului încorporat în el. Programul constă dintr-o secvență de operații pe care MK le poate efectua. Operațiile sunt efectuate în CPU - acesta este creierul microcontrolerului. Acesta este organul care poate efectua operații aritmetice și logice cu numere. Dar mai sunt patru operațiuni importante pe care le poate face:

  • citirea dintr-o celulă de memorie
  • scrierea într-o celulă de memorie
  • citiți din portul I/O
  • scrieți pe portul I/O

Aceste operațiuni sunt responsabile pentru citirea/scrierea informațiilor în memorie și dispozitive externe prin porturile I/O. Și fără ele, orice procesor se transformă într-un gunoi inutil.

Din punct de vedere tehnic, procesorul este format dintr-un ALU (calculator procesor) și o unitate de control care gestionează interacțiunea dintre porturile I/O, memorie și o unitate logică aritmetică (ALU).

Memoria microcontrolerului

Anterior, în tabelul cu dispozitivele tipice incluse în MK, am indicat două tipuri de memorie: ROM și RAM. Diferența dintre ele este că în ROM datele sunt salvate între pornirea dispozitivului. Dar, în același timp, ROM-ul este o memorie destul de lentă. De aceea există RAM, care este destul de rapidă, dar poate stoca date doar atunci când dispozitivul este alimentat. Merită să opriți dispozitivul și toate datele sunt de acolo... nimic.

Dacă ai un laptop sau un computer personal, atunci ești familiarizat cu această situație: ai scris un munte de text, ai uitat să-l salvezi pe hard disk și brusc s-a oprit electricitatea. Porniți computerul, dar nu există text. Asta e corect. În timp ce îl scriai, a fost stocat în RAM. De aceea textul a dispărut când computerul a fost oprit.

În lumea străină, RAM și ROM se numesc RAM și ROM:

  1. RAM (Random Access Memory) - memorie cu acces aleatoriu
  2. ROM (Read Only Memory) - memorie doar pentru citire

La noi se mai numesc memorie volatilă și nevolatilă. Care, după părerea mea, reflectă mai exact natura fiecărui tip de memorie.

ROM

În zilele noastre, memoria ROM devine din ce în ce mai comună tip FLASH(sau, după părerea noastră, EEPROM). Vă permite să salvați date chiar și atunci când dispozitivul este oprit. Prin urmare, în MCU-urile moderne, de exemplu, în MCU AVR, memoria FLASH este folosită ca ROM.

Anterior, cipurile de memorie ROM erau programabile odată. Prin urmare, dacă a fost înregistrat un program sau date cu erori, atunci un astfel de microcircuit a fost pur și simplu aruncat. Puțin mai târziu, au apărut ROM-uri care puteau fi rescrise de multe ori. Acestea erau cipuri de șters UV. Au trăit destul de mult timp și chiar și acum se găsesc în unele dispozitive din anii 1990...2000. De exemplu, acest ROM vine din URSS.

Aveau un dezavantaj semnificativ - dacă cristalul (cel vizibil în fereastră) era iluminat accidental, programul putea fi deteriorat. Și, de asemenea, ROM-ul este încă mai lent decât RAM.

RAM

RAM, spre deosebire de ROM, PROM și EEPROM, este volatil iar când dispozitivul este oprit, toate datele din RAM se pierd. Dar niciun dispozitiv cu microprocesor nu se poate descurca fără el. Deoarece în timpul funcționării este necesar să stocați rezultatele calculelor și datele cu care procesorul lucrează undeva. ROM-ul nu este potrivit pentru aceste scopuri din cauza lentei.

MEMORIA DE PROGRAME ȘI DATE

Pe lângă împărțirea în memorie volatilă (RAM) și nevolatilă, microcontrolerele au o diviziune în memorie de date și memorie de program. Aceasta înseamnă că MK are o memorie specială care este destinată doar stocării programului MK. În vremurile moderne, acesta este de obicei un ROM FLASH. Din această memorie microcontrolerul citește comenzile pe care le execută.

Separat de memoria programului, există o memorie de date în care sunt plasate rezultatele intermediare ale muncii și orice alte date cerute de program. Memoria programului este RAM obișnuită.

Această separare este bună deoarece nicio eroare din program nu poate deteriora programul în sine. De exemplu, când din greșeală MK încearcă să scrie în locul unei comenzi din program Număr aleatoriu. Se pare că programul este protejat în mod fiabil de daune. Apropo, această divizie are propriul nume special - „Arhitectura Harvard”.

În anii 1930, guvernul SUA a însărcinat să se dezvolte universitățile Harvard și Princeton arhitectură Calculator pentru artilerie navală. La sfârșitul anilor 1930, la Universitatea Harvard, Howard Aiken s-a dezvoltat arhitectură computer Mark I, numit de acum înainte după această universitate.

Mai jos am descris schematic arhitectura Harvard:

Astfel, programul și datele cu care lucrează sunt stocate fizic în locuri diferite. În ceea ce privește sistemele cu procesoare mari, cum ar fi calculator personal, apoi datele și programul sunt stocate în același loc în timp ce programul rulează.

IERARHIA MEMORIEI

CUM ESTE SEMNAT CREIERUL UNUI MICROCONTROLLER

Vrei să spui deja că creierul lui MK este CPU -- CPU, care constă dintr-o ALU (unitate aritmetic-logică) și o unitate de control (CU). Unitatea de control controlează întreaga orchestră din memorie, dispozitive externe și ALU. Datorită lui, MK poate executa comenzi în ordinea pe care o dorim.

ALU este un calculator, iar unitatea de control îi spune ALU ce, cu ce, când și în ce secvență să calculeze sau să compare. ALU poate adăuga, scădea, uneori împărți și înmulți și poate efectua operații logice: AND, OR, NOT (mai multe despre ele puțin mai târziu)

Orice computer, inclusiv MK, poate funcționa astăzi doar cu numere binare formate din „0” și „1”. Această idee simplă a dus la revoluția electronică și la dezvoltarea explozivă a tehnologiei digitale.

Să presupunem că ALU trebuie să adauge două numere: 2 și 5. În formă simplificată, va arăta astfel:

În acest caz, unitatea de control știe în ce locație de memorie să ia numărul „2”, în care numărul „5” și în ce locație de memorie să plaseze rezultatul. CU știe despre toate acestea pentru că a citit despre ele într-o comandă dintr-un program care acest moment Am citit-o în program. Vă voi spune mai detaliat despre operațiile arematice cu numere binare și despre cum funcționează sumatorul ALU din interior puțin mai târziu.

Ei bine, spuneți, ce se întâmplă dacă trebuie să obțineți aceste numere nu din program, ci din exterior, de exemplu, de la un senzor? Ce ar trebuii să fac? Aici intră în joc porturile I/O, cu ajutorul cărora MK poate primi și transmite date către dispozitive externe: afișaje, senzori, motoare, supape, imprimante etc.

OPERAȚII LOGICE

Probabil că ești foarte familiarizat cu gluma despre „logica feminină”? Dar nu vom vorbi despre asta, ci despre logică în principiu. Logica operează cu relații cauză-efect: dacă soarele a răsărit, atunci a devenit lumină. Cauza „răsăritul soarelui” a provocat efectul „a devenit lumină”. Mai mult, putem spune „ADEVRAT” sau „FALSE” despre fiecare afirmație.

De exemplu:

  • „Păsările înoată sub apă” este o minciună
  • „Apa este umedă” - la temperatura camerei, această afirmație este adevărată

După cum ați observat, a doua afirmație poate fi adevărată sau falsă în anumite condiții. Calculatorul nostru are doar numere, iar inginerii și matematicienii au venit cu ideea de a desemna adevărul ca „1” și fals ca „0”. Acest lucru a făcut posibil să scrieți adevărul unei afirmații sub formă de numere binare:

  • „Păsările înoată sub apă” = 0
  • „Apa este umedă” = 1

Și o astfel de notație a permis matematicienilor să efectueze operații întregi cu aceste afirmații - operații logice. George Boole a fost primul care s-a gândit la asta. După care această algebră este numită: „Algebră booleană”, care s-a dovedit a fi foarte convenabilă pentru mașinile digitale.

A doua jumătate a ALU este operațiuni logice. Ele vă permit să „comparați” afirmațiile. Există doar câteva operații logice de bază: AND, OR, NOT - dar acest lucru este suficient, deoarece dintre aceste trei pot fi combinate altele mai complexe.

Operație logică ȘI denota simultaneitatea afirmatiilor, i.e. că ambele afirmații sunt adevărate în același timp. De exemplu declarație va fi adevărată numai dacă ambele afirmații mai simple sunt adevărate. În toate celelalte cazuri, rezultatul operației logice AND va fi fals.

Operație logică SAU va fi adevărată dacă cel puțin una dintre afirmațiile implicate în operațiune este adevărată. „Păsările înoată sub apă” și „Apa este umedă” adevărat, deoarece afirmația „apa este umedă” este adevărată

Operație logică NU schimbă adevărul unei afirmații în sensul său opus. Aceasta este o negație logică. De exemplu:

Soarele răsare în fiecare zi = ADEVĂRAT

NOT (Soarele răsare în fiecare zi) = NU TRUE = FALS

Datorită operațiilor logice putem compara numere binare, și din moment ce numerele noastre binare înseamnă întotdeauna ceva, de exemplu, un fel de semnal. Se pare că datorită algebră booleană putem compara semnale reale. Aceasta este ceea ce face partea logică a ALU.

DISPOZITIV DE INTRARE/IESIIRE

MK-ul nostru trebuie să comunice cu lumea exterioară. Abia atunci se va reprezenta pe sine dispozitiv util. În acest scop, MK dispune de dispozitive speciale numite dispozitive de intrare/ieșire.
Datorită acestor dispozitive, putem trimite semnale de la senzori, tastaturi și altele către microcontroler dispozitive externe. Și după procesarea unor astfel de semnale, MK va trimite un răspuns prin dispozitivele de ieșire, cu care va fi posibilă reglarea vitezei de rotație a motorului sau a luminozității lămpii.

Lasă-mă să rezum:

  1. Electronică digitală-- vârful aisbergului electronic
  2. Un dispozitiv digital știe și înțelege doar numerele
  3. Orice informație: mesaj, text, video, sunet, poate fi codificată folosind numere binare
  4. Un microcontroler este un microcomputer pe un singur cip
  5. Orice sistem cu microprocesor este format din trei părți: procesor, memorie, dispozitive de intrare/ieșire
  6. Procesorul este format dintr-un ALU și o unitate de control
  7. ALU poate efectua operații aritmetice și logice cu numere binare

Stai cu noi. În articolele următoare vă voi spune mai detaliat cum sunt aranjate memoria MK, porturile I/O și ALU. Și după aceea vom merge și mai departe și în cele din urmă vom ajunge la electronica analogică.

p.s.
Ați găsit o greșeală? Spune-mi!

/blog/tsifrovaya-elektronika-chto-eto/ În această poveste, primii pași în lumea electronicii sunt făcuți dintr-o direcție neobișnuită. Începeți călătoria prin electronică cu lumea circuitelor digitale, cu microcontrolere 2016-11-17 2016-12-26 electronică digitală, circuite digitale, microcontroler, elemente logice

Mare radioamator și designer de programe

„INGINERIA CIRCUITULUI DIGITAL”

HARKOV 2006

Prefaţă

1 INGINERIA LOGICĂ ȘI A CIRCUITĂȚILOR FUNDAMENTELE ALE INGINERIEI MICROCIRCUITURILOR DIGITALE

1.2 Elemente logice

1.3 Legile de bază ale algebrei logice

1.4 Forme normale disjunctive

1.5 Minimizarea funcțiilor logice

1.6 Sinteza circuitelor logice combinaționale

2 DIAGRAME DE COMBINAȚIE

2.1 Fundamente

2.2 Decodoare

2.3 Criptare

2.4 Demultiplexoare

2.5 Multiplexoare

2.6 Dispozitive aritmetice

3 DISPOZITIVE DE DEclanșare

3.1 Concepte de bază

3.2 Flip-flop RS asincron

3.3 Declanșatoare sincrone

4 REGISTRE

4.1 Informații generale despre registre

4.2 Registre de memorie

4.3 Registru de deplasare

4.4 Inversarea registrelor

4.5 Registre de uz general

5 CONTARE

5.1 Informații generale despre contoare

5.2 Contoare de transport în serie

5.3 Contoare de transport paralel

5.4 Contoare inversare

5.5 Contoare cu un factor de numărare arbitrar care nu este egal cu 2n

LISTA REFERINȚELOR UTILIZATE

PREFAŢĂ

Acest manual metodologic conține informații care oferă studiul disciplinelor:

- „Proiectare circuit digital” pentru studenții specialității 5.091504 (Întreținere computer și sisteme inteligenteși rețele);

- „Inginerie microcircuite” pentru studenții specialității 5.090805 (Proiectare, producție și întreținere produse electronice);

- « Dispozitive electroniceși microelectronică” pentru studenții specialității 5.090704 (Proiectarea, producția și întreținerea dispozitivelor de inginerie radio).

Materialul prezentat în această lucrare are scopul de a familiariza studenții cu elementele de bază ale microcircuitelor digitale moderne și include principalele tipuri dispozitive digitale, care sunt utilizate pe scară largă atât ca produse independente sub formă de microcircuite de grad scăzut și mediu de integrare, cât și ca parte a microcircuitelor grad înalt integrare: microprocesoare și microcontrolere.

Manualul constă din cinci secțiuni:

Fundamentele logice și ale circuitelor microcircuitelor digitale,

Circuite combinate,

dispozitive de declanșare,

Registre,

Contoare.

Prezentarea materialului este structurată astfel încât să prezinte secvenţial „de la simplu la complex” principiile teoretice de bază ale analizei şi sintezei dispozitivelor digitale. Fiecare secțiune conține subsecțiuni care oferă informații despre condițional denumire grafică dispozitiv în curs de studiu se dă tabelul său de operare, funcțional sau schema circuituluiși diagrame de timp de lucru acolo unde este necesar. Fiecare dintre scheme este dată descriere detaliata logica muncii sale în așa fel încât fiecare elev al materiei să stăpânească principiile analizei muncii circuite digitaleși a dobândit abilitățile necesare. Fiecare dintre diagramele de mai sus este tipică pentru a acestui dispozitiv. Acest lucru nu exclude o altă implementare a circuitului.

Conceptele de bază, definițiile și regulile sunt evidențiate cu caractere aldine pentru a face stăpânirea subiectului mai comodă și mai vizuală.

Avand in vedere ca prezentarea materialului se realizeaza in ordinea complexitatii tot mai mari a dispozitivelor digitale studiate, si ca fiecare tema ulterioara se bazeaza pe materialul celui precedent, este recomandabil sa se foloseasca acest material didactic in succesiunea in care sunt localizate secțiunile corespunzătoare.

Acest manual este util nu numai pentru studiu fundamente teoretice microcircuite digitale, dar și în pregătire pentru implementare munca de laborator, al cărui scop este aprofundarea cunoștințelor și dobândirea de abilități practice în asamblarea și depanarea dispozitivelor digitale. Ghidul poate fi folosit pentru auto-studiu, precum și în timpul programării cursurilor și al diplomelor.

1 FUNDAMENTELE LOGICE ȘI DE CIRCUIT ALE INGINERIEI MICROCIRCUITURILOR DIGITALE

1.1 Concepte de bază ale algebrei logice

Logica este știința legilor și a formelor de gândire.

Logica matematică - știința aplicării metode matematice pentru rezolvarea problemelor logice.

Toate dispozitivele de calcul digital sunt construite pe elemente care efectuează anumite operații logice. Unele elemente asigură prelucrarea simbolurilor binare reprezentând informații digitale sau de altă natură, altele - comutarea canalelor prin care se transmite informațiile și, în final, altele - control, activare diverse actiuniși implementarea condițiilor de implementare a acestora.

Semnalele electrice care acționează la intrările și ieșirile acestor elemente au, de regulă, două niveluri diferite și, prin urmare, pot fi reprezentate prin simboluri binare, de exemplu 1 sau 0. Să fim de acord să notăm apariția unui eveniment (de exemplu , prezența unui nivel de tensiune înaltă în care - punct al circuitului) simbol 1. Acest simbol se numește unitate logică. Absența oricărui eveniment este notată prin simbolul 0, numit zero logic.

Astfel, fiecare semnal la intrarea sau ieșirea unui element binar este asociat cu o variabilă logică, care poate lua doar două valori: starea uneia logice (evenimentul este adevărat) și starea unui zero logic (evenimentul este fals). Aceste variabile sunt numite variabile booleene după nume matematica engleza J. Boole, care în secolul al XIX-lea a dezvoltat principiile de bază logica matematica. Să notăm o variabilă logică cu x.

Diferite variabile booleene pot fi legate prin dependențe funcționale. De exemplu, expresia y = f (x1, x2) indică dependenta functionala variabila logică y din variabilele logice x1 și x2, numite argumente sau variabile de intrare.

Orice funcție logică poate fi întotdeauna reprezentată ca un set de operații logice simple. Astfel de operațiuni includ:

Negație (operația „NU”);

Înmulțirea logică (conjuncție, operație „ȘI”);

Adunarea logică (disjuncție, operație SAU).

Negația (operația NU) este o conexiune logică între variabila logică de intrare x și variabila logică de ieșire y astfel încât y este adevărat numai când x este fals și, invers, y este fals numai când x este adevărat. Să descriem această relație funcțională sub forma tabelului 1.1, care se numește tabel de adevăr.

Un tabel de adevăr este un tabel care afișează corespondența tuturor combinatii posibile valorile argumentelor binare la valorile unei funcții logice.

Tabelul 1.1- Tabelul de adevăr al operațiunii „NU”.

X y
0 1
1 0

Funcția logică NOT a variabilei y se scrie ca y =

și citește „y nu este x”. Dacă, de exemplu, x este o afirmație despre prezența unui semnal de nivel înalt (cel logic), atunci y corespunde unei afirmații despre prezența unui semnal de nivel scăzut (zero logic).

Înmulțirea logică (conjuncție, operație ȘI) este o funcție care este adevărată numai atunci când toate variabilele înmulțite sunt adevărate în același timp. Tabelul de adevăr al operației de înmulțire logică corespunde tabelului 1.2.

Tabelul 1.2- Tabelul de adevăr al operației de înmulțire logică

x2 x1 y
0 0 0
0 1 0
1 0 0
1 1 1

Operația AND este indicată de un punct ( ). Uneori punctul este subînțeles. De exemplu, operația AND dintre două variabile x1 și x2 se notează ca y = x1 x2.

Adunarea logică (disjuncție, operație SAU) este o funcție care este falsă numai atunci când toate variabilele de adunare sunt false în același timp. Tabelul de adevăr al operației de adăugare logică corespunde tabelului 1.3. Operația „SAU” se notează prin semnul V. De exemplu, y = x1 V x2.

Tabelul 1.3 - Tabelul de adevăr al operației de adunare logică

Studiu elemente de baza electronica digitala vom incepe cu cele mai simple, iar apoi vom avea in vedere cele din ce in ce mai complexe. Exemplele de aplicare a fiecărui element următor se vor baza pe toate elementele discutate mai devreme. În acest fel, se vor da treptat principiile principale pentru construirea unor dispozitive digitale destul de complexe.

Elementele logice (sau, așa cum sunt numite și porți) sunt cele mai simple microcircuite digitale. Această simplitate este cea care le deosebește de alte microcircuite. De regulă, un pachet de microcircuite poate conține de la unul la șase elemente logice identice. Uneori, diferite elemente logice pot fi localizate în același pachet.

De obicei, fiecare element logic are mai multe intrări (de la una la douăsprezece) și o ieșire. În acest caz, conexiunea dintre semnalul de ieșire și semnalele de intrare (tabelul de adevăr) este extrem de simplă. Fiecare combinație de semnale de intrare de element corespunde unui nivel zero sau unu la ieșirea sa. Nu memorie interna Elementele logice nu, deci aparțin grupului de așa-numitele microcircuite combinaționale. Dar, spre deosebire de circuitele combinaționale mai complexe discutate în prelegerea următoare, porțile logice au intrări care nu pot fi împărțite în grupuri care diferă în funcție de funcțiile pe care le îndeplinesc.

Principalele avantaje ale elementelor logice, in comparatie cu alte microcircuite digitale, sunt performantele lor ridicate (timpi de intarziere scurti), precum si consumul redus de energie (consum redus de curent). Prin urmare, în cazurile în care funcția necesară poate fi implementată exclusiv folosind elemente logice, este întotdeauna logic să se analizeze această opțiune. Dezavantajul lor este că pe baza lor este destul de dificil să implementezi vreuna funcții complexe. Prin urmare, de cele mai multe ori elementele logice sunt folosite doar ca o completare la microcircuite mai complexe, mai „inteligente”. Și orice dezvoltator se străduiește de obicei să le folosească cât mai puțin și cât mai rar posibil. Există chiar o opinie că priceperea dezvoltatorului este invers proporțională cu numărul de elemente logice pe care le folosește. Cu toate acestea, acest lucru nu este întotdeauna adevărat.

Invertoare

Cel mai simplu element logic este invertorul (element logic NOT, „invertor”), deja menționat în prima prelegere. Invertorul îndeplinește cea mai simplă funcție logică - inversarea, adică schimbarea nivelului semnalului de intrare la cel opus. Are o singură intrare și o singură ieșire. Ieșirea invertorului poate fi de tip 2C sau de tip OK. Pe orez. 3.1 sunt prezentate simboluri ale invertorului adoptat aici și în străinătate, iar în masa 3.1 Este prezentat tabelul de adevăr al invertorului.

Orez. 3.1. Simboluri ale invertoarelor: străine (stânga) și interne (dreapta)

De obicei, există șase invertoare într-un pachet de cip. Denumirea internă pentru microcircuitele cu invertor este „LN”. Exemple: KR1533LN1 (SN74ALS04) - șase invertoare cu ieșire 2C, KR1533LN2 (SN74ALS05) - șase invertoare cu ieșire OK. Există și invertoare cu ieșire OK și cu curent de ieșire crescut (LN4), precum și cu tensiune de ieșire crescută (LN3, LN5). Pentru invertoarele cu ieșire OK, rezistorul de tragere la ieșire trebuie să fie activat. Valoarea sa minimă poate fi calculată foarte simplu: R< U/I OL , где U - напряжение питания, к которому подключается резистор. Обычно величина резистора выбирается порядка сотен Ом - единиц кОм.

Cele două aplicații principale ale invertoarelor sunt inversarea polarității semnalului și inversarea marginii semnalului. (Fig. 3.2). Adică, dintr-un semnal de intrare pozitiv, invertorul face un semnal de ieșire negativ și invers, iar de la o margine pozitivă a semnalului de intrare, o margine negativă a semnalului de ieșire și invers. O altă aplicație importantă a unui invertor este tamponarea semnalului (cu inversare), adică creșterea capacității de încărcare a semnalului. Acest lucru poate fi necesar atunci când un semnal trebuie să fie furnizat la mai multe intrări, dar curentul de ieșire al sursei de semnal este insuficient.

Orez. 3.2. Inversarea polarității semnalului și inversarea marginii semnalului

Invertorul, ca element cel mai simplu, este folosit mai des decât alte elemente în incluziuni non-standard. De exemplu, invertoarele sunt utilizate în mod obișnuit în circuitele generatoare de unde pătrate (Fig. 3.3), al cărui semnal de ieșire se schimbă periodic de la zero la unitate și înapoi. Toate circuitele de mai sus, cu excepția circuitului d, sunt realizate pe elemente K155LN1, dar pot fi implementate și pe invertoare din alte serii cu o modificare corespunzătoare a valorilor rezistenței. De exemplu, pentru seria K555, valorile rezistențelor sunt aproximativ triplate. Circuitul d este realizat folosind elemente KR531LN1, deoarece necesită invertoare de mare viteză.

Orez. 3.3. Circuite ale generatoarelor de impulsuri pe invertoare

Circuitele a, b și c sunt oscilatoare RC convenționale, ale căror caracteristici (frecvența de ieșire, durata impulsului) pot fi calculate doar aproximativ. Pentru circuitele a și b, cu valorile indicate ale rezistenței și condensatorului, frecvența de generare va fi de aproximativ 100 kHz, pentru circuitul c - aproximativ 1 MHz. Aceste circuite sunt recomandate a fi utilizate numai în cazurile în care frecvența nu este prea importantă, dar faptul de generare în sine este important. Dacă valoarea exactă a frecvenței este importantă, atunci se recomandă utilizarea circuitelor d și d, în care frecvența semnalului de ieșire este determinată numai de caracteristicile rezonatorului cuarț. Circuitul d este folosit pentru un rezonator de cuarț care funcționează la prima armonică (fundamentală). Capacitatea poate fi estimată folosind formula:

unde F este frecvența de generare. Circuitul d este folosit pentru rezonatoarele armonice de cuarț, care funcționează la o frecvență mai mare decât cea fundamentală de 3, 5, 7 ori (acest lucru este uneori necesar pentru frecvențe de generare peste 20 MHz).

Orez. 3.4. Utilizarea invertoarelor pentru a întârzia semnalul

Invertoarele sunt folosite și în cazurile în care este necesară obținerea unei întârzieri a semnalului, deși nesemnificativă (de la 5 la 100 ns). Pentru a obține o astfel de întârziere, numărul necesar de invertoare este pornit în serie ( orez. 3.4, de mai sus). Total timp de intarziere, de exemplu, pentru patru invertoare, poate fi estimat folosind formula

tЗ = 2t PHL + 2t PLH

Adevărat, trebuie să ținem cont de faptul că, de obicei, întârzierile reale ale elementelor se dovedesc a fi semnificativ mai mici (uneori chiar la jumătate) decât parametrii tabulați t PHL și t PLH. Cam asta este valoare exacta Nu este nevoie să vorbim despre întârzierea rezultată, aceasta poate fi doar estimată.

Condensatorii sunt, de asemenea, folosiți pentru a întârzia semnalul (Fig. 3.4, mai jos). În acest caz, întârzierea apare din cauza încărcării și descărcării lente a condensatorului (tensiune pe condensator - UC). Circuitul fără rezistor (în stânga în figură) oferă o întârziere de aproximativ 100 ns. Într-un circuit cu un rezistor (în dreapta în figură), valoarea rezistenței ar trebui să fie de ordinul a sute de ohmi. Dar atunci când alegeți astfel de circuite cu condensatoare, trebuie să țineți cont de faptul că unele serii de microcircuite (de exemplu, KR1533) nu funcționează bine cu fronturi prelungite ale semnalelor de intrare. În plus, trebuie luat în considerare faptul că numărul de condensatori de sincronizare din circuit este invers proporțional cu nivelul de calificare al proiectantului de circuit.

În sfârșit încă un lucru aplicarea invertoarelor, dar numai cu ieșirea OK, constă în construirea pe baza lor a așa-numitelor elemente „SAU cu fir”. Pentru a face acest lucru, ieșirile mai multor invertoare cu ieșiri OK sunt combinate și conectate la sursa de alimentare printr-un rezistor (Fig. 3.5). Ieșirea circuitului este ieșirea combinată a tuturor elementelor. Acest design realizează funcția logică SAU-NU, adică ieșirea va avea un semnal logic numai dacă toate intrările sunt zero. Dar funcțiile logice vor fi discutate mai detaliat mai târziu.

Orez. 3.5. Combinarea ieșirilor invertorului cu OK pentru funcția NOR

În încheierea acestei secțiuni, trebuie remarcat că inversarea semnalului este utilizată și în interiorul elementelor logice mai complexe, precum și în interiorul cipuri digitaleîndeplinind funcții complexe.

Repetoare și tampon

Repetoarele și tampoanele diferă de invertoare în primul rând prin faptul că nu inversează semnalul (deși există și tampoane inversoare). Atunci de ce sunt necesare? În primul rând, îndeplinesc funcția de creștere a capacității de încărcare a semnalului, adică permit furnizarea unui semnal la mai multe intrări. Pentru aceasta, există tampoane cu curent de ieșire crescut și ieșire 2C, de exemplu, LP16 (șase repetoare tampon). În al doilea rând, majoritatea bufferelor au o ieșire OK sau 3C, ceea ce le permite să fie utilizate pentru a recepționa linii bidirecționale sau pentru a multiplexa semnale. Să explicăm acești termeni mai detaliat.

Orez. 3.6. Linie bidirecțională

Liniile bidirecționale sunt acele linii (firele) prin care semnalele pot călători în două direcții opuse. Spre deosebire de liniile unidirecționale, care merg de la o ieșire la una sau mai multe intrări, o linie bidirecțională poate conecta mai multe ieșiri și mai multe intrări simultan (Fig. 3.6). Este clar că liniile bidirecționale pot fi organizate doar pe baza ieșirilor OK sau 3C. Prin urmare, aproape toate tampoanele au exact aceste ieșiri.

Orez. 3.7. Linie multiplexată unidirecțională bazată pe buffere

Multiplexarea este transmisia de semnale diferite pe aceleași linii în momente diferite. Scopul principal al multiplexării este reducerea numărului total de trunchiuri. O linie bidirecțională este în mod necesar multiplexată, iar o linie multiplexată poate fi fie unidirecțională, fie bidirecțională. Dar, în orice caz, mai multe ieșiri sunt conectate la acesta, dintre care doar una este în stare activă la un moment dat. Ieșirile rămase sunt oprite în acest moment (transferate într-o stare pasivă). Spre deosebire de o linie bidirecțională, doar o singură intrare poate fi conectată la o linie multiplexată construită pe baza de buffere, dar mai multe ieșiri cu OK sau 3C trebuie conectate (Fig. 3.7). Liniile multiplexate pot fi construite nu numai pe tampoane, ci și pe cipuri multiplexer, care vor fi discutate în prelegerile 5, 6.

Orez. 3.8. Combinarea ieșirilor tampon cu OK

Un exemplu de buffere cu ieșire OK este cipul LP17 (șase buffere OK). Exact la fel ca in cazul invertoarelor cu OK (vezi Fig. 3.5), iesirile mai multor buffere cu OK pot fi combinate pentru a obtine functia "Editing AND", adica iesirea va avea un semnal logic doar atunci cand toate intrarile sunt una (Fig. 3.8). Adică, este implementat un element AND cu mai multe intrări.

Bufferele cu ieșire 3C sunt reprezentate mult mai mult o cantitate mare microcircuite, de exemplu, LP8, LP11, AP5, AP6, AP14. Aceste tampoane au în mod necesar o intrare de control EZ (sau OE), care transferă ieșirile într-o a treia stare, pasivă. De regulă, a treia stare corespunde uneia la această intrare, iar starea activă a ieșirilor corespunde cu zero, adică semnalul EZ are o polaritate negativă.

Bufferele pot fi unidirecționale sau bidirecționale, cu sau fără inversare a semnalului, cu controlul tuturor ieșirilor simultan sau cu controlul grupurilor de ieșiri. Toate acestea determină varietatea mare de cipuri tampon.

Tabelul 3.2. Tabelul de adevăr tampon fără inversare

Intrare

Ieșire

Cel mai simplu buffer unidirecțional fără inversare este cipul LP8 (patru buffere cu ieșiri de tip 3C și control separat). Fiecare dintre cele patru tampoane are propria sa intrare de rezoluție EZ. Tabelul de adevăr al tamponului este foarte simplu (Tabelul 3.2): când există un semnal zero la intrarea de control, ieșirea repetă intrarea, iar când există un singur semnal, ieșirea este dezactivată. Acest microcircuit este convenabil de utilizat pentru procesarea semnalelor individuale, adică pentru repetarea unui semnal de intrare cu capacitatea de a opri ieșirea.

Orez. 3.9. Folosind un buffer 3C ca tampon cu OK

Aceleași tampoane sunt uneori convenabile de utilizat pentru a înlocui tampoanele cu ieșire OK (Fig. 3.9). În acest caz, intrarea de control servește ca intrare de informații. Cu un zero la intrare obținem un zero la ieșire, iar cu unul la intrare obținem o a treia stare la ieșire.

Orez. 3.10. Multiplexarea a două coduri de intrare folosind tampoane cu 3C

Foarte des este necesar să se proceseze nu semnale individuale, ci grupuri de semnale, de exemplu, semnale care transmit coduri pe mai mulți biți. În acest caz, este convenabil să folosiți buffer-uri cu control de grup, adică să aveți o intrare cu permisiunea EZ pentru mai multe ieșiri. Exemple sunt microcircuitele LP11 (șase tampoane, împărțite în două grupuri: patru și două tampoane, fiecare dintre ele având propria sa intrare de control) și AP5 (opt tampoane, împărțite în două grupuri de patru tampoane, fiecare dintre ele având propria sa intrare de control). ).

Pe orez. 3.10 prezintă un exemplu de multiplexare a două coduri de opt biți folosind două microcircuite AP5. Ieșirile cu același nume ale ambelor microcircuite sunt combinate între ele. Trecerea fiecăruia dintre cele două coduri de intrare la ieșire este permisă de propriul semnal de control (Ex. 1 și Ex. 2), iar sosirea simultană a acestor două semnale trebuie exclusă pentru a nu exista conflicte la ieșiri.

Orez. 3.11. Activați tamponul bidirecțional

Tampoanele bidirecționale, spre deosebire de tampoanele unidirecționale, permit transmiterea semnalelor în ambele direcții. În funcție de semnalul de control special T (o altă denumire este BD), intrările pot deveni ieșiri și invers: ieșirile pot deveni intrări. Există, de asemenea, o intrare de control de stare a treia EZ, care poate dezactiva atât intrările, cât și ieșirile.

Pe orez. 3.11 Ca exemplu, este prezentat un tampon bidirecțional AP6, care poate transfera date între două magistrale bidirecționale A și B în ambele direcții. La un singur nivel la intrarea de control T (semnal de tensiune), datele sunt transferate de la magistrala A la magistrala B, iar la un nivel zero - de la magistrala B la magistrala A (Tabelul 3.3). Un singur nivel la intrarea de control EZ (semnal oprit) deconectează microcircuitul de la ambele magistrale.

Tabelul 3.3. Tabelul de adevăr al tamponului bidirecțional

Intrarea T

Autentificare-EZ

Operațiune

Transmisia bidirecțională poate fi, de asemenea, organizată pe baza tampoane unidirecționale. Pe orez. 3.12 se arată cum se poate face acest lucru pe două microcircuite AP5. Aici, cu un semnal de control zero. 1 informația va fi transmisă de la magistrala A la magistrala B și cu un semnal zero la intrarea de control. 2 - de la magistrala B la magistrala A. Dacă ambele intrări Control. 1 și Ex. 2 sunt în stare unică, apoi magistralele A și B sunt deconectate unul de celălalt, iar alimentarea cu zerouri la ambele intrări ale Controlului. 1 și Ex. 2 trebuie exclus, altfel starea ambelor autobuze A și B va fi nedeterminată.

Orez. 3.12. Organizarea transmisiei bidirecționale folosind buffer-uri unidirecționale

Microcircuitele tampon din seria domestică au diverse denumiri: LN, LP, AP, IP, ceea ce face uneori dificilă alegerea lor. De exemplu, LN6, LP8, LP11, AP5, AP6, IP5, IP6. Bufferele cu literele LN au inversare, bufferele AP și IP pot fi cu sau fără inversare. Toți parametrii bufferelor sunt destul de similari, diferența este în inversare, numărul de biți și semnalele de control.

Parametrii de temporizare ai bufferelor includ, pe lângă întârzierea semnalului de la intrarea informațiilor la ieșirea informației, și întârzierile în trecerea ieșirii la a treia stare și de la a treia stare la starea activă (t PHZ, t PLZ și t PZH, t PZL). Mărimile acestor întârzieri sunt de obicei aproximativ de două ori mai mari decât întârzierile dintre intrarea și ieșirea informațiilor.

Ieșirea comutabilă a tampoanelor (atât OK, cât și 3C) necesită utilizarea rezistențelor de sarcină. În caz contrar, intrarea conectată la ieșirea deconectată devine suspendată, drept urmare circuitul poate funcționa instabil și poate eșua. Rezistorul este conectat în cazul ieșirii OK (pull-up) într-un mod standard (vezi Fig. 3.8). În același mod, un rezistor poate fi conectat între ieșirea 3C și tensiunea de alimentare (Fig. 3.13), atunci când ieșirea este dezactivată, intrarea va primi un nivel logic. Cu toate acestea, puteți activa și un rezistor între ieșire și masă, apoi atunci când ieșirea este oprită, un semnal logic zero va fi trimis la intrare. Includerea a două rezistențe (divizor rezistiv) este, de asemenea, utilizată, în timp ce valoarea rezistorului superior (conectat la magistrala de alimentare) este de obicei selectată de 2-3 ori mai puțin decât rezistența inferioară (conectată la masă), iar valoarea două rezistențe conectate în paralel sunt selectate egale cu aproximativ 100 ohmi. De exemplu, rezistențele pot avea valori de 240 ohmi și 120 ohmi, 360 ohmi și 130 ohmi. Ieșirea dezactivată este percepută în acest caz de intrarea conectată la aceasta ca unitate.

Orez. 3.13. Activarea rezistențelor la ieșirea bufferelor 3C

Uneori, rezistențele nu sunt conectate deloc la ieșirile 3C, dar în acest caz este necesar să se asigure că intrarea ulterioară primește semnalul de la ieșirea 3C (adică reacționează la acesta) numai atunci când ieșirea este în stare activă. În caz contrar, sunt posibile defecțiuni și defecțiuni în funcționarea dispozitivului.

Orez. 3.14. Utilizarea tampoanelor pentru afișare

O altă aplicație comună pentru tampon, datorită curenților lor mari de ieșire, este afișajul LED. LED-urile pot fi conectate la ieșirea bufferelor în două moduri principale (Fig. 3.14). În primul dintre ele (în stânga în figură), LED-ul se aprinde când există un semnal logic 3C sau 2C la ieșire, iar în al doilea (în dreapta în figură) - când există un semnal logic. semnal zero la ieșirea OK. Valoarea rezistorului este selectată pe baza caracteristicilor LED-ului, dar este de obicei de aproximativ 1 kOhm.

Elemente ȘI, ȘI-NU, SAU, NI-NU

Următorul pas către creșterea complexității componentelor electronice digitale îl reprezintă elementele care îndeplinesc funcții logice simple. Ceea ce au în comun toate aceste elemente este că au mai multe egal intrări (de la 2 la 12) și o ieșire, semnalul la care este determinat de o combinație de semnale de intrare.

Cele mai comune funcții logice sunt AND (în notația internă - LI), AND-NOT (notat cu LA), OR (notat cu LL) și NOR-NOT (notat cu LL). Prezența cuvântului NOT în numele elementului înseamnă un singur lucru - inversarea semnalului încorporată. Următoarele abrevieri sunt folosite în sistemul internațional de notație: AND - AND function, NAND - Funcția NAND, funcția SAU - SAU, funcția NOR - SAU-NU.

Numele funcțiilor AND și SAU indică condiția în care apare semnalul de ieșire la intrări. Este important de reținut că în acest caz vorbim despre logică pozitivă, despre semnale pozitive, unice la intrări și ieșiri.

Elementul AND generează unul la ieșire dacă și numai dacă există unul la toate intrările sale (prima, a doua, a treia etc.). Dacă despre care vorbim despre elementul AND-NOT, atunci se formează un zero la ieșire când toate intrările sunt unu (Tabelul 3.4). Numărul de dinaintea numelui funcției indică numărul de intrări ale elementelor. De exemplu, 8AND-NOT este o poartă AND cu opt intrări cu inversare la ieșire.

Tabelul 3.4. Tabelul de adevăr al elementelor cu două intrări AND, NAND, SAU, NOR

Intrarea 1

Intrarea 2

Ieșire Și

Ieșire NAND

Ieșire SAU

Ieșire NOR

Elementul SAU generează zero la ieșire dacă și numai dacă toate intrările sunt zero. Elementul OR-NOT dă o ieșire zero dacă cel puțin una dintre intrări are un unu ( masa 3.4). Exemplu de desemnare: 4OR-NOT - element SAU cu patru intrări cu inversare la ieșire.

Orez. 3.15. Denumirile elementelor ȘI, ȘI-NU, SAU, SAU-NU: străine (stânga) și interne (dreapta)

Denumirile interne și străine pe diagramele elementelor cu două intrări ȘI, ȘI-NU, SAU, NU-NU sunt afișate în orez. 3.15. Toate aceste elemente vin cu ieșiri de tip 2C, OK și 3C. În acest din urmă caz, trebuie să existe o intrare de activare –EZ.

Nu este greu de observat (vezi tabelul 3.4), că în cazul logicii negative, cu semnale de intrare și ieșire zero, elementul AND îndeplinește funcția SAU, adică ieșirea va fi zero dacă cel puțin una dintre intrări este zero. Și elementul SAU cu logică negativă îndeplinește funcția AND, adică ieșirea va fi zero numai atunci când toate intrările conțin zerouri. Și din moment ce în viața reală dispozitive electronice semnalele pot fi de orice polaritate (atât pozitive, cât și negative), atunci trebuie să selectați întotdeauna cu mare atenție elementul necesar în fiecare caz specific. Este deosebit de important să ne amintim acest lucru atunci când mai multe elemente logice diferite cu și fără inversare sunt conectate în serie pentru a obține o funcție complexă.

Prin urmare, nu este întotdeauna convenabil pentru dezvoltator să folosească elementele ȘI, ȘI-NU, SAU, SAU-NU tocmai ca îndeplinind funcțiile logice indicate în numele lor. Uneori este mai convenabil să le folosești ca elemente de permite/refuză sau amestec/potrivire. Dar mai întâi, vom lua în considerare cazuri de implementare a funcțiilor logice pe aceste elemente.

Pe orez. 3.16 sunt date exemple de formare a semnalelor de ieșire de către elemente pe baza diagramelor de timp necesare ale semnalelor de intrare și de ieșire. În cazul a, semnalul de ieșire trebuie să fie egal cu unul cu două semnale de intrare unitare, prin urmare, elementul 2I este suficient. În cazul b, semnalul de ieșire ar trebui să fie egal cu zero, când cel puțin unul dintre semnalele de intrare este egal cu unul, prin urmare, este necesar un element 2SAU-NU. În cele din urmă, în cazul B, semnalul de ieșire trebuie să fie egal cu zero atunci când un singur semnal de intrare sosește simultan. 1, semnal zero In. 2 și un singur semnal de intrare. 3. În consecință, este necesar un element 3I-NOT, iar semnalul este In. 2 trebuie mai întâi inversat.

Orez. 3.16. Exemple de utilizare a elementelor AND și SAU

Oricare dintre elementele logice ale grupului luat în considerare poate fi considerat un transmițător controlat al semnalului de intrare (cu sau fără inversare).

De exemplu, în cazul elementului 2I-NOT, una dintre intrări poate fi considerată informațională, iar cealaltă - de control. În acest caz, când intrarea de control este unu, semnalul de ieșire va fi egal cu semnalul de intrare inversat, iar când intrarea de control este zero, semnalul de ieșire va fi constant egal cu unu, adică trecerea semnalului de intrare va fi interzis. Elementele 2I-NOT cu ieșire OK sunt adesea folosite exact ca tampoane controlate pentru operarea pe o linie multiplexată sau bidirecțională.

În același mod, elementele AND, OR, OR-NOT pot fi folosite ca element de permisiune/interdicție (Fig. 3.17). Diferența dintre elemente constă numai în polaritatea semnalului de control, în inversarea (sau absența acestuia) a semnalului de intrare, precum și în nivelul semnalului de ieșire (zero sau unu) la trecerea semnalului de intrare. este interzis.

Orez. 3.17. Activarea/interzicerea trecerii semnalelor pe elemente ȘI, ȘI-NU, SAU, NU-NU

Orez. 3.18. Apariția unei margini suplimentare atunci când semnalul de intrare este dezactivat

Când utilizați elemente de activare/dezactivare, pot apărea probleme suplimentare atunci când semnalul de la ieșirea elementului ajunge la o intrare care reacționează la marginea semnalului. În momentul trecerii de la starea de activare la starea de interdicție și de la starea de interdicție la starea de activare, poate apărea o margine suplimentară în semnalul de ieșire, care nu este în niciun fel conectată cu semnalul de intrare (Fig. 3.18). Pentru a preveni acest lucru, trebuie să respectați următoarele regula simpla: Dacă intrarea reacționează la o margine pozitivă, atunci în starea de blocare ieșirea elementului trebuie să fie zero și invers.

Uneori este necesar să se implementeze o funcție pentru amestecarea a două semnale de o polaritate sau alta. Adică, semnalul de ieșire trebuie generat atât când sosește un semnal de intrare, cât și când sosește un alt semnal de intrare. Dacă ambele semnale de intrare sunt pozitive și semnalul de ieșire este pozitiv, atunci avem formă pură Funcția OR și este necesar un element 2OR. Cu toate acestea, cu semnale de intrare negative și un semnal de ieșire negativ, va fi necesar un element 2I pentru aceeași amestecare. Și dacă polaritatea semnalelor de intrare nu coincide cu polaritatea dorită a semnalului de ieșire, atunci sunt necesare elemente cu inversare (ȘI-NU pentru semnalele de ieșire pozitive și NOR-NU pentru semnalele de ieșire negative). Pe orez. 3.19 Sunt afișate opțiunile de amestecare pe diferite elemente.

Orez. 3.19. Implementarea mixării a două semnale

În cele din urmă, elementele luate în considerare ȘI, ȘI-NU, SAU, SAU-NU sunt uneori convenabile de utilizat ca circuite de potrivire pentru diferite semnale. Adică semnalul de ieșire trebuie generat atunci când semnalele de la intrări coincid (sovin în același timp). Dacă nu există nicio potrivire, atunci nu ar trebui să existe semnal de ieșire. Pe orez. 3.20 Sunt prezentate variante ale unor astfel de scheme de coincidență pe patru elemente diferite. Ele diferă prin polaritățile semnalelor de intrare, precum și prin prezența sau absența inversării semnalului de ieșire.

Orez. 3.20. Scheme pentru potrivirea a două semnale

Să luăm în considerare două exemple de utilizare în comun a elementelor AND, NAND, OR, NOR ( orez. 3.21).

Orez. 3.21. Exemple partajarea elemente

Să presupunem că este necesar să amestecăm două semnale, fiecare dintre acestea putând fi activat sau dezactivat. Lăsați polaritatea semnalelor de intrare și a semnalelor de activare să fie pozitivă, iar semnalul de ieșire ar trebui să fie negativ. În acest caz, trebuie să luați două porți AND cu două intrări și să amestecați semnalele lor de ieșire folosind o poartă NOR cu două intrări (a).

Să presupunem că este necesar să amestecăm două semnale negative și un semnal pozitiv, iar semnalul rezultat poate fi activat sau dezactivat. Polaritatea semnalului de activare este negativă, polaritatea semnalului de ieșire este negativă. Pentru a face acest lucru, trebuie să luați un element AND cu trei intrări, un invertor pentru semnalul de intrare negativ și un element SAU cu două intrări (b).

Elementele AND, AND-NOT, OR, NOR-NOT pot fi utilizate și ca invertoare sau repetoare (Fig. 3.22), pentru care este necesară combinarea intrărilor sau furnizarea unui semnal de nivelul necesar intrărilor neutilizate. Al doilea este de preferat, deoarece combinarea intrărilor nu numai că crește curentul de intrare, ci și reduce oarecum performanța elementelor.

Orez. 3.22. Invertoare și repetoare

Orez. 3.23. Combinarea I intrări ale microcircuitelor

Funcția AND combină adesea intrările unor microcircuite mai complexe. Cu alte cuvinte, o anumită funcție este efectuată numai atunci când toate intrările combinate de ȘI primesc semnale de polaritatea necesară. Cel mai adesea, intrările pentru selectarea cipului CS și intrările de control pentru a treia stare a ieșirii cipului EZ sunt combinate folosind AND. Pe orez. 3.23 sunt prezentate trei exemple de astfel de combinație AND. Trebuie să se țină seama de faptul că pentru a îndeplini funcția trebuie să fie recepționate semnale zero la intrările inverse, iar semnalele individuale trebuie să fie recepționate la intrările directe. Exemple sunt microcircuitele KR556RT4, KR556RT5, KR1533AP14, KR1533AP15.

Până acum, luând în considerare elementele AND, NAND, OR, NOR, nu am depășit primul nivel de reprezentare ( model logic). Acest lucru este destul de acceptabil în cazul în care semnalele de intrare ale elementelor nu se modifică simultan sau aproape simultan, când fronturile lor sunt distanțate semnificativ în timp (mai mult decât timpul de întârziere al elementului). Cu modificări simultane ale semnalelor de intrare, totul va fi mult mai complicat este necesar să se implice un al doilea și uneori al treilea nivel de reprezentare. Când semnalele de intrare se schimbă, semnalul de ieșire devine incert, instabil și imprevizibil. În consecință, dacă designul este incorect, este posibil ca un întreg circuit complex, un întreg dispozitiv sau chiar un sistem mare să nu funcționeze.

De exemplu, să luăm un element logic 2ȘI-NU. Să ajungă semnale la intrările sale care se schimbă simultan și în antifază, adică unul comută de la zero la unu, iar celălalt de la unu la zero. Să presupunem că dintr-un motiv sau altul (din cauza transmisiei prin fire, din cauza diverselor întârzieri ale elementelor etc.) unul dintre semnale s-a deplasat ușor în timp față de celălalt (Fig. 3.24). În acest caz, două semnale individuale vor fi prezente la două intrări pentru o perioadă scurtă. Ca rezultat, ieșirea va începe să treacă de la unu la zero. Poate avea timp să comute, iar apoi se va forma un scurt impuls. S-ar putea să nu aibă timp să schimbe și atunci nu va mai exista niciun impuls. Uneori poate avea timp să comute, iar uneori poate să nu aibă timp, iar apoi impulsul de ieșire va apărea sau nu. Totul depinde de viteza elementului și de cantitatea de întârziere. Ultima situație este cea mai neplăcută, deoarece poate provoca o defecțiune instabilă, care este extrem de greu de identificat.

Orez. 3.24. Impuls scurt la ieșirea elementului 2I-NOT

Ca exemplu, să luăm una dintre cele mai comune aplicații ale elementelor luate în considerare AND, AND-NOT, OR, NOR-NOT - selecția codului. Esența selecției se rezumă la următoarele. Să existe o anumită magistrală prin care se transmit codurile. Este necesar să se identifice aspectul unui fel de cod specific, adică generați un semnal de ieșire corespunzător codului de intrare necesar.

Orez. 3.25. Selectarea codului de acces

Circuitul care îndeplinește această funcție este destul de simplu. (Fig. 3.25). Se bazează pe elemente multi-input AND-NOT. În acest caz, semnalele corespunzătoare biților codului, care ar trebui să conțină unii, sunt alimentate direct la intrările elementelor NAND. Iar semnalele corespunzătoare biților codului, care ar trebui să conțină zerouri, sunt furnizate intrărilor elementelor NAND prin invertoare. Semnalele de ieșire ale porților NAND sunt combinate folosind poarta NOR. Ca rezultat, semnalul Out este generat la ieșirea elementului OR-NOT. 1 în momentul în care codul necesar este prezent la intrare.

Sincronizarea va fi discutată mai detaliat în prelegerile următoare.

Cu toate acestea, există cazuri în care caracteristica specificată a elementelor AND, AND-NOT, OR, NOR-NOT de a genera impulsuri scurte la schimbarea semnalelor de intrare se dovedește a fi foarte utilă. De exemplu, trebuie să generăm un impuls scurt pe marginea pozitivă sau negativă a unui semnal existent. Apoi, acest semnal este inversat, special întârziat folosind un lanț de elemente sau capacitate, iar semnalul original și semnalul întârziat sunt furnizate la intrările elementului. (Fig. 3.26).

Orez. 3.26. Generatoare de impulsuri scurte de-a lungul marginii semnalului de intrare

Un impuls pe marginea pozitivă a semnalului de intrare este format pe elementul 2I sau 2I-NOT (a), iar un impuls pe marginea negativă a semnalului de intrare este generat pe elementul 2OR sau 2OR-NOT (b). Dacă elementul este cu inversare, atunci impulsul de ieșire va fi negativ, dacă nu este invers, atunci pozitiv. Cu valoarea capacității indicată în diagrame, durata impulsului este de aproximativ 50 ns. Pentru a crește durata impulsului, este necesară creșterea valorii capacității sau a numărului de invertoare din circuitul de întârziere (în acest caz, numărul de invertoare trebuie să fie impar).

Studiul circuitelor digitale trebuie să înceapă cu teoria automatelor. În acest articol puteți găsi câteva lucruri de bază care vă vor ajuta să nu vă pierdeți în articolele ulterioare. Am încercat să fac articolul ușor de citit și sunt încrezător că un cititor neinstruit îl va putea înțelege cu ușurință.


Semnal- un mediu de stocare a materialelor utilizat pentru transmiterea mesajelor printr-un sistem de comunicații. Un semnal, spre deosebire de mesaj, poate fi generat, dar recepția lui nu este necesară (mesajul trebuie acceptat de partea care primește, altfel nu este un mesaj, ci doar un semnal).

Articolul discută despre un semnal digital discret. Acesta este un semnal care are mai multe niveluri. Evident, un semnal binar are două niveluri - și ele sunt luate ca 0 și 1. Când un nivel ridicat este notat cu unu și un nivel scăzut cu zero, o astfel de logică se numește pozitivă, altfel negativă.

Un semnal digital poate fi reprezentat ca o diagramă de timp.

În natură, semnalele discrete nu există, așa că sunt înlocuite cu cele analogice. Un semnal analogic nu poate trece de la 0 la 1 instantaneu, așa că un astfel de semnal are o margine înainte și o margine descendentă.
Dacă îl desenezi într-un mod simplificat, arată astfel:

1 - nivel scăzut al semnalului, 2 - nivel ridicat al semnalului, 3 - creștere a semnalului (margine), 4 - scădere a semnalului (tăieri)

Semnalele pot fi convertite. În acest scop, în practică, se folosesc elemente logice, iar pentru a nota acest lucru formal se folosesc funcții logice. Iată pe cele principale:

Negație - inversează semnalul.
Pe diagrame este indicat astfel:

SAU logic (adunare, disjuncție logică)

Pe diagramă:

ȘI logic (înmulțire logică, conjuncție)

Pe diagramă:

Ultimele două pot avea o ieșire negativă (NAND, NOR). Valorile funcțiilor lor logice sunt inversate, iar rezultatul este desenat ca un cerc în diagramă.

Un tabel rezumat al funcțiilor logice a două argumente arată astfel:

Lucrul cu funcții logice se bazează pe legile algebrei logice, ale căror elemente de bază sunt prezentate în fișierul atașat. Există, de asemenea, sarcini pentru autocontrol și întrebări de control pe această temă.

Proiectarea circuitelor logice folosind funcții de algebră logică

Circuit logic este un ansamblu de elemente electronice logice legate între ele în așa fel încât să fie îndeplinită o anumită lege de funcționare a circuitului, cu alte cuvinte, este îndeplinită o funcție logică dată.
Pe baza dependenței semnalului de ieșire de semnalul de intrare, toate circuitele logice electronice pot fi împărțite în:

Scheme de primul fel, adică circuite combinaţionale, al cărui semnal de ieșire depinde numai de starea semnalelor de intrare în fiecare moment de timp;

Scheme de al doilea fel sau circuite de acumulare(sistem secvenţial), care conțin circuite de acumulare ( elemente cu memorie), al cărui semnal de ieșire depinde atât de semnalele de intrare, cât și de starea circuitului în momentele anterioare.

In functie de numarul de intrari si iesiri, circuitele pot fi: cu o intrare si o iesire, cu mai multe intrari si o iesire, cu o intrare si mai multe iesiri, cu mai multe intrari si iesiri.

Conform metodei de sincronizare, schemele sunt împărțite în cu sincronizare externă (mașini sincrone), cu sincronizare internă(automatele asincrone sunt cazul lor special).

Aproape orice computer constă dintr-o combinație de circuite de primul și al doilea tip de complexitate variabilă. Astfel, baza oricărei mașini digitale care prelucrează informații digitale sunt două tipuri de elemente electronice: joc de inteligență sau combinaționalăȘi memorând. Elementele logice efectuează cele mai simple operații logice asupra informațiilor digitale, iar elementele de stocare servesc la stocarea acesteia. După cum știți, o operație logică constă în transformarea informațiilor digitale de intrare în ieșire conform anumitor reguli.

Putem presupune că funcțiile logice elementare sunt operatori logici ai elementelor electronice menționate, i.e. scheme Fiecare astfel de schemă este indicată printr-un simbol grafic specific. (Au fost prezentate mai sus - Elemente AND, OR, NOT, NOR-NOT, AND-NOT)

Ca exemplu, mai jos este o diagramă funcțională electrică a unui convertor logic (mașină combinată) care implementează o funcție logică într-o bază elementară de elemente logice ȘI, SAU, NU.

Pentru a consolida, îmi propun să sintetizez independent un circuit logic care implementează următoarele funcții logice:

Acest lucru se poate face, de exemplu, în Electronic workbench.

Iată un exemplu al primei sarcini finalizate: