Configurazione dei pin del microcontrollore basato su ARM7 (LPC2148)

Prova Il Nostro Strumento Per Eliminare I Problemi





I progettisti di sistemi embedded e SOC (system on chip) scelgono particolari core del microprocessore , librerie e diversi strumenti per sviluppare applicazioni basate su microprocessori. Un processore ARM è una delle migliori alternative ottenibili per i progettisti di sistemi embedded. Negli ultimi anni, l'architettura ARM è diventata molto popolare e questi sono disponibili da diversi produttori di circuiti integrati. Le applicazioni dei processori ARM coinvolgono telefoni cellulari, sistemi frenanti automobilistici, ecc. Una comunità globale di partner ARM ha sviluppato semiconduttori, nonché società di progettazione di prodotti che include dipendenti come ingegneri, designer e sviluppatori. Questo articolo riguarda il microcontrollore LPC2148 basato su ARM7, l'architettura e la configurazione dei pin. Questo articolo ti aiuterà a comprendere le basi del microcontrollore.

Microcontrollore LPC2148 basato su ARM7

La forma completa di un ARM è un computer con set di istruzioni ridotto avanzato Macchina (RISC) , ed è un'architettura del processore a 32 bit ampliata dalle partecipazioni ARM. Le applicazioni di un processore ARM includono diversi microcontrollori e processori. L'architettura di un processore ARM è stata concessa in licenza da molte aziende per la progettazione di CPU e prodotti SoC basati su processore ARM. Ciò consente alle aziende di produrre i propri prodotti utilizzando l'architettura ARM. Allo stesso modo, tutte le principali società di semiconduttori realizzeranno SOC basati su ARM come Samsung, Atmel, TI ecc.




Cos'è un processore ARM7?

Il processore ARM7 è comunemente usato nelle applicazioni di sistema embedded. Inoltre, è un equilibrio tra la sequenza classica e quella nuova di Cortex. Questo processore è straordinario nel trovare le risorse esistenti su Internet con la documentazione di eccellenza offerta da NXP Semiconductors. È completamente adatto per un apprendista ottenere in dettaglio l'implementazione della progettazione hardware e software.

Microcontrollore LPC2148

Il microcontrollore LPC2148 è progettato da Philips (NXP Semiconductor) con numerose funzionalità e periferiche integrate. Per questi motivi, renderà l'opzione più affidabile ed efficiente per uno sviluppatore di applicazioni. LPC2148 è un microcontrollore a 16 o 32 bit basato sulla famiglia ARM7.



Caratteristiche di LPC2148

