Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega + pamiec = jaki programator

02 Sie 2006 11:38 2281 11
  • Poziom 14  
    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
  • Poziom 14  
    mega128 jest programowana przez pinyPDi,PDO,SCK + Reset,vcc,gnd. Czyli wszystko gra :D. Programujesz zwykłym ISP mosi-pdi,miso-pdo
  • Poziom 14  
    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?? )
  • Specjalista techniki cyfrowej
    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.
  • Poziom 14  
    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).
  • Specjalista techniki cyfrowej
    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 :/
  • Poziom 14  
    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).
  • Poziom 14  
    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
    Specjalista techniki cyfrowej
    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.
  • Poziom 14  
    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
  • Specjalista techniki cyfrowej
    '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
  • Poziom 14  
    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 : Atmega + pamiec = jaki programator