+ All Categories
Home > Documents > Proiect Mc Cretu Alin Mihai Tc32

Proiect Mc Cretu Alin Mihai Tc32

Date post: 17-Feb-2016
Category:
Upload: cosmin
View: 64 times
Download: 0 times
Share this document with a friend
Description:
Proiect Microprocesoare
15
Proiect microcontrollere Master : Manole Dumitru Cosmin Anul I : CMIMN
Transcript
Page 1: Proiect Mc Cretu Alin Mihai Tc32

Proiect microcontrollereMaster : Manole Dumitru Cosmin

Anul I : CMIMN

Page 2: Proiect Mc Cretu Alin Mihai Tc32

MSP430 Mixed Signal Microcontrollers

MSP430™MCU este o familie de microcontrolere de putere foarte scazuta cu semnal mixat, de la Texas Instruments, care se dezvolta continuu. Folosind un procesor puternic RISC 16-biti, MSP430 este proiectat pentru aplicatii low-cost si, in mod special, sa aiba un consum redus de energie, optimizat, pentru aplicatii alimentate de la baterie. MSP430 este o alegere imediata si inteligenta a proiectantilor pentru aplicatii de uz general, care au reglaj al consumului de curent (in modul inactiv <1µA). Viteza procesorului de top este de 25 MHz, dar poate fi redusa pentru consum mic de energie. MSP430 utilizeaza 6 moduri diferite low-power, in care se pot dezactiva ceasuri si chiar UCP. Acest lucru permite MSP430 sa stea “adormit”, in timp ce perifericele sale continua sa lucreze. MSP430 are timp de “trezire” <6 µs. Familia MSP430 are o varietate de configuratii continând periferice uzuale: oscilator intern, timer PWM, ceas de garda (watchdog), USART, SPI, I2C, conversie CAD 10/12/ 14/16-bit si circuitele de resetare brown-out. Unele MCU includ comparatoare analogice (utilizate cu timere se obtine un convertor CAD), un amplificator operational on-chip, conversie CDA 12-bit, driver LCD, unitate hardware de multiplicare, DMA pentru algoritmi de conversie CAD si USB.

MSP430G2211

Caracteristici Generale:

Tensiune de alimentare scazuta: 1,8 – 3,6 V Consum ultra redus de energie:

-Modul activ 220 μA la 1 MHz, 2.2 V -Modul standby 0.5 μA -Modul Off(Retentie RAM) 0.1 μA

Page 3: Proiect Mc Cretu Alin Mihai Tc32

Cinci moduri de conservare a energiei Trezire ultrarapida din modul standby in mai putin de 1 μs Arhitectura RISC pe 16-biti, timpul ciclului de instructiune de 62.5 ns Configuratii de baza ale modulului de ceas:

-Frecvente interne de pana la 16 MHz cu o frecventa calibrata -Oscilator intern de energie redusa si frecventa joasa -Cristal de 32 khz

Detector Brownout (BOD) Timer pe 16-biti cu 2 registre de captura/comparare Comparator integrat pentru functii de comparare a semnalului analogic Programare serial integrate, nu necesita voltaj extern de programare, Codul programabil

protejat de siguranta de protectie Emulare logica integrata in cip cu interfata Spy-By-Wire Disponibil in formatul de 14-Pin TSSOP-Small Outline Thin Package (PW), 14-Pin PDIP-

Plastic Dual Inline Package (N) si 16-Pin QFN(RSA)

Page 4: Proiect Mc Cretu Alin Mihai Tc32
Page 5: Proiect Mc Cretu Alin Mihai Tc32
Page 6: Proiect Mc Cretu Alin Mihai Tc32

Structura MSP430G2211:

ACLK – Auxiliary Clock – Ceas de sistem auxiliar

MCLK – Master Clock – Ceas de sistem principal

SMCLK – Subsistem Master Clock - Ceas de sistem principal pentru subsisteme

MAB – Memory Address Bus – Magistrala adreselor de memorie

MDB – Memory Data Bus – Magistrala datelor de memorie

RAM – Random Access Memory

Page 7: Proiect Mc Cretu Alin Mihai Tc32

WDT – Watchdog Timer

