Documente Academic
Documente Profesional
Documente Cultură
(competene)
Capitolul 1- Introducere
1.1. Ce este un sistem cu microprocesor?
Microprocesorul reprezint cea mai important realizare a industriei electronice
a ultimelor trei decenii. Aparitia sa in 1971 este legata de necesitatea producerii
unor circuite integrate pe scara larga (LSI) universale, apte de a fi utilizate intro gama extinsa de aplicatii. Pana la crearea microprocesorului, circuitele
integrate, aparute in 1958, erau proiectate pentru o aplicatie anume, ceea ce
limita foarte mult extinderea masiva a aplicabilitii acestora. Era necesar un
nou concept in ceea ce priveste functionalitatea si flexibilitatea unui asemenea
circuit.
In acest scop, circuitele n logic cablat, au fost nlocuite cu sisteme n logica
programat, lucru ce a permis realizarea, cu un numr redus i standardizat de
circuite integrate, a diverselor sisteme de calcul complexe cu o varietate de
functii si posibilitati.
Un sistem n logic programat, construit n jurul unui microprocesor, poarta
numele de sistem cu microprocesor.
Structura sa este prezentat in fig. 1.1.
- interfee pentru suport de memorie extern (hard disk, floppy disk, CD,
memorie flash)
- interfee standard seriale pentru alte dispozitive (USB, Firewire)
Circuitele uzuale de interfa pentru ECP sunt:
- timere
- interfa serial pentru comunicaie ntre PC-uri (RS232, I2C, SPI)
- interfa paralel pentru semnale logice de la/ctre proces
- interfa pentru controlul ntreruperilor
- interfee de intrare ieire pentru semnale analogice (Convertor AnalogNumeric, Convertor Numeric-Analogic)
- interfa pentru generarea de semnale PWM.
Se observ diferenele notabile privind interfeele celor dou tipuri de sisteme.
Diferene exist i la circuitele de memorie, dar acestea vor fi evideniate
ulterior.
n domeniul automaticii, datorit profilului aplicaiilor, de interes sunt
sistemele cu microprocesor destinate conducerii proceselor.
Analog Devices
productor of DSP pe 16-bit i 32-bit cu un consistent sistem de dezvoltare.
Produce familia 8051 Convertor A/N pe 12 bit.
Atmel Corporation
produce familia 8051, ARM AT91, si AVR
Dallas Semiconductor
produce o linie de microcontrolere 8051 cu memorie Flash sau cu baterie.
Recent a devenit o divizie a firmai Maxim
Freescale Semiconductor
produce microcontrolere de la 8 la 32 de biti 68HC05, 68HC11, 68HC908,
68HC11, 68HC12, 68000, 68020, 68030, 68040, Coldfire, MCore, PowerPC,
DSP56800, Fosta denumire a firmai este Motorola.
Hitachi Semiconductor
Recent denumirea s-a schimbat n Renesas Technology.
Infineon Technologies
produce C16x, C500, TriCore, 8051.
Intel Corporation
produce cunoscutele Pentium PC , mixcrocontroler ei o serie de alte
componente.
Microchip Technology
produce microcontrolerele PICmicro.
Silicon Labs
produce familia de microcontrolere 8051 cu Flash rapid, de tipul in-system
programmable (programabil prin injectarea n memorie a programului, fr
intervenia CPU).
Numele anterior al companiei a fost Cygnal Integrated Products.
STMicroelectronics
produce microcontrolere ARM pe 32 de bit, ST6 ST7 pe 8 bit si ST9 pe 8/16 bit.
.
Texas Instruments
leader mondial n producia de DSP, produce de asemenea MSP430, un hibrid
ntre microcontroler i DSP.
ZiLOG
produce renumitul microcontroler Z8 precum i Z80, eZ80, Z180, Z380
3. SIMM 30-pin
4. SIMM 72-pin
Memoria cache L1
Cache este o memorie n interiorul microprocesorului, utilizat de acesta
pentru a reduce accesul la memoria principal. Se bazeaz pe aducerea i
copierea unor zone des utilizate din memoria principal.
Memoria cache de nivel 1 este implementat cu memorie SRAM i e de
dimensiune 16KB. Ea conine cele mai frecvent utilizate date i segmente de
cod, actualiznd memoria principal doar cnd procesorul are alte task-uri.
Memoria cache L2
Memoria cache de nivel 2 este o memorie intermediar ntre memoria principal
i procesor. Ea este realizat tot cu SRAM, i este amplasat pe placa de baz,
avnd dimensiunile de 512 KB. Folosete pentru transferul rapid n tehnologia
burst.
Memoria principal
Al treilea i cel mai important nivel de memorie din sistemul cu microprocesor
este memoria principal. Este o memorie DRAM care realizeaz transferul de
date cu hard disk-ul.
Numrul de bii de date ntr-un cuvnt determin dimensiunea magistralei
procesor. n prezent se lucreaz cu cuvinte de 64 de bii (adic 8 octei sau
byte)
2.1.b) Tipuri de memorii ROM
n cadrul evoluiei lor, memoriile de tip ROM au trecut prin cteva faze foarte
importante pentru funcionalitatea lor. Astfel, prima memorie, denumit
ROM (Read Only Memory) are coninutul programat de productor, conform
unei comenzi a utilizatorului. Memoria are coninutul fix i nu suport nici o
modificare.
Scrierea pe pagin
Circuitul AT28C256 permite scrierea unei pagini de 1 pn la 64 de octei.
Operaia de scriere pe pagin este iniiat ca i scrierea pe octet, primul octet
putnd fi urmat de ali 63 de octei, fiecare dintre ei trebuind s fie scrii la cel
mult 150 s distan. Liniile de adres A6-A14 (care denot o pagin) trebuie s
fie meninute constante pe parcursul scrierii celor 1 la 64 octei. Liniile A0 la
A5 specific adresa octetului n pagin. Vezi fig. 2.14
Capitolul 3
ELEMENTE DE INTRARE/IEIRE ALE SISTEMELOR
MICROPROCESOR
Sistemul
microprocesor
trebuie
s interacioneze
cu
lumea
inconjuratoare. Este necesara att primirea (citirea) de informaii, din
afara acestuia, ct i, pe baza calculelor efectuate, furnizarea de
informaii, comenzi etc., spre exterior.
Unitatea centrala (CPU) efectueaz multiple operaii interne, ns este
necesar comunicaia acesteia cu exteriorul, fr de care funcionalitatea
sistemului ar fi practic inexistent. Astfel, comunicaia cu unitatea
central reprezint transferul datelor prin unele module, numite
interfee, realizat ntr-un mod selectiv i controlat (nu exclusiv - vezi
tehnicile DMA), de ctre microprocesor.
Deoarece singura cale de comunicaie dintre procesor i exterior este
reprezentat de magistrala de date a sistemului, (utiliznd totodat
magistralele de adrese si control), este necesar sa se utilizeze circuite
speciale care sa converteasca informatiile diverse, de la o gam foarte
larg de echipamente i componente de intrare si ieire, la semnale
compatibile cu cele de pe magistralele sistemului microprocesor.
Aceste circuite, care implementeaza o funcie de compatibilizare, se
numesc module de interfa (sau module de intrare-ieire).
Conven iile utilizate pentru a implementa aceast comunicaie,
incluznd temporizarile semnalelor, controlul procesului de transfer
de date, modul de reprezentare (codificare) a datelor, alctuiesc aanumitul protocol al comunicatiei.
TMOD
GATE
MSB
pentru timer T1
C/T
M1
M0
GATE
pentru timer T0
C/T
M1
M0
LSB
TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
Timer T2
Timer-ul T2 este un numrtor pe 16 bit (TMH2 i TML2) care poate
numra impulsuri de ceas (cnd este configurat ca Timer) sau semnale
externe de la pinul T2 (cnd este configurat ca numrtor), printr-un
circuit divizor programabil cu 1, 2, 4 sau 8.
Timer-ul T2 poate fi doar citit, nu poate fi nscris, iar resetarea se poate
face de la semnalul RESET extern sau de la semnalul RT2 extern (dac
acesta este validat prin bitul TM2ER din TM2CON). Oprirea se face din
registrul TM2CON biii T2MS1 T2MS0.
La depire (Overflow) pe 8 sau 16 bit, se poate genera, dac este
validat, o cerere de ntrerupere. Adresa rutinei de tratare a ntreruperii
este aceeai, selecia tipului de ntrerupere (pe 8 sau 16 bit) se face din
TM2CON, cu biii T2IS0 respectiv T2IS1. La ntrerupere, se mai seteaz
dou fanioane, ce trebuie resetate prin software, T2B0 i T2OV din
TM2CON respectiv T2IR. Validarea ntreruperii se face din registrul de
ntreruperi IEN1 bit 7.
Registrul de control a Timerului T2, TM2CON:
IT0
TM2CON
T2IS1
T2IS0
T2ER
T2BO
T2P1
T2P0
T2MS1
T2MS0
CTP3
CTN2
CTP2
CTN1
CTP1
CTN0
CTP0
CMI2
CMI1
CMI0
CTI3
CTI2
CTI1
CTI0
TG46
SP45
SP44
SP43
SP42
SP41
SP40
TP46
RP45
RP44
RP43
RP42
RP41
RP40
TP47 - dac este setat "1", P4.7 basculeaz (toggle) dac CM2 si T2
coincid
TP46 - dac este setat "1", P4.6 basculeaz (toggle) dac CM2 si T2
coincid
RP45 - dac este setat "1", P4.5 este resetat dac CM1 si T2 coincid
RP44 - dac este setat "1", P4.4 este resetat dac CM1 si T2 coincid
RP43 - dac este setat "1", P4.3 este resetat dac CM1 si T2 coincid
RP42 - dac este setat "1", P4.2 este resetat dac CM1 si T2 coincid
RP41 - dac este setat "1", P4.1 este resetat dac CM1 si T2 coincid
RP40 - dac este setat "1", P4.0 este resetat dac CM1 si T2 coincid
Daca RTE.i este 0, atunci P4.i nu este afectat de coincidena CM1 si T2
sau CM2 si T2
Structura T2 n regim de comparare este prezentat n fig.4.6.
EAD
ES1
ES0
ET1
EX1
ET0
EX0
IEN1
ET2
ECM2
ECM1
ECM0
ECT3
EXT2
ECT1
ECT0
ADC.0
ADEX
ADCI
ADCS
AADR2
AADR1
AADR0
IEN0
EA
EAD
ES1
ES0
ET1
EX1
ET0
EX0
IEN1
ET2
ECM2 ECM1 ECM0 ECT3
EXT2
ECT1
ECT0
ET2 - valideaza intreruperea data de depasirea capacitatii lui T2
ECM2 - valideaza intreruperea de la comparatorul 2 al T2
ECM1 - valideaza intreruperea de la comparatorul 1 al T2
ECM0 - valideaza intreruperea de la comparatorul 0 al T2
ECT3 - valideaza intreruperea de capturare 3 de la T2
ECT2 - valideaza intreruperea de capturare 2 de la T2
ECT1 - valideaza intreruperea de capturare 1 de la T2
ECT0 - valideaza intreruperea de capturare 0 de la T2
Validarea unei surse de intrerupere presupune setarea bitului
corespunzator din unul din registrele IEN0 sau IEN1 precum si
setarea bitului EA. Invalidarea unei surse de intrerupere se poate
face prin resetarea bitului corespunzator. Invalidarea tuturor
intreruperilor se poate face prin resetarea bitului EA.
IP0
PAD
PS1
PS0
PT1
PX1
PT0
PX0
PAD - stabileste niv. de intrerupere pentru ADC
2
Cap.7
Porturile paralele de intrare-ieire
microprocesor
(Porturile de intrri-ieiri numerice)
ale
sistemelor
cu
Intrare
Iesire
Tensiune HIGH
2.7 V 5 V
Curent HIGH
-0.4 mA*
Tensiune LOW
0 V 0.5 V
Curent LOW
8 mA
Tensiune HIGH
Curent HIGH
Tensiune LOW
Curent LOW
2V5V
0.02 mA
0 V 0.8 V
-0.4 mA*
* semnul (-) minus pentru curent indica sensul dinspre circuit spre
exterior
t9
t10
t11
t12
t13
t14
t15
t16
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
xx01
xx00
xx01
xx00
xx11
xx10
xx01
xx00
cu data pe 0
cu data pe 0
cu data pe 1
cu data pe 0
C/-D
-RD
-WR
Funcia
Citire stare
Scriere data
Scriere comand
Circuit neselectat
Terminal
Descriere
D0-D7
Tip
In-Out
In
Ceasul dispozitivului
In
Selecie comand-dat
Citete data sau starea
In
In
In
-CS
Selecie circuit
In
-DSR
Modem pregtit
In
-DTR
Out
-CTS
In
-RTS
Out
TxD
Out
TxRDY
Out
TxE
Out
-TxC
Out
RxD
Intrarea serial
In
RxRDY
Out
-RxC
In
SYNDET
In-Out
RESET
CLK
C/-D
-RD
-WR
Terminal
Descriere
D0-D7
Tip
In-Out
In-Out
Port B
In-Out
Port C
Comand citire
In-Out
In
-WR
Comand scriere
In
RESET
In
-CS
Selecie circuit
In
A0, A1
In
PA0-PA7
PB0-PB7
PC0-PC7
-RD
A1
A0
-RD
-WR
Funcia
Scriere
data
de
unitatea
central la portul A
Scriere
data
de
unitatea
central la portul B
Scriere
data
de
unitatea
central la portul C
Scriere
data
de
unitatea
central n registrul de comand
Citire data de unitatea central
de la portul A
Citire data de unitatea central
de la portul B
Citire data de unitatea central
de la portul C
Circuit neselectat
Descriere
Tip
D0-D7
In-Out
In
Semnal de scriere
In
Out
A0
-IOR
-IOW
INT
Recunoastere intrerupere
-INTA
C0, C1, Linii de selctie a 8259 slave
C2
SP
In
In
Out catre
master
In
O definitie a semnalului este Purtator de informatie . Ex. Informatia despre temperatura unui obiect este
transformata intr-un semnal electric (tensiune) de catre un senzor. Pentru a fi transmisa la distanta,
tensiunea este transformata in alt semnal electric (curent), care apoi este retransformat in tensiune, ca la
sfarsit sa fie convertita de catre un convertor analog-numeric intr-un numar pentru a fi utilizata intr-un
echipament de calcul (calculator). Prin urmare, informatia despre temperatura a fost putata de 4 semnale
(tensiune, curent, tensiune, numar) fara a fi modificata (sau cu modificari minime datorate perturbatiilor,
neliniaritatii).
Porturile paralele lucreaza cu semnale de nivel TTL (0V 5V, sau 0V 3.3V) Un circuit logic extern
poate lucra cu semnale 0V-24V. In acest caz conditionatorul de semnal trebuie sa adapteze nivelul 0V-24V
la nivelul 0V-5V.
Convertoarele A/N lucreaza cu semnale analogice la intrare in gama, de ex. [0 -5]V. Daca semnalul
provenit de la un traductor este in gama, de ex. [-3-7]V, conditionatorul de semnal trebuie sa faca
transformarea de domeniu oentru ca tot intervalul semnalului de iesire de la traductor sa poata fi citita de
convertorul A/N.
3
GPIB (General Purpose Inteface Bus) este un standard de comunicatie pentru aplicatii de laborator sau
industriale, in general pentru conectarea unui calculator cu pana la 15 instrumente programabile, elaborat
de Hewlett Packard in 1965. Initial a purtat numele HPIB, dar dupa o raspandire foarte larga datorita
performantelor sale a preluat actualul nume. Este o magistrala paralela, cu un cablu ce contine 24 de linii (8
semnal cu 8 masa- pentru protectie la perturbatii si 8 linii de conada si control a comunicatiei).
Viteza de transfer este de 1Mbyte/sec, Numarul maxim de dispozitive 15, distanta maxima intre doua
dispozitive 4 metri, distanta medie 2m, lungimea totala a cablului 15m. Conectarea se poate face in linie
sau stea.
Nivelele limbajelor de programare sunt: cod main (ir de 0 i 1) neles de microprocesor, limbaj de
asamblare, limbaj de nivel nalt (C, C++, Java, etc). Trecerea de la un nivel superior la unul inferior se face
cu compilator, respectiv asamblor
// ....................................
unsigned char inp_ReadPort(void)
{
unsigned char xdata * p = (unsigned char xdata *)( INP_PORT );
return ( * p );
}
void outp_WritePort(unsigned char Value)
{
unsigned char xdata * p = (unsigned char xdata *)( OUT_PORT );
( * p ) = Value;
}
void outp_WritePort_1(unsigned char Value)
{
unsigned char xdata * p = (unsigned char xdata *)( OUT_PORT_1 );
( * p ) = Value;
}