+ All Categories
Home > Documents > Proiectarea Microsistemelor Digitale

Proiectarea Microsistemelor Digitale

Date post: 05-Jan-2016
Category:
Upload: junior
View: 22 times
Download: 0 times
Share this document with a friend
Description:
Proiectarea Microsistemelor Digitale. Curs 7. Proiectarea Microsistemelor Digitale. 5 . Circuite specializate programabile (CSP) 5.1. Definiţie şi caracteristici - PowerPoint PPT Presentation
34
1 Proiectarea Microsistemelor Digitale Curs 7
Transcript
Page 1: Proiectarea Microsistemelor Digitale

1

Proiectarea Microsistemelor Digitale

Curs 7

Page 2: Proiectarea Microsistemelor Digitale

2

Proiectarea Microsistemelor Digitale

5. Circuite specializate programabile (CSP)5.1. Definiţie şi caracteristici Standardizarea soluţiilor pentru diversele tipuri de aplicaţii

rezolvabile cu sisteme cu microprocesoare → circuite specializate pe o problemă.

Cerinţe: Flexibilitate: pentru a acoperi toate modurile de lucru; Programabilitate: pentru comunicare cu programatorul.

Un circuit specializat este programabil în sensul că i se poate cere, prin intermediul unuia sau mai multor cuvinte de comandă, alegerea unor particularităţi ale tipului de aplicaţie pentru care circuitul a fost conceput.

Cuvintele de comandă sunt transmise circuitului de unitatea centrală.

Oferă informaţie de stare legată de ultimul transfer.

Page 3: Proiectarea Microsistemelor Digitale

3

Proiectarea Microsistemelor Digitale

Trăsături generale ale CSP:

referitor la structura lor internă, circuitele specializate sunt văzute de unitatea centrală ca un grup de porturi de intrare/ ieşire ale căror adrese au un câmp comun, diferind, în general, prin valorile pe care le iau ultimele 1 – 2 ranguri;

tot referitor la structura lor internă, se pot distinge 3 tipuri de porturi în cadrul circuitelor specializate: porturi de comandă, care primesc de la unitatea centrală octeţii de comandă prin

care i se cere circuitului să aleagă un mod de lucru şi anumite caracteristici ale sale,

porturi de date, prin care circuitul transferă date între el şi unitatea centrală şi porturi de stare, care oferă informaţii asupra stării curente a circuitului şi asupra

modului cum a decurs ultimul transfer de date; din informaţia de stare, unitatea centrală mai poate afla care este momentul în care circuitul poate accepta un nou transfer;

referitor la terminalele acestor circuite, ele se pot grupa în 2 mari categorii:

Page 4: Proiectarea Microsistemelor Digitale

4

Proiectarea Microsistemelor Digitale

una care realizează dialogul unitate centrală – circuit şi una care realizează dialogul circuit – periferic; În prima categorie intră: linii de date: realizează o magistrală de date compatibilă cu cea a

microprocesoarelor; prin intermediul liniilor de date se transferă octeţi de comandă, de date şi de stare;

un semnale de selecţie a circuitului, /CS sau /CE, cu rolul de a selecta circuitul şi a permite funcţionarea sa; dacă această intrare este inactivă, adică la 1 logic, circuitul este decuplat de la magistrala de date a sistemului, neinfluenţând nicicum funcţionarea acestuia; linia trebuie activată ori de câte ori se doreşte un transfer între circuit şi unitatea centrală;

un semnal pentru comanda de citire, /RD, care atunci când este activ, împreună cu semnalul de selecţie, arată circuitului că unitatea centrală doreşte să citească de la el;

un semnal pentru comanda de scriere, /WR, care atunci când este activ, împreună cu semnalul de selecţie, arată circuitului că unitatea centrală doreşte să scrie la el;

una sau două linii pentru selecţia porturilor din interiorul circuitului: aceste intrări se notează cu A0 şi A1 sau CS0 şi CS1 şi se conectează la linii mai puţin semnififcative din magistrala de adrese;

în funcţie de circuitul specializat şi de microprocesorul din a cărui familie face parte, mai există şi alte terminale: astfel, unele circuite specializate au şi intrare de iniţializare, RESET, altele au şi intrare de tact etc.

Page 5: Proiectarea Microsistemelor Digitale

5

Proiectarea Microsistemelor Digitale În a 2-a categorie: nu se pot determina trăsături comune între terminale întrucât ele sunt orientate pe

tipul de aplicaţie pentru care a fost conceput circuitul; astfel:

un circuit pentru interfaţă serială va avea un terminal pentru recepţia serială de la periferic şi unul pentru transmisia serială la periferic,

un circuit pentru interfaţă paralelă va avea cel puţin un grup de 8 linii de date pentru transferul simultan a rangurilor unui octet, plus cel puţin 2 linii pentru realizarea unui dialog etc.

referitor la tehnologie, sunt circuite realizate în tehnologia MOS, introducând încărcări mici, de ordinul A;

referitor la viteza de lucru a acestor circuite, ea este adaptată la viteza de lucru a microprocesorului din a cărui familie fac parte.

CSP fac parte din familia unui microprocesor: pot fi conectate direct la microprocesorul respectiv, Pot fi conectate direct sau uşor, cu minim de circuite, la un microprocesor obţinut

din primul prin evoluţie, Se conectează dificil, cu multe circuite, la alte microprocesoare;

Page 6: Proiectarea Microsistemelor Digitale

6

Proiectarea Microsistemelor Digitale

5.2. Interfaţa serială

Interfaţa serială constă în totalitatea circuitelor şi programelor de bază care asigură comunicarea între unitatea centrală şi un echipament periferic, aceasta fiind de tip bit după bit.

Transferul serial este foarte util atunci când există distanţe mari (peste 3 m) între echipamentele care comunică.

Există două motive care susţin această recomandare: costul şi rezistenţa la perturbaţii: Costul este determinat de numărul firelor din cablul care leagă cele 2

echipamente: dacă acest număr este mai mic, costul va fi mai redus; Transferul serial are o rezistenţă mai mare la perturbaţii decât cel paralel

din două motive: posibilitatea de perturbare a liniilor scade dacă numărul acestora este mai mic

şi distanţa dintre nivelele de tensiune corespunzătoare celor 2 nivele logice este

mai mare decât la transferul paralel.

Page 7: Proiectarea Microsistemelor Digitale

7

Proiectarea Microsistemelor Digitale

Există multe tipuri de interfeţe seriale: Fără fir: Bluetooth, WiFi, ZigBee etc. Cu fir: RS232, RS485, I2C, CAN, USB, Flexray etc. Diferă prin:

Mediul de transmitere a informaţiei, Modalitatea de alocare a tensiunilor nivelelor logice, Parametri: rată de transfer, rezistenţa la perturbaţii, corecţie a erorilor, metode

de codificare, utilizarea sau nu a tactului, numărul de module care se pot conecta, ierarhizarea modulelor etc.

La PC: RS232 şi USB. Cea mai veche dar şi cea mai răspândită: RS232; se foloseşte la

transmiterea la distanţă a datelor; În mediu industrial: RS485; În domeniile audio, video: I2C; În industria automobilelor: CAN, Flexray etc.

Page 8: Proiectarea Microsistemelor Digitale

8

Proiectarea Microsistemelor Digitale

Caracteristici de bază ale interfeţei RS232:

Nivelele de tensiune: Nu sunt TTL ci EIA şi au următoarele valori:

- 25V ÷ - 3V pentru “1” logic şi + 3V ÷ + 25V pentru “0” logic.

Sunt necesare circuite de conversie TTL → EIA şi EIA → TTL: 232

Page 9: Proiectarea Microsistemelor Digitale

9

Proiectarea Microsistemelor Digitale

Direcţia de deplasare a datelor: transferuri simplex:

sunt transferuri unidirecţionale; un echipament este întotdeauna transmiţătorul, celălalt este întotdeauna

receptorul iar transferul are loc întotdeauna de la transmiţător la receptor; se realizează pe o singură linie de semnal, însoţită de linia de masă

corespunzătoare; transferuri semi-duplex sau half duplex:

sunt transferuri bidirecţionale dar la momente de timp diferite; ambele echipamente sunt transmiţătoare şi receptoare, iar transferurile pot avea

loc în orice direcţie dar la momente de timp diferite; necesită o singură linie de semnal, însoţită de linia de masă corespunzătoare;

transferuri duplex sau full duplex: sunt transferuri bidirecţionale ce pot avea loc simultan; ambele echipamente sunt transmiţătoare şi receptoare; necesită două linii pentru semnal însoţite de linia sau liniile de masă

corespunzătoare.

Page 10: Proiectarea Microsistemelor Digitale

10

Proiectarea Microsistemelor Digitale

Viteza: Mică; Există două unităţi de măsură a vitezei transferului: bit pe secundă (bps)

şi baud. Un baud se defineşte ca o tranziţie electrică a liniei. Dacă transferul între cele două echipamente, de exemplu două

calculatoare, se desfăşoară sub formă digitală, adică cele două echipamente sunt legate la liniile seriale direct, fără MODEM, atunci 1 bps = 1 baud.

Dacă transferul se desfăşoară sub formă analogică, pe linii telefonice între două MODEM-uri, de exemplu, atunci 1 bps ≠ 1 baud.

Relaţia între ele depinde de metoda de codificare a datelor pe linii folosită de MODEM-uri.

Se obişnuieşte să se lucreze cu anumite viteze. Treptele de viteză mai utilizate sunt: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 mai rar 230400, 460800 bps.

Page 11: Proiectarea Microsistemelor Digitale

11

Proiectarea Microsistemelor Digitale

Sincronizarea între emiţător şi receptor: Transfer sincron, Transfer asincron: transfer pe caracter, un caracter poate fi transmis în

orice moment; Forma de undă a unui caracter:

Caracteristici: Sincronizare la nivel de caracter prin bitul START, 5 – 8 biţi de date, Opţional bit de paritate, 1, 1.5, 2 biţi de STOP.

Page 12: Proiectarea Microsistemelor Digitale

12

Proiectarea Microsistemelor Digitale

Rejecţia impulsurilor de START false şi citirea informaţiei la receptor:

Cum află receptorul când să citească linia? Notaţie consacrată:

8n2 înseamnă transfer asincron cu 8 biţi de date, fără paritate şi cu 2 biţi de STOP,

7e1 înseamnă transfer cu 7 biţi de date, paritate pară şi cu 1 bit de STOP etc. Litera e indică paritate pară (“even”) iar litera o indică paritate impară (“odd”).

Page 13: Proiectarea Microsistemelor Digitale

13

Proiectarea Microsistemelor Digitale

Există posibilitatea desincronizării între transmiţător şi receptor. Cele două echipamente lucrează sub controlul unor tacturi diferite şi,

deşi sunt programate să lucreze cu aceeaşi viteză serială, defazajul între tacturi face ca receptorul să nu poată citi bitul emis exact la jumătatea duratei sale ci decalat; acest decalaj se cumulează şi, dacă este prea mare, apare riscul ca ultimul sau ultimii biţi să nu mai fie citiţi; riscul de pierdere a informaţiei este minimizat pe două căi: biţii sunt citiţi la mijlocul duratei lor ceea ce oferă o marjă de siguranţă şi cumularea se face doar până la nivelul unui singur caracter, adică a maxim 12

biţi, întrucât la următorul caracter transmiţătorul şi receptorul se resincronizează şi cumularea anterioară dispare;

Avantaje: Transmiţătorul poate transmite un caracter oricând doreşte, Simplu de implementat.

Dezavantaje: Se transferă şi informaţie inutilă (de cadrare): minim 20%, Rată de transfer mică.

Page 14: Proiectarea Microsistemelor Digitale

14

Proiectarea Microsistemelor Digitale

Transfer sincron: transfer pe bloc, transferul se face la nivel de bloc sau de mesaj.

