Introducere în arhitectura bazată pe microcontroler LPC2148 bazată pe ARM7

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





ARM (Advanced RISC Machine) a lansat mai multe procesoare care au caracteristici diferite, precum și diferite nuclee pentru o mare varietate de aplicații. Primul design de arhitectură ARM are procesoare pe 26 de biți, dar acum a ajuns la procesoare pe 64 de biți. Extinderea generală a produselor ARM nu poate fi clasificată în anumite informații. Dar produsele ARM pot fi înțelese pe baza arhitecturii sale. Procesoarele standard din seria ARM disponibile pe piață încep de la ARM7 la ARM11. Aceste procesoare au mai multe caracteristici cum ar fi memoria cache, memoria cuplată strâns de date, MPU, MMU etc. Unele dintre seriile de procesoare ARM cunoscute sunt ARM926EJ-S, ARM7TDMI și ARM11 MPCore. Acest articol este destinat în special pentru prezentarea generală a arhitecturii microcontrolerului LPC2148 bazată pe ARM7, care vă va oferi informații scurte despre microcontrolerul arhitectură.

ARM7 bazat pe arhitectura microcontrolerului LPC2148

ARM7 este un scop general pe 32 de biți microprocesor , și oferă unele dintre caracteristici, cum ar fi consumul redus de energie și performanțe ridicate. Arhitectura unui ARM depinde de principiile RISC . Mecanismul de decodare asociat, precum și setul de instrucțiuni RISC sunt mult mai ușoare atunci când comparăm cu CISC microprogramat -Computere complexe de instrucțiuni.




Metoda Pipeline este utilizată pentru procesarea tuturor blocurilor din arhitectură. În general, se execută un singur set de instrucțiuni, apoi descendentul său este tradus, și a 3rd-instrucțiunea se obține din memorie.

O exclusivitate plan arhitectural al ARM7 este numit Thumb și este perfect potrivit pentru aplicații cu volum mare în care compactitatea codului este o chestiune. ARM7 folosește și o arhitectură exclusivă și anume Thumb. Îl face perfect potrivit pentru diferite aplicații prin limitări ale memoriei, unde densitatea codului este o chestiune.



Arhitectură bazată pe microcontroler bazat pe ARM7 (LPC2148)

Arhitectură bazată pe microcontroler bazat pe ARM7 (LPC2148)

Surse de întrerupere

Fiecare dispozitiv periferic constă dintr-o singură linie de întrerupere aliată cu VIC (controler de întrerupere vectorială), deși poate avea diverse semne de întrerupere în interior. Semnalizatoarele individuale de întrerupere pot semnifica, de asemenea, una sau mai multe resurse de întrerupere.


Memorie de program Flash on-chip

Microcontrolerul LPC2141 / 42/44/46/48 include o memorie flash, cum ar fi 32 de kiloocteți, kiloocteți, 128 kiloți, respectiv 256 kilobiți. Această memorie flash poate fi utilizată atât pentru stocarea datelor, cât și pentru cod. Programarea memoriei flash se poate face în sistem prin portul serial.

Aplicația programului poate fi ștearsă în timp ce aplicația programului rulează, permițând flexibilitatea îmbunătățirilor firmware-ului câmpului de stocare a datelor etc. Din cauza selectării unei soluții arhitecturale pentru un bootloader on-chip, memoria disponibilă pentru microcontrolerele LPC2141 / 42 / 44/46/48 este de 32 kilobyte, kilobytes, 128 kilobytes, 256 kilobytes și 500 kilobytes. Memoria flash a acestor microcontrolere oferă ștergere de 1 000 000 per cicluri și păstrarea datelor timp de mulți ani.

Blocare PIN de conectare

Acest bloc permite pini aleși ai microcontrolerului LPC2148 bazat pe ARM7 pentru a avea mai multe funcții. Multiplexerele poate fi controlat de registrele de configurare pentru a permite legătura dintre pin, precum și perifericele de pe cip.

Perifericele trebuie să fie cuplate cu pinii corespunzători înainte de a fi declanșați și anterior oricărei întreruperi conectate care este permisă. Funcționalitatea microcontrolerului poate fi definită de modulul de control al pinului prin selectarea acestuia de registre într-un mediu hardware dat.

După rearanjarea tuturor pinilor porturilor (portul 0 și portul 1) sunt aranjate ca i / p prin excepțiile date. Dacă este permisă depanarea

Dacă este permisă depanarea, pinii JTAG vor ghici funcționalitatea JTAG. Dacă este permisă o urmă, atunci pinii de urmărire vor ghici funcționalitatea urmăririi. Pinii conectați la pinii I2C0 și I2C1 sunt de scurgere deschisă.

GPIO- Intrare / ieșire paralelă cu scop general

