You are on page 1of 32

1.

COMENZI NUMERICE IN SISTEMELE


CU MICROPROCESOARE

1.1. NOŢIUNI INTRODUCTIVE

Conducerea numerică a proceselor industriale a căpătat astăzi valenţe noi, atât ca


urmare a evoluţiei conceptului de conducere, cât mai ales ca urmare a evoluţiei
tehnologiei circuitelor integrate pe scara largă (LSI) şi pe scară foarte largă (VLSI), a
microprocesoarelor, microcalculatoarelor şi a minicalculatoarelor. Astfel, conceptele
moderne privind conducerea proceselor, concretizate în clase largi de algoritmi de reglare
şi conducere, devin operaţionale şi eficiente ca urmare a dezvoltării instrucţiunilor
hardware cât şi microprocesoarelor pe care sunt implementate cu performanţe deosebite.
Progresele obţinute în domeniul sistemelor de interfaţă cu procesele industriale, al
sistemelor de achiziţie de date, de conversie şi prelucrare primară, precum şi al sistemelor
de acţionare au permis extinderea domeniilor de utilizare a tehnicii de calcul numeric în
conducerea proceselor industriale.
Ţinând seama de diversitatea proceselor, de gradul de complexitate al acestora, de
cerinţele de performanţă impuse sistemelor de conducere, de gradul de cunoaştere al
acestora, au fost dezvoltate şi implementate structuri de sisteme de conducere cu grade
diferite de complexitate compatibile atât cu probleme relativ simple privind reglarea
numerică a proceselor, cât şi cu probleme complexe ale conducerii proceselor după criterii
globale de performanţă.
Dezvoltările în tehnologia calculatoarelor în ultimii ani cu consecinţe deosebite în
creşterea performanţelor (viteza de prelucrare, capacitatea de memorare, fiabilitate),
reducerea spectaculoasă a costului precum şi elaborarea de programe orientate au
contribuit la realizarea unor sisteme de microcalculatoare şi minicalculatoare destinate
rezolvării problemelor de conducere în timp real a proceselor industriale.
Structurile hardware organizate în jurul microprocesoarelor de 8 biţi, 16 biţi şi 32 biţi
au deschis noi direcţii pentru realizarea unor structuri moderne de sisteme de conducere.
Astfel, s-au impus structurile de sisteme de conducere distribuită inclusiv achiziţie
distribuită a datelor din proces, precum şi structurile ierarhizate de conducere, în cadrul
cărora fiecărui echipament îi revin sarcini în concordanţă cu poziţia ocupată în ierarhie.
Asemenea arhitecturi de sisteme distribuite şi ierarhizate sunt caracterizate printr-o limită a
flexibilităţii şi fiabilităţii, prin performanţe superioare, determinate de puterea de calcul,
viteza de prelucrare şi de clasele de algoritmi evoluaţi ce pot fi implementaţi, în comparaţie
cu structurile de conducere centralizată cu calculator de proces.
Structurile moderne de conducere distribuită şi ierarhizată, reprezentând gradul de
inteligenţă la diferite echipamente de prelucrare numerică, asigură prin resursele hardware
şi software o conducere eficientă a proceselor şi o integrare puternică a operatorului în
sistem prin interacţiunea om-maşină indusă ca funcţie a sistemului integrat de conducere.
În funcţie de complexitatea procesului, de complexitatea funcţiilor de conducere
concrete, a performanţelor, echipamentelor hardware pot fi organizate în structuri de
conducere ierarhizate multistrat (multilayer control hierarchy), structuri de conducere
multinivel (multilevel control hierarchy) structuri de conducere multistrat temporale
(temporal multilayer control hierarchy). Conducerea ierarhizată multistrat caracterizează o
ierarhizare funcţională pe diverse straturi, pe. când conducerea ierarhizată multinivel
presupune o ierarhizare structurală cu implementarea diverselor funcţii pe diferite
echipamente organizate pe mai multe nivele ierarhice.

1
1. O structură ierarhizată multistrat este prezentată în fig. 1. Prima funcţie în
ierarhie realizează interacţiunea cu procesul asigurând interfaţa cu acesta, fiindu-i
asociate sarcinile de achiziţie de date, de monitorizare a evenimentelor şi de elaborare
directă a comenzii numerice. Celui de al doilea strat îi revine sarcina de a stabili
obiectivele primului strat, de a asigura regimul optim de funcţionare a procesului prin
stabilirea referinţelor pentru buclele de reglare numerică directă. Acest strat stabileşte
starea următoare ce trebuie implementată prin reglarea numerică directă, printr-o secvenţă
predeterminată de acţiuni. În cadrul celui de al treilea strat se realizează sarcina de
adaptare a strategiei de conducere la o clasă largă de modele ale procesului, în condiţiile
în care apar modificări structurale ale modelelor proceselor. Funcţia de adaptare asociată
celui de al treilea strat apelează la experienţa acumulată în conducerea procesului pe un
interval de timp şi intervine asupra celorlalte straturi în scopul asigurării invarianţei
performanţelor în contextul acţiunii mediilor de tip parametric. Funcţia de auto-organizare
asociată ultimului strat asigură alegerea algoritmilor şi structurilor de conducere în
corelaţie cu regimurile de funcţionare asociate procesului, cu criteriile globale de
performanţă şi cu cerinţele de coordonare a funcţionării întregului ansamblu. Straturile
cărora li se ataşează diversele funcţii sunt puternic interconectate, schimbul de informaţii
între straturi reprezentând o necesitate.

Un exemplu de arhitectura ierarhizată multinivel în cadrul căreia nivelul de bază îl


reprezintă regulatorul numeric sau microcalculatorul regulator este prezentat in fig.2. În
cadrul acestei structuri procesul de complexitate medie-mare este descompus în
subprocese conduse fiecare de câte un regulator numeric (MCR).
Microcalculatorul-regulator sau regulatorul numeric de la primul nivel asigură
conducerea numerică directă a câte unui subproces cu menţinerea regimurilor optime de
funcţionare atât timp cât restricţiile locale nu sunt violate. Cel de la al doilea nivel poate

2
modifica criteriile de performanţă, referinţele şi/sau restricţiile locale pentru primul nivel, ca
răspuns la modificările impuse de funcţionarea globală a procesului cu performanţe
optime. Calculatorul de la nivelul ierarhic superior, preia, ţinând seama că la primul nivel
sunt mai multe regulatoare numerice, sarcina de coordonare în vederea optimizării
întregului sistem. Descompunerea întregului sistem în subsisteme poate fi bazată pe
considerente geografice sau pe tipuri de echipamente.
Ierarhia de conducere multinivel presupune şi o ordonare în timp a tuturor
activităţilor. Perioada medie a acţiunii de conducere tinde să crească pe măsură ce ne
depărtăm spre nivelul ierarhic superior. In plus, oricare dintre echipamentele structurii
multinivel poate include sarcini ce se execută cu frecvenţe şi priorităţi diferite. Toate
aceste consideraţii motivează conceptul de ierarhie de conducere temporală. Într-o
asemenea ierarhie, comanda sau problema elaborării deciziei este partiţionată în sub-
probleme, având la bază diferite scări de timp, care reflectă, timpul cerut pentru a obţine
informaţia pe baza căreia se elaborează comanda; timpul mediu între schimbările discrete
ale perturbaţiilor; domeniile de timp asociat cu problema conducerii; considerente
economice.

În cadrul structurilor ierarhizate de conducere se pot evidenţia următoarele aspecte


esenţiale:
- o problemă complexă de conducere este redusă la un set de subprobleme mai
simple; regulatoarele asociate cu subproblemele sunt coordonate de nivelul ierarhic
superior, astfel încât obiectivele şi restricţiile globale sunt satisfăcute;
- fiecare regulator asociat unui subsistem este destinat conducerii locale, satisfăcând
obiectivele şi restricţiile locale;
- acţiunea efectivă a regulatoarelor de la nivelul inferior simplifică sarcina
calculatorului de la nivelul ierarhic superior, prin simplificare şi angrenarea modelelor
asociate cu funcţia nivelului ierarhie superior ;
- descompunerea taskurilor (sarcinilor) de conducere corelate cu funcţiile propriu-
zise şi cu timpul, asigură alocarea raţională a acestora la diverse facilităţi de calcul din
cadrul sistemului, asigurând o utilizare efectivă a resurselor;
- arhitecturile distribuite pentru sistemele de informare, elaborare comenzi şi decizii
sunt uşor compatibile cu descompunerea pe taskuri.

