piątek, 1 kwietnia 2011

ISP - Co to takiego?


Autor: Dondu

Dawno, dawno temu, gdzieś w odległej galaktyce ...
był sobie inżynier pracujący nad projektem pewnego tajemnego urządzenia. Do szewskiej pasji doprowadziło go w końcu ciągłe wyciąganie i wkładanie mikrokontrolerów w celu ich zaprogramowania. I nie pomogły podstawki zaciskowe ... zdesperowany krzyknął:

Inżynier:
No more!!! I hate it so much, #*^$* oraz $#*$@^#$* !!!


I tak powstał ISP (j.ang. In System Programming), czyli interfejs programowania mikrokontrolera bezpośrednio na docelowej, zmontowanej płytce prototypu lub gotowego urządzenia. Zalety takiego systemu są kolosalne tym bardziej w czasach miniaturyzacji i montażu elementów elektronicznych w technologii SMD.

No, może było trochę inaczej - może to SMD zmusiło do tego kroku inżynierów :-)
A może jedno i drugie? Kto to wie?

Niemniej jednak trzy litery ISP zrewolucjonizowały zabawę z mikrokontrolerami!

Na czym to polega?
Najkrócej mówiąc projektując układ powinieneś przewidzieć złącze oraz odpowiednie połączenie go z mikrokontrolerem za pomocą zaledwie 4 przewodów i GND (masa), plus ewentualnie także Vcc (plus zasilania). Resztę załatwia programator i mikrokontroler.

Różnie to jest rozwiązane u różnych producentów mikrokontrolerów:

ISP w standardzie Atmel (widok gniazd od góry).
Rys. 1 - ISP w standardzie Atmel (widok gniazd od góry).
Poniżej znajdziesz zdjęcia.

Uwaga! Niektóre mikrokontrolery Atmel AVR do programowania używają pinów PDO i PDI, zamiast pinów MISO i MOSI.



Standard ISP dla mikrokontrolerów PIC firmy Microchip.
Rys. 2 - Microchip ISP


Ale są z tym związane pewne kłopoty, gdy chcesz te piny wykorzystać także do innych celów:

Teraz już kolega glina29:

glina29
Ten kurs jest na programator ISP a jak już wcześniej pisałem ja mam usbasp.


będzie potrafił rozróżnić standard programowania ISP, od programatora USBasp, czy innych działających w tym standardzie.


Nie mogę zaprogramować mikrokontrolera!

Jeżeli masz problemy z zaprogramowaniem mikrkontrolera, to znajdziesz kompendium różnych przyczyn w tym artykule: Problemy z zaprogramowaniem mikrokontrolera



Problem z kondensatorami na pinach RESET

Często, by zwiększyć odporność układu na zakłócenia stosuje się kondensator na pinie resetu mikrokontrolera. Niestety może on uniemożliwić programowanie tak podłączonego mikrokontrolera. producenci programatorów zwracają na to uwagę w ich dokumentacji:

Kondensatory i rezystory oraz diody, mogą przeszkadzać w programowaniu mikrokontrolera.

Dotyczy to  każdego mikrokontrolera, nie tylko Microchipa. Aby temu zaradzić możesz postępować tak, jak opisałem to w punkcie Reset vs kondensator


Trochę przydatnych zdjęć

Programator USBasp - oznaczenia pinów złącza ISP.
Rys. Programator USBasp.

Dwie wersje standardu gniazda ISP (10 i 6 pinów).
Rys. Dwie wersje standardu ISP (10 i 6 pinów).

Taśma łącząca IDC wraz z opisem sygnałów we wtyczce.
Rys. Taśma łącząca IDC.


Jak podłączyć programator do płytki stykowej?
Przykłady znajdziesz tutaj: Płytka stykowa

3 komentarze: