logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jaki programator do ATMega128L z pamięcią AT45DB161B przy 3.3V?

PluszowyMisiu 02 Sie 2006 11:38 2572 11
REKLAMA
  • #1 2872586
    PluszowyMisiu
    Poziom 14  
    Posty: 151
    Ocena: 11
    Witam.
    Zaczynam swoja przygode z ATMegami, wczesniej tylko PICe.
    Dostalem od kolegi jakis stary uklad ktory jest wyposarzony w ATMega128L podlaczona jest do niego pod magistrale pamiec 1024kB, kilka peryferiow ( diody, bramki, itp ) i pamiec szeregowa AT45DB161B. W ukladzie wystepuje tylko napiecie 3.3V. Caly uklad jest sprawny.
    Teraz chcialbym go sobie poprogramowac tak zeby sie czegos nauczyc ( jakies diody tam sa wiec moge sobie zaczac od migania )
    moj problem polega na tym ze nie wiem jak go zaprogramowac. Sporo siedze juz nad ISP , roznymi prostymi typami programatorow i teraz pytanie do was:
    Czy bedzie dzialal plogramator STK200 bez kosci 74HCT244?? ( 5 lini podlaczonych bezposrednio pod procka)

    O, w ukladzie linie SCK,MOSI,MISO sa wykorzystystane do podlaczenia pamieci dataFlash. Podpiolem kabelki besposrednio pod uklad ale to nie dziala ( z reszta sie nie dziwie)
    W calym ukladzie jest wyprowadzona zlaczka do programowania tylko ona jest jakos dziwnie podpieta czyli do : 2-RXD, 3-TXD, 11-SCK, 20-RSC.
    I czym to programowac, co mi jest potrzebne??
    Prosze o pomoc.

    Jeszcze jedno : po podpieciu do programatora(pod ISP lub pod to 2 zlacze ) wyskakuje blad: "Wykryto bledna sygnature FF-FF-FF lub 00-00-00
  • REKLAMA
  • #2 2872680
    zolciak
    Poziom 15  
    Posty: 163
    Pomógł: 6
    Ocena: 9
    mega128 jest programowana przez pinyPDi,PDO,SCK + Reset,vcc,gnd. Czyli wszystko gra :D. Programujesz zwykłym ISP mosi-pdi,miso-pdo
  • #3 2872701
    PluszowyMisiu
    Poziom 14  
    Posty: 151
    Ocena: 11
    To juz ograniczamy sie do jednej zlaczki. Pozostalo sporo pytan bez odpowiedzi :)
    Nasuwa sie jeszcze jedno: " ATMege mozna programowac przez ISP i przez to co mam wyprowadzone ( jaki programator ?? Jaki program i jak nazywa sie to lacze?? )
  • REKLAMA
  • #4 2872726
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 135
    Jak już to nie bezpośrednio do portu LPT, a przez rezystory ograniczające prąd, zwłaszcza dlatego że różne są napięcia zasilania ATmegi i LPT.

    PluszowyMisiu napisał:
    W calym ukladzie jest wyprowadzona zlaczka do programowania tylko ona jest jakos dziwnie podpieta czyli do : 2-RXD, 3-TXD, 11-SCK, 20-RSC.
    I czym to programowac, co mi jest potrzebne??

    Albo jest to tylko jedno z urządzeń peryferyjnych na tej płytce, albo ATmega ma wgrany bootloader. W tym drugim przypadku prawdopodobnie do jego uaktywnienia służy jakiś przycisk na płytce. Do programowania tą metodą może wystarczyć jakiś terminal (program), ale niekoniecznie. Zobacz, czy na płytce jest MAX2323, albo 3232 (nie pamiętam, w każdym razie chodzi o 3 - woltową wersję MAX232), jak nie to będziesz potrzebował jeszcze takiego układu, żeby połączyć płytkę z PC.
    Najlepiej zapytaj poprzedniego właściciela (o ile oczywiście cokolwiek z tym układem robił).

    A co do wszelkiej maści klonów STK200 - wynalazki są to dziwne i potrafią być strasznie wredne, szczególnie w połąćzeniu z win xp. https://www.elektroda.pl/rtvforum/topic552978.html
    Sprawdź wszystko dokładnie, krótki kabel, najlepiej ekranowany, zewnętrzny zegar do proca i może ruszy.
  • #5 2872748
    PluszowyMisiu
    Poziom 14  
    Posty: 151
    Ocena: 11
    na ktore linie zalozyc rezystorki?? Domyslam sie ze 1K wystarczy. W ukladzie nie ma zadnych przyciskow ani maxa. Jest jedynie podlaczony do 2 i 3 m\nozki ukladzik do zewnetrznej komunikacji 485.
    Poprzedni wlasciciel : powiedzmy ze nie znany.
    Caly uklad mysle ze sluzyl do zapamietywania jakis informacji bo jest spora kosc pamieci, w cholere bramek wejsciowych ( buforowanych z zatrzaskami ) i kilka wyjsc. Do odbierania danych slurzyl pewnie ten ukladzik o ktorym wspomnialem ze jest podlaczony pod RXD i TXD (2,3n).
  • REKLAMA
  • #6 2872820
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 135
    Rezystory na wszystkie linie miedzy LPT a uC.
    A ten ukłąd to RS-485 może być, czyli bez konwertera na RS-232, ewentualnie karty z RS-485 nie połączysz tego z komputerem. Ten RS służył pewnie do przesyłania danych do komputera na jakąś większą odległość. W takim układzie raczej bootloadera tam nie ma :/
  • REKLAMA
  • #7 2872832
    zolciak
    Poziom 15  
    Posty: 163
    Pomógł: 6
    Ocena: 9
    tak jak pisalem PDI i PDO slużą do programowania przez ISP (np.STK200). Ten układzik o którym wspominasz to być może jakiś przłącznik programowanie - RS. Zobacz czy nie jest sterowny ze złącza programatora (przewaznie pin 3 - LED).
  • #8 2872854
    PluszowyMisiu
    Poziom 14  
    Posty: 151
    Ocena: 11
    Ten uklad na 100% nie sluzy do programowania jest to jakas mutacja RSa przemyslowego ( 3485EN ( firmy Simplex ) ). Z tego napewno pobierali informacje co sie dzialo, jakie warcosci. Ta zlaczka programatora ma tylko 6 pin ( Vcc, GND RST, SCK, PDI, PDO.

    Gdy probuje cos zczytac z calego ukladu programem ISPPROG to mam same wartosci FFF...
    Nie uzyskalem odpowiedzi czy musi byc ten ukladzik 74HC244??
    Jak sie dowiedziec czy uklad jest zabezpieczony przed nadpisaniem, skasowaniem czy cos w tym rodzaju i jak to usunac. Moze to jest problemem. Bo tam jakis program chodzi bo diody migaja jak glupie.
  • Pomocny post
    #9 2873614
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 135
    PluszowyMisiu napisał:
    Nie uzyskalem odpowiedzi czy musi byc ten ukladzik 74HC244??

    Nie musi, ale jest wskazany. Kiedyś miałem, teraz go nie mam i też działa.

    PluszowyMisiu napisał:
    Jak sie dowiedziec czy uklad jest zabezpieczony przed nadpisaniem, skasowaniem czy cos w tym rodzaju i jak to usunac.

    Sygnature układu powinno odczytywać bez względu na zabezpieczenia.
    Objawem blokady przed odczytem (a taką się najczęściej zakłąda) jest brak możliwości odczytu flasha (same ff, albo 00, nie pamiętam)
    Przed skasowaniem nie ma zabezpieczenia. Kasując ukłąd kasujesz też wszystkie zaprogramowane bity zabezpieczeń i możesz normalnie programować.
    PluszowyMisiu napisał:
    Moze to jest problemem. Bo tam jakis program chodzi bo diody migaja jak glupie.

    Jeżeli komunikacja zacznie działać prawidłowo to na pewno uda Ci się odczytać sygnaturę ukłądu i go skasować. Patrz też link do postu o STK200, który wyżej podałem. U mnie uC niesamowicie "mielił" portami, co skutecznie uniemożliwiało programowanie (wciąż nie wiem czemu :/). Spróbuj też doprowadzić sygnał zegarowy z zewnątrz do wejścia XTAL1 (o ile na płytce znajduje się kwarc 'napędzający' uC. Zauważyłem, że proce przestawione na pracę z kwarcem skutecznie odmawiają współpracy przy programowaniu, pracujące na wewnętrznym oscylatorze, czy z zewnętrznym sygnałem zegarowym nie mają takich problemów.
  • #10 2888656
    PluszowyMisiu
    Poziom 14  
    Posty: 151
    Ocena: 11
    Witam. Dalem sobie rade z programatorem. Uklad sie programuje ( narazie byle czym czyli "1F8F......" Same glupoty w hex i sie odczytuja :)
    teraz z koleji mam problem z kompilatorem WinAvr. Przy najprostrzym programie ( zapal led ) sypie bledem nr 2 a dokladnie : "> "make.exe" clean
    rm -rf *.o led.elf *.eps *.png *.pdf *.bak
    process_begin: CreateProcess((null), rm -rf *.o led.elf *.eps *.png *.pdf *.bak, ...) failed.
    make (e=2): Nie można odnaleźć określonego pliku.

    make.exe: *** [clean] Error 2

    > Process Exit Code: 2"

    Jesli nie znajde odpowiedzi zaloze nowego posta bo jeszcze nie szukalem w wszystkich zrodlach.

    - Czy musze zawsze kopiowac plik make.exe do katalogu w ktorym mam projekt ?? Jesli nie mam go tam skopiowanego to wyskakuje mi blad 0 czyli ze nie widzi pliku make.exe.??
    Pozdrawaim
  • #11 2889033
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 135
    'make' musi znajdować się w bierzącym katalogu, lub w jednym z katalogów, na który wskazuje zmienna środowiskowa PATH (systemowa).
    W win98 dopisywało się do w autoexec.bat, albo sonfig.sys. W katalogu z projektem powinien być tylko Makefile.

    W win xp: moj komputer -> wlasciwosci -> zaawansowane -> zmienne środowiskowe

    ja mam tak:
    D:\Program Files\Atmel\WinAVR\bin;D:\Program Files\Atmel\WinAVR\utils\bin;D:\MiKTeX\texmf\miktex\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;d:\program files\gnuarm\bin;;e:\Program Files\Common Files\GTK\2.0\bin

    screenshot: https://obrazki.elektroda.pl/52_1154951475.png
  • #12 2889076
    PluszowyMisiu
    Poziom 14  
    Posty: 151
    Ocena: 11
    Zrobilem wszystko przy pomocy programu dolaczonego do winAVR "MFile". Teraz napotykam kolejny problem :)
    Wszystko sie ladnie kompiluje:
    "#include <avr/io.h>
    #define LED_ON sbi(DDRB,PF7);sbi(PORTB,PF7)
    int main (void)
    {
    LED_ON;
    for (;;)
    {
    }
    return (0);
    }"

    Teraz trzeba to zaladowac do procka. Jak mowilem mam caly jakis uklad zlozony. Mam wolne 2 nozki czyli PF6 i PF7 i do PF7 podpiolem diode przez 1k do masy. Ten program wyzej jej nie zaswieca :(
    Czy to jest jakis problem ze mam caly uklad z pamiecia zewnetrzna ?? Jest tam kwarc 7M327. Przed skasowaniem wszystkiego caly uklad dzialal ( czyli wszystko jest sprawne ) Po skasowaniu calego poprzedniego programu, diody umieszczone na zatrzaskach sie swieca ( nawet bez programu ). Ja chce zeby mi sie ta jedna podlaczona pod PF7 zaswiecila. Co robie nie tak :(


    Ok juz wiem ze port F to tylko wejscie - ide kombinowac dalej. Jak by co bede pytal.

    Nawet po podlaczeniu pod PD4 nie dziala :( I co robic :)
    Moze jakies bity konfiguracyjne, czy cos takiego. Juz nie wiem
    Tak programuje : Jaki programator do ATMega128L z pamięcią AT45DB161B przy 3.3V?

Podsumowanie tematu

✨ Dyskusja dotyczy programowania mikrokontrolera ATMega128L z pamięcią szeregową AT45DB161B zasilanego napięciem 3.3V. Użytkownik pyta o możliwość użycia programatora STK200 bez układu 74HCT244 oraz o sposób programowania przez ISP, biorąc pod uwagę, że linie SCK, MOSI, MISO są wykorzystywane do komunikacji z pamięcią DataFlash. Wskazano, że programowanie odbywa się przez piny PDI, PDO, SCK, Reset, Vcc i GND, a rezystory ograniczające prąd na liniach programatora są zalecane, zwłaszcza przy różnym napięciu zasilania. Układ posiada interfejs RS-485 do komunikacji, co wyklucza obecność bootloadera i wymaga odpowiedniego podejścia do programowania. Użytkownik napotkał problem z odczytem pamięci (same wartości 0xFF), co może wskazywać na zabezpieczenia przed odczytem, jednak kasowanie układu usuwa te zabezpieczenia. Zalecane jest doprowadzenie zewnętrznego sygnału zegarowego do XTAL1, jeśli mikrokontroler jest ustawiony na pracę z kwarcem. Po rozwiązaniu problemów z programatorem, użytkownik ma trudności z kompilacją w środowisku WinAVR, związane z lokalizacją pliku make.exe i konfiguracją zmiennych środowiskowych PATH. W końcowej fazie próbuje uruchomić prosty program migania diodą, jednak porty mikrokontrolera (np. port F) mogą być skonfigurowane jako wejścia, co wymaga dalszej konfiguracji. Obecność zewnętrznej pamięci i peryferiów może wpływać na działanie układu, a diody na zatrzaskach świecą się niezależnie od programu, co wskazuje na działający poprzedni firmware.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA