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

Częstotliwość zegara uP AT90S2313 z kwarcem 10MHz - jak obliczyć?

Lukasszz 25 Kwi 2005 19:26 1485 11
REKLAMA
  • #1 1436492
    Lukasszz
    Poziom 12  
    Posty: 72
    Pomógł: 4
    Ocena: 4
    Jaką częśtotliwość ma przebieg zegarowy uP jeśli podłączyłem kwarc 10MHz?
    i z jakiego wzoru sie to wylicza?
    sory za pewnie laickie pytanie ale nigdzie niemoge tego znależć
  • REKLAMA
  • Pomocny post
    #2 1436513
    Dexter77
    Poziom 28  
    Posty: 889
    Pomógł: 134
    Ocena: 19
    Pytanie w stylu "czym sie rozni" Mimo szczerych checi nie rozumiem o co Ci chodzi ? Czy chcesz wiedziec jaka czestotliwoscia jest taktowany rdzen procesora ?? Tego nikt nie wie jak jest w AVR. Jedno jest pewne cykl maszynowy jest rowny 1/fosc co dla 10MHz daje 100ns. Tak wiec instrukcje ktore wymagaja 1 cyklu wykonaja sie w 100ns te co wymagaja 2 cykli wykonaja sie w 200ns itd.
    Pozdro
    Dexter
  • #3 1436536
    Lukasszz
    Poziom 12  
    Posty: 72
    Pomógł: 4
    Ocena: 4
    acha czyli za podstawową wartośc przyjme sobie 100ns jak tak dzieki
    w helpie od BASCOMA jest napisane coś takiego:
    Cytat:
    'Teraz skonfigurujmy go jako czasomierz

    'Sygnałem wejściowym w tym przypadku będzie przebieg zegarowy

    'podzielony w preskalerze przez 8,64,256 lub 1024
    'Parametr PRESCALE akceptuje tylko poniższe wartości: 1,8,64,256 lub 1024
    Config Timer0 = Timer , Prescale = 1


    no i ponieważ ma to być czasomież jak to zresztą napisali potrzebuje jak tak wiedzieć ile ma ten przebieg zegarowy (czyli jego częśtotliwość) abym potem mógł sobie to przeliczyć na sekundy minuty itp
    albo podajcie inny sposób na zmieżenie pewnego odcinka czasu
  • REKLAMA
  • Pomocny post
    #4 1436575
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 123
    Dexterowi się nie udało, to ja spróbuje :)

    Podłączasz kwarc dziesięć megaherców, to przebieg zegarowy/cykl maszynowy/cykl taktujący trwa 100ns czyli 1/10 000 000 herców, a jego częstotliwość wynosi 10 Megaherców

    T=1/F , 1[1/s]= 1Hz

    No chyba że go wewnętrznie podzielisz preskalerem, albo wrzucisz na pll, ale 90S2313 ma taką częstotliwość sygnału taktującego jaki kwarc podłączysz
  • REKLAMA
  • #5 1436576
    Dexter77
    Poziom 28  
    Posty: 889
    Pomógł: 134
    Ocena: 19
    Jednymi slowy chodzi Ci o zegar "systemowy" Jest dokladnie taki sam jak kwarc. Procesory z rodziny AVR nie dziela go w zaden sposob (standardowa C51 dzieli przez 12) tak wiec odpowiedz na Twoje pytanie to 10MHz
    Pozdro
    Dexter
  • #6 1436600
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Lukasszz napisał:
    no i ponieważ ma to być czasomierz jak to zresztą napisali potrzebuje jak tak wiedzieć ile ma ten przebieg zegarowy (czyli jego częstotliwość) abym potem mógł sobie to przeliczyć na sekundy minuty itp
    albo podajcie inny sposób na zmierzenie pewnego odcinka czasu
    Na jakiej dokładności tobie zależy ? Jeżeli to miałby być dokładniejszy zegarek, to co najmniej trzeba by się przesiąść na ATmega8 i synchronizację Timer2 z kwarcem zegarkowym 32768Hz. Innym wyjściem jest doprowadzenie do wejścia T0 w twoim procesorku sygnału z zewnętrznego generatora.
  • REKLAMA
  • #7 1437080
    Lukasszz
    Poziom 12  
    Posty: 72
    Pomógł: 4
    Ocena: 4
    mysle ze AT90S2313 w zupełności mi wystarczy musze zliczać czas z dokładnością 10 do -6 od wysłania sygnalu do jego odebrania
  • #8 1437153
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Lukasszz napisał:
    mysle ze AT90S2313 w zupełności mi wystarczy musze zliczać czas z dokładnością 10 do -6 od wysłania sygnalu do jego odebrania
    lat świetlnych ?
  • #9 1437181
    Lukasszz
    Poziom 12  
    Posty: 72
    Pomógł: 4
    Ocena: 4
    jak bys zobaczyl przed 6 maly - to bys odczytal 0.000001 o taka dokladnosc mi chodzi no cuz juz nie ta pora pewnie zmeczenie daje o sobie znac :P
  • #11 1437217
    Lukasszz
    Poziom 12  
    Posty: 72
    Pomógł: 4
    Ocena: 4
    a no fakt :P o sekundy chodzi
    taki szczegulik a tyle moze zmienic

Podsumowanie tematu

✨ Dyskusja dotyczy obliczenia częstotliwości zegara mikrokontrolera AT90S2313 z kwarcem 10 MHz. Procesor AVR nie dzieli sygnału kwarcowego, więc częstotliwość taktowania rdzenia jest równa częstotliwości kwarcu, czyli 10 MHz. Cykl maszynowy trwa 1/f_osc, co dla 10 MHz daje 100 ns. Instrukcje wykonujące się w jednym cyklu trwają 100 ns, a te wymagające dwóch cykli – 200 ns. Autor potrzebuje tej informacji do precyzyjnego pomiaru czasu z dokładnością do mikrosekundy (10^-6 s). Wskazano, że dla większej dokładności można użyć mikrokontrolera ATmega8 z kwarcem 32768 Hz lub zewnętrznego generatora sygnału na wejściu T0. Jednak AT90S2313 jest wystarczający do zliczania czasu z wymaganą precyzją.
Wygenerowane przez model językowy.
REKLAMA