3
Structurile de sisteme de conducere ierarhizată şi distribuită pot fi aplicate atât
proceselor cu evoluţie continuă cât şi proceselor discontinue.
2. Sistemele distribuite de conducere se caracterizează pe de o parte prin
distribuirea sarcinilor pe mai multe echipamente de prelucrare iar pe de altă parte prin
ierarhizarea structurală (multinivel) a acestora.
În cadrul acestor structuri, nivelul de bază este asigurat prin intermediul
regulatoarelor numerice care, pe lângă funcţiile de reglare, pot prelua şi funcţii complexe
de supraveghere, monitorizare şi comandă secvenţială.
În funcţie de complexitatea procesului, de interacţiunile existente între procese în
cadrul arhitecturilor distribuite de conducere pot fi incluse mai multe sau mai puţine
regulatoare cu funcţionare cvasiindependentă sau cu funcţionare total interconectată.
Comunicaţia între regulatoare şi cu nivelul ierarhic superior se poate asigura în cadrul unor
topologii de tip ineI, stea, cu magistrală globală comună de comunicaţie sau interconectare
totală.
Cea mai răspândită structură de sistem distribuit de conducere este structura în
cadrul căreia comunicaţia între regulatoare cu nivelul ierarhic superior se realizează prin
intermediul unei magistrale globale de comunicaţie (fig.3).
Fiecare regulator numeric realizează funcţiile locale de reglare a unui număr de
variabile din proces şi funcţii de supraveghere şi comandă secvenţială pentru un
subproces. Regulatoarele numerice MCRi pot astfel realiza funcţii cvasiindependente sau
funcţii total diferite în cazul unei structuri total interconectată. Schimbul de informaţii cu
nivelul ierarhic superior (consola operatorului de proces, calculatorul coordonator), precum
şi între regalatoare şi cu sistemul de rezervare automată se realizează prin intermediul
magistralei supuse controlorului de trafic.

3. O structura de sistem distribuit de conducere în care fiecare micro-calculator-


regulator (MCR) îndeplineşte sarcini distincte în cadrul obiectivelor generale privind
conducerea unui proces, este structura total interconectată, prezentată în fig.4.
Comunicaţia între microsistemele de prelucrare (MP) se realizează prin intermediul
unor unităţi locale de comunicaţie (ULC), iar cu nivelul ierarhic superior se realizează prin

4
intermediul unor unităţi globale de comunicaţie (UGC). În cadrul acestei structuri sunt
incluse, pe Iângă regulatoare numerice, şi două procesoare cu funcţii speciale de control
al traficului pe magistrală (PM) şi de testare şi diagnosticare (PTD) a funcţionării întregului
sistem. Fiecare microcalculator din această structură multimicroprocesor total
interconectată preia sarcini precise, distincte, impunându-se un transfer important de
informaţii între aceste microcalculatoare--regulatoare.
În continuare vom trata problemele specifice proiectării şi realizării regulatoarelor
numerice cu microprocesoare în configuraţii monoprocesor sau multiprocesor.
Proiectarea unui regulator numeric este determinată esenţial de configuraţia
sistemului de conducere în care se integrează, de complexitatea procesului condus şi de
complexitatea sarcinilor ce se cer a fi realizate. Regulatorul numeric putând opera ca
sistem independent pe proces, poate coopera cu alte regulatoare într-o organizare
orizontală sau poate coopera în cadrul unei structuri ierarhizate-distribuite cu alte
regulatoare şi cu nivelul ierarhic superior. Indiferent de structura de sistem în care se
integrează regulatorul, acesta trebuie să realizeze următoarele funcţii:

- funcţia de tranziţie şi conversie a datelor din proces;


- funcţia de memorare a datelor referitoare la evoluţia variabilelor din proces şi a
datelor introduse de operator;
- funcţia de prelucrare a datelor în conformitate cu algoritmii de reglare şi comandă
prestabiliţi;
- funcţia de elaborare a comenzii şi transmiterea acesteia spre elementele de
execuţie;
- funcţia de comunicaţie cu operatorul şi cu nivelul ierarhic superior sau cu alte
regulatoare numerice;
- funcţia de rezervare automată prin memorarea datelor vitale privind evoluţia
sistemului de reglare.
Pornind de la aceste funcţii şi în strânsă corelaţie cu obiectivele reglării, cu clasa de

5
procese căreia îi este destinat regulatorul şi cu configuraţia de sistem de conducere în
care regulatorul funcţionează, pot fi concepute structuri de regulatoare numerice
monocanal sau multicanal, monoprocesor sau multiprocesor.
Etapele care trebuie parcurse la proiectarea unui regulator numeric cu
microprocesoare sunt următoarele:
1. Alegerea microprocesorului în jurul căruia se organizează unitatea centrală de
prelucrare.
2. Alegerea structurii optime a regulatorului numeric.
3. Alegerea, dimensionarea şi organizarea memoriilor de date şi de programe.
4. Proiectarea interfeţelor cu procesul pentru achiziţia datelor şi transmiterea
comenzilor.
5. Proiectarea sistemului de comunicaţie între modulele hardware ale regulatorului.
6. Proiectarea interfeţelor de comunicaţie cu operatorul (sistemul de introducere şi
extragere date) şi cu nivelul ierarhic superior.
7. Proiectarea sistemului de operare (executivul de timp real) şi elaborarea
programelor de aplicaţie.
La proiectarea unui regulator numeric se au în vedere câteva cerinţe esenţiale
pentru atingerea unor performanţe înalte şi compatibilităţi cu clase largi de procese. Astfel,
se urmăreşte realizarea unei înalte flexibilităţi prin modularizare hardware şi software,
înaltă fiabilitate şi configurabilitate.
Performanţele regulatoarelor numerice sunt determinate atât de performanţele
modulelor hardware şi de structura regulatorului, cât şi de performanţele sistemului de
programe de bază şi aplicative.

2. STRUCTURA HARDWARE A SISTEMELOR DE


REGLARE CU COMANDĂ NUMERICĂ
2.1. Probleme ale alegerii microprocesorului şi proiectarea unităţii
centrale de prelucrare

2.1.1. GENERALITĂŢI

Criteriile ce trebuie avute în vedere la alegerea microprocesorului, în vederea


proiectării unui sistem de reglare cu comandă numerică (regulator numeric) sunt:
- arhitectura internă a microprocesorului,
- tehnologia de realizare,
- lungimea cuvântului,
- frecvenţa de lucru,
- capacitatea memoriei adresate direct,
- numărul de regiştri,
- repertoriul instrucţiunilor,
- posibilitatea de dezvoltare de programe
- compatibilitatea cu limbajele de nivel înalt,
- facilităţi de operare în configuraţii multiprocesor
- disponibilitatea circuitului.
Microprocesoarele au cunoscut o spectaculoasă evoluţie sub aspect tehnologic şi
corelat cu aceasta sub aspectul performanţelor. Astfel de la primele microprocesoare pe 8

6
biţi (1974) realizate în tehnologie PMOS au fost realizate microprocesoare pe 16 şi 32 biţi
în tehnologie HMOS şi CHMOS (1987) ce îmbină viteza mare de prelucrare cu un consum
minim de energie, în cadrul unor arhitecturi cu magistrală unică de adrese, date şi comenzi
sau cu magistrate separate pentru date si adrese.
Din categoria microprocesoarelor de 16 biţi realizate în tehnologie HMOS vom
menţiona I8086, M68000, Z8000, CP1600, 80186, 80286/80287, NS-32016/32081, NEC-
7720 respectiv procesoarele de semnal TMS-32010, TMS-32020. Dintre procesoarele pe
32 de biţi menţionăm Intel-80386 cu coprocesor matematic 80387, M-68020 respectiv
M68030, NS-32532 precum şi procesorul 88000 din categoria procesoarelor cu set redus
de instrucţiuni (arhitectură RISC). Structurile actuale de microprocesoare sunt astfel
concepute încât permit prelucrarea paralelă sau prelucrarea paralelă masivă.
În cadrul unor arhitecturi SlMD (Single Instruction, Multiple Data Stream), o singură
unitate de comandă aduce şi decodifică instrucţiunile. Instrucţiunea este executată de
unitatea de comandă însăşi (de exemplu salt, ramificare condiţionată) sau este difuzată
către alte elemente prelucrare (aceeaşi instrucţiune este executată de un vector de
procesoare asupra unui vector de date) fig.5.

7
În cadrul acestor arhitecturi SIMD pot fi incluse:
- procesoarele matriceale,
- procesoarele asociative,
- procesoarele ortogonale.
Procesoarele matriceale se caracterizează prin faptul că instrucţiunile
manipulează simultan mai mulţi vectori de date, iar capacitatea unităţii de comandă este
limitată. Viteza de execuţie este foarte mare datorită paralelismului operaţiilor pe diferite
fluxuri de date.
Pentru asigurarea unor performanţe bune în funcţionarea acestor procesoare
matriceale se cer a fi îndeplinite următoarele condiţii:
- prelucrarea datelor să poată fi descrisă printr-o instrucţiune vectorială care
execută acea operaţie asupra unui vector de date;
- viteza foarte mare de circulaţie a datelor între procesoare;
- necesitatea ca datele procesate în paralel să fie accesate în paralel.
Dacă una din aceste condiţii nu este îndeplinită, calculele vor fi procesate în serie,
blocând anumite procesoare şi anulând productivitatea prelucrării paralele.
Elementele de prelucrare, în cadrul acestor arhitecturi, sunt mutual independente,
fiecare dispunând de memorie şi regiştri proprii dar conlucrează sub controlul unei singure
unităţi de comandă.
Procesoarele asociative au acces şi operează asupra datelor prin conţinutul lor
nu prin adresă. Ele reprezintă un tip de procesoare matriceale în care elementele de
prelucrare nu sunt adresate direct fiind activate când este satisfăcută o anumita relaţie
(<,>,=) între conţinutul unui registru încărcat de unitatea de comandă şi datele conţinute în
regiştrii asociativi din elementul de prelucrare (fig.6)

O caracteristică esenţială a procesoarelor asociative este tehnica de adresare:


