Ievads uz ARM7 balstītas LPC2148 mikrokontrolleru arhitektūras

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





ARM (Advanced RISC Machine) ir laidis klajā vairākus procesorus, kuriem ir dažādas funkcijas, kā arī dažādi kodoli visdažādākajām lietojumprogrammām. Pirmajam ARM arhitektūras projektam ir 26 bitu procesori, bet tagad tas sasniedza 64 bitu procesorus. ARM produktu vispārējo paplašināšanos nevar iedalīt konkrētā informācijā. Bet ARM produktus var saprast, pamatojoties uz tā arhitektūru. Tirgū pieejamie standarta ARM sērijas procesori ir sākot no ARM7 līdz ARM11. Šiem procesoriem ir vairākas funkcijas, piemēram, kešatmiņa, datu blīvi savienota atmiņa, MPU, MMU utt. Dažas no plaši pazīstamajām ARM procesoru sērijām ir ARM926EJ-S, ARM7TDMI un ARM11 MPCore. Šis raksts ir īpaši paredzēts uz ARM7 balstītas mikrokontrolleru arhitektūras LPC2148 arhitektūras pārskatam, kas sniegs īsu informāciju mikrokontrolleru arhitektūra.

ARM7 bāzes mikrokontrolleru arhitektūra LPC2148

ARM7 ir 32 bitu vispārējas nozīmes mikroprocesors , un tas piedāvā dažas funkcijas, piemēram, nelielu enerģijas patēriņu un augstu veiktspēju. ARM arhitektūra ir atkarīga no RISC principiem . Saistītais dekodēšanas mehānisms, kā arī RISC - instrukciju kopa ir daudz viegli, ja salīdzinām ar mikroprogrammēta CISC -Sarežģītu instrukciju komplekts Datori.




Cauruļvada metodi izmanto visu bloku apstrādei arhitektūrā. Parasti tiek izpildīts viens instrukciju kopums, pēc tam tiek tulkots tā pēcnācējs & a 3rdinstrukcija tiek iegūta no atmiņas.

Ekskluzīvs ARM7 arhitektūras plāns tiek saukts par īkšķi, un tas ir lieliski piemērots liela apjoma lietojumprogrammām, kur ir svarīgs koda kompaktums. ARM7 izmanto arī ekskluzīvu arhitektūru, proti, īkšķi. Tas padara to lieliski piemērotu dažādām lietojumprogrammām ar atmiņas ierobežojumiem, kur jautājums ir koda blīvums.



ARM7 bāzes mikrokontrolleru (LPC2148) arhitektūra

ARM7 bāzes mikrokontrolleru (LPC2148) arhitektūra

Pārtraukt avotus

Katra perifērijas ierīce sastāv no vienas pārtraukuma līnijas, kas savienota ar VIC (vektora pārtraukuma kontrolieris), lai gan tās iekšpusē var būt dažādi pārtraukuma karodziņi. Atsevišķi pārtraukuma karodziņi var arī apzīmēt vienu vai vairākus pārtraukuma resursus.


Mikroshēmas Flash programmas atmiņa

Mikrokontrollerī LPC2141 / 42/44/46/48 ir zibatmiņa, piemēram, attiecīgi 32 kilobaiti, kilobaiti, 128 kilobaiti un 256 kilobaiti. Šo zibatmiņu var izmantot gan datu glabāšanai, gan kodam. Zibatmiņas programmēšanu sistēmā var veikt, izmantojot seriālo portu.

Programmas lietojumprogramma var arī izdzēst, kamēr darbojas programma, ļaujot elastīgi saglabāt datu glabāšanas lauka programmaparatūras uzlabojumus utt. Tā kā mikroshēmas sāknēšanas ielādētājam ir izvēlēts arhitektūras risinājums, mikrokontrolleru LPC2141 / 42 pieejamā atmiņa / 44/46/48 ir 32 kilobaiti, kilobaiti, 128 kilobaiti, 256 kilobaiti un 500 kilobaiti. Šo mikrokontrolleru zibatmiņa piedāvā 1 000 000 dzēšanas ciklos un datu saglabāšanu daudzus gadus.

