Configurarea pinului microcontrolerului bazat pe ARM7 (LPC2148)

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Sistemele încorporate și proiectanții SOC (sistem pe cip) aleg special nuclee microprocesor , biblioteci și diferite instrumente pentru a dezvolta aplicații bazate pe microprocesor. Un procesor ARM este una dintre cele mai bune alternative disponibile pentru proiectanții de sisteme încorporate. În ultimii ani, arhitectura ARM a devenit foarte populară și acestea sunt disponibile de la diferiți producători de circuite integrate. Aplicațiile procesoarelor ARM implică telefoane mobile, sisteme de frânare auto etc. O comunitate globală de parteneri ARM a dezvoltat corporații de semiconductori, precum și de proiectare a produselor, care include angajați precum ingineri, designeri și dezvoltatori. Acest articol este despre microcontrolerul LPC2148 bazat pe ARM7, arhitectura și configurația pinului. Acest articol vă va ajuta să înțelegeți elementele de bază ale microcontrolerului.

Microcontroler LPC2148 bazat pe ARM7

Forma completă a unui ARM este un computer avansat cu set de instrucțiuni redus (RISC) machine , și este o arhitectură de procesor pe 32 de biți extinsă de fondurile ARM. Aplicațiile unui procesor ARM includ mai multe microcontrolere, precum și procesoare. Arhitectura unui procesor ARM a fost licențiată de multe corporații pentru proiectarea produselor și procesorelor SoC bazate pe procesor ARM. Acest lucru permite corporațiilor să își fabrice produsele folosind arhitectura ARM. La fel, toate companiile principale de semiconductori vor produce SOC-uri bazate pe ARM precum Samsung, Atmel, TI etc.




Ce este un procesor ARM7?

Procesorul ARM7 este utilizat în mod obișnuit în aplicațiile de sistem încorporat. De asemenea, este un echilibru între secvența clasică, precum și cea nouă-Cortex. Acest procesor este extraordinar în găsirea resurselor existente pe internet cu documentația de excelență oferită de NXP Semiconductors. Se potrivește complet unui ucenic să obțină în detaliu implementarea proiectării hardware și software.

Microcontroler LPC2148

Microcontrolerul LPC2148 este proiectat de Philips (NXP Semiconductor) cu mai multe caracteristici și periferice încorporate. Din aceste motive, va deveni mai fiabil, precum și opțiunea eficientă pentru un dezvoltator de aplicații. LPC2148 este un microcontroler pe 16 biți sau pe 32 de biți bazat pe familia ARM7.



Caracteristici ale LPC2148

Principalele caracteristici ale LPC2148 includ următoarele.

  • LPC2148 este un microcontroler bazat pe familie ARM7 pe 16 sau 32 biți și disponibil într-un pachet mic LQFP64.
  • ISP (în programarea sistemului) sau IAP (în programarea aplicațiilor) folosind software-ul de încărcare a încărcătorului pe cip.
  • RAM-ul static pe cip este de 8 kB-40 kB, memoria flash pe cip este de 32 kB-512 kB, interfața largă este de 128 biți sau acceleratorul permite o funcționare de 60 MHz de mare viteză.
  • Este nevoie de 400 de milisecunde de timp pentru ștergerea datelor în chip complet și de 1 milisecundă de timp pentru 256 de octeți de programare.
  • Interfețele de urmărire încorporate și ICE RT încorporate oferă depanare în timp real, cu urmărire de mare viteză a executării instrucțiunilor și software-ul Real Monitor on-chip.
  • Are 2 kB de punct final RAM și controler de dispozitiv USB 2.0 cu viteză maximă. În plus, acest microcontroler oferă 8kB RAM on-chip în apropiere de USB cu DMA.
  • Unul sau două ADC-uri pe 10 biți oferă 6 sau 14 analogi i / ps cu timp de conversie redus de 2,44 μs / canal.
  • Numai DAC pe 10 biți oferă o / p analogică modificabilă.
  • Contor de evenimente externe / temporizatoare pe 32 de biți-2, unitate PWM și câine de pază.
  • RTC de putere redusă (ceas în timp real) și intrare de ceas de 32 kHz.
  • Mai multe interfețe seriale, cum ar fi două UART 16C550, două autobuze I2C cu viteză de 400 kbit / s.
  • Pini de intrare / ieșire de uz general rapid cu 5 volți toleranți într-un pachet mic LQFP64.
  • În afara pinilor de întrerupere-21.
  • Ceasul CLK cu cel mai mare procesor de 60 MHz care poate fi obținut din bucla blocată în fază programabilă pe cip prin rezolvarea timpului este de 100 μs.
  • Oscilatorul încorporat pe cip va funcționa printr-un cristal exterior care variază de la 1 MHz-25 MHz
  • Modurile de economisire a energiei cuprind în principal ralanti și oprire.
  • Pentru optimizarea suplimentară a puterii, există activarea sau dezactivarea individuală a funcțiilor periferice și a scalării CLK periferice.

