Programowanie kart FUN (AVR) programatorem Multiprog PLUS
(by Epsilon ver. 2.12)

  O karcie:

Karty FUN (AVR) oparte są o procesor Atmel'a AT 90s8515 i pamięć szeregową 24(L)C64 (lub większą 24(L)C128/24(L)C256). Zaprogramowanie karty będzie zatem polegało zarówno na zaprogramowaniu procesora gdzie mieści się jego program, jak i zewnętrznej pamięci eeprom, gdzie mieszczą się dodatkowe dane. 
Procesor
AT 90s8515 posiada zarówno główny obszar programowania (Flash) na program jak również swój wewnętrzny eeprom, gdzie także mogą znajdować się dane dla programu. W przypadku procesorów AT 90s8515 dane dla procesora i jego wewnętrznej pamięci eeprom zazwyczaj są rozdzielane na 2 osobne pliki (chociaż nie jest to regułą - może być to jeden plik zawierający zarówno dane dla obszaru flash procesora jak i wewnętrznej pamięci eeprom).
Styki programowania zewnętrznej pamięci EEPROM /24(L)C64/ nie są bezpośrednio wyprowadzone, na złącze programatora lecz połączone z procesorem. Dlatego też programowanie zewnętrznej pamięci EEPROM musi odbywać się w sposób pośredni ("through AVR programming") poprzez procesor. W tym celu narzędzia do programowania umieszczają na procesorze AVR tzw. loader - czyli program procesora, który umożliwia zaprogramowanie pamięci poprzez procesor (dane do programowania pamięci trafiają do procesora a ten programuje nimi pamięć).  

Kolejność programowania jest następująca:
1)       Programowanie procesora AVR plikiem loader
2)       Programowanie pamięci EEPROM „poprzez AVR” docelowym plikiem dla zewnętrznego eeprom’a
3)       Programowanie procesora AVR docelowym plikiem AVR’a. (obszar flash i wewnętrzny eeprom)

Plik loader'a jest plikiem potrzebnym jedynie do zaprogramowania zewnętrznego EEPROM’a (potem zostaje nadpisany przez docelowy plik AVR’a) – musi być on zgodny z typem procesora i programem użytym do programowania EEPROM’a. Plik ten zazwyczaj jest już „wbudowany” w narzędzie do programowania (np. program Chipcat) lub pobierany automatycznie z katalogu narzędzia (JGprog-PAP) - zatem użytkownik nie musi ręcznie wprowadzać lokalizacji loader'a.

Programowanie procesora AVR (zarówno loader jak i docelowe pliki pamięci FLASH procesora i jego wewnętrznej pamięci eeprom) odbywa się w trybie AVR-SPI programatora, natomiast  programowanie zewnętrznej pamięci EEPROM (24cXX) w trybie Phoenix/Smartmouse.

W przypadku używania programator’a Multiprog PLUS (v.2.12)  by Epsilon – który zawiera w sobie oba wymienione programatory (a także tryb JDM ISO) – czynność „przełączania” sprowadza się do przestawienia trybu pracy programatora wygodnym przełącznikiem znajdującym się obok slotu smart-card.  

Przed uruchomieniem narzędzia do programowania podłączamy programator dołączonym*  przewodem D-Sub 9F/M do wolnego portu COM (szeregowego) komputera i do zasilacza. Na programatorze powinna zapalić się jedna z zielonych diod LED informująca o prawidłowym zasilaniu programatora i wskazująca obecny tryb jego pracy.

Wsuwamy kartę FUN do slotu smart-card programatora, stykami do programowania (wyprowadzone na polach  C4/C8 złącza ISO) do dołu (Dla kart FUN by Epsilon układami do góry).

 

Programowanie Kart FUN programem Multiprog PLUS v. 2.12 (Windows):

Programem JGprog-PAP

Program JGprog-PAP jest wygodnym narzędziem obsługującym w chwili obecnej (wer. z 30.01.2002) karty:
- Wafer Card PIC16F84 + 24C16
- Pic Card 2 PIC16F876 + 24C64
- Fun Card AT90S8515 + 24C64
- a także inne zgodne z układem połączeń w/w kart

Program współpracuje z systemami WIN9x/NT/2000/XP a interface użytkownika jest całkowicie w jęz. polskim.
W trybie Phoenix (programowanie pamięci poprzez procesor) wymaga standardowej konfiguracji - tj. reset skonfigurowany normalnie i częstotliwość pracy 3,57MHz.

 

 


