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

ATtiny2313A - procesor nie startuje przy ustawieniach BODLEVEL1=0 i BODLEVEL0=0

Jarkon2 22 Paź 2014 23:35 2193 27
  • #1 14065058
    Jarkon2
    Poziom 25  
    Witam,
    robiłem niedawno jeden projekt, układ na procesorze ATtiny2313A-PU i wykryłem jak mi się wydaje błąd w konstrukcji tego procesora.
    Czy ktoś miał podobny problem i mógłby to potwierdzić?
    Procesor ten nie pracuje prawidłowo przy określonych ustawieniach Fuse bitów.
    Kiedy jest ustawienie BODLEVEL1=0 i BODLEVEL0=0 , to procesor nie startuje, jeśli jest taktowany przez kwarc (16MHz).
    Startuje, jeśli jest taktowany przez zewnętrzny sygnał zegarowy (External Clock).
    Od razu mówię, że napięcie zasilania jest prawidłowe i równe 5V, czyli większe od 4.3V wymaganego do pracy procesora z takimi ustawieniami Fuse bitów. Napięcie zasilania jest stabilne i jest kondensator blisko wyprowadzeń zasilania procesora.
    Zmieniałem kwarce na inne typy, zmieniałem kondensatory przy kwarcu od 15pF do 27pF.
    Zmieniałem ustawienia Fuse bitów SUT1 i SUT0 oraz CKSEL3..CKSEL0.
    Nic to nie daje.
    Sprawdziłem kilka egzemplarzy ATtiny2313A-PU. We wszystkich jest tak samo.
    Sprawdziłem te procesory na różnych płytkach - uniwersalnej i zaprojektowanej do układu z projektu. To samo.
    Sprawdziłem starszą wersję tego procesora ATtiny2313 (bez literki A i też w wersji przewlekanej) i nie było żadnych problemów - rusza za każdym razem niezależnie od ustawień Fuse bitów.

    Moim zdaniem jest jakaś wada wewnętrzna w procesorach ATtiny2313A.

    Wysłaliśmy zapytanie do firmy ATMEL może coś podpowiedzą.

    Czy może coś przeoczyłem? Co jeszcze może być przyczyną braku pracy ATtiny2313A-PU ?

    Dodam jeszcze, że programowałem ATtiny2313A-PU za pomocą dwóch różnych programatorów - DRAGON i TL866A, co niczego nie zmienia.
  • #3 14065126
    Jarkon2
    Poziom 25  
    Na scanie pokazane są też ustawione CKOUT i WDTON, ale nie zauważyłem, aby miały one wpływ na działanie lub nie działanie tego procesora.
    Bez ustawionych BODLEVEL procesor pracuje poprawnie.

    ATtiny2313A - procesor nie startuje przy ustawieniach BODLEVEL1=0 i BODLEVEL0=0
  • #4 14065170
    dondu
    Moderator na urlopie...
    Wygląda na to, że są jedynie dwa wyjścia:
    1. następuje jednak skok napięcia i reset,
    2. faktycznie coś jest nie teges z tymi ATtiny które testujecie.

    To pierwsze bezwzględnie odrzucacie, więc my nie jesteśmy w stanie tego sprawdzić, ale jednak tutaj szukałbym przyczyny.
    To drugie - zobaczymy co support odpowie - daj proszę znać.
  • #5 14065186
    michalko12
    Specjalista - Mikrokontrolery
    Jarkon2 napisał:
    Zmieniałem kwarce na inne typy, zmieniałem kondensatory przy kwarcu od 15pF do 27pF

    Próbowałeś z mniejszymi kondensatorami, a nawet bez?
    Próbowałeś z mniejszymi i większymi kwarcami?
  • #7 14065201
    dondu
    Moderator na urlopie...
    Ja bym dodał jeszcze pytania:
    - czy sprawdzaliście przebiegi na pinach XTAL?
    - czy sprawdzaliście z programem typu miganie diodą (żeby się nie okazało, że Wasz program jakimś cudem zawodzi).


    BODLEVEL2 - kompatybilność z innymi, choć w tym uC niewykorzystany.
  • #8 14065231
    Jarkon2
    Poziom 25  
    - czy sprawdzaliście przebiegi na pinach XTAL?
    A czy one mogą zależeć od ustawienia tych fusebitów?
    Przy nie ustawionych procesor z programem działa wyśmienicie.
    Procesor działa też, gdy jest taktowany zewnętrznym sygnałem zegarowym niezależnie od ustawień tych fusebitów.

    Mam spore doświadczenie (dziesiątki zrealizowanych projektów własnych) z prockami typu ATmega8, ATtiny13, ATmega162 i parę innych w wersjach bez i z 'A', i nigdy nie miałem takich problemów jak z ATtiny2313A, które użyłem po raz pierwszy.

    Jeśli wg Was ustawienia fusebitów są poprawne, to znaczy, że te procki mają jakąś wadę. Ja ich już raczej używał nie będę.
  • #9 14065240
    dondu
    Moderator na urlopie...
    Jarkon2 napisał:
    - czy sprawdzaliście przebiegi na pinach XTAL?
    A czy one mogą zależeć od ustawienia tych fusebitów?

    Cały czas piszesz, że mikrokontroler nie działa. Jednocześnie piszesz o kwarcu i z nim kombinowaniu.
    Nasuwa się więc od razu pytanie, czy rezonator pracuje prawidłowo, a to można stwierdzić po przebiegach na XTAL.
    Dopiero jako następny należy podejrzewać BODLEVEL.

    Dlatego ponawiam pytanie o przebiegi na pinach XTAL przy ustawieniach fusebitów, przy których nie działa Wam mikrokontroler (H:0xE9 i L:0xBF) i kwarcu 16MHz
  • #10 14065245
    Jarkon2
    Poziom 25  
    Nie sprawdzałem tych przebiegów, ale w tym właśnie rzecz, że moim zdaniem ustawienie fusebitów BODLEVEL ma wpływ na pracę (a właściwie jej brak) obwodów wewnętrznych procesora współpracujących z kwarcowym rezonatorem zewnętrznym.
    Pisząc, że procesor nie działa mam na myśli to, że nie jest on taktowany, cała logika wewnętrzna nie dostaje sygnału zegarowego z obwodów generatora z kwarcem. A tak nie powinno się dziać.

    ----------------

    Dodam, że korzystam z wyjścia CKOUT, które taktuje inne układy zewnętrzne.
    Przy ustawionych BODLEVEL sygnał CKOUT nie występuje, co świadczy o tym, że generator kwarcowy nie pracuje.
    Także pobór prądu procesora jest znacznie niższy, niż przy pracy na 16MHz.
  • #11 14065247
    dondu
    Moderator na urlopie...
    ... ale nie możesz być tego pewien nie sprawdziwszy pinów XTAL :)

    Chodzi o to, że jak widzę sporo pracy włożyłeś w rozwiązanie problemu, ale nie znalazłeś przyczyny, dlatego zdecydowałeś się na pytanie na forum. My natomiast szukamy dziury, którą przeoczyłeś, stąd warto sprawdzać nasze podejrzenia :)

    Masz oscyloskop?
  • #12 14065248
    Jarkon2
    Poziom 25  
    Przeczytaj dopisek w poprzednim poście, bo szybko odpisałeś :)
    Na 99.99% nic nie przeoczyłem.
    Upieram się, że ten procek ma taką wadę wewnętrzną i tylko ATMEL może to naprawić w kolejnych seriach produkcyjnych :)

    A oscyloskopem jeszcze posprawdzam z ciekawości, ale cudów się nie spodziewam.
  • #14 14065489
    michalko12
    Specjalista - Mikrokontrolery
    michalko12 napisał:
    Próbowałeś z mniejszymi kondensatorami, a nawet bez?
    Próbowałeś z mniejszymi i większymi kwarcami?
  • #15 14066156
    Jarkon2
    Poziom 25  
    > Próbowałeś z mniejszymi kondensatorami, a nawet bez?
    Tak.

    > Próbowałeś z mniejszymi i większymi kwarcami?
    Nie. Potrzebuję mieć taktowanie 16MHz i żadne inne (ATtiny2313A powinien pracować prawidłowo do 20MHz).

    Zresztą co to ma za znaczenie. Bez ustawionych BODLEVEL wszystko jest OK z kwarcem 16MHz i różnymi wartościami C.
  • #16 14066433
    michalko12
    Specjalista - Mikrokontrolery
    Jarkon2 napisał:
    Nie. Potrzebuję mieć taktowanie 16MHz i żadne inne (ATtiny2313A powinien pracować prawidłowo do 20MHz).

    Chodzi o sprawdzenie przy jakich wartościach kwarców występuje takie zachowanie, czy dla wszystkich niezależnie od wartości czy tylko od pewnych wartości.
  • #17 14066476
    Jarkon2
    Poziom 25  
    Jak mi przyjdzie ochota, to będę dalej badał ten procek :) Na razie mam inne rzeczy do zrobienia.
    We wszystkich egzemplarzach zrobionych już układów z tymi prockami musiałem zostawić fusebity BODLEVEL niezaprogramowane, aby układy pracowały jak trzeba. Niby to nic nie zmienia, ale mam zwyczaj zawsze ustawiać je dla bezpieczeństwa.
  • #18 14067652
    wojekkk
    Poziom 18  
    A czy program ustawiający fuse bity nie myli czegoś i nie ustawia błędnie któregoś bitu konfiguracji zegara przy zmianie bitów BOD?
  • #20 14067808
    wojekkk
    Poziom 18  
    A to w takim razie nie jest możliwe :) Mam gdzieś taki układ to aż sprawdzę z ciekawości czy tak się dzieje.
  • #22 14068628
    deus.ex.machina
    Poziom 32  
    Zastosuj dwa różne kondensatory nieznacznie różniące się pojemnością, może kwarc się ciężko wzbudza (może być uszkodzony lub posiadać takie parametry które powodują ze wewnętrzny oscylator nie jest w stanie go wysterować), poza tym mogą być błędy montażowe - dodaj czytelne i szczegółowe zdjęcie PCB w okolicy rezonatora i pinów.
  • #23 14068733
    dondu
    Moderator na urlopie...
    Jarkon2 napisał:
    Byłbym wdzięczny za potwierdzenie, czy komuś też tak się dzieje, czy nie :)

    Ja mam właśnie na biurku (przy okazji pisania kolejnego artykułu) problem z ATmega8 i wzbudzeniem kwarcu 32,768kHz przy włączonym oscylatorze Low-frequency Crystal Oscillator. ATmega8A działa OK, a zwykła ATmega8-16PI za żadne skarby (testowane dwa egzemplarze) nie che wzbudzić kwarców (testowane 3 różne).

    Kombinowałem z różnymi kondensatorami, dodatkowymi rezystorami, lutowaniem do pinów zgodnie z testami Atmela opisanymi w notach, ... i na razie klapa, a artykuł stoi w miejscu.

    Oczywiście w innych trybach oscylatora wszystko w ATmega8-16PI działa OK.

    Reasumując, problemy bywają, ale na razie się nie poddaję :)
  • #24 14068928
    Jarkon2
    Poziom 25  
    deus.ex.machina - testowałem różne kwarce i różne kondensatory.
    Jeszcze raz podkreślam - wewnętrzny oscylator działa bardzo dobrze, tylko ustawione fusebity BODLEVEL jakoś wpływają na jego niedziałanie.

    dondu - podłączenia kwarcu 32,768kHz pod XTAL1 i XTAL2 nigdy nie próbowałem.
    Kwarcu 32,768kHz używałem w jednym swoim projekcie z ATmega16 (teraz z ATmega16A, co niczego nie zmienia). Podłączony był bez żadnych kondensatorów pod piny TOSC1 i TOSC2, czyli współpraca z TIMER2. Normalnie ATmega16 taktowany był kwarcem 3.6864MHz + 2 x 27pF - XTAL1 i XTAL2.
    Układ działa tak, że co ok. 0.1s program szybko (2-3ms) wykonuje co ma wykonać i wprowadza procek w stan max uśpienia, czyli baaardzo mały pobór prądu. Przerwanie z T2 budzi procesor po ok. 0.1s itd. Mogą go także obudzić INTy zewnętrzne.
    Całość działa bardzo dobrze.
  • #25 14069002
    conan02

    Poziom 30  
    Jarkon2 - BODLEVEL - Brownout detector level, jeśli zasilasz MCU 3,3V i podajesz BDL 100b to daje poziom zadziałania 4,3V i masz stały reset. Tabelę masz w datasheecie do ATTINY, coś słabo z tym zapoznawaniem się z dokumentacją. Nie skasowane bity wyłączają tą funkcję i MCU pracuje (bo nie ma innego wyjścia). Dla 3,3V dajesz 101b czyli kasujesz BODLEVEL1 i masz autoreset na 2,7V.

    dondu - z kwarcami zegarkowymi 32kHz próbowałem cudów i kwestia szczęścia czy ruszy, zdarzało mi sie nawet, że ten sam MCU startował jak miał humor, ćwiczyłem to od AT89Cxx, przez AT90S2313 do nowych AT89S8253. Jest pewna wskazówka - MCU niskonapięciowe częściej uruchamiają się z takim rezonatorem. Przestałem z tym walczyć tylko w razie potrzeby robię oscylator na bramkach CMOS i podaję na wejście zegarowe MCU - to działa na 100%.
  • #26 14069007
    vonar
    Poziom 28  
    conan02 napisał:
    Jarkon2 - BODLEVEL - Brownout detector level, jeśli zasilasz MCU 3,3V i podajesz BDL 100b to daje poziom zadziałania 4,3V i masz stały reset.

    Jarkon2 napisał:
    Od razu mówię, że napięcie zasilania jest prawidłowe i równe 5V, czyli większe od 4.3V wymaganego do pracy procesora z takimi ustawieniami Fuse bitów.
  • #27 14069354
    dondu
    Moderator na urlopie...
    conan02 napisał:
    dondu - z kwarcami zegarkowymi 32kHz próbowałem cudów i kwestia szczęścia czy ruszy, zdarzało mi sie nawet, że ten sam MCU startował jak miał humor, ćwiczyłem to od AT89Cxx, przez AT90S2313 do nowych AT89S8253. Jest pewna wskazówka - MCU niskonapięciowe częściej uruchamiają się z takim rezonatorem. Przestałem z tym walczyć tylko w razie potrzeby robię oscylator na bramkach CMOS i podaję na wejście zegarowe MCU - to działa na 100%.

    Nigdy nie miałem z 32kHz żadnych problemów niezależnie, czy AVRy, czy PICe.
    Ta ATmaga8 jest pierwszym wyjątkiem w trybie , w przeciwieństwie do ATmega8A, która działa prawidłowo.
    Być może ta feralna ATmega8 pochodzi z jakiejś nie do końca prawidłowej partii - jest dość wiekowa i leżała w zasobach co najmniej 9 lat :)
  • #28 14673674
    Jarkon2
    Poziom 25  
    Cytat:
    Witaj Jarkon2,
    Otrzymujesz tą wiadomość, ponieważ założyłeś poniższe tematy na forum elektroda.pl
    Jeżeli rozwiązałeś problem proszę kliknij na odpowiedź i dopisz sposób rozwiązania problemu a następnie kliknij przycisk Rozwiązano aby zamknąć temat
    Lista tematów:
    ================================
    ATtiny2313A - błąd w konstrukcji procesora? (ODPOWIEDZ I OPISZ SPOSÓB ROZWIĄZANIA PROBLEMU) (ROZWIĄZANO - ZAMKNIJ TEMAT)
    ================================
    Twoje porady przydadzą się innym podczas przeszukiwania a Ty otrzymasz 5 punktów! Pomóż stworzyć darmową bazę usterek i porad w Internecie!
    Dziękujemy.

    Rzecz w tym, że nie rozwiązałem tego problemu. Firma ATMEL nic nie odpowiedziała na zapytania, a ja nie mam teraz czasu na dalsze testowanie procesora ATtiny2313A, choć mam dodatkowe egzemplarze, które czekają na testy :)
    Jak tylko je potestuję, to opiszę w tym temacie.
    W każdym razie nie polecam nikomu stosowania tego typu procesora.
REKLAMA