datele nu sunt citite de la o adresă a memoriei, prelucrarea lor făcându-se printr-o
comparare (<,>, =) cu o valoare dată iniţial. Compararea se poate referi la întregul cuvânt
sau la părţi ale sale. Avantajul cel mai important al acestor procesoare este determinat de
accesul direct la date.
Procesoarele ortogonale reprezintă o subgrupă a procesoarelor asociative
caracterizate prin faptul că blocul de memorie poate fi adresat atât „orizontal" cât şi

8
”vertical" (pe „felii” de câte un byte pentru mai multe elemente de prelucrare).
Microprocesoarele bipolare bit-slice sunt exemple tipice de procesoare matriceale.
Arhitectura bit-slice permite realizarea unor configuraţii dependente de aplicaţie prin
alegerea unui număr adecvat de ,,felii".
Procesoarele PIPE—LINE pot fi considerate ca o versiune multiplexată în timp a
unui procesor matriceal. Aceste procesoare conţin un număr de unităţi funcţionale
specializate pe o anumita funcţie. Aceste unităţi sunt aranjate în stilul unei linii de
asamblare. Sarcinile se execută simultan de diverse unităţi ce utilizează date diferite.
Fiecare unitate acceptă noi date la intervale de timp ∆t. În acest fel, când există N unităţi,
execuţia tuturor sarcinilor ce definesc un proces necesită N∆ţ unităţi de timp. Viteza mare
cu care se prelucrează datele în cadrul unor arhitecturi pipe-line impune metode eficiente
pentru accesul la instrucţiuni şi date. Eficienţa maximă a acestor procesoare se atinge
dacă: - apar cât mai puţine salturi în timpul execuţiei instrucţiunilor şi - dependenţa între
datele de prelucrat sa fie cât mai mică sau să nu existe.
Un exemplu tipic de procesor pipe-line este microprocesorul IAPx432 care este
construit din trei capsule, fiecare prevăzută cu câte 64 pini aranjaţi pe patru linii. Acest
microprocesor este organizat intern ca o bandă de asamblare cu trei posturi (pipe-line),
primele două posturi implementate pe capsula 43201 servesc pentru aducerea instrucţiunii
şi decodificarea acesteia şi secvenţierea microinstrucţiunilor.
Secvenţiatorul microinstrucţiunilor interpretează microcodul instrucţiunii aduse
apelând a doua capsulă pentru prelucrarea fiecărei microinstrucţiuni. Aceasta „unitate de
execuţie", 43202, primeşte microinstrucţiunile de la 43201 şi le execută. A treia capsulă
43203 nu ia parte la prelucrarea instrucţiunilor, ci facilitează comunicaţiile între sistem şi
mediul înconjurător. Unitatea 43203 denumită şi ,,procesor de interfaţare", necesită un
procesor separat, distinct de UC 43201/43202, cu destinaţie specială de canal I/O. Acesta
poate fi I8086, care împreună cu 43203 asigură tratarea întreruperilor, accesul direct la
memorie şi stimularea prin evenimente a sarcinilor. Capsula 43203 creează patru
„ferestre" relocabile în spaţiul adreselor logice, ferestre prin care subsistemul I/O poate
comunica cu UC 43201/43202. Unei singure Unităţi Centrale i se pot ataşa mai multe
capsule 43203.
Arhitecturile MIMD (Multiple Instruction, Multiple Data Stream) realizează
paralelismul prin lucrul concurent la sarcini diferite asupra unor date diferite şi apoi
combinând rezultatul execuţiei sarcinilor independente. Aceste arhitecturi pot fi organizate
ca sisteme distribuite sau ca sisteme multiprocesor propriu-zise.
Dezvoltarea rapidă a tehnologiilor VLSI a încurajat realizarea structurilor paralele
masive caracterizate prin:
- număr foarte mare de elemente de prelucrare 102—106;
- preţul şi viteza de prelucrare a structurii paralele masive depinde, în principiu,
liniar de numărul elementelor de prelucrare utilizate;
- utilizare pentru a rezolva o unică problemă la un moment dat.
Spre deosebire de aceste arhitecturi, reţelele de calculatoare abordează mai multe
probleme simultan, schimbând între ele date sau rezultate parţiale la momente programate
de timp.
Arhitectura unui procesor reflectă resursele oferite programatorului în limbaj de
asamblare. Acestea constau din ansamblul regiştrilor cu destinaţie. generală, repertoriul
de instrucţiuni şi posibilităţile de specificare a operanzilor,
Accesul la regiştrii generali fiind rapid, se doreşte utilizarea unui număr mare de
regiştri. Consideraţiile de cost reduc însă numărul regiştrilor la valori cuprinse între 8 şi 32.
Cele mai recente realizări în domeniul microprocesoarelor evidenţiază o creştere a
numărului de regiştri pe 16 şi 32 de biţi iar frecventa de lucru depăşeşte 20 MHz (M-
68030).

9
Proiectanţii procesoarelor au inclus seturi ample de instrucţiuni prevăzând pentru
aceleaşi operaţii, diferite variante de instrucţiuni în vederea minimizării spaţiului de
memorie ocupat de program şi a numărului de operaţii de acces la memorie pe de o parte
şi pe de alta parte incluzând in setul de instrucţiuni operaţii primitive mai complexe pentru
a simplifica realizarea sistemelor de programe. Se apreciază însă că un repertoriu
constând din 200 până la 300 de instrucţiuni poate să constituie o povară chiar şi pentru
experţi. Cercetările din anii 80 au arătat posibilitatea realizării unor procesoare foarte
performante având un repertoriu care nu depăşeşte 100 de instrucţiuni. În acest sens sunt
de menţionat procesoarele de tip RISC care au set redus de instrucţiuni şi viteze de
prelucrare aproape cu un ordin de mărime mai mare decât procesoarele standard.
Modurile de adresare, setul de instrucţiuni, numărul de regiştri generali asigură
facilităţi pentru dezvoltarea de programe operând cu o lungime dată a cuvântului. Cu cât
este mai mare numărul de modalităţi de adresare cu atât creşte eficienţa şi viteza de
operare, şi organizare a programelor.
Cele mai multe microprocesoare pe 16 biţi sunt concepute pentru a putea opera în
cadrul unor arhitecturi multiprocesor fiind dotate cu mecanisme interne de arbitrare a
priorităţilor la magistrala sistemului multimicroprocesor.

2.1.2. MICROPROCESORUL INTEL 8086

Microprocesorul I 8086 este organizat sub forma a două unităţi funcţionale ce


operează în mod paralel asincron; unitatea de execuţie (UE) şi unitatea de interfaţare cu
magistralele (UIM). Unitatea de interfaţare cu magistrala asigură operaţiile de interfaţare
cu magistrala externă. Aceasta generează adresele pentru memorie şi dispozitivele I/O şi
asigură o coadă de aşteptare de 6 bytes pentru codurile obiect ale instrucţiunilor. Unitatea
de execuţie solicită accesul la memorie sau la dispozitivele I/O printr-o cerere de acces la
magistrala adresată de UIM. Dacă UIM nu este ocupată, ea autorizează cererea lansată
de UE. Când UIM nu este solicitată cu cereri de acces de la UE, ea execută cicluri de
aducere din memorie a codurilor obiect ale instrucţiunilor pe care le depune într-o coadă
de aşteptare de până la 6 bytes. UE îşi ia codurile instrucţiunilor din vârful cozii de
aşteptare, eliminând astfel stările de aşteptare introduse de operaţiile obişnuite de lucru cu
memoria.
Microprocesorul are o magistrală internă unică pentru adrese, date si comenzi
putând adresa direct un spaţiu de memorie de până la 8 Mbytes şi are facilităţi de
adresare realocabilă a programelor obiect precum şi posibilitatea execuţiei reentrante a
programelor. În cazul utilizării în configuraţii multiprocesor, fiecare microprocesor I-8086
poate avea o memorie proprie locală, putând realiza partajarea simultană cu celelalte
microprocesoare şi utilizarea unei memorii comune. Pentru a facilita funcţionarea
microprocesorului în configuraţii monoprocesor sau multiprocesor un număr de pini ai
capsulei I-8086 au dublu rol, în funcţie de valoarea semnalului MN/MX (configuraţie
minimă sau maximă). Este prevăzut cu o logică internă pentru arbitrarea priorităţilor în
accesul la magistrală, pentru cazul configuraţiilor multiprocesor.
Microprocesorul I-8086 utilizează instrucţiuni de tip prefix, care pot modifica
interpretarea sensurilor codurilor obiect ce le urmează, execută. operaţii la nivel de bit,
byte, word şi bloc, având 24 de moduri de adresare a operanzilor. Dispune de un set de
14 regiştri pe 16 biţi cu posibilităţi simetrice de operare: 9 regiştri generali grupaţi în trei
seturi diferite, 4 regiştri manipulează datele (AX, BX, CX, DX) sau pot fi adresaţi la nivel de
byte inferior/superior (AH/AL, BH/BL, CH/CL, DH/DL) aceşti regiştri sunt utilizaţi în operaţii
aritmetice şi logice, doi regiştri de tip indicator SP (stack pointer). BP (baze pointer), doi

