Op ARM7 gebaseerde (LPC2148) microcontroller-pinconfiguratie

Probeer Ons Instrument Voor Het Oplossen Van Problemen





Embedded systeem en SOC (systeem op chip) ontwerpers kiezen voor bijzonder microprocessor kernen , bibliotheken en verschillende tools om op microprocessor gebaseerde applicaties te ontwikkelen. Een ARM-processor is een van de beste alternatieven die verkrijgbaar zijn voor ontwerpers van embedded systemen. In de afgelopen jaren is de ARM-architectuur erg populair geworden en deze zijn verkrijgbaar bij verschillende IC-fabrikanten. De toepassingen van ARM-processors omvatten mobiele telefoons, remsystemen voor auto's, enz. Een wereldwijde ARM-gemeenschapspartner heeft zowel halfgeleiderbedrijven als productontwerpbedrijven ontwikkeld, waaronder ingenieurs, ontwerpers en ontwikkelaars. Dit artikel gaat over op ARM7 gebaseerde LPC2148-microcontroller, architectuur en pinconfiguratie. Dit artikel helpt u de basisprincipes van de microcontroller te begrijpen.

ARM7 gebaseerde LPC2148 Microcontroller

De volledige vorm van een ARM is een computer met geavanceerde gereduceerde instructieset (RISC) machine , en het is een 32-bits processorarchitectuur die is uitgebreid met ARM-holdings. De toepassingen van een ARM-processor omvatten verschillende microcontrollers en processors. De architectuur van een ARM-processor werd door veel bedrijven in licentie gegeven voor het ontwerpen van op ARM-processor gebaseerde SoC-producten en CPU's. Hierdoor kunnen de bedrijven hun producten vervaardigen met behulp van ARM-architectuur. Evenzo zullen alle grote halfgeleiderbedrijven ARM-gebaseerde SOC's maken, zoals Samsung, Atmel, TI enz.




Wat is een ARM7-processor?

ARM7-processor wordt vaak gebruikt in embedded systeemtoepassingen. Het is ook een balans tussen klassieke en nieuwe Cortex-sequenties. Deze processor is geweldig in het vinden van de bronnen die op internet bestaan ​​met uitmuntende documentatie aangeboden door NXP Semiconductors. Het past volledig voor een leerling om de implementatie van hardware & software-ontwerp in detail te verkrijgen.

LPC2148 Microcontroller

De LPC2148-microcontroller is ontworpen door Philips (NXP Semiconductor) met verschillende ingebouwde functies en randapparatuur. Om deze redenen wordt het zowel betrouwbaarder als efficiënter voor een applicatieontwikkelaar. LPC2148 is een 16-bit of 32-bit microcontroller gebaseerd op de ARM7-familie.



Kenmerken van LPC2148

De belangrijkste kenmerken van LPC2148 zijn onder meer de volgende.

  • De LPC2148 is een 16 bit of 32 bit ARM7 familie gebaseerde microcontroller en verkrijgbaar in een klein LQFP64-pakket.
  • ISP (in systeemprogrammering) of IAP (in applicatieprogrammering) met behulp van on-chip bootloader-software.
  • On-chip statische RAM is 8 kB-40 kB, on-chip flash-geheugen is 32 kB-512 kB, de brede interface is 128 bit, of accelerator maakt 60 MHz high-speed operatie mogelijk.
  • Het duurt 400 milliseconden om de gegevens in de volledige chip te wissen en 1 milliseconde voor 256 bytes aan programmeren.
  • Embedded Trace-interfaces en Embedded ICE RT bieden real-time debugging met supersnelle tracering van instructie-uitvoering en on-chip Real Monitor-software.
  • Het heeft 2 kB eindpunt-RAM en USB 2.0 full-speed apparaatcontroller. Bovendien biedt deze microcontroller 8kB on-chip RAM in de buurt naar USB met DMA.
  • Een of twee 10-bits ADC's bieden 6 of 14 analogen i / ps met een lage conversietijd van 2,44 μs / kanaal.
  • Slechts 10 bit DAC biedt veranderlijke analoge o / p.
  • Externe gebeurtenisteller / 32-bits timers-2, PWM-eenheid en waakhond.
  • Low power RTC (real-time klok) en 32 kHz klokingang.
  • Meerdere seriële interfaces zoals twee 16C550 UART's, twee I2C-bussen met 400 kbit / s snelheid.
  • 5 volt tolerante, snelle input / output-pinnen voor algemeen gebruik in een klein LQFP64-pakket.
  • Buiten onderbrekingspinnen-21.
  • 60 MHz van de uiterste CPU CLK-klok die kan worden verkregen via de programmeerbare fasevergrendelde lus op de chip door de tijd op te lossen is 100 μs.
  • De ingebouwde oscillator op de chip werkt met een extern kristal dat varieert van 1 MHz-25 MHz
  • De modi voor energiebesparing bestaan ​​voornamelijk uit inactief en uitschakelen.
  • Voor extra stroomoptimalisatie zijn er individuele in- of uitschakelen van perifere functies en perifere CLK-schaling.

