Sunteți pe pagina 1din 34

Proiectarea Microsistemelor Digitale

Curs 7

Proiectarea Microsistemelor Digitale


5. Circuite specializate programabile (CSP)
5.1. Definiie i caracteristici
Standardizarea soluiilor pentru diversele tipuri de aplicaii
rezolvabile cu sisteme cu microprocesoare circuite specializate
pe o problem.
Cerine:

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 particulariti ale tipului de aplicaie pentru care circuitul a fost
conceput.
Cuvintele de comand sunt transmise circuitului de unitatea
central.
Ofer informaie de stare legat de ultimul transfer.
2

Proiectarea Microsistemelor Digitale

Trsturi generale ale CSP:


referitor la structura lor intern, circuitele specializate sunt vzute de
unitatea central ca un grup de porturi de intrare/ ieire ale cror adrese au
un cmp 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 octeii 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 informaii asupra strii curente a circuitului i asupra
modului cum a decurs ultimul transfer de date; din informaia 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:

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 octei de
comand, de date i de stare;
un semnale de selecie a circuitului, /CS sau /CE, cu rolul de a selecta circuitul
i a permite funcionarea sa; dac aceast intrare este inactiv, adic la 1
logic, circuitul este decuplat de la magistrala de date a sistemului,
neinfluennd nicicum funcionarea acestuia; linia trebuie activat ori de cte
ori se dorete un transfer ntre circuit i unitatea central;
un semnal pentru comanda de citire, /RD, care atunci cnd este activ,
mpreun cu semnalul de selecie, arat circuitului c unitatea central dorete
s citeasc de la el;
un semnal pentru comanda de scriere, /WR, care atunci cnd este activ,
mpreun cu semnalul de selecie, arat circuitului c unitatea central dorete
s scrie la el;
una sau dou linii pentru selecia porturilor din interiorul circuitului: aceste
intrri se noteaz cu A0 i A1 sau CS0 i CS1 i se conecteaz la linii mai
puin semnififcative din magistrala de adrese;
n funcie de circuitul specializat i de microprocesorul din a crui familie face
parte, mai exist i alte terminale: astfel, unele circuite specializate au i intrare
de iniializare, RESET, altele au i intrare de tact etc.

Proiectarea Microsistemelor Digitale

n a 2-a categorie:
nu se pot determina trsturi comune ntre terminale ntruct ele sunt orientate pe
tipul de aplicaie pentru care a fost conceput circuitul;
astfel:

un circuit pentru interfa serial va avea un terminal pentru recepia serial de la


periferic i unul pentru transmisia serial la periferic,
un circuit pentru interfa paralel va avea cel puin un grup de 8 linii de date
pentru transferul simultan a rangurilor unui octet, plus cel puin 2 linii pentru
realizarea unui dialog etc.

referitor la tehnologie, sunt circuite realizate n tehnologia MOS, introducnd


ncrcri mici, de ordinul A;
referitor la viteza de lucru a acestor circuite, ea este adaptat la viteza de
lucru a microprocesorului din a crui familie fac parte.
CSP fac parte din familia unui microprocesor:

pot fi conectate direct la microprocesorul respectiv,


Pot fi conectate direct sau uor, cu minim de circuite, la un microprocesor obinut
din primul prin evoluie,
Se conecteaz dificil, cu multe circuite, la alte microprocesoare;
5

Proiectarea Microsistemelor Digitale


5.2. Interfaa serial

Interfaa 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 cnd exist distane mari
(peste 3 m) ntre echipamentele care comunic.
Exist dou motive care susin aceast recomandare: costul i
rezistena la perturbaii:

Costul este determinat de numrul firelor din cablul care leag cele 2
echipamente: dac acest numr este mai mic, costul va fi mai redus;
Transferul serial are o rezisten mai mare la perturbaii dect cel paralel
din dou motive:

posibilitatea de perturbare a liniilor scade dac numrul acestora este mai mic
i
distana dintre nivelele de tensiune corespunztoare celor 2 nivele logice este
mai mare dect la transferul paralel.

Proiectarea Microsistemelor Digitale

Exist multe tipuri de interfee seriale:

Fr fir: Bluetooth, WiFi, ZigBee etc.


Cu fir: RS232, RS485, I2C, CAN, USB, Flexray etc.
Difer prin:

Mediul de transmitere a informaiei,


Modalitatea de alocare a tensiunilor nivelelor logice,
Parametri: rat de transfer, rezistena la perturbaii, corecie a erorilor, metode
de codificare, utilizarea sau nu a tactului, numrul de module care se pot
conecta, ierarhizarea modulelor etc.

La PC: RS232 i USB.

Cea mai veche dar i cea mai rspndit: RS232; se folosete la


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

Proiectarea Microsistemelor Digitale

