Introduksjon til ARM7-basert LPC2148 mikrokontrollerarkitektur

Prøv Instrumentet Vårt For Å Eliminere Problemer





ARM (Advanced RISC Machine) har lansert flere prosessorer som har forskjellige funksjoner i tillegg til de forskjellige kjernene for et bredt spekter av applikasjoner. Den første ARM-arkitekturen har 26-biters prosessorer, men nå nådde den 64-biters prosessorer. Den generelle utvidelsen av ARM-produkter kan ikke kategoriseres i noe spesifikk informasjon. Men ARM-produkter kan forstås ut fra arkitekturen. Standard ARM-serieprosessorer som er tilgjengelige i markedet starter fra ARM7 til ARM11. Disse prosessorene har flere funksjoner som cache, Data Tightly Coupled memory, MPU, MMU, etc. Noen av de allment kjente ARM-prosessorseriene er ARM926EJ-S, ARM7TDMI og ARM11 MPCore. Denne artikkelen er spesielt ment for ARM7-basert LPC2148 mikrokontroller arkitekturoversikt som vil gi deg kort informasjon om mikrokontrolleren arkitektur.

ARM7-basert LPC2148 Microcontroller Architecture

ARM7 er en 32-bit generell bruk mikroprosessor , og den tilbyr noen av funksjonene som lite strømforbruk og høy ytelse. Arkitekturen til en ARM er avhengig av prinsippene for RISC . Den tilhørende dekodemekanismen, så vel som RISC-instruksjonssettet, er mye enkelt når vi sammenligner med mikroprogrammert CISC -Kompleks instruksjonsdatamaskiner.




Pipeline-metoden brukes til å behandle alle blokkene i arkitekturen. Generelt blir det utført et enkelt instruksjonssett, deretter blir etterkommeren oversatt, og a 3rd-instruksjon hentes fra minnet.

En eksklusiv arkitektonisk plan for ARM7 kalles Thumb, og den er perfekt egnet for applikasjoner med høyt volum hvor kompaktiteten til koden er en sak. ARM7 bruker også en eksklusiv arkitektur, nemlig Thumb. Det gjør den perfekt egnet for forskjellige applikasjoner med minnebegrensninger der tettheten av kode er en sak.



ARM7-basert mikrokontroller (LPC2148) Arkitektur

ARM7-basert mikrokontroller (LPC2148) Arkitektur

Avbryt kilder

Hver periferiutstyr består av en enkelt avbruddslinje alliert med VIC (vektoravbruddskontroller), selv om den kan ha forskjellige avbruddsflagg inni. Individuelle avbruddsflagg kan også bety en eller flere avbruddsressurser.


Flash-programminne på chip

Mikrokontrolleren LPC2141 / 42/44/46/48 inkluderer et flashminne som henholdsvis 32 kilobyte, kilobyte, 128 kilobyte, 256 kilobyte. Dette flashminnet kan brukes til både datalagring og kode. Programmeringen av flashminnet kan gjøres i systemet gjennom den serielle porten.

Programapplikasjonen kan også slettes mens applikasjonen kjører, noe som tillater fleksibilitet med forbedring av datalagringsfeltets firmware osv. På grunn av valget av en arkitektonisk løsning for en bootloader på chip, er det tilgjengelige minnet for mikrokontrollere LPC2141 / 42 / 44/46/48 er 32 kilobyte, kilobyte, 128 kilobyte, 256 kilobyte og 500 kilobyte. Flashminnet til disse mikrokontrollerne tilbyr 1 00 000 sletting per syklus og databevaring i mange år.

Pin Connect Block

Denne blokken tillater valgte pinner på den ARM7-baserte LPC2148 mikrokontrolleren for å ha flere funksjoner. Multiplekserene kan styres av konfigurasjonsregistrene for å tillate koblingen mellom pinnen og periferiutstyr på brikken.

Periferiutstyr må være koblet til de passende pinnene før de ble utløst, og før eventuelle tilkoblede avbrudd er tillatt. Mikrokontrollerfunksjonaliteten kan defineres av pin-kontrollmodulen ved å velge pin-registre i et gitt maskinvaremiljø.

Etter omorganisering er alle pinner i porter (port 0 og port 1) ordnet som i / p etter de gitte unntakene. Hvis feilsøking er tillatt

Hvis feilsøking er tillatt, vil pinnene på JTAG gjette funksjonaliteten til JTAG. Hvis spor er tillatt, vil sporingspinnene gjette funksjonaliteten til spor. Pinnene som er koblet til I2C0 og I2C1 pinnene er åpne.

