BlackCard ATMEGA128 

 

            Poniżej przedstawię krótki opis nowej karty w prowadzonej do sprzedaży przez VGJelektronika

Jest nią ATMEGA BlackCard do której budowy wykorzystano procesor Atmel ATmega 128 (16AI), EEpromem 24C256 oraz kwarc 16 Mhz. Oczywiście nie zapomniano o komplecie LEDów: jednej czerwonej, jednej żółtej/(pomarańczowej), oraz sześciu zielonych.

               

Więc jest to "konfiguracja" dość nadmiarowa w porównaniu z dotychczasową w FunCard (o jedna dioda więcej) i należy mieć nadzieję że przyszłe programy na tą kartę z pożytkiem wykorzystają tą ilość LEDów. Niestety zabrakło złącza na podłączenie ewentualnego wyświetlacza LCD.

Płytka karty wykonana jest w technologii smd - druk tylko po jednej stronie. Najlepiej jakość wykonania pokażą zdjęcia tej karty z obu stron:

            Widok od strony ścieżek drukowanych:

              Widok od drugiej strony - nic interesującego poza kwarcem i zworkami:

Kliknij na zdjęciu aby zobaczyć kartę w powiększeniu - rozmiar zdjęcia 107 + 106 KB [alternatywny link do zdjęć - szybszy serwer: zdjęcie_1, zdjęcie_2]

Karta dostępna jest w dwóch wersjach: ATMEGA FULL którą przedstawiono powyżej jak i ATMEGA LITE która zawiera tylko procesor ATmega 128 (16AI) oraz oczywiście płytkę - wszystkie pozostałe elementy musimy sobie sami potem wlutować w zależności od potrzeb. Jak to bywa w takich przypadkach karta w wersji LITE jest odpowiednio tańsza ..  ;)

              Widok fragmentu karty w wersji LITE

Kliknij na zdjęciu aby zobaczyć kartę w powiększeniu - rozmiar zdjęcia 50,4 KB

 Opis zworek dostępnych na karcie:

            Powyższa karta została zastąpiona nowszym modelem: ver 1.1. Od wersji poprzedniej różni się tylko dodaniem zworek na miejsce L1, L2, L3 - ułatwia to zmianę konfiguracji karty bez potrzeby lutowania jakiś "zwieraczy"/drucików. Można także zauważyć kolorowe obudowy LEDów. Poniżej pokazano wygląd nowej karty:

            Widok od strony ścieżek drukowanych:

Kliknij na zdjęciu aby zobaczyć kartę w powiększeniu - rozmiar zdjęcia 134 KB  
              Widok od drugiej strony - nic interesującego poza kwarcem i nowymi zworkami:

        Na zakończenie kilka słów o programowaniu karty. Kartę BlackCard można zaprogramować programatorem JGPAP (np. w wersji 2.0) lub programatorem Epsilona Multiprog PLUS  v. 2.12, do tego zestawu najlepiej wykorzystać soft JGprog-PAP by JG2000. Przy programowaniu postępujemy podobnie do tego jak to zostało opisane przy programowaniu karty FunCard. Zmieniamy tylko typ karty w polu:

W przypadku gdy używamy programatora JGPAP v2.0 zaznaczamy opcję:

        W chwili gdy pisany jest ten dokument jak na razie nie ma softu wykorzystującego ext.eeprom - a loader do jego wgrania jest w trakcie pisania i jak tylko będzie to ukaże sie wraz z nowym JGPROG-iem. Przyszły loader będzie mógł być wykorzystany do każdego eeproma 126, 256, 512 w JGPROG-u

Więc na razie nie zajmujemy się ext. eepromem (choć w chwili obecnej można go zaprogramować wykorzystując inne programatory). 

W programie JGprog-PAP by JG2000 mamy także możliwość ustawienia bitów FUSE:

Na razie radzę pozostawić pola w tym okienku w spokoju - nic nie zmieniamy, domyślne ustawienie jest poprawne. A "grzebanie" w tych ustawieniach może tylko zaszkodzić jeśli nie wiemy co ustawiamy. Np. nie wolno przełączać w tryb 103 (M103C - ATmega103 compatibility mode) bo układ nie zgłosi sie już jako ATMega128 oraz nie wolno zmieniać ustawienia dla zewnętrznego generatora bo na kwarcu od tej pory ATMega już nie wystartuje. Po dokładniejszy opis znaczenia wszystkich FUSE bit odsyłam do dokumentacji układu ATMega 128.

Jeśli ustawimy bity tak jak poniżej:

Ustawienia dla CLK XTAL(int) 

Ext Fuse
0
0

 

Fuse High
0   0
1   1
1   1
1   0
Fuse Low
0   0 
0   0
0   0
1   1

to np. test diód jest taktowany kwarcem lub taktem z programatora.

Domyślne ustawienia JGprog-PAP są na generator wewnętrzny a powyższe ustawienia są na takt zewnętrzny dla ATMegi. Jednak ostrzegam: samodzielne ustawianie bitów może wiązać sie z zablokowaniem procesora !!! Mnie to już raz spotkało i prawie przez pół dnia sie męczyłem z jego odblokowaniem (dodam tylko że bez lutownicy się nie obyło ...) ;)

        Dobrym sprawdzianem w pierwszych próbach programowania jest wgranie do karty softu testującego LEDy dostarczonego w raz softem JGprog-PAP by JG2000. Plik BlackCard_test_led.hex znajdujący się w katalogu \Test wgrywamy do karty. Polecam wybrać opcję programowania "Programuj FLASH/EEPROM int" mimo że do int. eeproma nic nie wgrywamy. Dlaczego ? Bo jeśli wcześniej w jakiś sposób skasowano ustawione bity FUSE w układzie (np. wybierając opcję kasowania układu ...) to programując tylko FLASH lub tylko int. eeprom bity te nie są programowane a jeśli programujemy z opcją flash + int to programują się jednocześnie potrzebne bity m.in. te odpowiadające za to skąd brać takt i aby układ pracował w trybie 128.

Po zaprogramowaniu karty praktycznie zaraz widzimy efekt (czasami trzeba jeszcze zresetować kartę albo wyłączyć i włączyć na niej zasilanie) - diody zaczynają cyklicznie świecić w sposób widoczny na poniższych zdjęciach:

 

        Ogólnie karty ATMega128 programować można wsadami z funki pod warunkiem PRZEKOMPILOWANIA źródeł z FunCard na ATMega. A to nie jest takie proste bo źródła jakiejś aplikacji, czy to w asm czy c (tu będzie łatwiej) trzeba odpowiednio przerobić o dostosować do nowego CPU (inne rejestry, adresy w pamięci, nowe wyprowadzenia przez porty dla LEDów itp.).

 

Ostatnia aktualizacja: 21.08.2002

Wróć