Uvod v arhitekturo mikrokrmilnika LPC2148 na osnovi ARM7

Uvod v arhitekturo mikrokrmilnika LPC2148 na osnovi ARM7

ARM (Advanced RISC Machine) je predstavil več procesorjev z različnimi lastnostmi in različnimi jedri za najrazličnejše aplikacije. Prva zasnova arhitekture ARM ima 26-bitne procesorje, zdaj pa je dosegla 64-bitne procesorje. Splošne razširitve izdelkov ARM ni mogoče razvrstiti v nekatere posebne informacije. Toda izdelke ARM lahko razumemo na podlagi njihove arhitekture. Standardni procesorji serije ARM, ki so na voljo na trgu, se začnejo od ARM7 do ARM11. Ti procesorji imajo več funkcij, kot so predpomnilnik, podatkovno tesno povezan pomnilnik, MPU, MMU itd. Nekatere splošno znane serije procesorjev ARM so ARM926EJ-S, ARM7TDMI in ARM11 MPCore. Ta članek je posebej namenjen pregledu arhitekture mikrokrmilnika LPC2148 na osnovi ARM7, ki vam bo dal kratke informacije o mikrokrmilnik arhitektura.



Arhitektura mikrokrmilnika LPC2148 na osnovi ARM7

ARM7 je 32-bitni splošni namen mikroprocesor in ponuja nekatere funkcije, kot sta majhna poraba energije in visoka zmogljivost. Arhitektura ARM je odvisna od načela RISC . Pripadajoči mehanizem za dekodiranje in nabor navodil RISC so v primerjavi z zelo enostavni mikroprogramirani CISC -Complex Navodila za računalnike.


Metoda Pipeline se uporablja za obdelavo vseh blokov v arhitekturi. Na splošno se izvede en nabor ukazov, nato se prevede njegov potomec & a 3rd-navodilo je pridobljeno iz spomina.





Ekskluzivno arhitekturni načrt ARM7 se imenuje Thumb in je popolnoma primeren za velike količine aplikacij, kjer gre za kompaktnost kode. ARM7 uporablja tudi ekskluzivno arhitekturo, in sicer Thumb. Popolnoma primeren je za različne aplikacije zaradi omejitev pomnilnika, kjer je gostota kode pomembna.

Arhitektura ARM7 na osnovi mikrokrmilnika (LPC2148)

Arhitektura ARM7 na osnovi mikrokrmilnika (LPC2148)



Prekinite vire

Vsaka zunanja naprava je sestavljena iz ene same prekinitvene črte, povezane z VIC (vektorski krmilnik prekinitev), čeprav ima lahko znotraj različne zastavice prekinitev. Posamezne zastavice prekinitve lahko pomenijo tudi enega ali več virov prekinitev.


Vgrajeni pomnilnik Flash programa

Mikrokrmilnik LPC2141 / 42/44/46/48 vključuje bliskovni pomnilnik, na primer 32 kilobajtov, kilobajtov, 128 kilobajtov oziroma 256 kilobajtov. Ta bliskovni pomnilnik se lahko uporablja tako za shranjevanje podatkov kot tudi za kodo. Programiranje bliskovnega pomnilnika lahko v sistemu izvedete prek serijskih vrat.

Programska aplikacija lahko med izvajanjem programa tudi izbriše, kar omogoča prilagodljivost izboljšav vdelane programske opreme na področju shranjevanja podatkov itd. Zaradi izbire arhitekturne rešitve za zagonski nalagalnik na čipu je razpoložljivi pomnilnik za mikrokrmilnike LPC2141 / 42 / 44/46/48 je 32 kilobajtov, kilobajtov, 128 kilobajtov, 256 kilobajtov in 500 kilobajtov. Flash pomnilnik teh mikrokrmilnikov ponuja 1.000.000 brisanj na ciklov in dolgoletno hrambo podatkov.

Blok Pin Connect

Ta blok omogoča izbrane nožice mikrokrmilnika LPC2148 na osnovi ARM7 za več funkcij. Multipleksorji lahko nadzorujejo konfiguracijski registri, ki omogočajo povezavo med zatičem in perifernimi napravami na čipu.

Periferne naprave morajo biti povezane z ustreznimi nožicami, preden so bile sprožene, in pred vsemi dovoljenimi povezanimi prekinitvami. Funkcijo mikrokrmilnika lahko krmilni modul pin določi z izbiro registrov pinov v določenem okolju strojne opreme.

Po preureditvi so vsi zatiči vrat (vrata 0 in vrata 1) glede na dane izjeme urejeni kot i / p. Če je odpravljanje napak dovoljeno

Če je odpravljanje napak dovoljeno, bodo zatiči JTAG uganili funkcionalnost JTAG. Če je sledenje dovoljeno, bodo zatiči sledenja uganili funkcionalnost sledenja. Zatiči, povezani z zatiči I2C0 in I2C1, imajo odprt odtok.