Transmiţătorul poate începe oricând doreşte transmisia unui bloc dar, odată începută, trebuie să transmită toate caracterele care-l alcătuiesc.

Un bloc începe cu unul până la cinci caractere speciale, care au rol de sincronizare.

Receptorul testează permanent linia, asamblează datele primite şi le compară cu caracterele de sincronizare.

Din faza de programare, receptorul cunoaşte câte caractere de sincronizare foloseşte transmiţătorul şi care sunt acestea.

Dacă s-a detectat apariţia acestora, urmează asamblarea biţilor caracterelor care alcătuiesc mesajul transmis.

Dacă la transferul asincron există o sincronizare la nivel de caracter, realizată prin bitul de START, aici există o sincronizare la nivel de bit; fiecare bit este transmis la momente de timp bine determinate fixate de un tact, comandat de transmiţător.

Există tehnici pentru combinarea datelor şi a tactului pe aceeaşi linie.

Page 15: Proiectarea Microsistemelor Digitale

15

Proiectarea Microsistemelor Digitale

Avantaj: Asigură viteză mai mare datorită:

Existenţei tactului, Elimină informaţia de cadrare la nivel de caracter.

Dezavantaje: Sunt necesare caractere de sincronizare deci dacă blocul este scurt, sub 8

caractere, modul sincron nu mai este eficient; Linia suplimentară de tact.

Codificarea informaţiei alfanumerice: prin coduri: BAUDOT: folosea doar 5 biţi pentru codificarea unui caracter, ceea ce a

limitat la 32 numărul de caractere ce puteau fi transferate; EBCDIC; ASCII (“American Standard Code for Information Interchange”): 96 de

octeţi corespund la litere, numere sau caractere speciale, iar 32 de octeţi corespund la caractere de comandă.

Page 16: Proiectarea Microsistemelor Digitale

16

Proiectarea Microsistemelor Digitale

Controlul fluxului: cum află transmiţătorul că receptorul nu mai poate prelua caractere? - din diferite motive, de exempu: tamponul său este plin, este deconectat de la linie etc., ca urmare nu mai are rost să le trimită fiindcă, în caz contrar, acestea se pierd. Există trei soluţii:

fără control; cu control software ( “software handshaking” ) şi cu control hardware ( “ hardware handshaking” ).

Prima soluţie: emiţătorul şi receptorul lucrează la aceeaşi viteză, mică; A doua soluţie: utilizarea a două caractere de control: XON având codul

DC1 (11h) şi XOFF având codul DC3 (13h); receptorul trimite XON dacă doreşte transfer şi XOFF dacă nu doreşte transfer.

A treia soluţie: realizează un dialog între transmiţător şi receptor prin intermediul a două semnale. Atunci când transmiţătorul doreşte să transfere ceva, activează linia RTS. Dacă receptorul poate primi informaţia, va răspunde prin activarea liniei CTS iar când nu mai poate primi informaţie va dezactiva linia CTS. Această soluţie este mai rapidă decât cea dinainte dar cere un cablu cu 2 fire în plus.

Page 17: Proiectarea Microsistemelor Digitale

17

Proiectarea Microsistemelor Digitale

Erori: de cadrare (“Frame Error“), de paritate (“Parity Error”), de ritm (“Overrun Error”) şi de oprire (“Break”). “Break”: o situaţie deosebită creată în mod voit de transmiţător; în mod

normal, dacă linia este inactivă, ea este la 1 logic; condiţia de Break este forţată de transmiţător care trece linia la 0 logic pentru o perioadă relativ lungă, 0,25 – 0,5 sec. şi este sesizată de receptor.

În cazul tuturor erorilor, circuitul specializat nu opreşte transferul ci le anunţă doar prin activarea unor ranguri din octetul sau octeţii săi de stare; este sarcina software-ului să trateze aceste situaţii, de exemplu cerând retransmisia octeţilor.

Standardizare: Electronic Industries Association (EIA): standardul RS232, ... International Telegraph and Telephone Consultative Communitee (CCIT)

care şi-a schimbat denumirea în International Telecommunications Union (ITU): standardul V24, ...

