Johdanto ARM7-pohjaiseen LPC2148-mikrokontrolleriarkkitehtuuriin

Kokeile Instrumenttia Ongelmien Poistamiseksi





ARM (Advanced RISC Machine) on käynnistänyt useita prosessoreita, joilla on erilaiset ominaisuudet sekä erilaiset ytimet monenlaisiin sovelluksiin. Ensimmäisessä ARM-arkkitehtuurisuunnittelussa on 26-bittiset prosessorit, mutta nyt se saavutti 64-bittiset prosessorit. ARM-tuotteiden yleistä laajentamista ei voida luokitella tiettyihin tietoihin. Mutta ARM-tuotteet voidaan ymmärtää sen arkkitehtuurin perusteella. Markkinoilla saatavana olevat vakiomalliset ARM-sarjan prosessorit alkavat ARM7: stä ARM11: een. Näillä prosessoreilla on useita ominaisuuksia, kuten välimuisti, tiiviisti kytketty data, MPU, MMU jne. Jotkut yleisesti tunnetuista ARM-prosessorisarjoista ovat ARM926EJ-S, ARM7TDMI ja ARM11 MPCore. Tämä artikkeli on tarkoitettu erityisesti ARM7-pohjaiseen LPC2148-mikrokontrolleri-arkkitehtuurin yleiskatsaukseen, josta saat lyhyttä tietoa mikrokontrolleri arkkitehtuuri.

ARM7-pohjainen LPC2148-mikrokontrolleriarkkitehtuuri

ARM7 on 32-bittinen yleiskäyttöinen mikroprosessori , ja se tarjoaa joitain ominaisuuksia, kuten vähän virrankulutusta ja korkean suorituskyvyn. ARM: n arkkitehtuuri riippuu RISC: n periaatteet . Tähän liittyvä dekoodausmekanismi ja RISC- ohjeet ovat paljon helpompia, kun verrataan mikroprogrammittu CISC - monimutkaiset ohjeet tietokoneet.




Putkimenetelmää käytetään kaikkien lohkojen käsittelyyn arkkitehtuurissa. Yleensä suoritetaan yksi käskyjoukko, sitten sen jälkeläinen käännetään, & a 3rd-ohjetta haetaan muistista.

Yksinomainen ARM7: n arkkitehtisuunnitelma kutsutaan Thumbiksi, ja se soveltuu täydellisesti suurten volyymien sovelluksiin, joissa on kysymys koodin kompaktuudesta. ARM7 käyttää myös yksinomaista arkkitehtuuria, nimittäin Thumb. Se tekee siitä täydellisen sopivan erilaisiin sovelluksiin muistirajoitusten avulla, joissa on kysymys koodin tiheydestä.



ARM7-pohjaisen mikro-ohjaimen (LPC2148) arkkitehtuuri

ARM7-pohjaisen mikro-ohjaimen (LPC2148) arkkitehtuuri

Keskeytä lähteet

Jokainen oheislaite koostuu yhdestä keskeytyslinjasta, joka on liitetty VIC: ään (vektorikeskeytysohjain), vaikka sen sisällä voi olla useita keskeytyslippuja. Yksittäiset keskeytysliput voivat myös tarkoittaa yhtä tai useampaa keskeytysresurssia.


Piirissä oleva Flash-ohjelmamuisti

Mikrokontrolleri LPC2141 / 42/44/46/48 sisältää flash-muistin, kuten vastaavasti 32 kilotavua, kilotavua, 128 kilotavua ja 256 kilotavua. Tätä flash-muistia voidaan käyttää sekä tietojen tallennukseen että koodiin. Flash-muistin ohjelmointi voidaan suorittaa järjestelmässä sarjaportin kautta.

Ohjelmasovellus voi myös pyyhkiä, kun ohjelman sovellus on käynnissä, mikä sallii joustavuuden tietojen tallennuskentän laiteohjelmistoparannuksille jne. Koska arkkitehtuurinen ratkaisu on valittu sirun käynnistyslataimeen, mikrokontrollerien käytettävissä oleva muisti LPC2141 / 42 / 44/46/48 on 32 kilotavua, kilotavua, 128 kilotavua, 256 kilotavua ja 500 kilotavua. Näiden mikrokontrollerien flash-muisti tarjoaa 1 000 000 tyhjentämistä sykliä kohti ja tietojen säilyttämisen monien vuosien ajan.

