MMsam7x - propox

Transkrypt

MMsam7x - propox
va
E
s
r
te
u
Minimoduł z mikrokontrolerem ARM
AT91SAM7X firmy ATMEL
Instrukcja
użytkownika
REV 1.0
t
E
r
fo
co
n
ty
in
r
ic
m
tr
p
o
lle
te
ys
B
g
o
n
co
,
rs
p
m
o
R
ro
m
rs
a
t
F
g
rd
ro
ra
ro
ic
rs
lle
m
co
S
e
tr
s,
o
P
r-
e
e
p
fo
rs
-
r
rs
lle
C
-
d
o
th
h
m
n
e
,
e
rv
im
in
ig
H
e
S
b
M
s
ID
-
ta
e
W
d
e
d
d
e
b
m
o
tr
n
co
lle
S
B
fo
r
s
m
e
rd
t
s
a
S
lo
In
,
sy
ro
B
t
C
d
I
r
n
n
e
b
P
o
io
e
so
,
c
t
e
o
a
R
W
r
c
V
lu
ic e d
ro
a
A
p
v
m
id
o
E
r
d
m
C
I
e
g
ic
s
b
P
d
in
M
,
r
m
n
,
T
a
g
E
S
o
rs
si
s
,
B
e
it
lle
R
g
d
K
V
ro
n
t
h
i
r
A
n
p
ig
,
te
y
o
r
t
1
H
c
ta
‘5
to
D
ro
S
o
I
c
r
e
i
F
P
rs
m
m
R
le
r
m
rs
s,
o
la
e
r
f
r
tr
g
rv
ll e
s
n
e
o
le
ro
S
co
u
tr
p
o
d
n
,
s
r
o
ic m s
co
m
im
t
e
m
t
e
n
e
T
st
ys
rn
y
S
o
S
e
s
,
B
ht
r
In
IC
n
e
so
d
P
t io
e
e
,
ic
c
a
e
R
m
p
lu
ro
V
S
a
C
p
A
I
v
o
e
r
r
P
E
b
of
ic
g
T,
m
M
S
rs
in
E
,
sr
n
g
s
g
R
it
in
si
lle
V
K
p
e
o
A
r
ty
d
,
e
o
t
t
1
r
B
ro
a
ro
`5
t
C
c
i
r
P
S
P
,
m
s
fo
s
r
r
r
rs
s
e
o
e
e
l
f
l
l
l
rd
rw
o
s
a
ro
e
e
tr
t
l
S
n
m
n
u
o
a
o
d
b
r
c
c
o
e
g
t
ro
o
e
W
im
r
o
p
d
in
rn
c
e
e
M
m
ro
d
th
s
d
te
ic
e
d
s
r
,
m
y
a
rs
S
r
T
o
e
o
S
n
B
ll
I
s
,
o
d
tr
ce
IC
e
ig
n
o
P
s
e
r
,
e
p
p
co
o
S
R
D
R n
V
cr
h
i
B
A
t io
ig
C
M
r
a
H
P
of
sr
,
lu
rs
l l e M a nmy isd e a s o n ve a s o l u t i o sn
e
o
E
e
tr
rd
m
g
st
n
a
n
y
o
i
co
S
n
B
n
MMsam7x
s
le
,
T,
S
,
R
V
A
o
cr
to
ro
rd
a
its
K
r
P
rs
i
m
IC
P
1
‘5
r
fo
o
B
n
tio
a
lu
e
S
T
Spis Treści
Wprowadzenie ................................................................................................................................... 3
1.1 Cechy minimodułu MMsam7x ................................................................................................ 4
2.4 Mikrokontroler AT91SAM7X256 (AT91SAM7X512) .......................................................... 4
Budowa minimodułu MMsam7x ................................................................................................... 5
2.1 Schemat blokowy ..................................................................................................................... 5
2.2 Rozmieszczenie wyprowadzeń.............................................................................................. 6
Opis części sprzętowej MMsam7x ............................................................................................... 8
3.1 Układ zasilania ......................................................................................................................... 8
3.2 Pamięć FLASH ......................................................................................................................... 9
3.3 Układ podciągający linię USB DDP .................................................................................... 10
4 Programowanie............................................................................................................................ 11
4.1 Podłączenie programatora ................................................................................................... 11
4.2 Konfiguracja środowiska programistycznego .................................................................... 12
Dostępne wersje ............................................................................................................................. 14
Dostępne akcesoria ....................................................................................................................... 14
Dane techniczne ............................................................................................................................. 15
Pomoc techniczna .......................................................................................................................... 15
Przykładowe oprogramowanie ................................................................................................... 16
Gwarancja......................................................................................................................................... 16
2
1
Wprowadzenie
MMsam7x jest uniwersalnym minimodułem dla mikrokontrolerów ARM7TDMI
AT91SAM7X256 lub AT91SAM7X512 firmy Atmel. Mikrokontroler ten jest dostępny w
obudowie LQFP100, która ze względu na zagęszczony układ wyprowadzeń utrudnia
stosowanie go w układach prototypowych i amatorskich. My podjęliśmy próbę
umieszczenia go na płytce o wymiarach 56x48,5mm z układem wyprowadzeń pasującym
do ogólnie dostępnych druków prototypowych. Dodatkowo dodaliśmy stabilizator 3.3V,
pamięć szeregową DataFlash o pojemności do 8MB oraz układ załączania trybu USB2.0.
Wszystkie porty i sygnały mikrokontrolera wyprowadziliśmy przy pomocy dwurzędowych
złącz szpilkowych o rastrze 0,1’.
Wystarczy podłączyć napięcie zasilania, złącze JTAG i możemy zacząć ładować
256kB (512kB dla AT91SAM7X512) pamięci FLASH mikrokontrolera. Dzięki
zintegrowaniu peryferii z mikrokontrolerem na jednej płytce, zastosowanie modułu może
skrócić czas projektowania i ułatwić
budowę
systemów
bazujących
na
mikrokontrolerach AT91SAM, eliminując konieczność projektowania obwodu
drukowanego. Do modułu dostarczone jest przykładowe oprogramowanie.
Moduł MMsam7x może również znaleźć zastosowanie w pracowniach
dydaktycznych uczelni informatycznych i elektronicznych, jak również posłużyć do
realizacji prac dyplomowych.
Życzymy samych sukcesów i dużo satysfakcji przy projektowaniu
i konstruowaniu nowych urządzeń elektronicznych w oparciu
o MMsam7x
3
1.1 Cechy minimodułu MMsam7x
Poniżej zostały wymienione główne cechy minimodułu MMsam7x:
Kompletny, gotowy do użycia system mikroprocesorowy
Szybki mikrokontroler ARM TDMI7 AT91SAM7X256
Szeregowa pamięć DataFlash AT41DB642 firmy ATMEL o pojemności do
64Mbity (8MB)
Wbudowany systemowy generator kwarcowy 18.432MHz
Zasilacz (napięcie 3.3V dostępne na płycie)
Wbudowany stabilizator 3.3V 400mA
Napięcie zasilania modułu 3.3V lub 3.8 - 16V
2 x 40 wyprowadzenia z rastrem 0.1" (2.54mm), pasujące do wszystkich druków
prototypowych
Małe wymiary: 56x48mm
Dostępna płyta ewaluacyjna i przykładowe oprogramowanie
2.4 Mikrokontroler AT91SAM7X256 (AT91SAM7X512)
32-bitowy ARM7TDMI
Zewnętrzny oscylator 18.432MHz
256kB (512kB) programowanej w systemie pamięci programu typu FLASH
64kB (128kB) pamięci SRAM
Kontroler RESETu
20-bitowy, programowany licznik
2 interfejsy USART
Interfejs TWI
2 interfejsy SPI
Interfejs USB
Interfejs CAN
Interfejs Ethernet zgodny z MII oraz RMII
Jeden 8-kanałowy 10-bitowy przetwornik A/C
do 62 linii I/O z 5.0V tolerancją
Zaawansowany kontroler przerwań
Tryby obniżonego poboru mocy
Znakomity stosunek wydajności do poboru mocy
Interfejs JTAG
Szczegółowy opis mikrokontrolera znajduje się na stronie firmy Atmel: www.atmel.com.
4
2
Budowa minimodułu MMsam7x
Minimoduł składa się z płytki drukowanej, o wymiarach XxnaXX. Na górnej części
znajduję się mikrokontroler, rezonator kwarcowy, oraz stabilizator. Miejsce z drugiej strony
płytki przeznaczono na pamięć FLASH, oraz układ podciągania linii USB D+.
2.1 Schemat blokowy
Schemat blokowy minimodułu MMsam7x przedstawiono na rysunku:
Rysunek 1 Schemat blokowyMMsam7x
Układ AT91SAM7X256 (AT91SAM7X512) zawiera dwa porty 31bitowe ogólnego
zastosowania, którego wszystkie wyprowadzenia są dostępne na złączach minimodułu.
Dostępne są także, dedykowane linie dla interfejsu USB, przetwornika ADC oraz JTAG.
Mikrokontroler współpracuje z generatorem zbudowanym na kwarcu 18,432MHz.
Zewnętrzna pamięć FLASH podłączona jest do interfejsu SPI. Minimoduł wyposażona
także w układ podciągania linii USB D+, pozwalającym na pracę w trybie full-speed.
Stabilizator 3,3V pozwala na pracę w szerokim zakresie napięć zasilających
5
2.2 Rozmieszczenie wyprowadzeń
Piny mikrokontrolera zostały wyprowadzone na dwa złącza Goldpin 2x20.
Rysunek 2 Rozmieszczenie wyprowadzeń - widok z góry
Porty mikrokontrolera oprócz funkcji głównej, mogą pełnić funkcje alternatywne.
Przedstawia to tabela 1.
6
Pin
B7
Złącze J1
Funkcja
Funkcja alternatywna
główna
PB7
ERXER
Pin
3V3
Złącze J2
Funkcja
Funkcja alternatywna
główna
3V3
-
B12
PB12
ETXER
GND
GND
-
B0
PB0
ETXCK/EREFCK/PCK0
-
-
-
B1
PB1
ETXEN
VCC
Input VCC
--
B2
PB2
ETX0
B15
PB15
ERXDV/ECRSDV
B3
PB3
ETX1
B17
PB17
ERXCK/SPI0_NPCS3
B10
PB10
ETX2/SPI1_NPCS1
B6
PB6
ETX2/SPI1_NPCS1
B11
PB11
ETX3/SPI1_NPCS2
B5
PB5
ETX3/SPI1_NPCS2
A19
PA19
CANRX
B14
PB14
ERX3/SPI0_NPCS2
A20
PA20
CANTX
B13
PB13
ERX2/SPI0_NPCS1
A21
PA21
TF/SPI1_NPCS0
B9
PB9
EMDIO
A22
PA22
TK/SPI1_SPCK
B8
PB8
EMDC
TDI
TDI
-
A17
PA17
SPI0_MOSI
B16
PB16
ECOL/SPI1_NPCS3
A18
PA18
SPI0_SPCK
B4
PB4
ECRS
A15
PA15
SPI0_NPCS3/TCLK2
A23
PA23
TD/SPI1_MOSI
A16
PA16
SPI0_MISO
A24
PA24
RD/SPI1_MISO
A13
PA13
SPI0_NPCS1/PCK1
/RST
/RST
-
A14
PA14
SPI0_NPCS2/IRQ1
A25
PA25
RK/SPI1_NPCS1
A11
PA11
TWCK
A26
PA26
RF/SPI1_NPCS2
A12
PA12
SPI_NPCS0
B18
PB18
EF100/ADTRG
A9
PA9
CTS1/SPI0_NPCS3
B19
PB19
PWM0/TCLK1
A10
PA10
TWD
B20
PB20
PWM1/PCK0
VREF
VREF
B21
PB21
PWM2/PCK1
A8
PA8
RTS1/SPI0_NPCS2
B22
PB22
PWM3/PCK2
B29
PB29
PWM3/PCK2
B23
PB23
TIOA0/DCD1
B30
PB30
PCK2/PWM3/AD3
B24
PB24
TIOB0/DSR1
B27
PB27
TIOA2/PWM0/AD0
B25
PB25
TIOA1/DTR1
B28
PB28
TIOB2/PWM1/AD1
B26
PB26
TIOB1/RI1
AD6
AD6
-
A27
PA27
TIOA2/PWM0/AD0
AD7
AD7
-
A28
PA28
TIOB2/PWM1/AD1
AD4
AD4
-
A29
PA29
PCK1/PWM2/AD2
AD5
AD5
-
TDO
TDO
-
D-
USP_DDM
-
JTAG_SEL
JTAG_SEL
-
D+
USB_DDP
-
TMS
TMS
-
A7
PA7
SCK1/SPI0_NPCS1
TCK
TCK
-
ERAS
ERASE_FLASH
-
A30
PA30
PCK2/PWM3/AD3
A5
PA5
RXD1
A0
PA0
RKD0
A6
PA6
TXD1
A1
PA1
TXD0
A2
PA2
-
A3
PA3
RTS0
A4
PA4
-
Tabela 1 Opis wyprowadzeń
7
3
Opis części sprzętowej MMsam7x
3.1 Układ zasilania
Minimoduł MMsam7x może być zasilany na dwa sposoby:
Stabilizowanym napięciem 3,3V podanym na końcówkę oznaczoną jako 3V3
Napięciem niestabilizowanym w zakresie 3,8V do 16V podanym na końcówkę
oznaczoną jako VCC .
Rysunek 3 Stabilizator 3.3V
Jeżeli zasilamy minimoduł przez końcówkę VCC, to napięcie 3.3V wytwarzane jest na
module za pomocą stabilizatora U3. Napięcie 3.3V może w takiej sytuacji być również
używane na zewnątrz modułu pod warunkiem, że pobór prądu nie przekroczy ok. 300mA.
UWAGA! Używanie jednocześnie dwóch sposobów zasilania, grozi
uszkodzeniem sprzętu.
8
3.2 Pamięć FLASH
Minimoduł może zostać wyposażony w pamięć SerialFlash AT41DB642D firmy
ATMEL o pojemności 8MB. Pamięć podłączona jest do szybkiej magistrali SPI. o prędkości
transmisji do 10Mb/s.
Układ pamięci aktywowany jest po podaniu niskiego poziomu logicznego na wejście /CS.
Wyprowadzenie /CS podłączone jest do portu PA12 mikrokontrolera.
Poza PA12 magistrala SPI zajmuje trzy końcówki procesora: PA16, PA17, PA18.
Należy pamiętać, że jeżeli zamontowana jest pamięć DataFlash, to wymienione końcówki
portów nie mogą być używane na zewnątrz modułu. Oczywiście magistrala SPI może być
wykorzystana do komunikacji z zewnętrznymi peryferiami, pod warunkiem, że będą one
posiadały wejścia wyboru układu (CS). Poniższy schemat przedstawia połączenie pamięci
DataFlash wewnątrz modułu.
Rysunek 4 Podłączenie pamięci Serial Flash
Pamięć jest dostępna bezpośrednio poprzez odpowiednie wyprowadzenia
minimodułu:
PA12 – SPI /CS
PA18 – SPI_SCK
PA16 – SPI_MISO
PA17 – SPI_MOSI
Linia wyboru układu
Wejście Zegarowe
Wyjście Danych
Wejście Danych
Wlutowanie rezystora R10 (stan niski na wyprowadzeniu /WP) zabezpiecza pamięć
przed zapisem.
Opis pamięci Serial Flash znajduje się na stronie firmy Atmel: www.atmel.com.
9
3.3 Układ podciągający linię USB DDP
Host USB rozpoznaje obecność urządzenia full-speed na magistrali na podstawie
podciągania linii USB_DDP do wysokiego poziomu logicznego. W moduł MMsam7x został
wbudowany układ podciągający, który jest przedstawiony na rysunku 5.
Rysunek 5 Układ podciągający linię USB_DDP
Podciąganie jest domyślnie wyłączone. Wlutowanie rezystora R5 pozwala na
sterowanie poprzez port PA1 mikrokontrolera. Wlutowanie rezystora R6 pozwala na stałe
włączyć podciąganie linii USB_DDP.
10
4
4 Programowanie
Poniższy opis przedstawia sposób zaprogramowania MMsam7x za pomocą
programatora ARMcable I firmy Propox i za pomocą środowiska Crossworks for ARM.
4.1 Podłączenie programatora
JTAG jest czteroprzewodowym interfejsem umożliwiającym przejęcie kontroli nad
rdzeniem procesora. Możliwości oferowane przez ten interfejs to m.in.: praca krokowa,
praca z pełną szybkością, pułapki sprzętowe oraz programowe, podgląd oraz modyfikacja
zawartości rejestrów i pamięci. Sposób bezpośredniego podłączenia programatora
ARMcable I do minimodułu, przedstawiono na rysunku 6.
Rysunek 6 Połączenie modułu MMsam7x ze złączem JTAG.
W przypadku płyty EVBmmTm programator ARMcable I podłączamy do złącza IDC20
na płycie. Od tej pory wszystkie sygnały programatora-debbugera dostępne są na złączu
goldpin opisanym jako JTAG. Połączenia pomiędzy minimodułem a złączem JTAG należy
wykonać tak jak przedstawia to rysunek 7
11
4.2 Konfiguracja środowiska programistycznego
Poniższy przykład opisuje konfiguracje środowiska Crossworks for ARM firmy Rowley
w wersji 1.5. Wersja demonstracyjna jest dostępna na stronie producenta oprogramowania
http://www.rowley.co.uk/arm/index.htm.
Przykładowe oprogramowanie do minimodułu MMsam7x, dostępne jest na stronie
www.propox.com zawarte w pliku MMsam7x_Samples. Mając zainstalowane środowisko
Crossworks oraz podłączony programator, należy postępować z poniższymi wskazówkami:
Uruchamiamy środowisko Crossworks for ARM
Z zakładki Tools wybieramy Download package from Web
Otworzy się okno, w którym rozwijamy CPU Support Packages i wybieramy
ATMEL, a następnie AT91SAM7
Ściągamy plik na : Atmel_AT91SAM7S_AT91SAM7X_AT91SAM7A3.hzq i
zapisujemy na dysku
W programie Crossworks, w zakładce Tools wybieramy Instal packages.. i
wskazujemy ścieżkę do ściągniętego pliku.
12
Jeśli prawidłowo zostanie zainstalowana paczka, to ujrzymy okno z informacją o
zainstalowanych paczkach.
Otwieramy przykładowy projekt klikając na File/Open Solution. Podajemy ścieżkę
dostępu do zapisanego na dysku katalogu z przykładami MMsam7x_Samples i
wybieramy MMsam7x_Samples.hzp
W okienku Project Explorer pokaże się drzewo programów jakie wchodzą w skład
AT91SAM7_Samples.hzp
Dwukrotnie klikamy na program LED uaktywniając w ten sposób program zapalający
diody LED podłączone do portów PA1-PA8 Aktywny program zaznaczony jest
wytłuszczoną czcionką.
W zakładce Target wybieramy Connect Macraigor Wiggler (20pin) łącząc się przy
tym z programatorem JTAG
Następnie z zakładki Build wybieramy Build and Run
Po wykonaniu tych czynności na portach portów PA1-PA8 będą się zmieniały stany
logiczne w okresie 1sek.
13
5
Dostępne wersje
Minimoduł można zamówić w różnych konfiguracjach według następującego
selektora:
MMsam7x – f – d
Rozmiar pamięci Flash:
0 – 256kB
1 – 512kB
Rozmiar pamięci DataFlash:
0 – brak pamięci
1 – 4MB (AT45DB321)
2– 8MB (AT45DB642)
6
Dostępne akcesoria
Do minimodułu MMsam7, dostępne są następujące akcesoria:
przewody peryferyjne jednożyłowe
płyta ewaluacyjna EVBmmTm
programator ARMcable I, ARMcable II
14
7
Dane techniczne
Mikrokontroler
Pamięć programu
Pamięć danych
Pamięć DataFlash
Ilość wejść/wyjść cyfrowych
Ilość wejść analogowych
Zasilanie
Maksymalny pobór prądu
Wymiary
Waga ok.
Zakres temperatur pracy
Wilgotność
Złącza
AT91SAM7x
do 512kB
do 128kB
do 8MB
do 60
do 8
3.8V do 16.5V
300mA
56mm x 48mm
100g
-40 – 85ºC
5 – 95%
Dwa złącza szpilkowe 2x40 wyprowadzenia
8
Pomoc techniczna
W celu uzyskania pomocy technicznej prosimy o kontakt [email protected]. W
pytaniu prosimy o umieszczenie następujących informacji:
Numer wersji minimodułu
Kompletnej nazwy używanego układu mikrokontrolera
Sposób zasilania
Rodzaj środowiska i programatora
Szczegółowego opisu problemu
15
9
Przykładowe oprogramowanie
Przykładowe programy i biblioteki dostępne są na stronie www.propox.com w dziale
MMsam7x.
10
Gwarancja
Moduł MMsam7x objęty jest sześciomiesięczną gwarancją. Wszystkie wady i
uszkodzenia nie spowodowanie przez użytkownika zostaną usunięte na koszt producenta.
Koszt transportu ponoszony jest przez kupującego.
Producent nie ponosi żadnej odpowiedzialności za zniszczeni i uszkodzenia powstałe
w wyniku użytkowania systemu MMsam7x.
16
17