Panimula sa ARM7 Batay sa LPC2148 Microcontroller Architecture

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang ARM (Advanced RISC Machine) ay naglunsad ng maraming mga processor na may iba't ibang mga tampok pati na rin ang iba't ibang mga core para sa isang iba't ibang mga application. Ang unang disenyo ng ARM arkitektura ay may 26-bit na mga processor, ngunit ngayon naabot nito ang 64-bit na mga processor. Ang pangkalahatang pagpapalawak ng mga produkto ng ARM ay hindi maaaring maiuri sa ilang partikular na impormasyon. Ngunit ang mga produkto ng ARM ay maaaring maunawaan batay sa arkitektura nito. Ang karaniwang mga processor ng serye ng ARM na magagamit sa merkado ay nagsisimula mula sa ARM7 hanggang ARM11. Ang mga prosesor na ito ay may maraming mga tampok tulad ng cache, Data Mahigpit na Pinagsama memorya, MPU, MMU, atbp Ang ilan sa mga kilalang serye ng processor ng ARM ay ARM926EJ-S, ARM7TDMI, at ARM11 MPCore. Partikular na inilaan ang artikulong ito para sa pangkalahatang-ideya ng arkitektura ng microcontroller na nakabatay sa ARM7 na magbibigay sa iyo ng maikling impormasyon tungkol sa ang microcontroller arkitektura

Batay sa ARM7 LPC2148 Microcontroller Architecture

Ang ARM7 ay isang 32-bit pangkalahatang-layunin microprocessor , at nag-aalok ito ng ilan sa mga tampok tulad ng maliit na paggamit ng kuryente, at mataas na pagganap. Ang arkitektura ng isang ARM ay nakasalalay sa prinsipyo ng RISC . Ang nauugnay na mekanismo ng pag-decode, pati na rin ang hanay ng mga tagubilin sa RISC- ay mas madali kapag ihinahambing namin microprogrammed CISC -Complex Pagtuturo Itakda Mga Computer.




Ang pamamaraan ng Pipeline ay ginagamit para sa pagproseso ng lahat ng mga bloke sa arkitektura. Sa pangkalahatan, isinasagawa ang isang solong hanay ng tagubilin, pagkatapos ang salinlahi nito ay isinalin, at isang 3rd-ang pagtatayo ay nakuha mula sa memorya.

Isang eksklusibo plano ng arkitektura ng ARM7 ay tinawag bilang Thumb, at perpektong angkop ito para sa mataas na dami ng mga aplikasyon kung saan ang pagiging siksik ng code ay isang bagay na gumagamit din ang ARM7 ng isang eksklusibong arkitektura na Thumb. Ginagawa nitong perpektong angkop para sa iba't ibang mga application sa pamamagitan ng mga limitasyon ng memorya kung saan ang kakapalan ng code ay isang bagay.



Arkitekturang ARM7 Batay Microcontroller (LPC2148)

Arkitekturang ARM7 Batay Microcontroller (LPC2148)

Nakagambala ang mga mapagkukunan

Ang bawat aparatong paligid ay binubuo ng isang solong linya ng makagambala na kaalyado ng VIC (vector makagambala na controller), bagaman maaari itong magkaroon ng iba't ibang mga nagambala na watawat sa loob. Ang mga indibidwal na gumagambalang watawat ay maaari ring magpahiwatig ng isa o higit pang mga mapagkukunang makagambala.


On-chip Flash Program Memory

Ang microcontroller LPC2141 / 42/44/46/48 ay nagsasama ng isang flash memory tulad ng 32-kilobytes, kilobytes, 128-kilobytes, 256-kilobytes ayon sa pagkakabanggit. Ang flash memory na ito ay maaaring gamitin para sa parehong data imbakan pati na rin ang code. Ang pag-program ng flash memory ay maaaring gawin sa system sa pamamagitan ng serial port.

Maaari ring burahin ang aplikasyon ng programa habang tumatakbo ang aplikasyon ng programa, na pinapayagan ang kakayahang umangkop ng mga pagpapabuti ng patlang ng pag-iimbak ng data, atbp. Dahil sa pagpili ng isang solusyon sa arkitektura para sa isang on-chip bootloader, ang magagamit na memorya para sa mga microcontrollers LPC2141 / 42 Ang / 44/46/48 ay 32-kilobytes, kilobytes, 128-kilobytes, 256-kilobytes, at 500-kilobytes. Ang memorya ng flash ng mga microcontrollers 'na ito ay nag-aalok ng 1, 00,000 burahin bawat pag-ikot at pangangalaga ng data sa loob ng maraming taon.

