ARMia nowości. Przegląd nowych mikrokontrolerów z rdzeniem ARM
Środa, 01 Lipiec 2009
Nie ma chyba wśród
Czytelników EP nikogo, kto nie
słyszałby o mikrokontrolerach
z rdzeniem ARM. Są one
stosowane w mikrokontrolerach
wielu firm, a nowe układy
z tym rdzeniem pojawiają się
praktycznie co tydzień. Oferta
z rdzeniem ARM jest naprawdę
szeroka, dlatego w artykule
zostaną przedstawione tylko
nowości z ostatnich miesięcy.
56 ELEKTRONIKA PRAKTYCZNA 7/2009
Wybór konstruktora
Dodatkowe
materiały na CD
Rdzenie ARM należą do grupy proceso-
rów 32-bitowych. Mikrokontrolery 32-bitowe
coraz częściej pojawiają się w aplikacjach,
w których do tej pory były stosowane mikro-
kontrolery 8-bitowe. Dzieje się tak, gdyż 32-
bitowe układy są na tyle tanie, że mogą być
stosowane w wielu aplikacjach ?budżeto-
wych?. W porównaniu do mikrokontrolerów
8-bitowych są wydajniejsze, ale ich opro-
gramowanie jest trudniejsze dla programi-
stów. Ponadto zmiana mikrokontrolera z tym
rdzeniem nie jest tak trudna jak ?przesiadka?
z układu 8-bitowego na 32-bitowy, czy też
pomiędzy mikrokontrolerami 32-bitowymi
o różnej architekturze.
W związku z faktem produkowania ukła-
dów z rdzeniem ARM przez wielu producen-
tów, trudno jest śledzić wszystkie nowości
w tak szerokiej ofercie produktowej. Specjal-
nie dla czytelników Elektroniki Praktycznej
przygotowaliśmy przegląd mikrokontrolerów
z tym rdzeniem, zarówno nowych, dostęp-
nych już na rynku, jak i anonsowanych przed
ich premierą rynkową. W tab. 1 zestawiono
opis najpopularniejszych rdzeni ARM.
Na przestrzeni lat powstało kilka rodzin
ARMów. Niniejszy przegląd rozpoczniemy
od układów z rdzeniem ARM7TDMI-S.
ARM7
Dobrze znane rdzenie serii ARM7TDMI
są właściwie wypierane przez nowe układy
Cortex-M3. Pomimo zbliżającej się ery pano-
wania Cortexów, są jednak nadal stosowa-
ARMia nowości
Przegląd nowych
mikrokontrolerów z rdzeniem
ARM
Nie ma chyba wśród
Czytelników EP nikogo, kto nie
słyszałby o mikrokontrolerach
z rdzeniem ARM. Są one
stosowane w mikrokontrolerach
wielu ?rm, a nowe układy
z tym rdzeniem pojawiają się
praktycznie co tydzień. Oferta
z rdzeniem ARM jest naprawdę
szeroka, dlatego w artykule
zostaną przedstawione tylko
nowości z ostatnich miesięcy.
ne i chyba warto wspomnieć o nowościach
z tym rdzeniem.
Jednym z nowszych mikrokontrolerów
z rdzeniem ARM7TDMI są w ofercie firmy
Atmel układy oznaczone symbolem AT91-
SAM7L, które charakteryzują się niskim po-
borem energii w trybie power-down (pobór
prądu to 100 nA) i mogą być zasilane poje-
dynczym napięciem 1,8...3,6 V. Układy z tej
serii dostępne są z pamięcią Flash o pojem-
57ELEKTRONIKA PRAKTYCZNA 7/2009
Przegląd nowych mikrokontrolerów z rdzeniem ARM
Tab. 1. Rdzenie procesorów ARM
Oznaczenie
Rodzi-
na
Architek-
tura
potok Jazele NVIC
Instrukcje Pamięć Debug
int.
Tryby
pracyARM Thumb Thumb2 DSP SIMD Cache TCM MMU MPU
ARM720T ARM7 ARMv4T 3 ? ? 8 K ?
ETM7,
Embed-
ded ICE
ARM7TDMI-S ARM7 ARMv4T 3 ? ?
ETM7,
Embed-
ded ICE
ARM7EJ-S ARM7 ARMv5TEJ 5 ? ? ? ?
ETM,
Embed-
ded ICE
ARM920T ARM9 ARMv4T 5 ? ? 16 K/16 K
ETM9,
Core-
Sight,
Embed-
ded ICE
ARM922T ARM9 ARMv4T 5 ? ? 8 K/8 K
ETM9,
Embed-
ded ICE
ARM946E-S ARM9 ARMv5TE 5 ? ? ? 0...1 MB 0...1 MB ?
ETM9,
CoreSight
ARM966E-S ARM9 ARMv5TE 5 ? ? ? 0...64 MB
ETM9,
Core-
Sight,
Embed-
ded ICE
ARM968E-S ARM9 ARMv5TE 5 ? ? ? 0...4 MB
ETM9,
Core-
Sight,
Embed-
ded ICE
ARM926EJ-S ARM9 ARMv5TEJ 5 ? ? ? ? 4...128 kB 0...1 MB ?
ETM9,
Core-
Sight,
Embed-
ded ICE
ARM1136J(F)-S ARM11 ARMv6K 8 ? ? ? ? ? 4...64 kB 0...64 kB
ETM11RV,
Core-
Sight,
Embed-
ded ICE
Run,
Do-
rmant,
Stand-
by,
Shut-
down
Cortex-M0 Cortex ARMv6-M 3 ? ? CoreSight
Stand-
by,
Sleep
Cortex-M1 Cortex ARMv6-M 3 ? ? 0...1 MB CoreSight
Cortex-M3 Cortex ARMv7-M 3 ? ? ? CoreSight
Do-
rmant,
Deep
Sleep,
Sleep
Now,
Sleep
on
Exit
Cortex-R4 Cortex ARMv7-R 8 ? ? ? 4...64 kB 0...8 MB ?
ETM-R4,
CoreSight
Run,
Stand-
by,
Shut-
down
ności 64 lub 128 kB oraz
z pamięcią SRAM 6 kB.
Ma on również wiele ukła-
dów peryferyjnych, takich
jak: interfejsy SPI, USART,
TWI, zegar RTC i kontro-
ler DMA. W urządzeniach
o niskim poborze energii
stosowane są często wy-
świetlacze LCD, dlatego
też mikrokontroler AT91-
SAM7L wyposażono w ste-
rownik takiego wyświe-
tlacza. Może on sterować
wyświetlaczem o maksy-
malnej liczbie 40 segmen-
tów i 10 linii wspólnych
(common terminal).
Układy z rdzeniem
ARM7TDMI są również
w ofercie firmy Analog
Devices, z rodziny pre-
cyzyjnych mikrokontrolerów analogowych
ADuC7000. Mikrokontrolery ADuC charak-
teryzują się rozbudowanymi analogowymi
układami peryferyjnymi, w tym m.in.: prze-
twornikami A/C i C/A wysokiej rozdzielczo-
ści, źródłami napięcia odniesienia i czujni-
kami temperatury.
Nowszymi układami z tej serii są mikro-
kontrolery oznaczone symbolem ADuC706x.
Głównym wyróżnikiem tych układów jest
precyzyjny, 24-bitowy przetwornik A/C typu
58 ELEKTRONIKA PRAKTYCZNA 7/2009
Wybór konstruktora
sigma-delta, którego szumy własne wyno-
szą zaledwie 20 nV). Na rys. 1 przedsta-
wiono schemat blokowy mikrokontrolerów
ADuC706x. Układy z tej serii są przeznaczo-
ne przede wszystkim do sterowania w syste-
mach automatyki przemysłowej oraz do pre-
cyzyjnych przyrządów pomiarowych. Mają
one 32 kB pamięci Flash oraz 4 kB SRAM,
wzmacniacz o programowalnym wzmocnie-
niu, multipleksery i bufory analogowe, 16-
bitowy modulator PWM oraz interfejsy: SPI,
UART i I2
C. Należy podkreślić niski pobór
prądu układów ADuC7000. Przy włączonych
wszystkich układach peryferyjnych, mikro-
kontroler pobiera zaledwie 2,6 mA.
Starsze układy, o mniejszej rozdziel-
czości przetwornika A/C, jak np. układy
ADuC702x o 12-bitowej rozdzielczości, mają
większą częstotliwość próbkowania 1 MS/s
(ADuC706x ? 8 kS/s).
ARM9 i ARM11
Wśród układów starszych rodzin, rdzenie
ARM9 i ARM11 należą do zaawansowanych
odmian ARMów. Są one przeznaczone do
zastosowania w przenośnych urządzeniach
multimedialnych, urządzeniach sieciowych,
bramkach VoIP czy samochodowych sys-
temach sterowania ABS. Większość z nich
ma możliwość wykonywania instrukcji DSP,
a rdzenie z końcówką J w symbolu, mogą
wykonywać instrukcje bytecode maszyny
wirtualnej Javy (technologia Jazelle). Rdze-
nie są wyposażone w jednostkę MMU, dzięki
czemu możliwe jest uruchamianie dużego
systemu operacyjnego jak Linux czy Sym-
bian, oraz pamięć cache danych i instrukcji
4...128 kB.
Mikrokontrolery z rdzeniem ARM9 znaj-
dują się np. w ofercie firmy Toshiba. Wszyst-
kie układy tej serii TX09 (rdzeń ARM926EJ) są
kompatybilne pod względem wyprowadzeń,
a różnią się możliwościami układów peryfe-
ryjnych i wielkością zastosowanej pamięci.
Wyróżniającą cechą mikrokontrolerów
TMPM9xx jest sterownik ekranu LCD, sprzę-
towy akcelerator graficzny oraz interfejs pa-
nelu dotykowego. Sterownik LCD może wy-
świetlać grafikę w maksymalnej rozdzielczo-
ści 1024×768 pikseli, jednak akcelerator gra-
ficzny może pracować tylko przy maksymal-
nej rozdzielczości WVGA (800×400). W celu
zwiększenia wydajności, w mikrokontrole-
rach serii TX09 zastosowano 7 warstwową
magistralę (magistrale dla: danych, instruk-
cji, sterownika LCD, akceleratora graficzne-
go, 2×DMA i USB). Mikrokontrolery mają
do 512 Mb pamięci SDRAM, 256 Mb NOR
Flash oraz 2 Gb NAND Flash. Mogą praco-
wać z maksymalną częstotliwością sygnału
zegarowego 200 MHz (temperatura otoczenia
0...70o
C) lub 150 MHz (?20...85o
C ).
Najnowszym układem z tej serii jest mi-
krokontroler TMPA913CHXBG. W odróżnie-
niu od innych układów nie ma on sterow-
nika LCD i interfejsu do dołączenia kamery
CMOS, ma też zmniejszoną z 32 do 16 bitów
szerokość magistrali danych.
Jednym z nowszych układów z rdzeniem
ARM926EJ-S jest w ofercie firmy Atmel jest
AT91SAM9G20 (kompatybilny pod wzglę-
dem wyprowadzeń z wcześniejszym AT91-
SAM9260), który ma czterokrotnie większą
niż poprzednicy pamięć cache i SRAM (po
32 kB dla pamięci cache danych i instruk-
cji, 32 kB SRAM). Układ pobiera stosunko-
wo niewiele, bo 80 mW w aktywnym trybie
pracy, ze wszystkimi włączonymi układami
peryferyjnymi. Jest to układ przeznaczony
do aplikacji, w których istotny jest zarówno
niski pobór energii, jak i duża wydajność ob-
liczeniowa, czyli m.in. automaty sprzedażo-
we, systemy automatyki budynków, kamery
przemysłowe i czytniki kodów. Mikrokontro-
ler AT91SAM9G20 ma rdzeń ARM926EJ-S
taktowany sygnałem zegarowym o częstotli-
wości 400 MHz. Do komunikacji z innymi
układami cyfrowymi ma interfejsy: USB Full
Speed Host/Device, 10/100 Ethernet MAC,
interfejs czujnika akwizycji obrazu, interfejs
kart MC, SSC, USART, SPI, TWI. Oprócz
tego mikrokontroler ma trzy 16-bitowe licz-
niki, i czterokanałowy 10-bitowy przetwor-
nik A/C. AT91SAM9G20 może pracować pod
kontrolą zarówno systemu operacyjnego Li-
nux jak i Windows CE.
Kolejnym, z nowych mikrokontrolerów
rdzeniem ARM926EJ-S jest w ofercie Atme-
la mikrokontroler AT91SAM9R. Jego główną
zaletą są duże zasoby pamięci operacyjne.
Ma 64 kB wewnętrznej pamięci SRAM (sin-
gle-cycle) podzielonej na 4 bloki po 16 kB,
które mogą być skonfigurowane jako pamięci
o szybkim dostępie (TCM) lub jako pamięć
SRAM ogólnego przeznaczenia. Ma również
24-kanałowy kontroler DMA, interfejs USB
2.0, SPI, 5×UART, SSC, TWI, 6 timerów oraz
4 modulatory PWM.
W ostatnich miesiącach wiele linii pro-
duktowych zmieniło właściciela. Jedną
z nich są mikrokontrolery Zatara będące do
niedawna w ofercie firmy Zilog. Obecnie
sprzedawane pod marką firmy Atmel, mi-
krokontrolery Zatara przystosowane są do
bezpiecznej obsługi operacji finansowych.
Mikrokontrolery ZA9Lx są w istocie ukła-
dami typu SoC (System-on-Chip), gdyż mają
Rys. 1. Schemat blokowy mikrokontrolerów serii ADuC706x
59ELEKTRONIKA PRAKTYCZNA 7/2009
Przegląd nowych mikrokontrolerów z rdzeniem ARM
wbudowany system obsługi bezpiecznych
transakcji z procesorem ARM922T. Układy
Zatara są tak zaprojektowane, aby sprostały
wymaganiom Przemysłu Kart Płatniczych
PCI stawianym urządzeniom sprzedażowym
POS (point-of-sale). Aby spełnić wymagania
stawiane tego rodzaju urządzeniom, mikro-
kontrolery Zatara mają fizyczne i logiczne
mechanizmy zabezpieczające, wliczając w to
czujniki warunków środowiskowych (tempe-
ratury, napięcia i częstotliwości), sprzętowy
generator liczb losowych (RNG) zgodny z za-
leceniami NIST 800-22, jednostkę oblicza-
jącą funkcję skrótu SHA-1, zegar RTC oraz
4 kB bezpiecznej pamięci nieulotnej SRAM
z możliwością szybkiego wykasowania da-
nych przy próbie nieautoryzowanego dostę-
pu do urządzenia. Interesującym rozwiąza-
niem, jest uwierzytelnianie kodu programu
uruchamianego po włączeniu zasilania,
w celu uniemożliwienia jego podmienienia.
Mikrokontrolery Zatara mogą komunikować
się poprzez interfejsy: USB 2.0 OTG, UART,
SPI. Wśród wbudowanych sterownik układy
ZA9Lx mają interfejsy do dołączania PIN-
padów i ekranów LCD. Dodatkowo mają one
układ watchdog, 4-kanałowy 10-bitowy prze-
twornik A/C, dwa UARTy zgodne z ISO7816
(Smart Card) oraz trójścieżkowy czytnik kart
magnetycznych.
Firma Freescale ma w ofercie multime-
dialne mikrokontrolery i.MX zarówno z rdze-
niem ARM9 jak i ARM11. Do nowości w ro-
dzinie mikrokontrolerów i.MX należą układy
i.MX353/357. Są przeznaczone do aplikacji
wymagających zaawansowanych możliwości
graficznych, np. urządzenia HMI, czytniki e-
booków czy przyrządy do nawigacji. Oprócz
rdzenia ARM1136JF-S, mają wbudowany mo-
duł graficzny OpenVG (i.MX357), który wspo-
maga m.in. wyświetlanie filmów Adobe Flash.
Układy i.MX35 taktowane są sygnałem zega-
rowym o częstotliwości do 532 MHz, mają
wektorową jednostkę zmiennoprzecinkową,
wielopoziomową pamięć cache oraz kontroler
DMA. Mogą współpracować z różnymi ze-
wnętrznymi pamięciami, jak: SDRAM, DDR
i DDR2, NOR i NAND Flash oraz SRAM. Oba
układy mają wbudowany moduł obróbki obra-
zu (IPU) z interfejsem dla kamery oraz ekranu
LCD (24-bitowe wyświetlacze rozdzielczo-
ścią WVGA). Moduł IPU jest odpowiedzialny
za obsługę wyświetlanego obrazu i nie obcią-
ża zbytnio CPU.
Do mikrokontrolerów z rdzeniem ARM9
w ofercie firmy NXP należą rodziny nowe
LPC3130/1 i LPC29xx. Mikrokontrolery
LPC313x mają rdzeń ARM926EJ-S pracujący
z częstotliwością 180 MHz oraz do 192 kB
pamięci SRAM, kontroler pamięci NAND
Flash, interfejs pamięci zewnętrznych
oraz interfejs USB OTG. Mikrokontrolery
LPC291x mają natomiast rdzeń ARM968 tak-
towanym sygnałem zegarowym 125 MHz. Na
temat nowości w ofercie firmie NXP piszemy
więcej w tym numerze EP na str. 92.
Era Cortex?ów
Najmłodszą rodziną procesorów ARM są
procesory z rdzeniem Cortex o architekturze
ARMv6 i ARMv7. Pierwszymi przedstawi-
cielami tej rodziny były układy Cortex-M3
(ARMv7), opracowane przez firmę ARM
w 2006 roku. Należą one do grupy M rodziny
Cortex, która oferuje bardzo korzystny stosu-
nek ceny do możliwości i jest przeznaczona
do zastosowań konsumenckich i przemysło-
wych. Pozostałymi grupami są:
? grupa A ? przeznaczona dla wymagają-
cych aplikacji z zastosowaniem systemu
operacyjnego, np. Symbian, Linux i Win-
dows Embedded, które wymagają dużych
mocy obliczeniowych, obsługi pamięci
wirtualnej (MMU), czy też obsługi Javy.
? grupa R ? stworzona z myślą o syste-
mach czasu rzeczywistego, których kry-
tycznym parametrem jest czas reakcji,
jak np. system ABS.
Najpopularniejszy obecnie, rdzeń Cortex
-M, ma architekturę harvardzką, czyli o roz-
dzielonych magistralach danych i instrukcji.
Podejście takie pozwala na jednoczesny dostęp
do pamięci danych i instrukcji. Zwiększa się
przez to efektywność systemu, gdyż dostęp do
pamięci danych nie spowalnia wykonywania
programu (pobierania kolejnych instrukcji).
W rdzeniach tych akceptowana jest lista
instrukcji Thumb-2, które mogą być zarówno
16- jak i 32-bitowe.
Mikrokontrolery z tym rdzeniem są
w ofercie wielu firm. W ich gronie pojawiła
się dosyć niespodziewanie firma Texas In-
struments z szeroką gamą mikrokontrolerów
Stellaris, przejętych w połowie mają od firmy
Luminary Micro.
W ofercie Luminary Micro znajdowało
się wiele układów z rdzeniem Cortex-M3. Do
głównych rodzin układów z rdzeniem ARM
należą układy:
? 1000 ? przeznaczone do aplikacji z zasi-
laniem bateryjnym;
? 2000 ? przeznaczone do aplikacji z inter-
fejsem CAN;
? 3000 ? zoptymalizowane dla aplikacji
USB OTG;
? 5000 ? łączące komunikację poprzez in-
terfejsy CAN i USB OTG;
? 6000 ? przeznaczone do aplikacji siecio-
wych, zawiera Ethernet MAC oraz PHY;
? 8000 ? zaprojektowane dla aplikacji CAN
oraz obsługi sieci; Ethernet (MAC + PHY);
? 9000 ? najbardziej rozbudowana i naj-
nowsza rodzina układów z możliwością
komunikacji poprzez CAN, USB OTG
oraz Ethernet.
W ofercie firmy Luminary Micro są rów-
nież rodziny mikrokontrolerów o mniejszych
możliwościach:
? 100 ? mikrokontrolery z rdzeniem Cor-
tex-M3 są w 28-pinowej obudowie SOIC.
Mają one 8 kB pamięci Flash i 2 kB SRAM,
interfejs UART oraz SSI (LM3S102 ma
I2
C). Układy mogą pracować z sygnałem
zegarowym o częstotliwości 20 MHz. Ich
zaletą jest niska cena.
? 300 ? przeznaczone do aplikacji przemy-
słowych, na przykład terowaniem silni-
kiem, mają do 6 modulatorów PWM (nie
wszystkie) oraz zwiększoną pojemność
pamięci Flash i SRAM (16 i 2...4 kB).
? 600 ? mikrokontrolery Stellaris LM3S600
mają do 32 kB pamięci Flash i 8 kB
SRAM. Taktowane są sygnałem o często-
tliwości do 50 MHz. Mogą być również
stosowane w aplikacjach sterowania
silnikiem, gdyż niektóre układy z tej ro-
dziny mają do 6 modulatorów PWM. Po-
nadto mają do 3 komparatorów oraz do 8
kanałów 10-bitowego przetwornika A/C
o częstotliwości próbkowania do 1 MS/s.
? 800 ? Wśród mniejszych mikrokontro-
lerów Stellaris, te są największe. Mają
bowiem do 64 kB pamięci Flash (8 kB
SRAM).
Wśród nowości w rodzinie należy zwró-
cić uwagę na mikrokontroler LM3S9B96
z rodziny 9000. Ma on dużą pamięć Flash
(256 kB) oraz SRAM (96 kB) i może być tak-
towany sygnałem zegarowym o częstotliwo-
ści do 80 MHz (mikrokontroler ma wbudo-
wany generator o częstotliwości 16 MHz).
Interesującą właściwością tych mikrokontro-
lerów jest pamięć ROM z wpisaną biblioteką
sterowników StellarisWare, bootloaderem,
tablicami dla szyfrowania AES, funkcję ob-
liczającą sumę kontrolną CRC oraz jądrem
systemu operacyjnego typu RTOS SafeRTOS.
Na rys. 2 przedstawiono schemat tego mikro-
kontrolera. LMS3S9B96 może być stosowany
w aplikacjach wymagających bezpieczne-
60 ELEKTRONIKA PRAKTYCZNA 7/2009
Wybór konstruktora
go połączenia z szyfrowaniem danych. Co
więcej, mikrokontroler LM3S9B96 ma dwa
układy watchdog ? jeden taktowany systemo-
wym sygnałem zegarowym, drugi taktowany
z wewnętrznego generatora 16 MHz. Mikro-
kontroler ma też wiele interfejsów komuni-
kacyjnych, takich jak: 10/100 Ethernet MAC/
PHY, 2 CAN, USB 2.0 Full Speed OTG/Host/
Device, 2 SSI /SPI, 2 I2
C, I2
S oraz 3 UARTy.
Kontroler Ethernetu ma zaimplementowaną
sprzętową obsługę protokołu IEEE 1588 PTP,
który służy do synchronizacji sieci Ethernet
z precyzją rzędu nanosekund. LM3S9B96
może też być sterownikiem silników, gdyż
ma 8 wyjść modulatora PWM i dwa wejścia
dla enkodera czteroćwiartkowego.
Należy zwrócić uwagę, że nie są to jedyne
mikrokontrolery Stellaris z wbudowanymi ta-
blicami AES, bo mają je także układy rodzin:
2700, 2B00, 5700 i 5B00. Więcej na temat mi-
krokontrolerów Stellaris piszemy na str. 106.
Do niedawna firma Atmel nie miała
w ofercie mikrokontrolerów z rdzeniem Cor-
tex-M3, jednak pod koniec maja ogłoszono
wprowadzenie rodziny AT91SAM3 z tym
rdzeniem. Nowe układy mają podobne moż-
liwości jak inne układy z rodziny AT91SAM,
włączając w to: wielowymiarowy system ma-
gistral, kontroler DMA dla układów peryfe-
ryjnych (PDC) oraz dużą pojemność pamięci
wewnętrznych. Mikrokontrolery AT91SAM3
mają mieć zunifikowany dostęp do rejestrów
układów peryferyjnych, dzięki czemu zwięk-
szona jest możliwość przenoszenia kodu pro-
gramu pomiędzy różnymi mikrokontrolerami
tej rodziny. Na rys. 3 przedstawiono schemat
blokowy nowych układów AT91SAM3U.
Rdzeń ARM Cortex-M3 w zapowiada-
nych mikrokontrolerach AT91SAM3U ma być
taktowany sygnałem zegarowym o częstotli-
wości do 96 MHz. Mikrokontrolery będą miały
64...256 kB pamięci Flash (128-bitowy dostęp,
sprzętowy akcelerator, dwa banki), 16...48 kB
SRAM (dwa banki) oraz 16 kB pamięci ROM
z bootloaderem kodu (przez USART i USB).
AT91SAM3U mają wbudowany stabilizator
napięcia i oscylatory: główny (3...20 MHz),
zegara RTC 32,768 kHz, fabrycznie kalibro-
wany generator RC 4/8/12 MHz oraz pętlę PLL
dla interfejsu USB.
Układy Atmela z rdzeniem Cortex-M3
mają charakteryzować się niskim poborem
prądu. W trybie zasilania backup (zasilane
są wyłącznie obwody kontrolera zasilania,
zegar RTC, rejestry zapasowe oraz oscy-
lator 32.768 kHz) układ pobiera zaledwie
2,5 mA (zegar RTC pobiera 0,6 mA). Z po-
zostałych układów peryferyjnych, mikro-
kontrolery AT91SAM3U mają: interfejs USB
2.0 Device, do czterech interfejsów USART
(obsługa IrDA, SPI i kodowania Manchester),
1×UART, 2×TWI/I2
C, 1×SPI, 1×SSC(I2
S),
1×HSMCI(SDIO/SD/MMC) oraz do 8 kana-
łów 12-bitowego przetwornika A/C o prędko-
ści próbkowania 1 MS/s.
W ofercie firmy Toshiba Electronics są
również mikrokontrolery z rdzeniem Cortex-
M3 oznaczone symbolami TMPM3xx (seria
TX03). Wśród nich w ofercie tej firmy są
trzy rodziny układów TMPM330, TMPT370
i TMP380.
TMP330 jest grupą mikrokontrolerów
ogólnego przeznaczenia z 12-kanałowym
przetwornikiem A/C (10-bitowy), 10-
kanałowym modulatorem PWM o rozdziel-
czości 16-bitów oraz standardowymi interfej-
sami komunikacyjnymi jak UART, I2
C i mniej
standardowymi jak CEC (Consumer Electro-
nics Control) oraz układami peryferyjnymi,
jak zegar RTC czy układ watchdog. Układy
TMP330 mają 128, 256 lub 512 kB pamięci
Flash oraz 8, 16 lub 32 kB pamięci SRAM.
Częstotliwość sygnału zegarowego wynosi
32...40 MHz.
Projektantów układów do sterowania
silnikami powinna zainteresować rodzina
TMPM370 z układem TMPM370FY. Ten mi-
krokontroler ma rdzeń Cortex-M3 taktowa-
ny sygnałem o częstotliwości 80 MHz oraz
opracowany przez firmę Toshiba wbudowa-
ny układ PMD3+, programowalny sterownik
silnika wraz z 12-bitowym przetwornikiem
A/C. Układ jest przewidziany do sterowania
trójfazowymi silnikami bezszczotkowymi
prądu stałego lub indukcyjnymi. Kontroler
PMD3+ ma również wbudowane 4 wzmac-
niacze operacyjne, dwukanałowy enkoder
oraz dwa komparatory analogowe. Dwukana-
łowy kontroler PMD3+ oraz jednostka wek-
torowa sterują trójfazowym modulatorem
PWM o 16-bitowej rozdzielczości. Mikrokon-
troler TMPM370FY jest zasilany napięciem
4,5...5,5 V. Ma 256 KB pamięci Flash oraz
10 kB pamięci RAM.
Układy z serii TMPM370 i TMP380 mają
układ OFD (rys. 4), którego zadaniem jest
kontrola częstotliwości sygnału taktującego.
W razie wykrycia odstępstw jest generowany
sygnał zerowania. Układ jest zgodny z regu-
lacją IEC60730 class B bezpieczeństwa urzą-
dzeń elektronicznych.
Rys. 2. Schemat blokowy mikrokontrolerów AT91SAM3U
61ELEKTRONIKA PRAKTYCZNA 7/2009
Przegląd nowych mikrokontrolerów z rdzeniem ARM
czenia są konfigurowane na etapie produkcji
w zależności od potrzeb odbiorcy. W ofercie
firmy Triad Semiconductor są układy VCA
z rdzeniem Cortex-M0 (może on pracować
z częstotliwością 50 MHz). Schemat blokowy
układu VCA z rdzeniem ARM przedstawiono
na rys. 5. Ten układ ma oprócz interfejsów
UART, SPI, I2
C, pamięci Flash i RAM konfi-
gurowalne bloki analogowe i cyfrowe, dzięki
czemu możliwe jest ?skrojenie? jego możli-
wości pod specyficzne potrzeby.
Podobne układy oferuje Atmel. Mają one
blok bramek logicznych, których połączenia
(metal 3 warstwy) mogą być konfigurowane
na etapie produkcji układów. Pozwala to na
dostosowanie do potrzeb klienta specyficz-
nych dla danej aplikacji, układów peryferyj-
nych. Mikrokontrolery z rodziny AT91CAP
Rys. 3. Schemat blokowy mikrokontrolerów LMS3S9B96
Rys. 4. Schemat blokowy działania układu
OFD w mikrokontrolerach firmy Toshiba
Wśród producentów mikrokontrole-
rów z rdzeniem Cortex-M3 jest też firma
NXP z mikrokontrolerami rodzin LPC1300
i LPC1700. Opis nowości w ofercie firmy
NXP jest w tym numerze EP na str. 92.
Wyliczając producentów mikrokontro-
lerów z rdzeniem Cortex-M3 nie można nie
wspomnieć o firmie STMicroelectronics,
która jako jedna z pierwszych rozpoczęła
produkcję układów STM32 właśnie z tym
rdzeniem. Nowe układy z grupy Connectivity
opisane zostały w artykule na str. 103 w tym
numerze EP.
Do grona producentów mikrokontrole-
rów z rdzeniem Cortex dołączają nowe firmy.
Jedna z takich firm jest Energy Micro, która
oferuje mikrokontrolery z rodziny EFM32
zoptymalizowane pod kątem niskiego zuży-
cia energii. Układy te mają 5 trybów pracy,
przy czym w o najniższym zużyciu energii
pobierają prąd o natężeniu 0,1 mA, natomiast
w trybie ?wyższym?, w którym podtrzymy-
wana jest zawartość pamięci RAM 0,3 mA.
Pomysłem firmy Energy Micro na zmniejsze-
nie zużycia energii przez system mikroproce-
sorowy, jest krótka praca w trybie aktywnym
z długim oczekiwaniem na wykonywanie
zadania w trybie o obniżonym poborze ener-
gii. Mikrokontrolery EFM32 mają krótki czas
przejścia pomiędzy trybami pracy wynoszą-
cy mniej niż 2 ms. Mikrokontrolery mają też
dodatkowe układy peryferyjne o mniejszym
poborze energii: UART i timer. Mikrokontro-
lery EFM32 mają 16...128 kB pamięci Flash
i 8...16 kB pamięci SRAM. Większość z nich,
oprócz standardowych układów peryferyj-
nych jak interfejsy: UART, I2
C, zegar RTC czy
przetworniki A/C, jest wyposażona w blok
szyfrowania AES. Najlepsze układy z rodzi-
ny EFM32 mają również kontroler ekranu
LCD (do 4×40).
ARMy w układach specjalnych
Firma ARM oprócz rdzenia M3 przygo-
towała kilka innych, nowych rdzeni. Jednym
z nich jest Cortex-M0, który ma być najmniej-
szym rdzeniem ARM i o najmniejszym zapo-
trzebowaniu na energię. Jedną z firm, która
ma w ofercie mikrokontrolery z tym rdze-
niem jest Triad Semiconductor. Oferuje ona
konfigurowalne układy ASIC VCA (Via Con-
figurable Array). Układy VCA są oferowane
jako gotowe zestawy bloków analogowych
(wzmacniacze operacyjne, przetworniki
C/A i C/A) i cyfrowych (bramki logiczne, pa-
mięć, układy wejścia-wyjścia), których połą-
Rys. 5. Układy VCA z oferty Triad
Semiconductor
62 ELEKTRONIKA PRAKTYCZNA 7/2009
Wybór konstruktora
są dostępne zarówno z rdzeniem ARM7TD-
MI jak i ARM926EJ-S. Nowością w rodzi-
nie AT91CAP są układy CAP7L z rdzeniem
ARM7TDMI taktowanym sygnałem zega-
rowym o częstotliwości 80 MHz. Mają one
blok logiczny o 200 tys. bramek. Oprócz tego
bloku logicznego, mikrokontrolery AT91CAP
są wyposażone w kontroler DMA, interfejsy
USB Device, SPI, USART, Ethernet MAC.
Mają 256 kB pamięci ROM oraz 160 kB pa-
mięci SRAM.
Nieco starszymi układami są mikrokon-
trolery z serii AT91CAP9S z rdzeniem AR-
M926EJ-S taktowanym zegarem o częstotli-
wości 400 MHz. Są to bardziej rozbudowane
mikrokontrolery z rodziny CAP. Mają w za-
leżności od wersji 250 lub 500 tys. bramek
logicznych. W porównaniu do AT91CAP7L
mają też bogatsze peryferia, gdyż zawierają
dodatkowo m.in.: interfejs USB host, TWI,
CAN oraz sterownik LCD.
Rdzeń ARM oferowany jest innym fir-
mom jako blok IP, który może zostać użyty
we własnych projektach układów specjali-
zowanych ASIC. Dlatego wielu producen-
tów układów półprzewodnikowych stosuje
rdzenie ARM we własnych mikrokontrole-
rach. W 2007 roku pojawił się rdzeń Cortex-
M1 dostosowany do stosowania w układach
programowalnych FPGA. Wiele firm oferuje
więc te rdzenie dla swoich układów.
Jedną z firm, która rozpoczęła sprze-
daż tego rdzenia jest firma Actel. Co cieka-
we firma nie pobiera opłat licencyjnych od
liczby stosowanych rdzeni w swoich ukła-
dach programowalnych Fusion i ProASIC3.
W układach FPGA tej firmy rdzeń Cortex-M1
może być taktowany sygnałem zegarowym
o częstotliwości do 72 MHz i zajmuje on ok.
4300 bloków logicznych (tiles) tych układów.
Rdzenie te są już obsługiwane przez środowi-
sko projektowe Actel Libero IDE, jak również
przez programy narzędziowe ARM RealView
Development Suite, RealView Microcontrol-
ler Development Kit oraz programy innych
producentów. Cena układów FPGA zopty-
malizowanych dla rdzenia M1, czyli IGLOO
(M1AGL), ProASIC3 (serie M1A3P/M1A3PE),
ProASIC3L (M1A3PL) i Fusion (M1AFS), za-
czyna się już od 3-4 dolarów. Do rdzeni M1
Actel dołącza bibliotekę układów peryferyj-
nych, m.in. GPIO, I2
C, PWM i watchdog.
Do implementacji systemu cyfrowego
z rdzeniem procesora ARM Cortex-M1 jest
środowisko Libero IDE wraz z komponen-
tami SmartDesign (graficzne środowisko do
projektowania systemów SoC) i CoreConso-
le (program wspomagający obsługę i imple-
mentację bloków IP). Program SoftConsole
służy natomiast do przygotowywania apli-
kacji w języku C/C++ dla procesorów Cor-
tex-M1. Zawiera kompilator GNU, debugger
GDB oraz symulator.
Cortex-A8
Rdzenie Cortex-A8 należą do najbardziej
zaawansowanych i wydajnych rdzeni ARM.
Mikrokontrolery multimedialne OMAP35x
z tymi rdzeniami oferuje m.in Texas Instru-
ments. Znajdują się w niej zarówno układy
z rdzeniem DSP TMS320C64x, jak i z sa-
mym rdzeniem Cortex-A8. Układy te mogą
być stosowane w zaawansowanych aplika-
cjach multimedialnych. Mają dedykowane
wejścia-wyjścia wideo, akcelerator audio-vi-
deo (IVA2.2), dwupoziomową pamięć cache
oraz wszelkie układy peryferyjne wymagane
w tego rodzaju aplikacjach. Akcelerator gra-
ficzny jest w stanie obsłużyć bibliotekę gra-
ficzną OpenGL ES 2.0.
Mikrokontrolery z rdzeniem Cortex-A8
znajdziemy również w procesorach multime-
dialnych i.MX515 firmy Freescale. Podobnie
jak układy firmy Texas Instruments, układy
i.MX515 mogą obsłużyć biblioteki graficzne
OpenGL ES 2.0 oraz mają koprocesor zmien-
noprzecinkowy. Mają też możliwość genero-
wania analogowego sygnału telewizji wyso-
kiej rozdzielczości 720 p.
Podsumowanie
Wybór mikrokontrolera do zastosowa-
nia we własnej aplikacji nie jest zadaniem
łatwym. Oprócz możliwości układów pe-
ryferyjnych i wydajności rdzenia należy
wziąć pod uwagę jego cenę. Można zauwa-
żyć wyraźny trend w zmniejszaniu się ceny
układów 32-bitowych, które mogą być z po-
wodzeniem stosowane w aplikacjach, w któ-
rych do niedawna korzystniejszym wyborem
zdawały się 8-bitowce. Wśród mikrokontro-
lerów, które oferują korzystny stosunek ceny
do możliwości należy wskazać rodziny mi-
krokontrolerów z rdzeniem Cortex-M3. Co
prawda rdzenie ARM7TDMI-S są nadal po-
pularne i stosunkowo niedrogie, jednak przy
wyborze tych układów należy wziąć pod
uwagę fakt, że jest to rodzina starsza tech-
nologicznie i w niedługim czasie zostanie
najprawdopodobniej zastąpiona przez wy-
dajniejsze układy Cortex-M3. Są jednak takie
układy, jak na przykład seria ADuC firmy
Analog Devices, która pomimo ?starszego?
rdzenia są bardzo atrakcyjne, ze względu na
zastosowane układy peryferyjne, jak analo-
gowe układy peryferyjne mikrokontrolerów
ADuC70xx.
Poza mikrokontrolerami ogólnego prze-
znaczenia, są interesujące grupy układów
specjalnych. W aplikacjach wymagających
wysokiego stopnia poufności czy ochrony
danych, należy wskazać m.in. układy Zatara
(obecnie Atmela), niektóre układy Stellaris
z blokiem tablic lookup dla algorytmu AES
oraz układy nowej firmy Energy Micro.
Do zadań multimedialnych, wymagają-
cych większych mocy obliczeniowych CPU,
warto przyjrzeć się układom z rdzeniem
ARM9 lub ARM11, które są zaprojektowane
do tego rodzaju zadań.
W przypadku nietypowych aplikacji, wy-
magających zastosowania niestandardowych
układów peryferyjnych lub własnych akcele-
ratorów obliczeń, należy przyjrzeć się ofercie
firm z konfigurowalnymi układami lub ofercie
producentów układów FPGA. Oprócz opisy-
wanych konfigurowalnych mikrokontrolerów
Atmela czy układów specjalizowanych firmy
Triad Semiconductor, interesującą gałęzią roz-
woju mikroprocesorów są rdzenie oferowane
jako bloki IP implementowane w układach
FPGA. Po układach takich jak Nios II firmy
Altera i Microblaze i Picoblaze firmy Xilinx,
również firma ARM wprowadziła do oferty
rdzenie Cortex-M1. W przypadku układów
typu ASIC i FPGA należy wziąć pod uwagę
dłuższy oraz bardziej skomplikowany proces
projektowania systemu.
Maciej Gołaszewski, EP
maciej.golaszewski@ep.com.pl
Zobacz więcej w kategorii Wybór konstruktora