Mikrokontrolery AVR - ISP - pl.pdf

(1018 KB) Pobierz
Microsoft Word - Programowanie ISP STK200
Programatory i zestawy uruchomieniowe - www.maxlab.prv.pl
Jak programować AVRa w systemie, czyli bez konieczności wyciągania
mikrokontrolera z układu ?
- Producent AVRów firma Atmel zaproponowała standard złącza 10-pinowego,
jak na rysunku poniżej
pin 2 = VCC
pin 4,6,8,10 = GND
Gdzie MOSI , MISO , SCLK i RESET to sygnały służące do programowania,
GND to masa układu, a VCC służy do zasilania programatora z tego samego
źródła co programowany mikrokontroler tak, aby programator poprawnie
współpracował pod względem poziomu napięć sygnałów logicznych. Wyjście LED
służy do opcjonalnego podłączenia diody LED, która pokazuje stan pracy
programatora. Dioda może być podłączana bezpośrednio między pin LED a VCC .
Układ należy więc wyposażyć w złącze 10-stykowe z pinami odpowiednio
doprowadzonymi do zasilania i sygnałów programujących AVRa.
Przykłady podłączania programatora do mikrokontrolera AVR.
Przykład przyłącza do programatora dla mikrokontrolera Attiny12.
1
12030879.003.png 12030879.004.png
Programatory i zestawy uruchomieniowe - www.maxlab.prv.pl
Przykład przyłącza do programatora dla mikrokontrolera AT90S2313.
Przykład przyłącza do programatora dla mikrokontrolera Atmega161.
2
12030879.005.png
Programatory i zestawy uruchomieniowe - www.maxlab.prv.pl
Przykład przyłącza do programatora dla mikrokontrolera Atmega163.
W większości przypadków podłączenie programatora do mikrokontrolera nie
odbiega od podstawowej koncepcji, lecz istnieją od tej reguły WYJĄTKI ! Przykładem
może być mikrokontroler Atmega128, co widać na poniższym rysunku.
3
12030879.006.png
Programatory i zestawy uruchomieniowe - www.maxlab.prv.pl
Przykład przyłącza do programatora dla mikrokontrolera Atmega128.
Ze względu na występowanie różnic w podłączeniu niektórych mikrokontrolerów
do programatora, należy zawsze sprawdzić w oryginalnej dokumentacji, które
wyprowadzenie służą do programowania szeregowego.
Co zrobić jeśli te same wyprowadzenia mikrokontrolera, które służą do
programowania mają także sterować jakimś blokiem cyfrowym w układzie
właściwym?
Użycie do programowania sygnałów MOSI, MISO i SCK nie oznacza, że nie mogą
one służyć do normalnej pracy mikrokontrolera w układzie docelowym. Jeśli w normalnej
pracy mikrokontrolera sygnały te służą zawsze jako wyjście, czyli AVR steruje jakimś
blokiem cyfrowym, to nie ma problemu, gdyż podczas programowania wszystkie
pozostałe układy podłączone do tych linii są wejściami i nie zakłócają programowania.
Jeśli jednak któryś z pinów służących do programowania, jest użyty w normalnej
pracy jako wejście mikrokontrolera, to nie można bezpośrednio podłączyć programatora
do tego pinu, gdyż dany układ cyfrowy może wymusić na tej linii własny stan logiczny i
programowanie nie będzie możliwe. Sytuacja taka przedstawiona jest na poniższym
rysunku.
4
12030879.001.png
Programatory i zestawy uruchomieniowe - www.maxlab.prv.pl
W powyższym układzie powstaje konflikt logiczny między sygnałami programatora
i sygnałami wyjściowymi z bramek 74HC04. Rozwiązywanie tego typu konfliktów realizuje
się na dwa różne sposoby. Pierwszy to fizyczne oddzielenie wybranych wyprowadzeń
mikrokontrolera od reszty układu na pomocą zworek, jak pokazuje to rysunek poniżej.
5
12030879.002.png
Zgłoś jeśli naruszono regulamin