8.8 Probleme

8.1 Discutați motivele pentru care utilizați codurile binare pentru a reprezenta informațiile dintr-un computer digital.

(i) Convertiți următoarele numere binare în forma zecimală: (a) 10110, (b) 0.101, (c) 1101.1101

(ii) Convertiți următoarele numere zecimale în forma binară: (a) 29, (b) 0,5625, (c) 10,3125

De ce este convenabil să gestionați numere binare sub formă hexazecimală? Scrieți valorile hex a celor șase numere date mai sus.

8.2 Convertiți (1001010.11)2 într-un număr hex. De asemenea, convertiți (6D.0F)16 în număr binar.

Care este reprezentarea octală a fiecăruia dintre aceste două numere?

8.3 Convertiți (18347.319)10 în reprezentare octală, apoi în binară și de la aceea la reprezentare hex.

8.4 Efectuați următoarele două operații în complementul lui 2 și exprimați rezultatul în forma complementului lui doi:

Verificați-vă rezultatul folosind numerele zecimale echivalente.

8.5 Efectuați următoarele calcule binare

(i) De exemplu, (1011)2 × (101)2

(ii) (1101101)2 ÷ (101)2

8.6 Determinați (010100)sm + (111011)sm și exprimați rezultatul în forma sm.

8.7 Explicați proprietatea „extinderii semnului”, așa cum se aplică codificării numerelor cu semne pentru utilizare în computere digitale.

Efectuați următoarele operațiuni în complementul lui unu și dați răspunsurile sub forma complementului lui unu:

(i) (01010)1's + (10010)1's

(ii) (01010)1's - (10010)1's

(iii) (10101)1's + (10010)1's

Verificați răspunsurile folosind numere zecimale.

8.8 Efectuați următoarele calcule aritmetice binare și exprimați rezultatul în binar. Verificați răspunsurile folosind calcule zecimale.

(i) (1101)2 × (110)2

(ii) (11001101)2 ÷ (1011)2

8.9 Considerați numărul negativ -(1101), care este în formă binară. Are o valoare zecimală de -13. Determinați reprezentarea sa în complementul față de 2.

8.10 Efectuați următoarele operații și exprimați rezultatul în forma complementul lui 2.

Verificați rezultatele folosind valorile zecimale ale numerelor.

(i) (10001)2's + (01011)2's

(ii) (11001)2's - (00011)2's

(iii) (10001)2's + (10010)2's

iv) (01110)2's + (01101)2's

8.11 Codurile sunt utilizate în sistemele digitale pentru a reprezenta informații precum valori numerice și text (sau caractere). Luați în considerare următoarele patru coduri:

(a) Cod binar natural
(b) Cod binar gray
(c) BCD
(d) Codul standard american pentru schimbul de informații (ASCII)

Afirmați care dintre aceste coduri sunt utilizate pentru a reprezenta valori numerice, care sunt utilizate pentru a reprezenta caractere și care pentru valorile numerice și caractere. Dați una sau mai multe aplicații ale acestor patru coduri în sistemele digitale.

Folosind un cuvânt pe 4 biți, scrieți codurile binar direct și gray pentru numerele de la 0 la 15. Pentru valoarea de pornire (zero), faceți codurile binar direct și gray identice.

Scrieți reprezentarea BCD pentru valorile zecimale de la 0 la 15.

8.12 (i) Convertiți (456,128)10 în forma BCD.

(ii) Convertiți (10000110.10010010)BCD în forma zecimală.

8.13 Demonstrați modul în care ați aplica legea lui De Morgan la expresiile care conțin fie produse (AND logic), fie sume (OR logic) de mai mult de doi termeni. Ilustrați abordarea pentru

Simplificați expresia booleană

Notă: Operațiile AND sunt efectuate înainte de operațiile OR.

8.14 Folosind algebra booleană, verificați următoarele „Proprietăți de absorbție” ale logicii:

A OR A AND B = A

A AND (A OR B) = A.

Folosind unul dintre aceste rezultate și alte proprietăți/legi booleane, simplificați expresia Booleană

Notă: Operațiile AND sunt efectuate înainte de operațiile OR.

8.15 Utilizând algebra booleană, verificați următoarele „Proprietăți de simplificare” ale logicii:

A OR NOT A AND B = A OR B

A AND (NOT A OR B) = A AND B

Notă: operațiile NOT sunt efectuate înainte de AND; operațiile AND sunt efectuate înainte de OR.

8.16 Pregătiți un tabel de adevăr pentru a reprezenta relația booleană

Folosind acest tabel exprimați a în:

(i) formă de sumă de produse
(ii) formă de produs de sume

Verificați dacă răspunsurile dvs. sunt echivalente cu expresia inițială pentru a.

8.17 Pregătiți un tabel de adevăr pentru a reprezenta relația booleană

Folosind acest tabel exprimați a în

(i) Forma sumei de produse
(ii) Forma produs de sume

Verificați dacă răspunsurile dvs. sunt echivalente cu expresia inițială pentru a.

8.18 Se spune că poarta NOR este complet funcțională. Explicați sensul acestei mențiuni de stare. Realizați AND folosind doar porți NOR.

8.19 Un decodor 2 la 4 este un dispozitiv digital a cărui intrare este un cuvânt binar de 2 biți. Ieșirea are 4 linii, dintre care una este activată high (1) în funcție de valoarea de intrare. Rețineți că intrarea este una dintre cele patru valori zecimale 0, 1, 2 și 3 (sau, binar 00, 01, 10 și 11). Realizați un circuit logic pentru acest decodor folosind doar porți AND și NOT.

8.20 Ilustrați modul în care funcția booleană

poate fi implementată folosind

(i) Numai porți NAND
(ii) Numai porțile NOR

8.21 Care sunt avantajele familiei logice CMOS față de familia logică TTL? Cum s-ar putea combina cele două familii logice în același sistem digital?

O poartă logică TTL este prezentată în figura P8.21. Intrările la poartă sunt A și B, iar ieșirea este C. Ce operație logică oferă această poartă? Explicați principiul de funcționare al acestei porți logice.

FIGURA P8.21 O poartă logică TTL de bază

8.22 Un sistem de securitate de bază pentru o casă funcționează după cum urmează:

Când sistemul este activat în modul „acasă”, doar o deschidere a unei uși sau ferestre va suna alarma. Când sistemul este activat în modul „departe”, orice mișcare în interiorul casei sau deschiderea unei uși/ferestre va suna alarma.

Activarea sistemului se face manual folosind un comutator binar cu 1-logic reprezentând „acasă” și 0-logic reprezentând „departe”. Această stare logică este notată cu H. Detecția unei mișcări de către senzorul de mișcare este notată de M. Deschiderea unei uși sau o fereastră este notată cu O. Activarea alarmei este notată cu A.

(a) Presupunând că semnalele logice H, M, O și A sunt toate high-active, dezvoltați un circuit logic folosind numai porți OR și porți NOT pentru acest sistem de alarmă.

(b) Presupunând că semnalele M și O sunt disponibile sub formă low-activă (adică, M.L și O.L) iar semnalul de ieșire A este și el necesar în forma low-activă (adică, A.L), modificați circuitul din partea (a) pentru a realiza sistemul (utilizând doar porți OR și NOT).

8.23 Pentru fiecare dintre următoarele funcții logice, formați harta K și utilizând-o obțineți o funcție logică minimă echivalentă:

8.24 Reduceți funcția logică pregătind o hartă K pentru funcție.

8.25 Un drum cu o singură direcție se întâlnește cu un drum cu două sensuri, așa cum se arată în figura P8.25. Vehiculele de pe drumul cu singur sens au voie să facă viraje doar la dreapta și la stânga (adică este o fundătură). Există senzori pentru detectarea vehiculelor în pozițiile A, B și C, care generează semnale high (1-logic) când vehiculele sunt prezente și semnale low (0-logic) când vehiculele nu sunt prezente. Dispozitivele hardware logice urmează să fie dezvoltate pentru a acționa semnalul de virare la dreapta (cu ieșire R high-activă) și semnalul de virare la stânga (cu ieșire L high-activă) pe drumul cu un singur sens. Intrările la aceste dispozitive sunt semnale logice notate cu A, B și C, generate de senzorii de detectare a vehiculelor.

FIGURA P8.25 Semnale de virare pentru o intersecție rutieră

Logica care guvernează funcționarea celor două semnale este următoarea: Semnalul de viraj-dreapta este ON atunci când nu există vehicule la A și există vehicule la C. Semnalul de viraj dreapta este de asemenea ON, când nu există vehicule la A, B și C. Semnalul de viraj-stânga este ON atunci când nu există vehicule la A și B și există vehicule la C.

(a) Exprimați logica care guvernează cele două dispozitive
(b) Folosind o hartă K, minimizați logica, dacă este posibil
(c) Oferă circuite pentru punerea în aplicare a celor două dispozitive, folosind numai porți NOR și NOT.

8.26 (a) În ce diferă dispozitivele logice secvențiale de dispozitivele logice combinaționale?

(b) Prin ce diferă operarea asincronă a unui dispozitiv logic de operarea sincronă?

(c) Dați circuitul pentru un flip-flop RS folosind numai porți NOR. Extindeți acest lucru la un circuit latch asincron, folosind porți NOR și porți NOT.

8.27 (a) Comparați și contrastați următoarele trei tipuri de flip-flop-uri: flip-flop JK, flip-flop D și flip-flop T. Indicați cum pot fi obținute ultimele două flip-flop-uri ca niște cazuri speciale ale unui flip-flop JK. Care este utilizarea practică a capacității de „a comuta” datele unui flip-flop T?

(b) Dezvoltați un contor binar de 3 biți folosind flip-flop-uri-D. Este nevoie de o secvență de numărare a cuvintelor binare directe pe 3 biți (000, 001, 010, 011, 100, 101, 110 și 111).

8.28 Conturați procesul de producție al unui cip IC tipic. Presupuneți că un circuit de control digital este asamblat folosind elemente discrete, cum ar fi tranzistoarele de joncțiune bipolară, diode, condensatoare și rezistoare, în locul versiunilor lor monolitice. Care sunt neajunsurile unui astfel de controller în comparație cu un controller pe o singură placă care folosește cipuri IC (monolitice)?

8.29 Explicați acronimele IC, placa PC, SSI, MSI, LSI și VLSI. Oferiți o clasificare pentru dispozitivele IC bazată pe densitatea porții logice. În ce categorie ați pune un cip modern cu microprocesor pe 32 biți?

8.30 O caracteristică de bază a unui sistem digital este faptul că multe componente hardware ale sistemului sunt capabile să stocheze și/sau să transfere date binare. Deoarece este necesar un element cu două stări pentru a reprezenta o cifră (bit) binară, acest tip de hardware digital ar trebui să posede fizic caracteristica cu două stări. Enunțați pe scurt cele două stări fizice asociate cu elementele din următoarele tipuri de hardware: (a) circuit TTL, (b) memorie MOSFET nevolatilă, (c) memorie cu bule magnetice, (d) fibră optică, (e) CCD (dispozitiv cuplat la sarcină), (f) hard disk-ul computerului, (g) EAROM (ROM modificabilă electric).

8.31 (a) Ce este un circuit logic combinațional și ce este un circuit logic secvențial?

Descrieți utilizarea unui flip-flop sau a unui latch ca element de bază în memoria semiconductoare. Pregătiți un tabel de adevăr similar cu cel din figura 8.13b, pentru un flip-flop RS care folosește două porți NOR cuplate încrucișat.

(b) Un encoder optic (un senzor de mișcare care detectează deplasarea în pași și produce corespunzător impulsuri) generează două secvențe de impulsuri care sunt 90° defazate. Într-o direcție de mișcare (notată cu L), o secvență de impulsuri (notată cu A) conduce pe cealaltă (notată de B) cu 90°, iar în direcția opusă de mișcare (notată cu R) această secvență de impuls (A) rămâne în urmă cealaltă (B) cu 90°. Această situație este prezentată în figura P8.31. Presupuneți că cele două secvențe sunt citite într-un registru de 2 biți, nivelul de tensiune high al fiecărui semnal fiind reprezentat de un bit 1 și nivelul low (zero) de tensiune fiind reprezentat de un bit-0. Verificați dacă în direcția L de mișcare, valoarea registrului se va modifica conform secvenței:

FIGURA P8.31 Două secvențe de impuls care sunt defazate la 90°,
generate de un encoder de mișcare

iar în direcția R a mișcării ea va fi

Explicați o modalitate simplă de a detecta direcția de mișcare verificând valoarea binară din registru. Discutați despre o modalitate de a implementa fizic această metodă de detectare a direcției.

8.32 Care este principalul avantaj al includerii histerezisului într-un element de comutare? Ce este un trigger-Schmitt? Descrieți funcționarea circuitului trigger-Schmitt care folosește două tranzistoare bipolare cu joncțiune ca în figura 8.19a. Chiar dacă un trigger-Schmitt poate fi construit folosind elemente discrete în acest mod, acest dispozitiv este disponibil comercial sub formă monolitică, ca un singur cip IC. Presupuneți că un semnal sinusoidal este aplicat unui trigger-Schmitt, așa cum este arătat schematic în figura P8.32. Discutați forma semnalului de ieșire. Care este frecvența de ieșire?

FIGURA P8.32 Un trigger-Schmitt excitat de un semnal sinusoidal

8.33 De regulă într-un controller digital al unui sistem mecatronic, operațiile aritmetice, ADD și SUBTRACT, sunt efectuate utilizând hardware. Operații mai complexe, incluzând MULTIPLY și DIVIDE, pot fi implementate fie prin hardware, fie prin software. Operațiile software pot fi mai mult decât un ordin de mărime mai lente. Comparați utilizarea de controllere intensiv hardware cu controllere intensiv software (sau controllere bazate pe computer digital) în funcție de factori precum viteza de procesare, flexibilitate, posibilitatea de a folosi algoritmi de control complecși și costul controllerului. Ați clasifica un controller bazat pe ROM care nu are memorie programabilă, ca un controller intensiv-hardware sau ca un controlor intensiv-software?

8.34 Care sunt componentele hardware esențiale ale unui microcontroller de bază? Folosind o diagramă schematică arătați organizarea unui astfel de computer de bază.

Explicați acronimele RAM, ROM, PROM, EPROM și EEPROM (sau, EAPROM). Care e diferența dintre

(a) Memorie volatilă și memorie nevolatilă?
(b) Memorie statică și memorie dinamică?
(c) Memorie semiconductoare și memoria cu bule magnetice?

Care dintre aceste tipuri de memorie nu pot fi utilizate ca ROM?

8.35 Explicați următoarele metode de transfer de date între un microcontroller și un dispozitiv periferic:

(a) I/O programate,
(b) I/O de întrerupere,
(c) DMA.

Ce metodă ați utiliza în achiziția datelor pentru control în timp-real? În care din cele trei categorii ați pune I/O mapate cu memorie?

8.36 Explicați ce roluri joacă următorii factori în controlul în timp-real folosind un microcontroller:

(a) Dimensiunea cuvântului microprocesorului
(b) Timpul ciclului de mașină al microprocesorului
(c) Timpul ciclului de instrucțiuni al sistemului microcontroller
(d) Numărul de instrucțiuni din programul limbajului mașinii al algoritmului de control

Care sunt avantajele și dezavantajele extinderii setului de instrucțiuni al unui microprocesor?

Frecvența ceasului principal al unui microprocesor este cunoscută a fi de 5 MHz. Un ciclu de mașină durează două perioade de ceas și sunt necesare două cicluri de mașină pentru o singură instrucțiune. Microprocesorul este utilizat într-o aplicație de control în timp- real. Hardware-ul de intrare al controllerului include un multiplexor și un grup de unități ADC de 10 biți. Durata ciclului ADC este de 5 ms, iar multiplexorul ia 0,5 ms pentru un comutator de canal.

(a) Câte canale de intrare poate gestiona multiplexorul în mod optim?
b) Care este rata de instrucțiune din MIPS?
(c) Estimați dimensiunea maximă a programului pentru un algoritm de control în K (1024 octeți) dacă se folosesc trei octeți (un octet pentru opcode și doi octeți pentru câmpul de adresă) pentru o instrucțiune.
(d) Estimați lățimea de bandă a controlului.

8.37 Utilizând o diagramă schematică adecvată, identificați componentele hardware de bază ale interfeței pentru conectarea unui sistem mecatronic la un microcontroller pentru controlul în timp-real și explicați funcțiile lor. Enumerați câțiva factori care determină

(a) Rata ADC (viteza la care datele sunt furnizate în microcontroller)
(b) Rata DAC (rata la care datele sunt trimise de la microcontroller)
(c) Frecvența de control (viteza la care este actualizat semnalul de control) pentru controlul în timp-real al unui dispozitiv mecatronic. Explicați de ce ar fi necesar un registru de intrare și un buffer în serie (dublă buffer-are) pentru a îmbunătăți rata ADC.

