Úvod do architektúry mikrokontroléra LPC2148 založenej na ARM7

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





ARM (Advanced RISC Machine) uviedol na trh niekoľko procesorov, ktoré majú rôzne vlastnosti aj rôzne jadrá pre širokú škálu aplikácií. Prvý návrh architektúry ARM má 26-bitové procesory, teraz však dosiahol 64-bitové procesory. Všeobecnú expanziu produktov ARM nemožno kategorizovať do určitých konkrétnych informácií. Produkty ARM však možno chápať na základe ich architektúry. Štandardné procesory série ARM dostupné na trhu začínajú od ARM7 po ARM11. Tieto procesory majú niekoľko funkcií, ako je vyrovnávacia pamäť, pamäť Data Tightly Coupled, MPU, MMU atď. Niektoré zo všeobecne známych radov procesorov ARM sú ARM926EJ-S, ARM7TDMI a ARM11 MPCore. Tento článok je zvlášť určený pre prehľad architektúry mikrokontroléra LPC2148 založenej na ARM7, ktorý vám poskytne stručné informácie o mikrokontrolér architektúry.

Architektúra mikrokontroléra LPC2148 založená na ARM7

ARM7 je 32-bitový univerzálny server mikroprocesor a ponúka niektoré funkcie, ako napríklad malé využitie energie a vysoký výkon. Architektúra ARM závisí od princípy RISC . Priradený dekódovací mechanizmus, ako aj sada inštrukcií RISC sú v porovnaní s oveľa jednoduchšie mikroprogramovaný CISC - Počítače s komplexnou inštrukčnou sadou.




Na spracovanie všetkých blokov v architektúre sa používa metóda Pipeline. Spravidla sa vykonáva jedna sada inštrukcií, potom sa prekladá jej potomok a & 3rd- inštrukcia sa získava z pamäte.

Exkluzívne architektonický plán ARM7 sa nazýva Thumb a je dokonale vhodný pre veľkoobjemové aplikácie, kde je dôležitá kompaktnosť kódu. ARM7 tiež používa exkluzívnu architektúru Thumb. Vďaka obmedzeniam pamäte, kde je dôležitá hustota kódu, je dokonale vhodný pre rôzne aplikácie.



Architektúra mikrokontroléra na báze ARM7 (LPC2148)

Architektúra mikrokontroléra na báze ARM7 (LPC2148)

Prerušiť zdroje

Každé periférne zariadenie pozostáva z jednej prerušovacej linky spojenej s VIC (radič vektorového prerušenia), aj keď môže mať vo vnútri rôzne príznaky prerušenia. Jednotlivé príznaky prerušenia môžu tiež znamenať jeden alebo viac zdrojov prerušenia.


On-chip Flash programová pamäť

Mikrokontrolér LPC2141 / 42/44/46/48 obsahuje flash pamäť ako 32-kilobajty, kilobajty, 128-kilobajty, 256-kilobajty. Túto flash pamäť je možné použiť na ukladanie dát aj na kódovanie. Programovanie flash pamäte je možné v systéme vykonávať cez sériový port.

Programová aplikácia sa môže mazať aj za behu aplikácie, čo umožňuje flexibilitu vylepšenia firmvéru poľa na ukladanie údajov atď. Z dôvodu výberu architektonického riešenia pre bootloader na čipe je k dispozícii pamäť pre mikrokontroléry LPC2141 / 42 / 44/46/48 je 32-kilobajt, kilobajt, 128-kilobajt, 256-kilobajt a 500-kilobajt. Flash pamäť týchto mikrokontrolérov ponúka 1 000 000 vymazaní za cyklus a uchovanie údajov po mnoho rokov.

Pripnúť pripojiť blok

Tento blok umožňuje vybraným pinom mikrokontroléra LPC2148 založeným na ARM7 mať niekoľko funkcií. Multiplexory môžu byť riadené konfiguračnými registrami umožňujúcimi spojenie medzi pinom ako aj periférnymi zariadeniami na čipe.

Periférie musia byť spojené s vhodnými pinmi pred spustením a pred povolením akýchkoľvek pripojených prerušení. Funkčnosť mikrokontroléra môže byť definovaná modulom riadenia pinov výberom registrov pinov v danom hardvérovom prostredí.

Po preskupení sú všetky kolíky portov (port 0 a port 1) dané výnimkami usporiadané ako i / p. Ak je povolené ladenie

Ak je povolené ladenie, piny JTAG uhádnu funkčnosť JTAG. Ak je sledovanie povolené, potom sledovacie piny uhádnu funkčnosť sledovania. Kolíky pripojené k kolíkom I2C0 a I2C1 majú otvorený odtok.

GPIO - paralelný vstup / výstup na všeobecné použitie