Caracteristici de baz ale interfeei RS232:

Nivelele de tensiune:

Nu sunt TTL ci EIA i au urmtoarele valori:

- 25V - 3V pentru 1 logic i


+ 3V + 25V pentru 0 logic.

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

Proiectarea Microsistemelor Digitale

Direcia de deplasare a datelor:

transferuri simplex:

transferuri semi-duplex sau half duplex:

sunt transferuri unidirecionale;


un echipament este ntotdeauna transmitorul, cellalt este ntotdeauna
receptorul iar transferul are loc ntotdeauna de la transmitor la receptor;
se realizeaz pe o singur linie de semnal, nsoit de linia de mas
corespunztoare;
sunt transferuri bidirecionale dar la momente de timp diferite;
ambele echipamente sunt transmitoare i receptoare, iar transferurile pot avea
loc n orice direcie dar la momente de timp diferite;
necesit o singur linie de semnal, nsoit de linia de mas corespunztoare;

transferuri duplex sau full duplex:

sunt transferuri bidirecionale ce pot avea loc simultan;


ambele echipamente sunt transmitoare i receptoare;
necesit dou linii pentru semnal nsoite de linia sau liniile de mas
corespunztoare.

Proiectarea Microsistemelor Digitale

Viteza:

Mic;
Exist dou uniti de msur a vitezei transferului: bit pe secund (bps)
i baud.
Un baud se definete ca o tranziie electric a liniei.
Dac transferul ntre cele dou echipamente, de exemplu dou
calculatoare, se desfoar sub form digital, adic cele dou
echipamente sunt legate la liniile seriale direct, fr MODEM, atunci 1
bps = 1 baud.
Dac transferul se desfoar sub form analogic, pe linii telefonice
ntre dou MODEM-uri, de exemplu, atunci 1 bps 1 baud.
Relaia ntre ele depinde de metoda de codificare a datelor pe linii
folosit de MODEM-uri.
Se obinuiete 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.

10

Proiectarea Microsistemelor Digitale

Sincronizarea ntre emitor 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 bii de date,
Opional bit de paritate,
1, 1.5, 2 bii de STOP.
11

Proiectarea Microsistemelor Digitale

Rejecia impulsurilor de START false i citirea informaiei la receptor:

Cum afl receptorul cnd s citeasc linia?


Notaie consacrat:

8n2 nseamn transfer asincron cu 8 bii de date, fr paritate i cu 2 bii de


STOP,
7e1 nseamn transfer cu 7 bii de date, paritate par i cu 1 bit de STOP etc.
Litera e indic paritate par (even) iar litera o indic paritate impar (odd).

12

Proiectarea Microsistemelor Digitale

Exist posibilitatea desincronizrii ntre transmitor i receptor.


Cele dou echipamente lucreaz sub controlul unor tacturi diferite i,
dei sunt programate s lucreze cu aceeai vitez serial, defazajul ntre
tacturi face ca receptorul s nu poat citi bitul emis exact la jumtatea
duratei sale ci decalat; acest decalaj se cumuleaz i, dac este prea
mare, apare riscul ca ultimul sau ultimii bii s nu mai fie citii; riscul de
pierdere a informaiei este minimizat pe dou ci:

Avantaje:

biii sunt citii la mijlocul duratei lor ceea ce ofer o marj de siguran i
cumularea se face doar pn la nivelul unui singur caracter, adic a maxim
12 bii, ntruct la urmtorul caracter transmitorul i receptorul se
resincronizeaz i cumularea anterioar dispare;
Transmitorul poate transmite un caracter oricnd dorete,
Simplu de implementat.

Dezavantaje:

Se transfer i informaie inutil (de cadrare): minim 20%,


Rat de transfer mic.

13

Proiectarea Microsistemelor Digitale

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


de mesaj.
Transmitorul poate ncepe oricnd dorete transmisia unui bloc dar,
odat nceput, trebuie s transmit toate caracterele care-l alctuiesc.
Un bloc ncepe cu unul pn 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 cunoate cte caractere de
sincronizare folosete transmitorul i care sunt acestea.
Dac s-a detectat apariia acestora, urmeaz asamblarea biilor
caracterelor care alctuiesc 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 transmitor.
Exist tehnici pentru combinarea datelor i a tactului pe aceeai linie.
14

Proiectarea Microsistemelor Digitale

Avantaj:

Asigur vitez mai mare datorit:

Dezavantaje:

Existenei tactului,
Elimin informaia de cadrare la nivel de caracter.

Sunt necesare caractere de sincronizare deci dac blocul este scurt, sub 8
caractere, modul sincron nu mai este eficient;
Linia suplimentar de tact.

Codificarea informaiei alfanumerice: prin coduri:

BAUDOT: folosea doar 5 bii pentru codificarea unui caracter, ceea ce a