O buclă de control în timp-real, bazată pe microprocesor, are un singur ADC cu un buffer dublu, un microcontroller de control și un singur DAC. Rata ADC la care semnalul de feedback măsurat este eșantionat în bufferul de intrare este de 10 k cuvinte/s. Microprocesorul poate citi date din bufferul de intrare la o rată de 1 M cuvinte/s. Poate scrie date în registrul de ieșire la același ritm. Un ciclu tipic de calcul al controlului implică citirea conținutului bufferului de intrare, efectuarea unei „identificări a sistemului” (adică, calcularea unui model dinamic) folosind aceste date, calcularea noului semnal de control și încărcarea semnalului de control în registrul de ieșire pentru a fi cules de DAC al canalului de control. Numai calculele necesită un timp de procesare de 1 ms, timp în care microprocesorul nu este disponibil pentru citirea datelor din bufferul de intrare sau pentru trimiterea datelor la DAC.

(a) Estimați dimensiunea minimă necesară a bufferului de intrare.
(b) Care este cea mai bună frecvență de control care poate fi furnizată de acest controller?

8.38 Care sunt cele două funcții principale ale hardware-ului utilizat pentru controlul unui motor pas cu pas? Utilizând o diagramă schematică, explicați un sistem de control cu feedback bazat pe un microcontroller pentru un motor pas cu pas.

Un controller de motor pas cu pas utilizează un cip contor de 12 biți (un contor hardware). Dacă un pas al motorului corespunde unei mișcări de sarcină de 0,2 mm, care este mișcarea maximă a sarcinii (cursă) care ar putea fi controlată?

8.39 Care este funcția principală a unui cip adaptor de intrare/ieșire pentru un microcontroller?

Considerați un cip I/O având 40 de pini. Alocarea pinilor include un pin de alimentare, un pin semnal de tact (clock) al microcontrolerului, un pin de resetare, pinii cerere de întrerupere, un pin de control citire/scriere, pinii de selectare a cipului și pini de selectare registre. Credeți că acest cip I/O

(a) Poate gestiona date bidirecționale (adică transfer de date în ambele direcții) în octeți?
(b) Poate gestiona întreruperi?
(c) Are capacitate handshaking?

8.40 Programul limbajului mașină care este stocat într-o memorie de microcontroller este doar un set de „instrucțiuni”. Considerați o instrucțiune care este lungă de 3 bytes. Indicați ce informații ar putea purta. Durata ciclului de instrucțiuni va varia de la instrucțiune la instrucțiune, în funcție de informațiile furnizate de o instrucțiune. Care sunt factorii care contribuie la determinarea timpului de ciclu al instrucțiunii?

Explicați de ce poate fi crescută acuratețea și viteza unui microcontroller prin creșterea dimensiunii cuvântului microprocesorului și prin adresarea unui cuvânt și nu a unui octet la un moment dat. Câte locații de memorie (cuvinte dintr-o mașină adresabilă prin cuvinte) pot fi adresate folosind o adresă de 16 biți?

8.41 Teorema de eșantionare a lui Shannon ne spune că cea mai înaltă componentă de frecvență utilă care se reține la eșantionarea unui semnal este jumătate din rata de eșantionare. În practică, însă, dorim să facem rata de eșantionare de cel puțin 5 ori mai mare decât frecvența maximă de interes. Într-un servocontroller al unui manipulator robot, presupunem că frecvența maximă de interes într-un semnal de mișcare măsurat (poziția unghiulară și viteza unghiulară) este 50 Hz. Care este o rată de conversie ADC acceptabilă care trebuie utilizată într-un controller digital asociat? Presupunem că sunt eșantionate 12 canale de date (șase articulații cu un canal de poziție și un canal de viteză pentru fiecare articulație) și citite în controllerul digital. Microcontrollerul de control necesită 10 μs pentru a citi un eșantion de date de la un canal. Presupunând instrucțiuni de 3 octeți în medie, timpul ciclului mediu de instrucțiune (preluare și executare) este cunoscut a fi de 6 μs. Estimați dimensiunea programului (numărul de instrucțiuni) al algoritmului de control.