Page 18: Proiectarea Microsistemelor Digitale

18

Proiectarea Microsistemelor Digitale

Circuitul specializat programabil 8251 Specializat pentru transferurile seriale; Face parte din categoria circuitelor de tip USART (“Universal

Synchronous Asynchronous Receiver Transmitter”); moduri de lucru: Sincron, Asincron;

Poate să primească un octet în paralel de la unitatea centrală, să – l serializeze şi să – l transmită la un echipament serial;

Poate să preia de pe linie, de la un echipament periferic serial, un octet, să – l asambleze şi să – l predea, în paralel, unităţii centrale;

Circuitul comunică unităţii centrale când are un caracter gata pentru ea sau când a terminat de transmis un octet şi poate prelua altul; poate comunica: Prin program, Prin întreruperi;

Transmisie şi recepţie cu dublu tampon

Page 19: Proiectarea Microsistemelor Digitale

19

Proiectarea Microsistemelor Digitale

Configuraţia şi semnificaţiile terminalelor:

Page 20: Proiectarea Microsistemelor Digitale

20

Proiectarea Microsistemelor Digitale

Legătura între operaţiile realizate de circuit şi starea terminalelor de comandă

/CS /RD /WR C//D Operaţie

1 X X X Magistrala de date în a 3-a stare

0 1 1 X Magistrala de date în a 3-a stare

0 0 1 1 Citire a octetului de stare

0 0 1 0 Citire a datei

0 1 0 1 Scriere a cuvintelor de comandă

0 1 0 0 Scriere a datei

Page 21: Proiectarea Microsistemelor Digitale

21

Proiectarea Microsistemelor Digitale

Structura internă a circuitului:

Page 22: Proiectarea Microsistemelor Digitale

22

Proiectarea Microsistemelor Digitale

Recepţia: Pentru creşterea vitezei, a fost implementat conceptul de suprapunere. Tamponul recepţie este alcătuit din 2 registre, RA şi RB; Datele sunt preluate de pe linia serială în registrul RB, se elimină

informaţia de cadrare, şi, după asamblarea unui caracter, acesta este transferat în registrul RA şi, simultan, este activat terminalul RXRDY şi rangul cu acelaşi nume din registrul de stare.

Prin acest semnal, circuitul anunţă microprocesorul că are un caracter asamblat pe care poate să i – l ofere.

Microprocesorul va trebui să preia conţinutul registrului RA în timpul cât se asamblează un nou caracter în registrul RB.

Dacă nu este îndeplinită această cerinţă, vechiul caracter se pierde, întrucât în RB se va transfera noul caracter şi circuitul va detecta eroare de ritm şi va poziţiona un rang din registrul de stare, anunţând astfel exteriorul că a apărut această eroare.

În acest fel, s – a realizat suprapunerea între timpul necesar preluării şi asamblării unui caracter de pe linia serială cu timpul necesar citirii caracterului asamblat de către microprocesor.

Semnalul RXRDY este dezactivat doar de un semnal activ pe linia /RD, ceea ce corespunde unei citiri din partea microprocesorului.

Page 23: Proiectarea Microsistemelor Digitale

23

Proiectarea Microsistemelor Digitale

Schema bloc a Tamponului recepţie şi a Tamponului transmisie:

Suprapunerea la recepţie:

Page 24: Proiectarea Microsistemelor Digitale

24

Proiectarea Microsistemelor Digitale

Transmisia: Suprapunerea; Tamponul transmisie este alcătuit din 2 registre, TA şi TB. Unitatea centrală încarcă un caracter în registrul TA, circuitul îl transferă

în registrul TB, de unde caracterul este serializat şi transmis pe linie. După transferul conţinutului registrului TA în TB, circuitul activează

semnalul TXRDY comunicând microprocesorului că poate prelua un nou caracter.

Simultan este activat şi rangul cu acelaşi nume din registrul de stare. Dezactivarea terminalului TXRDY se face de primul front al

semnalului /WR care corespunde operaţiei de scriere a unui nou caracter de către microprocesor.

