Strony

sobota, 21 kwietnia 2012

Wymienny rezonator kwarcowy w ATB

Witam,

Z uwagi na sporą ilość pytań w ostatnim czasie chciałbym wyjaśnić drobny szczegół, jakby się wydawać mogło, którym jest możliwość dowolnej wymiany rezonatora kwarcowego w zestawach uruchomieniowych z serii ATB rev:1.0x firmy ATNEL. Okazuje się, że firma Atnel została prekursorem tego rozwiązania na rynku w Polsce. Obecnie wiele firm konkurencyjnych zaczyna stosować bądź rozważa zastosowanie takiego rozwiązania. Do tej pory konkurencja w ogóle nie myślała o tym aby ułatwić życie nie tylko początkującym osobom ale tym, które chcą wykonywać prototypy swoich urządzeń. Okazuje się bowiem, że wlutowanie na stałe rezonatora kwarcowego to olbrzymie utrudnienie. Aż dziw, że projektanci konkurencyjnych zestawów założyli że nie będzie można wykonywać ćwiczeń przy zastosowaniu innej wartości taktowania zewnętrznego niż to które narzucane jest przez wlutowane na stałe rezonator kwarcowy.



Przecież dobieranie różnych wartości taktowania za pomocą popularnego "kwarca" to podstawa, szczególnie przy pracy z RS232/RS485 oraz wieloma innymi modułami mikrokontrolera. Wszystko rozbija się o pomysł na podstawkę pod rezonator kwarcowy albo o koszty tejże podstawki i chęć maksymalnej oszczędności wśród konkurencji, wszak na rynku jest wiele zestawów i wszystkie firmy walczą za pomocą ceny o klienta. Tylko że często ta walka sprowadza się do granic absurdu ponieważ w pewnym momencie zestawy, pomimo że są w końcu "tanie" i modne to nie posiadają podstawowych i ważnych funkcjonalności dla tego klienta.

Postanowiłem o tym napisać, ponieważ rozprzestrzenia się już większa świadomość początkujących użytkowników, którzy decydują się na zakup zestawu uruchomieniowego, ale też często dopytują w mailach, czy przypadkiem zestawy firmy Atnel posiadają wymienny kwarc. Tak posiadają i to właśnie ta firma zapoczątkowała tę praktykę na naszym rynku. Zresztą nie tylko w tym rozwiązaniu firma jest prekursorem. Jako jedyna w Polsce wprowadziła w zestawach AVR przetwornicę dwunapięciową +5V oraz +3,3V w zasilaniu całego zestawu, co również zaczyna być podchwytywanym pomysłem wśród konkurencji, która do tej pory stosuje stabilizatory liniowe 7805 ew LM1117, które przy napięciu wejściowym rzędu 12V straszliwie się grzeją i wiele osób niejednokrotnie poparzyło sobie palce w trakcie pracy.

Na koniec dodam, że sam fakt iż w zestawach ATB jest wymienny rezonator kwarcowy to tylko jedna strona medalu jeśli chodzi o pozytywne rozwiązania w tym zakresie. Dodatkowo za pomocą trzech zworek można zmienić także zewnętrzne źródło taktowania mikrokontrolera na:

1. zewnętrzny generator TTL
2. zewnętrzny oscylator RC

w efekcie końcowym otrzymujemy przepiękny zestaw narzędzi za pomocą których, (z czego rzadko kiedy początkujący zdaje sobie sprawę) zmniejszone zostaje prawie do ZERA ryzyko popularnego zablokowania procesora poprzez złe ustawienie Fusebitów. A przecież 95% takich blokad spowodowana jest niewłaściwym ustawieniem Fusebitów CKSEL odpowiedzialnych za źródło taktowania zewnętrznego! Nie mając wtedy pod ręką albo oscylatora RC albo generatora TTL wiele osób zaczyna poszukiwać drogich programatorów równoległych aby uratować zablokowany procesor. W przypadku zestawów ATB, nie ma takiej obawy. Poniżej rysunek przedstawiający opcje taktowania zewnętrznego w zestawach:

kliknij obrazek aby powiększyć

W praktyce rezonator kwarcowy w zestawach ATB wygląda tak jak poniżej na zdjęciu:





