eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Różny czas pomimo synchronizacji z NTP
Ilość wypowiedzi w tym wątku: 54

  • 31. Data: 2014-11-12 23:14:15
    Temat: Re: Różny czas pomimo synchronizacji z NTP
    Od: "J.F." <j...@p...onet.pl>

    A propos NTP - czy ktos analizowal jak to dziala i rozumie ?

    Bo nie rozumiem jak on sobie radzi z laczami niesymetrycznymi, gdy np
    pakiet w jedna strone idzie 0.1s, a w druga 2.1s ..

    Mimo tych 4 znacznikow czasu 0 - na moj gust to nie ma mozliwosci
    wykrycia o ile pakiety sa niesymetryczne.

    J.


  • 32. Data: 2014-11-12 23:18:00
    Temat: Re: Różny czas pomimo synchronizacji z NTP
    Od: Marek <f...@f...com>

    On Wed, 12 Nov 2014 22:20:25 +0100, Atlantis <m...@w...pl>
    wrote:
    > > albo timer jest wstrzymywany gdy przerwanie jest obsługiwane.
    > Jak to sprawdzić?

    W avr nie wiem, niech się jakiś spec od tych mcu wypowie. Twój kod
    nie wygląda aby blokował timer. Raczej stawiam na źle skonfigurowany
    timer. No właśnie jak go ustawiłeś, tak na oko wychodzi, że aby
    uzyskać 10ms przerwanie przy 12.5MHz trzeba ustawić prescaler /8 i
    output compare na 15625.

    --
    Marek


  • 33. Data: 2014-11-12 23:20:05
    Temat: Re: Różny czas pomimo synchronizacji z NTP
    Od: Jakub Rakus <s...@o...pl>

    On 12.11.2014 22:20, Atlantis wrote:

    >> albo timer jest wstrzymywany gdy przerwanie jest obsługiwane.
    >
    > Jak to sprawdzić?
    >

    Po pierwsze sprawdź czy masz dobrze skonfigurowany timer, czy na pewno
    dobrze policzyłeś wartość, którą wpisujesz do OCR (bo z tego co widzę z
    wcześniejszego litingu, to używasz trybu CTC dla Timer0).
    Po drugie sprawdź czy sygnał zegarowy, którym taktujesz proca ma
    odpowiednio częstotliwość.
    W przerwaniu toggluj jakiś pin i zobacz na oscyloskopie jaką masz f.
    Albo jeszcze lepiej skonfiguruj timer tak, żeby sam zmieniał stan na
    wyjściu OCn, jeśli masz jakieś wolne.

    --
    Pozdrawiam
    Jakub Rakus


  • 34. Data: 2014-11-12 23:24:44
    Temat: Re: Różny czas pomimo synchronizacji z NTP
    Od: Atlantis <m...@w...pl>

    W dniu 2014-11-12 23:18, Marek pisze:

    > No właśnie jak go ustawiłeś, tak na oko wychodzi, że aby uzyskać 10ms
    > przerwanie przy 12.5MHz trzeba ustawić prescaler /8 i output compare
    > na 15625.

    Jak już mówiłem, w tej chwili timer jest ustawiony na przerwanie co 20ms
    - chciałem odsunąć je od siebie tak bardzo, jak to tylko możliwe.
    Niestety omawiany timer jest ośmiobitowy - jedyny szesnastobitowy został
    wykorzystany do zliczania zewnętrznych impulsów. Na etapie projektowania
    hardware'u nie myślałem jeszcze o wyposażeniu urządzenia w RTC. Gdybym
    wtedy o tym pomyślał, to wybrałbym jakiś inny MCU. ;)

    Timer jest ustawiony na prescaler 1024 i output compare 243.


  • 35. Data: 2014-11-12 23:32:13
    Temat: Re: Różny czas pomimo synchronizacji z NTP
    Od: Atlantis <m...@w...pl>

    W dniu 2014-11-12 23:20, Jakub Rakus pisze:

    > Po pierwsze sprawdź czy masz dobrze skonfigurowany timer, czy na pewno
    > dobrze policzyłeś wartość, którą wpisujesz do OCR (bo z tego co widzę z
    > wcześniejszego litingu, to używasz trybu CTC dla Timer0).

    Konfiguracja została wyliczona za pomocą programu mkAVRcalculator i
    sprawdzona za pomocą jakiegoś webowego przelicznika. Prescaler ustawiony
    na 1024, w rejestrze OCR0A wpisana wartość 243.


    > Po drugie sprawdź czy sygnał zegarowy, którym taktujesz proca ma
    > odpowiednio częstotliwość.

    Dysponuję raczej "takim sobie" częstotliwościomierzem domowej roboty.
    Na linii CLKOUT wskazuje 12.500xx MHz. Ostatnie dwie cyfry lekko
    fluktuują, ale ma to zapewne związek z niedoskonałością samego miernika.
    Z tego samego powodu nie byłem w stanie dokładnie zmierzyć
    częstotliwości machania pinem - częstotliwościomierz pokazywał wartość
    wahającą się pomiędzy 25Hz i 20Hz. Podejrzewam jednak, że to też było
    winą miernika.

    Zapomniałem dodać, że dysponuję dwoma egzemplarzami tego urządzenia.
    Dryf występuje na obydwu.


  • 36. Data: 2014-11-12 23:43:02
    Temat: Re: Różny czas pomimo synchronizacji z NTP
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    Atlantis <m...@w...pl> napisał(a):
    > Konfiguracja została wyliczona za pomocą programu mkAVRcalculator i
    > sprawdzona za pomocą jakiegoś webowego przelicznika. Prescaler ustawiony
    > na 1024, w rejestrze OCR0A wpisana wartość 243.

    Tylko skąd my mamy wiedzieć co Ty tam powyliczałeś :) Podaj wartości
    rejestrów, w szczególności TCCR0. Czy ten timer działa w trybie CTC? Co się
    ma dziać przy osiągnięciu wartości 243 przez licznik, oprócz samego faktu
    wygenerowania przerwania?
    Nieśmiało podejrzewam, że zacząłeś testować NTP bez sprawdzenia poprawności
    konfiguracji timera.

    > Dysponuję raczej "takim sobie" częstotliwościomierzem domowej roboty.
    > Na linii CLKOUT wskazuje 12.500xx MHz. Ostatnie dwie cyfry lekko
    > fluktuują, ale ma to zapewne związek z niedoskonałością samego miernika.
    > Z tego samego powodu nie byłem w stanie dokładnie zmierzyć
    > częstotliwości machania pinem - częstotliwościomierz pokazywał wartość
    > wahającą się pomiędzy 25Hz i 20Hz. Podejrzewam jednak, że to też było
    > winą miernika.

    Bardzo polecam zaopatrzyć się w coś, co mierzy częstotliwość. Ja mam
    AVT-2269 oraz oscyloskop z taką funkcją.

    > Zapomniałem dodać, że dysponuję dwoma egzemplarzami tego urządzenia.
    > Dryf występuje na obydwu.

    Moim zdaniem na obu Twój licznik liczy do wartości 255.

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 44 days, 4 hours, 45 minutes and 6 seconds


  • 37. Data: 2014-11-12 23:47:03
    Temat: Re: Różny czas pomimo synchronizacji z NTP
    Od: Atlantis <m...@w...pl>

    W dniu 2014-11-12 23:43, Grzegorz Niemirowski pisze:

    > Tylko skąd my mamy wiedzieć co Ty tam powyliczałeś :) Podaj wartości
    > rejestrów, w szczególności TCCR0. Czy ten timer działa w trybie CTC? Co
    > się ma dziać przy osiągnięciu wartości 243 przez licznik, oprócz samego
    > faktu wygenerowania przerwania?

    TCCR0A |= (1 << WGM01);
    TCCR0B |= ( (1 << CS02) | (1 << CS00) );
    OCR0A = 243;
    TIMSK0 |= (1 << OCIE0A);


    > Bardzo polecam zaopatrzyć się w coś, co mierzy częstotliwość. Ja mam
    > AVT-2269 oraz oscyloskop z taką funkcją.

    Mój miernik częstotliwości to właśnie coś w stylu AVT-269. Zresztą te
    dwie fluktuujące cyfry na końcu wyświetlanej częstotliwości nie powinny
    mieć żadnego wpływu. Kalkulator po ich zmianie nie proponuje nawet innej
    konfiguracji timera...


  • 38. Data: 2014-11-12 23:51:31
    Temat: Re: Różny czas pomimo synchronizacji z NTP
    Od: Marek <f...@f...com>

    On Wed, 12 Nov 2014 23:24:44 +0100, Atlantis <m...@w...pl>
    wrote:
    > Timer jest ustawiony na prescaler 1024 i output compare 243.

    0.02/(1/(12500000/1024)) = 244.140625

    jak widzisz niedokładność już jest tutaj. Jeśli ma być precyzyjnie to
    tylko 16 bit timer. Można 8 bit i dodatkowa zmienna jako licznik (do
    16525) ale wtedy to nonsens bo przerwanie będzie co 0.64 us. Nie
    wyrobi się.

    --
    Marek


  • 39. Data: 2014-11-12 23:57:27
    Temat: Re: Różny czas pomimo synchronizacji z NTP
    Od: Atlantis <m...@w...pl>

    W dniu 2014-11-12 23:51, Marek pisze:

    > 0.02/(1/(12500000/1024)) = 244.140625
    >
    > jak widzisz niedokładność już jest tutaj. Jeśli ma być precyzyjnie to
    > tylko 16 bit timer. Można 8 bit i dodatkowa zmienna jako licznik (do
    > 16525) ale wtedy to nonsens bo przerwanie będzie co 0.64 us. Nie wyrobi
    > się.

    Tylko taka niedokładność nie spowoduje 80 sekund opóźnienia po godzinie
    i 10 minutach pracy...

    Z niedoskonałości zdaję sobie sprawę. Do ich niwelowania miał właśnie
    służyć klient NTP.


  • 40. Data: 2014-11-13 00:02:52
    Temat: Re: Różny czas pomimo synchronizacji z NTP
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    Atlantis <m...@w...pl> napisał(a):
    > TCCR0A |= (1 << WGM01);
    > TCCR0B |= ( (1 << CS02) | (1 << CS00) );
    > OCR0A = 243;
    > TIMSK0 |= (1 << OCIE0A);

    Dzięki, wygląda poprawnie.

    > Mój miernik częstotliwości to właśnie coś w stylu AVT-269. Zresztą te
    > dwie fluktuujące cyfry na końcu wyświetlanej częstotliwości nie powinny
    > mieć żadnego wpływu. Kalkulator po ich zmianie nie proponuje nawet innej
    > konfiguracji timera...

    Takie fluktuacje nie powinny mieć miejsca, częstotliwość nie może pływać z
    odchyleniem 10%. Może coś nie tak z sygnałem zegarowym? Używasz wewnętrznego
    generatora RC czy kwarca? Wymieniałeś kwarc? Swoją drogą dobrze poszukać
    kwarcu, który będzie miał częstotliwość dającą się odpowiednio podzielić.
    Dlatego w handlu są kwarce o częstotliwościach w rodzaju 3,6864 MHz.
    Może trzeba by skopiować projekt i w tej kopii powoli wywalać kolejne rzeczy
    aż zostanie sam timer? Bo może coś przeszkadza, jakieś inne przerwanie.

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 44 days, 5 hours, 2 minutes and 18 seconds

strony : 1 ... 3 . [ 4 ] . 5 . 6


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: