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

AT90S2313 oraz ATtiny2313 - problem z zaprogramowaniem

denooky 15 Lut 2007 16:54 2911 14
REKLAMA
  • #1 3575477
    denooky
    Poziom 20  
    Posty: 497
    Pomógł: 3
    Ocena: 26
    Witam!
    Zdaje sobie sprawe, ze na forum bylo juz conajmniej milion postow na ten temat, jednak nadal nie udalo mi sie rozwiazac mojego problemu. Uzywam zrobionego przez siebie STK200. Pierwotnie byl to programator do Atmega8, na pokladzie jest podstawka 28pin. Atmega programuje sie bez problemu (PonyProg 2.06f). Jest tez zlacze (wersja 10pin) do podlaczenia innych ukladow i za jego pomoca podlaczam czy to AT90S2313 czy ATtiny2313. PonyProg, jak i inne programy nie stwierdzja obecnosci wyzej wymienionych uC (Device missing or unknown device (-24)). Wykluczam zle podlaczenie ukladow pod odpowienie sygnaly, programator jest sprawny, bo Atmega sie programuje. Pracuje na Win2000. Kwarc przy ukladach 8MHz, pojemnosci 33pF. Uklady nieuzywane, takze wykluczam jakiekolwiek zablokowanie, itp. Probowalem juz zwiekszac delay`e w pliku konfiguracyjnym PonyProga - bez rezultatow. Probowalem roznych kabelkow, w koncu poprzestalem na kabelkach z tasmy od HDD, dlugosc <10cm. Co moze byc nie tak? Z gory dzieki za pomoc.
  • REKLAMA
  • #2 3575517
    msgow
    Poziom 27  
    Posty: 725
    Pomógł: 115
    Ocena: 88
    Witam
    Tez miałem problemy ale po przeglądnięciu aplikacji ukazały się różnice.
    PonyProgiem doło się programować ale musi być wybrany attiny bo inaczej nie pójdzie. Mam stk200/300
    Pozdrawiam.
  • REKLAMA
  • #3 3575540
    denooky
    Poziom 20  
    Posty: 497
    Pomógł: 3
    Ocena: 26
    Oczywiscie w PonyProgu wybieram stosownie uklad do tego, ktory probuje zaprogramowac.
  • #4 3575677
    msgow
    Poziom 27  
    Posty: 725
    Pomógł: 115
    Ocena: 88
    Skoro atmega się programuje tym samym programem i progiem to program i programator są sprawne.
    Dopatrywał bym się jednak złego podpięcia programatora .
    Ja mam wszystko we wtyczce i podłączam mosi ,miso ,scl, 5V , gnd, reset i wszystko się programuje . A programuje tym atmega8, 98s52, attiny2313.
    Może niech kolega da mniejszy kwarc np. 4MHz .
    Jeszcze jedno atmega ma podstawke wiec podpioł bym go tak jak inne układy i się wyjasni czy jest dobrze czy nie .
  • #5 3575939
    denooky
    Poziom 20  
    Posty: 497
    Pomógł: 3
    Ocena: 26
    Ten mniejszy kwarc tez wymyslilem, ale bez rezultatow. A podlaczony kwarc w przypadku ATtiny2313 czasem nie przeszkadza? Ten uC standardowo korzysta z wewnetrznego generatora RC i nogi XTAL powinny byc niepodlaczone..
  • #7 3577847
    denooky
    Poziom 20  
    Posty: 497
    Pomógł: 3
    Ocena: 26
    Przepraszam, ale ze wzgledu na brak czasu nie przedstawie schematu, prosze wierzyc, ze jest typowy - z programatora MISO, MOSI, SCK, RESET i MASA do ukladu, przy ukladzie dodatkowo kwarc z kondensatorami. Zasilanie zarowno do programatora jak i samego uC doprowadzam z zasilacza (oczywiscie 5V, grube przewody).

    A teraz przelom, bo udalo sie zaprogramowac ATtiny2313, a jak? Podpialem bezposrednio pod LPT, zasilanie dalem z pinu 1 (uklad ma bardzo maly pobor pradu), uzylem Ispprog, gdzie odpowiednim pinom przypisalem odpowiednie sygnaly. Uklad ruszyl bez problemu. AT90S2313 nie probowalem, bo trzeba podlaczac kwarc (nie ma wewnetrznego generatora RC), w zwiazu z tym zaoszczedzilem troche na lutowaniu, a zalezy mi na ktorymkolwiek z tych dwoch ukladow.
    Podsumowanie:
    Programator sprawny, a uklady nie daly sie programowac. Kiedys ktos mnie przestrzegal, ze duze znaczenie ma zasilanie tych ukladow, czasem zachowuja sie dziwnie, czasem zeby je zaprogramowac trzeba zasilac prosto z portu, podlaczenie zewnetrznego zasilacza moze oznaczac problemy - sprawdzone w praktyce. Dziekuje za pomoc i pozdrawiam.
  • #8 3577930
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Witam,
    nie dziwią mnie efekty twojej walki z STK200 bo prawie mogę się założyć, że dałeś nie taką wersję scalaka 74244 ale może się mylę - czy jest to wersja HC?

    nie wiem kto cię przestrzegał przed zasilaniem z zewnętrznego zasilacza?!!? a polecał zasilanie procka z portu LPT - ale to jest raczej właśnie bezsensowene podejście. Poza tym widać, że nie korzystasz ze wszystkich możliwości systemu ISP czyli programowania w układzie tylko "wachlujesz" prockami z podstawki do podstawki.

    tak więc twoje stwierdzenie:
    "podlaczenie zewnetrznego zasilacza moze oznaczac problemy - sprawdzone w praktyce"

    jest całkowicie błędne - ośmieliłbym się nawet powiedzieć, że to herezja ;) , to właśnie zasilanie z portu może oznaczać problemy i to bardzo duże czasem ;) Wystarczy mieć tylko dobry, sprawny i działający programatorek STK200, który przy okazji zabezpiecza ci sam port LPT przed uszkodzeniem a co najważniejsze pozwala na programowanie bezpośrednio w układzie - zapoznaj się z tym a wtedy to docenisz

    (zawsze polecam początkującym, zrobić to co i ja zrobiłem - zamiast napalać się na budowę samemu programatorka STK200 - bardziej opłaca się go zakupić - koszt to 15zł i chociażby z tego względu nie opłaca się go samemu klecić, a po drugie mamy gotowy, sprawdzony programator, który na pewno działa i nie trzeba tracić czasu na wykrycie jego usterki (sam widzisz ile to czasu zajmuje) - natomiast cały swój cenny czas można wtedy poświęcić na naukę programowania i robienie swoich układów)

    pozdr
  • REKLAMA
  • #9 3578284
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Wystarczy podłączyć zasilanie do programowanej docelowej płytki i problemy znikną.

    mirekk36 ma jak najbardziej rację w tej materii, czego dowodem jest fakt że programowanie nie działa. LPT nie nadaje się do zasilania czegokolwiek.
  • REKLAMA
  • #10 3585384
    denooky
    Poziom 20  
    Posty: 497
    Pomógł: 3
    Ocena: 26
    Faktycznie, mam programator wlasnej "produkcji" i o ile sie nie myle, to wlasnie na HC74244 - nie wiem, bo nie mam go pod reka. Wachluje prockami, bo na codzien nie zajmuje sie takimi wynalazkami jak AVR, potrzebowalem akurat jednej sztuki do projektu, a sam programator zrobilem kiedys na potrzeby ATmega8. Oczywiscie, jesli kiedykolwiek bede sie zajmowal AVR to zainwestuje w cos lepszego. Dobrze wiem jakie zalety ma korzystanie z programatora, a nie golego LPT.
    Co do zasilania z LPT, to oczywiscie, ze sie nadaje, przynajmniej w tym jednym konkretnym przypadku.. przeciez nikt tu nie mowi o zasilaniu spawarki. Proponuje zajrzec do dokumentacji ATtiny2313 - pobor pradu przy 1MHz to sa ulamki mA. Nawet jesli jest to wartosc srednia (w impulsie jest duzo wiecej), to i tak rzeczywistosc zweryfikowala takie zasilanie, przeciez uC ruszyl i udalo sie go zaprogramowac. Czesto stosowane podlaczenie LED`ow w szeregu z rezystorem bezposrednio do LPT spowoduje kilkakrotnie wiekszy pobor pradu.. dioda potrzebuje conajmniej kilka mA zeby bylo widac efekt jej swiecenia.
    Dla mnie to tez herezja z tym zasilaniem, nie naleze do osob wierzacych w cuda, poki co przymuje, ze wina lezy po stronie programatora. Dziekuje za pomoc i pozdrawiam.
  • #11 3585907
    Samuraj
    Poziom 35  
    Posty: 2792
    Pomógł: 286
    Ocena: 617
    Mirek - po co kupować programator za 15 zł, to przecież nic innego jak wtyczka jeden układ i kawałek kabla. Choć czytając ostatnio posty wielu osób dziwie się ze nie potrafią sklecić prostego programatora a biorą się za procesory. A 15 zł lepiej wydać na peryferia zewnętrzne lub dobra książkę.

    denooky - dlaczego wachlujesz układami :idea: ideą ISP było programowanie w układzie, przylutuj 6 kabelków do zewnętrznego gniazda na czas programowania i po problemie. Jak skończysz projekt kable wylutuj i nie potrzeba nawet robić dedykowanego gniazda na płytce dla programatora.

    Ja tam zawsze zasilam programator z płytki, a programowałem już parę różnych procesorów z rodziny AVR. Od ATtiny 13 do ATmega8353 i nigdy nie napotkałem na problemy. Podstawa to programator zrobiony wg schematu i nie zastępowanie układów podobnym, nie za długi kabel od programatora do portu LPT oraz odpowiednio ustawiony port LPT w biosie
  • #12 3585994
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Samuraj napisał:
    Mirek - po co kupować programator za 15 zł, to przecież nic innego jak wtyczka jeden układ i kawałek kabla. Choć czytając ostatnio posty wielu osób dziwie się ze nie potrafią sklecić prostego programatora a biorą się za procesory. A 15 zł lepiej wydać na peryferia zewnętrzne lub dobra książkę.


    ... oczywiście, że to kawałek kabla, 1 scalak i wtyczka. Wiadomo też, że dla jednego 15zł to już b.dużo a dla kogoś innego niewiele. W moim przypadku mój czas poświęcony na składanie tego STK200 był poprostu więcej warty niż 15zł i dlatego jak już, to go poprostu kupuję ;) .... z drugiej strony patrząc tu własnie na elektrodzie ile ludzie mają problemów i jakie "schody" jeśli chodzi o wykonanie STK200 to dlatego tylko polecam im zakupienie. Wg mnie lepiej byłoby im poświęcić ten czas na poznawanie procka niż "walkę" z STK przynajmniej na początku i gdy nie mają doświadczenia w elektronice. Owszem za 15 zł mogą kupić sobie kilka procków - fakt. Ale co do zakupu dobrej książki za 15zł to już bym nie przesadzał ;) .... są one zwykle sporo droższe - co nie oznacza, że nie polecam książek. Dla mnie książki to zawsze żelazna podstawa, wolę często z nich skorzystać(jeśli je mam) gdy się czegoś uczę niż szukać skrawków informacji w necie
  • #13 3586399
    Sabre
    Poziom 18  
    Posty: 337
    Pomógł: 8
    Ocena: 56
    Mam programator STK200 (własnej produkcji) i o ile nie miałem z nim nigdy problemu przy programowaniu 90S2313 o tyle z Tiny2313 mam problemy. Program pisany był w Bascomie AVR i tym programem kompilowałem i wgrywałem mój program. Oczywiście ustawiałem układ Tiny2313 i nawet zmieniałem mu fuse bits, aby nie chodził na wewnętrznym oscylatorze. Mimo to program nigdy nie wykonywał się poprawnie (do tej pory nie wiem jak uruchomić drugi kanał PWM w Tiny2313 w Bascomie AVR )
  • #14 3586667
    genetix
    Poziom 24  
    Posty: 669
    Pomógł: 42
    Sabre napisał:
    Mam programator STK200 (własnej produkcji) i o ile nie miałem z nim nigdy problemu przy programowaniu 90S2313 o tyle z Tiny2313 mam problemy. Program pisany był w Bascomie AVR i tym programem kompilowałem i wgrywałem mój program. Oczywiście ustawiałem układ Tiny2313 i nawet zmieniałem mu fuse bits, aby nie chodził na wewnętrznym oscylatorze. Mimo to program nigdy nie wykonywał się poprawnie (do tej pory nie wiem jak uruchomić drugi kanał PWM w Tiny2313 w Bascomie AVR )


    Jeżeli programator poprawnie odczytuje sygnaturę procka oraz poprawnie przechodzi weryfikacja programowania to przyjmijmy, że programator jest OK.

    ATtiny2313 jest nieco inny od 90S2313, więc napewno należy dokonać korekty rejestrów (nazwy/bity) oraz konfiguracji liczników.

    Jest jeszcze opcja trybu kompatybilności wstecz (z 90S2313) aktywowana odpowiednim fusebitem, ale jak masz kod źródłowy, to lepiej go przerobić na tiny, niż celowo ograniczać możliwości lepszego procesora.

    Tak z ciekawości - porównaj sobie pliki wynikowe (hex albo bin) powstałe przy kompilacji dla tiny i dla 90S.
    Ewentualnie załaduj hexa do AVRStudio i przesymuluj moment ustawiania rejestrów.

    Powodzenia.
  • #15 3707620
    piwek9
    Warunkowo odblokowany
    Posty: 380
    Ocena: 22
    może to ci pomoże ,nigdy nie miałem problemu z zaprogramowaniem attin ,jadnak można go zablokować , a wtedy generator i można go ruszyć, a przestawienie aby attin pracował jako at masz w załączniku. ja mam takie pytanko czy jest możliwość odczytania zabezpieczonegi attiny 2313
    Załączniki:
    • fusebits_attiny2313-for-at90s2313.rar (2.47 KB) Musisz być zalogowany, aby pobrać ten załącznik.