11 komentarzy:

  1. Fajna animacja czy można wiedzieć w jakim programie ja zrobiłeś ?
    Po raz kolejny poradnik z górnej półki czekamy na więcej :)

    OdpowiedzUsuń
  2. No wszelkimi grafikami i takimi animacjami zajmuje się dla mnie ta bliska osoba ;)

    http://www.karograph.blogspot.com/

    a jej ulubiony program to oczywiście Photoshop i to właśnie w nim oraz ImageRady - została zrobiona ta animacja.

    OdpowiedzUsuń
  3. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  4. Nie chcę się czepiać ale z tego co wiem nie można wymieniać rezonatora kwarcowego ot tak jak się chce bez zmiany kondensatorów. Zbyt duża pojemność kondensatorów pomiędzy wyprowadzeniami rezonatora spowoduje przesterowanie rezonatora (przebieg będzie zniekształconą sinusoidą) i w konsekwencji niestabilną pracę. Natomiast zbyt mała pojemność może nawet uniemożliwić start rezonatora lub spowoduje tylko niestabilną pracę. Pisząc o niestabilnej pracy mam na myśli zmiany stabilności w funkcji temperatury otoczenia (raz działa raz nie działa) - dobierając kondensatory powinno się zwrócić na to uwagę.
    W swoich notach katalogowych microchip zamieszcza informację iż zastosowanie większych pojemności (tych z przedziału stabilnych) zwiększa stabilność oscylatora, jednak wydłuża czas jego startu co może mieć znaczenie gdy mikrokontroler jest załączany na żądanie. Przypuszczam, że na tym polu ATMEGI wcale się nie różnią, aczkolwiek należy skonfrontować to przypuszczenie odpowiednimi notami katalogowymi lub aplikacyjnymi.

    Dla układów Microchip pojemności nazwijmy je C1 i C2 wylicza się z zależności: Cl = Cs + ((C1*C2)/(C1+C2)), nie sądzę żeby ATmel się tu jakoś specjalnie różnił - zwykle driver to zwykły inwerter.
    Gdzie:
    Cl - to sumaryczne obciążenie pojemnościowe rezonatora (zakres obciążeń jest zamieszczany w nocie katalogowej producenta)
    Cs - pojemność samego rezonatora

    Oczywiście poziom sterowania rezonatora można również zmienić w bitach konfiguracyjnych w ATMEGA to chyba fuse bits, ale to tylko w pewnych granicach.
    Dla zainteresowanych tematem polecam przeczytanie
    AN949 - rezonatory kwarcowe oraz
    AN826 - generatory RLC + Pierca itp.

    Podsumowując dobór właściwych kondensatorów (czasem też rezystora z zakresu 1M+ podłączonego równolegle do wyprowadzeń rezonatora) to jeden z pierwszych etapów uruchamiania układów opartych o mikrokontroler.

    OdpowiedzUsuń
    Odpowiedzi
    1. Wiesz jak nie chcesz się czepiać to po prostu się nie czepiaj i życie będzie łatwiejsze ;) .... Jeśli zaś masz jakąś uwagę to po prostu ją napisz ;) To tak tytułem wstępu.

      A tak już na poważnie - to wiesz - opisany tu układ w ATB sprawdza i sprawdził się już w setkach egzemplarzy i od pięciu LAT ! żaden układ nie zawiódł ;) ....

      Oczywiście zgadzam się z tym co piszesz bo masz rację i jeśli się projektuje układ docelowy - jakiś sterownik to to co opisujesz obowiązuje jak amen w pacierzu ;) I warto na to zwracać uwagę ....

      ale pewnie nie rozumiesz idei jaką spełnia "zestaw uruchomieniowy" do testów .... Więc zapewniam cię, że w tym wypadku sprawuje się to świetnie albo nawet lepiej .... ISTOTNĄ rzeczą o jakiej nie wspomniałeś a na jaką trzeba zwracać również uwagę - to reżim odnośnie np długości ścieżek pomiędzy kwarcem a pinami procka albo np samo umiejscowienie kondensatorów - szczególnie ich podłączenie do masy, które powinno być jak najbliższe pinu GND procka ....

      Reasumując - jeszcze raz tobie powtórzę - że opisany tu pomysł sprawdza się na tyle świetnie że odkąd nasza firma Atnel wprowadziła na rynek swoje zestawy z wymiennymi kwarcami to od tej pory inne firmy w Polsce zaczęły ten sam pomysł wprowadzać w swoich zestawach ;) Fajnie, że wyznaczamy dobre trendy na rynku. Kłopot tylko polega na tym, że te niektóre firmy nie do końca zdawały sobie sprawę np tych uwag o których ja wspominałem czyli o zaprojektowaniu prawidłowo PCB odnośnie kwarca i kondensatorów. Ja także dobrałem średnią wartość kondensatorów dla różnych najczęściej stosowanych kwarców. W efekcie końcowym o ile nie zdarzył się NIGDY podkreślam NIGDY przypadek aby to nie chciało komuś działać w ATB to niestety użytkownicy innych zestawów narzekali że jednak miewali z tym problemy.

      Mam nadzieję, że teraz i tobie się rozjaśniło

      Usuń
    2. Dziękuje za tak szybką odpowiedź :)

      Racja nie wspomniałem o zalecanych maksymalnych długościach ścieżek przy rezonatorze i jego umiejscowieniu względem uC, moje niedopatrzenie.

      Dopiero teraz spojrzałem na datę publikacji artykułu, co jak najbardziej przemawia za niezawodnością rozwiązania (widzę zabawiłem się w archeologa :)).

      Przejrzałem w międzyczasie noty katalogowe kilku ostatnio używanych rezonatorów i faktycznie można zrobić tak jak napisałeś, dobrać średnią pojemność uzyskując bardzo uniwersalne rozwiązanie, może nieco spóźnione ale - gratuluje pomysłu. Naprawdę ciekawe rozwiązanie i warte uwagi.
      Przyznam, że nie myślałem nigdy o połączeniach stykowych w układzie oscylatora z racji pojemności/rezystancji połączeń itp. Widać wystarczy sprawdzić w praktyce dobry pomysł, jak to się mówi najprostsze rozwiązania są najlepsze, co za tym idzie najtrudniej je wymyślić.

      Osobiście nie korzystam z tego typu zestawów - po prostu wolę zbudować układ w oparciu o adaptery itp. jest on oczywiście gorszej jakości niż "zestawy uruchomieniowe" ale mam większa swobodę działania. Wiem też, że na docelowym PCB (za które chyba błędnie uważałem "zestawy uruchomieniowe") osiągnę minimum to co na PCB z adapterami, a zwykle można znacznie podnieść szybkość transmisji szeregowej/równoległej.
      Może jeszcze kiedyś przekonam się do takich zestawów (szczególnie projektowanych w tak przemyślany sposób jak ATB) :)

      Jedyne co pozostaje napisać na koniec to jeszcze raz gratuluje rozwiązania dla "zestawów uruchomieniowych". Zawsze cieszy mnie Polskie rozwiązanie wprowadzające nowe trendy na rynku :)

      Usuń
    3. Bo to jest tak, że rzeczywiście każdy ma swoje upodobania i przyzwyczajenia. Zwykle osoby, które zaczynają od tworzenia prototypów na stykówkach - stosunkowo szybko odkrywają, że to totalna porażka. Wtedy dopiero zaczynają się rozglądać za czymś co pozwoli zmniejszyć ilość traconego czasu i nerwów na błędne połączenia itp ... Wtedy zaczyna być normalnym, że albo człowiek kieruje się tak jak ty np w stronę tworzenia własnej nawet płytki czy też płytek - modułów bo to dopiero zaczyna się sprawdzać o wiele lepiej niż stykówki.

      Ale jest też mnóstwo osób, które zdecydowanie chcą mieć szybko dobrą platformę aby uniknąć znowu straty czasu na tworzenie swojej własnej bo często też jak się podliczy czas i koszty tworzenia własnych rozwiązań to okazuje się - że nieraz warto jednak zainwestować w jakiś gotowy zestaw - a jest ich na rynku bez liku - tylko wybrać coś dla siebie.

      Tu lepiej, że tak powiem mają ludzie, którzy na co dzień mają praktykę w projektowaniu obwodów, w lutowaniu itp ... np pewnie tak jak ty - wtedy też wiadomo, że takim osobom jak ty łatwiej jest i szybciej zrobić coś własnego.

      Ale nie porównujmy tu docelowych płytek projektów PCB bo to ma się nijak do zestawów tego typu. Dlaczego ?

      Powód jest dość prosty - ja również kiedyś (gdy myślałem - że a po co mi tam jakieś zestawy) ... i od razu tworzyłem gotową docelową płytkę PCB urządzenia....

      Oj oj - dzisiaj już tak bym NIGDY przenigdy nie zrobił - dla mnie i dla każdej firmy - to nie tędy droga. Najpierw warto tworzyć zupełnie pierwszy prototyp właśnie na jakiejś sprawdzonej platformie aby sprawdzić jak się będzie zachowywał soft ... dlaczego ? A no właśnie! ... bo w trakcie takiego ptototypowania często okazuje się, że np:

      1. aha - przydałoby się jeszcze z procka wyprowadzić sygnał X
      2. aha - przydałoby się dodać jeszcze sterowanie diodą LED
      3. aha ... itd itp itd

      a gdy pomijamy ten etap prototypowania i tworzymy niejako od razu PCB pod pierwsze założenia to w takich przypadkach już mamy pozamiatane ! ;) i to po całości .... i zaczyna się ew zabawa w kynarki, dolutowywanie i wychodzi pająk że w efekcie ciężko stwierdzić czy w ogóle taki prototyp ma sens. Więc co? tworzymy kolejne PCB - a jak znowu się okaże - że

      1. eeeh zapomniałem tu dodać kondensatora
      2. eeeeh mogłem dać sterowanie przez tranzystor bo tak mi bardziej by pasowało od strony programowej

      itd itp itd

      W efekcie końcowym tak jak ludzie dojrzewają albo inaczej wyrastają z płytek stykowych gdy tworzą coraz więcej prototypów - tak samo ludzie wyrastają z pomysłów aby od razu bez przetestowania chociażby fragmentów projektu od strony softu - że jednak przydałby się jakiś gotowy sprawdzony zestaw - NAWET jeśli miałby być zrobiony we własnym zakresie ;)

      no i tak to powoli leci i leci ;)

      Usuń
  5. Zgadzam się w 100% z tym.
    Jak się zaczyna coś samemu projektować to właśnie taką drogę człowiek przechodzi: to genialny pomysł z pewnością bezbłędny, i taki jest... aż do brutalnego spotkania z rzeczywistością :)
    Potem kombinacje poprawianie aż za którąś poprawką się odparzy ścieżki i trzeba nową płytkę zrobić :) dalej wiadomo kolejne poprawki i tak aż się jest zadowolonym, albo i nie wtedy zaczyna się od początku :)
    W przypływie wolnego czasu będę musiał zainteresować się z czystej ciekawości jakimś "zestawem uruchomieniowym" i porównać czas wykonania podobnych projektów własnymi sposobami i z zestawem. Od koncepcji do finalnej płytki PCB, muszę przyznać, że zainteresowałeś mnie tym tematem :)

    Co prawda preferuje układy dsPIC, ale myślę że i ATMEL będzie miał coś ciekawego.

    OdpowiedzUsuń
    Odpowiedzi
    1. Ale pewnie znajdziesz też na rynku spokojnie różne zestawy ze swoimi ulubionymi prockami PIC/dsPIC

      Mnie przekonało do zaprojektowania zestawu ATB nie myśl o tym aby wprowadzić go na rynek. Gdybym tylko tym się kierował to wolałbym kupić jakiś gotowy istniejący ;)

      Kłopot polegał na tym, że nawet kupiłem i to w krótkim czasie bodajże ze trzy zestawy różnych firm - ale niestety pisząc swoją pierwszą książkę, trafiałem w nich na takie babole albo na to że brak mi czegoś w zestawie - że w końcu postanowiłem właśnie na swój użytek (tylko na swój na czas pisania książki) zrobić taki zestaw ;) tu można go zobaczyć z czasów gdy się narodziła idea - wersja 1.0 .... jednak się jeszcze ostał na elektrodzie:

      http://www.elektroda.pl/rtvforum/viewtopic.php?p=7866395#7866395


      Dalej miałem się zająć już tylko pisaniem książek - ale niestety - czytelnicy byli dla mnie bezlitośni i wręcz siłą wymusili na mnie abym wprowadził do sprzedaży - również z książką takie zestawy ;) bo o wiele łatwiej wykonywać ćwiczenia - no i tym sposobem całkiem niechcący stałem się również producentem zestawów. A że do pisania kolejnej książki znowu było coś potrzeba no to i zestawy ATB zaczęły ewoluować ;)

      Usuń
    2. Szczerze nie szukałem jeszcze zestawów z PIC/dsPIC muszę skończyć aktualny projekty żeby mieć trochę czasu na poszukiwania :) Może na wiosnę, bo kolejne co chce zrobić wykracza trochę poza moje aktualne umiejętności i wiedzę więc podciągnę zestaw uruchomieniowy pod naukę.

      Przeglądając Twój temat na elektrodzie widać że już tam naciskano w kwestii kupna płytki, więc nie dziwie się że czytelnicy dopięli swego :)
      Swoją drogą Pańskie książki niejednokrotnie mi polecano myślę że nie bez powodu.

      Jak skończę ten projekt to postaram się przedstawić ile mogę na Pana forum, oczywiście o ile temat z dziedziny PIC nie będzie zbyt odbiegał od tematyki.

      Usuń
    3. Wprawdzie forum traktuje głównie o nauce języka C w oparciu o procki AVR - ale jest ci u nas także dział DIY - projekty sprzętowe, i w nim widzę miejsce spokojnie na przedstawienie swojego projektu jako właśnie DIY. Ja sam zawsze lubię oglądać różne projekty w tym dziale ;) to zawsze świetna inspiracja a często można się także czegoś nauczyć.

      Usuń