Terminalul TXRDY este activat la îndeplinirea condiţiilor descrise mai sus doar dacă transmisia poate avea loc, adică rangul TXE din cuvântul de comandă este 1 şi terminalul /CTS = 0;

De remarcat că rangul TXRDY din registrul de stare este activat indiferent de starea rangului TXE şi a terminalului /CTS.

Page 25: Proiectarea Microsistemelor Digitale

25

Proiectarea Microsistemelor Digitale

Terminalul TXE este activat atunci când caracterul din TB a fost serializat şi transmis, indicând microprocesorului că tamponul de transmisie este gol.

Dacă microprocesorul nu scrie o nouă dată în registrul TA, până când circuitul a terminat de serializat caracterul din TB, acesta va detecta eroare de ritm la transmisie şi va poziţiona rangul corespunzător din registrul de stare.

De remarcat că eroarea de ritm la recepţie este distructivă, în sensul că se pierd caractere pe când la transmisie nu este distructivă, provocând doar scăderea vitezei transmisiei.

Suprapunerea la transmisie:

Semnalele TxRDY şi RxRDY pot fi surse de cereri de întrerupere.

Page 26: Proiectarea Microsistemelor Digitale

26

Proiectarea Microsistemelor Digitale

Programarea circuitului:

Page 27: Proiectarea Microsistemelor Digitale

27

Proiectarea Microsistemelor Digitale

Structura cuvântului de mod, pentru mod asincron:

Page 28: Proiectarea Microsistemelor Digitale

28

Proiectarea Microsistemelor Digitale

Structura cuvântului de mod, pentru mod sincron:

Page 29: Proiectarea Microsistemelor Digitale

29

Proiectarea Microsistemelor Digitale

Structura cuvântului de comandă:

Page 30: Proiectarea Microsistemelor Digitale

30

Proiectarea Microsistemelor Digitale

Structura cuvântului de stare:

Page 31: Proiectarea Microsistemelor Digitale

31

Aplicaţii:

Să se proiecteze o interfaţă serială cu circuitul 8251, conectată la o UC cu 8086, transferul făcându – se prin program. Datele iniţiale ale transferului sunt: 8 biţi de date, Fără paritate, 2 biţi de STOP, Factor de multiplicare 16, Rata de transfer: 9600 bps. Se vor prezenta:

Schema interfeţei, Rutina de programare a circuitului specializat, Rutinele de emisie şi recepţie.

Proiectarea Microsistemelor Digitale

Page 32: Proiectarea Microsistemelor Digitale

32

Proiectarea Microsistemelor Digitale

Schema interfeţei:

Page 33: Proiectarea Microsistemelor Digitale

33

Proiectarea Microsistemelor Digitale

Adresele de port: 00H pentru date şi 02H pentru comenzi/ stări;

Rutina de programare:

MOV AL,0CEH ; cuvânt de mod

OUT 02H,AL

MOV AL,15H ; cuvânt de comandă

OUT 02H,AL

Rutina de transmisie caracter:

TR: IN AL,02H ; citire şi testare rang TxRDY din cuvântul de stare

RCR AL,1

JNC TR

MOV AL,CL ; se preia data din registrul CL

OUT 00H,AL

RET

Page 34: Proiectarea Microsistemelor Digitale

34

Proiectarea Microsistemelor Digitale

Rutina de recepţie caracter:

REC: IN AL,02H ; citire şi testare rang RxRDY din cuvântul de stare

RCR AL,2

JNC REC

IN AL,00H ; se preia data de la 8251

MOV CL,AL ; se depune data în registrul CL

RET Soluţia prezentată realizează transferul serial prin program. Dezavantaj: utilizarea ineficientă a timpului microprocesorului, întrucât

acesta va trebui să aştepte mult timp până când circuitul 8251 poate realiza un transfer.

Alternativa o constituie transferul serial prin întreruperi, în care microprocesorul execută un program şi va fi întrerupt de circuitul 8251 doar când acesta poate realiza un transfer.

Se vor utiliza terminalele RxRDY şi TxRDY.


Recommended