Uwaga!

ISP Programmer nie jest już wspierany ani rozwijany. Proszę rozważyć zakup programatora USB i użycie programu AVR Studio, avrdude itp. Kod źródłowy pozostaje na serwerze Sourceforge SVN jak do tej pory.

Programator ten obsługuje mikrokontrolery jednoukładowe firmy Atmel z rodziny 89Sxx ('51), ATtiny, ATmega i 90Sxx (AVR). Służy do kasowania wbudowanych w nie pamięci Flash i EEPROM oraz zapisywania i odczytywania zawartości tychże. Programator obsługuje również szeregowe pamięci Atmel DataFlash. Komunikacja z układem odbywa się szeregowo w systemie (tzw. ISP - In-System Programming) czyli bez wyjmowania układu z podstawki / bez wylutowywania.

  Pełny kod źródłowy teraz dostępny na SourceForge.


Programowany mikrokontroler dołącza się do portu drukarki komputera PC (bezpośrednio przewodami, poza sygnałem STROBE, patrz uwaga poniżej) zgodnie z następującym spisem połączeń:

  Linia          Linia portu   numer pinu
  procesora      drukarki      portu drukarki

  [STROBE] ----  STROBE        1
  RESET    ----  AUTOLF        14
  MOSI     ----  INIT          16
  SCK      ----  SLCT-IN       17
  MISO     ----  ACK           10
  GND      ----  GND           25


Sygnałem STROBE dołączonym do pinu nr 1 portu drukarki można sterować włączeniem 3-stanowych buforów magistrali szeregowej (SCK,MISO,MOSI). Jego użycie jest opcjonalne. W przypadku dołączenia linii portu drukarki bezpośrednio do wyprowadzeń mikrokontrolera należy zadbać o to, aby realizowana na nich podczas programowania transmisja szeregowa nie zakłócała działania pozostałej części urządzenia, w którym znajduje się mikrokontroler. Czyli np. linie te nie powinny być dołączone do sygnałów wyboru urządzeń peryferyjnych takich jak wyświetlacz LCD.

Przykładowy schemat rozbudowanego kabla programatora (z buforem 3-stanowym):

cable schematic


Podłączenie kabla po stronie mikrokontrolera jest zależne od rodzaju układu, sygnały programujące wyprowadzone są na różne piny dla różnych kontrolerów. Polecam lekturę dokumentacji producenta.

W programatorze można ustawić dowolny inny schemat połączeń, np. zgodny z AT-Prog, SI-Prog, UISP, STK200/300 lub AEC ISP. Można także przypisać dowolne piny portu drukarki do sygnałów programowania procesora i wybrać polaryzację sygnału RESET.

UWAGA: W przypadku pamięci szeregowej Atmel DataFlash, zamiast sygnału RESET podłączamy linię ChipSelect.

Aktualnie obsługiwane mikrokontrolery:

  • AT89S2051, AT89S4051, AT89S51, AT89LS51, AT89S52, AT89LS52, AT89S53, AT89S8252, AT89S8253
  • AT90S1200, AT90S2313, AT90S2323, AT90S2333, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535, AT90CAN32, AT90CAN64, AT90CAN128, AT90PWM2, AT90PWM3, AT90USB646, AT90USB647, AT90USB82, AT90USB162, AT90USB1286, AT90USB1287
  • ATtiny12, ATtiny13, ATtiny15, ATtiny24, ATtiny25, ATtiny26, ATtiny44, ATtiny45, ATtiny84, ATtiny85, ATtiny261, ATtiny461, ATtiny861, ATtiny2313
  • ATmega48, ATmega48P, ATmega8, ATmega88, ATmega88P, ATmega8515, ATmega8535, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164P, ATmega165P, ATmega168, ATmega168P, ATmega169, ATmega32, ATmega323, ATmega324P, ATmega325, ATmega328P, ATmega329, ATmega64, ATmega128, ATmega640, ATmega644, ATmega644P, ATmega645, ATmega649, ATmega1280, ATmega1281, ATmega1284P, ATmega2560, ATmega2561, ATmega3250, ATmega3290, ATmega6450, ATmega6490

Aktualnie obsługiwane pamięci szeregowe Flash:

  • AT45DB011B, AT45DB011D, AT45DB021B, AT45DB021D, AT45DB041B, AT45DB041D, AT45DB081B, AT45DB081D, AT45DB161B, AT45DB161D, AT45DB321B, AT45DB321C, AT45DB321D, AT45DB642D, AT45CS1282
  • AT25DF021, AT25DF041A, AT25DF081, AT26DF081, AT25DF161, AT26DF161, AT25DF321, AT25DF641, AT25F512B, AT25FS010, AT26F004

Wszystkie ustawienia programu są przechowywane w rejestrze systemowym, mogą być także zapamiętane w pliku tekstowym.

Programator ISP pracuje pod kontrolą systemów operacyjnych Windows 95, 98, Me, NT 4.0, 2000, XP, 2003, Vista oraz Windows 7 (wersje 32-bitowe i 64-bitowe).

Przykłady działania programu w systemie Windows 7 64-bit:

screenshot


screenshot


screenshot