10
regiştri de indexare SI (source index), DI (destination index) care se utilizează în calculul
adresei efective şi pot participa la executarea operaţiilor aritmetice si logice.
Aceste prime două seturi de regiştri sunt folosite pentru manipularea de date şi
adrese. În cadrul celui de al treilea set se include registrul IP (Instruction, pointer) şi
regiştrii de condiţii (Status Flags). O altă grupă de regiştri o constituie cei patru regiştri de
segment CS (Code Segment), DS (Data Segment), SS (Stack Segment), ES (Extra
Segment), prin intermediul acestor regiştri se definesc segmentele memoriei în care se
află programul, datele sau stiva. Frecvenţa de tact maxim admisibilă este de 8 MHz pentru
I-8086-2; 4 HMz pentru 1-8086-4 si 5MHz pentru I-8086 standard. Necesită o singură
sursă de alimentare de +/-5V, toate semnalele fiind compatibile TTL cu excepţia tactului.
Timpul de execuţie al unei instrucţiuni variază în funcţie de eficienţa utilizării cozii de
aşteptare. Durata medie de execuţie a unei instrucţiuni variază între 2 şi 30 perioade de
tact. Instrucţiunile de înmulţire şi împărţire pe 16 biţi necesită timpi mai lungi de execuţie.
Pentru realizarea unui sistem de calcul complet, microprocesorul I-8086 trebuie să
fie însoţit de: un circuit 8284 cu rol de generator de tact, un circuit 8283 cu rol de controller
de magistrale, regiştri I/O de tip 8282/8283, drivere de magistrală 8286/8287, coprocesor
matematic 8087, procesor I/O I-8089.
În fig.7 se prezintă semnificaţia pinilor circuitului I-8086. Schema bloc a
microprocesorului 8086 este, prezentată în fig. 8a.
Analiza funcţionării microprocesorului şi evidenţierea semnificaţiei pinilor permit a
stabili structura optimă a unei unităţi centrale având ca destinaţie sisteme de reglare
numerică. Diagrama de evoluţie în timp a diverselor semnale se poate urmări în fig. 8b.

2.1.3. MICROPROCESORUL MC-68000

MC-68000 suprapune în timp fiecare aducere de cod obiect din memorie cu


codificarea şi execuţia a două instrucţiuni anterioare, având astfel implementat
mecanismul pipe-line. Acest microprocesor este livrat într-o capsulă de 64 pini, putând
opera oricând într-o configuraţie maximă la limita de sus a capacităţii sale într-o
configuraţie multi-microprocesor, caz în care utilizează legea de arbitrare a accesului la
magistrală.
Poate adresa direct până la 16 Mbytes de memorie datorită magistralei de adrese
de 24 biţi cu care este prevazută. Memoria adresabilă poate fi, extinsă până la 64 Mbytes
utilizând liniile funcţiei de modificare. Acest microprocesor poate fi utilizat în două moduri
de lucru: “supervisor” şi “utilizator”, moduri ce au stive separate.
În aplicaţiile cu prelucrare intensivă, programele de sistem (executate în mod
supervizor) pot fi separate de programele de aplicaţii (executate în mod utilizator).
MC-68000 dispune de 17 regiştri de câte 32 biţi. Opt dintre aceştia sunt proiectaţi
ca regiştri de date şi pot fi utilizaţi în variante de 8, 16 sau 32 biţi. Ceilalţi nouă regiştri sunt
proiectaţi ca regiştri de adrese, doi dintre ei fiind rezervaţi pentru funcţia de indicatoare de
stivă (“supervizor" şi “utilizator"). Regiştrii de adrese pot fi utilizaţi ca regiştri pe 16 sau 32
de biţi. Toţi registrii pot fi utilizaţi ca regiştri index.
Sunt asiguraţi pini separaţi pentru fiecare linie de date şi de adrese, lucru posibil
deoarece este prevăzut cu 64 de pini spre deosebire de 8086 care, ca urmare a numărului
redus de pini multiplexează anumite semnale de adrese şi date pe aceeaşi pini necesitând
o logică externă pentru demultiplexarea acestor semnale.
Necesită o singură sursă de alimentare de +5 V şi operează la o frecvenţă maximă
de 8 MHz. Durata minimă a unei instrucţiuni este de patru perioade de tact, iar cea

11
maximă este de 158 de perioade de tact pentru împărţirea şi înmulţirea unor numere cu
semn. Pentru alcătuirea unei configuraţii minimale de unitate centrală sunt necesare, pe
lângă microprocesorul MC-68000, circuitele MC-6840 (ceas programabil), circuitul MC-
6850 (interfaţa pentru comunicaţii asincrone), codificator de întreruperi, drivere de
magistrală şi altele.
În fig.9 se prezintă capsula microprocesorului şi semnificaţia celor 64 de pini.
Există 9 grupe logice de pini, grupaţi astfel: alimentare şi clock, magistrale de adrese,
magistrale de date, semnale pentru controlul transferului asincron de date, semnale pentru
controlul transferului sincron de date, semnale pentru arbitrarea magistralelor, semnale
pentru comanda sistemului, semnale de stare şi semnale pentru comanda sistemului,
semnale de stare şi semnale pentru controlul întreruperilor. Fiecare pin poate fi considerat
ca intrare sau ieşire sau ca pin cu funcţie duală I/O.
În tabelul 1 se prezintă pinii microprocesorului precum şi caracteristicile lor
electrice. leşirile sunt etichetate TSL, (trei stări logice), TP (totem-pole) sau OD (open
drain).
Microprocesorul necesită o singură sursă de alimentare şi se conectează prin doi
pini Vcc (+5 V) şi doi pini de masă (0 V). Intrarea de clock este o intrare TTL, de la care
MC-68000 îşI creează toate semnalele de temporizare internă.
Magistrala de adrese este asiguratã de pinii A01 pânã la A23 permiţând
adresarea directă a 223 cuvinte pe 16 biţi. Ca şi alte procesoare, MC-68000 tratează
operaţiile de intrare/ieşire exact ca operaţii de scriere/citire în memorie. Întrucât magistrala
de adrese are intrările de tip TSL, ea poate fi controlată fie de un dispozitiv exterior unităţii
centrale, fie de către unitatea centrală. La întrerupere utilizează liniile de adrese A01, A02
şi A03 pentru a indica nivelul întreruperii pe care o deserveşte.
În timpul acestei faze de încunoştiinţare, liniile de adrese A04 şi A23 sunt
poziţionate pe nivel logic “1".
Magistrala de date lucrează pe cuvinte de 16 biţi şi transferă date între unitatea
centrală, memorie şi periferice. Este bidirecţională, acţionând ca intrare în timpul unui ciclu
de citire şi ca ieşire în timpul unui ciclu de scriere. Magistrala de date are ieşiri TSL care
pot fi trecute în stare de impedanţă ridicată pentru a permite altor dispozitive accesul la
magistrală. Pe durata unui ciclu de autorizare a întreruperii, dispozitivul ce solicită
întreruperea se identifică plasând un vector de întrerupere pe pinii D00— D07.
Semnalele pentru transferurile de date oferă MC-68000 posibilitatea de a
efectua operaţii asincrone de transfer de date între el şi memorie sau între el şi periferice.
Pentru aceasta se folosesc cinci semnale (AS*, UDS*, LDS,* R/W si DTACK*). Transferul
sincron de date se poate urmări din diagrama dată în fig.10, unde se prezintă modul de
citire din memorie. În punctul 1 începe ciclul de citire, pe frontul descrescător al tactului. În
punctul 2, unitatea centrală generează o adresă corespunzătoare locaţiei de memorie care
trebuie citită. La momentul 3 memoria îşi livrează datele peutru a fi citite de UC. Ciclul se
încheie la momentul 4. Timpul scurs între fazele 3 şi 4 reprezintă durata în care UC
pretinde că data să fie validă într-un ciclu de citire.

12
13
14
15
Transferul asincron se poate urmări în fig.11. În punctul 7 procesorul generează o
adresă validã pentru care la momentul 2 se activează un strob de adrese. La detectarea
de către memorie a STROB-ului de adrese, memoria plasează date pe magistrala de date,
date ce devin valide la momentul 3. Memoria informează procesorul că are date stabile
prin activarea semnalului de validare a datelor la punctul 4. Procesorul detectează că data
este corectă, o citeşte şi îşi dezactivează strobul de adrese pentru a indica faptul că a citit
data în punctul 5. Memoria dezactivează semnalul de autorizare a datelor pentru a încheia
ciclul.
Comenzile pentru transferul sincron de date se asigură prin intermediul semnalelor
VPA* (adresa de periferie validã), VMA* (adresa de memorie validã) şi E* (autorizare).
Aceste comenzi au fost incluse pentru a simplifica interfaţa între microprocesor şi alte
microprocesoare în cadrul unor configuraţii multimicroprocesor, permiţând ca toate
perifericele utilizate de alte procesoare să fie disponibile şi pentru MC-68000. Transferul
de date sincron este efectuat prin detectarea unui acces la seria de periferice 68000 şi
apoi prin activarea intrării VPA* a procesorului, microprocesorul activează semnalele
VMA* şi E utilizate pentru a selecta perifericul dorit.

• Arbitrarea magistralelor
Pentru arbitrarea accesului la magistrală se folosesc cei trei pini dedicaţi arbitrării -
BR* - cerere de magistrala, BG* - garantarea magistralei, BGACK* - semnal de autorizare
a accesului la magistrală. Aceste semnale pot fi utilizate în scopul proiectării sistemelor
multiprocesor.