Pin Connect Block

Tämä lohko sallii ARM7-pohjaisen LPC2148-mikrokontrollerin valitut nastat useille toiminnoille. Multiplekserit voidaan ohjata konfiguraatiorekistereillä, jotta yhteys piniin ja sirussa oleviin oheislaitteisiin voidaan sallia.

Oheislaitteet on kytkettävä sopiviin nastoihin ennen niiden laukeamista ja ennen kuin liitetyt keskeytykset ovat sallittuja. Mikrokontrollerin toiminnot voidaan määrittää nastanohjausmoduulilla sen nastavalinnalla rekistereille tietyssä laitteistoympäristössä.

Järjestämisen jälkeen kaikki porttien nastat (portti 0 ja portti 1) järjestetään i / p: ksi annettujen poikkeusten mukaisesti. Jos virheenkorjaus on sallittu

Jos virheenkorjaus on sallittu, JTAG: n nastat arvailevat JTAG: n toimivuuden. Jos jäljitys on sallittu, jäljitystapit arvaa jäljityksen toimivuuden. I2C0- ja I2C1-nastoihin liitetyt nastat ovat avointa.

GPIO - yleiskäyttöinen rinnakkaistulo / -lähtö

GPIO-rekisterit ohjaavat laitetappeja, joita ei ole liitetty tiettyyn oheislaitteeseen. Laitteen tapit voidaan järjestää i / p [s tai o / ps. Yksittäiset rekisterit mahdollistavat minkä tahansa määrän o / p: n tyhjentämisen samanaikaisesti. Lähtörekisterin arvo voidaan lukea takaisin ja portin nastojen nykyinen kunto. Nämä mikro-ohjaimet aloittavat nopeutetun toiminnan LPC200-laitteilla.

Yleiskäyttöiset tulo- / lähtörekisterit siirretään prosessoriväylälle, jota käytetään parhaan todennäköisen I / O-ajan saavuttamiseksi.

  • Nämä rekisterit ovat osoitettavissa olevia tavuja.
  • Sataman kokonaisarvo voi olla
  • Portin koko arvo voidaan kirjoittaa ainoaan käskyyn

10-bittinen ADC (analoginen digitaalimuunnin)

Mikrokontrollerit, kuten LPC2141 tai 42, sisältävät kaksi ADC-muuntimet , ja nämä ovat vain 10-bittisiä ja yksi ja LPC2144 / 46/48: ssa on kaksi ADC: tä, ja nämä ovat vain 10-bittisiä suoraa likiarvoa ADC: itä. Vaikka ADC0 sisältää 6 kanavaa ja ADC1 8 kanavaa. Siten käytettävissä olevien ADC i / ps: n määrä LPC2141: lle tai 42: lle on 6 & 14 LPC2141: lle tai 42: lle.

10-bittinen DAC (digitaalinen-analoginen muunnin)

DAC antaa näiden mikro-ohjainten tuottaa vaihdettavan analogisen o / p: n ja V: nVIITEon a: n suurin tuotos digitaalinen analogiseksi Jännite.

Laiteohjain-USB 2.0

Yleinen sarjaväylä koostuu 4-johtimisesta, ja se tukee viestintää useiden oheislaitteiden ja isäntien välillä. Tämä ohjain sallii USB: n kaistanleveyden laitteiden liittämiseen käyttäen tokeniin perustuvaa protokollaa.

Väylä tukee kuumapistokkeiden irrottamista ja laitteiden dynaamista keräämistä. Jokainen viestintä aloitetaan isäntä-ohjaimen kautta. Nämä mikro-ohjaimet on suunniteltu universaalilla sarjaväylälaiteohjaimella, joka sallii 12 Mbit / s -tietojen korvaamisen USB-isäntäohjaimilla.

UART: t

Nämä mikrokontrollerit sisältävät kaksi UART: ta tavallisille tiedonsiirto- ja vastaanottolinjoille. Verrattuna aikaisempiin mikrokontrollereihin (LPC2000), UART mikrokontrollereissa LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 käynnistävät molemmille UART-laitteille käytetyn osittaisen siirtonopeuden generaattorin, jolloin tämäntyyppiset mikrokontrollerit voivat saavuttaa tyypilliset siirtonopeudet, kuten 115200, jokaisella yli 2 MHz: n kide taajuudella . Lisäksi ohjaustoiminnot, kuten CTS / RTS, suoritetaan kokonaan laitteistossa.

I2C-väylän sarja I / O-ohjain

Jokainen LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 -mikrokontrolleri sisältää kaksi I2C väyläohjaimet, ja tämä on kaksisuuntainen. IC: n välinen ohjaus voidaan tehdä kahden johdon, nimittäin SCL: n ja SDA: n, avulla. Tässä SDA ja SCL ovat sarjakellolinja ja sarjaliikennelinja

Jokainen laite tunnistetaan yksilöllisellä osoitteella. Tässä lähettimet ja vastaanottimet voivat toimia kahdessa tilassa, kuten isäntä- / orja-tilassa. Tämä on multi-master-väylä, ja sitä voi hallita yksi tai useampi siihen linkitetty väylän päällikkö. Nämä mikro-ohjaimet tukevat jopa 400 kbit / s bittinopeutta.

SPI-sarja-tulo- / lähtöohjain

Nämä mikrokontrollerit sisältävät yhden SPI-ohjaimen ja on tarkoitettu käsittelemään lukuisia isäntiä ja orjia, jotka liittyvät määritettyyn väylään.

Yksinkertaisesti isäntä ja orja voivat keskustella käyttöliittymän kautta koko määritetyn tiedonsiirron ajan. Tämän aikana isäntä lähettää jatkuvasti tavua dataa kohti orjaa, samoin kuin orja lähettää jatkuvasti tietoja isäntää kohti.

SSP-sarja-tulo- / lähtöohjain

Nämä mikrokontrollerit sisältävät yhden SSP: n, ja tämä ohjain pystyy prosessoimaan SPI: llä, Microwire-väylällä tai 4-johtimisella SSI: llä. Se voi kommunikoida useiden isäntien sekä orjien väylän kanssa

Mutta yksinkertaisesti tietty isäntä ja orja voivat keskustella väylällä tietyn tiedonsiirron ajan. Tämä mikrokontrolleri tukee täysdupleksisia siirtoja 4-16 bitin datakehyksillä, joita käytetään tiedonsiirtoon isäntä-orjasta sekä orja-isännästä.

Ajastimet / laskurit

Ajastimet ja laskurit on suunniteltu laskemaan PCLK (perifeerinen kello) -syklit ja tuottamaan valinnaisesti keskeytyksiä 4-ottelurekistereiden perusteella.

Ja se sisältää neljä sieppaus-i / ps: tä ajastimen arvon saamiseksi, kun i / p-signaalit muuttuvat. Tietyn sieppauksen suorittamiseksi voitiin valita useita nastoja. Nämä mikro-ohjaimet voivat laskea ulkoiset tapahtumat kaappaustuloista, jos pienin ulkoinen pulssi on ekvivalentti. Tässä järjestelyssä joutokäynnin siimat voidaan valita tavalliseksi ajastintallennukseksi i / ps.

Valvontakoiran ajastin

Vartija-ajastinta käytetään mikro-ohjaimen nollaamiseen kohtuullisessa ajassa. Kun se on sallittua, ajastin tuottaa järjestelmän nollauksen, jos asiakasohjelma ei onnistu lataamaan ajastinta uudelleen kiinteässä ajassa.

RTC-reaaliaikainen kello

RTC on tarkoitettu laskureiden tuottamiseen ajan, jolloin tyhjäkäynti- tai normaali toimintatapa valitaan. RTC käyttää pientä virtaa ja on suunniteltu sopiviin akkukäyttöisiin järjestelyihin, joissa keskusyksikkö ei toimi jatkuvasti

Virranhallinta

Nämä mikrokontrollerit tukevat kahta tiivistettyä virtatilaa, kuten virrankatkaisutila ja tyhjäkäyntitila. Valmiustilassa komentojen suorittaminen on tasapainossa, kunnes tapahtuu keskeytys tai RST. Oheislaitteiden toiminnot ylläpitävät toimintaa koko lepotilassa ja voivat tuottaa keskeytyksiä, jotka saavat CPU: n aloittamaan viimeistelyn uudelleen. Valmiustila poistaa prosessorin, ohjaimien, muistijärjestelmien ja sisäisten väylien käyttämän virran.

Virrankatkaisutilassa oskillaattori deaktivoidaan eikä IC saa sisäkelloja. Oheisrekisterit, prosessorin kunto rekistereillä, sisäiset SRAM-arvot säilytetään virrankatkaisutilan aikana ja sirulogiikan tasojen lähtötapit pysyvät kiinteinä.

Tämä tila voidaan viimeistellä ja käynnistää yhteinen prosessi uudelleen tietyillä keskeytyksillä, jotka pystyvät toimimaan ilman kelloja. Koska sirun toiminta on tasapainossa, virrankatkaisutila vähentää sirun virrankulutuksen lähes nollaan.

PWM-pulssinleveyden modulaattori

PWM: t perustuvat normaaliin ajastinlohkoon ja tulevat myös kaikkiin ominaisuuksiin, vaikka yksinkertaisesti pulssinleveyden modulaattoritoiminto on kiinnitetty mikro-ohjaimiin, kuten LPC2141 / 42/44/46/48.

Ajastin on tarkoitettu laskemaan PCLK (oheiskello) -syklit ja valinnaisesti tuottamaan keskeytyksiä, kun tietyt ajastinarvot syntyvät 7 ottelun rekisterien perusteella, ja PWM-toiminto riippuu myös ottelurekisteritapahtumista.

Yksilöllisesti ohjattavien kasvavien ja laskevien raja-asemien hallinta mahdollistaa pulssinleveyden moduloinnin hyödyntämisen useissa sovelluksissa. Esimerkiksi tyypillinen monivaiheinen moottorinohjaus käyttää PWM: n kolmea ei-päällekkäistä lähtöä ohjaamalla erikseen jokaista pulssileveyttä ja sijaintia.

VPB-väylä

VPB-jakaja ratkaisee CCLK: n (prosessorikello) ja PCLK: n (oheislaitteiden käyttämä kello) välisen yhteyden. Tätä jakajaa käytetään kahteen tarkoitukseen. Ensimmäinen käyttö on toimittaa oheislaitteita ensisijaisen PCLK: n avulla VPB-väylää käyttäen, jotta ne voivat toimia ARM-prosessorin valitulla nopeudella. Tämän saavuttamiseksi tätä väylänopeutta voidaan pienentää prosessorin kellotaajuudesta 1⁄2 -1⁄4.

Koska tämän väylän on toimittava tarkasti käynnistettäessä, ja RST: n (nollaus) oletustila on väylän toimiminen 1⁄4 prosessorin kellotaajuudesta. Tämän toisen käytön tarkoituksena on mahdollistaa virransäästö aina, kun sovellus ei tarvitse mitään oheislaitteita toimiakseen täydellä prosessorinopeudella. Koska VPB-jakaja liittyy PLL: n lähtöön, tämä pysyy aktiivisena koko lepotilassa.

Emulointi ja virheenkorjaus

Mikrokontrolleri (LPC2141 / 42/44/46/48) pitää emulointia ja virheenkorjausta sarjaportin JTAG kautta. Jäljitysportti mahdollistaa ohjelman suorituksen jäljittämisen. Jäljitystoiminnot ja virheenkorjauskäsitteet multipleksoidaan portti1: n ja GPIO: iden kanssa.

Koodin turvallisuus

Näiden mikro-ohjainten LPC2141 / 42/44/46/48 kooditurvaominaisuus sallii toiminnon hallita, voidaanko se suojata vai virheenkorjausta tarkastukselta.

Näin ollen kyse on ARM7-pohjaisesta LPC2148-mikrokontrolleri-arkkitehtuurista. Edellä olevasta artikkelista voimme lopuksi päätellä, että ARM on arkkitehtuuri, jota käytetään lukuisissa prosessoreissa sekä mikro-ohjaimissa. Tässä on kysymys sinulle, mikä on ARM-prosessorin arkkitehtuuri?