I-block ang Pin Connect

Pinahihintulutan ng block na ito ang mga napiling pin ng ARM7 based LPC2148 microcontroller para sa pagkakaroon ng maraming mga function. Ang mga multiplexer maaaring makontrol ng mga rehistro ng pagsasaayos para sa pagpapahintulot sa link sa pagitan ng pin pati na rin mga on-chip peripheral.

Ang mga peripheral ay dapat na isama sa mga naaangkop na pin bago pa ma-trigger, at bago sa anumang mga konektadong pagkagambala na pinapayagan. Ang pagpapaandar ng microcontroller ay maaaring tukuyin ng module ng control ng pin sa pamamagitan ng pagpili ng mga rehistro ng pin sa isang naibigay na kapaligiran sa hardware.

Matapos ang muling pag-aayos ng lahat ng mga pin ng mga port (port 0 at port 1) ay nakaayos bilang i / p ng mga ibinigay na pagbubukod. Kung pinapayagan ang pag-debug

Kung pinapayagan ang pag-debug, hulaan ng mga pin ng JTAG ang pagpapaandar ng JTAG. Kung pinapayagan ang isang bakas, hulaan ang mga pin ng Trace ay hulaan ang pagpapaandar ng bakas. Ang mga pin na konektado sa I2C0 at I2C1 pin ay bukas na alisan ng tubig.

GPIO- Pangkalahatang Layunin Parallel Input / output

