Mikrokontrolery_ARM_cz4.pdf
(
1264 KB
)
Pobierz
ep_03_101-104_arm_cz4.indd
K U R S
Mikrokontrolery z rdzeniem ARM,
część 4
Poprzednio zajmowaliśmy
się opisem budowy jednostki
centralnej ARM7TDMI–S.
W dalszej części kursu będziemy
bazować na dwóch typach
mikrokontrolerów opartych na
tym rdzeniu: LPC213x oraz
jego młodszym bracie LPC214x.
Wybrano te dwa rodzaje
układów ze względu na ich
niską cenę, bogate wyposażenie
w układy peryferyjne oraz
zasilanie pojedynczym
napięciem. W bieżącym odcinku
zapoznamy się ze wstępną
charakterystyką mikrokontrolera,
sposobem podłączenia zasilania
i rezonatora kwarcowego,
układem zerowania oraz jego
architekturą wewnętrzną.
– zegar RTC z niezależnym genera-
torem 32,768 kHz oraz osobnym
wejściem zasilającym;
– 2 porty szeregowe UART (zgod-
ne programowo z układem
16550) służące do asynchronicz-
nej transmisji szeregowej;
– kontroler I2C – interfejs I2C
jest popularnym synchronicznym
interfejsem szeregowym opra-
cowanym przez firmę Philips,
służącym do ko-
munikacji z innymi
układami wewnątrz
systemu;
– kontroler SPI – in-
terfejs SPI jest
szybkim szerego-
wym interfejsem
synchronicznym
służącym do komu-
nikacji pomiędzy
procesorem a ukła-
dami peryferyjnymi;
– kontroler SSP – jest
rozbudowanym kon-
trolerem synchro-
nicznej transmisji
szeregowej, potra-
fiącym pracować
w trybach magistra-
li SPI, 4–wire SSI
oraz Microwire;
– wektoryzowany
kontroler przerwań
(VIC);
– wewnętrzną pętlę
PLL służącą do
powielania często-
tliwości kwarcu;
– d o d a t k o w o
LPC214x wyposa-
żono w kontroler
USB z kanałem DMA oraz do-
datkowy układ PLL.
Drobnym mankamentem mi-
krokontrolerów LPC213x/214x
jest brak wewnętrznej pamię-
ci EEPROM, jednak problem ten
można prosto rozwiązać dołączając
do magistrali I2C pamięć np. z ro-
dziny AT24Cxx.
W
tab. 5
przedstawiono po-
szczególne typy układów LPC213x/
Podczas projektowania systemu
mikroprocesorowego często zasta-
nawiamy się jaki mikrokontroler
wybrać dla danego zastosowania.
Oprócz odpowiedniej mocy oblicze-
niowej kluczowe znaczenie ma także
bogate wyposażenie w układy peryfe-
ryjne. Im więcej zasobów będzie się
znajdować we wnętrzu mikrokontro-
lera, tym mniej dodatkowych ukła-
dów będziemy musieli dołączyć na
zewnątrz, a co za tym idzie projekt
płytki drukowanej będzie prostszy.
Mikrokontrolery LPC213x/214x
są dość bogato wyposażone w ukła-
dy peryferyjne. Oprócz wbudowanej
wewnętrznej pamięci Flash i ROM
w ich wnętrzu znajdują się (
rys. 6
i
rys. 7
):
– porty wejścia–wyjścia GPIO;
– jeden lub dwa 10–bitowe prze-
tworniki A/C z 8– (LPC213x) lub
6–wejściowym (LPC214x) multi-
plekserem;
– pojedynczy 10–bitowy przetwor-
nik C/A;
– dwa 32–bitowe timery z 32–bito-
wym preskalerem. Każdy z time-
rów posiada 4 kanały przechwy-
tujące, 4 kanały porównujące
oraz 6 kanałów PWM;
– układ watchdog;
Rys. 6.
Elektronika Praktyczna 3/2006
101
K U R S
214x wraz krótką
charakterystyką ich
zasobów.
Mikrokontro-
lery są dostęp-
ne w obudowach
TQFP64 i są ze
sobą kompatybilne
pod względem roz-
mieszczenia wypro-
wadzeń, różnią się
tylko rozmiarem
pamięci oraz licz-
bą wbudowanych
układów peryferyj-
nych. Do dyspozy-
cji mamy układy
o pojemności pa-
mięci od 32 kB do
512 kB Flash i od
8 do 40 kB RAM,
więc możemy wy-
brać odpowiedni
układ na miarę na-
szych potrzeb.
obudowach TQFP64. Pomimo małego
rastra wyprowadzeń (0,5 mm), przy
odrobinie wprawy, także w warun-
kach amatorskich nie powinno być
problemu z ich montażem.
Jak większość współczesnych
układów cyfrowych, mikrokontrolery
LPC213x/4x są dostosowane do zasi-
lania pojedynczym napięciem 3,3 V
±10%. Linie I/O są przystosowane
do współpracy z układami zasilany-
mi napięciem o wartości 5 V.
Mikrokontrolery wyposażono
w 32–bitowe porty wejścia–wyjścia
P0 i P1, przy czym port P1 ma wy-
prowadzone tylko 16 najstarszych bi-
tów (P1.16…P1.31). Wszystkie porty
są dwukierunkowe i mają maksymal-
ną wydajność prądową do 45 mA,
zarówno od plusa, jak i minusa na-
pięcia zasilającego. Każde z wypro-
wadzeń ma przypisaną od jednej do
trzech funkcji alternatywnych. (np.
wejście przetwornika A/C).
Ze względu na zakłócenia po-
wstające w cyfrowej części mikro-
kontrolerów, rozdzielono napięcia
zasilające część cyfrową i analo-
gową. Do zasilania części cyfro-
wej służą wyprowadzenia Vdd (+)
oraz Vss (–), natomiast zasilanie
części analogowej stanowią wypro-
wadzenia Vdda (+) oraz Vssa (–).
Rys. 7.
Porty IO oraz
zasilanie
mikrokontrolera
Mikrokontrolery
LPC213x/214x do-
stępne są w niewiel-
kich 64–pinowych
Rys. 8.
102
Elektronika Praktyczna 3/2006
K U R S
Tab. 5. Charakterystyka mikrokontrolerów LPC213x/214x
powinien być, więc zaprojektowany
tak, aby podczas normalnej pracy
zasilanie zegara RTC odbywało się
z napięcia głównego, a nie z baterii
podtrzymującej. Do prawidłowej pra-
cy zegara RTC wymagane jest pod-
łączenie do pinów RTXC1 i RTXC2
rezonatora kwarcowego o częstotli-
wości 32,768 kHz. Mikrokontrolery
LPC213x/214x nie posiadają wbu-
dowanego źródła napięcia referen-
cyjnego, dlatego do prawidłowej
pracy przetwornika A/C i C/A ko-
nieczne jest podanie do pinu Vref
napięcia referencyjnego. Napięcie to
powinno zawierać się w przedziale
(3,0…3,3 V). W przypadku, gdy za-
leży nam na dokładnych pomiarach
należy zastosować zewnętrzny układ
napięcia referencyjnego np. TL431.
Natomiast, gdy pomiary nie mu-
szą być precyzyjne pin Vref można
połączyć bezpośrednio z zasilaniem
analogowym mikrokontrolera (Vdda).
Mikrokontroler w stanie aktywnym
pobiera prąd rzędu 15 mA przy
częstotliwości taktowania 10 MHz,
natomiast przy 60 MHz pobór prą-
du wzrasta do ok. 55 mA. W trybie
uśpienia (
Power Down
) jest pobiera-
ny prąd o wartości około 60 mA.
Typ Flash RAM A/C C/A Timery RTC
SPI/
SSP
I2C UART USB
LPC2131 32 kB 8 kB 1 – 2 1 2 1 2 –
LPC2132 64 kB 16 kB 1 1 2 1 2 1 2 –
LPC2134 128 kB 16 kB 2 1 2 1 2 1 2 –
LPC2136 256 kB 32 kB 2 1 2 1 2 1 2 –
LPC2138 512 kB 32 kB 2 1 2 1 2 1 2 –
LPC2141 32 kB 8 kB 1 – 2 1 2 1 2 1
LPC2142 64 kB 16 kB 1 1 2 1 2 1 2 1
LPC2144 128 kB 16 kB 2 1 2 1 2 1 2 1
LPC2146 256 kB 40 kB 2 1 2 1 2 1 2 1
LPC2148 512 kB 40 kB 2 1 2 1 2 1 2 1
Podczas projektowania płytki dru-
kowanej musimy pamiętać o pra-
widłowym zasilaniu części analo-
gowej i cyfrowej. Masy analogowe
i cyfrowe powinny być prowadzone
oddzielnie i spotykać się w jednym
punkcie. Napięcie zasilające Vdda
powinno być odfiltrowane chociaż-
by za pomocą prostego filtru RC
lub jeszcze lepiej LC (jak choć-
by na
rys. 8
). W celu eliminacji
zakłóceń musimy także pamiętać
o kondensatorach blokujących, które
powinny znajdować się jak najbli-
żej wyprowadzeń mikrokontrolera.
Wbudowany układ RTC ma wypro-
wadzone oddzielne napięcie zasila-
jące Vbat, które można wykorzystać
do podtrzymania pracy zegara. Do
poprawnego działania zegara wyma-
gane jest napięcie zasilające o war-
tości od 2 do 3,6 V, przy poborze
prądu o wartości 20 mA, co pozwa-
la zasilać układ zegara np. z małej
baterii litowej. Przy projektowaniu
zasilania awaryjnego zegara RTC,
musimy pamiętać o tym, że pod-
czas pracy aktywnej mikrokontrole-
ra prąd pobierany przez zegar RTC
wzrasta do poziomu 80 mA. Układ
Rys. 9.
Magistrale wewnętrzne
Każda jednostka centralna do
prawidłowej pracy wymaga otocze-
nia, takiego jak pamięć operacyjna
czy układy peryferyjne. Układy te
są dołączane do CPU za pomo-
cą magistral. Proste 8/16–bitowe
systemy mikroprocesorowe posia-
dały najczęściej jedną magistralę,
do której podłączone były wszyst-
kie układy współpracujące. Szyb-
ko okazało się jednak, że takie
rozwiązanie jest niewystarczające
z uwagi na ograniczoną przepusto-
Elektronika Praktyczna 3/2006
103
K U R S
wość. Problemem było także to, że
do jednej magistrali były podłączo-
ne układy o bardzo różnej prędko-
ści działania. Przykładowo, dostęp
do bardzo wolnego urządzenia pe-
ryferyjnego powodował zablokowa-
nie całej magistrali na czas oczeki-
wania na dane z tego urządzenia.
W systemach 32–bitowych wprowa-
dzono kilka oddzielnych magistral,
co umożliwia znaczne zwiększenie
wydajności. W dużych systemach
mikroprocesorowych istotny jest
także problem kompatybilności,
gdyż wprowadzenie nowej szybszej
magistrali powoduje, że układy
współpracujące ze starą magistra-
lą stają się zupełnie bezużyteczne.
Poza tym nie wszystkie układy pe-
ryferyjne wymagają dużej szybkości
pracy. Rozwiązaniem tych proble-
mów jest opracowanie układu po-
mostu pośredniczącego pomiędzy
nową (szybką), a starą (wolną) ma-
gistralą. Rdzeń ARM7TDMI–S po-
siada dwie magistrale mianowicie:
magistralę lokalną (
local bus
)
oraz
magistralę AHB (
Advanced High
Performance Bus
).
Magistrala lokalna wykorzystywa-
na jest najczęściej do podłączenia
pamięci operacyjnej, natomiast ma-
gistrala AHB służy do podłączenia
urządzeń peryferyjnych. Podłączenie
urządzeń peryferyjnych i pamięci do
oddzielnej magistrali zapewnia więk-
szą wydajność systemu. W mikro-
kontrolerach LPC213x do magistra-
li lokalnej podłączona jest pamięć
Flash i SRAM, natomiast do magi-
strali AHB podłączony jest kontroler
przerwań VIC (
Vectorized Interrupt
Controller
) oraz most do magistra-
li VBP (
VLSI perhipheral bus
). Ma-
gistrala VBP służy do podłączenia
wszystkich pozostałych układów pe-
ryferyjnych mikrokontrolera. Zastoso-
wanie dodatkowej magistrali (VPB)
umożliwia pracę wolniejszych urzą-
dzeń bez spowalniania pozostałych
układów mikrokontrolera. Po starcie
magistrala VPB pracuje z 1/4 prędko-
ści jednostki CPU, jednak wszystkie
wbudowane peryferia umożliwiają
pracę z pełną częstotliwością CPU
(60 MHz). Na
rys. 9
przedstawiono
architekturę wewnętrzną mikrokon-
trolerów LPC213x/214x.
Warto w tym miejscu wspomnieć,
że w mikrokontrolerach LPC213x
porty wejścia–wyjścia (I/O) są pod-
łączone do CPU za pomocą magi-
strali VBP, tak więc dostęp do nich
jest stosunkowo wolny, co było już
sygnalizowane na łamach EP. Kon-
struktorzy Philipsa szybko zauwa-
żyli ten problem i w mikrokontrole-
rach LPC214x porty IO podłączone
są do magistrali lokalnej (
Local
Bus
), co zapewnia bardzo krótki
czas dostępu. W mikrokontrolerach
LPC2146/2148 do magistrali AHB
dołączono także dodatkowe 8 kB
pamięci RAM, która jest wykorzy-
stywana przez kanał DMA kon-
trolera USB. Wykorzystanie DMA
umożliwia transfer danych pomię-
dzy USB, a pamięcią, bez ingeren-
cji jednostki centralnej. Pomimo,
iż układy peryferyjne podłączone
są do różnych magistral, z punktu
widzenia programisty wszystkie za-
soby są widoczne w liniowej 32–bi-
towej przestrzeni adresowej.
Lucjan Bryndza, EP
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
e-mail: analog@alfine.pl • http: //www.alfine.pl
AlfineTeam
likeneverbefore
Designed by
Electro-Vision
104
Elektronika Praktyczna 3/2006
Plik z chomika:
radzik93
Inne pliki z tego folderu:
Mikrokontrolery_ARM_cz22.pdf
(397 KB)
Mikrokontrolery_ARM_cz21.pdf
(747 KB)
Mikrokontrolery_ARM_cz20.pdf
(364 KB)
Mikrokontrolery_ARM_cz19.pdf
(350 KB)
Mikrokontrolery_ARM_cz18.pdf
(585 KB)
Inne foldery tego chomika:
Bluetooth
Co w LPT-cie piszczy
Elektronika
Katalogi
Kolorowy wyświetlacz graficzny z telefonu Siemens S65_M65 z kontrolerem Hitachi HD66773
Zgłoś jeśli
naruszono regulamin