Memorie


Microcontrolerul LPC2148 are memorie FLASH on-chip de 512-kB, precum și SRAM on-chip de 32 kB. De asemenea, acest microcontroler include suport inerent de până la 2KB punct USB de memorie RAM. Această memorie este bine potrivită pentru toate aplicații de microcontroler.

Sistem de memorie FLASH on-chip

Acest microcontroler include un sistem de memorie Flash de 512 KB și această memorie poate fi utilă atât pentru stocarea datelor, cât și pentru cod. Programarea acestei memorii se poate face prin următoarele.

  • Prin încorporarea interfeței JTAG în serie
  • Utilizarea UART sau ISP (în programarea sistemului)
  • Capacitățile IAP (în programarea aplicațiilor)

Programul de aplicații bazat pe funcția IAP se poate elimina și în timp ce programul rulează. Ori de câte ori este utilizat microcontrolerul LPC2148 on-chip boot-loader, atunci 500 kB de memorie Flash se pot obține pentru codul de consum. Memoria Flash a acestui microcontroler oferă cea mai mică cantitate de 100.000 de cicluri de scriere / ștergere, precum și 20 de ani de conservare a datelor.

SRAM on-chip

Acest microcontroler oferă RAM statică cu 32-kB și foarte util pentru stocarea datelor sau cod. Este accesibil pentru 8 biți, 16 biți și 32 biți.

Porturi de intrare / ieșire

Microcontrolerul LPC2148 are două porturi de intrare / ieșire și acestea sunt denumite P0 și P1. Fiecare pin de port este marcat cu PX.Y. Aici, „X” indică numărul portului 0 sau 1, în timp ce „Y” indică numărul pin 0-31. Toți pinii pot executa și sarcini alternative. De exemplu, P0.8 furnizează ca pin GPIO și Tx pentru UART1, AD1.1, PWM4. Pe RST (RESET), fiecare pin este aranjat ca GPIO.

Cum să începeți cu programarea?

Pasul inițial către programarea lpc2148 este un aranjament al pinilor GPIO. Iată deci și conceptele conexe ca registre . Pinii portului I / O de uz general din LPC2148 includ P0.0 la P0.31 și P1.16 la P1.31 și, de fapt, acești pini sunt disponibili pe baza utilizării funcției alternative.

Port-0 și Port-1 sunt porturi de intrare / ieșire pe 32 de biți și fiecare bit al acestor porturi poate fi controlat de o direcție individuală. Operațiunile port-0 și port-1 depind de funcția unui pin care este selectat folosind blocul conectat pin. În Port-0, pini precum P0.24, P0.26 și P0.27 nu pot fi obținuți, în timp ce, în Port-1, Pinii de la 0 la 15 nu pot fi obținuți. Aici, atât pinii, cum ar fi Port-0 și Port-1, sunt controlați de două grupuri de registre discutate mai jos.

Configurare pin LPC2148

Configurarea pinului cu microcontroler bazat pe ARM7 (LPC2148)

Configurarea pinului cu microcontroler bazat pe ARM7 (LPC2148)

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

  • P0.21 este un pin GPIO (pin I / O de uz general)
  • AD1.6 se poate obține în microcontrolerele LPC2144 / 46/48 numai în cazul în care un AD1.6 denotă ADC-1, i / p-6.
  • PWM5 este un modulator de lățime a impulsurilor de ieșire-5.
  • CAP1.3 este un Capture i / p pentru Timer-1, canal-3

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

  • P0.22 este un pin digital GPIO
  • Pinul AD1.7 este disponibil în LPC2144 / 46/48 numai în cazul în care un AD1.7 indică ADC-1, intrare-7
  • CAP0.0 este un pin de intrare de captură pentru Timer-0, canal-0.
  • MAT0.0 este o potrivire o / p pentru Timer-0, canal-0

Pin3-RTXC1 3

Este un I / p la circuitul oscilatorului RTC