Unitatea Centrala de Procesare:

UCP RISC modern de 16 biti Optimizat pentru programare C si asamblor; Design-ul compact reduce puterea si costurile; Pana la 8 MIPS performanta disponibila. Sistem ceas flexibil Ceas auxiliar de joasa-frecventa; Ceas master de mare viteza; Stabilitate in timp si la temperatura.

Arhitectura ortogonala a MSP430 ofera flexibilitatea registrilor UCP de 16 biti, complet adresabili, mono - ciclu si puterea unui set de instructiuni RISC. Design-ul modern al UCP ofera flexibilitate prin simplitate folosind numai 27 de instructiuni usor de inteles si 7 moduri de adresare. Aceasta conduce la un UCP de 16 biti de joasa putere care are procesare mai eficienta, este mai mic si mai eficient la codificare decat alte microcontrolere de 8/16 biti. Acum este posibila dezvoltarea de noi aplicatii de foarte joasa putere si inalta performanta la o fractiune a marimii codului.

Sistemul ceas MSP430 este destinat in special aplicatiilor alimentate de la baterie. Sunt utilizate oscilatoare multiple pentru a sprijini activitatea burst event-driven. Un ceas auxiliar de joasa frecventa (ACLK) este comandat direct de la un cristal 32kHz - fara componente externe aditionale.

ACLK-ul poate fi folosit pentru o functie de auto-desteptare a unui ceas timp-real din background. Un Oscilator Controlat Digital de mare viteza (OCD) poate fi sursa ceasului master (MCLK) folosit de catre UCP si perifericele de mare viteza. Prin proiect, OCD-ul este activ si stabil in mai putin de 6µs.

Solutiile bazate pe MSP430 folosesc eficient inalta performanta a UCP RISC de 16 biti in intervale burst foarte scurte.Aceasta conduce la foarte inalta performanta si consum de putere foarte scazut.

Page 8: Proiect Mc Cretu Alin Mihai Tc32

Unitatea Centrala de Procesare a MSP430G221 utilizeaza o arhitectura RISC foarte transparenta pentru aplicatii. Toate operatiile, in afara de cele care se refera la parcurgerea programului, sunt realizate ca operatiuni de registru in colaborare cu sapte moduri de adresare pentru operandul sursa si patru moduri de adresare pentru operandul destinatie.

UCP-ul are integrate 16 registre care asigura timp de executie redus. Operatiile inter-registrii au timpul de executie mai mic de un ciclu al ceasului de sistem.

Patru din registre, de la R0 la R3, sunt dedicate ca si numarator de program, registru de stare si generator de constante, asigurand accesul la 6 valori constante utilizate in mod obisnuit fara a mai fi nevoie de un operand aditional. Registrul 3 este citit intotdeauna 0 si scrierile catre el sunt ignorate. Restul registrelor de la 4 la 15 sunt pentru uz general.

Perifericele sunt conectate la UCP folosind adresele si magistralele de control si pot fi operate cu toate instructiunile.

Registrele:

Registrul numarator de program (Program Counter - PC) este de 16 biti si indica urmatoarea instructiune sa fie executata. Fiecare instructiune foloseste un numar par de biti si numaratorul de program este incrementat in consecinta.

Page 9: Proiect Mc Cretu Alin Mihai Tc32

Registrul indicator de stiva (Stack Pointer - SP) este folosit de UCP pentru a stoca intoarcerea adreselor apelurilor de subrutina si a intreruperilor. Indicatorul de stiva este initializat in memoria RAM de catre utilizator si este aliniata la adrese pare.

Registrul de stare (Status Register – SR) este folosit ca si registru sursa sau destinatie, poate fi utilizat numai in cazul in care sunt folosite instructiuni de tip cuvant.

Registrul generator de constanta (Constant Generator Register – CG) genereaza sase constante utilizate in mod obisnuit fara a mai fi nevoie de un program de cod aditional.

Modurile de adresare :

-Adresare de tip registru

-Adresare indexata

-Adresare simbolica

-Adresare absoluta

-Adresare indirecta de tip registru

-Adresare indirecta autoincrementata

-Adresare imediata

Periferice:

Periferice analogice

• CAD de inalta performanta;

