P O D Z E S P O A Y
AVR-owe
Artykuł jest przeznaczony
przede wszystkim
dla Czytelników
fusy początkujących
w dziedzinie
mikrokontrolerów.
część 2
Opisano w nim różnice
pomiędzy cyklem
Nastawy bitów kontrolnych
zegarowym i cyklem
Dla większości mikrokontrolerów
z rodziny AT90 nie ma potrzeby
maszynowym oraz opcje
martwić się o nastawy bitów kontrol-
nastaw zródeł sygnału
nych (bezpieczników). Należy po pro-
stu podłączyć zewnętrzny oscylator
zegarowego (sprawiające
kwarcowy lub ceramiczny, ewentual-
nie generator zegarowy i już można
często kłopoty
normalnie używać mikrokontrolera. liwość nastaw zegara. Pokazano to
ustawianie bezpieczników
Inaczej jest w przypadku AVR z se- na rys. 5 (fragment nastaw mikro-
rii ATMega. kontrolera ATMega 128).
konfigurujących, tzw.
Właściwy sposób nastawy zależy Na przykład zaznaczenie zna-
od rodzaju używanego programatora ku wyboru obok Int. RC Osc. 1MHz;
fuse ów) w procesorach
i jego oprogramowania. Nie można Start-up time: 6 CK + 0ms, a następ-
AVR. Przedstawiono
niestety opisać jednej, uniwersalnej nie wybranie przycisku Program powo-
metody dla wszystkich. W artykule duje załączenie wewnętrznego oscylato-
wady i zalety różnych
opiszę ogólne zasady wykonywania ra o częstotliwości 1 MHz. Jednostka
nastaw oraz sposoby użycia popular- centralna zostanie uruchomiona po 6 rozwiązań, wskazano
nych narzędzi, takich jak AVR Stu- cyklach zegarowych. Opóznienie wpro-
także potencjalne
dio (z dołączonym STK500 lub JTAG wadzane jest w celu ustabilizowania
ICE) oraz Bascom AVR (z dołączo- się częstotliwości generatora po załą-
przyczyny problemów
nym STK300). czeniu napięcia zasilania.
oraz sposoby radzenia
Sposób wykonywania nastaw Zupełnie inaczej przeprowadza
z dołączonym STK500 jest bardzo się nastawy za pomocą programato-
sobie z nimi.
prosty. Z menu wybieramy opcję To- ra wbudowanego w Bascom AVR. Po
ols>STK500/AVRISP/JTAG ICE. Ilustru- uruchomieniu programatora należy
je to rys. 4. wybrać zakładkę Lock and Fuse Bits.
Wyświetli się okno nastaw, gdzie Ukaże się okienko, jak na rys. 6.
po wybraniu typu mikrokontrolera W moim przykładzie posłużyłem
oraz zakładki Fuses uzyskujemy moż- się mikrokontrolerem ATMega162.
Wyświetlone na ekranie bity są bar-
dzo podobne. Nastawy dotyczące ze-
gara mikrokontrolera, to:
Fusebit 7 wartość 1 oznacza wy-
dłużenie cyklu maszynowego do
16x cykl zegarowy,
Fusebit 98 liczba cykli zegaro-
wych oraz wartość opóznienia do
uruchomienia CPU,
Fusebit DCBA nastawa opcji
CKSEL.
Bascom ma rozbudowany sys-
tem podpowiedzi oferując listę opcji
Rys. 4. Wybór narzędzia STK500 Rys. 5. Okienko nastaw, zakładka Fu-
z menu AVR Studio 4 do wyboru po wskazaniu którejś ses dla mikrokontrolera ATMega 128
Elektronika Praktyczna 10/2004
94
P O D Z E S P O A Y
z nich. Na rys. 7, 8 i 9 pokazano
opcje dostępne dla interesujących
nas nastaw.
Nastawa Fusebit 7 w ATMega-
162 powoduje włączenie preskalera
zegara taktującego pracą procesora.
Dzięki temu możliwe jest obniżenie
szybkości pracy CPU, co może być
potrzebne w pewnych sytuacjach, na
przykład przy zasilaniu bateryjnym.
Stan bezpiecznika Fusebit 98
umożliwia nastawę opóznienia pomię-
dzy zanikiem zewnętrznego sygnału
zerowania a załączeniem CPU mikro-
Rys. 6. Wygląd zakładki Lock and Fuse Bits aplikacji do obsługi programa-
kontrolera. Ten czas może być wybra-
tora w Bascom AVR
ny np. w zależności od rodzaju uży-
tego generatora zegarowego. Jeśli dla
przykładu używany jest zewnętrzny
generator zegarowy, który uruchamia
się bardzo szybko czas ten może
być bardzo krótki. Gdy natomiast sto-
suje się rezonator kwarcowy, wyma-
gany jest dłuższy czas na stabilizację
generowanej częstotliwości.
Mimo iż Bascom podpowiada
sposoby nastaw bitów CKSEL, to
jednak każdorazowo należy odnieść
ich nastawę do opisu w nocie kata-
logowej danego typu mikrokontrole-
ra. Stan bezpieczników CKSEL kon-
troluje ustawienia rodzaju oscylatora,
Rys. 7. Nastawy bitu 7 (dzielnik zegara)
a w niektórych mikrokontrolerach
AVR również czas startu CPU.
Do nastawy bitów bezpieczników
oraz blokujących można również
użyć popularnego i opisywanego
w poprzednich numerach EP pro-
gramatora yaap. Interfejs nie jest aż
tak opisowy jak w Bascom, lecz ma
tę zaletę, że nastawy wszystkich bi-
tów widać jak na dłoni (rys. 10). Tu
niestety należy uzbroić się w kartę
katalogową przed wykonaniem ja-
Rys. 8. Nastawy bitów 98 (czas startu)
Rys. 10. Wygląd ekranu programu
Rys. 9. Nastawy bitów DCBA (CKSEL) YAAP
Elektronika Praktyczna 10/2004
95
P O D Z E S P O A Y
mek TTL) o częstotliwości właściwej
dla danego rodzaju mikrokontrolera
i poprawnie ustawić wartości bitów
bezpieczników. Przykładowy sche-
mat takiego generatora pokazano na
rys. 11. Oczywiście można użyć do-
wolnego innego obwodu.
Jeśli zasilenie wejścia XTAL1
z zewnętrznego generatora nie przy-
nosi skutku, to być może został
załączony generator pracujący z ze-
wnętrznymi elementami RC. Należy
dołączyć chociażby tymczasowo wy-
magane elementy i spróbować po-
nownie zaprogramować nastawy.
Rys. 11. Schemat prostego generatora o częstotliwości stabilizowanej kwarcem
O ewentualnych problemach z po-
kichkolwiek zmian. Program YAAP wania interfejsu JTAG (oczywiście, jemnościami dołączonymi do XTAL1
współpracuje bardzo dobrze z pro- jeśli mikrokontroler jest w ten in- i XTAL2 pisałem już wcześniej. Pomi-
gramatorem STK200/STK300. Według terfejs wyposażony); nąłem jednak fakt, że bardzo istotna
mojej wiedzy jest to interfejs, który niewłaściwych nastawach bitów przy dołączaniu wszelkich zródeł sy-
zdecydowanie bardziej odpowiada CKSEL. gnału zegarowego jest również długość
profesjonalistom niż amatorom. Jeśli interfejs umożliwiający pro- ścieżek łączących oscylator z mikro-
gramowanie szeregowe (SPI lub kontrolerem. Projektując płytkę druko-
Rozwiązywanie problemów JTAG) został wyłączony, to niestety waną należy zadbać o to, aby ścieżki
Początkującym programistom czę- należy poszukać alternatywnej meto- były jak najkrótsze, czyli żeby w prak-
sto zdarza się, że po zaprogramowa- dy ustawienia bitów bezpieczników, tyce ich długość nie przekraczała 1
niu bitów bezpieczników mikrokon- czyli najczęściej skorzystać z progra- cm. Jeśli doprowadzenia będą dłuższe,
troler przestaje pracować. Świadczą matora równoległego dla AVR. Moż- to może zdarzyć się (o ile oscylator
o tym chociażby liczne pytania poja- na to zrobić również za pomocą ze względu na wniesioną indukcyjność
wiające się na grupach dyskusyjnych zestawu startowego dla AVR pro- i pojemność w ogóle będzie pracował),
w Internecie. Proszę się nie obawiać dukowanego przez firmę Atmel pod że pracujące urządzenie z mikrokon-
w normalnych warunkach zasilania oznaczeniem STK500. trolerem będzie zakłócać inne, znajdu-
i eksploatacji mikrokontrolera nie da Inaczej jest w przypadku złe- jące się w sąsiedztwie. Długa ścieżka
się zepsuć za pomocą programatora go ustawienia bitów CKSEL (Fuse pracować będzie jak antena, a i am-
szeregowego. Przyczyny należy upa- DCBA). Niektóre z nastaw mogą wy- plituda sygnału mierzona na doprowa-
trywać w błędnie wykonanych nasta- magać podania zewnętrznego sygna- dzeniach oscylatora nie jest zbyt mała.
wach, a zwłaszcza w: łu zegarowego. W takim przypadku Może nawet oscylować w zakresie po-
ustawieniu bitu zabraniającego pro- należy podać na wejście XTAL1 sy- ziomów napięć TTL.
gramowania przez interfejs SPI; gnał zegarowy z dowolnego generato- Jacek Bogusz
ustawieniu bitu zabraniającego uży- ra (zbudowanego na przykład z bra- jacek.bogusz@ep.com.pl
Elektronika Praktyczna 10/2004
96
Wyszukiwarka
Podobne podstrony:
AVR owe fusy cz 1AVR owe Fusy 2AVR owe FusyAVR owe fusyKurs AVR GCC cz 5Zestaw uruchomieniowy do procesorow rodziny AVR i 51, cz 2Kurs AVR GCC, cz 3Kurs AVR GCC cz 2Ethernet i AVR–y, cz 1Ethernet i AVR–y, cz 3Kurs AVR GCC cz 3Ethernet i AVR–y, cz 5Kurs AVR GCC cz 1Kurs AVR GCC, cz 1Ethernet i AVR–y, cz 2Kurs AVR GCC, cz 5Kurs AVR GCC, cz 4więcej podobnych podstron