Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler

Curs
8.7/10 (3 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 15 în total
Cuvinte : 2735
Mărime: 127.78KB (arhivat)
Publicat de: Valeriu Enache
Puncte necesare: 0
UNIVERSITATEA POLITEHNICA TIMISOARA FACULTATEA DE AUTOMATICA SI CALCULATOARE SPECIALIZAREA “CALCULATOARE”

Extras din curs

Microcontrolerele Siemens SAB 80C166

Caracteristici

Firma Siemens a dezvoltat propria linie de microcontrolere. Aceasta cuprinde microcontrolere pe 8, 16 şi 32 biţi. Familia de microcontrolere pe 8 biţi este compatibilă cu familia 80C51. Microcontrolerul SAB 80515, compatibil cu 80C552, dar având şi câteva caracteristici suplimentare, este unul din cele mai des întâlnite.

Creşterea complexităţii aplicaţiilor a determinat dezvoltarea microcontrolerelor pe 16 biţi. Familia SAB 80C166 este cea mai răspândită asigurând un foarte bun raport performanţă/ cost. Familia 80C166 a fost dezvolatată fără constrângerile rezultate din o compatibilizare cu microcontrolerele SAB pe 8 biţi. Ea păstrează, dezvoltă şi completează resursele hardware şi software ale microcontrolerelor SAB pe 8 biţi, dar, nefiind necesară păstrarea compatibilităţii cu acestea, a rezultat o optimizare a timpului de execuţie şi a numărului de octeţi folosiţi în cod.

Familia SAB 80C166 este alcătuită din 2 circuite:

80C166 - microcontroler fără memorie fixă internă

83C166 - microcontroler cu memorie ROM internă.

Caracteristicile principale sunt:

- majoritatea instrucţiunilor necesită 1 ciclu (100 ns) pentru execuţia lor;

- multe tipuri de date: bit, octet, cuvânt;

- suport hardware pentru schimbarea de context într-un singur ciclu;

- posibilitatea de detectare a supra- sau subdepăşirii stivei;

- arhitectură de tip Von Neumann cu un spaţiu de adresare de 256 kO, unificat pentru cod şi date;

- 3 tipuri de configuraţii de magistrală, flexibile;

- 2 tipuri de întreruperi: cele clasice şi cele de tip PEC (Peripheral Event Controller) în care se transferă un octet într-un singur ciclu maşină;

- include o gamă largă şi flexibilă de periferice: convertor analog/ digital, 5 contoare/ temporizatoare generale, 16 canale pentru captare şi comparare, 2 interfeţe seriale de tip USART, watchdog programabil;

- 76 linii de intrare/ieşire, accesibile individual;

- firma Siemens asigură şi suport bogat pentru dezvoltare: compilator de C, asamblor, link-editor, bibliotecă de rutine specializate, simulator, emulator în sistem, placă de evaluare/ dezvoltare cu un program de tip monitor.

Structura internă a microcontrolerului SAB 80(3)C166

Organizarea memoriei interne este de tip Von Neumann ceea ce înseamnă că memoria de cod, de date, registrele interne şi porturile sunt mapate în acelaşi spaţiu, de maxim 256 kO. O parte a memoriei poate fi accesată la nivel de bit iar întregul spaţiu poate fi accesat la nivel de octet sau cuvânt.

Circuitul 83C166 conţine 8kO memorie de tip ROM.

Memoria RAM implementată, la ambele circuite, este de 1 kO, din care 512 octeţi sunt rezervaţi pentru registrele cu funcţiuni speciale. Memoria internă poate fi extinsă în exterior, cu memorie RAM sau ROM, până la limita de 64 kO.

Accesele externe sunt realizate prin intermediul blocului External Bus Controller (EBC). Există patru variante programabile, ultimele 3 fiind cu accese externe:

- mod Single Chip, în care se face acces extern;

- cu adrese pe 16/ 18 biţi, date pe 16 biţi, nemultiplexat;

- cu adrese pe 16/ 18 biţi, date pe 16 biţi, multiplexat;

- cu adrese pe 16/ 18 biţi, date pe 8 biţi, multiplexat.

În varianta nemultiplexată, portul 1 transferă adrese iar portul 0, date. În variantele

multiplexate, portul 0 este folosit pentru adrese/ date.

Există posibilitatea flexibilizării ciclurilor externe, programând durata ciclului, duratele semnalelor de comandă, în scopul conectării directe a cât mai multe tipuri de memorii, eliminând o eventuală logică de WAIT.

Instrucţiunile sunt executate într-o bandă de asamblare pe 4 nivele, asigurând ca majoritatea instrucţiunilor să fie executate într-un ciclu maşină (100 ns la frecvenţa internă a tactului de 20 MHz). Blocul numit Barrel-Shifter asigură ca orice rotire, indiferent de numărul de ranguri, să se execute într-un singur ciclu maşină. Starea maşinii este păstrată într-un grup de 16 registre de context, GPR, mapate în spaţiul memoriei RAM. Există mai multe grupe de registre de context, ceea ce este o facilitate utilă la schimbarea rapidă a contextului, în cazul întreruperilor, de exemplu. Grupul activ este indicat de registrul Context Printer (CP) care indică adresa de bază a grupului GPR activ. Numărul grupelor de registre este limitat doar de dimensiunea memoriei RAM. Ele se pot şi suprapune ceea ce este o facilitate utilă pentru transferul rapid de parametri.

Unitatea centrală mai conţine o UAL pe 16 biţi şi o stivă, plasată în memoria RAM internă. Indicatorul de stivă. SP, asigură accesul la stivă iar două registre STKOV şi STKUN delimitează stiva şi folosesc la detectarea sub- sau supradepăşirii stivei.

Sistemul de întreruperi este evoluat, asigurând răspuns rapid şi flexibil la diferite surse de cereri de întrerupere. Acestea sunt tratate fie de Interrupt Controller (IC) fie de Peripheral Event Controller (PEC). Întreruperile clasice sunt tratate de IC, dar, în plus există facilitatea de a întrerupe procesorul, doar pentru un ciclu, în care se execută un transfer de octet sau cuvânt, memorie-memorie. Aceste întreruperi sunt tratate de PEC care mai conţine şi un contor care va genera o întrerupere clasică atunci când numărul de octeţi transferaţi prin PEC a ajuns la valoarea programată. Aceasta este o facilitatea utilă la transferurile rapide a blocurilor de date, de exemplu de la convertorul A/N în memorie.

Preview document

Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 1
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 2
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 3
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 4
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 5
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 6
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 7
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 8
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 9
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 10
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 11
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 12
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 13
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 14
Proiectarea unei interfețe pentru comanda unui motor de curent continuu folosind un microcontroler - Pagina 15

Conținut arhivă zip

  • Proiectarea unei Interfete pentru Comanda unui Motor de Curent Continuu Folosind un Microcontroler.doc

Alții au mai descărcat și

Limbaje Formale și Translatoare

1. Introducere Curs1 LFT Limbajele de nivel înalt au o serie de avantaje în raport cu limbajele de asamblare. Pentru a putea însă folosi limbaje...

Programare HTML și XML

CAPITOLUL I NOTIUNI GENERALE [13, 28, 78, 77] 1.1 INTERNET Internet-ul, sau reteaua mondială de calculatotore, reprezintă un puternic instrument...

Inginerie Software

Fazele dezvoltării unui produs software 1 Ce este ingineria programării? 2. Fazele ingineriei programării 2.1. Faza de analiză 2.2. Faza de...

Limbaje de Asamblare

Introducere. Necesitatea programării în limbaje de asamblare Modalităţile de programare s-au schimbat imens de la inventarea calculatorului, în...

Algoritmi

ETAPELE REZOLVARII UNEI PROBLEME ALGORITMUL – reprezintă o succesiune finită şi ordonată de operaţii univoc determinate, efectuate mecanic, care...

Software de Sistem

Cap.1 - INTRODUCERE 1.1 DEFINIŢII Propoziţia simplă este o aserţiune, o afirmaţie, exprimată minimal printr-o acţiune concretă, un predicat,...

Compilatoare

Evolutia vietii este insotita de o permanenta acumulare de experienta statistica, dobandita prin incercari directe ale unor subiecti activi....

Asambloare

2.1. FUNCŢIILE UNUI ASAMBLOR Pentru a rezolva o problemă care nu este rezolvată de programele curente, un dezvoltator de aplicaţii care a ajuns la...

Ai nevoie de altceva?