Page 10: Proiect Mc Cretu Alin Mihai Tc32

• CDA -uri duale;

• Comparator;

• driver LCD;

• Supervizor tensiune de alimentare.

Periferice digitale

• USART / I2C;

• Multiplicator hardware;

• Timere 16 biti si 8 biti;

• Controler DMA.

Organizarea Memoriei:

Memorie FLASH: 2kB

Memorie RAM: 128B

Memoria flash poate fi programata prin portul Spy-Bi-Wire/JTAG sau in sistem de catre UCP.UCP poate opera scrieri bit cu bit sau cuvant cu cuvant in memoria flash. Caracteristicile memoriei flash includ:- Memorie flash are n segmente de memorie principale si patru segmente de memorie de informare (A la D) de 64 bytes fiecare. Fiecare segment din memoria principala este de 512 octeti in dimensiune.

Page 11: Proiect Mc Cretu Alin Mihai Tc32

- Segmentele de la 0 la n ar putea fi sterse intr-un singur pas, sau fiecare segment poate fi sters individual.- Segmentele de la A la D, pot fi sterse individual sau in grup, cu segmentele de la 0 la n. Segmentele de la A la D, sunt, de asemenea, numite memorie de informatii.- Segmentul A contine date de calibrare. Dupa resetare segmentul A este protejat impotriva programarii si stergerii. Acesta poate fi deblocat, dar trebuie avut grija ca acest segment sa nu se stearga in cazul in care date de calibrare specifice dispozitivului sunt necesare.

Setul de instructiuni:

Operatii registru- memorieADD, CAD - aduna continutul unei locatii de memorie la acumulator (farasau cu transport)AND - si intre memorie cu acumulatorCMP - compara memorie cu acumulatorEOR - sau exclusiv memorie cu acumulatorCPX - compara registru index cu memoriaLDA, LDX - incarca acumulator (registru index) cu un octet din memorieORA - sau logic intre acumulator si memorieSBC, SUB - scadere cu sau fara imprumutSTA, STX - salvare acumulator (registru index) in memorieMUL – inmultire

Operatii de tip citeste- modifica- scrieASL,ASR, LSL, LSR - deplasare aritmetica (logica) stânga (dreapta)BSET, BCLR - setare sau resetare bitCLR - resetare registruCOM - complement fata de 1NEG - complement fata de 2 (negare)ROL, ROR - rotatie stânga (dreapta) prin CarryTST- - test pentru zero sau negativ

Operatii de saltBCC, BCS - CDAa bitul Carry este 0 sau 1BEQ, BNE - CDAa este egal (sau nu)BHCC, BHCS - CDAa bitul Half Carry este 0 sau 1BHI, BHS - CDAa este mai mare ori mai mare sau egal

Page 12: Proiect Mc Cretu Alin Mihai Tc32

BLO, BLS - CDAa este mai mic ori mai mic sau egalBIH, BIL - CDAa linia de intrerupere externa este 1 sau 0BMI, BPL - CDAa este negativ (sau pozitiv)BMC, BMS - CDAa masca de intrerupere este 0 sau 1BRA, JMP - salt neconditionatBSR, JSR - salt la subrutina

Manipulare la nivel de bitBCLR, BSET - inscrierea unui bit cu 0 (sau cu 1)BRCLR, BRSET - salt CDAa un bit este 0 (sau cu 1)

Operatii de controlCLC, SEC - inscriere cu 0 (cu1) a bitului de CarryCLI, SEI – inscriere cu 0 (cu 1) a mastii pentru intrerupereNOP - nu se executa nici o operatieRTI, RTS - intoarcere din intrerupere (subrutina)STOP, WAIT - se opreste oscilatorul UCP si se asteapta o intrerupereexterna (se valideaza intreruperile)SWI - intrerupere softwareTAX, TXA - transfera acumulatorul in registrul index (sau invers)

Bibliografie:

http://www.ti.com/lit/ds/slas695g/slas695g.pdf

http://www.ti.com/lit/ug/slau144h/slau144h.pdf

http://en.wikipedia.org/wiki/TI_MSP430

Page 13: Proiect Mc Cretu Alin Mihai Tc32

Recommended