Kurs podstawowy
Podłączamy programator do mikrokontrolera

Główną cechą mikrokontrolerów jest wykonywanie przez nie zapisanego w ich pamięci programu. Program do mikrokontrolera wgrywa się korzystając z programatora. Artykuł ten opisuje w jaki sposób podłączyć programator do mikrokontrolera korzystając z interfejsu SPI.

Programatory ISP posiadają złącze służące do komunikacji z mikrokontrolerem. Występują dwa rodzaje złącz, 10 i 6 stykowe, Najpopularniejszym rodzajem złącza jest złącze 10 stykowe tzw. KANDA, które oprócz podstawowych linii sygnałowych MISO, MOSI, CLK i RST posiada jeszcze 5 styki połączone z masą. Styki masy rozmieszczono w sposób, który powoduje, że w 10 żyłowej taśmie ułożone są na przemian z liniami sygnałowymi, co zminimalizować ma wpływ zakłóceń w procesie programowania. Przy stosowaniu złącza KANDA można zastosować dłuższą taśmę zakończoną wtyczkami. Drugi rodzajem złącza, jest złącze 6 stykowe, posiadające cztery podstawowe linie sygnałowe i po jednym styku VCC i masy.

 

Opis styków złącz ISP.

Rys. 1. Opis styków złącz ISP.

 

Mamy już zbudowany układ, sterowniki programatora zainstalowane, więc możemy podłączyć programator do układu. Mikrokontrolery AVR wyposażone w interfejs SPI mają go domyślnie włączonego. Programator podłączamy do niezasilonego układu. Zaczynamy od podłączenia masy, następnie linie MISO, MOSI, CLK i RST. Na koniec możemy podłączyć styk VCC.

 

Podłączenie programatora

Rys. 2. Podłączenie programatora do mikrokontrolera.

 

Wystarczy nam najprostszy układ, gdyż wykorzystujemy wyłącznie bloki cyfrowe mikrokontrolera, nie podłączamy także przycisku do pinu RESET, aby nie komplikować sobie układu. Resetować mikrokontroler możemy poprzez odłączenie zasilania. Po podłączeniu programatora do układu weryfikujemy jeszcze raz poprawność układu połączeń i podłączamy programator do portu USB komputera. Na koniec podłączamy zasilanie do naszego układu. Wreszcie możemy sprawdzić, czy wszystko działa prawidłowo.

 

Zaczniemy od sprawdzenia programatora AVRISP MKII. W tym celu uruchamiamy Atmel Studio 7.0 i klikamy ikonę Device Programming.

 

Uruchomienie narzędzia do programowania mikrokontrolera.

Rys. 3 Uruchomienie narzędzia do programowania mikrokontrolera.

 

Otworzy nam się nowe okienko, w którym wybieramy programator, typ mikrokontrolera oraz interfejs programowania i klikamy przycisk Apply. W naszym przypadku programator to AVRISP MKII, mikrokontroler wybieramy ATmega32, interfejs ustawia się automatycznie.

 

Konfiguracja narzędzia do programowania.

Rys. 4. Ustawienie konfiguracji programowania.

Po tej czynności w oknie pojawi się nowa zawartość. Domyślnym widokiem jest panel ustawienia częstotliwości taktowania interfejsu ISP.

 

Ustawienie prędkości programowania.

Rys. 5. Panel ustawienia częstotliwości taktowania interfejsu ISP.

 

W celu sprawdzenia, czy programator prawidłowo komunikuje się z mikrokontrolerem klikamy opcję Device information. Czekamy chwilę i pokażą się informacje o używanym mikrokontrolerze. Oznacza to, ze komunikacja z mikrokontrolerem jest prawidłowa.

 

Informacje o podłączonym mikrokontrolerze

Rys. 6. Informacje o podłączonym mikrokontrolerze

 

Klikając na opcję Fuses wyświetli się panel do ustawiania fusebitów.

 

Odczyt fusebitów.

Rys. 7. Panel ustawiania fusebitów.

 

Tak więc programator AVRISP MKII mamy przetestowany. Zabieramy się za USBasp. Podłączamy programator USBasp do gniazda USB i uruchamiamy Wiersz poleceń. Przechodzimy do katalogu gdzie znajduje się program avrdude.exe. i wpisujemy polecenie:

avrdude -p m32 -c usbasp -p usb -B 8

 

Odczyt mikrokontrolera za pomocą avrdude.exe i USBASP.

Rys.8. Odczyt mikrokontrolera za pomocą programatora USBASP.

 

Widzimy, że avrdude.exe odczytał sygnaturę mikrokontrolera i zweryfikował rejestr fusebitów. Mamy więc poprawne połączenie między mikrokontrolerem, programatorem i komputerem.

 

 

Autor: Orici
Wyświetleń: 530|Komentarzy: 0|Ocena: 0|Głosów: 0