Le caratteristiche principali di LPC2148 includono quanto segue.

  • L'LPC2148 è un microcontrollore basato sulla famiglia ARM7 a 16 o 32 bit ed è disponibile in un piccolo pacchetto LQFP64.
  • ISP (nella programmazione del sistema) o IAP (nella programmazione dell'applicazione) utilizzando il software di caricamento di avvio su chip.
  • La RAM statica su chip è 8 kB-40 kB, la memoria flash su chip è 32 kB-512 kB, l'ampia interfaccia è a 128 bit o l'acceleratore consente un funzionamento ad alta velocità a 60 MHz.
  • Sono necessari 400 millisecondi per cancellare i dati nel chip completo e 1 millisecondo per 256 byte di programmazione.
  • Le interfacce Embedded Trace e Embedded ICE RT offrono debug in tempo reale con tracciamento ad alta velocità dell'esecuzione delle istruzioni e software Real Monitor su chip.
  • Ha 2 kB di RAM endpoint e controller del dispositivo USB 2.0 a piena velocità. Inoltre, questo microcontrollore offre 8kB di RAM su chip vicino a USB con DMA.
  • Uno o due ADC a 10 bit offrono 6 o 14 i / ps analogici con un tempo di conversione basso di 2,44 μs / canale.
  • Solo il DAC a 10 bit offre un o / p analogico modificabile.
  • Contatore eventi esterni / timer a 32 bit-2, unità PWM e watchdog.
  • RTC a bassa potenza (orologio in tempo reale) e ingresso orologio a 32 kHz.
  • Diverse interfacce seriali come due UART 16C550, due bus I2C con velocità di 400 kbit / s.
  • Pin di ingresso / uscita rapidi per uso generico con tolleranza di 5 volt in un piccolo contenitore LQFP64.
  • Perni di interruzione esterni-21.
  • 60 MHz di massimo CPU CLK-clock ottenibili dal loop di fase bloccato programmabile su chip risolvendo il tempo è di 100 μs.
  • L'oscillatore incorporato sul chip funzionerà con un cristallo esterno che va da 1 MHz a 25 MHz
  • Le modalità per il risparmio energetico comprendono principalmente inattività e spegnimento.
  • Per un'ottimizzazione extra della potenza, sono disponibili abilitazioni o disabilitazioni individuali delle funzioni periferiche e della scalatura CLK periferica.

Memoria


Il microcontrollore LPC2148 ha una memoria FLASH su chip da 512 kB e SRAM su chip da 32 kB. Inoltre, questo microcontrollore include un supporto intrinseco fino a 2kB di RAM USB. Questa memoria è ben abbinata a tutti i file applicazioni microcontrollore.

Sistema di memoria FLASH su chip

Questo microcontrollore include un sistema di memoria Flash da 512 kB e questa memoria può essere utile sia per l'archiviazione dei dati che per il codice. La programmazione di questa memoria può essere eseguita come segue.

  • Incorporando l'interfaccia JTAG in seriale
  • Utilizzo di UART o ISP (nella programmazione del sistema)
  • Funzionalità di IAP (nella programmazione dell'applicazione)

Il programma applicativo basato sulla funzione IAP può anche essere rimosso mentre il programma è in esecuzione. Ogni volta che viene utilizzato il caricatore di avvio su chip LPC2148 del microcontrollore, è possibile ottenere 500 kB di memoria Flash per il codice consumer. La memoria Flash di questo microcontrollore offre la quantità minima di 100.000 cicli di scrittura / cancellazione e 20 anni di conservazione dei dati.

SRAM su chip

Questo microcontrollore offre RAM statica con 32 kB e molto utile per l'archiviazione dei dati o il codice. È accessibile per 8 bit, 16 bit e 32 bit.

Porte di ingresso / uscita

Il microcontrollore LPC2148 ha due porte di ingresso / uscita e queste sono chiamate P0 e P1. Ogni pin porta è marchiato con PX.Y. Qui, 'X' indica il numero di porta come 0 o 1, mentre 'Y' indica il numero di pin 0-31. Tutti i pin possono anche eseguire attività alternative. Ad esempio, P0.8 fornisce come GPIO e Tx pin di UART1, AD1.1, PWM4. Su RST (RESET), ogni pin è organizzato come GPIO.

Come iniziare con la programmazione?

Il passo iniziale verso la programmazione di lpc2148 è una disposizione dei pin GPIO. Quindi ecco anche i concetti correlati come registri . I pin della porta I / O per uso generico in LPC2148 includono da P0.0 a P0.31 e da P1.16 a P1.31 e, in realtà, questi pin sono disponibili in base all'utilizzo della funzione alternativa.

Port-0 e Port-1 sono porte di ingresso / uscita a 32 bit e ogni bit di queste porte può essere controllato da una singola direzione. Le operazioni di port-0 e port-1 dipendono dalla funzione di un pin selezionato utilizzando il blocco pin connesso. In Port-0, i pin come P0.24, P0.26 e P0.27 non sono disponibili mentre, in Port-1, i pin da 0 a 15 non sono disponibili. Qui, entrambi i pin come Port-0 e Port-1 sono controllati da due gruppi di registri discussi di seguito.

Configurazione pin LPC2148

Configurazione pin del microcontrollore basato su ARM7 (LPC2148)

Configurazione pin del microcontrollore basato su ARM7 (LPC2148)

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

  • P0.21 è un pin GPIO (pin I / O per uso generico)
  • AD1.6 è ottenibile nei microcontrollori LPC2144 / 46/48 solo dove un AD1.6 denota ADC-1, i / p-6.
  • PWM5 è un'uscita del modulatore di larghezza di impulso-5.
  • CAP1.3 è un Capture i / p per Timer-1, canale-3

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

  • P0.22 è un pin digitale GPIO
  • Il pin AD1.7 è disponibile in LPC2144 / 46/48 solo dove un AD1.7 denota ADC-1, input-7
  • CAP0.0 è un pin di ingresso di cattura per Timer-0, canale-0.
  • MAT0.0 è una corrispondenza o / p per Timer-0, canale-0

Pin3-RTXC1 3

È un I / p per il circuito dell'oscillatore RTC

Pin4- TRACEPKT3 / P1.19

  • TRACEPKT3 è un pacchetto di traccia, bit-3, porta di input / output standard dal pull-up interno.
  • P1.19 è un pin digitale GPIO

Pin5-RTXC2

Questo è un pin di uscita dal circuito dell'oscillatore RTC

Pin6, Pin18, Pin25, Pin42 e Pin50

Questi pin sono un riferimento di massa

Pin7-VDDA

Questo pin è un alimentatore a tensione analogica (3,3 V) e questa tensione è molto utile per il chip convertitori da analogico a digitale e convertitori da digitale ad analogico.

Pin8- P1.18 / TRACEPKT2

  • P1.18 è un pin digitale GPIO
  • TRACEPKT2 è un pacchetto di traccia, bit-2, porta di input / output standard dal pull-up interno.

Pin9- P0.25 / AOUT / AD0.4

  • P0.25 è un pin digitale GPIO I.
  • AD0.4 denota ADC-0, input-4
  • Aout- l'uscita del DAC e che è accessibile solo in LPC2142 / LPC2144 / LPC2146 / LPC2148

Pin10- D +

Questo pin è una linea D + bidirezionale USB

Pin11- D-

Questo pin è una linea D bidirezionale USB

Pin12-P1.17 / TRACEPKT1

  • P1.17 è un pin digitale GPIO
  • TRACEPKT1 è un pacchetto di traccia, bit-1, porta di input / output standard dal pull-up interno.

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

  • P0.28 è un pin digitale GPIO
  • AD0.1 denota ADC-0, input-1
  • CAP0.2 è un i / p di acquisizione per Timer-0, canale 2.
  • MAT0.2 è una corrispondenza o / p per Timer-0, canale-2

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

  • P0.29 è un pin digitale GPIO
  • AD0.2 denota ADC-0, input-2
  • CAP0.3 è una cattura i / p per Timer-0, canale-3.
  • MAT0.3 è una corrispondenza o / p per Timer-0, canale-3

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

  • P0.30 è un pin digitale GPIO
  • AD0.3 denota ADC-0, input-3
  • EINT3 è un 3 ingressi di interrupt esterno.
  • CAP0.3 è una cattura i / p per Timer-0, canale-0.

Pin16- P1.16 / TRACEPKT0

  • P1.16 è un pin digitale GPIO
  • TRACEPKT1 è un pacchetto di traccia, bit-0, porta di input / output standard tramite pull-up interno

Pin17-P0.31 / UP_LED / CONNECT

  • P0.31 è un pin digitale GPIO
  • UP_LED è un indicatore LED di collegamento USB buono. Quando il dispositivo è disposto allora è basso e quando il dispositivo non è disposto, allora è alto.
  • CONNECT- Questo segnale viene utilizzato per controllare un resistore esterno (1,5 kΩ) sotto il controllo di un controllo software, ed è utilizzato dalla funzione di Soft Connect

Pin19- P0.0 / PWM / TXD0

  • P0.0 è un pin digitale GPIO
  • TXD0 è un trasmettitore o / p per UART0.
  • PWM1 è un modulatore di larghezza di impulso o / p-1.

Pin20- P1.31 / TRIESTE

  • P1.31 è un pin digitale GPIO
  • TRST è un ripristino di prova per l'interfaccia JTAG.

Pin21-P0.1 / PWM3 / RXD0 / EINT0

  • P0.1 è un pin digitale GPIO
  • RXD0 è un ricevitore i / p per UART0.
  • PWM3 è un modulatore di larghezza di impulso o / p-3.
  • EINT0 è un ingresso 0 di interrupt esterno

Pin22- P0.2 / CAP0.0 / SCL0

  • P0.2 è un pin digitale GPIO
  • SCL0 è un I / O clock I2C0 e o / p open-drain
  • CAP0.0 è una cattura i / p per Timer-0, canale-0.

Pin 23, 43 e 51- VDD

Questi pin sono la tensione di alimentazione per le porte I / O e per il nucleo.

Pin24- P1.26 / RTCK

  • P1.26 è un pin digitale GPIO
  • RTCK è un test restituito CLK o / p, un segnale aggiuntivo aggiunto alla porta JTAG. Quando la frequenza del processore cambia, aiuta la sincronizzazione del debugger.

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

  • P0.3 è un pin digitale GPIO
  • SDA0 è un I / O dati I2C0 e open drain o / p per l'osservanza del bus I2C.
  • MAT0.0 è abbinato o / p per timer-0, canale-0.
  • EINT1 è un interrupt esterno 1-i / p.

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

  • P0.4 è un I / O pin digitale GPIO
  • SCK0 è un CLK seriale per SPI0 e SPI CLK o / p da master / i / p a slave.
  • CAP0.1 è una cattura i / p per timer-0, canale-0.
  • IAD0.6 indica ADC-0, input-6

Pin28-P1.25 / EXTIN0

  • P1.25 è un I / O pin digitale GPIO
  • EXTIN0 è un trigger esterno i / pe standard input / output con pull-up interno

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

  • P0.5 è un I / O pin digitale GPIO
  • MISO0 è un master in slave out per SPI0, data i / p a SPI-master / data o / p dallo slave SPI.
  • MAT0.1 è una corrispondenza o / p per timer-0, canale-1.
  • AD0.7 indica ADC-0, input-7.

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

  • P0.6 è un I / O pin digitale GPIO
  • MOSI0 è ​​un master out slave in per SPI0 e dati o / p da SPI master / data i / p a SPI slave.
  • CAP0.2 è un i / p di acquisizione per Timer-0, canale 2.

Pin31-P0.7 / PWM2 / SSEL0 / EINT2

  • P0.7 è un I / O pin digitale GPIO
  • SSEL0 è uno slave selezionato per SPI0 e sceglie l'interfaccia SPI come slave.
  • PWM2 è un'uscita del modulatore di larghezza di impulso-2.
  • EINT2 è un ingresso a 2 interrupt esterno.

Pin32-P1.24 / TRACECLK

  • P1.24 è un I / O pin digitale GPIO.
  • TRACECLK è una traccia CLK e una porta di input / output standard con pull-up interno

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

  • P0.8 è un I / O pin digitale GPIO
  • TXD1 è un trasmettitore o / p per UART1.
  • PWM4 è un modulatore di larghezza di impulso o / p-4.
  • AD1.1 indica ADC-1, input-1 ed è ottenibile solo in LPC2144 / 46/48.

Pin34- P0.9 / PWM6 / RXD1 / EINT3

  • P0.9 è un I / O pin digitale GPIO
  • RXD1 è un ricevitore i / p per UART1.
  • PWM6 è un modulatore di larghezza di impulso o / p-6.
  • EINT3 è un 3 ingressi di interrupt esterno

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

  • P0.10 è un I / O pin digitale GPIO
  • RTS1 richiede di inviare o / p per UART1 e LPC2144 / 46/48.
  • CAP1.0 è un i / p di cattura per timer-1, canale-0.
  • AD1.2 indica ADC-1, input-2 ed è ottenibile solo in LPC2144 / 46/48

Pin36-P1.23 / PIPESTAT2

  • P1.23 è un I / O pin digitale GPIO
  • PIPESTAT2 è uno stato della pipeline, bit-2. E una porta di input / output standard con pull-up interno

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

  • P0.11 è un I / O pin digitale GPIO
  • CTS1 è chiaro per inviare i / p per UART1, e questi sono accessibili solo in LPC2144 / 46/48
  • CAP1.1 è una cattura i / p per timer-1, canale-1.
  • SCL1 - I2C1 CLK I / O e open drain o / p per l'osservanza del bus I2C

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

  • P0.12 è un I / O pin digitale GPIO
  • DSR1 è un set di dati pronto i / p per UART1 e questi sono accessibili solo in LPC2144 / 46/48.
  • MAT1.0 è una corrispondenza o / p per timer-1, canale-0.
  • AD1.3 denota l'ingresso 3 dell'ADC ed è accessibile solo in LPC2144 / 46/48.

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

  • P0.13 è un I / O pin digitale GPIO
  • DTR1 è un terminale dati pronto o / p solo per UART1 e LPC2144 / 46/48.
  • MAT1.1 è una corrispondenza o / p per timer-1, canale-1.
  • AD1.4 indica l'ingresso ADC-4, e questi sono accessibili solo in LPC2144 / 46/48.

Pin40-P1.22 / PIPESTAT1

  • P1.22 è un I / O pin digitale GPIO
  • PIPESTAT1 è uno stato della pipeline, bit-1 e una porta di input / output standard con pull-up interno

Pin41-P0.14 / DCD1 / EINT1 / SDA1

  • P0.14 è un I / O pin digitale GPIO
  • DCD1 è un supporto dati rileva i / p per UART1 e anche solo per LPC2144 / 46/48.
  • EINT1 è un ingresso 1 di interrupt esterno.
  • SDA1 è un I / O dati I2C1 e un open drain o / p per l'osservanza del bus I2C

Pin44: P1.21 / PIPESTAT0 44

  • I / O P1.21 è un I / O pin digitale GPIO
  • PIPESTAT0 è uno stato della pipeline, bit 0 e una porta di input / output standard dal pull-up interno.

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

  • I / O P0.15 è un I / O pin digitale GPIO
  • RI1 è un puntatore ad anello i / p per UART1 ed è accessibile solo in LPC2144 / 46/48.
  • EINT2 è un ingresso a 2 interrupt esterno.
  • AD1.5 indica ADC 1, input-5 e disponibile anche solo in LPC2144 / 46/48

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

  • P0.16 è un I / O pin digitale GPIO
  • EINT0 è un ingresso di interrupt 0 esterno.
  • MAT0.2 è una corrispondenza o / p per Timer-0, canale -2
  • CAP0.2 è un i / p di acquisizione per Timer-0, canale 2.

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

  • P0.17 è un I / O pin digitale GPIO
  • CAP1.2 è una cattura i / p per Timer-1, canale-2.
  • SCK1 è un CLK seriale per SSP e CLK o / p da master a slave.
  • MAT1.2 è una partita o / p per Timer-1, canale-2.

Pin48: P1.20 / TRACESYNC

  • P1.20 è un I / O pin digitale GPIO
  • TRACESYNC è la sincronizzazione della traccia.

Pin49: VBAT

Alimentazione RTC: questo pin fornisce l'alimentazione all'RTC.

Pin52: P1.30 / TMS

P1.30 è un I / O pin digitale GPIO

TMS è una modalità di test selezionata per l'interfacciamento di JTAG.

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

  • P0.18 è un I / O pin digitale GPIO
  • CAP1.3 è un i / p di acquisizione per Timer 1, canale 3.
  • MISO1 è un master In Slave-out per SSP e dati i / p per SPI-master

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

  • P0.19 è un I / O pin digitale GPIO.
  • MAT1.2 denota corrispondenza o / p per Timer 1, canale 2.
  • MOSI1 è un master out slave per SSP master.
  • CAP1.2 è un i / p di acquisizione per Timer 1, canale 2.

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

  • P0.20 è un I / O pin digitale GPIO.
  • MAT1.3 è una corrispondenza o / p per Timer 1, canale 3. I
  • SSEL1 è uno Slave Select progettato per SSP. Qui, sceglie l'interfaccia di SSP come slave.
  • EINT3 è un 3 ingressi di interrupt esterno.

Pin56: P1.29 / TCK

  • P1.29 è un I / O pin digitale GPIO
  • TCK è un CLK di prova per un'interfaccia di JTAG.

Pin57: ingresso reset esterno

Il dispositivo può essere riorganizzato da un BASSO su questo pin, influenzando le porte di ingresso / uscita e le periferiche per ottenere le condizioni predefinite e l'esecuzione del processore inizia all'indirizzo 0.

Pin58: P0.23 / VBUS

  • P0.23 è un I / O pin digitale GPIO
  • VBUS specifica l'esistenza dell'alimentazione USB-bus

Pin59: VSSA

VSSA è una massa analogica e questa deve essere la tensione simile a VSS, anche se dovrebbe essere separata per ridurre l'errore e il rumore

Pin60: P1.28 / TDI 60

  • P1.28 è un I / O pin digitale GPIO
  • Il pin TDI è un dato di prova utilizzato per l'interfacciamento di JTAG

Pin61: XTAL2

XTAL2 è un o / p dell'amplificatore dell'oscillatore

Pin62: XTAL1

XTAL1 è un i / p per il generatore CLK interno e per i circuiti dell'oscillatore

Pin63: Riferimento VREF-ADC

Questo pin dovrebbe essere nominalmente uguale o inferiore alla tensione VDD sebbene dovrebbe essere separato per ridurre l'errore e il rumore.

Pin64: P1.27 / TDO 64

  • P1.27 è un I / O pin digitale GPIO
  • TDO è un test di dati in uscita utilizzato per interfacciare JTAG.

Quindi, si tratta di una configurazione dei pin del microcontrollore LPC2148 basata su ARM 7. Per gli studenti di ingegneria elettronica, queste informazioni forniranno una conoscenza di base sulla configurazione dei pin, sulla memoria delle porte I / O e sui registri. Ecco una domanda per te, quali sono le applicazioni del microcontrollore LPC2148?