Pin4- TRACEPKT3 / P1.19

  • TRACEPKT3 este un pachet de urmărire, bit-3, port standard de intrare / ieșire prin pull-up-ul interior.
  • P1.19 este un pin digital GPIO

Pin5-RTXC2

Acesta este un pin de ieșire din circuitul oscilatorului RTC

Pin6, Pin18, Pin25, Pin42 și Pin50

Acești ace sunt o referință la sol

Pin7-VDDA

Acest pin este o sursă de alimentare analogică de tensiune (3,3V), iar această tensiune este foarte utilă pentru cip convertoare analogice la digitale și convertoare digitale în analogice.

Pin8- P1.18 / TRACEPKT2

  • P1.18 este un pin digital GPIO
  • TRACEPKT2 este un pachet de urmărire, bit-2, port standard de intrare / ieșire prin pull-up-ul interior.

Pin9- P0.25 / AOUT / AD0.4

  • P0.25 este un pin digital GPIO I
  • AD0.4 înseamnă ADC-0, intrare-4
  • Aout- ieșirea DAC și care este accesibilă numai în LPC2142 / LPC2144 / LPC2146 / LPC2148

Pin10- D +

Acest pin este o linie D + bidirecțională USB

Pin11- D-

Acest pin este o linie D bidirecțională USB

Pin12-P1.17 / TRACEPKT1

  • P1.17 este un pin digital GPIO
  • TRACEPKT1 este un pachet de urmărire, bit-1, port standard de intrare / ieșire prin pull-up-ul interior.

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

  • P0.28 este un pin digital GPIO
  • AD0.1 înseamnă ADC-0, intrare-1
  • CAP0.2 este o captură i / p pentru Timer-0, canal-2.
  • MAT0.2 este o potrivire o / p pentru Timer-0, canal-2

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

  • P0.29 este un pin digital GPIO
  • AD0.2 denotă ADC-0, intrare-2
  • CAP0.3 este o captură i / p pentru Timer-0, canal-3.
  • MAT0.3 este o potrivire o / p pentru Timer-0, canal-3

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

  • P0.30 este un pin digital GPIO
  • AD0.3 înseamnă ADC-0, intrare-3
  • EINT3 este o întrerupere externă cu 3 intrări.
  • CAP0.3 este o captură i / p pentru Timer-0, canal-0.

Pin16- P1.16 / TRACEPKT0

  • P1.16 este un pin digital GPIO
  • TRACEPKT1 este un pachet de urmărire, bit-0, port standard de intrare / ieșire prin pull-up interior

Pin17-P0.31 / UP_LED / CONNECT

  • P0.31 este un pin digital GPIO
  • UP_LED este un indicator LED cu link bun USB. Când dispozitivul este aranjat, atunci acesta este scăzut și când dispozitivul nu este aranjat, atunci este ridicat.
  • CONECTARE - Acest semnal este utilizat pentru a controla un rezistor exterior (1,5 kΩ) sub controlul unui control software și este utilizat de caracteristica Soft Connect

Pin19- P0.0 / PWM / TXD0

  • P0.0 este un pin digital GPIO
  • TXD0 este un transmițător o / p pentru UART0.
  • PWM1 este un modulator de lățime a impulsurilor o / p-1.

Pin20- P1.31 / TRIESTE

  • P1.31 este un pin digital GPIO
  • TRST este o resetare a testului pentru interfața JTAG.

Pin21-P0.1 / PWM3 / RXD0 / EINT0

  • P0.1 este un pin digital GPIO
  • RXD0 este un receptor i / p pentru UART0.
  • PWM3 este un modulator al lățimii pulsului o / p-3.
  • EINT0 este o intrare externă cu 0 intrări

Pin22- P0.2 / CAP0.0 / SCL0

  • P0.2 este un pin digital GPIO
  • SCL0 este un I / O cu ceas I2C0 și o / p cu scurgere deschisă
  • CAP0.0 este o captură i / p pentru Timer-0, canal-0.

Pinul 23, 43 și 51- VDD

Acești pini sunt tensiune de alimentare pentru porturile I / O, precum și pentru miez.

Pin24- P1.26 / RTCK

  • P1.26 este un pin digital GPIO
  • RTCK este un test returnat CLK o / p, un semnal suplimentar adăugat la portul JTAG. Când se schimbă frecvența procesorului, aceasta ajută la sincronizarea depanatorului.

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

  • P0.3 este un pin digital GPIO
  • SDA0 este un I / O de date I2C0 și o scurgere deschisă o / p pentru respectarea magistralei I2C.
  • MAT0.0 se potrivește o / p pentru timer-0, canal-0.
  • EINT1 este o întrerupere externă 1-i / p.

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

  • P0.4 este un I / O pin digital GPIO
  • SCK0 este un CLK serial pentru SPI0 și SPI CLK o / p de la master / i / p la slave.
  • CAP0.1 este o captură i / p pentru timer-0, canal-0.
  • IAD0.6 denotă ADC-0, input-6

Pin28-P1.25 / EXTIN0

  • P1.25 este un I / O pin digital GPIO
  • EXTIN0 este un declanșator extern i / p și intrare / ieșire standard cu pull-up interior

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

  • P0.5 este un I / O pin digital GPIO
  • MISO0 este un master in slave out pentru SPI0, date i / p la SPI-master / data o / p de la SPI slave.
  • MAT0.1 este o potrivire o / p pentru timer-0, canal-1.
  • AD0.7 înseamnă ADC-0, intrare-7.

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

  • P0.6 este un I / O pin digital GPIO
  • MOSI0 este un master out slave pentru SPI0 și date o / p de la SPI master / data i / p la SPI slave.
  • CAP0.2 este o captură i / p pentru Timer-0, canal-2.

Pin31-P0.7 / PWM2 / SSEL0 / EINT2

  • P0.7 este un I / O pin digital GPIO
  • SSEL0 este un slave select pentru SPI0 și alege interfața SPI ca slave.
  • PWM2 este un modulator de lățime de impuls ieșire-2.
  • EINT2 este o intrare externă cu 2 intrări.

Pin32-P1.24 / TRACECLK

  • P1.24 este un I / O pin digital GPIO.
  • TRACECLK este un CLK de urmărire și un port standard de intrare / ieșire cu pull-up interior

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

  • P0.8 este un I / O pin digital GPIO
  • TXD1 este un transmițător o / p pentru UART1.
  • PWM4 este un modulator de lățime a impulsurilor o / p-4.
  • AD1.1 denotă ADC-1, intrare-1 și se poate obține numai în LPC2144 / 46/48.

Pin34- P0.9 / PWM6 / RXD1 / EINT3

  • P0.9 este un I / O pin digital GPIO
  • RXD1 este un receptor i / p pentru UART1.
  • PWM6 este un modulator de lățime a impulsurilor o / p-6.
  • EINT3 este o întrerupere externă cu 3 intrări

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

  • P0.10 este un I / O pin digital GPIO
  • RTS1 solicită să trimită o / p pentru UART1 și LPC2144 / 46/48.
  • CAP1.0 este o captură i / p pentru timer-1, canal-0.
  • AD1.2 denotă ADC-1, intrare-2 și se poate obține numai în LPC2144 / 46/48

Pin36-P1.23 / PIPESTAT2

  • P1.23 este un I / O pin digital GPIO
  • PIPESTAT2 este o stare a conductei, bit-2., Și port standard de intrare / ieșire cu pull-up interior

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

  • P0.11 este un I / O pin digital GPIO
  • CTS1 este clar să trimită i / p pentru UART1, iar acestea sunt accesibile numai în LPC2144 / 46/48
  • CAP1.1 este o captură i / p pentru timer-1, canal-1.
  • SCL1 - I2C1 CLK I / O și deschidere de scurgere o / p pentru respectarea magistralei I2C

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

  • P0.12 este un I / O pin digital GPIO
  • DSR1 este un set de date pregătit i / p pentru UART1, iar acestea sunt accesibile numai în LPC2144 / 46/48.
  • MAT1.0 este o potrivire o / p pentru timer-1, canal-0.
  • AD1.3 indică intrarea ADC-3 și este accesibilă numai în LPC2144 / 46/48.

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

  • P0.13 este un I / O pin digital GPIO
  • DTR1 este un terminal de date gata o / p numai pentru UART1 și LPC2144 / 46/48.
  • MAT1.1 este o potrivire o / p pentru timer-1, canal-1.
  • AD1.4 indică intrarea ADC-4, iar acestea sunt accesibile numai în LPC2144 / 46/48.

Pin40-P1.22 / PIPESTAT1

  • P1.22 este un I / O pin digital GPIO
  • PIPESTAT1 este o stare a conductei, bit-1 și un port standard de intrare / ieșire cu pull-up interior

Pin41-P0.14 / DCD1 / EINT1 / SDA1

  • P0.14 este un I / O pin digital GPIO
  • DCD1 este un purtător de date care detectează i / p pentru UART1 și, de asemenea, numai pentru LPC2144 / 46/48.
  • EINT1 este o intrare exterioară cu 1 intrare.
  • SDA1 este un I / O de date I2C1 și un drenaj deschis o / p pentru respectarea magistralei I2C

