K U R S
Mikrokontrolery z rdzeniem ARM,
część 6
W tej części kursu przedstawiamy
organizację pamięci programu
zastosowanej w mikrokontrolerach
LPC2000 oraz zastosowany
w nich sposób przyspieszenia
dostępu do zgromadzonych
w niej danych.
Generator sygnałów korzystywana do wytworzenia sygnału P=320 MHz/(60 MHz*2)=2,66.
zegarowych zegarowego o wartości 48 MHz dla Jedyną wartością podzielnika któ-
Mikrokontrolery LPC213x/214x kontrolera USB. Aby poprawnie skon- rą można ustawić w rejestrze PLLCFG
mogą pracować z częstotliwością do figurować pętlę PLL musimy zapro- i która mieści się w wyliczonym prze-
60 MHz, natomiast dostępne rezona- gramować dwa parametry M i P. Para- dziale jest podzielnik P=2.
tory kwarcowe mają maksymalną czę- metr M jest mnożnikiem częstotliwo- Wyliczone wartości M i P wpi-
stotliwość podstawową rzędu 12 MHz. ści wejściowej oscylatora (Fosc) CClk sujemy do rejestru PLLCFG podczas
W przypadku dużych częstotliwości =M*Fosc. Parametr P jest natomiast inicjalizacji systemu. Aby zabez-
sygnału zegarowego również istotny podzielnikiem wewnętrznego genera- pieczyć parametry pętli PLL przed
jest problem zakłóceń EMC. Z tych tora CCO. Częstotliwość pracy gene- przypadkową modyfikacją, ustawie-
przyczyn w mikrokontrolery LPC213x/ ratora CCO możemy wyznaczyć z na- nia pętli przepisywane są z rejestrów
214x wbudowano pętlę PLL umożli- stępującego wzoru: Fcco=Cclk x2xP. konfiguracyjnych do pętli PLL dopie-
wiającą zwielokrotnienie częstotliwości Parametr P powinien być ustawiony ro po wpisaniu do rejestru PLLFE-
wejściowej. Do mikrokontrolera oprócz tak, aby częstotliwość pracy generatora ED specjalnej sekwencji hasła 0xAA,
rezonatora kwarcowego można pod- CCO zawierała się w przedziale 156& 0x55. Gdyby takiego zabezpieczenia
łączyć zewnętrzny sygnał zegarowy 320 MHz. Do konfiguracji parametrów nie było, błędnie działający program
z zakresu 1& 50 MHz o napięciu mi- pętli M i P służy rejestr PLLCFG. mógłby doprowadzić do zmian kon-
nimum 200 mV . Sposób podłącze- Bity 4...0 rejestru PLLCFG umożli- figuracji pętli PLL, a co za tym idzie
rms
nia zewnętrznego sygnału zegarowego wiają wybór parametru mnożnika P do zmiany częstotliwości pracy całego
z generatora oraz rezonatora kwarco- z zakresu 1& 32, jednak maksymalna mikrokontrolera. Po zaprogramowaniu
wego przedstawiono na rys. 11. częstotliwość pracy rdzenia (60 MHz) pętli PLL nie jest ona od razu goto-
W przypadku, gdy korzystamy wymusza pracę z mnożnikiem maksi- wa do pracy. Musi upłynąć pewien
z pętli fazowej częstotliwość rezonato- mum 6. Wartość podzielnika P okre- okres czasu, aby pętla się zsynchro-
ra kwarcowego lub sygnału generato- ślają bity 5...6 rejestru PLLCFG i mo- nizowała. Stan synchronizacji pętli
ra musi zawierać się w zakresie 10& że on przyjmować wartości 1, 2, 4 możemy sprawdzić badając stan bitu
25 MHz. Dla rezonatora kwarcowego lub 8. Wyznaczenie parametrów pracy PLOCK w rejestrze PLLSTAT. Gdy ba-
kondensatory C1 i C2 dobieramy po- pętli PLL jest bardzo proste. Jeżeli do dając stan bitu stwierdzimy, że pętla
dobnie jak w innych mikrokontrole- mikrokontrolera podłączony jest rezo- jest prawidłowo zsynchronizowana,
rach w przedziale wartości od 18 pF nator kwarcowy o wartości 12 MHz możemy wykorzystać wyjście pętli
do 58 pF. Najczęściej będziemy wyko- ,a chcemy uzyskać częstotliwość pracy jako zródło sygnału zegarowego. Gdy
rzystywać tryb pracy z zewnętrznym rdzenia 60 MHz, wyznaczenie para- mikrokontroler przejdzie w tryb Power
rezonatorem kwarcowym i włączoną metrów M i P przebiega następująco: Down, pętla fazowa PLL zostaje wy-
pętlą PLL. wyznaczamy mnożnik
Na rys. 12 przedstawiono we- M=CClk/
wnętrzne sygnały zegarowe mikro- Fosc=60 MHz/
kontrolera LPC213x/214x. Sygnał po- 12 MHz=5,
chodzący z rezonatora kwarcowego następnie wyznacza-
Fosc jest podawany na pętlę fazową my podzielnik generato-
PLL, skąd po powieleniu stanowi we- ra CCO według wzoru:
wnętrzny sygnał zegarowy CClk słu- P=Fcco/(Cclk*2),
żący do taktowania CPU oraz magi- jako Fcco podstawia-
strali AHB. my minimalnÄ… i maksy-
Sygnał CClk jest podawany na malną dozwolona czę-
dzielnik częstotliwości, którego sygnał stotliwość pracy genera-
wyjściowy (PClk) służy do taktowa- tora CCO:
nia magistrali VPB. Mikrokontrolery P=156 MHz/
LPC214x wyposażone są w dwie iden- (60 MHz*2)=1,3
tyczne pętle PLL. Druga pętla jest wy- oraz Rys. 11.
Elektronika Praktyczna 5/2006
103
K U R S
detektor generuje sygnał zewnętrzne EINT możemy wykorzy-
zgłoszenia przerwania pod- stać jako sygnał wybudzający procesor
Å‚Ä…czony do kontrolera prze- ze stanu zatrzymania (Power Down),
rwań VIC (Vectorized Inter- w tym wypadku przerwanie musi być
rupt Controller). Przerwanie skonfigurowane tak, aby było wyzwa-
to może być wykorzystane lane poziomem, a nie zboczem.
do poinformowania progra-
mu głównego o problemach Tryby oszczędzania energii
z napięciem zasilającym. W dużych systemach mikroproce-
Rys. 12. Gdy napięcie zasilające sorowych pobór energii generalnie ma
spadnie poniżej 2,6 V, de- drugorzędne znaczenie, ponieważ są
łączona i po wyjściu z tego trybu nie tektor generuje sygnał RESET blokują- one najczęściej zasilane z sieci energe-
jest ponownie uruchamiana. Program cy działanie mikrokontrolera, co chro- tycznej. Zupełnie inaczej jest w przy-
użytkownika po wyjściu z trybu Power ni go przed błędnym działaniem. padku układów opartych na mikrokon-
Down musi sam zatroszczyć się o po- trolerach, które bardzo często muszą
nowną konfigurację pętli PLL. Przerwania zewnętrzne być projektowane jako energooszczęd-
Wartość dzielnika częstotliwości Stan linii wejściowej mikrokontro- ne układy zasilane bateryjne. Podczas
sygnału zegarowego magistrali VPB lera można określić poprzez odczyta- wykonywania programu zdarza się sy-
(PClk) możemy ustawić w rejestrze nie odpowiedniego rejestru SFR. Me- tuacja, kiedy jednostka centralna nic
VPBDIV. Częstotliwość CClk może być toda ta jest dobra tylko wtedy, gdy nie robi tylko kręci się w pustej pętli
podzielona przez 1, 2 lub 4. Warto nie zależy nam na szybkiej reakcji na oczekując na nadejście przerwania.
przy tym wspomnieć, że wszystkie zmianę stanu linii. W przypadku, gdy Wyłączając CPU do czasu nadejścia
urządzenia peryferyjne wbudowane wymagana jest szybka odpowiedz, najbliższego przerwania można by za-
w mikrokontroler mogą pracować z peł- mikrokontroler musiałby cały czas oszczędzić sporą ilość energii. W przy-
ną prędkością 60 MHz. Jeżeli jednak cyklicznie badać stan linii wejścio- padku, gdy mikrokontroler nadzoruje
nie jest nam potrzebna pełna pręd- wej i nie mógłby w tym czasie robić jakiś proces, który wymaga bardzo
kość pracy urządzeń peryferyjnych, nic innego. Z tych właśnie względów rzadkich interwencji (np. pomiar tem-
możemy wówczas wykorzystać ten większość mikrokontrolerów ma wy- peratury w długich odstępach czasu),
podzielnik w celu zmniejszenia prądu dzielonych kilka pinów, które służą można na okres pomiędzy pomiarami
pobieranego przez mikrokontroler. do zgłaszania przerwań zewnętrznych. wyłączyć prawie cały mikrokontroler
W momencie, gdy linia przerwania pozostawiając jedynie możliwość jego
Układ zerowania zewnętrznego zmieni stan, wówczas ponownego uruchomienia, wtedy po-
Każdy system mikroprocesoro- zgłaszane jest przerwanie informujące bór prądu byłby w zasadzie znikomy.
wy wymaga sygnału zerującego (RE- mikrokontroler o tym zdarzeniu. Mi- Sytuacje które zostały opisane powy-
SET), który ustawia jednostkę CPU krokontroler 8051 posiadał dwie linie żej nazywamy stanami pracy z obni-
oraz urządzenia peryferyjne w stanie przerwań zewnętrznych, które można żonym poborem mocy. Mikrokontro-
początkowym. W mikrokontrolerach było skonfigurować tak aby przerwa- lery LPC213x/214x posiadają tryby
LPC213x/LPC214x sygnał ten może nie było zgłaszane stanem niskim oszczędzania energii bardzo podobne
być wygenerowany poprzez podanie lub opadającym zboczem. LPC213x jak w 8 bitowym mikrokontrolerze
sygnału zewnętrznego na linię RESET natomiast posiada aż cztery linie 8051, mianowicie tryb Idle oraz Tryb
lub w wyniku wystąpienia wewnętrz- przerwań zewnętrznych EINT0, EIN- Power Down, które mogą być kon-
nego sygnału wygenerowanego przez T1, EINT2, EINT3, które w zależności trolowane za pomocą rejestru PCON.
układ watchdog lub od detektora po- od konfiguracji mogą być wyzwalane W trybie Idle rdzeń mikrokontrolera
prawności napięcia zasilającego (BOD). poziomem niskim, wysokim lub zbo- zostaje zatrzymany, natomiast zegar
Wejście RESET w mikrokontrolerach czem narastającym, albo opadającym. oraz urządzenia peryferyjne nadal pra-
LPC uaktywniane jest poziomem ni- Ciekawą właściwością mikrokontro- cują Nadejście najbliższego przerwania
skim i jest ono wyposażone w prze- lerów LPC jest to, że każde z wejść powoduje uruchomienie CPU i konty-
rzutnik Schmitta wraz z dodatkowym przerwań może być przyporządkowa- nuację wykonania programu. W trybie
filtrem eliminującym impulsy zakłó- ne do jednego z dwóch pinów wej- Power Down zatrzymana jest jednost-
cające. Czas trwania sygnału RESET ściowych mikrokontrolera, np. jako ka centralna, wszystkie urządzenia
po włączeniu napięcia zasilającego wejście zgłoszenia przerwania EIN- peryferyjne oraz zegar mikrokontrole-
powinien wynosić minimum 10 ms. T0 można przypisać port P0.1 jak ra. Jedyną możliwością wyjścia z tego
W przypadku, gdy generator zegarowy i P0.16. Gdy wykorzystujemy przerwa- trybu jest zerowanie mikrokontrolera
pracuje, czas trwania sygnału RESET nia wyzwalane poziomem, wówczas lub zgłoszenie przerwania zewnętrz-
może być dużo krótszy, rzędu 300 ns. mikrokontroler można skonfigurować nego lub przerwanie alarmu z wbudo-
Na rys. 13 przedstawiono najprostszy tak, aby dwa piny pełniły rolę wej- wanego zegara RTC. W trybie Power
układ służący do zerowania mikro- ścia EINT. Jeżeli na którymkolwiek Down wszystkie rejestry i zawartość
kontrolera za pomocą zewnętrznego z tych dwóch pinów wystąpi waru- pamięci SRAM zostają podtrzymane.
przycisku. nek zgłoszenia przerwania, to zosta- Po wznowieniu pracy mikrokontrolera
Detektor zaniku napięcia zasila- nie ono przyjęte. W przypadku gdy za pomocą przerwania zewnętrznego,
nia (Brown Out Detector) służy do wejście EINT jest skonfigurowane jako gdy wykorzystujemy pętlę PLL, musi-
monitorowania napięcia zasilającego wyzwalane zboczem, wówczas przypi- my pamiętać o konieczności ponownej
mikrokontroler. W przypadku, gdy na- sanie dwóch pinów do jednego prze- jej inicjalizacji, ponieważ pętla w mo-
pięcie zasilania spadnie poniżej 2,9 V, rwania nie jest dozwolone. Przerwania mencie przejścia w tryb Power Down
Elektronika Praktyczna 5/2006
104
K U R S
ne jako baza dla własnych projektów kontrolowane przez program LPC2000
wykorzystujÄ…cych LPC213x. Flash Utility podczas programowania
Napięcie zasilające za pośrednic- pamięci Flash. Do komunikacji z użyt-
twem mostka B1 doprowadzone jest kownikiem służy wyświetlacz LCD
do stabilizatora (IC4) 7805, który do- zgodny z HDD44180 (W1) oraz ze-
starcza napięcie +5 V dla układów staw diod LED podłączonych do por-
otoczenia mikrokontrolera. Za stabili- tów IO za pośrednictwem bufora IC3.
zatorem 7805 umieszczono stabiliza- Do linii wejściowych przetwornika A/
Rys. 13. tor (IC5) SPX1117 3.3 dostarczający C podłączono potencjometr PR2 oraz
napięcie 3,3 V do zasilania mikrokon- czujnik temperatury KTY82 (RT1), co
zostaje wyłączona. Przed startem mi- trolera. W układzie zdecydowano się umożliwia badanie właściwości prze-
krokontrolera, w momencie zerowania na rozwiązanie z dwoma napięciami twornika A/C bez dołączania dodatko-
lub wyjścia z trybu uśpienia, licznik zasilającymi, ze względu na łatwiejszy wych układów zewnętrznych. Do wyj-
startowy odlicza 4096 cykli oscylatora dostęp do wyświetlacza LCD pracują- ścia przetwornika C/A podłączony jest
w celu stabilizacji sygnału zegarowe- cego z napięciem 5 V oraz układu in- wzmacniacz akustyczny (IC6), który
go. W mikrokontrolerze wprowadzono terfejsu portu szeregowego. Gdybyśmy można wykorzystać do doświadczeń
także dodatkowy rejestr PCONP, który zastosowali wszystkie układy dostoso- z przetwarzaniem sygnałów akustycz-
umożliwia wyłączenie nieużywanych wane do napięcia 3,3 V ze stabiliza- nych. Po szczegółowe informacje na
układów peryferyjnych, co pozwala tora 7805 można by w ogóle zrezy- temat zestawu ZL6ARM odsyłam do
na dodatkowe oszczędności energii. gnować. Część analogowa mikrokon- instrukcji obsługi.
trolera zasilana jest za pośrednictwem Na tym pora zakończyć wstępny
Zestaw uruchomieniowy dławika L1 o indukcyjności 100 mH. opis architektury mikrokontrolerów
W dalszej praktycznej części kursu Układ (IC2) MAX232 pełni rolę kon- LPC213x/LPC214x. W kolejnych odcin-
będziemy posługiwać się zestawem wertera napięciowego interfejsu RS232 kach zostaną szczegółowo zaprezento-
ewaluacyjnym ZL6ARM (z procesorem dla wbudowanych układów portów wane poszczególne peryferia oraz śro-
LPC2138, produkowany przez Kama- szeregowych. Do linii P0.14 oraz RE- dowisko programistyczne wykorzysty-
mi.pl). Na rys. 14 przedstawiono sche- SET za pomocą układu z tranzysto- wane do tworzenia oprogramowania.
mat elektryczny zestawu. Fragmenty rami T1 i T2 podłączono linie DTR Lucjan Bryndza, EP
tego schematu mogą być wykorzysta- i RTS interfejsu RS232. Linie te są lucjan.bryndza@ep.com.pl
ARM7TDMI®
ADuC7000
& układy i narzędzia uruchomieniowe
- już dostępne !
ANALOG
DEVICES
uznany dostawca
rozwiązań dla
ANALOG
DEVICES
teraz, jako partner
www.analog.com/dsp/3rdparty
ALFINE P.E.P.
ul. Poznańska 30-32 " 62-080 Tarnowo Podgórne
tel.: (61) 89 66 934, 89 66 936 " fax: (61) 81 64 414, 81 64 076
Alfine Team like never before
e-mail: analog@alfine.pl " http: //www.alfine.pl
Designed by Electro-Vision
Elektronika Praktyczna 5/2006
105
Designed by
Electro-Vision
" reklama_ELE_30
Wyszukiwarka
Podobne podstrony:
Mikrokontrolery ARM cz1Mikrokontrolery ARM cz10Mikrokontrolery ARM cz14Mikrokontrolery ARM cz8Mikrokontrolery ARM cz12Mikrokontrolery ARM cz15Mikrokontrolery ARM cz21Mikrokontrolery ARM cz19Mikrokontrolery ARM cz3Mikrokontrolery ARM cz22Mikrokontrolery ARM cz18Mikrokontrolery ARM cz18Mikrokontrolery ARM cz11Mikrokontrolery ARM cz13Mikrokontrolery ARM cz17Mikrokontrolery ARM cz5Mikrokontrolery ARM cz20Mikrokontrolery ARM cz7Mikrokontrolery ARM cz9więcej podobnych podstron