ARM je jednou z nejrozšířenějších architektur 16- a 32bitových procesorů a v současné době jsou stále více k vidění i v podobě mikrokontrolérů. Tedy v té, jakou běžně nazýváme jednočipovým mikroprocesorem. První mikroprocesor s architekturou ARM byl navržen firmou Acorn (odtud ARM - Acorn RISC Machine - později přejmenován na Advanced RISC Machine) již v roce 1984.
MiniARM
MiniARM je jednoduchý modul určený pro vložený do standardní patice DIL 40, navržený s ohledem na snadné použití a výuku práce s mikroprocesory ARM. Je založen na mikrokontroléru LPC2106 od firmy Philips. Pochází z rodiny obvodů řady LPC2xxx, která v jednom pouzdře integruje jádro ARM7TDMI a vedle paměti FLASH a SRAM i celou řadu periférií včetně ladícího rozhraní JTAG.
Základní vlastnosti modulu MiniARM:
- modul založený na CPU LPC2106;
- rozměry odpovídající pouzdru DIL 40;
- standardní napájení 5 V/100 mA;
- krystalový oscilátor 7.3728 MHz;
- LDO 3,3 V pro napájení IO;
- LDO 1,8 V pro napájení jádra LPC2106;
- obvody pro generování signálu RESET;
- ošetřeny piny RTCK, DBGSEL, PO14;
- 14pinový konektor JTAG.
Modul obsahuje kromě mikrokontroleru LPC2106 i LDO stabilizátory 1.8V a 3.3V nutné pro činnost obvodu, krystal, obvody resetu a prostor pro osazení standardního 14pinového JTAG konektoru.
Hodnota krystalu byla záměrně zvolena na 7.3728MHz pro snadné odvození standardních přenosových rychlostí integrovaných UARTů. Vlastní mikrokontroler obsahuje PLL, a tak je možné s tímto krystalem po vynásobení 8 provozovat jádro na hodinové frekvenci 58.9824 MHz.
Rozložení pinů zhruba odpovídá standardní x51 v pouzdru DIL40, takže je v některých aplikacích možná přímá náhrada obstarožní osmibitové x51 za moderní 32b ARM. Samozřejmně po přepracování FW a úpravě obvodů resetu, který je generován v opačné úrovni.
Zapojení pinů modulu miniARM
Alternativní funkce
|
GPIO
|
Pin
|
|
Pin
|
GPIO
|
Alternativní funkce
|
TxD0/PWM1
|
P0.0
|
1
|
40
|
VCC
|
5V
|
|
RxD0/PWM3
|
P0.1
|
2
|
39
|
P0.31
|
EXTIN0/*
|
|
SCL/CAP0.0
|
P0.2
|
3
|
38
|
P0.30
|
TRACEPKT3/*
|
|
SDA/MAT0.0
|
P0.3
|
4
|
37
|
P0.29
|
TRACEPKT2/*
|
|
SCK/CAP0.1
|
P0.4
|
5
|
36
|
P0.28
|
TRACEPKT1/*
|
|
MISO/MAT0.1
|
P0.5
|
6
|
35
|
P0.27
|
TRACEPKT0/*
|
|
MOSI/CAP0.2
|
P0.6
|
7
|
34
|
P0.26
|
TRACESYNC
|
|
SSEL/PWM
|
P0.7
|
8
|
33
|
P0.25
|
PIPESTAT2
|
|
|
/RST
|
9
|
32
|
P0.24
|
PIPESTAT1
|
|
TxD1/PWM4
|
P0.8
|
10
|
31
|
NC
|
|
|
RxD1/PWM6
|
P0.9
|
11
|
30
|
RTCK
|
|
|
RTS1/CAP1.0
|
P0.10
|
12
|
29
|
DBGSEL
|
|
|
CTS1/CAP1.1
|
P0.11
|
13
|
28
|
P0.23
|
PIPESTAT0
|
|
DSR1/MAT1.1
|
P0.12
|
14
|
27
|
P0.22
|
TRACECLK |
|
DTR1/MAT1.1
|
P0.13
|
15
|
26
|
P0.21
|
PWM5/TDO
|
|
DCD1/EINT1
|
P0.14
|
16
|
25
|
P0.20
|
MAT1.3/TDI
|
|
RI1/EINT2
|
P0.15
|
17
|
24
|
P0.19
|
MAT1.2/TCK
|
|
|
NC
|
18
|
23
|
P0.18
|
CAP1.3/TMS
|
|
|
NC
|
19
|
22
|
P0.17
|
CAP1.2/TRST
|
|
|
GND
|
20
|
21
|
P0.16
|
EINT0/MAT0.2
|
Zapojení pinú JTAG konektoru J2
Pin
|
Funkce
|
LPC2106
|
1 | VSUP - 3V3 | VCC |
2 | GND | GND |
3 | nTRST | PO17 |
4 | GND | GND |
5 | TDI | PO20 |
6 | GND | GND |
7 | TMS | PO18 |
8 | GND | GND |
9 | TCK | PO19 |
10 | GND | GND |
11 | TDO | PO21 |
12 | /RST | RST |
13 | VSUP - 3V3 | VCC3 |
14 | GND | GND |
Základní vlastnosti LPC2106:
- 16/32bitový procesor s jádrem ARM 7 TDMI;
- 64 kB SRAM;
- 128 kB programové paměti FLASH – 128bitové rozhraní s vysokou rychlostí až 60 MHz;
- podpora ISP (In-System Programming) a IAP (In-Application Programming) s rychlostí programování FLASH až 512 bitů za 1 ms;
- řadič přerušení s programovatelnou prioritou a adresou;
- dva 32bitové časovače;
- jednotka PWM se šesti výstupy;
- obvody hodin reálného času a watchdogu;
- řada sériových rozhraní včetně dvojice UARTů (16C550), rychlé I2C (400 kbits/s) a SPI;
- až 32 I/O linek s podporou 5V logiky v pouzdře LQFP48;
- maximální kmitočet CPU 60 MHz dosažitelný pomocí programovatelného fázového závěsu;
- krystalový oscilátor s provozním rozsahem 1 – 30 MHz;
- dva nízkopříkonové napájecí režimy IDLE a Power-Down;
- procesor lze z režimu Power-Down vyvolat externím přerušením;
- individuální ovládání periferních funkcí pro optimalizací napájení;
- Dvojité napájení:
- 1.65 V - 1.95 V (1.8 V +-8.3pct) pro CPU.
- 3.0 V - 3.6 V (3.3 V +-10pct) pro I/O linky s tolerancí 5 V logiky.
Doprovodné CD
K modulu miniARM je dodáváno i doprovodné CD se základními vývojovými nástroji, katalogovými listy, aplikačními poznámkami a příklady. Vývojové nástroje jsou kromě klasického GNU GCC zastoupeny i omezenými verzemi komerčních produktů, která však u některých SW ani příliš neobtěžují - například obě verze Keila mají omezen simulátor na 16kB kódu, ale projekty je možné vytvářet bez omezení (dáno použitým kompilátorem GCC).
- CrossWorks for ARM
- Embest IDE for ARM
- Keil uVision2
- Keil uVision3
- HiTech ARM
- IAR ARM WorkBench
- Eclipse 30
- GCC VIDE
- MacRaigor GNUtools
- Philips ISP FLASH Utility
Příklady
Modul je dodáván již s nahraným demonstračním příkladem. Po vybalení stačí přiložit napájecí napětí, připojit 1-8 LED diod s omezovacími odpory a modul okamžitě obživne. Na CD je samozřejmě kompletní projekt s tímto příkladem ve zdrojovém i zkompilovaném tvaru. Kromě tohoto příkladu obsahuje CD i další demonstrace - LCD znakový displej, LCD grafický displej, RS232 komunikace, atd.
Závěr
Modul miniARM lze použít nejen jako jádro Vašich aplikací založených na
architektuře ARM, ale rovněž ve spojení s vývojovou deskou miniARM DB pro výuku práce s mikrokontroléry
ARM.
Milan Kostomlatský
info@ mcu.cz
DOWNLOAD & Odkazy
- Domovská stránka produktu - Začínáme s ARMem - I. modul miniARM
- Vývojová deska pro miniARM
- Download Katalogového listu LPC2106 - lpc210x_ds.pdf
- Download uživatelského manuálu k LPC2106 - um_lpc2106_2105_2104.pdf
- Download LPC2000 Flash Utility - lpc2000_flash_utility.zip
- Další informace, zdrojové kódy atd. k LPC2106 - http://www.keil.com/dd/chip/3483.htm