Sissejuhatus ARM7-põhisele mikrokontrolleri arhitektuurile LPC2148

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





ARM (Advanced RISC Machine) on turule toonud mitu protsessorit, millel on nii erinevad funktsioonid kui ka erinevad südamikud mitmesuguste rakenduste jaoks. Esimesel ARM-i arhitektuurikujundusel on 26-bitised protsessorid, kuid nüüd jõudis see 64-bitiste protsessoriteni. ARM-toodete üldist laienemist ei saa kategoriseerida teatud konkreetsesse teabesse. Kuid ARM-i tooteid saab mõista selle arhitektuuri põhjal. Turul saadaval olevad standardsed ARM-seeria protsessorid algavad ARM7-st kuni ARM11-ni. Nendel protsessoritel on mitu funktsiooni, näiteks vahemälu, tihedalt ühendatud andmemälu, MPU, MMU jne. Mõned laialt tuntud ARM-protsessorite sarjad on ARM926EJ-S, ARM7TDMI ja ARM11 MPCore. See artikkel on mõeldud eelkõige mikrokontrolleri ARM7-põhise LPC2148 arhitektuuri ülevaatele, mis annab teile lühiteavet mikrokontroller arhitektuur.

ARM7-põhine mikrokontrolleri arhitektuur LPC2148

ARM7 on 32-bitine üldotstarbeline mikroprotsessor ja pakub mõningaid funktsioone, nagu vähene energiatarbimine ja kõrge jõudlus. ARM-i arhitektuur sõltub RISC põhimõtteid . Seotud dekodeerimismehhanism ja RISC-käskude komplekt on võrreldavad palju lihtsamad mikroprogrammeeritud CISC - komplekssed juhised arvutitele.




Pipeline meetodit kasutatakse kõigi arhitektuuris olevate plokkide töötlemiseks. Üldiselt viiakse läbi üks käskude komplekt, seejärel tõlgitakse selle järeltulija & a 3rd- juhiseid saadakse mälust.

Eksklusiivne ARM7 arhitektuuriplaan nimetatakse Thumbiks ja see sobib suurepäraselt suuremahuliste rakenduste jaoks, kus küsimus on koodi kompaktsuses. ARM7 kasutab ka eksklusiivset arhitektuuri nimelt Thumb. See muudab selle ideaalselt sobivaks erinevatele rakendustele mälupiirangute korral, kus küsimus on koodi tiheduses.



ARM7-põhine mikrokontrolleri (LPC2148) arhitektuur

ARM7-põhine mikrokontrolleri (LPC2148) arhitektuur

Katkestavad allikad

Iga välisseade koosneb ühest katkestusliinist, mis on ühendatud VIC-ga (vektor-katkestuse kontroller), kuigi selle sees võib olla mitu katkestuslippu. Üksikud katkestusmärgised võivad tähistada ka ühte või mitut katkestuse ressurssi.


Kiibis olev Flash-mälu

Mikrokontroller LPC2141 / 42/44/46/48 sisaldab välkmälu nagu vastavalt 32 kilobaiti, kilobaiti, 128 ja 256 kilobaiti. Seda välkmälu saab kasutada nii andmete kui ka koodi salvestamiseks. Välkmälu programmeerimist saab süsteemis teha jadapordi kaudu.

Programmirakendus võib kustutada ka programmi rakenduse töötamise ajal, võimaldades andmesalvestusvälja püsivara täiustamise paindlikkust jne. Kiibil oleva alglaaduri arhitektuurse lahenduse valimise tõttu on mikrokontrollerite LPC2141 / 42 vaba mälu / 44/46/48 on 32-kilobaiti, kilobaiti, 128-kilobaiti, 256-kilobaiti ja 500-kilobaiti. Nende mikrokontrollerite välkmälu pakub 1 000 000 kustutamist tsükli kohta ja andmete säilitamist paljude aastate jooksul.

Kinnitage Connect Block

See plokk võimaldab ARM7-põhise LPC2148 mikrokontrolleri tihvtidel olla mitu funktsiooni. Multiplekserid Seda saab juhtida konfiguratsiooniregistrite abil, mis võimaldab ühendada nii tihvti kui ka kiibil olevaid välisseadmeid.

Välisseadmed peavad olema ühendatud sobivate tihvtidega enne nende käivitamist ja enne, kui ühendatud katkestused on lubatud. Mikrokontrolleri funktsionaalsust saab määratleda tihvti juhtimismoodul selle registrite tihvtivaliku abil antud riistvarakeskkonnas.

Pärast ümberkorraldamist on kõik pordide tihvtid (port 0 ja port 1) antud eranditega paigutatud i / p. Kui silumine on lubatud

Kui silumine on lubatud, siis arvavad JTAG-i nööpnõelad JTAG-i funktsionaalsuse ära. Kui jälgimine on lubatud, siis jäljendamise nööpnõelad arvavad jälje funktsionaalsuse ära. I2C0 ja I2C1 tihvtidega ühendatud tihvtid on avatud äravooluga.