16
Ori de câte ori un dispozitiv doreşte să preia controlul magistralelor, trebuie să
activeze mai întâi semnalul BR*. Ca răspuns la activarea intrării BR*, microprocesorul
activează ieşirea sau BG* (activă în stare joasă). Aceasta indică MASTER-ului de
magistrală potenţial că actualul MASTER are intenţia să elibereze magistralele la sfârşitul
ciclului de magistrală curent.
Autorizarea accesului la magistrală se realizează prin intrarea BGACK* (activă în
stare joasã), care indică că alt dispozitiv a devenit acum MASTER de magistrală. Un
potenţial MASTER activează BGACK* după satisfacerea următoarelor patru condiţii:
- MASTER-ul de magistrală curent a lansat un semnal de garantare a
magistralelor;
- strobul de adrese AS* este dezactivat, indicând că microprocesorul nu utilizează
magistrala ;
- autorizarea transferului de date este dezactivată, indicând că nici memoria nici
perifericele nu utilizează magistrala;
- semnalul de autorizare al accesului la magistrală este inactiv, indicând că nu
există alt dispozitiv care să solicite controlul magistralelor.

2.2. Alegerea structurii optime de regulator numeric

Criteriile care stau la baza alegerii structurii regulatorului sunt determinate de:
- arhitectura întregului sistem de conducere în care se integrează regulatorul;
- complexitatea funcţiilor ce urmează a fi implementate în cadrul regulatorului;
- complexitatea şi dinamica procesului supus conducerii;
- performanţele sistemului de conducere.

17
Structura regulatorului numeric se compune din module hardware şi software astfel
selectate încât să asigure realizarea funcţiilor acestuia. O structură standard de regulator
numeric este prezentată în fig.12.
Modulele introduse în structura regulatorului permit realizarea funcţiilor de achiziţie
a datelor din proces, de memorare a datelor şi programelor, de elaborare şi transmitere a
comenzilor, de comunicaţie cu operatorul şi cu nivelul ierarhic superior, de memorare a
datelor vitale în scopul realizării funcţiei de rezervare automata a reglării.
Structura de regulator numeric poate fi de tip monoprocesor sau multiprocesor sau
pot fi realizate structuri de procesoare specializate pentru reglarea (comanda) în timp real
a unor procese tehnologice. La adoptarea structurii regulatorului se are în vedere faptul că
acesta trebuie să aibă o siguranţă în funcţionare foarte ridicată.
Regulatoarele pot fi destinate controlului unei mărimi din proces (regulator mono-
canal) sau pot fi multi-canal în cazul în care asigură controlul mai multor mărimi din
proces.

Cele mai uzuale structuri de regulatoare numerice sunt structurile multiprocesor,


destinate conducerii proceselor cu mai multe intrări şi mai multe ieşiri reprezentând
regulatoare multicanal. Adoptarea structurilor multimicroprocesor presupune asigurarea
suportului hardware şi software ce facilitează implementarea conceptului de execuţie
concurentă reală. Aceasta necesită segmentarea procesului în sarcini şi utilizarea unui
executiv de timp real pentru a gestiona, controla şi sincroniza diversele sarcini.
Avantajele oferite de structurile de regulatoare multimicroprocesor sunt: flexibilitate
ridicată, sensibilitate redusă la perturbaţii, timpul de execuţie a unei sarcini este mult mai
redus, fiabilitate sporită (prin redundanţă sau imunitate la defecte), dezvoltarea modulară a
sistemelor, partajarea resurselor (hardware, programe, date, timp), partajarea funcţională
a sarcinilor pe procesoare specializate, în raport cost / performanţă excelent.

18
Obţinerea unor configuraţii multiprocesor presupune realizarea mai multor sarcini
dintre care menţionăm :
- defalcarea sarcinilor şi repartiţia acestora pe diferitele procesoare;
- determinarea celor mai eficiente structuri de interconectare a procesoarelor;
- proiectarea unor mecanisme cât mai adecvate pentru translatarea adreselor
logice în adrese fizice;
- gestionarea resurselor şi formarea stărilor de aşteptare;
- eliminarea interblocărilor care apar când un procesor aşteaptă după o resursă
alocată altuia şi viceversa, nici unul din procesoare neputându-şi continua execuţia sarcinii
până la obţinerea resursei respective;
- proiectarea unor structuri hardware şi software care să faciliteze imunitatea la
defecte a sistemelor multimicroprocesor.
Structurile multimicroprocesor în cadrul regulatoarelor numerice se încadrează în
categoria sistemelor cuplate puternic. Aceste structuri au următoarele caracteristici:
- dispun de un sistem de operare comun care controlează şi coordonează toate
interacţiunile dintre procesoare şi procese;
- dispun de resurse partajate. Facilităţile I/E şi alte resurse ale sistemului sunt în
general partajate între procesoare, deşi anumite resurse pot fi destinate unor procesoare
specifice;
- redistribuirea dinamică a sarcinilor unui procesor supraîncărcat permite
încărcarea egală a tuturor procesoarelor (alocare dinamică a task-urilor);
- fiecare dintre procesoarele cooperante poate executa un număr semnificativ de
calcule individual, sincronizarea procesoarelor ce cooperează fiind absolut necesară.
Proiectarea funcţională a sistemelor multimicroprocesor presupune luarea în
considerare a următoarelor cerinţe: alocarea statică. şi dinamică a task-urilor, controlul
resurselor sistemului, caracteristicile elementelor de prelucrare, topologiile de
interconectare şi interacţiune între procesoare, efectul asupra performanţelor sistemului,
fiabilitate şi flexibilitate.
În cadrul structurilor multimicroprocesor procesoarele îşi împart resursele hardware
(procesoare, memorie, canale I/E, magistrale) şi software (programe, alocarea datelor,
zone tampon, şiruri de aşteptare, variabile).
Interconectarea procesoarelor, a memoriilor şi a dispozitivelor I/E în configuraţiile
multimicroprocesor se poate realiza prin magistrală comună partajată în timp, prin
comutator crossbar, prin memorii multiport/multimagistrală sau legătură procesor la
procesor. Cea mai eficientă structură şi mai puţin complexă este magistrala unică partajată
în timp. Interfeţele între elementele de prelucrare solicitând magistrala depind de lungimea
şi frecvenţa ciclurilor de magistrală a acestora, ciclurile memorie şi I/E şi de numărul de
procesoare care împart magistrala. Capacitatea totală a sistemului este limitată de viteza
de transfer a informaţiei pe magistrală. Magistrala sistem este coloana vertebrală a fiecărui
sistem cu mai multe procesoare. Prin aceasta nu numai că sunt definite hardware-ul,
software-ul şi protocolul de comunicare pentru legarea procesoarelor sau a resurselor
comune de magistrală, dar sunt cel mai adesea standardizate.
O magistrală sistem pentru o configuraţie multimicroprocesor trebuie să conţină,
faţă de liniile de date şi adrese, elemente pentru comanda funcţiilor:
- cerere de acces la magistrala sau la alta resursa comuna ;
- decodificarea priorităţilor tuturor partenerilor;
- arbitrajul cu viteză mare a tuturor cererilor;
- predarea controlului magistralei noului control de magistrală;
- adresarea fiecărei surse date din sistem;
- supravegherea şi testarea operaţiilor magistralei.

19
În fig.13 se prezintă o structură de regulator numeric biprocesor realizat cu
microprocesoare de 8 biţi Z-80.

Cele două unităţi de prelucrare îşi împart sarcinile între ele. Unitatea de prelucrare
UC1 preia sarcinile de achiziţii date, prelucrare şi transmitere comenzi spre proces. Cea de
a doua unitate de prelucrare asigură controlul comunicaţiilor interne, comunicaţia cu
operatorul în faza de configurare a buclelor de reglare, comunicaţia între regulatoare şi cu
nivelul ierarhic superior. Regulatorul multicanal face parte din sistemul distribuit de
conducere micro-Z realizat de firma Bailley.
Regulatorul este modularizat, prezentând o înaltă flexibilitate şi fiind compatibil cu
clase largi de procese cu diverse grade de complexitate. Interfeţele de proces sunt
destinate pentru semnale analogice şi numerice cu un număr de intrări / ieşiri selectat în
funcţie de aplicaţie. Cele două unităţi centrale funcţionează asincron, cvasiindependent,
partajând aceleaşi memorii de date şi de programe. Unitatea centrala ce asigură controlul
comunicaţiilor interfaţează cu alte sisteme diferenţiat în funcţie de volumul de date ce se
vehiculează şi complexitatea informaţiilor schimbate, transferul de informaţii realizându-se
cu viteze diferite.
Configurarea regulatorului se realizează prin intermediul unei micro-console
detaşabilă realizată în jurul unui calculator monoplacă. În structura regulatorului este inclus
ceasul de garda WDT cu scopul urmăririi funcţionării normale a regulatorului.
O clasă de echipamente de conducere în timp real, ce se dezvoltă tot mai mult în
ultimii ani, o constituie procesoarele dedicate pentru conducerea în timp real. În acest
sens sunt de menţionat: procesorul Intel 2920, procesorul 8096, procesorul 80960,
procesorul MK-68200 al firmei Motorola, procesorul NEC µPD 78312 al firmei Nipon
Electric şi altele. Aceste procesoare dedicate, realizate sub forma unor circuite larg
integrate, includ toate funcţiile aferente unei conduceri în timp real, de la achiziţia datelor

