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

Analiza pracy oscylatora kwarcowego w mikrokontrolerach AT16A i AT32A

ftb 31 Sie 2023 04:39 330 3
  • #1 20715570
    ftb
    Poziom 35  
    Witam ..i od razu mam pytanie ..czy ktoś sprawdzał przebiegi oscylatora kwarcowego w AT16A i AT32A oscyloskopem. Jak włożę do układu -obojętne czy uruchomionej PCB z kontrolerem czy do programatora (co prawda sam go wykonałem ale działa) AT16A i podam zasilanie to kwarc zaczyna oscylować na f=16MHz. (w programatorze na 4 MHz).
    Nie ma różnicy czy układ jest zaprogramowany czy nie. Jak włożę AT32A obojętnie czy zaprogramowany czy nie oscylator nie działa. Np dobrze to widać w programatorze z kwarcem 4MHz.W AT16A kwarc 16 MHz czy 4 MHz od razu (po podaniu zasilania 5,09V) zaczyna pracować i dotykanie sondą do obu pinów nie gasi drgań a przebieg (sinusoida) ładnie jest widoczny. AT32A nie rusza. Próby robiłem na 3ch egzemplarzach i niestety nie chodzą .
    Ciekawe że 32_jka daje się programować i to prawidłowo bo weryfikacja danych przy programowaniu to potwierdza. Pamięci można zapisywać , odczytywać ,
    kasować ale oscylator nie chodzi. Sekury Bits tak jak w chodzącej AT16A.
    W opisie który mam dla AT32A nie ma wiele opisane co do generatora taktującego. Więcej (podobnie do opisu AT16A) jest dla AT32 bez A. Nie wiem czy to ma znaczenie między xx32 a xx32A. ... ftb
  • #2 20715903
    jarekgol
    Poziom 38  
    W każdym mikrokontrolerze da się obejrzeć kwarc oscyloskopem. Należy to robić sondą 1:10. Jeśli ci niektóre nie ruszają, sprawdź fuse bity (pisałeś że tak samo, czytałem) jeszcze raz, czy procek nie jest ustawiony na zewnętrzne źródło. Być może twój programator sam podaje sygnał zegarowy? Bo czy dobrze rozumiem że 32 się programuje, ale nie rusza w układzie?
  • #3 20715916
    tmf
    VIP Zasłużony dla elektroda
    ftb napisał:
    ak włożę do układu -obojętne czy uruchomionej PCB z kontrolerem czy do programatora (co prawda sam go wykonałem ale działa) AT16A i podam zasilanie to kwarc zaczyna oscylować na f=16MHz. (w programatorze na 4 MHz).

    Ten sam kwarc w dwóch generatorach raz daje 16, a raz 4 MHz?
    ftb napisał:
    Jak włożę AT32A obojętnie czy zaprogramowany czy nie oscylator nie działa.

    A fusebity są skonfigurowane na zewnętrzny kwarc?
    ftb napisał:
    Ciekawe że 32_jka daje się programować i to prawidłowo bo weryfikacja danych przy programowaniu to potwierdza. Pamięci można zapisywać , odczytywać ,

    Jeżeli M32 daje sie programować po ISP to znaczy, że działa zegar (bez tego ISP nie ruszy). Skoro działa zegar to znaczy, że albo jest to wewnętrzny generator RC (domyślnie włączony), albo zewnętrzny kwarcowy (jeśli takowy skonfigurowałeś w fusebitach) działa. Być może przytknięcie sondy oscyloskopu wnosi na tyle dużą pojemność, że gasi oscylacje. Wybrałeś dla kwarcu tryb full swing? Przy 16 MHz bez tego kwarc może nie działać, lub właśnie przestawać działać np. po przytknięciu sondy.
    ftb napisał:
    W opisie który mam dla AT32A nie ma wiele opisane co do generatora taktującego.

    Domyślnie zawsze jest to wewnętrzny generator RC. Jest to w nocie procesora. Jest też osobny dokument Atmela dotyczący budowy wewnętrznych generatorów w AVR i różnic pomiędzy poszczególnymi wersjami.
    ftb napisał:
    Nie wiem czy to ma znaczenie między xx32 a xx32A. ... ftb

    M32 i M32A to pod względem budowy zupełnie różne MCU (są zgodne tylko pinologicznie i softwarowo). M32A to MCU o obniżonym zużyciu energii, stąd też pewnie generator kwarcowy jest przeprojektowany i w związku z tym bardziej czuły na np. obciążenie. Stąd też w zależności od posiadanej sondy może to być problem. Niemniej jednak jeśli MCU działa na zewnętrznym generatorze, to znaczy, że jest on sprawny.
  • #4 20716950
    ftb
    Poziom 35  
    Dziękuję za odzew.. jarekgol .. wiem że sonda może czasem stłumić sygnał ale u mnie z tym nie ma problemu. Mam stabilny ,ładny przebieg oczywiście w AT16A. Pisząc że kontroler działa czy to na 16MHz czy 4Mhz miałem na myśli że jak włożę w płytke docelową AT16A a tam jest kwarc 16MHz to na takiej chodzi oscylator a jak włożę do programatora to na 4MHz bo taki zastosowałem w nim kwarc. Problemem jest AT32A i sądzę że racje ma tmf iż AT32 i AT32A to różnie zbudowane procesory. Powalczę jeszcze z fusebitami i sprawdzę dokładniej w jaki tryb pracy oscylatora (zewnętrzny czy wewnętrzny) jest ustawiony kontroler.
    Z pewnością się odezwę jeszcze...ftb
REKLAMA