Wprowadzenie do architektury mikrokontrolera LPC2148 opartej na ARM7

Wypróbuj Nasz Instrument Do Eliminowania Problemów





ARM (Advanced RISC Machine) uruchomił kilka procesorów, które mają różne funkcje, a także różne rdzenie do wielu różnych zastosowań. Pierwszy projekt architektury ARM ma 26-bitowe procesory, ale teraz osiągnął 64-bitowe procesory. Ogólnej ekspansji produktów ARM nie można podzielić na jakąś konkretną informację. Ale produkty ARM można zrozumieć na podstawie jego architektury. Standardowe procesory z serii ARM dostępne na rynku zaczynają się od ARM7 do ARM11. Te procesory mają kilka funkcji, takich jak pamięć podręczna, pamięć ściśle sprzężona z danymi, MPU, MMU itp. Niektóre z powszechnie znanych serii procesorów ARM to ARM926EJ-S, ARM7TDMI i ARM11 MPCore. Ten artykuł jest przeznaczony w szczególności do przeglądu architektury mikrokontrolera LPC2148 opartego na architekturze ARM7, który zawiera krótkie informacje na temat mikrokontroler architektura.

Architektura mikrokontrolera LPC2148 oparta na architekturze ARM7

ARM7 to 32-bitowy procesor ogólnego przeznaczenia mikroprocesor i oferuje niektóre funkcje, takie jak niewielkie wykorzystanie energii i wysoka wydajność. Architektura ARM zależy od zasady RISC . Powiązany mechanizm dekodowania, a także zestaw instrukcji RISC są znacznie łatwe w porównaniu z mikroprogramowany CISC -Złożone komputery z zestawem instrukcji.




Metoda Pipeline służy do przetwarzania wszystkich bloków w architekturze. Ogólnie rzecz biorąc, wykonywany jest pojedynczy zestaw instrukcji, następnie tłumaczony jest jego potomek i 3r & D-instrukcja jest pobierana z pamięci.

Ekskluzywny plan architektoniczny ARM7 nazywa się Thumb i doskonale nadaje się do aplikacji o dużej objętości, w których liczy się zwartość kodu. ARM7 wykorzystuje również ekskluzywną architekturę, mianowicie Thumb. Dzięki temu doskonale nadaje się do różnych zastosowań ze względu na ograniczenia pamięci, w których liczy się gęstość kodu.



Architektura mikrokontrolera opartego na ARM7 (LPC2148)

Architektura mikrokontrolera opartego na ARM7 (LPC2148)

Źródła przerwań

Każde urządzenie peryferyjne składa się z pojedynczej linii przerwań połączonej z VIC (kontrolerem przerwań wektorowych), chociaż może mieć wewnątrz różne flagi przerwań. Indywidualne flagi przerwań mogą również oznaczać jeden lub więcej zasobów przerwań.


Wbudowana pamięć programu Flash

Mikrokontroler LPC2141 / 42/44/46/48 zawiera pamięć flash, na przykład odpowiednio 32 kilobajty, kilobajty, 128 kilobajtów, 256 kilobajtów. Ta pamięć flash może być używana zarówno do przechowywania danych, jak i kodu. Programowanie pamięci flash można przeprowadzić w systemie poprzez port szeregowy.

Aplikacja programu może również kasować się podczas działania programu, co pozwala na elastyczność ulepszeń oprogramowania sprzętowego w terenie, itp. Ze względu na wybór rozwiązania architektonicznego dla bootloadera na chipie, dostępna pamięć dla mikrokontrolerów LPC2141 / 42 / 44/46/48 to 32 kilobajty, kilobajty, 128 kilobajtów, 256-kilobajtów i 500 kilobajtów. Pamięć flash tych mikrokontrolerów oferuje 100 000 kasowań na cykl i przechowywanie danych przez wiele lat.

Blok połączenia pinów

Ten blok pozwala wybranym pinom mikrokontrolera LPC2148 opartego na ARM7 na pełnienie kilku funkcji. Multipleksery może być kontrolowany przez rejestry konfiguracyjne, aby umożliwić połączenie między pinem a urządzeniami peryferyjnymi na chipie.

Urządzenia peryferyjne muszą być połączone z odpowiednimi pinami przed wyzwoleniem i przed zezwoleniem na jakiekolwiek podłączone przerwania. Funkcjonalność mikrokontrolera może być określona przez moduł sterujący pinami poprzez wybór pinów rejestrów w danym środowisku sprzętowym.

Po przestawieniu wszystkie piny portów (port 0 i port 1) są ustawione jako i / p według podanych wyjątków. Jeśli debugowanie jest dozwolone

Jeśli debugowanie jest dozwolone, szpilki JTAG odgadną funkcjonalność JTAG-a. Jeśli śledzenie jest dozwolone, piny Trace odgadną funkcjonalność śledzenia. Piny podłączone do pinów I2C0 i I2C1 są otwarte.

GPIO - równoległe wejście / wyjście ogólnego przeznaczenia

Rejestry GPIO sterują pinami urządzenia, które nie są powiązane z żadną funkcją peryferyjną. Piny urządzenia mogą być rozmieszczone jako i / p [s lub o / ps. Poszczególne rejestry pozwalają na jednoczesne rozliczenie dowolnej liczby o / p. Wartość rejestru wyjściowego można odczytać z powrotem i aktualny stan pinów portu. Te mikrokontrolery rozpoczynają przyspieszoną funkcję w stosunku do urządzeń LPC200.

Rejestry wejścia / wyjścia ogólnego przeznaczenia są przenoszone do szyny procesora używanej przez najbardziej prawdopodobny czas wejścia / wyjścia.

  • Te rejestry są adresowalnymi bajtami.
  • Całkowita wartość portu może wynosić
  • Pełną wartość portu można zapisać w jedynej instrukcji

10-bitowy ADC (konwerter analogowo-cyfrowy)

Mikrokontrolery, takie jak LPC2141 lub 42, zawierają dwa Konwertery ADC , a te są tylko 10-bitowe, mają jeden, a LPC2144 / 46/48 mają dwa przetworniki ADC, a są to tylko 10-bitowe przetworniki ADC z przybliżeniem prostym. Chociaż ADC0 zawiera 6 kanałów, a ADC1 ma 8 kanałów. Zatem liczba dostępnych ADC i / ps dla LPC2141 lub 42 wynosi 6 i 14 dla LPC2141 lub 42.

10-bitowy przetwornik cyfrowo-analogowy (przetwornik cyfrowo-analogowy)

DAC pozwala tym mikrokontrolerom na wytwarzanie zmiennego analogowego o / p i V.REFjest największym wyjściem pliku cyfrowe na analogowe Napięcie.

Kontroler urządzeń - USB 2.0

Uniwersalna magistrala szeregowa składa się z 4 przewodów i zapewnia obsługę komunikacji między wieloma urządzeniami peryferyjnymi i hostami. Kontroler ten pozwala na przepustowość USB do podłączania urządzeń wykorzystujących protokół oparty na token.

Magistrala obsługuje odłączanie podczas pracy i dynamiczne gromadzenie urządzeń. Każda komunikacja jest uruchamiana przez kontroler hosta. Te mikrokontrolery są wyposażone w uniwersalny kontroler urządzeń magistrali szeregowej, który umożliwia wymianę danych 12 Mbit / s na kontroler hosta USB.

UART

Te mikrokontrolery zawierają dwa UART dla standardowych linii transmisji i pobierania danych. W przeciwieństwie do wcześniejszych mikrokontrolerów (LPC2000), UART w mikrokontrolerach LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 inicjują generator częściowej szybkości transmisji używany dla obu UART, umożliwiając tym typom mikrokontrolerów osiągnięcie typowych szybkości transmisji, takich jak 115200 przy każdej częstotliwości kryształu powyżej 2 MHz . Dodatkowo funkcje sterujące, takie jak CTS / RTS, są w całości wykonywane sprzętowo.

Szeregowy kontroler we / wy magistrali I2C

Każdy mikrokontroler od LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 zawiera dwa I2C kontrolery magistrali, a to jest dwukierunkowe. Sterowanie między układami scalonymi można wykonać za pomocą dwóch przewodów, mianowicie SCL i SDA. Tutaj SDA i SCL to szeregowa linia zegara i szeregowa linia danych

Każde urządzenie posiada indywidualny adres. Tutaj nadajniki i odbiorniki mogą pracować w dwóch trybach, takich jak tryb master / tryb slave. Jest to magistrala typu multi-master i może być zarządzana przez jednego lub więcej połączonych z nią magistrali master. Te mikrokontrolery obsługują szybkości transmisji do 400 kbit / s.

Szeregowy kontroler wejścia / wyjścia SPI

Te mikrokontrolery zawierają pojedynczy kontroler SPI i są przeznaczone do obsługi wielu modułów nadrzędnych i podrzędnych powiązanych z określoną magistralą.

Po prostu master i slave mogą rozmawiać przez interfejs podczas określonej transmisji danych. W tym czasie urządzenie nadrzędne stale przesyła bajt danych do urządzenia podrzędnego, jak również urządzenie podrzędne stale przesyła dane do urządzenia nadrzędnego.

Kontroler wejścia / wyjścia szeregowego SSP

Te mikrokontrolery zawierają pojedynczy SSP, a ten kontroler może przetwarzać na SPI, magistrali Microwire lub 4-przewodowym SSI. Może komunikować się z magistralą kilku panów i niewolników

Ale po prostu określony master, jak również slave, mogą rozmawiać na magistrali podczas określonej transmisji danych. Ten mikrokontroler obsługuje transfery w pełnym dupleksie, przez 4-16 bitowe ramki danych wykorzystywane do przepływu danych z urządzenia master-slave oraz od slave-master.

Timery / liczniki

Timery i liczniki są przeznaczone do zliczania cykli PCLK (zegara peryferyjnego) i opcjonalnie wytwarzają przerwania w oparciu o 4-pasujące rejestry.

Zawiera cztery przechwytywane sygnały i / p, które przechwytują wartość licznika czasu, gdy zmieniają się sygnały i / p. Można wybrać kilka pinów, aby wykonać określone przechwytywanie. Te mikrokontrolery mogą obliczać zdarzenia zewnętrzne na wejściach wychwytywania, jeśli najmniejszy impuls zewnętrzny jest równoważny. W tym układzie bezczynne linie przechwytywania mogą być wybierane jak zwykle przechwytywanie czasowe i / ps.

Watchdog Timer

Zegar watchdog służy do resetowania mikrokontrolera w rozsądnym czasie. Gdy jest to dozwolone, wówczas zegar spowoduje zresetowanie systemu, jeśli programowi konsumenta nie uda się przeładować licznika czasu w ustalonym czasie.

Zegar czasu rzeczywistego RTC

RTC jest przeznaczony do zapewnienia liczników do obliczania czasu, w którym wybrana jest metoda bezczynności lub normalnej pracy. RTC zużywa niewielką ilość energii i jest przeznaczony do odpowiednich układów o zasilaniu bateryjnym, w których jednostka centralna nie działa stale

Regulacja mocy

Te mikrokontrolery obsługują dwa tryby zasilania skondensowanego, takie jak tryb wyłączenia i tryb bezczynności. W trybie bezczynności wykonywanie instrukcji jest równoważone do momentu wystąpienia przerwania lub RST. Funkcje urządzeń peryferyjnych utrzymują działanie w trybie bezczynności i mogą powodować przerwania, które powodują ponowne uruchomienie procesora kończącego. Tryb bezczynności usuwa energię wykorzystywaną przez procesor, kontrolery, systemy pamięci i szyny wewnętrzne.

W trybie wyłączenia oscylator jest dezaktywowany, a układ scalony nie otrzymuje wewnętrznych zegarów. Rejestry peryferyjne, stan procesora z rejestrami, wewnętrzne wartości SRAM są zachowywane w trybie wyłączania zasilania, a styki wyjściowe poziomów logiki chipa pozostają stałe.

Ten tryb można zakończyć, a wspólny proces ponownie uruchomić przez określone przerwania, które mogą działać bez zegarów. Ponieważ działanie chipa jest zrównoważone, tryb Power-Down zmniejsza wykorzystanie mocy chipa prawie do zera.

PWM - modulator szerokości impulsu

PWM są oparte na normalnym bloku czasowym i mają również wszystkie funkcje, chociaż po prostu funkcja modulatora szerokości impulsu jest ustalona na mikrokontrolerach, takich jak LPC2141 / 42/44/46/48.

Timer jest przeznaczony do obliczania cykli PCLK (zegara peryferyjnego) i opcjonalnie generuje przerwania, gdy określone wartości timera powstają w oparciu o rejestry 7-dopasowań, a funkcja PWM również zależy od zdarzeń rejestru dopasowania.

Możliwość indywidualnego sterowania rosnącymi i malejącymi położeniami brzegowymi pozwala na wykorzystanie modulacji szerokości impulsu w kilku zastosowaniach. Na przykład, typowe sterowanie silnikiem wielofazowym wykorzystuje 3 nienakładające się wyjścia PWM poprzez oddzielne sterowanie każdą szerokością impulsu oraz pozycją.

VPB Bus

Dzielnik VPB rozwiązuje powiązanie między CCLK (zegarem procesora) a PCLK (zegarem używanym przez urządzenia peryferyjne). Ta przegroda służy do dwóch celów. Pierwszym zastosowaniem jest zasilanie urządzeń peryferyjnych przez preferowany PCLK przy użyciu magistrali VPB, tak aby mogły pracować z wybraną prędkością procesora ARM. Aby to osiągnąć, prędkość tej magistrali można zmniejszyć taktowanie procesora z 1⁄ 2 - 1⁄4.

Ponieważ ta magistrala musi działać dokładnie po włączeniu zasilania, a domyślnym stanem RST (reset) jest praca magistrali przy 1/4 częstotliwości taktowania procesora. Drugim zastosowaniem tego jest umożliwienie oszczędności energii zawsze, gdy aplikacja nie potrzebuje żadnych urządzeń peryferyjnych do pracy z pełną szybkością procesora. Ponieważ dzielnik VPB jest powiązany z wyjściem PLL, pozostaje on aktywny przez cały tryb bezczynności.

Emulacja i debugowanie

Mikrokontroler (LPC2141 / 42/44/46/48) przechowuje emulację i debugowanie przez port szeregowy-JTAG, a port śledzenia pozwala na śledzenie wykonywania programu. Funkcje śledzenia i koncepcje debugowania są multipleksowane z portem 1 i GPIO.

Bezpieczeństwo kodu

Zabezpieczenie kodu w tych mikrokontrolerach LPC2141 / 42/44/46/48 umożliwia funkcję kontrolowania, czy można go zabezpieczyć lub zdebugować przed inspekcją.

Tak więc chodzi o architekturę mikrokontrolera LPC2148 opartą na ARM7. Z powyższego artykułu możemy wreszcie wywnioskować, że ARM to architektura wykorzystywana w wielu procesorach, a także mikrokontrolerach. Oto pytanie do Ciebie, jaka jest architektura procesora ARM?