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

Programowanie Tiny12 ISP na 32kHz

Nemo 11 Maj 2004 20:44 1860 14
  • #1 11 Maj 2004 20:44
    Nemo
    Poziom 31  

    No i oczywiście kolejny problem z Tiny12.
    Przestawiłem sobie bezpieczniki CKSEL na 1001 (pozostałe bez zmian) - czyli Low Frequency Crystal - 32768Hz i teraz żaden program nawet nie wykrywa mikrokontrolera. Ani Yaap, ani PonyProg.
    Czy ktoś już walczył z takim problemem?
    Pozdrawiam.

    PS. Coś mi się wydaje, że w takich warunkach trzeba zrobić swój programator :(

    0 14
  • #2 12 Maj 2004 00:23
    szymtro
    Poziom 30  

    albo napisać swój włąsny soft do obsługi starego.
    Sądze że jesteś w stanie napisąc swój własny program a to będzie chyba szybsze niż budowanie właśnego. A swojądrogą to zastanawiam się nad dodaniem do mojego programatora ISP opcji żeby maksymalnie zwolnić transmisję. Oczywiście nie na stałe, ale tylko dorobić taką możliwość aby można było zmieniać. Zapomniałem - narazie na elektrodzie jest wersja ISP-A a ona narazie nie wspiera attiny ani atmega - ale już przygotowuję następną wersję która zajmie się najnowszymi atmelami.
    Korzystjąc z okazji chciałbym zapytać czy jak użyję tajmera w visual basic 6 to czy on na każdym kompie daje takie sam czas? Czy to może jest zależne od prędkości itd?

    0
  • #3 12 Maj 2004 07:15
    Tdv
    Poziom 33  

    Sorry, że zapytam bo to nie wynika z Twojego postu: zrobileś to celowo i masz tam taki kwarc, czy przez przypadek i kwarcu nie masz podpiętego? Jeżeli to drugie to na czas programowania dolutuj mu taki kwarc do nóżek, przestaw CKSELe na odpowidnią wartość i kwarc znowu możesz wywalić.

    0
  • #4 12 Maj 2004 12:00
    szymtro
    Poziom 30  

    to chyba nie zadziała. Kwarc 32Khz jest delikatnie mówiąc za wolny do standardowego kabelka na lpt. W programatorze 90s atmel ada się ustawić częstotliwość ale od 1Mhz a to i tak stanowczo za dużo. W manualu jest napisane że częstotliwość na wejściu zegarowym(programowanie ISP) nie moze być większa niż częstotliwośc zegara/3 czy jakoś tak.

    0
  • #5 13 Maj 2004 20:13
    Nemo
    Poziom 31  

    Zrobiłem to celowo - potrzebuję takiego kwarcu. Kwarc jest podpięty.
    Rozwiązuję to inaczej - programowanie wysokonapięciowe. W tej chwili jestem w trakcie przygotowania do uruchomienia programu. O programator nie pytajcie - konstrukcja własna, zbyt rozbudowana na jakiekolwiek opisy.
    Kwarc był dolutowany do Tiny12 (zegarkowy) i nic, ale ostatecznie to chyba nie to jest przyczyną.
    Podczas zabaw z PonyProg'iem "ten wspaniały program" ustawił mi bit RESDISBL - czyli to by było na tyle, jeśli chodzi o programowanie ISP. Zatem oczywiste - poszukałem kogoś z normalnym programatorem no i... Okazało się, że bit RESDISBL jest już zaprogramowany na sztywno, podobnie jak wszystkie pozostałe bezpieczniki. Dane zapisują się i dają odczytywać (Flash i EEPROM), ale bezpieczniki za nic. Może ma zły algorytm w programatorze, ale to nie mój problem.
    Zatem pierwsze, co zrobię, to spróbuję na powrót ustawić RESDISBL na swojej konstrukcji. Ciekawe, co z tego wyniknie. Oby to nie była awaria układu...
    Pozdrawiam.

    0
  • #6 13 Maj 2004 22:38
    BoskiDialer
    Poziom 34  

    Hm.. niewiem czemu ale jak zawsze mam mieszane w głowie.. widze 2 algorytmy programowania tiny12.. jeden to zwykły ISP.. drugi opisany na semmix.pl ( http://semmix.pl/mipc/specyf/at90p8/wfuse2p.htm );całkowicie pomieszane sygnały.. sprubuj tego co tam jest.. może sie uda..

    0
  • #7 13 Maj 2004 23:41
    szymtro
    Poziom 30  

    Z tym wyłaczeniem resetu to w ogóle jest jakaś wpadka. Czytałem manuala już od paru uC z tą możliwością i zwykły programator nic tu nie pomoże. To nie jest zwykły fuse. Trzeba zastosować specjalną procedurę włączania napięcia zasilania i programowania(12V) na przemian i to kilkakrotnie. Takiego czegoś napewno niema żaden programator równoległy. W ogóle takich programatorów jest mało więc czego tu wymagać.

    0
  • #8 14 Maj 2004 19:32
    Nemo
    Poziom 31  

    W nocie katalogowej Tiny12 jest właśnie coś takiego. Konkretnie strona 47 pierwsze Note od góry. Wiem, że ten mój Tiny12 ma ustawiony RSTDISBL dlatego od razu zacząłem go męczyć tym algorytmem. Próbowałem kasować oraz odczytać bity sygnatury - bez rezultatu. Za każdym razem podczas odczytu jest 255 (zatem bez zmian), zaś podczas kasowania PB2 również uparcie pozostaje na poziomie wysokim. Brak impulsu potwierdzającego kasowanie. Wniosek oczywisty - układ nie wchodzi w tryb programowania wysokonapięciowego. Spełniłem zalecenia czasowe i guzik. Wykonałem z 10 prób oczywiście bez rezultatu. Zobaczymy, co będzie dalej.
    :arrow: BoskiDialer: Ten algorytm podany przez Ciebie jest identyczny z umieszczonym w nocie katalogowej Tiny12 ze strony Atmela. O właśnie tej.
    Pozdrawiam.

    0
  • #9 15 Maj 2004 00:00
    szymtro
    Poziom 30  

    tam na tej stronie jest taka mała notka apropo aplikowania stanów na końcówce reset. Trzeba chyba włączyć zasilanie uC i odrazu dać mu +12 na reset(while in power on reset) i to powinno go wprowadzi w tryb programowania. Jeszcze nie próbowałem tego sprawdzić ale skoro atmel napisał że należy przyłożyć szczególną uwagę to pewnie znaczy że nie jest to takie proste.

    0
  • #11 15 Maj 2004 19:24
    Nemo
    Poziom 31  

    Raport z placu boju. Podałem 12V jednocześnie z 5V i nic. Żadnych zmian. Podałem przed 5V (na kilka us przed) i też nic.

    Do tego programatora opisanego w linku powyżej znalazłem program źródłowy. Wynika z niego, że po załączeniu 12V trzeba podać 6 taktów zegara. OK, podałem i nadal nic. Niedługo zmontuję ten programator (najwcześniej w poniedziałek) i zobaczę, jakie to przyniesie zmiany. Oby pozytywne.
    Pozdrawiam.

    0
  • #12 15 Maj 2004 19:40
    szymtro
    Poziom 30  

    Te +12V i +5V jednocześnie to tylko do wejścia w tryb programowania. Potem i tak trzeba programować tak jak równoległe i jak manual twierdzi najpierw przywrócić pracę reset na normalną a potem można spokojnie przeprogramowywać pamięć.

    0
  • #13 15 Maj 2004 20:14
    Nemo
    Poziom 31  

    Może to i racja, ale też próbowałem i bez rezultatu. Wykonałem sekwencję start-up zgodnie z tą Note i od razu pierwszy rozkaz to zmiana FuseBits na takie, jakie mi sa potrzebne i oczywiście RSTDISBL na 1 - czyli z powrotem na wejście RESET. No i na razie bez zmian. Nie działa jak zaklęty...
    Pozdrawiam.

    0
  • #14 16 Maj 2004 09:50
    2P
    Poziom 19  

    Miałem podobny problem. Także z TINY12. Po włączeniu zegara na zewnętrzny RC programator przestał go widzieć... rany, czego ja nie próbowałem. Ostatecznie się poddałem i kupiłem nowy element. Zaprogramowałem go, po kilku próbach postanowiłęm poprawić program i ... dla programatora układ znów był martwy... długo by opowiadać, więc to pomine. Przedstawię tylko to do czego doszedłem:
    Jeśli ustawiony został dany zegar mikrokontroler można programować tylko przy danym zegarze fizycznie podłączonym do elementu!
    Oznacza to w praktyce, że najłatwiej zrobić to programując mikrokontroler w układzie docelowym. Ja stosowałem do tego płytkę AVT871/8.

    0
  • #15 22 Maj 2004 01:47
    Nemo
    Poziom 31  

    Pora na małe podsumowanie ostatnich bojów.

    Programator opisany przez rejestr007 jest np. tutaj:
    http://elm-chan.org/works/avrx/avrxp8.png

    Znajduje się on na stronie:
    http://elm-chan.org/works/avrx/report_e.html

    Zainteresowanym podaję, że działa jak trzeba. Jest to pierwszy programator, który rozwiązał mój problem z Tiny12. Poza tym ujął mnie program obsługujący o rozmiarze niecałych 7kB:
    http://elm-chan.org/works/avrx/avrxtool.zip

    Chylę czoła przed autorem tego programu.
    Pozdrawiam.

    0
  Szukaj w 5mln produktów