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

Duży kwarc i podzielnik czy mały kwarc - co lepiej

Marek_Gorecki 06 Lip 2011 20:02 2691 12
REKLAMA
  • #1 9689833
    Marek_Gorecki
    Poziom 16  
    WItam;

    mam dylemat, chciałem zastosować układ ATMEGA 328. Procesor ten ma dzielnik częstotliwości. Potrzebuje około 4MHz. Co lepiej zrobić użyć kwarc około 16MHz i podzielę do przez 4 czy dać kwarc 4MHZ bez podziału?
    W którym przypadku będzie mniejszy pobór prądu?
    I drugie pytanie . W tym procesorze pojawiły się dziwne przerwania (chyba). Przy każdej prawie końcówce PCINT. Rozumiem że jest to przerwanie podobne do zwykłych INT0,INT1 itp. Czy można zadeklarować sobie tak aby dowolna nóżka procesora reagowała tak samo jak na INTy? Czy dobrze rozumiem?

    pozdrawiam
  • REKLAMA
  • #2 9690263
    nsvinc
    Poziom 35  
    Pomyśl. Standardowy kwarc ma rozjazd rzędu kilkudziesięciu ppm, raczej niezaleznie od częstotliwości. Więc im szybszy dasz kwarc, tym wieksze bedzie miał rozjazdy. Ale skoro preskalujesz zegar generowany przez ten kwarc, to dokladnie tak samo preskalujesz jego rozjazd. Efekt? Na jedno wychodzi...

    Z drugiej strony, im wiekszy zegar, tym wiecej zbocz oscylatora, im wiecej zbocz oscylatora, tym wiekszy prąd przez niego pobierany.

    Podsumowując:
    - czy dasz szybki kwarc i dzielnik, czy dasz wolny kwarc bez dzielnika, dokladnosc bedzie... ekwiwalentna.
    - wolniejszy kwarc == oscylator żre mniej prądu
  • #3 9690469
    Marek_Gorecki
    Poziom 16  
    Czyli rozumiem że jedyna różnica to mikroskopijnie mniejszy pobór prądu.

    A co do drugiego pytania ? Jak jest z tymi przerwaniami ?
  • REKLAMA
  • #5 9690530
    drzasiek
    Specjalista CNC
    A co tam wiele oscylator nażre. Przecież pobór prądu zależy od ilości przełączających się tranzystorów i od częstotliwości ich przełączania się. Czy dasz większy kwarc czy mniejszy to ani liczby tranzystorów nie zwiększasz a jak podzielisz częstotliwość to częstotliwość ich przełączania się będzie taka sama więc ja bym obstawiał na raczej niezauważalne różnice w poborze prądu.
  • #6 9690554
    Marek_Gorecki
    Poziom 16  
    A wracając do 2 pytania - jak działają te przerwania PCINT ?
    Czy można dokłądnie zastąpić przerwania INT tymi przerwaniami ? Raczej tak nie jest bo producent by zrezygnował z przerwań INT bo byłyby niepotrzebne.
  • #7 9690564
    nsvinc
    Poziom 35  
    drzasiek napisał:
    Czy dasz większy kwarc czy mniejszy to ani liczby tranzystorów nie zwiększasz a jak podzielisz częstotliwość to częstotliwość ich przełączania się będzie taka sama więc ja bym obstawiał na raczej niezauważalne różnice w poborze prądu.

    Normalnie, tak. Ale gdy chcesz oszczędzać energię, te kilkadziesiąt uA różnicy zacznie się dla ciebie liczyć...
    Ja tu tylko odpowiadam na pytania ;]
  • Pomocny post
    #8 9692865
    Krauser
    Poziom 26  
    Przerwania PCINT maja tą zaletę, że mogą wybudzić procesor ze stanu Power Down (oscylator nie pracuje więc oszczędność energii jest największa) w reakcji na zmianę stanu pinu. Przerwania INT w Power Down mogą wybudzić uP w reakcji na stan niski i aby procedura przerwania została wykonana stan niski musi utrzymywać się na tyle długo by procesor zdążył to zauważyć (ma to znaczenie przy taktowaniu kwarcem). Wadą PCINT jest to, że jest jeden wektor do obsługi wszystkich PCINT przypadających na jeden port. Najlepiej wybierać piny z różnych portów wtedy w obsłudze nie trzeba sprawdzać co jest źródłem przerwania. PCINT traktowałbym jako dobry dodatek.
  • REKLAMA
  • #9 9692885
    Marek_Gorecki
    Poziom 16  
    Dziękuję za odpowiedź.
    A czy da się przerwaniem PCINT zrobić zwykłe przerwanie ( tak jak np INT0) pracującego na zbocze?
    I jeszcze jedno - czy takie przerwanie pracować będzie na całym porcie? Można to ograniczyć do jednej nózki?

    Mam problem bo potrzebuje najlepiej 5 przerwań więc czy da się użyć tego PCINTA aby zrobić przerwanie na jakims Pinie procka?
  • #10 9692918
    Krauser
    Poziom 26  
    1. Jeśli PCINT ma pracować na jedno zbocze to trzeba na początku sprawdzać stan pinu i jak np. interesuje mnie zbocze opadające to sprawdzam czy jest stan niski. Jeśli tak to robię co mam zrobić, a jak stan wysoki to ignoruję.
    2. Przerwanie odblokowuje się dla całego portu, ale jeszcze wybiera piny które mogą to przerwanie wyzwolić. Może być to jeden pin (wtedy pozostałe nie wywołają przerwania) a może być też kilka (wtedy trzeba w procedurze obsługi sprawdzić który pin wywołał przerwanie)
  • REKLAMA
  • #11 9692944
    Marek_Gorecki
    Poziom 16  
    Czyli są to niemalże tak samo funkcyjnie przerwania jak INTy z tym że różnica polega na tym że nie można ustalać sobie czy ma być reakcja na zborze rosnące, opadające czy na stan niski?
    Dobrze rozumiem?
  • #12 9692985
    Krauser
    Poziom 26  
    Tak. Procedura obsługi zostanie wykonana w odpowiedzi na zmianę stanu (zbocze narastające i opadające) i to na równi dla wszystkich wybranych pinów jednego portu, a ponieważ zwykle nie oto chodzi potrzebny jest dodatkowy kod.
  • Pomocny post
    #13 9698166
    Konto nie istnieje
    Poziom 1  
REKLAMA