Registrele GPIO controlează pinii dispozitivului care nu sunt conectați la o anumită funcție periferică. Pinii dispozitivului pot fi aranjați ca i / p [s sau o / ps. Registrele individuale permit ștergerea oricărui număr de o / p simultan. Valoarea registrului de ieșire poate fi citită înapoi și starea actuală a pinilor portului. Aceste microcontrolere încep o funcție accelerată pe dispozitivele LPC200.

Registrele de intrare / ieșire de uz general sunt mutate pe magistrala procesorului utilizată pentru cel mai bun timp de I / O probabil.

  • Aceste registre sunt octeți adresabili.
  • Valoarea totală a unui port poate fi
  • Valoarea completă a portului poate fi scrisă în singura instrucțiune

ADC pe 10 biți (convertor analogic digital)

Microcontrolerele precum LPC2141 sau 42 includ două Convertoare ADC , iar acestea sunt doar 10 biți au unul și LPC2144 / 46/48 au două ADC-uri, iar acestea sunt doar ADC-uri de aproximare directă pe 10 biți. Deși ADC0 include 6 canale și ADC1 are 8 canale. Astfel, numărul de ADC i / ps accesibile pentru LPC2141 sau 42 este 6 și 14 pentru LPC2141 sau 42.

DAC pe 10 biți (convertor digital-analog)

DAC permite acestor microcontrolere să producă o analogică modificabilă o / p și V.REFeste cea mai mare ieșire a unui digital la un analog Voltaj.

Dispozitiv de control-USB 2.0

Autobuzul serial universal este format din 4 fire și oferă suport pentru comunicarea între un număr de periferice și gazde. Acest controler permite lățimea de bandă a USB pentru conectarea dispozitivelor utilizând un protocol bazat pe token.

Autobuzul acceptă deconectarea conectării la cald și colectarea dinamică a dispozitivelor. Fiecare comunicare este pornită prin intermediul controlerului gazdă. Aceste microcontrolere sunt proiectate cu un controler universal de aparat de magistrală serial care permite date de 12 Mbit / sec înlocuite de un controler gazdă de USB.

UART-uri

Aceste microcontrolere includ două UART-uri pentru transmiterea standard și obținerea de linii de date. Contrastate cu microcontrolerele anterioare (LPC2000), UART-urile din microcontrolerele LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 inițiază un generator de viteză parțială de baud utilizat pentru ambele UART-uri, permițând aceste tipuri de microcontrolere pentru a atinge rate de transmisie tipice, cum ar fi 115200 pe fiecare frecvență de cristal de peste 2 MHz . În plus, funcțiile de control precum CTS / RTS sunt complet executate în hardware.

Controler serial I / O al magistralei I2C

Fiecare microcontroler din LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 include două I2C controlere de autobuz, iar acesta este bidirecțional. Controlul inter-IC se poate face cu ajutorul a două fire și anume un SCL și SDA. Aici SDA și SCL sunt linia de ceas serial și linia de date seriale

Fiecare aparat este identificat printr-o adresă individuală. Aici, emițătoarele și receptoarele pot funcționa în două moduri, cum ar fi modul master / modul slave. Acesta este un autobuz multi-master și poate fi gestionat de unul sau mai mulți master de autobuz conectați la acesta. Aceste microcontrolere acceptă viteze de biți de până la 400 kbit / s.

Controler de intrare / ieșire serial SPI

Aceste microcontrolere includ un singur controler SPI și sunt destinate să gestioneze numeroși master și sclavi asociați cu o magistrală specificată.

Pur și simplu un maestru și un sclav pot conversa prin interfață pe parcursul transmiterii de date specificate. În acest timp, stăpânul transmite constant un octet de date către sclav, precum și sclavul transmite în mod constant date către stăpân.

SSP Serial Input / Output Controller

Aceste microcontrolere conțin SSP unic, iar acest controler este capabil să proceseze pe un SPI, magistrală Microwire sau SSI cu 4 fire. Poate comunica cu autobuzul mai multor maeștri, precum și cu sclavi

Dar, pur și simplu un anumit maestru, precum și un sclav, poate conversa pe autobuz pe parcursul unei transmisii de date specificate. Acest microcontroler acceptă transferuri full-duplex, cu cadre de date de 4-16 biți folosite pentru fluxul de date de la master - slave, precum și de la slave - master.

Cronometre / Contoare

Cronometre și contoare sunt concepute pentru numărarea ciclurilor PCLK (ceas periferic) și, opțional, produc întreruperi pe baza registrelor cu 4 potriviri.

Și cuprinde patru capturi i / ps pentru a prinde valoarea unui cronometru atunci când un semnal i / p se schimbă. Pentru a executa o anumită captură s-ar putea alege mai mulți pini. Aceste microcontrolere pot calcula evenimentele exterioare la intrările de captură dacă cel mai mic impuls exterior este echivalent. În acest aranjament, liniile de captare inactiv pot fi alese ca i / ps de captare temporizată obișnuită.

Cronometru de supraveghere

Cronometrul câinelui de pază este utilizat pentru resetarea microcontrolerului într-o sumă rezonabilă de timp. Când este permis, atunci cronometrul va produce o resetare a unui sistem dacă programul de consum nu reușește să reîncarce temporizatorul într-o sumă fixă ​​de timp.

RTC-Ceas în timp real

RTC este destinat să furnizeze contoare pentru calcularea timpului când se alege metoda de funcționare inactivă sau normală. RTC folosește o cantitate mică de energie și este conceput pentru aranjamente adecvate alimentate de baterie, unde unitatea centrală de procesare nu funcționează constant

Controlul puterii

Aceste microcontrolere acceptă două moduri de alimentare condensată, cum ar fi modul de oprire și modul de repaus. În modul Repaus, executarea instrucțiunilor este echilibrată până când apare o întrerupere sau RST. Funcțiile perifericului mențin funcționarea în modul inactiv și pot produce întreruperi pentru a determina repornirea procesorului. Modul de repaus elimină puterea utilizată de CPU, controlere, sisteme de memorie și magistrale interioare.

În modul de oprire, oscilatorul este dezactivat și IC nu primește ceasuri interioare. Registrele periferice, starea procesorului cu registre, valorile SRAM interioare sunt conservate în timpul modului de oprire și pinii de ieșire ai nivelurilor logice ale cipului rămân fixe.

Acest mod poate fi terminat și procesul comun poate fi repornit de întreruperi specifice care sunt capabile să funcționeze fără ceasuri. Deoarece funcționarea cipului este echilibrată, modul de oprire scade utilizarea puterii cipului la aproape zero.

PWM -Pulse Width Modulator

PWM-urile se bazează pe blocul temporizat normal și intră, de asemenea, în toate caracteristicile, deși pur și simplu funcția de modulare a lățimii pulsului este fixată pe microcontrolere precum LPC2141 / 42/44/46/48.

Temporizatorul este destinat să calculeze ciclurile PCLK (ceas periferic) și, opțional, să producă întreruperi atunci când apar anumite valori ale temporizatorului pe baza registrelor cu 7 meciuri, iar funcția PWM depinde și de evenimentele din registrul de meciuri.

Capacitatea de a controla individual creșterea și scăderea pozițiilor la graniță permite modularea lățimii pulsului să fie utilizată pentru mai multe aplicații. De exemplu, controlul tipic al motorului cu mai multe faze utilizează 3 ieșiri ale PWM care nu se suprapun prin control separat al fiecărei lățimi a impulsurilor, precum și a pozițiilor.

Autobuz VPB

Divizorul VPB rezolvă asocierea dintre CCLK (ceasul procesorului) și PCLK (ceasul utilizat de dispozitivele periferice). Acest divizor este utilizat în două scopuri. Prima utilizare este de a furniza periferice prin PCLK preferat folosind magistrala VPB, astfel încât acestea să poată funcționa la viteza selectată a procesorului ARM. Pentru a realiza acest lucru, această viteză a magistralei poate reduce rata de ceas a procesorului de la 1⁄2 -1⁄4.

Deoarece acest autobuz trebuie să funcționeze cu precizie la pornire, iar starea implicită la RST (resetare) este ca autobuzul să funcționeze la 1/4 din rata de ceas a procesorului. A doua utilizare a acestui lucru este de a permite economii de energie ori de câte ori o aplicație nu are nevoie de periferice pentru a funcționa la viteza completă a procesorului. Deoarece divizorul VPB este asociat cu ieșirea PLL, acesta rămâne activ pe tot parcursul unui mod inactiv.

Emulare și depanare

Microcontrolerul (LPC2141 / 42/44/46/48) deține emulare și depanare prin portul serial-JTAG. Un permis de urmărire a portului care urmărește execuția programului. Funcțiile de urmărire și conceptele de depanare sunt multiplexate cu port1 și GPIO.

Securitate cod

Caracteristica de securitate a codului acestor microcontrolere LPC2141 / 42/44/46/48 permite unei funcții să controleze dacă acesta poate fi protejat sau depanat de la inspecție.

Astfel, este vorba despre arhitectura microcontrolerului LPC2148 bazată pe ARM7. Din articolul de mai sus, în cele din urmă, putem concluziona că ARM este o arhitectură utilizată în numeroase procesoare, precum și în microcontrolere. Iată o întrebare pentru dvs., care este arhitectura unui procesor ARM?