Documente Academic
Documente Profesional
Documente Cultură
1 Prezentare general
ATtiny2313 este un microcontroler CMOS de 8 bii de putere joas bazat pe
arhitectura mbuntit a RISC ,ceea ce .Prin executarea unor instruciuni complicate
ntr-un singur ciclu de oscilare , ATtiny2313 poate atinge o vitez de aproape un
milion de operaii pe MHz ceea ce permite de a optimiza consumul de putere pe
viteza de procesare.
Nucleele AVR combin un set bogat de instruciuni cu 32 de registre funcionabile
.Toate 32 de registre sunt conectate la Unitate Aritmetic Logic(ALU) ,permind la
dou registre independente s fie accesate ntr-o singur instruciune executat ntr-un
singur ciclu de oscilare.Ca rezultat arhitectura codului este de 10 ori mai rapid dect
microcontrolerele CISC convenionale.
Microcontrolerul ATtiny2313 presupune urmtoarele caracteristici: 2Kbyi de
memorie programabil FLASH, 128 byi EEPROM,128 byi de memorie SRAM,18
linii I/O de uz general,32 regitri de lucru, dou cronometre flexibile cu modul de
comparare ,ntreruptoare interne i externe ,USART programabil n serie ,Interfa
Universal Serie cu startul prin detecie de condiie ,un cronometru de supraveghere
programabil cu oscilator integrat i trei funcii de setare a puterii .Funcia mers n gol
stopeaz procesorul n timp ce permite funcionarea SRAM ,cronometrului i
ntrerupe funcionarea.Funcia de deconectare salveaz coninutul din regitri dar
nghea funcionare oscilatorului,stopnd funcionare tuturor funciilor cipului pn la
urmtoarea ntrerupere sau pn la resetare .Funcia de ateptare ,cristalul/rezonatorul
oscilatorul funcioneaz pn cnd restul componentelor sunt n ateptare.Aceasta
permite un start rapid la un consum sczut de energie.
Dispozitivul este fabricat utiliznd memoria dens non-volativ de la Atmel.ISP
Flash din cip permite ca memoria de program s fie reprogramat n sistem cu
ajutorul interfaa serial SPI ,sau de alt programator non-volativ de memorie. Prin
combinarea procesorului RISC pe 8 bii cu utilizarea programrii Flash pe un cip
monolitic ,acest puternic microcontroler ofer o flexibilitate i un pre convenabil
pentru o mulime de aplicaii de control ncorporate.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Tensiunea de alimentare
GND
Masa
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
DI: Universal Serial Interface Data imput (Intrarea Universal de Date)cu mod
de trei fire.n modul de trei fire nu trece de limita de funcionare normal a
portului, deci pinul trebuie configurat ca o intrare .
SDA: Serial Interface Data (Interfaa de date serie),modul cu 2 fire.
PCINT5: Pin Change Interrupt Source 5(Pinul ntreruptor a sursei 5). Pinul
PB5 poate fi folosit ca un ntreruptor exterior.
PB4 OC1B/PCINT4
OC1B: Output Compare Match B output(Ieirea comparatorului B). Pinul PB4
poate servi ca ieire pentru cronometrul comparatorului B. Acest pina fost
configurat pentru a fi folosit ca ieire pentru modul PWN de funcionare a
cronometrului.
PCINT4: Pin Change Interrupt Source 4(Pinul ntreruptor a sursei 4). Pinul
PB4 poate fi folosit ca un ntreruptor exterior.
PB3 OC1A/PCINT3
OC1A: Output Compare Match A output(Ieirea comparatorului A). Pinul PB3 poate
servi ca ieire pentru cronometrul comparatorului A. Acest pina fost configurat pentru
a fi folosit ca ieire pentru modul PWN de funcionare a cronometrului.
PCINT3: Pin Change Interrupt Source 3(Pinul ntreruptor a sursei 3). Pinul PB3
poate fi folosit ca un ntreruptor exterior.
PB2 OC0A/PCINT2
OC0A: Output Compare Match A output(Ieirea comparatorului A). Pinul PB2 poate
servi ca ieire pentru cronometrul comparatorului A. Acest pina fost configurat pentru
a fi folosit ca ieire pentru modul PWN de funcionare a cronometrului.
PCINT2: Pin Change Interrupt Source 2(Pinul ntreruptor a sursei 2). Pinul PB2
poate fi folosit ca un ntreruptor exterior.
PB1 AIN1/PCINT1
AIN1: Analog Comparator Negative input (Intrarea negativ a comparatorului
analogic). Pinul a fost configurat pentru a servi ca intrare cu limita de sus
dezactivat pentru a evita ca portul digital s functioneze n acord cu
funcionarea comparatorul analogic.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
PCINT1: Pin Change Interrupt Source 1(Pinul ntreruptor a sursei 1). Pinul PB1
poate fi folosit ca un ntreruptor exterior.
PB0 AIN0/PCINT0
AIN0: Analog Comparator Negative input (Intrarea negativ a comparatorului
analogic). Pinul a fost configurat pentru a servi ca intrare cu limita de sus dezactivat
pentru a evita ca portul digital s functioneze n acord cu funcionarea comparatorul
analogic.
PCINT0: Pin Change Interrupt Source 0(Pinul ntreruptor a sursei 0). Pinul PB0
poate fi folosit ca un ntreruptor exterior.
Port D (PD6..PD0) Portul D pe 7 bii bidirecional este un port I/O cu rezistoare
pentru fiecare bit la limita de sus. Ieirea tampon a portului are caracteristici
simetrice cu compatibilitatea sursei. La intrare , pinii portului D au o valoare foarte
sczut . Atunci cnd este aplicat reset la portul D i cnd oscilatorul nu este activ
,portul are 3 stri.
PD6 ICP
ICP: Timer/Counter1 Input Capture Pin (nregistrarea pinului de intrare a
numrtorului) .
PD5 OC0B/T1
OC0B: Output Compare Match B output(Ieirea pentru comparatorul de
egalare de ieire). Acest pin poate servi ca ieire i pentru modul PWM .
T1: Timer/Counter1 External Counter Clock input(Numrtorul extern).Intarea
poate fi controlat cu biii CS02 i CS01.
PD4 T0
T0: Timer/Counter0 External Counter Clock input(Numrtorul extern).Intarea
poate fi controlat cu biii CS02 i CS01.
PD3 INT1
INT1: External Interrupt Source 1(ntreruptor de surs extern).Pinul PD3
poate folosi ca un ntreruptor de surs extern de la MCU.
PD2 INT0/XCK/CKOUT
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
XTAL1
intern.
XTAL0
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Logice(ALU) uniciclu. ntr-o operaie ALU tipic ,doi operanzi sunt nafara
registrului de fiiere ,operaia este executat i rezultatul este nmagazinat n registrul
de fiiere ntr-un ciclu de oscilator. ase din 32 de regitri pot fi folosii ca trei
regitri de 16 bii de indicatori de adres invers pentru spaiul de date adres
permind calcularea eficient a adreselor. Unul dintre aceti indicatori de adrese
poate de asemenea s foloseasc ca un indicator de adres pentru vizualizarea
tabelelor de memorie de program Flash.
Unitatea Aritmetico-Logic (ALU) suport operaii aritmetice i logice ntre regitri
sau ntre o constant i un registru.Operaiile de registru unice pot de asemenea fi
executate cu ajutorul ALU. Dup o operaie aritmetic, starea registrului este
actualizat pentru a afia informaia privind rezultatul operaiei.
Executarea programului este asigurat de proceduri de salt sau apel condiionat sau
necondiionat, capabile s adreseze direct ntreagul spaiu de adrese. Majoritarea
instruciunilor AVR sunt formate din cuvinte pe 16 bii.Fiecare adres de memorie de
program conin instuciuni de 16 i 32 de bii.
Pe durata ntreruperii i apelurilor ,returnarea adresei Program Counter (PC) este
nmagazinat n masiv.Masivul este alocat eficient n general n SRAM,i n
consecin masivul este limitat de marimea total i utilizarea SRAM. Toate
programele trebuie s realizeze indicatorul stivei n procesul de reset. Indicatorul
stivei citete/nscrie accesul n memoria I/O. Memoria SRAM poate fi accesat cu
uurin printre 5 diferite moduri de adresare suportate n arhitectura AVR.
Memoria n arhitectura AVR are hri de memorie lineare i regulare. Modul
ntreruperii flexibil are regitri de control n memoria I/O cu un bit Global Intrerupt
Enable adiional n registrul de stare.Toate ntreruperile au un vector separat n tabela
vectorilor de ntrerupere.ntrruperile au prioritatea n acord cu vectorul lor n tabela
vectorilor de ntrerupere.Memoria I/O conine 64 de adrese pentru periferalele CPU i
funcioneaz ca un registru de control ,i alte funcii I/O. Memoria I/O poate fi
accesat direct , sau prin locaia spaiului de date controlate de aceti regitri de
fiiere,0x20 0x5F.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Registru de stare
Registrul de stare conine informaii despre rezultatul celor mai recente executate
instruciuni aritmetice. Aceast informaie poate fi utilizat pentru varierea fluxului
de program n rezultat pentru a mari performana operaiilor. Registrul de stare este
actualizat dup toate operaiile ALU, specificate ca Instruciuni Set referin. Aceasta
n multe cazuri va elimina necesitatea de a folosi instruciuni de comparare dedicate,
ceea ce rezult un cod mai compact i mai rapid. Registrul de stare nu este
nmagazinat automat n timpul introducerii rutinei de ntrerupere i este resetat n
timpul revenirii de la o ntrerupere. Aceste operaii sunt controlate de un program.
Registrul de stare AVR SREG este definit ca:
Fig.3
Registrul
de
stare AVR SREG
Bitul 7 I : Global Interrupt Enable.
Fanionul Global Interrupt Enable trebuie sa fie setat pentru ca ntruperile s fie
activate. Controlul ntreruperilor activate individual este executat n controlul
registrilor separat. Dac registrul acestui bit este golit, nici o ntrerupere nu este
activat indiferent de setrile ntreruperilor individuale .Acest bit este eliminat de
hardware dup ce a avut loc ntreruperea ,i este setat de instruciunea RETI pentru a
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Majoritatea instruciunilor ce
opereaz cu registrul de
regitri, majoritatea au un
singur ciclu de
instruciuni. Fiecare
locaii
nu
implementat fizic ca i
locaiile
de memorie ofer o
flexibilitate ridicat la
accesarea regitrilor.
Stiva Pointer (Stack
Pointer)
Stiva este folosit manual pentru a magazina o cantitate de informaie pe o durat de
timp, pentru pstrarea variabilelor locale i pentru ntoarcera adreselor dup
ntrerupere i apeluri. Registrul stivei pointer arat tot timpul partea de sus a stivei.
Stiva crete de la locaiile de memorie superioare spre cele mai inferioare. Aceast
stiv este locat n spaiul de date SRAM acolo unde sunt locate i subprogramele cu
stiva de ntrerupere. Acest spaiu de stiv n datele SRAM trebuie s fie definite de un
program nainte de executarea unor subprograme de apel. Stiva pointer trebuie s fie
setat sub partea 0x60. Stiva pointer este decrementat cu o unitate atunci cnd datele
sunt mutate pe stiv cu instruciunea PUSH , si este decrementat de dou ori cnd
adresa ntoars este mpinsa pe stiv cu un subprogram de apel sau ntrerupere. Stiva
este incrementat o dat atunci cnd datele sunt aprute pe stiv cu o intruciune
POP,i este incrementat de dou ori cnd datele sunt aprute pe stiv cu ntoarcerea
de pe subprogram RET sau de pe ntreruptorul RET1.
Stiva pointer a AVR este implementat ca dou registre pe 8 bii n spaiul I/O.
Numrul de bii utilizai actual utilizai depid de necesitatea de implementare.
Timpul de execuie a intruciunilor
Procesorul AVR este controlat de oscilatorul clkcpu , generat direct de ctre sursa de
ceas selectat pentru cip.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
0x00 0x3F trebuie folosite. Cnd se adreseaz regitrii I/O ca spaiu de date folosind
intruciunile LD i ST ,0x20 trebuie adugate la adresele respective.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.
Mod.Pag.
Nr.document.
Semnt.
Data
Pag.