20
până la elaborarea comenzii şi transmiterea acesteia spre elementul de execuţie.
O structura evoluată de sistem de conducere realizat cu microprocesoare MC-68000 este
sistemul Rosemount. În fig.14 se prezintă structura generala a sistemului, cu
evidenţierea regulatorului numeric în raport cu alte regulatoare interconectate la magistrala
de mare viteză PERWAY.

Fiecare regulator realizat în jurul microprocesorului M-68000 este cuplat la una sau
mai multe interfeţe de câmp plasate independent de regulator. Fiecare regulator este
rezervat 1/1, iar opt regulatoare sunt coordonate de un procesor coordonator. Acest
procesor este de asemenea rezervat 1/1. Redundanţa se asigură astfel pentru fiecare
regulator, pentru sursa de alimentare şi pentru întreaga structură de opt regulatoare prin
rezervarea procesorului coordonator. Dispune de module standardizate de interfaţă cu
procesul, care la rândul lor pot fi rezervate, precum şi de o staţie I/E pentru configurare,
pentru comunicaţie cu operatorul.
Regulatoarele asigură controlul a opt mărimi de proces, prelucrând după strategii
standard atât semnale analogice, cit şi semnale binare. Regulatorul poate manipula maxim
32 blocuri de control configurate, şi realizează 64 evaluări de funcţii preconfigurate pe
secundă.
Datele vitale pentru întregul ansamblu de opt regulatoare sunt memorate din 10 în
10 sec. într-o memorie. Modul de funcţionare al regulatorului se poate urmări din fig.15,
unde se prezintă schema logică de realizare a diverselor funcţii.
Se remarcă existenţa a două cicluri în timpul funcţionării regulatorului. Primul ciclu
(1)-(7) asigură elaborarea şi trimiterea comenzii, iar cel de al doilea (8)-(10) asigură funcţia
de diagnosticare a regulatorului.

21
Funcţiile ce se realizează în cadrul celor două cicluri sunt:
(1) - citirea datelor curente din interfeţe de intrare;
(2) - introducerea de la staţia de comunicaţie a datelor necesare realizării buclelor
de reglare (configurare);
(3) - primirea de date de la coordonator sau alte regulatoare ;
(4) - elaborarea comenzii conform datelor configurate;
(5) - valorile de ieşire (comenzi) sunt trimise în formă, inclusiv cu alarmă la interfaţa
de ieşire şi staţia de comunicaţie;
(6) - rezultatele evaluării sunt ţinute în memoria RAM a regulatorului;
(7) - valoarea numerică a comenzii este convertită şi transmisă spre elementele de
execuţie în câmp.
Etapele (1)-(7) sunt repetate pentru toate buclele de reglare. După terminarea
acestor etape, pentru toate buclele de reglare se execută următoarele acţiuni:
(8) - se transmit datele spre procesorul coordonator;
(9) - se transmit datele necesare la alte regulatoare şi spre magistrala sistemului;
(10) - se execută programe interne de diagnoză;
(11) - se încarcă memoria la fiecare 10 sec. cu datele esenţiale de la fiecare
regulator, în vederea realizării rezervării.
Etapele (8)-(10) sunt repetate la evaluarea fiecărui ciclu.

2.3. Alegerea şi dimensionarea interfeţelor de procese

Achiziţia datelor din proces reprezintă una dintre cele mai importante funcţii ale
regulatorului alături de funcţia de elaborare şi transmitere a comenzilor spre elementele de
execuţie. Informaţiile culese din proces şi transmise spre proces pot fi analogice, logice
sau numerice. Aceste semnale evoluează în mediu industrial puternic perturbat, fiind astfel
însoţite de importante zgomote. Interfeţele de proces sunt incluse în structura
regulatorului, pe când elementele primare, traductoarele şi elementele de execuţie sunt
echipamente de câmp. Pentru a atenua efectele nedorite ale zgomotelor ce însoţesc
semnalele culese din proces şi transmise regulatorului, se impune utilizarea transmisiei
diferenţiale ecranate de-a lungul întregului traseu precum şi utilizarea unor filtre
corespunzătoare.
Criteriile care stau la baza alegerii şi dimensionării unei interfeţe pentru achiziţia
informaţiilor din proces sunt:
- viteza de achiziţie;
- precizia (rezoluţia) cu care se realizează conversia semnalelor;
- capacitatea de rejectare a semnalelor perturbatoare;
- fiabilitatea;
- consumul de energie.
Numărul de variabile şi tipul acestora determina complexitatea interfeţei.

22
Structura unei interfeţe pentru achiziţia semnalelor analogice este prezentată în
fig.16.
Prin intermediul elementelor de joncţiune se asigură cuplarea la proces
(traductoare). Prin intermediul acestor elemente de joncţiune se separă interfaţa de mediul
industrial impunându-se utilizarea unor opto-cuploare performante. Prelucrarea primară
presupune condiţionarea semnalelor culese din câmp prin filtrări hardware, conversii,
atenuări, adaptări de semnal, etc. Se impune ca toate aceste operaţii să se realizeze cu o
înaltă precizie.

Utilizarea unui singur convertor analog-numeric (soluţie eficientă pentru procese


lente în comparaţie cu soluţiile cu convertor pentru fiecare variabilă din proces) impune
prezenţa multiplexorului analogic. Multiplexorul facilitează conectarea, cu o frecvenţă fixă
în cele mai multe cazuri, convertorului analog-numeric la fiecare sursă de semnal apriori
prelucrat primar. Multiplexoarele analogice realizate cel mai frecvent cu elemente
semiconductoare realizează la comandă conectarea (prin comutare) a fiecărei ieşiri a
blocului de prelucrare primară la intrarea convertorului analog-numeric. Selectarea
punctului dorit are loc pe baza adresei indicate de regulator sau obţinute prin
incrementarea celei anterioare. Amplificatorul inclus în structura interfeţei permite
adaptarea impedanţelor circuitelor de intrare cu cea a elementului de eşantionare şi
reţinere. Cu ajutorul acestui amplificator se asigură amplificarea semnalelor de semnal
redus în gama (1-1000). În cadrul multor interfeţe factorul de amplificare este ajustabil în
funcţie de nivelul semnalului de intrare. Comanda factorului de amplificare se poate realiza
prin program sau printr-un proces de autoadaptare (pentru a se obţine utilizarea cu
rezoluţie maximă a convertorului analog-numeric). Elementul de eşantionare-reţinere
reprezintă o memorie analogică păstrând valoarea semnalului de intrare la momentul
eşantionării. Utilizarea unui singur convertor analog-numeric presupune memorarea
analogică pe durata conversiei a semnalului analogic aferent canalului de intrare indicat de
către regulator. Acest semnal trebuie să fie stabil pe durata conversiei analog-numerice.
Schema unui element de eşantionare şi reţinere este prezentată în fig.17.
Funcţionarea acestui element are loc în două etape importante: obţinerea
informaţiei prin intermediul comutatorului şi memorarea informaţiei cu ajutorul
condensatorului CM şi a amplificatorului A. Cerinţele de performanţă ce stau la baza
proiectării unui asemenea element sunt: timpul de obţinere şi de memorare şi precizia de
reţinere a informaţiei.

23
Pentru conversia semnalelor sunt utilizate numeroase forme de convertoare
analog-numerice realizate prin integrare, care - în cea mai mare parte - utilizează în scopul
conversiei metoda aproximaţiilor succesive. În acest scop sunt necesare: un convertor
numeric-analogic, un registru ce memorează valorile ce aproximează succesiv valoarea
numerică a semnalului convertit şi o logică de comandă. În multe aplicaţii s-au realizat
convertoare cu microprocesoare. Viteza de conversie depinde de rezoluţia necesară, de
viteza de lucru a microprocesorului şi de lungimea cuvântului acestuia. Pentru efectuarea
operaţiei de conversie analog-numerică, microprocesorul transmite un semnal start
conversie. în funcţie de tipul convertorului lent sau rapid, microprocesorul poate folosi trei
metode pentru adresarea convertoarelor.
Prima metoda constă în testarea periodică prin program a unui semnal care indică
starea convertorului.
A doua metoda constă în intrarea microprocesorului într-o stare de aşteptare, prin
bascularea unui bistabil de către semnalul start conversie şi rebascularea acestuia când
operaţia de conversie s-a terminat.
A treia metoda, pentru convertoare analog-numerice rapide, constă în tratarea
convertorului ca o celulă de memorie, operaţia de citire a datelor efectuându-se direct, fără
timpi de aşteptare.
Informaţia discretizată (numerică) referitoare la toate variabilele din proces este
memorată şi prelucrată prin registrele sistemului de către regulator, fiind introdusă în baza
de date a regulatorului. Controlul interfeţei este asigurat printr-un bloc de comandă care
permite selectarea variabilei de convertit, fixarea funcţiei de eşantionare, modifică factorul
de amplificare, controlează începutul şi sfârşitul conversiei.
Cele mai noi structuri de interfeţe pentru semnale analogice folosesc structuri
integrate de achiziţii cu convertoare pe 12 biţi, 16 biţi şi chiar 24 biţi. În aceste condiţii se
pot realiza viteze de achiziţie de ordinul microsecundelor şi o precizie foarte ridicată
determinată esenţial de convertorul analog-numeric.
Pentru achiziţia semnalelor numerice se pot utiliza interfeţe distincte sau se pot
realiza interfeţe hibride pentru semnale analogice şi numerice.
Numărul semnalelor numerice dintr-un proces variază în limite largi de la proces la
proces. Nivelul acestor semnale este variabil în limite destul de largi 5-24 V c.c. În anumite
situaţii, semnalele numerice poartă informaţia şi în durata impulsurilor corespunzătoare,
durată care se măsoară prin calibrări cu impulsuri de perioadă cunoscută. Schema de
bază a unei interfeţe de achiziţie a semnalelor numerice este prezentată în fig.18.