GPIO- Generelt formål Parallell inngang / utgang

GPIO-registre styrer enhetstappene som ikke er koblet til en bestemt perifer funksjon. Enhetstappene kan ordnes som i / p [s eller o / ps. Individuelle registre tillater å rydde et hvilket som helst antall O / P-er samtidig. Utgangsregisterverdien kan leses tilbake og portens nåværende tilstand. Disse mikrokontrollerne begynner en akselerert funksjon over LPC200-enheter.

Generelle input / output-registre blir flyttet til prosessorbussen som brukes for best mulig I / U-tid.

  • Disse registerene er adresserbare byte.
  • Den totale verdien av en port kan være
  • Hele verdien på porten kan skrives i den eneste instruksjonen

10-bit ADC (analog til digital omformer)

Mikrokontrollere som LPC2141 eller 42 inkluderer to ADC-omformere , og disse er bare 10-bit har en og LPC2144 / 46/48 har to ADC-er, og disse er bare 10-biters rett tilnærming ADC-er. Selv om ADC0 inkluderer 6-kanaler og ADC1 har 8-kanaler. Dermed er antallet tilgjengelige ADC i / ps for LPC2141 eller 42 6 & 14 for LPC2141 eller 42.

10-bit DAC (digital til analog omformer)

DAC lar disse mikrokontrollere produsere en foranderlig analog o / p og VREFer den største produksjonen av a digital til en analog Spenning.

Device Controller-USB 2.0

Den universelle serielle bussen består av 4-ledninger, og det gir støtte for kommunikasjon mellom en rekke eksterne enheter og verter. Denne kontrolleren tillater båndbredden til USB for tilkobling av enheter ved hjelp av en protokoll basert på tokenet.

Bussen støtter frakobling av varm plugging og dynamisk samling av enhetene. Hver kommunikasjon startes gjennom vertskontrolleren. Disse mikrokontrollerne er designet med en universal seriell bussapparatkontroller som tillater 12 Mbit / sek data erstattet av en vertskontroller av USB.

UARTs

Disse mikrokontrollerne inkluderer to UART-er for standard overføring og mottak av datalinjer. I motsetning til tidligere mikrokontrollere (LPC2000), starter UARTs i mikrokontrollere LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 en delvis baudrate-generator som brukes til begge UART-ene, slik at disse typer mikrokontrollere kan oppnå typiske baudhastigheter som 115200 for hver krystallfrekvens over 2 MHz . I tillegg utføres kontrollfunksjonene som CTS / RTS fullstendig i maskinvare.

Seriell I / O-kontroller av I2C-buss

Hver mikrokontroller fra LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 inkluderer to I2C busskontrollere, og dette er toveis. Inter-IC-kontrollen kan gjøres ved hjelp av to ledninger, nemlig en SCL og SDA. Her er SDA og SCL seriell klokkelinje og seriell datalinje

Hvert apparat identifiseres av en individuell adresse. Her kan sendere og mottakere fungere i to moduser som hovedmodus / slave-modus. Dette er en multi-master buss, og den kan administreres av en eller flere bussmestere knyttet til den. Disse mikrokontrollerne støtter opptil 400 kbit / s bithastigheter.

SPI Serial Input / Output Controller

Disse mikrokontrollerne inkluderer en enkelt SPI-kontroller og ment å håndtere mange mestere og slaver tilknyttet en spesifisert buss.

Bare en mester og en slave kan snakke over grensesnittet gjennom spesifisert dataoverføring. I løpet av dette overfører mesteren kontinuerlig en byte-of-data mot slaven, i tillegg til at slaven kontinuerlig overfører data til masteren.

SSP Serial Input / Output Controller

Disse mikrokontrollerne inneholder enkelt SSP, og denne kontrolleren er i stand til å behandle på en SPI, Microwire-buss eller 4-leders SSI. Det kan kommunisere med bussen til flere mestere så vel som slaver

Men ganske enkelt en bestemt mester, så vel som slave, kan snakke på bussen gjennom en spesifisert dataoverføring. Denne mikrokontrolleren støtter overføringer av full dupleks, med 4-16 bits datarammer som brukes til datastrømmen fra master-slave så vel som fra slave-master.

Timere / tellere

Timere og tellere er designet for å telle PCLK (perifer klokke) sykluser og produserer eventuelt avbrudd basert på 4-kampsregistre.

Og den består av fire opptak i / ps for å fange verdien til en tidtaker når en i / p-signal endrer seg. Flere pinner kan velges for å utføre en bestemt fangst. Disse mikrokontrollerne kan beregne utvendige hendelser på inngangene til fangst hvis den minste utvendige pulsen er ekvivalent. I denne ordningen kan ledige fangstlinjer velges som vanlig timerfangst i / ps.

Vakthundstimer

Vakthundstimeren brukes til å tilbakestille mikrokontrolleren på en rimelig tid. Når det er tillatt, vil timeren produsere en tilbakestilling av et system hvis forbrukerprogrammet ikke lykkes med å laste timeren på nytt i en fast sum tid.

RTC-sanntidsklokke

RTC er ment for å gi tellere for å beregne tiden når tomgang eller normal driftsmetode velges. RTC bruker en liten mengde strøm og er designet for passende batteridrevne ordninger der sentralbehandlingsenheten ikke fungerer konstant

Maktkontroll

Disse mikrokontrollerne støtter to kondenserte strømmoduser, for eksempel avstengingsmodus og inaktiv modus. I hvilemodus balanseres utførelsen av instruksjoner til et avbrudd eller RST oppstår. Funksjonene til periferiutstyr opprettholder drift gjennom hvilemodus og kan gi avbrudd for å få CPU til å starte ferdig etterbehandling. Inaktiv modus fjerner strømmen som brukes av CPU, kontrollere, minnesystemer og indre busser.

I avstengingsmodus deaktiveres oscillatoren og IC får ingen indre klokker. Perifere registre, prosessortilstand med registre, indre SRAM-verdier konserveres under avstengingsmodus, og utgangspinnene for brikkens logiske nivåer forblir faste.

Denne modusen kan avsluttes og den vanlige prosessen startes på nytt av spesifikke avbrudd som er i stand til å fungere uten klokker. Fordi brikkeoperasjonen er balansert, reduserer nedstengingsmodus utnyttelse av brikken til nesten null.

PWM-pulsbreddemodulator

PWM-ene er basert på den normale tidtakerblokken og kommer også inn i alle funksjonene, men ganske enkelt er pulsbreddemodulatorfunksjonen festet på mikrokontrollere som LPC2141 / 42/44/46/48.

Tidsuret er beregnet på å beregne PCLK-sykluser (perifer klokke) og kan eventuelt produsere avbrudd når bestemte tidtakerverdier oppstår basert på 7-kampsregistre, og PWM-funksjonen avhenger også av kampregisterhendelser.

Evnen til individuelt å kontrollere økende og synkende grenseposisjoner gjør at pulsbreddemodulasjonen kan brukes til flere applikasjoner. For eksempel bruker den typiske motorstyringen med flerfase 3-ikke-overlappende utganger av PWM ved separat kontroll av alle pulsbredder og posisjoner.

VPB-buss

VPB-skillelinjen løser sammenhengen mellom CCLK (prosessorklokke) og PCLK (klokke som brukes av eksterne enheter). Denne skillelinjen brukes til to formål. Den første bruken er å levere periferiutstyr med den foretrukne PCLK ved bruk av VPB-buss, slik at de kan arbeide med den valgte hastigheten til ARM-prosessoren. For å oppnå dette kan denne busshastigheten reduseres klokkefrekvensen til prosessoren fra 1⁄ 2 -1⁄4.

Fordi denne bussen må fungere nøyaktig ved oppstart, og standardtilstanden ved RST (reset) er at bussen skal fungere med 1⁄4 av prosessorens klokkehastighet. Den andre bruken av dette er å tillate strømsparing når et program ikke trenger periferiutstyr for å fungere med full prosessorhastighet. Siden VPB-skillelinjen er assosiert med utgangen fra PLL, forblir denne aktiv gjennom en hvilemodus.

Emulering og feilsøking

Mikrokontrolleren (LPC2141 / 42/44/46/48) holder emulering og feilsøking gjennom seriell port-JTAG. En sporingsport tillater sporing av gjennomføringen av programmet. Sporingsfunksjoner og feilsøkingskonsepter er multiplekset med port1 og GPIO.

Kodesikkerhet

Kodesikkerhetsfunksjonen til disse mikrokontrollerne LPC2141 / 42/44/46/48 tillater en funksjon å kontrollere om den kan beskyttes eller feilsøkes fra inspeksjon.

Dermed handler alt om ARM7-basert LPC2148 mikrokontrollerarkitektur. Fra artikkelen ovenfor, til slutt, kan vi konkludere med at ARM er en arkitektur som brukes i mange prosessorer så vel som mikrokontrollere. Her er et spørsmål til deg, hva er arkitekturen til en ARM-prosessor?