limitat la 32 numrul de caractere ce puteau fi transferate;
EBCDIC;
ASCII (American Standard Code for Information Interchange): 96 de
octei corespund la litere, numere sau caractere speciale, iar 32 de octei
corespund la caractere de comand.

15

Proiectarea Microsistemelor Digitale

Controlul fluxului: cum afl transmitorul c receptorul nu mai poate


prelua caractere? - din diferite motive, de exempu: tamponul su
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 soluii:

fr control;
cu control software ( software handshaking ) i
cu control hardware ( hardware handshaking ).

Prima soluie: emitorul i receptorul lucreaz la aceeai vitez, mic;


A doua soluie: utilizarea a dou caractere de control: XON avnd codul
DC1 (11h) i XOFF avnd codul DC3 (13h); receptorul trimite XON dac
dorete transfer i XOFF dac nu dorete transfer.
A treia soluie: realizeaz un dialog ntre transmitor i receptor prin
intermediul a dou semnale. Atunci cnd transmitorul dorete s
transfere ceva, activeaz linia RTS. Dac receptorul poate primi
informaia, va rspunde prin activarea liniei CTS iar cnd nu mai poate
primi informaie va dezactiva linia CTS. Aceast soluie este mai rapid
dect cea dinainte dar cere un cablu cu 2 fire n plus.

16

Proiectarea Microsistemelor Digitale

Erori:

de cadrare (Frame Error),


de paritate (Parity Error),
de ritm (Overrun Error) i
de oprire (Break).
Break: o situaie deosebit creat n mod voit de transmitor; n mod
normal, dac linia este inactiv, ea este la 1 logic; condiia de Break este
forat de transmitor 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 oprete transferul ci le
anun doar prin activarea unor ranguri din octetul sau octeii si de
stare; este sarcina software-ului s trateze aceste situaii, de exemplu
cernd retransmisia octeilor.

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, ...
17

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:

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, unitii centrale;
Circuitul comunic unitii centrale cnd are un caracter gata pentru ea
sau cnd a terminat de transmis un octet i poate prelua altul; poate
comunica:

Sincron,
Asincron;

Prin program,
Prin ntreruperi;

Transmisie i recepie cu dublu tampon

18

Proiectarea Microsistemelor Digitale

Configuraia i semnificaiile terminalelor:

19

Proiectarea Microsistemelor Digitale


Legtura ntre operaiile realizate de circuit i starea terminalelor de
comand

/CS

/RD

/WR

C//D

Operaie

Magistrala de date n a 3-a stare

Magistrala de date n a 3-a stare

Citire a octetului de stare

Citire a datei

Scriere a cuvintelor de comand

Scriere a datei

20

Proiectarea Microsistemelor Digitale

Structura intern a circuitului:

21

Proiectarea Microsistemelor Digitale

Recepia:
Pentru creterea vitezei, a fost implementat conceptul de suprapunere.
Tamponul recepie este alctuit din 2 registre, RA i RB;
Datele sunt preluate de pe linia serial n registrul RB, se elimin
informaia de cadrare, i, dup asamblarea unui caracter, acesta este
transferat n registrul RA i, simultan, este activat terminalul RXRDY i
rangul cu acelai 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 coninutul registrului RA n timpul ct
se asambleaz un nou caracter n registrul RB.
Dac nu este ndeplinit aceast cerin, vechiul caracter se pierde,
ntruct n RB se va transfera noul caracter i circuitul va detecta eroare
de ritm i va poziiona un rang din registrul de stare, anunnd astfel
exteriorul c a aprut aceast eroare.
n acest fel, s a realizat suprapunerea ntre timpul necesar prelurii i
asamblrii unui caracter de pe linia serial cu timpul necesar citirii
caracterului asamblat de ctre microprocesor.
Semnalul RXRDY este dezactivat doar de un semnal activ pe linia /RD,
ceea ce corespunde unei citiri din partea microprocesorului.

22

Proiectarea Microsistemelor Digitale

Schema bloc a Tamponului recepie i a Tamponului transmisie:

Suprapunerea la recepie:

23

Proiectarea Microsistemelor Digitale

Transmisia:
Suprapunerea;
Tamponul transmisie este alctuit 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 coninutului registrului TA n TB, circuitul activeaz
semnalul TXRDY comunicnd microprocesorului c poate prelua un nou
caracter.
Simultan este activat i rangul cu acelai nume din registrul de stare.
Dezactivarea terminalului TXRDY se face de primul front al semnalului
/WR care corespunde operaiei de scriere a unui nou caracter de ctre
microprocesor.
Terminalul TXRDY este activat la ndeplinirea condiiilor descrise mai
sus doar dac transmisia poate avea loc, adic rangul TXE din cuvntul
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.
24