Geheugen


De LPC2148-microcontroller heeft 512 kB on-chip FLASH-geheugen en 32 kB on-chip SRAM. Deze microcontroller bevat ook inherente ondersteuning tot 2kB eindpunt USB RAM. Dit geheugen is goed afgestemd op alle microcontroller-toepassingen.

On-chip FLASH-geheugensysteem

Deze microcontroller bevat een 512-kB Flash-geheugensysteem en dit geheugen kan nuttig zijn voor zowel de gegevensopslag als de code. Het programmeren van dit geheugen kan als volgt worden gedaan.

  • Door JTAG-interface in serie op te nemen
  • UART of ISP gebruiken (in systeemprogrammering)
  • Mogelijkheden van IAP (in applicatieprogrammering)

Het op IAP-functie gebaseerde applicatieprogramma kan ook worden verwijderd terwijl het programma wordt uitgevoerd. Telkens wanneer de microcontroller LPC2148 on-chip bootloader wordt gebruikt, is 500 kB Flash-geheugen beschikbaar voor consumentencode. Het Flash-geheugen van deze microcontroller biedt het kleinste aantal van 100.000 schrijf- / wiscycli en 20 jaar gegevensbehoud.

SRAM op de chip

Deze microcontroller biedt statische RAM met 32 ​​kB en is erg handig voor gegevensopslag of code. Het is toegankelijk voor 8-bits, 16-bits en 32-bits.

Input / output-poorten

De LPC2148-microcontroller heeft twee invoer- / uitvoerpoorten en deze worden P0 en P1 genoemd. Elke poortpinnen zijn gemerkt met PX.Y. Hier staat ‘X’ voor poortnummer zoals 0 of 1, terwijl ‘Y’ pincode 0-31 aangeeft. Alle pinnen kunnen ook alternatieve taken uitvoeren. P0.8 biedt bijvoorbeeld als GPIO- en Tx-pin van de UART1, AD1.1, PWM4. Op RST (RESET) is elke pin gerangschikt als GPIO.

Hoe te beginnen met programmeren?

De eerste stap in de richting van lpc2148-programmering is een arrangement van GPIO-pinnen. Dus hier zijn ook de gerelateerde concepten als registers ​De algemene I / O-poortpinnen in LPC2148 omvatten P0.0 tot P0.31 en P1.16 tot P1.31, en eigenlijk zijn deze pinnen beschikbaar op basis van het gebruik van alternatieve functies.

Port-0 en Port-1 zijn 32-bit input / output-poorten, en elk bit van deze poorten kan worden bestuurd door een individuele richting. De werking van poort-0 en poort-1 is afhankelijk van de functie van een pin die is geselecteerd met behulp van het pin-verbonden blok. In Port-0 zijn pinnen zoals P0.24, P0.26 en P0.27 niet verkrijgbaar, terwijl in Port-1 de pinnen 0 tot 15 niet verkrijgbaar zijn. Hier worden beide pinnen, zoals Port-0 en Port-1, bestuurd door twee groepen registers die hieronder worden besproken.