Piespraust savienojuma bloku

Šis bloks ļauj izvēlētajām ARM7 balstītā mikrokontrollera tapām veikt vairākas funkcijas. Multiplekseri var kontrolēt ar konfigurācijas reģistriem, lai nodrošinātu saikni starp tapu, kā arī uz mikroshēmas perifērijas ierīcēm.

Perifērijas ierīces jāapvieno ar piemērotām tapām pirms to iedarbināšanas, kā arī pirms jebkādiem savienotiem pārtraukumiem ir atļauts. Mikrokontrollera funkcionalitāti var noteikt tapas vadības modulis, izvēloties reģistru tapu noteiktā aparatūras vidē.

Pēc pārkārtojuma visi ostu tapas (ports 0 un ports 1) pēc izņēmumiem ir sakārtoti kā i / p. Ja atkļūdošana ir atļauta

Ja atkļūdošana ir atļauta, JTAG tapas uzminēs JTAG funkcionalitāti. Ja izsekošana ir atļauta, tad izsekošanas tapas uzminēs izsekošanas funkcionalitāti. Piespraudes, kas savienotas ar I2C0 un I2C1 tapām, ir atvērtas.

GPIO - vispārējas nozīmes paralēla ieeja / izeja

GPIO reģistri kontrolē ierīces tapas, kas nav saistītas ar noteiktu perifērijas funkciju. Ierīces tapas var sakārtot kā i / p [s vai o / ps. Atsevišķi reģistri ļauj vienlaikus iztīrīt jebkuru skaitu o / p. Izejas reģistra vērtību var nolasīt un pašreizējo ostas tapu stāvokli. Šie mikrokontrolleri sāk paātrinātu funkciju pār LPC200 ierīcēm.

Vispārējas nozīmes ieejas / izejas reģistri tiek pārvietoti uz procesora kopni, kas tiek izmantota iespējamākajam I / O laikam.

  • Šie reģistri ir adresējami baiti.
  • Kopējā ostas vērtība var būt
  • Porta pilno vērtību var ierakstīt vienīgajā instrukcijā

10 bitu ADC (analogais uz ciparu pārveidotājs)

Mikrokontrolleri, piemēram, LPC2141 vai 42, ietver divus ADC pārveidotāji , un tiem ir tikai 10 biti, un LPC2144 / 46/48 ir divi ADC, un tie ir tikai 10 bitu tiešās tuvināšanas ADC. Lai gan ADC0 ir 6 kanāli, bet ADC1 ir 8 kanāli. Tādējādi LPC2141 vai 42 pieejamo ADC i / ps skaits ir 6 un 14 LPC2141 vai 42.

10 bitu DAC (digitālais līdz analogais pārveidotājs)

DAC ļauj šiem mikrokontrolleriem radīt maināmu analogo o / p un VAtsauceir vislielākā a izlaide digitāls analogam spriegums.

Ierīces kontrolleris-USB 2.0

Universālā sērijveida kopne sastāv no 4 vadiem, un tas nodrošina saziņu starp vairākām perifērijas ierīcēm un saimniekiem. Šis kontrolieris ļauj USB joslas platumu savienot ierīces, izmantojot protokolu, kura pamatā ir marķieris.

Kopne atbalsta karsto kontaktdakšu atvienošanu un ierīču dinamisku savākšanu. Katra saziņa tiek sākta, izmantojot resursdatoru-kontrolieri. Šie mikrokontrolleri ir izstrādāti ar universālu seriālās kopnes aparāta kontrolieri, kas ļauj 12 Mbit / sec datus aizstāt ar USB resursdatora kontrolleri.

UART

Šie mikrokontrolleri ietver divus UART standarta datu pārraides un saņemšanas līnijām. Pretstatā iepriekšējiem mikrokontrolleriem (LPC2000), UART mikrokontrolleros LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 iniciē daļējas pārraides ātruma ģeneratoru, ko izmanto abiem UART, ļaujot šāda veida mikrokontrolleriem sasniegt tipiskus datu pārraides ātrumus, piemēram, 115200, ar katru kristāla frekvenci virs 2 MHz . Turklāt vadības funkcijas, piemēram, CTS / RTS, tiek pilnībā izpildītas aparatūrā.

I2C kopnes sērijveida I / O kontrolieris

Katrs LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 mikrokontrolleris ietver divi I2C autobusu kontrolieriem, un tas ir divvirzienu. Starp-IC vadību var veikt, izmantojot divus vadus, proti, SCL un SDA. Šeit SDA un SCL ir sērijveida pulksteņa līnija un sērijas datu līnija

Katru aparātu identificē pēc individuālas adreses. Šeit raidītāji un uztvērēji var darboties divos režīmos, piemēram, galvenajā režīmā / vergu režīmā. Šis ir vairāku meistaru kopne, un to var pārvaldīt viens vai vairāki ar to saistīti autobusu maģistri. Šie mikrokontrolleri atbalsta līdz 400 kbit / s bitu pārraides ātrumu.

SPI sērijas ieejas / izejas kontrolieris

Šie mikrokontrolleri ietver vienu SPI kontrolieri, un tie ir paredzēti, lai apstrādātu daudzus kapteiņus un vergus, kas saistīti ar norādīto kopni.

Vienkārši kapteinis un vergs var sazināties, izmantojot interfeisu visā norādītajā datu pārraides laikā. Tās laikā kapteinis pastāvīgi pārsūta datu baitu uz vergu, kā arī vergs pastāvīgi pārsūta datus uz galveno.

SSP sērijas ieejas / izejas kontrolieris

Šie mikrokontrolleri satur vienu SSP, un šo kontrolieri ir iespējams apstrādāt SPI, Microwire kopnē vai 4 vadu SSI. Tas var sazināties ar vairāku meistaru autobusu, kā arī vergiem

Bet vienkārši noteikts kapteinis, kā arī vergs, var sarunāties autobusā visā noteiktā datu pārraides laikā. Šis mikrokontrolleris atbalsta pilndupleksu pārsūtīšanu ar 4-16 bitu datu rāmjiem, kas tiek izmantoti datu plūsmai no galvenā - verga, kā arī no verga - no galvenā.

Taimeri / Skaitītāji

Taimeri un skaitītāji ir paredzēti PCLK (perifērijas pulksteņa) ciklu skaitīšanai un pēc izvēles ražo pārtraukumus, pamatojoties uz 4 spēļu reģistriem.

Un tas ietver četrus uztveršanas i / ps, lai uztvertu taimera vērtību, mainoties i / p signāliem. Lai veiktu noteiktu tveršanu, varēja izvēlēties vairākas tapas. Šie mikrokontrolleri var aprēķināt ārējos notikumus uz uztveršanas ieejām, ja mazākais ārējais impulss ir līdzvērtīgs. Šajā izkārtojumā tukšgaitas uztveršanas līnijas var izvēlēties kā parasti taimera tveršanas i / ps.

Sargsuņa taimeris

Uzraudzības taimeris tiek izmantots mikrokontrollera atiestatīšanai saprātīgā laika periodā. Kad tas ir atļauts, taimeris radīs sistēmas atiestatīšanu, ja patērētāja programmai neizdodas atkārtoti ielādēt taimeri noteiktā laika periodā.

RTC reāllaika pulkstenis

RTC ir paredzēts skaitītāju nodrošināšanai, lai aprēķinātu laiku, kad tiek izvēlēta dīkstāves vai parastā darbības metode. RTC izmanto nelielu enerģijas daudzumu un ir paredzēts atbilstošām iekārtām, kuras darbina ar akumulatoru, ja centrālais procesors nedarbojas pastāvīgi

Jaudas kontrole

Šie mikrokontrolleri atbalsta divus kondensācijas enerģijas režīmus, piemēram, izslēgšanas režīmu un dīkstāves režīmu. Gaidīšanas režīmā instrukciju izpilde tiek līdzsvarota, līdz notiek pārtraukums vai RST. Perifērijas funkcijas uztur darbību dīkstāves režīmā un var radīt pārtraukumus, lai CPU atsāktu apdari. Gaidīšanas režīmā tiek izvadīta enerģija, ko izmanto procesors, kontrolieri, atmiņas sistēmas un iekšējās kopnes.

Strāvas izslēgšanas režīmā oscilators tiek deaktivizēts, un IC nesaņem iekšējos pulksteņus. Perifērijas reģistri, procesora stāvoklis ar reģistriem, iekšējās SRAM vērtības tiek saglabātas izslēgšanās režīmā, un mikroshēmas loģikas līmeņu izejas tapas paliek nemainīgas.

Šo režīmu var pabeigt, un kopējo procesu var atsākt ar īpašiem pārtraukumiem, kas spēj darboties bez pulksteņiem. Tā kā mikroshēmas darbība ir līdzsvarota, izslēgšanās režīms samazina mikroshēmas enerģijas izmantošanu līdz gandrīz nullei.

PWM - impulsa platuma modulators

PWM ir balstīti uz parasto taimera bloku un iekļauj arī visas funkcijas, lai gan vienkārši pulsa platuma modulatora funkcija ir fiksēta mikrokontrolleros, piemēram, LPC2141 / 42/44/46/48.

Taimeris ir paredzēts, lai aprēķinātu PCLK (perifērijas pulksteni) ciklus un pēc izvēles izveidotu pārtraukumus, kad noteiktas taimera vērtības rodas, pamatojoties uz 7 spēļu reģistriem, un PWM funkcija ir atkarīga arī no spēļu reģistra notikumiem.

Individuāli kontrolējamo robežu pozīciju palielināšanas un samazināšanas spēja ļauj impulsa platuma modulāciju izmantot vairākām lietojumprogrammām. Piemēram, tipiskā motora vadība ar daudzfāzēm izmanto 3 PWM izejas, kas nepārklājas, atsevišķi kontrolējot katra impulsa platumu, kā arī pozīcijas.

VPB autobuss

VPB dalītājs novērš saistību starp CCLK (procesora pulksteni) un PCLK (pulksteni, ko izmanto perifērijas ierīces). Šis dalītājs tiek izmantots diviem mērķiem. Pirmais lietojums ir perifērijas ierīču piegāde ar vēlamo PCLK, izmantojot VPB kopni, lai tās varētu strādāt ar izvēlēto ARM procesora ātrumu. Lai to panāktu, šo kopnes ātrumu var samazināt procesora pulksteņa ātrumu no 1⁄2 -1⁄4.

Tā kā šai kopnei ir jāstrādā precīzi, ieslēdzot ierīci, un noklusējuma stāvoklis RST (atiestatīšana) ir tāds, lai kopne darbotos ar 1⁄4 no procesora pulksteņa ātruma. Otrkārt, tas ļauj ietaupīt enerģiju ikreiz, kad lietojumprogrammai nav nepieciešamas perifērijas ierīces, lai tās darbotos ar pilnu procesora ātrumu. Tā kā VPB dalītājs ir saistīts ar PLL izvadi, tas paliek aktīvs dīkstāves režīmā.

Atdarināšana un atkļūdošana

Mikrokontrollerī (LPC2141 / 42/44/46/48) ir emulācija un atkļūdošana, izmantojot seriālo portu JTAG. Izsekošanas ports ļauj izsekot programmas izpildei. Izsekošanas funkcijas un atkļūdošanas koncepcijas tiek multipleksētas ar port1 un GPIO.

Kodu drošība

Šo mikrokontrolleru koda drošības funkcija LPC2141 / 42/44/46/48 ļauj funkcijai kontrolēt, vai to var aizsargāt vai atkļūdot no pārbaudes.

Tādējādi tas viss attiecas uz mikrokontrolleru arhitektūru, kuras pamatā ir ARM7 LPC2148. No iepriekš minētā raksta, visbeidzot, mēs varam secināt, ka ARM ir arhitektūra, ko izmanto daudzos procesoros, kā arī mikrokontrolleros. Šeit ir jautājums jums, kāda ir ARM procesora arhitektūra?