Proiectarea Microsistemelor Digitale

Terminalul TXE este activat atunci cnd caracterul din TB a fost


serializat i transmis, indicnd microprocesorului c tamponul de
transmisie este gol.
Dac microprocesorul nu scrie o nou dat n registrul TA, pn cnd
circuitul a terminat de serializat caracterul din TB, acesta va detecta
eroare de ritm la transmisie i va poziiona rangul corespunztor din
registrul de stare.
De remarcat c eroarea de ritm la recepie este distructiv, n sensul c
se pierd caractere pe cnd la transmisie nu este distructiv, provocnd
doar scderea vitezei transmisiei.
Suprapunerea la transmisie:

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

25

Proiectarea Microsistemelor Digitale

Programarea circuitului:

26

Proiectarea Microsistemelor Digitale

Structura cuvntului de mod, pentru mod asincron:

27

Proiectarea Microsistemelor Digitale

Structura cuvntului de mod, pentru mod sincron:

28

Proiectarea Microsistemelor Digitale

Structura cuvntului de comand:

29

Proiectarea Microsistemelor Digitale

Structura cuvntului de stare:

30

Proiectarea Microsistemelor Digitale

Aplicaii:
S se proiecteze o interfa serial cu circuitul 8251, conectat la o
UC cu 8086, transferul fcndu se prin program. Datele iniiale ale
transferului sunt:

8 bii de date,
Fr paritate,
2 bii de STOP,
Factor de multiplicare 16,
Rata de transfer: 9600 bps.
Se vor prezenta:

Schema interfeei,
Rutina de programare a circuitului specializat,
Rutinele de emisie i recepie.

31

Proiectarea Microsistemelor Digitale

Schema interfeei:

32

Proiectarea Microsistemelor Digitale

Adresele de port: 00H pentru date i 02H pentru comenzi/ stri;


Rutina de programare:
MOV
AL,0CEH ; cuvnt de mod
OUT
02H,AL
MOV
AL,15H ; cuvnt de comand
OUT
02H,AL

Rutina de transmisie caracter:


TR: IN
AL,02H ; citire i testare rang TxRDY din cuvntul de stare
RCR
AL,1
JNC
TR
MOV
AL,CL ; se preia data din registrul CL
OUT
00H,AL
RET

33

Proiectarea Microsistemelor Digitale


Rutina de recepie caracter:
REC: IN
AL,02H ; citire i testare rang RxRDY din cuvntul 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
Soluia prezentat realizeaz transferul serial prin program.
Dezavantaj: utilizarea ineficient a timpului microprocesorului, ntruct
acesta va trebui s atepte mult timp pn cnd 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 cnd acesta poate realiza un transfer.
Se vor utiliza terminalele RxRDY i TxRDY.

34

S-ar putea să vă placă și

  • Curs 14
    Curs 14
    Document30 pagini
    Curs 14
    Pasan Petru
    Încă nu există evaluări
  • Curs 11
    Curs 11
    Document34 pagini
    Curs 11
    Pasan Petru
    Încă nu există evaluări
  • Curs 10
    Curs 10
    Document23 pagini
    Curs 10
    Pasan Petru
    Încă nu există evaluări
  • Curs 12
    Curs 12
    Document35 pagini
    Curs 12
    Pasan Petru
    Încă nu există evaluări
  • Curs 13
    Curs 13
    Document25 pagini
    Curs 13
    Pasan Petru
    Încă nu există evaluări
  • Curs 8
    Curs 8
    Document21 pagini
    Curs 8
    Pasan Petru
    Încă nu există evaluări
  • Curs 9
    Curs 9
    Document29 pagini
    Curs 9
    Pasan Petru
    Încă nu există evaluări
  • Curs 6
    Curs 6
    Document26 pagini
    Curs 6
    Pasan Petru
    Încă nu există evaluări
  • Curs 5
    Curs 5
    Document26 pagini
    Curs 5
    Pasan Petru
    Încă nu există evaluări
  • Curs 3
    Curs 3
    Document24 pagini
    Curs 3
    Pasan Petru
    Încă nu există evaluări
  • Curs 4
    Curs 4
    Document37 pagini
    Curs 4
    Pasan Petru
    Încă nu există evaluări
  • Curs Flash 1
    Curs Flash 1
    Document35 pagini
    Curs Flash 1
    Alex Alex
    Încă nu există evaluări
  • Curs 2
    Curs 2
    Document39 pagini
    Curs 2
    Pasan Petru
    Încă nu există evaluări
  • PMD
    PMD
    Document34 pagini
    PMD
    Pasan Petru
    Încă nu există evaluări
  • LabAC 1
    LabAC 1
    Document5 pagini
    LabAC 1
    cornel_punga1504
    Încă nu există evaluări