Podsumowanie tematu

✨ Problem dotyczy programowania mikrokontrolerów AT90S2313 oraz ATtiny2313 za pomocą własnoręcznie wykonanego programatora STK200, pierwotnie przeznaczonego do Atmega8. Programowanie Atmegi8 przebiega bez problemów, natomiast próby programowania AT90S2313 i ATtiny2313 kończą się błędem "Device missing or unknown device (-24)" w programie PonyProg 2.06f. Użytkownik wyklucza błędy w połączeniach sygnałów MISO, MOSI, SCK, RESET i GND oraz stosuje kwarc 8 MHz z kondensatorami 33 pF. Próby zwiększania opóźnień w konfiguracji PonyProg oraz zmiany kabli nie przyniosły efektu.

Udało się zaprogramować ATtiny2313 bezpośrednio z portu LPT przy użyciu programu Ispprog, zasilając układ z pinu LPT, co wskazuje na możliwe problemy z zasilaniem przy standardowym podejściu. Dyskusja podkreśla, że zasilanie mikrokontrolera powinno pochodzić z zewnętrznego stabilnego źródła 5 V, a nie z portu LPT, który nie jest przystosowany do zasilania układów. Zalecane jest programowanie w układzie (ISP) z podłączeniem 6 przewodów do dedykowanego gniazda, co eliminuje problemy z "wachlowaniem" układami na podstawce.

Wskazano również, że ATtiny2313 standardowo korzysta z wewnętrznego generatora RC i nie wymaga podłączania kwarcu, natomiast AT90S2313 wymaga kwarcu zewnętrznego. Problemy mogą wynikać z nieprawidłowego doboru wersji układu 74244 (np. HC vs. inne wersje) w programatorze. Dodatkowo, różnice w konfiguracji fuse bitów i rejestrów między AT90S2313 a ATtiny2313 mogą powodować błędy w działaniu programów, co wymaga dostosowania kodu źródłowego.

Podsumowując, kluczowe czynniki to poprawne zasilanie mikrokontrolera z zewnętrznego źródła, właściwe podłączenie sygnałów programatora, stosowanie programowania w układzie ISP, odpowiedni dobór kwarcu (lub jego brak w przypadku ATtiny2313) oraz uwzględnienie różnic w konfiguracji fuse bitów i rejestrów między modelami. Wskazano także, że zakup gotowego programatora może ułatwić proces programowania, zwłaszcza dla początkujących użytkowników AVR.
Wygenerowane przez model językowy.
REKLAMA