24
Semnalele numerice sosite la elementele de joncţiune suferă o tratare primară în
cadrul elementelor de prelucrare primară asigurându-se adaptarea la cerinţele
multiplexorului MX. Se acceptă ca nivel de intrare în MX nivelul de +5 V c.c. (pentru “1"
logic) şi 0 V c.c. (pentru “0" logic). O asemenea adaptare presupune utilizarea unor
formatoare de histerezis pentru a se face faţă eventualelor fluctuaţii ale nivelului
semnalelor de intrare.
Pentru izolarea interfeţei de mediul extern se foloseşte cuplarea optică, realizată
prin încapsularea în aceeaşi capsulă a unei diode LED emiţătoare de lumină infraroşie şi a
unui fototranzistor. Cuploarele optice pot fi utilizate cu succes la realizarea
multiplexoarelor de semnale analogice sau numerice.
De regulă, intrările numerice cu un singur bit nu sunt citite izolat, ci în cuvinte de 8
biţi sau 16 biţi în funcţie de tipul procesorului utilizat. Ca memorie se pot utiliza registre cu
ieşirea de tip tristate, ceea ce facilitează conectarea simplă la magistrala sistemului. Şi în
acest caz blocul logic de comandă controlează multiplexorul şi memoria, selectând
informaţiile ce se transferă pe magistrala sistemului.
Interfeţe de ieşire. Prin intermediul acestor interfeţe se asigură compatibilitatea
regulatorului numeric cu elementele de execuţie. Prin intermediul acestor interfeţe se pot
transmite atât comenzi analogice (semnal unificat), cât şi comenzi logice (numerice)
pentru comanda elementelor de execuţie de tip pas cu pas.
Interfeţele pentru semnalele analogice permit implementarea comenzilor elaborate
de către regulator, în conformitate cu algoritmul selectat. Utilizarea elementelor de
execuţie analogice impun prezenţa convertorului numeric-analogic. În structura interfeţei
de ieşire analogice apare ca o necesitate prezenţa unor elemente de memorare analogice
pentru a memora comanda sub formă analogică pe toată durata de timp pentru care
aceasta rămâne constantă. Mai mult, se impune menţinerea comenzii la valoarea
anterioară, chiar şi în cazul defectării regulatorului. Din acest punct de vedere se pot
realiza interfeţe cu un singur convertor numeric-analogic (fig.19) şi interfeţe cu mai multe
convertoare numeric-analogice, câte unul pentru fiecare canal de ieşire (fig. 20).
Principalii parametri ai sistemului de cuplare a regulatorului la elementele de
execuţie analogice sunt: viteza maximă de variaţie a semnalului pe o ieşire, numărul de
biţi transmişi la canal (rezoluţia) şi preţul interfeţei.
Funcţiile interfeţei de ieşire sunt:
- Transmiterea datelor de la regulatorul numeric la interfaţă prin intermediul blocului

25
de comandă. Datele pot fi transmise paralel, când interfaţa este inclusă în structura
regulatorului, sau serial, în cazul în care interfaţa se află în câmp lângă elementul de
execuţie.

- Memorarea informaţiei pe fiecare canal de conversie numeric-analogică.


Informaţia care este transmisă pentru conversie pe un canal trebuie memorată pe un
interval de timp determinat de două adresări prin program. Memorarea se poate face cu
memorii analogice realizate cu amplificatoare operaţionale şi condensatoare în regim de
memorie. Selectarea fiecărui canal se realizează cu ajutorul demultiplexorului analogic
DMX (fig.19) sau cu ajutorul demultiplexorului numeric (fig.20). Memoria analogică asigură
memorarea cu precizie limitată pe intervale reduse de timp între două adresări. În cazul
utilizării mai multor convertoare se folosesc memorii tampon pe fiecare canal (fig.20)

- Comutarea informaţiei pe mai multe canale de ieşire analogice, funcţie realizată


prin intermediul demultiplexoarelor. Demultiplexarea se poate realiza prin metode
analogice (fig.19) sau prin metode numerice (fig.20). Alegerea uneia dintre aceste două
variante se face în funcţie de modul cum se realizează operaţia de memorare a informaţiei
pe canalele de ieşire între două momente de adresare.

26
- Reactualizarea informaţiei pe fiecare canal de ieşire, la diferite momente de timp
de adresare. Interfaţa de ieşire poate transmite informaţia pe un canal analogic prin trei
metode: secvenţial, simultan şi aleator. Alegerea uneia dintre aceste variante depinde de
caracteristicile elementelor de execuţie utilizate şi de modul de rezolvare a problemelor
enunţate anterior. Pentru sistemele de reglare numerică a proceselor tehnologice, având
în vedere caracteristicile dinamice ale proceselor în raport cu fiecare canal de comandă,
se alege metoda aleatoare de adresare prin program.
Pentru comanda motoarelor pas cu pas se poate utiliza o interfaţă de ieşire care
evidenţiază pe lângă demultiplexor, memoriile numerice care au rolul de a memora
informaţia de comandă a fiecărui motor pas cu pas (fig.21).

Interfeţele de proces atât pentru intrări cât şi pentru ieşiri joacă un rol esenţial în
realizarea performanţelor înalte cerute sistemelor numerice de reglare şi de conducere. În
acest sens, progresele obţinute în domeniul microelectronicii, în domeniul elementelor
sensibile şi al traductoarelor inteligente au impus noi soluţii pentru achiziţia datelor şi
transmiterea comenzilor în câmp. Sunt realizate sisteme distribuite de achiziţie cu un înalt
grad de inteligenţă al interfeţelor incluzând funcţii de filtrare, filtrare adaptivă, liniarizări,
testare şi încadrare în limite, etc. De asemenea, sunt realizate sisteme de achiziţie cu
înaltă fiabilitate atât prin adoptarea unor soluţii redundante, cât şi prin implementarea unor
mecanisme de votare şi rezervare cu înaltă toleranţă la defecte şi înaltă imunitate la
zgomote.
Utilizarea magistralelor de câmp de tip field-bus permite implementarea unor
protocoale eficiente de comunicaţie ale regulatoarelor (calculatoarelor de proces) cu
elementele din câmp (traductoare, elemente de execuţie etc.).
Marea diversitate de semnale din proces şi cantitatea mare de date ce se transmite spre
sistemele de prelucrare au impus reţelele locale de achiziţie şi concentratoarele de date
care prin implementare, pe lângă viteza ridicată de achiziţie şi înaltă precizie, asigură o
reducere substanţială de cablu de comunicaţie. O structură de sisteme de achiziţie cu
traductoare inteligente şi cu microcalculator este prezentată în fig.22.
La magistrala de câmp se pot interconecta direct traductoare inteligente sau
multiplexoare care asigură achiziţia unui anumit număr de variabile în proces.

2.4. Principii de realizare a interfeţelor cu sistemul de comandă şi configurare

Comunicaţia regulatorului numeric cu operatorul se poate realiza fie la nivel local


prin blocul de comandă şi configurare, fie la nivelul ierarhic superior prin intermediul
consolei operatorului de proces. În cele ce urmează vor fi tratate problemele specifice
conceperii şi realizării unor interfeţe de comunicaţie cu blocul de comandă şi configurare.

27
Interfaţa cu BCC va trebui să asigure pe de o parte compatibilitatea sistemului cu
comenzile date de operator prin tastatură, iar pe de altă parte să permită afişarea
informaţiei. Interfeţele de comunicaţie pot fi realizate cu ajutorul unor automate de stare
special concepute pentru realizarea funcţiilor de comunicaţie sau pot fi realizate în jurul
unor microprocesoare sau microcalculatoare pe o singura plachetă. În figura 23 se
prezintă schema de principiu a unei interfeţe de comunicaţie cu BCC.

O asemenea interfaţă are în configuraţie un bloc de conversie (serie/paralel sau


paralel/serie) (BCS/P), o memorie tampon (MT) pentru memorarea datelor transmise sau
recepţionate, un automat de stare (AS) pentru iniţializarea şi controlul blocurilor
componente, o interfaţă programabilă pentru comanda afişării şi controlul tastelor.
O configuraţie de interfaţă cu BCC organizată în jurul unui microprocesor este
prezentată în figura 24. În acest al doilea caz, sarcinile automatului de stare sunt preluate
de unitatea centrală cu microprocesor care gestionează memoriile de date, programele de
testare şi de comunicaţie cu regulatorul precum şi cu interfaţa programabilă. O asemenea
interfaţă este mult mai flexibilă în ceea ce priveşte complexitatea funcţiilor preluate şi
deosebit de eficientă din punctul de vedere al comunicaţiei atât cu operatorul, cât şi cu
regulatorul prin intermediul magistralei acestuia.
Adoptarea unei soluţii sau alteia depinde de complexitatea funcţiilor implementate
de gradul de utilizare al interfeţei.
Pentru proiectarea interfeţei cu tastatura se impune a fi rezolvate următoarele
probleme:
- se alege principiul de funcţionare: dacă interfaţa este programabilă şi în

28
continuare funcţionează autonom sau dacă este programabilă dar nu are program propriu;
- se alege metoda de obţinere a informaţiei: dacă este sau nu o tastă apăsată;
dacă interfaţa elaborează sau nu un semnal de întrerupere;
- se aleg codurile pentru taste, în funcţie de semnificaţia acestora şi de eventuala
adresare directă a memoriei;
- se alege metoda de verificare dacă o tastă este apăsată sau este un semnal fals,
prin verificarea semnalului după un timp prescris de aşteptări;
- se alege criteriul de blocare a semnalelor în cazul când nu poate fi decât o
singură tastă apăsată la un moment dat. Pot fi adoptate diferite structuri de interfeţe pentru
codificarea tastaturii.

Pentru afişarea informaţiei pot fi utilizate mai multe metode. Toate aceste metode
însă trebuie să ofere operatorului cu viteză maximă şi precizie ridicată informaţii de tipul
datelor, adreselor, cuvinte de stare specifice unui subansamblu, segmente de programe,
etc. Pentru comanda interfeţei de afişare numerică se folosesc subrutine în cadrul
programului principal al microsistemului. Cele mai utilizate interfeţe pentru afişarea
informaţiei includ în structura lor circuite integrate specializate sau memorii intermediare,
însoţite de logica necesară pentru comanda acestora de către microprocesor, atunci când
apare necesitatea schimbării unor valori.
În fig.25 se prezintă interfaţa cu circuit programabil pentru controlul tastaturii şi al
unor afişoare. Această interfaţă conţine circuitul integrat INTEL 8279, care reprezintă o
interfaţă programabilă pentru o tastatură, organizată sub forma unei matrice 8+8 taste şi
pentru 16 elemente de afişare numerică. Acest circuit integrat poate executa toate
comenzile unui sistem numeric, care este conectat la un număr mare de taste şi de
elemente de afişare, fără a încărca microprocesorul cu aceste funcţii.
Circuitul 8279 are două părţi: una pentru interpretarea poziţiei tastelor şi una pentru
comanda afişării. Toate funcţiile pe care le poate executa această interfaţă sunt
programate prin comenzile transmise de către microprocesor. Pentru executarea acestor
funcţii, interfaţa programabilă este prevăzută cu o memorie RAM de 8 bytes, pentru
memorarea stării tastelor şi o memorie RAM de 16 bytes pentru memorarea informaţiei
transmise la elemente de afişare pe şapte segmente. Interfaţa programabilă dispune de
registre interne pentru comanda vehiculării datelor pe baza comenzilor primite de la
microprocesor, registre pentru obţinerea unor frecvenţe interne de lucru şi registre pentru
comanda memoriilor RAM.
Semnalele S0-3 servesc pentru scanarea liniilor matricei de taste şi pentru obţinerea

29
adresei elementului de afişare cu şapte segmente pentru care s-au transmis datele la
ieşirile A0-3 sau B0-3 din memoria RAM a afişării. Intrările R0-7 servesc pentru introducerea
în registrele de comandă a memoriei RAM a tastaturii, a codului corespunzător liniei
selectate din matricea de taste. Celelalte semnale de comandă primite de la
microprocesor sunt: de citire, de scriere în memorie, de iniţializare, de selectare prin
adresă, de comandă sau de date, semnalele de tact şi magistralele bidirecţionale de date.

2.5. Alegerea şi dimensionarea memoriilor

Pentru realizarea funcţiilor de reglare numerică în timp real, regulatoarele numerice


necesită atât o memorie de programe de tip ROM, cât şi o memorie de date de tip RAM. În
general capacitatea de memorie necesară în sisteme numerice de conducere (regulatoare
numerice) este în marea majoritate a situaţiilor cu mult sub capacitatea adresabilă de către
microprocesorul utilizat. Memoria de tip “permanent" are o pondere cu mult mai mare
decât cea de tip temporal (RAM).
Alegerea şi dimensionarea memoriilor se realizează ţinând seama de următorii
factori:
- complexitatea sistemelor de programe de aplicaţie şi de sistem ;
- dimensiunea bazei de date, complexitatea regulatorului;
- cerinţele impuse medierii pentru memorarea tendinţelor.

30
Principalele caracteristici ale memoriei ce trebuie avute în vedere la alegere şi
dimensionare sunt: Iungimea cuvântului, capacitatea memoriei, timpul de acces, consumul
de energie.
Lungimea cuvântului reprezintă numărul de biţi informaţionali la care se poate
avea acces printr-o singură operaţie (implicând adresarea şi comanda tipului de operaţie -
citire sau înscriere). De regulă, memoria utilizată în cadrul unui regulator numeric are
aceeaşi lungime cu cea a cuvântului microprocesorului (8 biţi, 16 biţi, 32 biţi).
Capacitatea memoriei se exprimă prin numărul de biţi informaţionali pe care
aceasta îi poate memora. Capacitatea adresabilă a memoriei se exprima prin numărul de
cuvinte al memoriei. Astfel, sunt deja realizate memorii de 1 KB, 8 KB, 16 KB, 32 KB
memorii de 1 MB într-un singur chip şi chiar mai mari.
Timpul de acces reprezintă durata scursă între momentul în care s-a dat o
anumită comandă (de exemplu de citire) şi momentul în care comanda este executată
(datele sunt accesibile pe magistrală). Valorile uzuale ale timpului de acces variază de la
zeci de nanosecunde la sute de nanosecunde.
Consumul de energie. Tehnologia de realizare a memoriilor a evoluat ca şi
tehnologia microprocesoarelor, memoriile făcând parte din categoria circuitelor integrate
pe scară largă şi foarte largă. Astfel, consumul cel mai mic de energie şi timpul de acces
minim se realizează prin apelarea la tehnologii de tip CHMOS.
Circuitele de memorie RAM au proprietatea că informaţia poate fi citită şi înscrisă
în oricare locaţie. Memoria RAM este utilizată pentru organizarea bazei de date a
regulatorului, precum şi pentru memorarea informaţiilor vitale pentru sistem în cazul în
care se urmăreşte realizarea funcţiei de rezervare a regulatorului. O asemenea memorie
este de tip RAM nevolatilă. Pentru realizarea memoriilor nevolatile se impune utilizarea
unor tehnologii ce asigură consumuri reduse, întrucât acestea necesită surse de
alimentare tampon. Capacitatea memoriilor temporare se determină ţinând seama de
dimensiunea bazei de date ce se organizează în cadrul regulatorului. Regulatoarele

31
numerice multicanal cu procesoare de 16 biţi dispun de memorii RAM ce nu depăşesc
32KB.
Memoriile permanente de tip EPROM permit memorarea programelor de sistem
(executiv de timp real), biblioteca de programe de aplicaţie, date permanente (constante).
Capacitatea acestor memorii este determinată de complexitatea şi numărul algoritmilor
implementaţi, de complexitatea sistemului de operare în timp real. O capacitate de 64 KO
este suficientă pentru multe regulatoare numerice multicanal. Circuitele de memorie RAM
şi EPROM se aleg având în vedere capacitatea şi volumul ocupat, viteza de acces,
organizarea internă precum şi factori de ordin economic.
Memoriile se pot include pe aceeaşi placă cu unitatea centrala sau/şi pot fi
organizate ca module distincte, putându-se organiza ca memorii locale, centrale sau în
ambele moduri. Se impune o organizare cât mai eficientă în vederea unei adresări cât mai
simple.
În general, fiecare unitate centrală trebuie să dispună de o memorie pentru
depunerea unor programe utilizator şi a variabilelor locale, astfel încât să aibă acces la o
instrucţiune sau la o variabilă locală independentă de magistrala sistem şi memoria
comună.
Logica de alocare a memoriilor este utilizată pentru a transforma logica generată
de unitatea centrală într-o adresă fizică din memorie. Tehnica de alocare a adreselor
(memory-mapping) simplifică procedura de alocare dinamică a condiţiilor în memorie. Ea
face posibil să se modifice adresele logice ale locaţiilor de memorie fără deplasarea fizică
a informaţiei. Aceasta tehnică furnizează un mijloc adecvat pentru partajarea datelor între
programe. Adresele logice utilizate în diversele programe pentru a indica anumite date
comune sunt translatate în aceleaşi adrese fizice. Un efect similar poate fi obţinut şi prin
software, utilizând adresarea indirectă, prin indicatoare implementate ca registre ale
unităţii centrale sau în memorie, fie utilizând adresarea indirectă. Aceste facilitaţi sunt
oferite de microprocesoarele de 16 biţi MC-68000 şi INTEL 8086.
Pentru proiectarea memoriei unui regulator numeric proiectantul stabileşte volumul
de memorie de tip EPROM, volumul de memorie de tip RAM şi adresele de început ale
zonelor de memorie de mai sus.

32

You might also like