LPC2148 Pin-configuratie

Op ARM7 gebaseerde microcontroller (LPC2148) Pinconfiguratie

Op ARM7 gebaseerde microcontroller (LPC2148) Pinconfiguratie

Pin1- (P0.21 / PWM5CAP1.3 / AD1.6)

  • P0.21 is een GPIO-pin (I / O-pin voor algemeen gebruik)
  • AD1.6 is alleen verkrijgbaar in LPC2144 / 46/48-microcontrollers waar een AD1.6 staat voor ADC-1, i / p-6.
  • PWM5 is een pulsbreedtemodulator-uitgang-5.
  • CAP1.3 is een Capture i / p voor Timer-1, kanaal-3

Pin2- (P0.22 / CAP0.0 / AD1.7 / MAT0.0 2

  • P0.22 is een digitale GPIO-pin
  • AD1.7-pin is alleen beschikbaar in LPC2144 / 46/48 waar een AD1.7 staat voor ADC-1, input-7
  • CAP0.0 is een capture-invoerpin voor Timer-0, kanaal-0.
  • MAT0.0 is een match o / p voor Timer-0, kanaal-0

Pin3-RTXC1 3

Het is een I / p naar het RTC-oscillatorcircuit

Pin4- TRACEPKT3 / P1.19

  • TRACEPKT3 is een traceerpakket, bit-3, standaard input / output poort door de inner pull-up.
  • P1.19 is een GPIO digitale pin

Pin5-RTXC2

Dit is een outputpin van het RTC-oscillatorcircuit

Pin6, Pin18, Pin25, Pin42 en Pin50

Deze pinnen zijn een grondreferentie

Pin7-VDDA

Deze pin is een analoge spanningsvoeding (3.3V), en deze spanning is erg handig voor de on-chip analoog naar digitaal converters en digitaal naar analoog converters.

Pin8- P1.18 / TRACEPKT2

  • P1.18 is een digitale GPIO-pin
  • TRACEPKT2 is een traceringspakket, bit-2, standaard invoer / uitvoerpoort door de inner pull-up.

Pin9- P0.25 / AOUT / AD0.4

  • P0.25 is een GPIO digitale pin I
  • AD0.4 staat voor ADC-0, input-4
  • Aout- de output van DAC en die is alleen toegankelijk in LPC2142 / LPC2144 / LPC2146 / LPC2148

Pin10- D +

Deze pin is een bidirectionele USB D + -lijn

Pin11- D-

Deze pin is een bidirectionele USB-D-lijn

Pin12-P1.17 / TRACEPKT1

  • P1.17 is een digitale GPIO-pin
  • TRACEPKT1 is een traceringspakket, bit-1, standaard invoer / uitvoerpoort door de binnenste pull-up.

Pin13-P0.28 / CAP0.2 / AD0.1 / MAT0.2

  • P0.28 is een GPIO digitale pin
  • AD0.1 staat voor ADC-0, input-1
  • CAP0.2 is een capture i / p voor Timer-0, kanaal-2.
  • MAT0.2 is een match o / p voor Timer-0, kanaal-2

Pin14-P0.29 / CAP0.3 / AD0.2 / MAT0.3

  • P0.29 is een digitale GPIO-pin
  • AD0.2 staat voor ADC-0, input-2
  • CAP0.3 is een capture-i / p voor Timer-0, kanaal-3.
  • MAT0.3 is een match o / p voor Timer-0, kanaal-3

Pin15-P0.30 / EINT3 / AD0.3 / CAP0.0

  • P0.30 is een GPIO digitale pin
  • AD0.3 staat voor ADC-0, input-3
  • EINT3 is een externe interrupt 3-ingang.
  • CAP0.3 is een capture-i / p voor Timer-0, kanaal-0.

Pin16- P1.16 / TRACEPKT0

  • P1.16 is een GPIO digitale pin
  • TRACEPKT1 is een traceerpakket, bit-0, standaard invoer- / uitvoerpoort door middel van inner pull-up

Pin17-P0.31 / UP_LED / CONNECT

  • P0.31 is een GPIO digitale pin
  • UP_LED is een goede USB-link LED-indicator. Als het apparaat is opgesteld, is het laag en als het apparaat niet is opgesteld, is het hoog.
  • CONNECT- Dit signaal wordt gebruikt om een ​​externe weerstand (1,5 kΩ) te besturen onder besturing van een softwarebesturing, en het wordt gebruikt door de functie van Soft Connect

Pin19- P0.0 / PWM / TXD0

  • P0.0 is een GPIO digitale pin
  • TXD0 is een zender o / p voor UART0.
  • PWM1 is een pulsbreedtemodulator o / p-1.

Pin20- P1.31 / TRIESTE

  • P1.31 is een digitale GPIO-pin
  • TRST is een testreset voor de JTAG-interface.

Pin21-P0.1 / PWM3 / RXD0 / EINT0

  • P0.1 is een digitale GPIO-pin
  • RXD0 is een ontvanger i / p voor UART0.
  • PWM3 is een pulsbreedtemodulator o / p-3.
  • EINT0 is een externe interrupt 0-ingang

Pin22- P0.2 / CAP0.0 / SCL0

  • P0.2 is een GPIO digitale pin
  • SCL0 is een I2C0-klok-I / O en open-afvoer o / p
  • CAP0.0 is een capture-i / p voor Timer-0, kanaal-0.

Pin 23, 43 en 51 - VDD

Deze pinnen zijn voedingsspanning voor zowel de I / O-poorten als de kern.

Pin24- P1.26 / RTCK

  • P1.26 is een GPIO digitale pin
  • RTCK is een geretourneerde test CLK o / p, een extra signaal toegevoegd aan de JTAG-poort. Wanneer de frequentie van de processor verandert, helpt dit bij het debuggen van de synchronisatie.

Pin26- P0.3 / SDA0 / MAT0.0 / EINT1

  • P0.3 is een digitale GPIO-pin
  • SDA0 is een I2C0 data I / O en open drain o / p voor I2C bus observatie.
  • MAT0.0 komt overeen met o / p voor timer-0, kanaal-0.
  • EINT1 is een externe interrupt 1-i / p.

Pin27-P0.4 / CAP0.1 / SCK0 / AD0.6

  • P0.4 is een GPIO digitale pin I / O
  • SCK0 is een seriële CLK voor SPI0 en SPI CLK o / p van master / i / p naar slave.
  • CAP0.1 is een capture i / p voor timer-0, kanaal-0.
  • IAD0.6 staat voor ADC-0, input-6

Pin28-P1.25 / EXTIN0

  • P1.25 is een GPIO digitale pin I / O
  • EXTIN0 is een externe trigger i / p, en standaard input / output met inner pull-up

Pin29- P0.5 / MAT0.1 / MISO0 / AD0.7

  • P0.5 is een GPIO digitale pin I / O
  • MISO0 is een master in slave out voor SPI0, data i / p naar SPI-master / data o / p van SPI slave.
  • MAT0.1 is een match o / p voor timer-0, kanaal-1.
  • AD0.7 staat voor ADC-0, input-7.

Pin30-P0.6 / MOSI0 / CAP0.2 / AD1.0

  • P0.6 is een GPIO digitale pin I / O
  • MOSI0 is een master out slave in voor SPI0, en data o / p van SPI master / data i / p naar SPI slave.
  • CAP0.2 is een capture i / p voor Timer-0, kanaal-2.

Pin31-P0.7 / PWM2 / SSEL0 / EINT2

  • P0.7 is een GPIO digitale pin I / O
  • SSEL0 is een slave select voor SPI0 en kiest de SPI-interface als slave.
  • PWM2 is een pulsbreedtemodulatoruitgang-2.
  • EINT2 is een externe interrupt 2-ingang.

Pin32-P1.24 / TRACECLK

  • P1.24 is een GPIO digitale pin I / O.
  • TRACECLK is een trace CLK en standaard invoer / uitvoerpoort met interne pull-up

Pin33-P0.8 / TXD1 / PWM4 / AD1.1

  • P0.8 is een GPIO digitale pin I / O
  • TXD1 is een zender o / p voor UART1.
  • PWM4 is een pulsbreedtemodulator o / p-4.
  • AD1.1 staat voor ADC-1, input-1, en is alleen verkrijgbaar in LPC2144 / 46/48.

Pin34- P0.9 / PWM6 / RXD1 / EINT3

  • P0.9 is een GPIO digitale pin I / O
  • RXD1 is een ontvanger i / p voor UART1.
  • PWM6 is een pulsbreedtemodulator o / p-6.
  • EINT3 is een externe interrupt 3-ingang

Pin35-P0.10 / RTS1 / CAP1.0 / AD1.2

  • P0.10 is een GPIO digitale pin I / O
  • RTS1 vraagt ​​om o / p te verzenden voor UART1 en LPC2144 / 46/48.
  • CAP1.0 is een capture i / p voor timer-1, kanaal-0.
  • AD1.2 staat voor ADC-1, input-2, en is alleen verkrijgbaar in LPC2144 / 46/48

Pin36-P1.23 / PIPESTAT2

  • P1.23 is een GPIO digitale pin I / O
  • PIPESTAT2 is een pijplijnstatus, bit-2., En een standaard invoer- / uitvoerpoort met interne pull-up

Pin37-P0.11 / CAP1.1 / CTS1 / SCL1

  • P0.11 is een GPIO digitale pin I / O
  • CTS1 is duidelijk om i / p voor UART1 te verzenden, en deze zijn alleen toegankelijk in LPC2144 / 46/48
  • CAP1.1 is een capture i / p voor timer-1, kanaal-1.
  • SCL1 - I2C1 CLK I / O, en open afvoer o / p voor de I2C-bus observatie

Pin38-P0.12 / MAT1.0 / AD1.3 / DSR1

  • P0.12 is een GPIO digitale pin I / O
  • DSR1 is een dataset gereed i / p voor UART1, en deze zijn alleen toegankelijk in LPC2144 / 46/48.
  • MAT1.0 is een match o / p voor timer-1, kanaal-0.
  • AD1.3 geeft ADC input-3 aan, en is alleen toegankelijk in LPC2144 / 46/48.

Pin39-P0.13 / DTR1 / MAT1.1 / AD1.4

  • P0.13 is een GPIO digitale pin I / O
  • DTR1 is een dataterminal klaar voor alleen UART1 en LPC2144 / 46/48.
  • MAT1.1 is een match o / p voor timer-1, kanaal-1.
  • AD1.4 geeft ADC input-4 aan, en deze zijn alleen toegankelijk in LPC2144 / 46/48.

Pin40-P1.22 / PIPESTAT1

  • P1.22 is een GPIO digitale pin I / O
  • PIPESTAT1 is een pijplijnstatus, bit-1 en een standaard invoer- / uitvoerpoort met interne pull-up

Pin41-P0.14 / DCD1 / EINT1 / SDA1

  • P0.14 is een GPIO digitale pin I / O
  • DCD1 is een datadragerdetectie-i / p voor UART1, en ook alleen voor LPC2144 / 46/48.
  • EINT1 is een externe interrupt 1-ingang.
  • SDA1 is een I2C1 data I / O en een open drain o / p voor I2C bus observatie

Pin44: P1.21 / PIPESTAT0 44

  • I / O P1.21 is een GPIO digitale pin I / O
  • PIPESTAT0 is een Pipeline Status, bit 0, en standaard Input / Output-poort door de inner pull-up.

Pin45: P0.15 / EINT2 / RI1 / AD1.5 45

  • I / O P0.15 is een GPIO digitale pin I / O
  • RI1 is een ring pointer i / p voor UART1 en is alleen toegankelijk in LPC2144 / 46/48.
  • EINT2 is een externe interrupt 2-ingang.
  • AD1.5 geeft ADC 1, input-5 aan, en is ook alleen beschikbaar in LPC2144 / 46/48

Pin46: P0.16 / MAT0.2 / EINT0 / CAP0.2

  • P0.16 is een GPIO digitale pin I / O
  • EINT0 is een externe interrupt0-ingang.
  • MAT0.2 is een match o / p voor Timer-0, kanaal -2
  • CAP0.2 is een capture i / p voor Timer-0, kanaal-2.

Pin47: P0.17 / SCK1 / CAP1.2 / MAT1.2 47

  • P0.17 is een GPIO digitale pin I / O
  • CAP1.2 is een capture-i / p voor Timer-1, kanaal-2.
  • SCK1 is een seriële CLK voor SSP en CLK o / p van master naar slave.
  • MAT1.2 is een match o / p voor Timer-1, kanaal-2.

Pin48: P1.20 / TRACESYNC

  • P1.20 is een GPIO digitale pin I / O
  • TRACESYNC is traceersynchronisatie.

Pin49: VBAT

RTC-voeding: Deze pin geeft de voeding aan de RTC.

Pin52: P1.30 / TMS

P1.30 is een GPIO digitale pin I / O

TMS is een testmoduskeuze voor interfacing van JTAG.

Pin53: P0.18 / CAP1.3 / MISO1 / MAT1.3

  • P0.18 is een GPIO digitale pin I / O
  • CAP1.3 is een capture-i / p voor Timer 1, kanaal 3.
  • MISO1 is een master In Slave-out voor SSP en data i / p naar SPI-master

Pin54: P0.19 / MOSI1 / MAT1.2 / CAP1.2

  • P0.19 is een GPIO digitale pin I / O.
  • MAT1.2 geeft match o / p aan voor Timer 1, kanaal 2.
  • MOSI1 is een master out slave voor SSP master.
  • CAP1.2 is een capture-i / p voor Timer 1, kanaal 2.

Pen 55: P0.20 / SSEL1 / MAT1.3 / EINT3

  • P0.20 is een GPIO digitale pin I / O.
  • MAT1.3 is een match o / p voor Timer 1, kanaal 3. I
  • SSEL1 is een Slave Select ontworpen voor SSP. Kiest hier de interface van SSP als slaaf.
  • EINT3 is een externe interrupt 3-ingang.

Pin56: P1.29 / TCK

  • P1.29 is een GPIO digitale pin I / O
  • TCK is een test CLK voor een interface van JTAG.

Pin57: Externe reset-ingang

Het apparaat kan worden herschikt door een LOW op deze pin, wat invloed heeft op de invoer- / uitvoerpoorten en randapparatuur voor het verkrijgen op hun standaardcondities, en de uitvoering van de processor begint op adres 0.

Pin58: P0.23 / VBUS

  • P0.23 is een GPIO digitale pin I / O
  • VBUS specificeert het bestaan ​​van USB-busvoeding

Pin59: VSSA

VSSA is een analoge aarde, en dit moet hetzelfde voltage zijn als VSS, hoewel het gescheiden moet zijn om fouten en ruis te verminderen

Pin60: P1.28 / TDI 60

  • P1.28 is een GPIO digitale pin I / O
  • TDI-pin is een testgegevens die worden gebruikt voor het koppelen van JTAG

Pin61: XTAL2

XTAL2 is een o / p van de oscillatorversterker

Pin62: XTAL1

XTAL1 is een i / p voor de interne CLK-generator en oscillatorcircuits

Pin63: VREF-ADC-referentie

Deze pin moet nominaal gelijk zijn aan of kleiner zijn dan de spanning VDD, hoewel deze moet worden gescheiden om zowel fouten als ruis te verminderen.

Pin64: P1.27 / TDO 64

  • P1.27 is een GPIO digitale pin I / O
  • TDO is een testgegevens die wordt gebruikt voor het koppelen van JTAG.

Dit gaat dus over de op ARM 7 gebaseerde LPC2148-microcontrollerpenconfiguratie. Voor de studenten elektrotechniek geeft deze informatie een basiskennis over pinconfiguratie, I / O-poortgeheugen en registers. Hier is een vraag voor u, wat zijn de toepassingen van de LPC2148-microcontroller?