AVR-owe Fusy 2.pdf
(
245 KB
)
Pobierz
podzespoly.indd
P O D Z E S P O Ł Y
AVR-owe
„fusy”
część 2
Artykuł jest przeznaczony
przede wszystkim
dla Czytelników
początkujących
w dziedzinie
mikrokontrolerów.
Opisano w nim różnice
pomiędzy cyklem
zegarowym i cyklem
maszynowym oraz opcje
nastaw źródeł sygnału
zegarowego (sprawiające
często kłopoty
ustawianie bezpieczników
konfigurujących, tzw.
fuse’ów) w procesorach
AVR. Przedstawiono
wady i zalety różnych
rozwiązań, wskazano
także potencjalne
przyczyny problemów
oraz sposoby radzenia
sobie z nimi.
Nastawy bitów kontrolnych
Dla większości mikrokontrolerów
z rodziny AT90 nie ma potrzeby
martwić się o nastawy bitów kontrol-
nych (bezpieczników). Należy po pro-
stu podłączyć zewnętrzny oscylator
kwarcowy lub ceramiczny, ewentual-
nie generator zegarowy i już można
normalnie używać mikrokontrolera.
Inaczej jest w przypadku AVR z se-
rii ATMega.
Właściwy sposób nastawy zależy
od rodzaju używanego programatora
i jego oprogramowania. Nie można
niestety opisać jednej, uniwersalnej
metody dla wszystkich. W artykule
opiszę ogólne zasady wykonywania
nastaw oraz sposoby użycia popular-
nych narzędzi, takich jak AVR Stu-
dio (z dołączonym STK500 lub JTAG
ICE) oraz Bascom AVR (z dołączo-
nym STK300).
Sposób wykonywania nastaw
z dołączonym STK500 jest bardzo
prosty. Z menu wybieramy opcję
To-
ols
>
STK500
/
AVRISP
/
JTAG
ICE
. Ilustru-
je to
rys
.
4
.
Wyświetli się okno nastaw, gdzie
po wybraniu typu mikrokontrolera
oraz zakładki
Fuses
uzyskujemy moż-
liwość nastaw zegara. Pokazano to
na
rys
.
5
(fragment nastaw mikro-
kontrolera ATMega 128).
Na przykład zaznaczenie zna-
ku wyboru obok
Int
.
RC
Osc
.
1MHz
;
Start
-
up
time
:
6
CK
+
0ms
, a następ-
nie wybranie przycisku
Program
powo-
duje załączenie wewnętrznego oscylato-
ra o częstotliwości 1 MHz. Jednostka
centralna zostanie uruchomiona po 6
cyklach zegarowych. Opóźnienie wpro-
wadzane jest w celu ustabilizowania
się częstotliwości generatora po załą-
czeniu napięcia zasilania.
Zupełnie inaczej przeprowadza
się nastawy za pomocą programato-
ra wbudowanego w Bascom AVR. Po
uruchomieniu programatora należy
wybrać zakładkę
Lock
and
Fuse
Bits
.
Ukaże się okienko, jak na
rys
.
6
.
W moim przykładzie posłużyłem
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óźnienia do
uruchomienia CPU,
–
Fusebit
DCBA
– nastawa opcji
CKSEL.
Bascom ma rozbudowany sys-
tem podpowiedzi oferując listę opcji
do wyboru po wskazaniu którejś
Rys. 4. Wybór narzędzia STK500
z menu AVR Studio 4
Rys. 5. Okienko nastaw, zakładka
Fu-
ses
dla mikrokontrolera ATMega 128
94
Elektronika Praktyczna 10/2004
P O D Z E S P O Ł Y
Rys. 6. Wygląd zakładki
Lock
and
Fuse
Bits
aplikacji do obsługi programa-
tora w Bascom AVR
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óźnienia pomię-
dzy zanikiem zewnętrznego sygnału
zerowania a załączeniem CPU mikro-
kontrolera. Ten czas może być wybra-
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,
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. 7. Nastawy bitu 7 (dzielnik zegara)
Rys. 8. Nastawy bitów 98 (czas startu)
Rys. 9. Nastawy bitów DCBA (CKSEL)
Rys. 10. Wygląd ekranu programu
YAAP
Elektronika Praktyczna 10/2004
95
P O D Z E S P O Ł Y
Rys. 11. Schemat prostego generatora o częstotliwości stabilizowanej kwarcem
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.
O ewentualnych problemach z po-
jemnościami dołączonymi do XTAL1
i XTAL2 pisałem już wcześniej. Pomi-
nąłem jednak fakt, że bardzo istotna
przy dołączaniu wszelkich źródeł sy-
gnału zegarowego jest również długość
ścieżek łączących oscylator z mikro-
kontrolerem. Projektując płytkę druko-
waną należy zadbać o to, aby ścieżki
były jak najkrótsze, czyli żeby w prak-
tyce ich długość nie przekraczała 1
cm. Jeśli doprowadzenia będą dłuższe,
to może zdarzyć się (o ile oscylator
ze względu na wniesioną indukcyjność
i pojemność w ogóle będzie pracował),
że pracujące urządzenie z mikrokon-
trolerem będzie zakłócać inne, znajdu-
jące się w sąsiedztwie. Długa ścieżka
pracować będzie jak antena, a i am-
plituda sygnału mierzona na doprowa-
dzeniach oscylatora nie jest zbyt mała.
Może nawet oscylować w zakresie po-
ziomów napięć TTL.
Jacek Bogusz
jacek.bogusz@ep.com.pl
kichkolwiek zmian. Program YAAP
współpracuje bardzo dobrze z pro-
gramatorem STK200/STK300. Według
mojej wiedzy jest to interfejs, który
zdecydowanie bardziej odpowiada
profesjonalistom niż amatorom.
wania interfejsu JTAG (oczywiście,
jeśli mikrokontroler jest w ten in-
terfejs wyposażony);
– niewłaściwych nastawach bitów
CKSEL.
Jeśli interfejs umożliwiający pro-
gramowanie szeregowe (SPI lub
JTAG) został wyłączony, to niestety
należy poszukać alternatywnej meto-
dy ustawienia bitów bezpieczników,
czyli najczęściej skorzystać z progra-
matora równoległego dla AVR. Moż-
na to zrobić również za pomocą
zestawu startowego dla AVR pro-
dukowanego przez firmę Atmel pod
oznaczeniem STK500.
Inaczej jest w przypadku złe-
go ustawienia bitów CKSEL (Fuse
DCBA). Niektóre z nastaw mogą wy-
magać podania zewnętrznego sygna-
łu zegarowego. W takim przypadku
należy podać na wejście XTAL1 sy-
gnał zegarowy z dowolnego generato-
ra (zbudowanego na przykład z bra-
Rozwiązywanie problemów
Początkującym programistom czę-
sto zdarza się, że po zaprogramowa-
niu bitów bezpieczników mikrokon-
troler przestaje pracować. Świadczą
o tym chociażby liczne pytania poja-
wiające się na grupach dyskusyjnych
w Internecie. Proszę się nie obawiać
– w normalnych warunkach zasilania
i eksploatacji mikrokontrolera nie da
się zepsuć za pomocą programatora
szeregowego. Przyczyny należy upa-
trywać w błędnie wykonanych nasta-
wach, a zwłaszcza w:
– ustawieniu bitu zabraniającego pro-
gramowania przez interfejs SPI;
– ustawieniu bitu zabraniającego uży-
96
Elektronika Praktyczna 10/2004
Plik z chomika:
adam1962
Inne pliki z tego folderu:
Przerwania_liczniki.pdf
(368 KB)
programatory.pdf
(940 KB)
stk200.pdf
(1339 KB)
Darmowe-wyszukiwanie-w-chomikuj.pl(1).rar
(1170 KB)
mikrokontrolery avr - isp - pl.pdf
(1018 KB)
Inne foldery tego chomika:
Bascom
Dokumenty
Galeria
PCB
Protel
Zgłoś jeśli
naruszono regulamin