Registre GPIO riadia kolíky zariadenia, ktoré nie sú spojené s konkrétnou periférnou funkciou. Kolíky zariadenia môžu byť usporiadané ako i / p [s alebo o / ps. Jednotlivé registre umožňujú súčasné zúčtovanie ľubovoľného počtu O / P. Hodnotu výstupného registra je možné načítať späť a súčasný stav pinov portov. Tieto mikrokontroléry začínajú akcelerovanú funkciu nad zariadeniami LPC200.

Univerzálne vstupné / výstupné registre sa presunú do zbernice procesora použitej pre najlepší pravdepodobný čas I / O.

  • Tieto registre sú adresovateľné bajty.
  • Celková hodnota portu môže byť
  • Celú hodnotu portu je možné zapísať do jedinej inštrukcie

10-bitový ADC (analógový na digitálny prevodník)

Mikroprocesory ako LPC2141 alebo 42 obsahujú dva Prevádzače ADC , a tieto sú iba 10-bitové s jedným a LPC2144 / 46/48 majú dva ADC a sú to iba 10-bitové priame aproximácie. Hoci ADC0 obsahuje 6 kanálov a ADC1 má 8 kanálov. Počet prístupných ADC i / ps pre LPC2141 alebo 42 je teda 6 a 14 pre LPC2141 alebo 42.

10-bitový DAC (digitálno-analógový prevodník)

DAC umožňuje týmto mikrokontrolérom produkovať meniteľný analógový O / P a VREFje maximálny výstup a digitálne na analógové Napätie.

Ovládač zariadenia - USB 2.0

Univerzálna sériová zbernica pozostáva zo 4 vodičov, ktorá podporuje komunikáciu medzi niekoľkými perifériami a hostiteľmi. Tento radič umožňuje šírku pásma USB pre pripojenie zariadení pomocou protokolu založeného na tokene.

Zbernica podporuje odpojenie za tepla a dynamický zber zariadení. Každá komunikácia sa začína cez hostiteľský radič. Tieto mikrokontroléry sú navrhnuté s univerzálnym radičom prístroja sériovej zbernice, ktorý umožňuje nahradenie dát 12 Mbit / s hostiteľským radičom USB.

UART

Tieto mikrokontroléry obsahujú dva UART pre štandardné dátové linky na prenos a získanie. Na rozdiel od predchádzajúcich mikrokontrolérov (LPC2000), UART v mikrokontroléroch LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 iniciujú generátor čiastočnej prenosovej rýchlosti používaný pre oba UART, čo umožňuje týmto typom mikrokontrolérov dosiahnuť typické prenosové rýchlosti ako 115200 pri každej frekvencii kryštálu nad 2 MHz . Riadiace funkcie ako CTS / RTS sú navyše úplne vykonávané v hardvéri.

Sériový I / O radič na zbernici I2C

Každý mikrokontrolér z LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 obsahuje dva I2C radiče autobusov, a to je obojsmerné. Ovládanie inter-IC je možné pomocou dvoch vodičov, konkrétne SCL a SDA. SDA a SCL sú tu sériová hodinová linka a sériová dátová linka

Každý prístroj je identifikovaný individuálnou adresou. Vysielače a prijímače tu môžu pracovať v dvoch režimoch, ako je hlavný alebo podriadený režim. Toto je zbernica s viacerými mastermi a môže byť spravovaná jedným alebo viacerými mastermi zbernice s ňou prepojenými. Tieto mikrokontroléry podporujú bitové rýchlosti až do 400 kbit / s.

Ovládač sériového vstupu / výstupu SPI

Tieto mikrokontroléry obsahujú jeden SPI radič a sú určené na prácu s mnohými masters a slave spojenými so špecifikovanou zbernicou.

Master a slave môžu jednoducho konverzovať cez rozhranie počas určeného dátového prenosu. Počas toho hlavný server neustále prenáša bajt dát smerom k podriadenému zariadeniu, rovnako ako podriadený server neustále prenáša údaje smerom k nadriadenému serveru.

Kontrolér sériového vstupu / výstupu SSP

Tieto mikrokontroléry obsahujú jeden SSP a tento radič je schopný spracovať na zbernici SPI, Microwire alebo na 4-vodičovom SSI. Môže komunikovať so zbernicou niekoľkých pánov aj otrokov

Ale jednoducho konkrétny master, ako aj slave, môžu na zbernici konverzovať počas určeného dátového prenosu. Tento mikrokontrolér podporuje plne duplexné prenosy prostredníctvom 4-16 bitových dátových rámcov používaných na tok údajov z nadradeného zariadenia aj podriadeného zariadenia.

Časovače / počítadlá

Časovače a počítadlá sú určené na počítanie cyklov PCLK (periférne hodiny) a voliteľne vytvárajú prerušenia na základe 4-zápasových registrov.

Zahŕňa štyri zachytávacie i / ps na zachytenie hodnoty časovača pri zmene i / p signálov. Na vykonanie konkrétneho zajatia bolo možné zvoliť niekoľko kolíkov. Tieto mikrokontroléry môžu vypočítať vonkajšie udalosti na vstupoch snímania, ak je najmenší vonkajší impulz ekvivalentný. V tomto usporiadaní je možné zvoliť riadkové riadiace čiary nečinnosti ako bežné časované snímanie i / ps.

Časovač strážneho psa

Časovač strážneho psa sa používa na resetovanie mikrokontroléra v primeranom čase. Pokiaľ je to povolené, potom časovač vyprodukuje reset systému, ak sa spotrebiteľskému programu nepodarí znovu načítať časovač v pevne stanovenom čase.

RTC - hodiny v reálnom čase

RTC je určený na poskytovanie počítadiel na výpočet času, keď sa zvolí voľnobežná alebo normálna prevádzková metóda. RTC využíva malé množstvo energie a je navrhnutý pre vhodné usporiadanie napájané z batérie, keď centrálna procesorová jednotka nefunguje neustále

Ovládanie napájania

Tieto mikrokontroléry podporujú dva režimy kondenzovanej energie, ako je režim vypnutia a režim nečinnosti. V základnom režime je vykonávanie pokynov vyvážené, kým nenastane prerušenie alebo RST. Funkcie periférnych zariadení udržujú prevádzku v pohotovostnom režime a môžu spôsobiť prerušenia, ktoré spôsobia dokončenie reštartu CPU. Nečinný režim odstraňuje energiu využívanú procesorom, radičmi, pamäťovými systémami a vnútornými zbernicami.

V režime vypnutia je oscilátor deaktivovaný a IC nemá žiadne vnútorné hodiny. Periférne registre, stav procesora s registrami, vnútorné hodnoty SRAM sú zachované počas režimu vypínania a výstupné piny čipovej logickej úrovne zostávajú pevné.

Tento režim je možné dokončiť a bežný proces reštartovať konkrétnymi prerušeniami, ktoré sú schopné pracovať bez hodín. Pretože je činnosť čipu vyvážená, režim Power down znižuje využitie výkonu čipu takmer na nulu.

PWM - modulátor šírky impulzu

PWM sú založené na normálnom časovom bloku a tiež prichádzajú do všetkých funkcií, aj keď jednoducho je funkcia modulátora šírky impulzu fixovaná na mikrokontroléroch ako LPC2141 / 42/44/46/48.

Časovač je určený na výpočet cyklov PCLK (periférne hodiny) a voliteľne produkuje prerušenia, keď vzniknú konkrétne hodnoty časovača na základe 7-zápasových registrov, a funkcia PWM tiež závisí od udalostí registrov zhody.

Schopnosť individuálne riadiť zvyšovanie a znižovanie hraničných polôh umožňuje využiť moduláciu šírky impulzu pre niekoľko aplikácií. Napríklad typické riadenie motora s viacfázovým napájaním využíva 3 neprekrývajúce sa výstupy PWM samostatným riadením všetkých šírok impulzov a polôh.

Bus VPB

Delič VPB rieši asociáciu medzi CCLK (hodiny procesora) a PCLK (hodiny používané periférnymi zariadeniami). Tento rozdeľovač slúži na dva účely. Prvým použitím je napájanie periférií preferovaným PCLK pomocou zbernice VPB, aby mohli pracovať zvolenou rýchlosťou procesora ARM. Aby sa to dosiahlo, je možné túto rýchlosť zbernice znížiť taktovaciu frekvenciu procesora z 1⁄2 -1⁄4.

Pretože táto zbernica musí pri zapnutí pracovať presne a predvolený stav pri RST (reset) je, aby zbernica pracovala pri 1/4 hodinovej frekvencie procesora. Druhým použitím je umožnenie úspory energie, kedykoľvek aplikácia nepotrebuje žiadne periférie, aby mohla pracovať s úplnou rýchlosťou procesora. Pretože delič VPB je spojený s výstupom PLL, zostáva aktívny počas celého režimu nečinnosti.

Emulácia a ladenie

Mikrokontrolér (LPC2141 / 42/44/46/48) uchováva emuláciu a ladenie prostredníctvom sériového portu JTAG. Trasovací port umožňuje sledovanie vykonania programu. Stopové funkcie a koncepty ladenia sú multiplexované s portom 1 a GPIO.

Zabezpečenie kódu

Funkcia zabezpečenia kódu týchto mikrokontrolérov LPC2141 / 42/44/46/48 umožňuje funkcii kontrolovať, či je možné ju chrániť alebo odladiť od kontroly.

Jedná sa teda o architektúru mikrokontroléra LPC2148 založenú na ARM7. Z vyššie uvedeného článku nakoniec môžeme konštatovať, že ARM je architektúra používaná v mnohých procesoroch aj v mikrokontroléroch. Tu je otázka, aká je architektúra procesora ARM?