Pin44: P1.21 / PIPESTAT0 44

  • I / O P1.21 este un I / O pin digital GPIO
  • PIPESTAT0 este o stare a conductei, bitul 0 și un port standard de intrare / ieșire prin pull-up-ul interior.

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

  • I / O P0.15 este un I / O pin digital GPIO
  • RI1 este un pointer inelar i / p pentru UART1 și este accesibil numai în LPC2144 / 46/48.
  • EINT2 este o intrare externă cu 2 intrări.
  • AD1.5 indică ADC 1, input-5 și, de asemenea, este disponibil numai în LPC2144 / 46/48

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

  • P0.16 este un I / O pin digital GPIO
  • EINT0 este o intrare de întrerupere externă.
  • MAT0.2 este o potrivire o / p pentru Timer-0, canal -2
  • CAP0.2 este o captură i / p pentru Timer-0, canal-2.

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

  • P0.17 este un I / O pin digital GPIO
  • CAP1.2 este o captură i / p pentru Timer-1, canal-2.
  • SCK1 este un CLK serial pentru SSP și CLK o / p de la master la slave.
  • MAT1.2 este o potrivire o / p pentru Timer-1, canal-2.

Pin48: P1.20 / TRACESYNC

  • P1.20 este un I / O pin digital GPIO
  • TRACESYNC este sincronizarea urmelor.

Pin49: VBAT

Sursă de alimentare RTC: acest pin furnizează alimentarea RTC.

Pin52: P1.30 / TMS

P1.30 este un I / O pin digital GPIO

TMS este un mod de testare selectat pentru interfața JTAG.

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

  • P0.18 este un I / O pin digital GPIO
  • CAP1.3 este o captură i / p pentru Timer 1, canalul 3.
  • MISO1 este un master In Slave-out pentru SSP, iar datele i / p către SPI-master

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

  • P0.19 este un I / O pin digital GPIO.
  • MAT1.2 indică potrivirea o / p pentru temporizatorul 1, canalul 2.
  • MOSI1 este un master master pentru SSP master.
  • CAP1.2 este o captură i / p pentru Timer 1, canalul 2.

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

  • P0.20 este un I / O pin digital GPIO.
  • MAT1.3 este o potrivire o / p pentru Timer 1, canalul 3. I
  • SSEL1 este un Slave Select conceput pentru SSP. Aici, alege interfața SSP ca sclav.
  • EINT3 este o întrerupere externă cu 3 intrări.

Pin56: P1.29 / TCK

  • P1.29 este un I / O pin digital GPIO
  • TCK este un test CLK pentru o interfață JTAG.

Pin57: Intrare de resetare externă

Dispozitivul poate fi rearanjat cu un LOW pe acest pin, efectuând porturi de intrare / ieșire, precum și periferice pentru obținerea în condițiile lor implicite, iar executarea procesorului începe la adresa 0

Pin58: P0.23 / VBUS

  • P0.23 este un I / O pin digital GPIO
  • VBUS specifică existența puterii magistralei USB

Pin59: VSSA

VSSA este o masă analogică și aceasta trebuie să fie tensiunea similară cu VSS, deși ar trebui separată pentru a reduce erorile și zgomotul

Pin60: P1.28 / TDI 60

  • P1.28 este un I / O pin digital GPIO
  • Pinul TDI este un test de date utilizat pentru interfața JTAG

Pin61: XTAL2

XTAL2 este o / p de la amplificatorul oscilatorului

Pin62: XTAL1

XTAL1 este un i / p la generatorul intern CLK, precum și la circuitele oscilatoare

Pin63: Referință VREF-ADC

Acest pin ar trebui să fie nominal egal sau mai mic decât tensiunea VDD, deși ar trebui să fie separat pentru reducerea erorilor, precum și a zgomotului.

Pin64: P1.27 / TDO 64

  • P1.27 este un I / O pin digital GPIO
  • TDO este un test de date utilizat pentru interfața JTAG.

Astfel, este vorba despre configurația pinului microcontrolerului LPC2148 bazat pe ARM 7. Pentru studenții de inginerie electronică, aceste informații vor oferi cunoștințe de bază despre configurația pinului, memoria porturilor I / O, precum și registrele. Iată o întrebare pentru dvs., care sunt aplicațiile microcontrolerului LPC2148?