GPIO - üldotstarbeline paralleelne sisend / väljund

GPIO registrid kontrollivad seadme tihvte, mis pole seotud konkreetse välisseadme funktsiooniga. Seadme tihvte saab paigutada i / p [s või o / ps. Individuaalsed registrid võimaldavad samaaegselt kustutada mis tahes arvu o / p-sid. Väljundregistri väärtust saab tagasi lugeda ja pordi tihvtide praegust seisukorda. Need mikrokontrollerid alustavad LPC200 seadmete kaudu kiirendatud funktsiooni.

Üldotstarbelised sisend- / väljundregistrid teisaldatakse protsessori siinile, mida kasutatakse võimalikult tõenäoliseks sisend- / väljundajaks.

  • Need registrid on adresseeritavad baidid.
  • Sadama koguväärtus võib olla
  • Pordi täisväärtuse saab kirjutada ainsasse juhisesse

10-bitine ADC (analoog-digitaalmuundur)

Mikrokontrollerid nagu LPC2141 või 42 sisaldavad kahte ADC muundurid ja need on ainult 10-bitised ja üks ja LPC2144 / 46/48-l on kaks ADC-d ja need on ainult 10-bitised sirge lähendusega ADC-d. Kuigi ADC0 sisaldab 6 ja ADC1 8 kanalit. Seega on LPC2141 või 42 jaoks juurdepääsetavate ADC i / ps arv 6 ja 14 LPC2141 või 42 puhul.

10-bitine DAC (digitaalsest analoogmuunduriks)

DAC võimaldab neil mikrokontrolleritel toota muudetavat analoogi o / p ja VViideon a ülim väljund digitaalsest analoogiks Pinge.

Seadme kontroller-USB 2.0

Universaalne jadasiin koosneb neljast juhtmest ja see toetab paljude välisseadmete ja hostide vahelist suhtlust. See kontroller võimaldab USB-l ribalaiust seadmete ühendamiseks märgil põhineva protokolli abil.

Buss toetab kuumade ühenduste eemaldamist ja seadmete dünaamilist kogumist. Iga suhtlus käivitatakse host-kontrolleri kaudu. Need mikrokontrollerid on konstrueeritud universaalse jadasiinseadme kontrolleriga, mis võimaldab 12 Mbit / s andmeid asendada USB-masina kontrolleriga.

UART-id

Need mikrokontrollerid sisaldavad kahte UART-d standardsete andmejoonte edastamiseks ja hankimiseks. Võrreldes varasemate mikrokontrolleritega (LPC2000), käivitavad mikrokontrollerite LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 UART-d osalise boodikiiruse generaatori, mida kasutatakse mõlema UART-i jaoks, võimaldades seda tüüpi mikrokontrolleritel saavutada tüüpilised andmeedastuskiirused nagu 115200 iga üle 2 MHz kristalli sagedusega . Lisaks täidetakse juhtimisfunktsioonid nagu CTS / RTS täielikult riistvaras.

I2C-siini jadane I / O kontroller

Iga mikrokontroller seadmetest LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 sisaldab kaks I2C siini kontrollerid ja see on kahesuunaline. IC-vahelist juhtimist saab teha kahe juhtme abil, nimelt SCL ja SDA. Siin on SDA ja SCL seeriakellaliin ja jadaandmeliin

Iga aparaat on identifitseeritud individuaalse aadressi järgi. Siin võivad saatjad ja vastuvõtjad töötada kahes režiimis, nagu põhirežiim / orjarežiim. See on multi-master buss ja seda saab hallata üks või mitu sellega seotud bussijuhti. Need mikrokontrollerid toetavad kuni 400 kbit / s bitikiirust.

SPI jadasisendi / väljundi kontroller

Need mikrokontrollerid sisaldavad ühte SPI-kontrollerit ja on ette nähtud arvukate kindlaksmääratud siiniga seotud masterite ja alluvate käitlemiseks.

Lihtsalt juht ja ori saavad kogu määratud andmeedastuse jooksul liidese kaudu vestelda. Selle käigus edastab juht pidevalt andme baiti orja suunas, samuti alam edastab andmeid pidevalt ülema poole.

SSP jadasisendi / väljundi kontroller

Need mikrokontrollerid sisaldavad ühte SSP-d ja see kontroller on võimeline töötlema SPI-l, Microwire-siinil või 4-juhtmelisel SSI-l. See suudab suhelda nii mitme meistri kui ka orjade bussiga

Kuid lihtsalt kindel kapten ja ka ori saavad kogu määratud andmeedastuse ajal bussis vestelda. See mikrokontroller toetab täisdupleksseid ülekandeid 4–16-bitiste andmekaadrite abil, mida kasutatakse andmete juhtimiseks nii isandalt kui ka alamalt.

Taimerid / loendurid

Taimerid ja loendurid on mõeldud PCLK (perifeerne kell) tsüklite loendamiseks ja valikuliselt toodavad katkestusi 4-mänguliste registrite põhjal.

Ja see sisaldab nelja hõivatud i / ps-d, et taimer väärtused kätte saada, kui i / p-signaalid muutuvad. Konkreetse püüdmise teostamiseks võiks valida mitu tihvti. Need mikrokontrollerid saavad arvutada välissündmusi püüdmise sisenditel, kui vähim välisimpulss on samaväärne. Selles paigutuses saab tühikäiguliinid valida tavapäraseks taimeri püüdmiseks i / ps.

Valvekoera taimer

Valvekoera taimerit kasutatakse mikrokontrolleri lähtestamiseks mõistliku aja jooksul. Kui see on lubatud, loob taimer süsteemi lähtestamise, kui tarbijaprogrammil ei õnnestu taimerit kindla aja jooksul uuesti laadida.

RTC-reaalajas kell

RTC on ette nähtud loendurite jaoks, et arvutada aeg, mil valitakse tühikäigu või tavaline töömeetod. RTC kasutab väikest energiat ja on mõeldud sobivaks akutoitel töötavate seadmete jaoks, kui keskprotsessor ei tööta pidevalt

Toite juhtimine

Need mikrokontrollerid toetavad kahte kondenseeritud toiterežiimi, nagu väljalülitusrežiim ja tühikäigurežiim. Ooterežiimis on juhiste täitmine tasakaalustatud kuni katkestuse või RST-ni. Välisseadmete funktsioonid säilitavad töö kogu ooterežiimis ja võivad katkestusi tekitada, mis põhjustab protsessori viimistluse taaskäivitamise. Ooterežiimis eemaldatakse protsessori, kontrollerite, mälusüsteemide ja sisemiste siini poolt kasutatav võimsus.

Väljalülitusrežiimis lülitatakse ostsillaator välja ja IC ei saa sisekella. Perifeersed registrid, protsessori olek koos registritega, sisemised SRAM-väärtused säilitatakse väljalülitusrežiimi ajal ja kiibiloogika tasemete väljundnõelad jäävad fikseerituks.

Selle režiimi saab lõpetada ja ühise protsessi taaskäivitada konkreetsete katkestustega, mis on võimelised töötama ilma kelladeta. Kuna kiibi töö on tasakaalus, vähendab väljalülitusrežiim kiibi energiatarbimist peaaegu nullini.

PWM - impulsi laiuse modulaator

PWM-id põhinevad tavalisel taimeri blokeerimisel ja hõlmavad ka kõiki funktsioone, ehkki mikrokontrolleritel, näiteks LPC2141 / 42/44/46/48, on pulsilaiuse modulaatori funktsioon fikseeritud.

Taimer on mõeldud arvutama PCLK (perifeerne kell) tsükleid ja valikuliselt katkestusi, kui 7-vaste registrite põhjal tekivad konkreetsed taimeri väärtused, ja PWM-funktsioon sõltub ka mänguregistri sündmustest.

Piiripositsioonide suurendamise ja vähendamise individuaalse juhtimise võimalus võimaldab impulsi laiuse modulatsiooni kasutada mitmel rakendusel. Näiteks kasutab tüüpiline mitmefaasiline mootori juhtimine PWM-i 3 kattumatut väljundit, reguleerides eraldi nii iga impulsi laiust kui ka positsioone.

VPB buss

VPB-jaotur lahendab ühenduse CCLK (protsessori kell) ja PCLK (välisseadmete poolt kasutatav kell) vahel. Seda eraldajat kasutatakse kahel eesmärgil. Esimene kasutusala on eelistatud PCLK abil välisseadmete tarnimine VPB-siini abil, et need saaksid töötada ARM-protsessori valitud kiirusel. Selle saavutamiseks saab seda siinikiirust vähendada protsessori taktsagedust 1⁄2 -1⁄4.

Kuna see siin peab sisselülitamisel töötama täpselt ja RST (lähtestamine) vaikeseisund on see, et siin töötab 1⁄4 protsendil protsessori taktsagedusest. Selle teine ​​kasutus on energiasäästu võimaldamine alati, kui rakendus ei vaja protsessori täieliku kiirusega töötamiseks välisseadmeid. Kuna VPB-jagaja on seotud PLL-i väljundiga, jääb see aktiivseks kogu ooterežiimis.

Emuleerimine ja silumine

Mikrokontroller (LPC2141 / 42/44/46/48) hoiab emuleerimist ja silumist läbi jadapordi JTAG. Jälgimisport võimaldab jälgida programmi täitmist. Jälgimisfunktsioonid ja silumiskontseptsioonid multipleksitakse port1 ja GPIO-dega.

Koodi turvalisus

Nende mikrokontrollerite koodturbeelement LPC2141 / 42/44/46/48 võimaldab funktsiooni juhtida, kas seda saab kontrolli eest kaitsta või siluda.

Seega on see kõik ARM7-põhise mikrokontrolleri arhitektuuri LPC2148 kohta. Ülaltoodud artiklist võime lõpuks järeldada, et ARM on arhitektuur, mida kasutatakse nii paljudes protsessorites kui ka mikrokontrollerites. Siin on teile küsimus, milline on ARM-protsessori arhitektuur?