eksperyment z najnowszymi procesorami ATMELA


P R O J E K T Y Z A G R A N I C Z N E
System rozwojowy AVR-RISC
eksperyment z najnowszymi procesoremi RISC Atmela
Aby zapewniĘ swojej nowej mniane wcześniej oprogramowa-
8-bitowy procesor AVR-RISC
rodzinie procesorÛw dobry start, nie i dokumentacja, materiaÅ‚ ten
AT90S1200 firmy Atmel,
Atmel przygotowaÅ‚ sporo narzÍdzi nie jest wolny od opÅ‚at. Ponie-
dostÍpny od jakiegoÅ› czasu,
programowych, dostÍpnych bez- waÅ‚ miesiÍcznik Elektor Elect-
daÅ‚ siÍ juÅ‚ poznaĘ jako
pÅ‚atnie na jego stronie WWW. Jest ronics stale kieruje siÍ w stronÍ
bardzo szybki. Cena teł jest
tam, na przykład, kompletny aktywnych (to jest lutujących)
dobra, gdył mniej nił
asembler (dla DOS-a, jak rÛwnieÅ‚ entuzjastÛw elektroniki, zaczÍ-
3 funty, to tanio nawet na
dla Windows) i symulator. Odpo- liśmy rozwijaĘ nasz własny sys-
rynku hobbystÛw. Tak wiÍc
wiednie dane techniczne i doku- tem eksperymentalny -
zastÄ…pienie kilku ukÅ‚adÛw
mentacjÍ oprogramowania moÅ‚na programator dla procesorÛw
logicznych (z podstawkami)
rÛwnieÅ‚ Å›ciÄ…gaĘ za darmo. A wiÍc, AVR-RISC.
ukÅ‚adem AVR moÅ‚e siÍ jeÅ›li chcesz siÍ zapoznaĘ z tym Jego schemat elektryczny
nowym procesorem bez wyrzeka- przedstawiono na rys. 1. Najwał-
opłacaĘ. Jednak najbardziej
nia siÍ dotychczasowego sprzÍtu, niejszym elementem programatora
interesujÄ…cÄ… cechÄ… tego
radzimy zerknąĘ na stronÍ jest szeÅ›ciokrotny przerzutnik
procesora jest to, Å‚e ma
www.atmel.com, gdzie znajdziesz Schmitta, ktÛry zamienia sygnaÅ‚y
interfejs szeregowy
mnÛstwo interesujÄ…cych treÅ›ci, interfejsu szeregowego PC (RS232)
z bezpoÅ›rednim dostÍpem do
wÅ‚Ä…cznie z: na poziomy, ktÛre mogÄ… byĘ prze-
wewnÍtrznej pamiÍci. OgÛlna
- asemblerem rodziny Atmel AVR; twarzane przez interfejs szerego-
koncepcja procesora AVR była
- symulatorem rodziny Atmel wy procesora, ktÛry nie jest kom-
juł omawiana w EE
AVR; patybilny ani z RS232, ani
w styczniu 1998. Celem
- przykÅ‚adami programÛw ilustru- z innym asynchronicznym. Dlate-
niniejszego artykułu jest
jÄ…cych prostotÍ arytmetyki oraz go jest tam przeÅ‚Ä…cznik umoÅ‚li-
przedstawienie kilku bardziej sposÛb korzystania z pamiÍci wiajÄ…cy przeÅ‚Ä…czanie pomiÍdzy Å‚a-
EEPROM. dowaniem oprogramowania (ang.
praktycznych zastosowaÒ
software download) a wykonywa-
układu 90S1200
System rozwojowy niem programu (ang. run pro-
z wykorzystaniem Å‚atwo
Atmel udostÍpniÅ‚ rÛwnieÅ‚ gram) oraz moÅ‚liwośĘ wmontowa-
dostÍpnego sprzÍtu
pÅ‚ytkÍ demonstracyjnÄ… i zwiÄ…za- nia kwarcu lub moduÅ‚u oscylatora
i oprogramowania.
ne z nią oprogramowanie steru- kwarcowego, generującego sygnał
jące. Inaczej jednak nił wspo- zegarowy procesora.
Elektronika Praktyczna 3/99
21
P R O J E K T Y Z A G R A N I C Z N E
Tab. 1.
Programy PC
SER90
program narzędziowy ładowania pro-
gramów płytki rozwojowej. Na dyskietce
plik zródłowy w Pascalu.
V24COM
program komunikacji szeregowej V24.
Na dyskietce załączono plik zródłowy
w Pascalu.
AVRASM.EXE
asembler AVR (wersja DOS). Załączony
dzięki uprzejmości Atmel UK.
Programy przykładowe AT90S1200
XSEROUT1
wyprowadza znaki za pośrednictwem
RS232, 9600 bitów/s
XHEXOUT1
wyprowadza rejestry za pośrednictwem
RS232, format heksadecymalny
XHEXOUT1
wyprowadza wszystkie 32 rejestry
(zrzut) za pośrednictwem RS232
XDECOUT1
wyprowadza 24-bitowe wartości (0 -
16777215), format dziesiętny, za po-
średnictwem RS232
XSERIN
Rys. 1. Schemat elektryczny systemu rozwojowego AVR.
wprowadza znaki za pośrednictwem
RS232, 9600 bitów/s
JeÅ›li przewidujesz zastosowa- stÍpnie ze strony Atmela tworzÄ…
XFMES1
nia wymagające dułej precyzji kompletny pakiet umołliwiający
pomiar częstotliwości do 5MHz, bramka
(na przykÅ‚ad pomiary czÍstotli- rozpoczÍcie pracy z zestawem.
1s, wyjście RS232, format dziesiętny,
wości lub czasu), najlepszym wy-
9600 bitów/s
borem jest moduł oscylatora (osa- Przykładowe programy XTMES1
pomiar czasu, 1ms do 8s, rozdzielczość
dzony w podstawce). W takim Dobrym sposobem uczenia siÍ
0,5ms, wyjście RS232, 9600 bitów/s
przypadku montowany jest tylko programowania mikroprocesorÛw
XNCO1
oscylator IC1, natomiast X1, C1 jest testowanie w pełni funkcjo-
oscylator sterowany numerycznie, wyj-
i C2 naleÅ‚y po prostu pominąĘ. nujÄ…cych programÛw, a nastÍpnie
ście 77,5kHz przy zastosowaniu kwarcu
Przy mniej krytycznych aplika- ich modyfikowanie i rozszerza-
12MHz
cjach kwarc jest oczywiście bar- nie. W przypadku nowych opra- XNCO2
generator piły sterowany numerycznie,
dziej oszczÍdnÄ… opcjÄ…. JeÅ›li za- cowaÒ procesorÛw, decydujÄ…cym
programowany za pośrednictwem
mierzasz programowaĘ mnÛstwo czynnikiem jest czÍsto to, czy
RS232
procesorÛw, zaleca siÍ stosowa- gotowe moduÅ‚y programowe sÄ…
XFRQDIV1
nie gniazda ZIF (ang. zero-inser- dostÍpne, czy teÅ‚ nie. ModuÅ‚y
preskaler dzielÄ…cy przez N, N programo-
tion force - o zerowej sile wty- takie mogÄ… uwolniĘ CiÍ od ciÍ-
wane za pośrednictwem RS232
kania). To jest to! Ze wzglÍdu na Å‚aru pisania, powiedzmy, wÅ‚as- XPATGEN1
prosty 8-kanałowy generator wzorca
swojÄ… prostotÍ, ukÅ‚ad moÅ‚e byĘ nych podprogramÛw wprowadza-
XPATGEN2
zmontowany na kawaÅ‚ku pÅ‚ytki nia/wyprowadzania znakÛw, aby
prosty 8-kanałowy generator wzorca,
uniwersalnej. poprzestaĘ tylko na tym jednym
wzorzec korygowany za pośrednictwem
przykładzie.
RS232
Program narzÍdziowy Dyskietka projektu zawiera
XDIV625
Å‚adowania szeregowego pewnÄ… liczbÍ takich moduÅ‚Ûw
preskaler dzielÄ…cy przez 625, impulsy
Aby umoÅ‚liwiĘ Å‚adowanie do (patrz tab. 1), co powinno pomÛc nie nakÅ‚adajÄ…ce siÄ™
procesora programÛw tworzonych niedoÅ›wiadczonym poczÄ…tkujÄ…cym,
przez Atmel Assembler, potrzebu- w koncentrowaniu siÍ na bardziej przedstawia przeglÄ…d dostÍpnych
jesz specjalnego oprogramowania zasadniczych tematach podczas programÛw, uzupeÅ‚niony krÛtkimi
Å‚adujÄ…cego. PoniewaÅ‚ autor nie procesu uczenia siÍ. Niestety, peÅ‚- opisami i przykÅ‚adami zastosowaÒ.
znalazÅ‚ odpowiedniego programu ne omÛwienie wszystkich modu- W tym artykule przedstawiamy
na stronie WWW Atmela, zapro- Å‚Ûw z dyskietki przekracza roz- tylko kilka gÅ‚Ûwnych pomysÅ‚Ûw,
ponowaÅ‚ wÅ‚asne rozwiÄ…zanie. Ten miary niniejszego artykuÅ‚u. ktÛre mogÄ… byĘ zrealizowane za
program i plik jego kodu ürÛdÅ‚o- Tych z Was, ktÛrzy interesujÄ… poÅ›rednictwem AT90S1200. Na-
wego (napisanego w Pascalu) jest siÍ szczegÛÅ‚ami programowania, szym celem jest zebranie tych
dostÍpny na dyskietce o numerze odsyÅ‚amy do komentarzy plikÛw zastosowaÒ, w ktÛrych szybkośĘ
katalogowym 986020-1. Dyskietka kodÛw ürÛdÅ‚owych na dyskietce jest czynnikiem decydujÄ…cym.
ta i oprogramowanie Å›ciÄ…gniÍte na- i do pliku XAVR.DOC, ktÛry Ostatecznie, nie ma sensu, aby
Elektronika Praktyczna 3/99
22
P R O J E K T Y Z A G R A N I C Z N E
WYKAZ ELEMENTÓW
Rezystory
R1, R5, R10, R11: 10k&!
R2, R6, R12, R13: 100k&!
R3, R7, R8, R9, R24, R25: 1k&!
R4: 5,6k&!
R14, R16, R18, R20, R22, R23:
20k&! 1%
R15, R17, R19, R21: 10k&! 1%
Kondensatory
C1, C2: 22pF, ceramiczne (patrz
tekst)
C3: 100nF/25V, stojacy
C4: 10nF/10V, stojÄ…cy
C5, C6, C7: 100nF, ceramiczny
Półprzewodniki
D1: 1N4001
D2: LED, czerwona wysokospraw-
na
IC1: SG531P12.0000MHz EPSON
(Eurodis), patrz tekst
IC2: 74HC14
IC3: 7805
Różne
X1: 12MHz, patrz tekst
K1: 24-stykowy Aries 0,3-0,6 cala
(Famel)
JP1, JP2, JP3: 2-stykowe zwory
S1: przełącznik suwakowy, 1-
pozycyjny, do druku
K2: 9-stykowe gniazdo SUB-D
Rys. 2. Architektura procesora Atmel AT90S1200.
K3: złącze 10-stykowe
(opcjonalne)
K4: gniazdo zasilacza sieciowego,
tak szybka bestia, jak procesor Instrukcja co 66ns:
do druku
AVR-RISC włączała i wyłączała zastosowania
Dyskietka: nr katalogowy
lampÍ co kilka sekund! Takich Procesor AT90S1200 moÅ‚e pra-
986020-1
zastosowaÒ nie znajdziesz w tym cowaĘ z czÍstotliwoÅ›ciÄ… zegara aÅ‚
artykule. Przeciwnie, nauczysz siÍ, do 16MHz. PoniewaÅ‚ wiÍkszośĘ
na przykÅ‚ad, jak tworzyĘ rÛÅ‚ne instrukcji wykonuje siÍ w jednym ma dostÍp do caÅ‚ej armii rejes-
pochodne sygnaÅ‚y zegarowe ze cyklu impulsÛw zegara, jest moÅ‚- trÛw i do akumulatora zdolnego
ürÛdÅ‚a 10MHz. Takie zastosowa- liwe wykonywanie instrukcji wykonywaĘ sumowanie! Ci spo-
nie jest na pewno zbyt wielkim z szybkoÅ›ciÄ… 16 milionÛw na se- Å›rÛd was, ktÛrzy kiedykolwiek
wymaganiem dla procesora 8051, kundÍ. A wiÍc jeÅ›li chcesz, by prÛbowali zmusiĘ programowalne
natomiast AT90S1200 mołe mu pewien podprogram był wykony- układy logiczne do prostych ob-
podoÅ‚aĘ z Å‚atwoÅ›ciÄ…! wany milion razy na sekundÍ, liczeÒ, doceniÄ… to uÅ‚atwienie.
odnośna sekcja programu mołe
mieĘ dÅ‚ugośĘ od 10 do 16 instruk- AT90S1200: krÛtki
cji. Za pośrednictwem takiej licz- przegląd
by instrukcji moÅ‚na wykonaĘ wca- GÅ‚Ûwnie z powodu swojej ar-
le niemało. Oczywiście, wyłącznie chitektury RISC, struktura proce-
na poziomie sprzÍtowym, ktÛÅ‚ sora AT90S1200 pozostaje cudow-
bowiem mołe wyobraziĘ sobie nie prosta. Jej zarys przedstawio-
program dla Windows o dÅ‚ugoÅ›ci no na rys. 2. SekcjÄ… szczegÛlnie
tylko kilkudziesiÍciu bajtÛw? nas interesujÄ…cÄ… jest matryca 30
NaprawdÍ szybki procesor mo- rejestrÛw 8-bitowych, ktÛre mogÄ…
Å‚e byĘ czÍsto uÅ‚yty dla zaoszczÍ- byĘ wykorzystane do przeprowa-
dzenia kilku cyfrowych ukÅ‚adÛw dzania obliczeÒ i przechowywania
scalonych, gdy wymagana szyb- wynikÛw. Dalej, sÄ… tam dwa porty
Rys. 3. Dzięki swojej wydajności
kośĘ nie jest ał tak duła, by wejścia/wyjścia (Port B i Port D),
kontrolery Atmel sÄ… w stanie
stosowaĘ kosztowne programowal- ktÛrych kaÅ‚de wyprowadzenie jest
generować złożone wzorce
ne układy logiczne. Wielką zaletą indywidualnie konfigurowalne ja-
sygnałów cyfrowych z częstotliwoś-
takiego mikrokontrolera jest to, łe ko wejście lub jako wyjście.
ciami znacznie powyżej 10MHz.
Elektronika Praktyczna 3/99
23
P R O J E K T Y Z A G R A N I C Z N E
Wykonywanie programu rator taki jest budowany przy nie z sygnałami zegara. Nie po-
przebiega pod kontrolÄ… sygnaÅ‚u wykorzystaniu moduÅ‚Ûw licznika winieneÅ› uznaĘ za zbyt trudnÄ…
taktujÄ…cego o czÍstotliwoÅ›ci ze- i dekoderÛw, a koÒcowy ukÅ‚ad takÄ… modyfikacjÍ programu, by
gara centralnego, ktÛra moÅ‚e moÅ‚e byĘ dośĘ skomplikowany, ksztaÅ‚t sygnaÅ‚u nie zmieniaÅ‚ siÍ
mieĘ dowolnÄ… wartośĘ pomiÍ- poniewaÅ‚ moÅ‚e wymagaĘ wielu w trakcie szeÅ›ciu poczÄ…tkowych
dzy 0 a 16MHz. Ponadto, jest dodatkowych elementÛw, aby cykli zegara, a nastÍpnie, na
tam system sterowania przerwa- przeciwdziałaĘ powstawaniu nie- przykład, po odczekaniu do-
niami i maÅ‚y 8-bitowy timer/ poÅ‚Ä…danych efektÛw impulsowych kÅ‚adnie 428376233 okresÛw
licznik. (pikÛw). zegara caÅ‚y cykl zaczynaÅ‚ siÍ od
Kompletny opis procesora Przy czÍstotliwoÅ›ciach poni- nowa. Wszystko, czego potrze-
AT90S1200 obejmuje około 50 łej 16MHz jest jednak doskonale bujesz dla realizacji tej funkcji,
stron, a zainteresowanym czytel- mołliwe zatrudnienie procesora to licznik zdolny utrzymaĘ ślad
nikom usilnie polecamy poszuki- RISC. Na przykÅ‚ad, wzÛr impul- poÅ‚Ä…danej liczby cykli zegara.
wanie go w Internecie lub u lo- sÛw, przedstawiony na rys. 3 Do tego celu wystarczÄ… cztery
kalnego dystrybutora firmy At- jest tworzony przy pomocy pro- rejestry procesora, połączone
mel. gramu zamieszczonego na list. 1. w jedną całośĘ o długości 32
A oto przykÅ‚ad programowania Program ten jest krÛtki, a jego bitÛw i kilka dodatkowych in-
umoÅ‚liwiajÄ…cy zapoznanie siÍ dziaÅ‚anie ogranicza siÍ do Å‚ado- strukcji. Nie jest potrzebne Å‚ad-
z kontrolerem AVR. wania rejestrÛw od r17 do r22 ne lutowanie, gdy z jakiegokol-
poÅ‚Ä…danÄ… kombinacjÄ… sygnaÅ‚Ûw. wiek powodu naleÅ‚y zmieniĘ
Prosty cyfrowy generator NastÍpnie, do wyprowadzania liczbÍ cykli. Wszystko, co mu-
sÅ‚Ûw wartoÅ›ci z maksymalnÄ… szybkoÅ›- sisz zrobiĘ, to zmiana kilku
Poniewał AT90S1200 jest cią poprzez Port B zastosowano stałych w programie i to jest to.
w stanie pracowaĘ z dowolnÄ… pÍtlÍ. ElastycznośĘ tego rodzaju jest
czÍstotliwoÅ›ciÄ… zegara pomiÍdzy Program ten moÅ‚e byĘ mody- po prostu niedostÍpna w trady-
0Hz (praca statyczna) a 16MHz, fikowany na wiele sposobÛw. cyjnej logice poÅ‚Ä…czeÒ druto-
doskonale nadaje siÍ do wyko- Na przykÅ‚ad, poprzez wÅ‚Ä…czenie wych, a bardzo kosztowna w lo-
rzystania jako generator zÅ‚oÅ‚onych pÍtli opÛünienia moÅ‚esz two- gice programowalnej (w szcze-
sygnaÅ‚Ûw wzorcowych, opartych rzyĘ sygnaÅ‚y o bardzo dÅ‚ugich gÛlnoÅ›ci narzÍdzia rozwojowe).
na tylko jednej czÍstotliwoÅ›ci cen- okresach, taktowanych z dokÅ‚ad- Kolekcja przykÅ‚adowych pro-
tralnego zegara. Zazwyczaj gene- noÅ›ciÄ… kwarcu lub synchronicz- gramÛw, znajdujÄ…ca siÍ na dys-
kietce projektu, obejmuje prosty
generator sygnaÅ‚Ûw wzorcowych
odczytujÄ…cy swojÄ… informacjÍ wzo-
ru z szeregowego interfejsu (za
pośrednictwem XPATGEN2.EXE
i XPATGEN2.PAT).
EE
Artykuł publikujemy na pod-
stawie umowy z redakcjÄ… mie-
siÍcznika "Elektor Electronics".
Editorial items appearing on
pages 21..24 are the copyright
property of (C) Segment B.V., the
Netherlands, 1998 which reserves
all rights.
Elektronika Praktyczna 3/99
24


Wyszukiwarka

Podobne podstrony:
procesy
Wyświetlacz MMI z 6 kanałowym procesorem dźwięku (9VD)
rup process engineerQCC276E
2010 artykul MAPOWANIE PROCESOW Nieznany
Formy i procesy peryglacjalne
EKO VI Promocja jako proces komunikacji
Kalendarium procesu?atyfikac
04 Rozmyte Syst Ekspertowe
MEDIA w procesie socjalizacji

więcej podobnych podstron