GPIO - Vzporedni vhod / izhod za splošni namen

Registri GPIO nadzorujejo zatiče naprave, ki niso povezani z določeno zunanjo funkcijo. Zatiči naprave so lahko razporejeni v obliki i / p [s ali o / ps. Posamezni registri omogočajo hkratno brisanje poljubnega števila o / p. Vrednost izhodnega registra je mogoče prebrati in trenutno stanje zatičev vrat. Ti mikrokrmilniki začnejo pospešeno funkcijo nad napravami LPC200.

Vhodno / izhodni registri za splošno uporabo se premaknejo na procesorsko vodilo, ki se uporablja za najboljši verjetni čas V / I.

  • Ti registri so naslovljivi bajti.
  • Skupna vrednost vrat je lahko
  • Celotna vrednost vrat je lahko zapisana v edinem navodilu

10-bitni ADC (analogno-digitalni pretvornik)

Mikrokrmilniki, kot sta LPC2141 ali 42, vključujejo dva Pretvorniki ADC , in to le 10-bitni imajo enega, LPC2144 / 46/48 pa dva ADC-ja, in to le 10-bitni ADC-ji z ​​neposrednim približkom. Čeprav ADC0 vključuje 6 kanalov, ADC1 pa 8 kanalov. Tako je število dostopnih ADC i / ps za LPC2141 ali 42 6 in 14 za LPC2141 ali 42.

10-bitni DAC (digitalno-analogni pretvornik)

DAC omogoča tem mikrokrmilnikom, da proizvajajo spremenljiv analogni o / p in VREFje največji rezultat a digitalno na analogno Napetost.

Krmilnik naprave-USB 2.0

Univerzalno serijsko vodilo je sestavljeno iz 4 žic, kar omogoča podporo za komunikacijo med številnimi zunanjimi napravami in gostitelji. Ta krmilnik omogoča pasovno širino USB za povezovanje naprav, ki uporabljajo protokol, ki temelji na žetonu.

Avtobus podpira odklop vročih priključkov in dinamično zbiranje naprav. Vsaka komunikacija se začne prek gostiteljskega krmilnika. Ti mikrokrmilniki so zasnovani z univerzalnim krmilnikom serijske vodila, ki omogoča 12-bitne / sekundne podatke, ki jih nadomesti gostiteljski krmilnik USB.

UART-ji

Ti mikrokrmilniki vključujejo dva UART-a za standardni prenos in pridobivanje podatkovnih linij. V nasprotju s prejšnjimi mikrokrmilniki (LPC2000) UART-ji v mikrokrmilnikih LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 sprožijo generator delne hitrosti prenosa, ki se uporablja za oba UART-a, kar omogoča tem tipom mikrokrmilnikov za doseganje tipičnih hitrosti prenosa, kot je 115200 pri vsaki kristalni frekvenci nad 2 MHz . Poleg tega se nadzorne funkcije, kot sta CTS / RTS, v celoti izvajajo v strojni opremi.

Serijski V / I krmilnik I2C-vodila

Vsak mikrokrmilnik iz LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 vključuje dva I2C krmilniki vodila, in to je dvosmerno. Krmiljenje med IC je mogoče izvesti s pomočjo dveh žic, in sicer SCL in SDA. Tu sta SDA in SCL zaporedna vrstica ure in zaporedna podatkovna linija

Vsak aparat je označen s posameznim naslovom. Tu lahko oddajniki in sprejemniki delujejo v dveh načinih, kot sta glavni način / pomožni način. To je vodilo z več glavnimi vodili, z njim pa lahko upravlja en ali več glavno vodilo vodila, povezanih z njim. Ti mikrokrmilniki podpirajo hitrost prenosa do 400 kbit / s.

Krmilnik serijskega vhoda / izhoda SPI

Ti mikrokrmilniki vključujejo en sam krmilnik SPI in so namenjeni za obdelavo številnih glavnih in pomožnih naprav, povezanih z določenim vodilom.

Preprosto poveljnik in podrejeni lahko pogovarjata vmesnik med določenim prenosom podatkov. Med tem poveljnik nenehno prenaša bajt podatkov proti podrejenemu, kot tudi podrejeni nenehno prenaša podatke proti glavnemu.

SSP serijski vhodno / izhodni krmilnik

Ti mikrokrmilniki vsebujejo en sam SSP in ta krmilnik je sposoben obdelati na SPI, vodilu Microwire ali 4-žičnem SSI. Lahko komunicira z avtobusom več gospodarjev in sužnjev

Preprosto določeni mojster in podrejeni lahko med pogovorom med določenim prenosom podatkov govori na vodilu. Ta mikrokrmilnik podpira polno-dupleksne prenose s 4-16 bitnimi podatkovnimi okviri, ki se uporabljajo za pretok podatkov od glavnega podrejenega in podrejenega vodilnega.

Časovniki / števci

Časovniki in števci so zasnovani za štetje ciklov PCLK (periferna ura) in po želji proizvajajo prekinitve na podlagi registrov s 4 ujemanji.

In obsega štiri zajemne i / ps za zajem vrednosti časovnika, ko se signali i / p spremenijo. Za izvedbo določenega zajema je bilo mogoče izbrati več nožic. Ti mikrokrmilniki lahko izračunajo zunanje dogodke na vhodih zajema, če je najmanjši zunanji impulz enakovreden. V tej ureditvi lahko izberete proste zajemne črte kot običajni časovni zajem i / ps.

Watchdog Timer

Watchdog timer se uporablja za ponastavitev mikrokrmilnika v razumnem času. Ko je dovoljeno, bo časovnik ponastavil sistem, če potrošniškemu programu ne uspe znova naložiti časovnika v določenem času.

RTC-ura v realnem času

RTC je namenjen zagotavljanju števcev za izračun časa, ko je izbran način mirovanja ali običajni način delovanja. RTC porabi majhno količino energije in je zasnovan za ustrezne akumulatorje, kjer osrednja procesorska enota ne deluje neprekinjeno

Nadzor moči

Ti mikrokrmilniki podpirajo dva načina zgoščene moči, kot sta način izklopa in način mirovanja. V stanju pripravljenosti je izvajanje ukazov uravnoteženo, dokler ne pride do prekinitve ali RST. Funkcije zunanje naprave vzdržujejo delovanje v celotnem načinu mirovanja in lahko povzročijo prekinitve, zaradi katerih CPU znova zažene končno obdelavo. V stanju pripravljenosti odstrani moč CPU, krmilnikov, pomnilniških sistemov in notranjih vodilov.

V načinu izklopa se oscilator deaktivira in IC ne dobi nobenih ur. Periferni registri, stanje procesorja z registri, notranje vrednosti SRAM se ohranijo v načinu izklopa in izhodni zatiči logičnih nivojev čipa ostanejo fiksni.

Ta način je mogoče končati in skupni postopek znova zagnati s posebnimi prekinitvami, ki lahko delujejo brez ur. Ker je delovanje čipa uravnoteženo, način izklopa zmanjša izkoristek čipa na skoraj nič.

PWM-impulzni modulator širine

PWM temeljijo na običajnem časovnem bloku in imajo tudi vse funkcije, čeprav je preprosto funkcija modulatorja impulzne širine pritrjena na mikrokrmilnike, kot je LPC2141 / 42/44/46/48.

Časovnik je namenjen izračunu ciklov PCLK (periferna ura) in po želji proizvaja prekinitve, ko se določene vrednosti časovnika pojavijo na podlagi 7-ujemajočih se registrov, funkcija PWM pa je odvisna tudi od dogodkov v registru ujemanja.

Zmožnost individualnega nadzora naraščajočih in padajočih mejnih položajev omogoča uporabo modulacije širine impulza za več aplikacij. Na primer, tipično krmiljenje motorja z večfaznim napajanjem uporablja 3 neprekrivajoče se izhode PWM z ločenim nadzorom širine vsakega impulza in položajev.

Avtobus VPB

Razdelilnik VPB razreši povezavo med CCLK (procesorska ura) in PCLK (ura, ki jo uporabljajo zunanje naprave). Ta delilnik se uporablja za dva namena. Prva uporaba je dobava zunanjih naprav prek prednostnega PCLK z uporabo vodila VPB, tako da lahko delujejo z izbrano hitrostjo procesorja ARM. Da bi to dosegli, lahko s to hitrostjo vodila zmanjšamo takt procesorja z ⁄ 2 -1⁄4.

Ker mora to vodilo ob vklopu delovati natančno, privzeto stanje pri RST (ponastavitev) pa je, da vodilo deluje na 1/4 takta procesorja. Druga uporaba tega je omogočanje prihranka energije, kadar aplikacija ne potrebuje zunanjih naprav, ki bi delovale s popolno hitrostjo procesorja. Ker je razdelilnik VPB povezan z izhodom PLL, ta ostane aktiven v celotnem načinu mirovanja.

Emulacija in odpravljanje napak

Mikrokrmilnik (LPC2141 / 42/44/46/48) ima emulacijo in odpravljanje napak skozi serijska vrata-JTAG. Vrata za sledenje omogočajo sledenje izvajanju programa. Funkcije sledenja in koncepti za odpravljanje napak so multipleksirani s port1 in GPIO.

Varnost kode

Zaščitna funkcija teh mikrokrmilnikov LPC2141 / 42/44/46/48 omogoča funkcijo, da nadzoruje, ali jo je mogoče zaščititi ali odpraviti pred pregledom.

Gre torej za arhitekturo mikrokrmilnika LPC2148, ki temelji na ARM7. Iz zgornjega članka lahko končno zaključimo, da je ARM arhitektura, ki se uporablja v številnih procesorjih in mikrokrmilnikih. Tukaj je vprašanje za vas, kakšna je arhitektura procesorja ARM?