Po  uruchomieniu programu należy wybrać prawidłowy port COM – (ten do którego mamy podłączony programator) 
zakładka „Opcje programu”.
Dla programatora Multiprog PLUS ustawiamy ten sam port dla AVR/PIC i dla trybu Phoenix. 
W kolejnych okienkach możemy zmienić czasy opóźnień transmisji w ms (TXDelay) i czasy opóźnień odpowiedzi na reset (ATR Delay), w następnych: szybkość CLK osobno dla procesorów PIC i AVR (PIC Speed CLK, AVR Speed CLK) oraz opóźnienia zapisu (PIC Write Delay / AVR Write Delay).
W oknie opisowym mamy podane optymalne wartości dla systemów Windows 9x i NT. W przypadku błędów podczas programowania należy zwiększyć wartości TXDelay, ATR Delay oraz Write Delay oraz zmniejszyć Speed CLK. Dla przyspieszenia procesu programowania - odwrotnie. 
W kolejnym okienku zaznaczamy czy życzymy sobie weryfikacji (sprawdzenia poprawności programowania) - osobno dla obszaru flash i wew. eeprom'a procesora jak i dla zewnętrznej pamięci eeprom (polecamy zaznaczenie tych opcji).


Następnie z listwy wybieramy typ karty który chcemy zaprogramować 
- w tym wypadku Fun Card.

 

Załadowanie odpowiednich plików do programowania procesora odbywa się poprzez kliknięcie przycisku   

Wybieramy kolejno "Wczytaj Flash" dla wskazania lokalizacji pliku zawierającego program procesora, analogicznie wskazujemy lokalizację dla plików wewnętrznego eeprom'a procesora ("Wczytaj EEPROM int.") 
Program przełączy się na zakładkę Flash  i pokaże zawartość bufora dla wczytanych plików.
Program JGprogPAP akceptuje także pliki zawierające dane dla obszaru flash procesora jak i wew. pamięci eeprom w jednym pliku - w takim przypadku nie ma znaczenia czy wybierzemy "Wczytaj Flash" czy "Wczytaj EEPROM int." - zawartość buforów zarówno dla Flash jak i wew. eeprom'a zostanie od razu wczytana i widoczna.

 

Analogicznie wybieramy ("Wczytaj EEPROM ext.") dla wskazania lokalizacji pliku dla  zewnętrznej pamięci eeprom. Podobnie jak poprzednio program przełączy się na zakładkę (EEPROM ext.) w której pojawi się zawartość pliku.

 


Istnieje także możliwość ustawienia "Lock Bits" - tj. bitów zabezpieczeń - pozwalających na zabezpieczenie zczytania programu procesora. Aby uniemożliwić późniejsze zczytanie zawartości programu z procesora - zaznaczamy tą opcję mieszczącą się na listwie na dole okna programu. (Bity te nie mają nic wspólnego z bitami FSTRT i SPIEN - możliwymi do ustawienia jedynie w programatorach równolegle (konwencjonalnie) programujących AVR'y) 

Po załadowaniu w/w plików i upewnieniu się, że karta  jest prawidłowo umieszczona w  programatorze można rozpocząć programowanie. 
Wciskamy przycisk: i wybieramy obszar który chcemy zaprogramować - w celu zaprogramowania całej karty - "Programuj FULL".

Jeśli wszystko zostało prawidłowo podłączone i skonfigurowane – programowanie będzie przebiegać w poniższy sposób:    

 

1) Pojawi się okno komunikatu z prośbą o przełączenie programatora w tryb FUN (AVR-SPI)

   Przełączamy programator Multiprog PLUS w ten tryb (przełącznik w prawo)
    i klikamy przycisk OK.

    Program rozpocznie programowanie procesora loaderem pamięci eeprom.
  
- zostanie włączony tryb SPI, 
    - rozpoznanie procesora (sygnatury)
    - procesor zostanie skasowany
    - rozpocznie sie wgrywanie loadera

Postęp programowania uwidoczniony będzie na pasku obok listwy wyboru typu karty.

 

2) Pojawi się okno komunikatu z prośbą o przełączenie programatora w tryb Phoenix.

Przełączamy programator Multiprog PLUS w ten tryb (przełącznik w położenie środkowe /jumpery konfiguracji resetu i częstotliwości muszą być ustawione w położenie domyślne = reset normalny tj. tryb Phoenix, częstotliwość generatora 3,57MHz/)
 i klikamy przycisk OK.

Program rozpocznie programowanie zewnętrznej pamięci eeprom wskazanym wcześniej plikiem (na karcie będą migać naraz czerwona i zielona dioda LED).
Jeśli w opcjach programu została zaznaczona weryfikacja "EEPROM ext." - po zaprogramowaniu nastąpi weryfikacja poprawności programowania zewnętrznej pamięci eeprom (na karcie będzie migać już tylko zielona dioda).

 

3) Pojawi się okno komunikatu z prośbą o przełączenie programatora ponownie w tryb FUN (AVR-SPI)

Przełączamy programator Multiprog PLUS w ten tryb (przełącznik w prawo)
 i klikamy przycisk OK.

Program rozpocznie programowanie obszaru flash i wewnętrznej pamięci eeprom procesora wskazanym(i) wcześniej plikiem(-ami) 
Jeśli w opcjach programu została zaznaczona weryfikacja "FLASH/EEPROM int." - po zaprogramowaniu nastąpi weryfikacja poprawności programowania procesora.

Na koniec program ustawi bity zabezpieczenia procesora (Lock Bits) i wyłączy tryb SPI.
W tym momencie karta została całkowicie zaprogramowana


(c) Epsilon 2002