Oblikovalci vgrajenega sistema in SOC (sistem na čipu) izberejo posebno mikroprocesorska jedra , knjižnice in različna orodja za razvoj mikroprocesorskih aplikacij. Procesor ARM je ena najboljših možnosti, ki jo lahko dobijo oblikovalci vdelanih sistemov. V zadnjih nekaj letih je arhitektura ARM postala zelo priljubljena in so na voljo pri različnih proizvajalcih IC. Aplikacije ARM procesorjev vključujejo mobilne telefone, avtomobilske zavorne sisteme itd. Svetovni partnerji ARM skupnosti so razvili polprevodnike in korporacije za oblikovanje izdelkov, vključno z zaposlenimi, kot so inženirji, oblikovalci in razvijalci. Ta članek govori o mikrokrmilniku LPC2148 na osnovi ARM7, arhitekturi in konfiguraciji pinov. Ta članek vam bo pomagal razumeti osnove mikrokrmilnika.
Mikrokrmilnik LPC2148 na osnovi ARM7
Celotna oblika ARM je napredni računalnik z zmanjšanim naborom ukazov (RISC) stroj , in to je 32-bitna procesorska arhitektura, razširjena z lastništvom ARM. Aplikacije ARM procesorja vključujejo več mikrokrmilnikov in procesorjev. Arhitekturo procesorja ARM so številne korporacije licencirale za oblikovanje izdelkov in procesorjev SoC, ki temeljijo na procesorju ARM. To korporacijam omogoča izdelavo svojih izdelkov z uporabo ARM arhitekture. Vsa glavna polprevodniška podjetja bodo izdelovala SOC, ki temeljijo na ARM, kot so Samsung, Atmel, TI itd.
Kaj je procesor ARM7?
Procesor ARM7 se pogosto uporablja v vdelanih sistemskih aplikacijah. Prav tako je ravnotežje med klasičnim in novim Cortexovim zaporedjem. Ta procesor je izjemen pri iskanju virov na internetu z dokumentacijo o odličnosti, ki jo ponuja NXP Semiconductors. Za vajenca je povsem primerno, da podrobno pridobi izvedbo strojne in programske opreme.
LPC2148 Mikrokrmilnik
Mikrokrmilnik LPC2148 je zasnoval Philips (NXP Semiconductor) z več vgrajenimi funkcijami in zunanjimi napravami. Zaradi teh razlogov bo za razvijalca aplikacij postala bolj zanesljiva in učinkovita možnost. LPC2148 je 16-bitni ali 32-bitni mikrokrmilnik, ki temelji na družini ARM7.
Značilnosti LPC2148
Glavne značilnosti LPC2148 vključujejo naslednje.
- LPC2148 je 16-bitni ali 32-bitni mikrokrmilnik družine ARM7 in je na voljo v majhnem paketu LQFP64.
- ISP (pri sistemskem programiranju) ali IAP (pri programiranju aplikacij) z uporabo vgrajene programske opreme za zagonsko nalaganje.
- Statični RAM na čipu je od 8 kB do 40 kB, bliskovni pomnilnik na čipu je 32 kB do 512 kB, širok vmesnik je 128 bitov ali pospeševalnik omogoča hitro delovanje 60 MHz.
- Za brisanje podatkov v celotnem čipu potrebujete 400 milisekund časa in 1 milisekundo za 256 bajtov programiranja.
- Vgrajeni vmesniki za sledenje in vgrajeni ICE RT ponujajo sprotno odpravljanje napak s hitrim sledenjem izvrševanja ukazov in vgrajeno programsko opremo Real Monitor.
- Ima 2 kB RAM-a končne točke in krmilnik naprave USB 2.0 s polno hitrostjo. Poleg tega ta mikrokrmilnik ponuja 8kB RAM-a na čipu v bližini USB z DMA.
- Eden ali dva 10-bitna ADC ponujajo 6 ali 14 analogov i / ps z nizkim časom pretvorbe 2,44 μs / kanal.
- Samo 10-bitni DAC ponuja spremenljive analogne o / p.
- Zunanji števec dogodkov / 32-bitni časovniki-2, enota PWM in nadzorni pas.
- RTC z nizko porabo (ura v realnem času) in vhod za uro 32 kHz.
- Več zaporednih vmesnikov, kot sta dva UC 16C550, dva vodila I2C s hitrostjo 400 kbit / s.
- 5 voltov tolerantni hitri vhodni / izhodni zatiči za splošno uporabo v majhnem paketu LQFP64.
- Zunanji prekinitveni zatiči-21.
- 60 MHz CPU CLK-ure, ki jo je mogoče dobiti iz programabilne fazno zaklenjene zanke z ločljivostjo časa, je 100 μs.
- Vgrajeni oscilator na čipu bo deloval z zunanjim kristalom v območju od 1 MHz do 25 MHz
- Načini za varčevanje z energijo v glavnem vključujejo prosti tek in izklop.
- Za dodatno optimizacijo moči obstajajo posamezne omogočitve ali onemogočanja zunanjih funkcij in obrobno spreminjanje CLK.
Spomin
Mikrokrmilnik LPC2148 ima 512 kB pomnilnika FLASH na čipu in SRAM na čipu 32 kB. Ta mikrokrmilnik vključuje tudi vgrajeno podporo do 2kB končnega pomnilnika USB RAM. Ta spomin se dobro ujema z vsemi aplikacije mikrokrmilnika.
Vgrajeni pomnilniški sistem FLASH
Ta mikrokrmilnik vključuje sistem pomnilnika Flash s hitrostjo 512 kB in je lahko koristen tako za shranjevanje podatkov kot tudi za kodo. Programiranje tega pomnilnika lahko izvedete na naslednji način.
- Z vključitvijo vmesnika JTAG v serijsko
- Uporaba UART ali ISP (pri sistemskem programiranju)
- Zmožnosti IAP (v aplikacijskem programiranju)
Aplikacijski program, ki temelji na funkciji IAP, se lahko med izvajanjem programa tudi odstrani. Kadarkoli se uporabi mikrokrmilnik LPC2148 na čip-uvajalnem nalagalniku, je za potrošniško kodo na voljo 500 kB Flash pomnilnika. Flash pomnilnik tega mikrokrmilnika ponuja najmanj 100.000 ciklov pisanja / brisanja in 20-letno hrambo podatkov.
Vgrajeni SRAM
Ta mikrokrmilnik ponuja statični RAM s 32 kB in je zelo uporaben za shranjevanje podatkov ali kodo. Dostopen je za 8-bitne, 16-bitne in 32-bitne.
Vhodno / izhodna vrata
Mikrokrmilnik LPC2148 ima dva vhodno / izhodna vrata in se imenujeta P0 in P1. Vsi zatiči na vratih so označeni s PX.Y. Tu X označuje številko vrat, kot je 0 ali 1, medtem ko številka Y označuje številko 0-31. Vsi zatiči lahko izvajajo tudi nadomestna opravila. Na primer, P0.8 je na voljo kot GPIO in Tx zatič UART1, AD1.1, PWM4. Na RST (RESET) je vsak zatič razporejen kot GPIO.
Kako začeti s programiranjem?
Začetni korak k programiranju lpc2148 je razporeditev GPIO zatičev. Tukaj so tudi sorodni koncepti kot registri . Splošni namenski vhodno / izhodni priključki v LPC2148 vključujejo P0.0 do P0.31 in P1.16 do P1.31, dejansko pa so ti zatiči na voljo na podlagi nadomestne uporabe funkcije.
Port-0 in Port-1 sta 32-bitna vhodno / izhodna vrata in vsaka bit teh vrat je mogoče nadzorovati v posamezni smeri. Delovanje vrat-0 in vrat-1 je odvisno od funkcije zatiča, ki je izbran z blokom, priključenim na zatič. V Port-0 nožic, kot so P0.24, P0.26 in P0.27, ni mogoče dobiti, medtem ko v Port-1 nožic 0 do 15 ni mogoče dobiti. Tu oba zatiča, kot sta Port-0 in Port-1, nadzorujeta dve spodaj obravnavani skupini registrov.
LPC2148 Konfiguracija pinov
Konfiguracija nožic mikrokrmilnika na osnovi ARM7 (LPC2148)
Pin1- (P0.21 / PWM5CAP1.3 / AD1.6)
- P0.21 je zatič GPIO (splošni vhodno / izhodni zatič)
- AD1.6 je na voljo v mikrokrmilnikih LPC2144 / 46/48 samo tam, kjer AD1.6 označuje ADC-1, i / p-6.
- PWM5 je impulzno širinski modulator izhod-5.
- CAP1.3 je Capture i / p za časovnik-1, kanal-3
Pin2- (P0.22 / CAP0.0 / AD1.7 / MAT0.0 2
- P0.22 je digitalni zatič GPIO
- Pin AD1.7 je na voljo v LPC2144 / 46/48 samo tam, kjer AD1.7 označuje ADC-1, vhod-7
- CAP0.0 je vhodni zatič za zajemanje časovnika-0, kanal-0.
- MAT0.0 je ujemanje o / p za Timer-0, channel-0
Pin3-RTXC1 3
To je I / p vezja RTC-oscilatorja
Pin4- TRACEPKT3 / P1.19
- TRACEPKT3 je paket sledenja, bit-3, standardna vhodno / izhodna vrata z notranjim potegom.
- P1.19 je GPIO digitalni zatič
Pin5-RTXC2
To je izhodni zatič iz oscilatorja RTC
Pin6, Pin18, Pin25, Pin42 in Pin50
Ti zatiči so referenčna oznaka
Pin7-VDDA
Ta zatič je napajalnik z analogno napetostjo (3,3 V) in je ta napetost zelo koristna za čip analogno-digitalni pretvorniki in digitalno-analogni pretvorniki.
Zatič8- P1.18 / TRACEPKT2
- P1.18 je digitalni zatič GPIO
- TRACEPKT2 je paket sledenja, bit-2, standardna vhodno / izhodna vrata z notranjim potegom.
Zatič 9 - P0.25 / AOUT / AD0.4
- P0.25 je GPIO digitalni zatič I
- AD0.4 označuje ADC-0, vhod-4
- Out - izhod DAC, ki je dostopen samo v LPC2142 / LPC2144 / LPC2146 / LPC2148
Pin10- D +
Ta pin je dvosmerna USB linija D +
Pin11- D-
Ta pin je dvosmerna D-linija USB
Zatič12-P1.17 / TRACEPKT1
- P1.17 je GPIO digitalni zatič
- TRACEPKT1 je paket sledenja, bit-1, standardna vhodno / izhodna vrata z notranjim potegom.
Pin13-P0.28 / CAP0.2 / AD0.1 / MAT0.2
- P0.28 je digitalni zatič GPIO
- AD0.1 označuje ADC-0, vhod-1
- CAP0.2 je zajemni i / p za časovnik-0, kanal-2.
- MAT0.2 je ujemanje o / p za timer-0, kanal-2
Pin14-P0.29 / CAP0.3 / AD0.2 / MAT0.3
- P0.29 je digitalni zatič GPIO
- AD0.2 označuje ADC-0, vhod-2
- CAP0.3 je zajemni i / p za časovnik-0, kanal-3.
- MAT0.3 je ujemanje o / p za časovnik-0, kanal-3
Pin15-P0.30 / EINT3 / AD0.3 / CAP0.0
- P0.30 je GPIO digitalni zatič
- AD0.3 označuje ADC-0, vhod-3
- EINT3 je zunanji prekinitveni 3-vhod.
- CAP0.3 je zajemni i / p za časovnik-0, kanal-0.
Zatič16- P1.16 / TRACEPKT0
- P1.16 je digitalni zatič GPIO
- TRACEPKT1 je paket sledenja, bit-0, standardna vhodno / izhodna vrata z notranjim vlečenjem
Pin17-P0.31 / UP_LED / CONNECT
- P0.31 je digitalni zatič GPIO
- UP_LED je LED indikator dobre povezave USB. Ko je naprava razporejena, je nizka, kadar pa naprava ni urejena, je visoka.
- CONNECT - Ta signal se uporablja za krmiljenje zunanjega upora (1,5 kΩ) pod nadzorom programske opreme in ga uporablja funkcija Soft Connect
Pin19- P0.0 / PWM / TXD0
- P0.0 je digitalni zatič GPIO
- TXD0 je oddajnik o / p za UART0.
- PWM1 je impulzni modulator širine o / p-1.
Pin20- P1.31/TRST
- P1.31 je digitalni zatič GPIO
- TRST je preskusna ponastavitev vmesnika JTAG.
Pin21-P0.1 / PWM3 / RXD0 / EINT0
- P0.1 je digitalni zatič GPIO
- RXD0 je sprejemnik i / p za UART0.
- PWM3 je impulzni modulator širine o / p-3.
- EINT0 je zunanji 0-vhod prekinitve
Pin22- P0.2 / CAP0.0 / SCL0
- P0.2 je digitalni zatič GPIO
- SCL0 je I / O ura I2C0 in o / p odprtega odtoka
- CAP0.0 je zajemni i / p za časovnik-0, kanal-0.
Pin 23, 43 in 51 - VDD
Ti zatiči so napajalna napetost za V / I vrata in jedro.
Pin24- P1.26 / RTCK
- P1.26 je digitalni zatič GPIO
- RTCK je vrnjeni testni CLK o / p, dodaten signal, dodan na vrata JTAG. Ko se frekvenca procesorja spremeni, pomaga sinhronizacijo razhroščevalnikov.
Pin26- P0.3 / SDA0 / MAT0.0 / EINT1
- P0.3 je digitalni zatič GPIO
- SDA0 je I / C podatkovni I / O in odprti odtok o / p za spoštovanje vodila I2C.
- MAT0.0 se ujema z o / p za časovnik-0, kanal-0.
- EINT1 je zunanja prekinitev 1-i / p.
Pin27-P0.4 / CAP0.1 / SCK0 / AD0.6
- P0.4 je vhodno / izhodni digitalni pin GPIO
- SCK0 je serijski CLK za SPI0 in SPI CLK o / p od glavnega / i / p do pomožnega.
- CAP0.1 je zajemni i / p za časovnik-0, kanal-0.
- IAD0.6 označuje ADC-0, vhod-6
Pin28-P1.25 / EXTIN0
- P1.25 je vhodno / izhodni digitalni pin GPIO
- EXTIN0 je zunanji sprožilec i / p in standardni vhod / izhod z notranjim vlečenjem
Zatič29- P0.5 / MAT0.1 / MISO0 / AD0.7
- P0.5 je vhodno / izhodni digitalni pin GPIO
- MISO0 je glavni v pomožnem izhodu za SPI0, podatki i / p v SPI-glavni / podatki o / p iz podrejenega SPI.
- MAT0.1 je ujemanje o / p za časovnik-0, kanal-1.
- AD0.7 označuje ADC-0, vhod-7.
Pin30-P0.6 / MOSI0 / CAP0.2 / AD1.0
- P0.6 je vhodno / izhodni digitalni pin GPIO
- MOSI0 je pomožni podrejeni vhod za SPI0 in podatki o / p iz podrejenega SPI master / data i / p v podrejeni SPI.
- CAP0.2 je zajemni i / p za časovnik-0, kanal-2.
Pin31-P0.7 / PWM2 / SSEL0 / EINT2
- P0.7 je vhodno / izhodni digitalni pin GPIO
- SSEL0 je izbrani podrejeni za SPI0 in izbere vmesnik SPI kot podrejeni.
- PWM2 je impulzno širinski modulator izhod-2.
- EINT2 je zunanji prekinitveni 2-vhod.
Pin32-P1.24 / TRACECLK
- P1.24 je vhodno / izhodni digitalni pin GPIO.
- TRACECLK je CLK za sledenje in standardna vhodno / izhodna vrata z notranjim potegom
Pin33-P0.8 / TXD1 / PWM4 / AD1.1
- P0.8 je vhodno / izhodni digitalni pin GPIO
- TXD1 je oddajnik o / p za UART1.
- PWM4 je impulzni modulator širine o / p-4.
- AD1.1 označuje ADC-1, vhod-1 in ga je mogoče dobiti le v LPC2144 / 46/48.
Pin34- P0.9 / PWM6 / RXD1 / EINT3
- P0.9 je vhodno / izhodni digitalni pin GPIO
- RXD1 je sprejemnik i / p za UART1.
- PWM6 je impulzni modulator širine o / p-6.
- EINT3 je zunanji prekinitveni 3-vhod
Pin35-P0.10 / RTS1 / CAP1.0 / AD1.2
- P0.10 je vhodno / izhodni digitalni pin GPIO
- RTS1 zahteva pošiljanje o / p za UART1 in LPC2144 / 46/48.
- CAP1.0 je zajemni i / p za časovnik-1, kanal-0.
- AD1.2 označuje ADC-1, vhod-2 in ga je mogoče dobiti le v LPC2144 / 46/48
Pin36-P1.23 / PIPESTAT2
- P1.23 je vhodno / izhodni digitalni pin GPIO
- PIPESTAT2 je stanje cevovoda, bit-2., In standardna vhodno / izhodna vrata z notranjim potegom
Pin37-P0.11 / CAP1.1 / CTS1 / SCL1
- P0.11 je vhodno / izhodni digitalni pin GPIO
- CTS1 je jasno, da pošlje i / p za UART1, ti pa so dostopni samo v LPC2144 / 46/48
- CAP1.1 je zajemni i / p za časovnik-1, kanal-1.
- SCL1 - I2C1 CLK I / O in odprti odtok o / p za spoštovanje vodila I2C
Pin38-P0.12 / MAT1.0 / AD1.3 / DSR1
- P0.12 je vhodno / izhodni digitalni pin GPIO
- DSR1 je nabor podatkov, pripravljen i / p za UART1, in ti so dostopni samo v LPC2144 / 46/48.
- MAT1.0 je ujemanje o / p za časovnik-1, kanal-0.
- AD1.3 označuje vhod ADC-3 in je dostopen samo v LPC2144 / 46/48.
Pin39-P0.13 / DTR1 / MAT1.1 / AD1.4
- P0.13 je vhodno / izhodni digitalni pin GPIO
- DTR1 je podatkovni terminal, pripravljen o / p samo za UART1 in LPC2144 / 46/48.
- MAT1.1 je ujemanje o / p za časovnik-1, kanal-1.
- AD1.4 označuje vhod ADC-4 in so dostopni samo v LPC2144 / 46/48.
Pin40-P1.22 / PIPESTAT1
- P1.22 je vhodno / izhodni digitalni pin GPIO
- PIPESTAT1 je stanje cevovoda, bit-1 in standardna vhodno / izhodna vrata z notranjim vlečenjem
Pin41-P0.14 / DCD1 / EINT1 / SDA1
- P0.14 je GPIO digitalni vhodno / izhodni pin
- DCD1 je i / p zaznavanja nosilca podatkov za UART1 in tudi samo za LPC2144 / 46/48.
- EINT1 je zunanji prekinitveni 1-vhod.
- SDA1 je I / C podatkovni I / O in odprti odtok o / p za spoštovanje vodila I2C
Pin44: P1.21 / PIPESTAT0 44
- V / I P1.21 je GPIO digitalni vhod / izhod
- PIPESTAT0 je stanje cevovoda, bit 0 in standardna vhodno / izhodna vrata z notranjim potegom.
Zatič 45: P0.15 / EINT2 / RI1 / AD1.5 45
- V / I P0.15 je GPIO digitalni vhod / izhod
- RI1 je obročni kazalec i / p za UART1 in je dostopen samo v LPC2144 / 46/48.
- EINT2 je zunanji prekinitveni 2-vhod.
- AD1.5 označuje ADC 1, vhod-5 in je na voljo tudi samo v LPC2144 / 46/48
Zatič 46: P0.16 / MAT0.2 / EINT0 / CAP0.2
- P0.16 je vhodno / izhodni digitalni pin GPIO
- EINT0 je zunanji prekinitveni vhod0.
- MAT0.2 je ujemanje o / p za Timer-0, kanal -2
- CAP0.2 je zajemni i / p za časovnik-0, kanal-2.
Zatič47: P0.17 / SCK1 / CAP1.2 / MAT1.2 47
- P0.17 je vhodno / izhodni digitalni pin GPIO
- CAP1.2 je zajemni i / p za časovnik-1, kanal-2.
- SCK1 je serijski CLK za SSP in CLK o / p od glavnega do pomožnega.
- MAT1.2 je ujemanje o / p za Timer-1, channel-2.
Zatič48: P1.20 / TRACESYNC
- P1.20 je vhodno / izhodni digitalni pin GPIO
- TRACESYNC je sinhronizacija sledov.
Zatič49: VBAT
RTC napajanje: Ta zatič napaja RTC.
Zatič52: P1.30 / TMS
P1.30 je vhodno / izhodni digitalni pin GPIO
TMS je preskusni način, izbran za povezovanje JTAG.
Pin53: P0.18 / CAP1.3 / MISO1 / MAT1.3
- P0.18 je vhodno-izhodni digitalni pin GPIO
- CAP1.3 je zajemni i / p za časovnik 1, kanal 3.
- MISO1 je master In Slave-out za SSP in data i / p v SPI-master
Pin54: P0.19 / MOSI1 / MAT1.2 / CAP1.2
- P0.19 je vhodno-izhodni digitalni pin GPIO.
- MAT1.2 označuje ujemanje o / p za časovnik 1, kanal 2.
- MOSI1 je glavni izhodni suženj za poveljnika SSP.
- CAP1.2 je zajemni i / p za časovnik 1, kanal 2.
Zatič 55: P0.20 / SSEL1 / MAT1.3 / EINT3
- P0.20 je GPIO digitalni vhodno / izhodni pin.
- MAT1.3 je ujemanje o / p za časovnik 1, kanal 3. I
- SSEL1 je Slave Select, zasnovan za SSP. Tu izbere vmesnik SSP kot suženj.
- EINT3 je zunanji prekinitveni 3-vhod.
Zatič56: P1.29 / TCK
- P1.29 je vhodno / izhodni digitalni pin GPIO
- TCK je testni CLK za vmesnik JTAG.
Pin57: Vhod za zunanje ponastavitve
Napravo je mogoče na tem zatiču preurediti z LOW, kar vpliva na vhodno / izhodna vrata in zunanje naprave za pridobitev v njihovih privzetih pogojih, izvajanje procesorja pa se začne na naslovu 0.
Zatič58: P0.23 / VBUS
- P0.23 je vhodno / izhodni digitalni pin GPIO
- VBUS določa obstoj napajanja prek vodila USB
Pin59: VSSA
VSSA je analogna ozemljitev in to mora biti podobna napetost kot VSS, čeprav jo je treba ločiti, da se zmanjša napaka in šum
Pin60: P1.28 / TDI 60
- P1.28 je vhodno / izhodni digitalni pin GPIO
- Zatič TDI je testni podatek, ki se uporablja za povezovanje JTAG
Zatič61: XTAL2
XTAL2 je o / p od ojačevalnika oscilatorja
Zatič62: XTAL1
XTAL1 je i / p do notranjega generatorja CLK in oscilatorjev
Pin63: Referenca VREF-ADC
Ta zatič mora biti nominalno enak ali manjši od napetosti VDD, čeprav mora biti ločen zaradi zmanjšanja napak in hrupa.
Pin64: P1.27 / TDO 64
- P1.27 je vhodno / izhodni digitalni pin GPIO
- TDO so testni podatki, ki se uporabljajo za povezovanje JTAG.
Gre torej za konfiguracijo zatiča mikrokrmilnika LPC2148 na osnovi ARM 7. Za študente elektronskega inženirstva bodo te informacije dale osnovno znanje o konfiguraciji pinov, pomnilniku vhodno / izhodnih vrat in registrih. Tukaj je vprašanje za vas, kakšne aplikacije ima mikrokrmilnik LPC2148?