Įvadas į ARM7 pagrįstą mikrovaldiklio architektūrą LPC2148

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





ARM (Advanced RISC Machine) išleido kelis procesorius, turinčius skirtingas funkcijas, taip pat skirtingus branduolius įvairioms programoms. Pirmasis ARM architektūros dizainas turi 26 bitų procesorius, tačiau dabar jis pasiekė 64 bitų procesorius. Bendro ARM produktų išplėtimo negalima suskirstyti į tam tikrą informaciją. Tačiau ARM produktus galima suprasti remiantis jo architektūra. Standartiniai ARM serijos procesoriai, esantys rinkoje, prasideda nuo ARM7 iki ARM11. Šie procesoriai turi keletą funkcijų, tokių kaip talpykla, „Data Tightly Coupled Memory“, MPU, MMU ir kt. Kai kurios plačiai žinomos ARM procesorių serijos yra ARM926EJ-S, ARM7TDMI ir ARM11 MPCore. Šis straipsnis skirtas ARM7 pagrįstai mikrovaldiklio architektūros LPC2148 architektūros apžvalgai, kurioje gausite trumpą informaciją apie mikrovaldiklis architektūra.

ARM7 pagrindu sukurta mikrovaldiklio architektūra LPC2148

ARM7 yra 32 bitų bendrosios paskirties mikroprocesorius , ir jis siūlo keletą funkcijų, tokių kaip nedaug energijos sunaudojimas ir didelis našumas. ARM architektūra priklauso nuo RISC principai . Susijusį dekodavimo mechanizmą, taip pat RISC instrukcijų rinkinį yra daug lengva palyginti su mikroprogramuota CISC - Sudėtingi instrukcijų rinkiniai.




„Pipeline“ metodas naudojamas visiems architektūros blokams apdoroti. Apskritai atliekamas vienas instrukcijų rinkinys, tada verčiamas jo palikuonis ir a 3rdinstrukcija gaunama iš atminties.

Išskirtinis ARM7 architektūrinis planas yra vadinamas nykščiu, ir jis puikiai tinka didelės apimties programoms, kuriose reikalingas kodo kompaktiškumas. ARM7 taip pat naudoja išskirtinę architektūrą, būtent nykštį. Dėl to jis puikiai tinka įvairioms programoms pagal atminties apribojimus, kai priklauso nuo kodo tankio.



ARM7 pagrįsto mikrovaldiklio (LPC2148) architektūra

ARM7 pagrįsto mikrovaldiklio (LPC2148) architektūra

Nutraukti šaltinius

Kiekvienas periferinis įrenginys susideda iš vienos pertraukimo linijos, sujungtos su VIC (vektorinio pertraukimo valdikliu), nors jo viduje gali būti įvairios pertraukimo žymos. Atskiros pertraukimo žymos taip pat gali reikšti vieną ar daugiau pertraukimo išteklių.


Lusto „Flash“ programos atmintis

Mikrovaldiklį LPC2141 / 42/44/46/48 sudaro „flash“ atmintis, pavyzdžiui, atitinkamai 32 kilobaitai, kilobaitai, 128 kilobaitai ir 256 kilobaitai. Ši „flash“ atmintis gali būti naudojama tiek duomenims, tiek kodams saugoti. „Flash“ atminties programavimą sistemoje galima atlikti per nuoseklųjį prievadą.

Programos programa taip pat gali ištrinti, kol programa veikia, leidžianti lanksčiai tobulinti duomenų saugojimo lauko programinės aparatinės įrangos patobulinimus ir kt. Dėl to, kad pasirinktas architektūrinis sprendimas lusto įkrovikliui, laisva mikrovaldiklių atmintis LPC2141 / 42 / 44/46/48 yra 32 kilobaitai, kilobaitai, 128 kilobaitai, 256 kilobaitai ir 500 kilobaitai. Šių mikrovaldiklių „flash“ atmintis siūlo 1 000 000 ištrynimų per ciklą ir duomenų išsaugojimą daugelį metų.

Prisegti „Connect Block“