Kinokontrol ng mga rehistro ng GPIO ang mga pin ng aparato na hindi na-link sa isang partikular na pag-andar ng paligid. Ang mga pin ng aparato ay maaaring isaayos bilang i / p [s o o / ps. Pinapayagan ng mga indibidwal na rehistro para sa pag-clear ng anumang bilang ng o / p's nang sabay-sabay. Ang halaga ng rehistro ng output ay maaaring mabasa muli, at ang kasalukuyang kalagayan ng mga pin ng port. Ang mga microcontroller na ito ay nagsisimula ng isang pinabilis na pagpapaandar sa mga aparatong LPC200.

Ang mga pangkalahatang-layunin na pag-input / output ng rehistro ay inililipat sa processor bus na ginamit para sa pinakamahusay na posibleng probabilidad na I / O.

  • Ang mga rehistro na ito ay maaaring tugunan ng mga byte.
  • Ang kabuuang halaga ng isang port ay maaaring
  • Ang kumpletong halaga ng port ay maaaring nakasulat sa tanging tagubilin

10-bit ADC (Analog sa Digital Converter)

Ang mga microcontroller tulad ng LPC2141 o 42 ay may kasamang dalawa Mga converter ng ADC , at ang mga ito ay 10-bit lamang na magkaroon ng isa at ang LPC2144 / 46/48 ay mayroong dalawang ADC, at ang mga ito ay 10-bit na straight na approximation lamang ng ADC. Bagaman may kasamang 6-channel ang ADC0 at ang ADC1 ay mayroong 8-channel. Kaya, ang bilang ng maa-access na ADC i / ps para sa LPC2141 o 42 ay 6 & 14 para sa LPC2141 o 42.

10-bit DAC (Digital to Analog Converter)

Pinapayagan ng DAC ang mga microcontroller na ito upang makabuo ng isang nababago na analog o / p, at VREFay ang pinakamataas na output ng a digital sa isang analog Boltahe.

Device Controller-USB 2.0

Ang unibersal na serial bus ay binubuo ng 4-wires, at nagbibigay iyon ng suporta para sa komunikasyon sa pagitan ng isang bilang ng mga peripheral at host. Pinapayagan ng controller na ito ang bandwidth ng USB para sa pagkonekta ng mga aparato gamit ang isang protocol batay sa token.

Sinusuportahan ng bus ang pag-unplug ng mainit na pag-plug at pabago-bagong koleksyon ng mga aparato. Ang bawat komunikasyon ay sinimulan sa pamamagitan ng host-controller. Ang mga microcontroller na ito ay dinisenyo gamit ang isang unibersal na serial bus patakaran ng patakaran ng pamahalaan aparato na nagpapahintulot sa 12 data ng Mbit / sec na pinalitan ng isang host controller ng USB.

Mga UART

Ang mga microcontroller na ito ay nagsasama ng dalawang UART para sa karaniwang pagpapadala at makakuha ng mga linya ng data. Naiiba sa mas naunang mga microcontroller (LPC2000), ang mga UART sa mga microcontroller na LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 ay nagpasimula ng isang bahagyang generator ng baud rate na ginamit para sa parehong mga UART, na pinapayagan ang mga ganitong uri ng mga microcontroller para makamit ang mga karaniwang rate ng baud tulad ng 115200 ng bawat dalas ng kristal na higit sa 2 MHz . Bilang karagdagan, ang mga function ng control tulad ng CTS / RTS ay ganap na naisakatuparan sa hardware.

Serial I / O Controller ng I2C-bus

Ang bawat microcontroller mula sa LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 ay may kasamang dalawang I2C mga taga-kontrol ng bus, at ito ay bidirectional. Ang kontrol ng inter-IC ay maaaring gawin sa tulong ng dalawang mga wire na katulad ng isang SCL at SDA. Narito ang SDA & SCL ay serial line line at ang serial data line

Ang bawat aparato ay kinilala ng isang indibidwal na address. Dito, ang mga transmiter at receiver ay maaaring gumana sa dalawang mga mode tulad ng master mode / slave mode. Ito ay isang multi-master bus, at maaari itong pamahalaan ng isa o higit pang mga bus masters na naka-link dito. Sinusuportahan ng mga microcontroller na hanggang sa 400 kbit / mga rate ng bit.

SPI Serial Input / Output Controller

Ang mga microcontroller na ito ay nagsasama ng isang solong SPI controller at inilaan upang hawakan ang maraming mga masters at alipin na nauugnay sa isang tinukoy na bus.

Ang isang master at isang alipin ay maaaring makipag-usap sa interface sa buong tinukoy na paghahatid ng data. Sa panahon nito, patuloy na nagpapadala ang master ng isang byte-of-data patungo sa alipin, pati na rin ang alipin na patuloy na nagpapadala ng data patungo sa master.

SSP Serial Input / Output Controller

Naglalaman ang mga microcontroller na ito ng solong SSP, at ang controller na ito ay may kakayahang magproseso sa isang SPI, Microwire bus o 4-wire SSI. Maaari itong makipag-usap sa bus ng maraming mga masters pati na rin ang mga alipin

Ngunit, simpleng isang partikular na master, pati na rin ang alipin, ay maaaring makipag-usap sa bus sa buong tinukoy na paghahatid ng data. Sinusuportahan ng microcontroller na ito ang mga full-duplex transfer, ng 4-16 na mga frame ng data na ginamit para sa daloy ng data mula sa master- ang alipin pati na rin mula sa alipin-master.

Mga timer / counter

Mga timer at counter ay idinisenyo para sa pagbibilang ng mga cycle ng PCLK (paligid na orasan) at opsyonal na makagawa ng mga pagkagambala batay sa mga rehistro ng 4 na tugma.

At naglalaman ito ng apat na capture i / ps upang mahuli ang halaga ng isang timer kapag nagbago ang isang signal ng i / p. Maraming mga pin ang maaaring mapili upang magpatupad ng isang partikular na pagkuha. Ang mga microcontrollers na ito ay maaaring makalkula ang mga panlabas na kaganapan sa mga input ng pagkuha kung ang hindi bababa sa panlabas na pulso ay katumbas. Sa pag-aayos na ito, ang mga linya ng idle capture ay maaaring mapili tulad ng dati na capture ng i / ps.

Tagapagbantay ng Timog

Ginagamit ang timer ng tagapagbantay para sa pag-reset ng microcontroller sa isang makatuwirang kabuuan ng oras. Kapag pinapayagan pagkatapos ay gumawa ang timer ng isang pag-reset ng isang system kung ang programa ng consumer ay hindi magtagumpay na i-reload ang timer sa isang nakapirming kabuuan ng oras.

RTC-Oras na Oras ng Oras

Inilaan ang RTC para sa pagbibigay ng mga counter upang makalkula ang oras kung kailan napili ang idle o normal na paraan ng pagpapatakbo. Gumagamit ang RTC ng kaunting lakas at dinisenyo para sa naaangkop na mga kaayusan na hinihimok ng lakas ng baterya kung saan ang sentral na yunit ng pagpoproseso ay hindi patuloy na gumagana

Kontrol ng kapangyarihan

Sinusuportahan ng mga microcontroller na ito ang dalawang kuryente na mode ng kuryente tulad ng power-down mode at idle mode. Sa Idle mode, ang pagpapatupad ng mga tagubilin ay balansehin hanggang sa magambala o maganap ang RST. Ang mga pag-andar ng paligid na mapanatili ang pagpapatakbo sa buong idle mode at maaaring makagawa ng mga nakakagambala upang maging sanhi ng muling pag-restart ng CPU. Tinatanggal ng idle mode ang kuryenteng ginamit ng CPU, Controller, memory system, at panloob na mga bus.

Sa power down mode, ang oscillator ay na-deactivate at ang IC ay hindi nakakakuha ng panloob na mga orasan. Ang mga peripheral register, kundisyon ng processor na may mga rehistro, panloob na halaga ng SRAM ay nakatipid sa panahon ng mode na Power-down & ang mga antas ng chip logic output pin ay mananatiling maayos.

Maaaring matapos ang mode na ito at muling mag-restart ang karaniwang proseso ng mga tukoy na pagkakagambala na may kakayahang gumana nang walang mga orasan. Dahil ang operasyon ng maliit na tilad ay balanseng, ang mode na Power-down ay nagbabawas ng paggamit ng kuryente ng maliit na piraso sa zero.

PWM -Pulse Width Modulator

Ang mga PWM ay batay sa normal na timer-block at dumating din sa lahat ng mga tampok, kahit na simpleng ang pulse width modulator function ay naayos sa mga microcontroller tulad ng LPC2141 / 42/44/46/48.

Inilaan ang timer upang makalkula ang mga cycle ng PCLK (paligid na orasan) at opsyonal na makagawa ng mga pagkagambala kapag lumitaw ang mga partikular na halaga ng timer batay sa 7-match register, at ang pagpapaandar ng PWM ay nakasalalay din sa mga kaganapan sa pagrehistro ng tugma.

Ang kakayahan ng indibidwal na kontrolin ang pagtaas at pagbawas ng mga posisyon ng hangganan ay nagbibigay-daan sa pulso na lapad ng modulasyon na magagamit para sa maraming mga application. Halimbawa, ang tipikal na motor control na may multi-phase ay gumagamit ng 3-hindi-magkakapatong na output ng PWM sa pamamagitan ng magkakahiwalay na kontrol ng bawat lapad ng pulso pati na rin ang mga posisyon.

VPB Bus

Nalulutas ng VPB divider ang pagkakaugnay sa pagitan ng CCLK (processor orasan) at ng PCLK (orasan na ginagamit ng mga aparatong paligid). Ginagamit ang divider na ito para sa dalawang layunin. Ang unang paggamit ay upang magbigay ng mga peripheral ng ginustong PCLK gamit ang VPB bus upang maaari silang gumana sa napiling bilis ng ARM processor. Upang magawa ito, ang bilis ng bus na ito ay maaaring mabawasan ang rate ng orasan ng processor mula sa 1⁄ 2 -1⁄ 4.

Dahil ang bus na ito ay dapat na tumpak na gumana sa power-up, at ang default na estado sa RST (reset) ay para sa bus upang gumana sa 1⁄4 ng rate ng orasan ng processor. Ang pangalawang paggamit nito ay upang pahintulutan ang pagtipid ng kuryente tuwing ang isang application ay hindi nangangailangan ng anumang mga peripheral upang gumana sa kumpletong rate ng processor. Dahil ang VPB-divider ay naiugnay sa output ng PLL, mananatili itong aktibo sa isang idle mode.

Paggaya at Pag-debug

Ang microcontroller (LPC2141 / 42/44/46/48) ay nagtataglay ng pagtulad at pag-debug sa pamamagitan ng serial port-JTAG. Isang trace-port permit na sumusubaybay sa pagpapatupad ng programa. Ang mga function ng bakas at pag-debug ng mga konsepto ay multiplexed sa mga port1 at GPIO.

Security Code

Ang tampok na seguridad ng code ng mga microcontroller na LPC2141 / 42/44/46/48 ay nagpapahintulot sa isang pagpapaandar upang makontrol kung maaari itong protektahan o mai-debug mula sa inspeksyon.

Kaya, ito ay tungkol sa ARM7 based LPC2148 microcontroller architecture. Mula sa itaas na artikulo, sa wakas, maaari nating tapusin na ang ARM ay isang arkitekturang ginamit sa maraming mga processor pati na rin ang mga microcontroller. Narito ang isang katanungan para sa iyo, ano ang arkitektura ng isang ARM processor?