Šis blokas leidžia pasirinkti ARM7 pagrindu veikiančio LPC2148 mikrovaldiklio kaiščius, kad jie galėtų atlikti keletą funkcijų. Multiplekseriai gali būti valdomas konfigūracijos registrais, leidžiančiais ryšį tarp smeigtuko ir lusto periferinių įrenginių.

Išoriniai įrenginiai turi būti sujungti su tinkamais kaiščiais prieš juos įjungiant ir prieš bet kokius prijungtus pertraukimus. Mikrovaldiklio funkcionalumą gali apibrėžti kaiščių valdymo modulis, pasirinkdamas registrų kaiščius tam tikroje aparatinės įrangos aplinkoje.

Pertvarkius visus prievadų kaiščius (0 prievadas ir 1 prievadas) išdėstytos i / p pagal pateiktas išimtis. Jei leidžiama derinti

Jei leidžiama derinti, JTAG smeigtukai atspės JTAG funkcionalumą. Jei leidžiamas pėdsakas, tada pėdsakai atspės pėdsakų funkcionalumą. Kaiščiai, prijungti prie I2C0 ir I2C1 kaiščių, yra atviri.

GPIO - bendrosios paskirties lygiagretus įėjimas / išvestis

GPIO registrai valdo įrenginio kaiščius, kurie nėra susieti su tam tikra periferine funkcija. Prietaiso kaiščiai gali būti išdėstyti kaip i / p [s arba o / ps. Individualūs registrai leidžia vienu metu išvalyti bet kokį skaičių o / p. Išvesties registro reikšmę galima nuskaityti ir dabartinę prievado kaiščių būklę. Šie mikrovaldikliai pradeda pagreitintą funkciją per LPC200 įrenginius.

Bendrosios paskirties įvesties / išvesties registrai perkeliami į procesoriaus magistralę, naudojamą geriausiam įmanomam įvesties / išvesties laikui.

  • Šie registrai yra adresuojami baitai.
  • Bendra uosto vertė gali būti
  • Visa uosto vertė gali būti parašyta vienintelėje instrukcijoje

10 bitų ADC (analoginis į skaitmeninį keitiklį)

Mikrokontrolerius, tokius kaip LPC2141 arba 42, sudaro du ADC keitikliai , ir tai tik 10 bitų turi vieną, o LPC2144 / 46/48 - du ADC, ir tai yra tik 10 bitų tiesinio aproksimavimo ADC. Nors ADC0 apima 6 kanalus, o ADC1 - 8 kanalus. Taigi LPC2141 arba 42 prieinamų ADC i / ps skaičius yra 6 ir 14 LPC2141 arba 42.

10 bitų DAC (skaitmeninis į analoginį keitiklį)

DAC leidžia šiems mikrovaldikliams gaminti keičiamą analoginį o / p ir VNuorodayra didžiausia a išvestis skaitmeninis į analoginį Įtampa.

Įrenginio valdiklis-USB 2.0

Universali nuoseklioji magistralė susideda iš 4 laidų ir palaiko ryšį tarp daugybės periferinių įrenginių ir pagrindinių kompiuterių. Šis valdiklis leidžia USB pralaidumą prijungti įrenginius naudojant protokolą, pagrįstą žetonu.

Magistralė palaiko karšto kištuko atjungimą ir dinamišką prietaisų surinkimą. Kiekvienas bendravimas pradedamas per prieglobos valdiklį. Šie mikrovaldikliai yra suprojektuoti su universaliu nuosekliosios magistralės aparato valdikliu, leidžiančiu 12 Mbit / s duomenis pakeisti USB pagrindiniu valdikliu.

UART

Šiuose mikrovaldikliuose yra dvi UART, skirtos standartinėms duomenų perdavimo ir gavimo linijoms perduoti. Palyginti su ankstesniais mikrovaldikliais (LPC2000), UART mikrovaldikliuose LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 inicijuoja dalinio perdavimo spartos generatorių, naudojamą abiem UART, leidžiančius šių tipų mikrovaldiklius pasiekti tipinius perdavimo spartas, pvz., 115200, kiekvienu kristalo dažniu, viršijančiu 2 MHz . Be to, valdymo funkcijos, tokios kaip CTS / RTS, visiškai vykdomos aparatinėje įrangoje.

„I2C-bus“ nuoseklusis įvesties / išvesties valdiklis

Kiekvienas „LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148“ mikrovaldiklis apima du I2C magistralės valdikliai, ir tai yra dvikryptis. Inter-IC valdymas gali būti atliekamas naudojant du laidus, būtent SCL ir SDA. Čia SDA ir SCL yra nuosekliojo laikrodžio linija ir nuosekliojo duomenų linija

Kiekvienas aparatas identifikuojamas pagal individualų adresą. Čia siųstuvai ir imtuvai gali veikti dviem režimais, tokiais kaip pagrindinis režimas / vergo režimas. Tai daugialypė magistralė, kurią gali valdyti vienas ar keli su ja susieti magistralės meistrai. Šie mikrovaldikliai palaiko iki 400 kbit / s bitų spartą.

SPI nuoseklaus įvesties / išvesties valdiklis

Šiuose mikrovaldikliuose yra vienas SPI valdiklis, skirtas valdyti daugelį valdytojų ir vergų, susijusių su nurodyta magistrale.

Tiesiog pagrindinis ir vergas gali bendrauti per sąsają per visą nurodytą duomenų perdavimą. Tuo metu šeimininkas nuolat perduoda duomenų baitą vergo link, taip pat vergas nuolat perduoda duomenis valdovo link.

SSP nuosekliojo įvesties / išvesties valdiklis

Šiuose mikrovaldikliuose yra vienas SSP, ir šis valdiklis gali apdoroti SPI, „Microwire“ magistralėje arba 4 laidų SSI. Jis gali bendrauti su kelių meistrų, taip pat vergų autobusu

Bet tiesiog konkretus šeimininkas, taip pat vergas, gali bendrauti magistrale nurodyto duomenų perdavimo metu. Šis mikrovaldiklis palaiko pilnus dvipusius perdavimus, 4-16 bitų duomenų rėmeliais, naudojamais duomenų srautui iš pagrindinio vergo, taip pat iš vergo ir pagrindinio.

Laikmačiai / skaitikliai

Laikmačiai ir skaitikliai yra skirti skaičiuoti PCLK (periferinio laikrodžio) ciklus ir pasirinktinai gamina pertraukas pagal 4 rungtynių registrus.

Jį sudaro keturi „i / ps“ fiksavimo elementai, kad būtų galima užfiksuoti laikmačio vertę pasikeitus i / p signalams. Tam tikram fiksavimui būtų galima pasirinkti kelis kaiščius. Šie mikrovaldikliai gali apskaičiuoti išorinius įvykius surinkimo įėjimuose, jei mažiausias išorinis impulsas yra lygiavertis. Pagal šį susitarimą tuščiosios eigos fiksavimo linijos gali būti pasirinktos kaip įprasta laikmačio fiksavimo i / ps.

Sargybos laikmatis

Sargybos laikmatis naudojamas mikrokontrolerio atstatymui per pagrįstą laiką. Kai tai bus leidžiama, laikmatis sukurs sistemą iš naujo, jei vartotojui nepavyks įkelti laikmatį per nustatytą laiką.

RTC - realaus laiko laikrodis

RTC skirtas skaitikliams apskaičiuoti laiką, kai pasirenkamas tuščiosios eigos arba įprastas darbo metodas. RTC naudoja nedaug energijos ir yra sukurtas tinkamiems akumuliatoriaus valdomiems įrenginiams, kai centrinis procesorius neveikia nuolat

Maitinimo valdymas

Šie mikrovaldikliai palaiko du kondensuoto maitinimo režimus, tokius kaip maitinimo išjungimo režimas ir tuščiosios eigos režimas. Laukimo režimu instrukcijų vykdymas yra subalansuotas tol, kol įvyksta pertraukimas arba RST. Periferinių įrenginių funkcijos palaiko veikimą visą laukimo režimą ir gali sukelti pertraukimus, kad procesorius vėl paleistų apdailą. Laukimo režimu pašalinama energija, kurią naudoja procesorius, valdikliai, atminties sistemos ir vidinės magistralės.

Įjungus išjungimo režimą, osciliatorius deaktyvuojamas ir IC negauna vidinių laikrodžių. Periferiniai registrai, procesoriaus būklė su registrais, vidinės SRAM vertės išsaugomos perjungimo režimu, o lusto logikos lygio išvesties kaiščiai lieka fiksuoti.

Šis režimas gali būti baigtas ir bendras procesas gali būti paleistas iš naujo, naudojant tam tikrus pertraukiklius, kurie gali dirbti be laikrodžių. Kadangi lusto veikimas yra subalansuotas, „Power-down“ režimas sumažina lusto energijos naudojimą iki beveik nulio.

PWM - impulso pločio moduliatorius

PWM yra pagrįsti įprastu laikmačio bloku ir taip pat yra visų funkcijų, nors tiesiog pulso pločio moduliatoriaus funkcija yra nustatyta mikrovaldikliuose, pvz., LPC2141 / 42/44/46/48.

Laikmatis skirtas apskaičiuoti PCLK (periferinio laikrodžio) ciklus ir pasirinktinai sukurti pertraukas, kai nustatomos tam tikros laikmačio vertės, pagrįstos 7 rungtynių registrais, o PWM funkcija taip pat priklauso nuo rungtynių registro įvykių.

Galimybė individualiai valdyti didėjančias ir mažėjančias ribų padėtis leidžia impulsų pločio moduliaciją naudoti kelioms reikmėms. Pavyzdžiui, tipiniame variklio valdyme naudojant daugiafazį valdymą naudojami 3 nepersidengiantys PWM išėjimai, atskirai valdant kiekvieno impulso plotį ir padėtį.

VPB magistralė

VPB daliklis išsprendžia ryšį tarp CCLK (procesoriaus laikrodžio) ir PCLK (laikrodžio, kurį naudoja periferiniai įrenginiai). Šis daliklis naudojamas dviem tikslais. Pirmasis naudojimas yra tiekimas periferiniams įrenginiams pagal pageidaujamą PCLK naudojant VPB magistralę, kad jie galėtų dirbti pasirinktu ARM procesoriaus greičiu. Norėdami tai pasiekti, šį magistralės greitį galima sumažinti procesoriaus laikrodžio dažnį nuo 1⁄2 -1⁄4.

Kadangi ši magistralė turi veikti tiksliai įjungus maitinimą, o numatytoji būsena RST (atstatyti) yra tai, kad magistralė veiks 1⁄4 procesoriaus laikrodžio greičio. Antrasis naudojimas yra leisti taupyti energiją, kai programai nereikia jokių išorinių įrenginių, kad jie veiktų visu procesoriaus greičiu. Kadangi VPB daliklis yra susietas su PLL išvestimi, jis išlieka aktyvus neveikos režimu.

Emuliacija ir derinimas

Mikrovaldiklis (LPC2141 / 42/44/46/48) turi emuliaciją ir derinimą per nuoseklųjį JTAG prievadą. Sekimo prievadas leidžia atsekti programos vykdymą. Sekimo funkcijos ir derinimo koncepcijos yra sutankintos su „port1“ ir „GPIO“.

Kodo saugumas

Šių mikrovaldiklių kodo saugumo funkcija LPC2141 / 42/44/46/48 leidžia funkcijai valdyti, ar ją galima apsaugoti ar derinti nuo patikrinimo.

Taigi, viskas yra apie ARM7 pagrįstą mikrovaldiklio architektūrą LPC2148. Pagal aukščiau pateiktą straipsnį galiausiai galime padaryti išvadą, kad ARM yra architektūra, naudojama daugelyje procesorių ir mikrovaldiklių. Štai jums klausimas, kokia yra ARM procesoriaus architektūra?