BOINC@Poland

Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Strony: [1]   Do dołu

Autor Wątek: Precyzja zegarów  (Przeczytany 7001 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Rysiu

  • Liczydłowy
  • ***
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 1 081
    • Zobacz profil
Precyzja zegarów
« dnia: 20 Maj 2012, 01:31 »

Jaką maksymalną precyzję trzymają zegary dostępne w domowych PC? Czas można synchronizować za pomocą protokołu NTP ale jaką maksymalną rozdzielczość oferują układy wbudowane we współczesne płyty główne?

Sporo informacji można znaleźć tutaj: http://www.go2shop.pl/shop_content.php/coID/11/product/Synchronizacja-zegara

Zbytnio nie pociesza cytat:

Cytuj
I want to use a crystal as the base clock for a watch. Most reference designs I could find use a 32.768 kHz crystal at 20 ppm (parts per million) precision. According to my calculations, this leads to an error of max 52 seconds in a month. After 6 months, that 5 minutes. I would like something better!

Błąd 52 sekund na miesiąc? O zonk...  :deadman:
« Ostatnia zmiana: 20 Maj 2012, 02:14 wysłana przez Rysiu »
Zapisane

ryszard.korczyk

  • Moderator
  • Liczydłowy
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 1 068
  • Forumowy elektronik
    • Zobacz profil
Precyzja zegarów
« Odpowiedź #1 dnia: 20 Maj 2012, 08:39 »

Większość systemów operacyjnych sama dba o synchronizację czasu z serwerami SNTP. Układy w starszych płytach głównych oferowały rozdzielczość 1/18,2s, o ile dobrze pamiętam. Nie wiem, jak jest w nowych płytach, gdzie RTC jest zaszyty w chipsetach.
Jeśli rozmawiamy o precyzji pomiaru czasu na PC należy pamiętać, że systemy takie jak windows, czy linux nie są systemami czasu rzeczywistego, więc nie zapewnia realtimowej reakcji na zdarzenia, a opóźnienia reakcji mogą nawet dochodzić do setek ms.
Największą dokładność czasu niskim kosztem można przy pomocy GPS, to powszechnie stosowane precyzyjne źródło czasu.
Zapisane

Rysiu

  • Liczydłowy
  • ***
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 1 081
    • Zobacz profil
Precyzja zegarów
« Odpowiedź #2 dnia: 20 Maj 2012, 11:25 »

Z tego co czytałem to zegra sprzetowy trzyma tylko czas podczas gdy maszyna jest wyłączona. W momencie startu kernel odczytuje ten czas i dalej w systemie mamy już czas obsługiwany softwerowo, który charakteryzuje się znacznie większą precyzją (tutaj już chyba obsługuje to jakoś procesor).

Także w uruchomionym systemie dochodzi do softwerowej synchronizacji przez NTP. W Linux'ie o ile dobrze doczytałem czas softwerowy można wyciągnąć za pomocą "adjtimex -p". Granica błędu to ok. 1 us.

Jednak z systemami czasu rzeczywistego to dobra uwaga.

Problem wygląda następująco. Mam dwa układy działające niezależnie w dużej odległości. Muszą wykonywać poszczególne procedury w odpowiednich sekwencjach względem siebie. Głównie to oznacza, że jeden coś zaczyna robić w czasie N, a drugi w czasie N + epsilon (gdzie epsilon jest wartością możliwie skrajnie niską). Muszę mieć także gwarancję, że drugi układ wykona odpowiednie procedury w czasie nie dłuższym niż M.

Precyzję czasu muszę mieć najmarniej na poziomie 1 us. Odpada chyba synchronizacja za pomocą fal radiowych z zegarem adomowym w Niemczech, ponieważ z tego co czytałem tak sobie wygląda ten protokół (komunikacja chyba raz na minutę) i raczej nie ma szans wyciągnąć 1 us.
Zapisane

armar

  • Młodszy Liczydłowy
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 457
    • Zobacz profil
Precyzja zegarów
« Odpowiedź #3 dnia: 20 Maj 2012, 15:19 »

Także w uruchomionym systemie dochodzi do softwerowej synchronizacji przez NTP. W Linux'ie o ile dobrze doczytałem czas softwerowy można wyciągnąć za pomocą "adjtimex -p". Granica błędu to ok. 1 us.

"NTP umożliwia synchronizację z dokładnością rzędu nanosekund" ( http://itpedia.pl/index.php/NTP_%28Network_Time_Protocol%29 ) :)


Precyzję czasu muszę mieć najmarniej na poziomie 1 us. Odpada chyba synchronizacja za pomocą fal radiowych z zegarem adomowym w Niemczech, ponieważ z tego co czytałem tak sobie wygląda ten protokół (komunikacja chyba raz na minutę) i raczej nie ma szans wyciągnąć 1 us.
"Teoretyczna dokładność zastosowanego zegara atomowego to różnica 1 sekundy na 1 milion lat pracy" - więc 1 us na rok. ( http://pl.wikipedia.org/wiki/DCF77 )
Ludzie stawiają sobie Stratum-0 w oparciu o odbiornik GPS: http://time.qnan.org/
Zapisane

Rysiu

  • Liczydłowy
  • ***
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 1 081
    • Zobacz profil
Precyzja zegarów
« Odpowiedź #4 dnia: 20 Maj 2012, 15:38 »

"NTP umożliwia synchronizację z dokładnością rzędu nanosekund" ( http://itpedia.pl/index.php/NTP_%28Network_Time_Protocol%29 ) :)
Tak ale trochę dalej piszą:

Cytuj
Dokładność czasu NTP w sieciach lokalnych nie przekracza 1 ms, a w sieciach WAN jest rzędu dziesiątek ms.

Teoretycznie są to czasy rzędu ns ale mamy opóźnienia na łączach. Algorytmy tam zastosowane uwzględniają różne opóźnienie i problemy na łączach (domyślam się, że są bardzo zaawansowane skoro były/są stosowane np. przez wojsko) ale nie mam pojęcia jaki jest tego finalny efekt.


"Teoretyczna dokładność zastosowanego zegara atomowego to różnica 1 sekundy na 1 milion lat pracy" - więc 1 us na rok. ( http://pl.wikipedia.org/wiki/DCF77 )
Ludzie stawiają sobie Stratum-0 w oparciu o odbiornik GPS: http://time.qnan.org/

Jeżeli będę korzystał z NTP to muszę mieć komputer podłączony do Internetu (on synchronizuje się z serwerami NTP) i potem układ sterujący innymi zabawkami (jakiś mikrokontroler) synchronizować z komputerem za pomocą jakiegoś portu komunikacji. Sprawa dość zawiła, a pewnie i jakieś spore opóźnienie będzie przy takim rozwiązaniu.
Zapisane

armar

  • Młodszy Liczydłowy
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 457
    • Zobacz profil
Precyzja zegarów
« Odpowiedź #5 dnia: 20 Maj 2012, 16:07 »

Sprzętowe rozwiązania mają najmniejsze opóźnienia:
http://www.navi.pl/katalog/17/0/serwery_ntp.html
Zapisane

Rysiu

  • Liczydłowy
  • ***
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 1 081
    • Zobacz profil
Precyzja zegarów
« Odpowiedź #6 dnia: 20 Maj 2012, 16:24 »

O cenach takich zabawek na stronie już nie wspominają - koszta pewnie nie byle jakie  :book:
Zapisane

Szopler

  • Radioaktywny
  • Moderator
  • Kalkulator
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 7 552
    • Zobacz profil
    • szoplik.pl
Precyzja zegarów
« Odpowiedź #7 dnia: 20 Maj 2012, 18:25 »

Chcesz mieć dokładny zegar - podłącz odbiornik GPS do mikrokontrolera taktowanego generatorem kwarcowym stabilizowanym termicznie (nie kwarcem). Sam procesor też musi mieć ustalone warunki termiczne bo raz będzie działał trochę szybciej, a raz trochę wolniej... to nie jest takie hop-siup 8)
Zapisane

Gołąbpocztowy

  • Bywalec forum
  • ***
  • Offline Offline
  • Wiadomości: 84
    • Zobacz profil
Precyzja zegarów
« Odpowiedź #8 dnia: 20 Maj 2012, 23:44 »

"NTP umożliwia synchronizację z dokładnością rzędu nanosekund" ( http://itpedia.pl/index.php/NTP_%28Network_Time_Protocol%29 ) :)
Tak ale trochę dalej piszą:

Cytuj
Dokładność czasu NTP w sieciach lokalnych nie przekracza 1 ms, a w sieciach WAN jest rzędu dziesiątek ms.

Teoretycznie są to czasy rzędu ns ale mamy opóźnienia na łączach. Algorytmy tam zastosowane uwzględniają różne opóźnienie i problemy na łączach (domyślam się, że są bardzo zaawansowane skoro były/są stosowane np. przez wojsko) ale nie mam pojęcia jaki jest tego finalny efekt.


"Teoretyczna dokładność zastosowanego zegara atomowego to różnica 1 sekundy na 1 milion lat pracy" - więc 1 us na rok. ( http://pl.wikipedia.org/wiki/DCF77 )
Ludzie stawiają sobie Stratum-0 w oparciu o odbiornik GPS: http://time.qnan.org/

Jeżeli będę korzystał z NTP to muszę mieć komputer podłączony do Internetu (on synchronizuje się z serwerami NTP) i potem układ sterujący innymi zabawkami (jakiś mikrokontroler) synchronizować z komputerem za pomocą jakiegoś portu komunikacji. Sprawa dość zawiła, a pewnie i jakieś spore opóźnienie będzie przy takim rozwiązaniu.
Ale protokół NTP bierze pod uwagę opóźnienia na łączach. Czy oba komputery są oddalone od siebie i komunikują się poprzez sieć Internet? Czy może są w jednej sieci lokalnej? Jeżeli tak to postaw software'owy serwer ntp u siebie i niech pobierają czas z niego. Będzie najdokładniej, a jeżeli będzie odbiegał od wzorcowego to o tyle samo przy jednym jak i drugim komputerze.
Zapisane

Rysiu

  • Liczydłowy
  • ***
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 1 081
    • Zobacz profil
Precyzja zegarów
« Odpowiedź #9 dnia: 21 Maj 2012, 00:25 »

Ale protokół NTP bierze pod uwagę opóźnienia na łączach. Czy oba komputery są oddalone od siebie i komunikują się poprzez sieć Internet? Czy może są w jednej sieci lokalnej? Jeżeli tak to postaw software'owy serwer ntp u siebie i niech pobierają czas z niego. Będzie najdokładniej, a jeżeli będzie odbiegał od wzorcowego to o tyle samo przy jednym jak i drugim komputerze.
Lokalny serwer NTP praktycznie niczego mi nie da bo najpierw będę miał niepewność na synchronizacji [Jakiś zegar atomowy] -> [Serwer lokalny], a potem podczas kolejnej synchronizacji [Serwer lokalny] -> [Urządzenie docelowe]. Niepewność czasu tutaj się nakłada.

Najlepszym rozwiązaniem jest chyba moduł GPS.
Zapisane

Szopler

  • Radioaktywny
  • Moderator
  • Kalkulator
  • *
  • Offline Offline
  • Płeć: Mężczyzna
  • Wiadomości: 7 552
    • Zobacz profil
    • szoplik.pl
Precyzja zegarów
« Odpowiedź #10 dnia: 21 Maj 2012, 00:43 »

Zobacz czego używali naukowcy z CERN przy ostatnich badaniach z neutronami co to niby były szybsze niż światło - GPS'u!
Co prawda najdokładniejszej istniejącej (wojskowej) ;) wersji, ale raczej nic lepszego i zarazem tak powszechnie dostępnego (szczególnie outdoor) nie znajdziesz. Kwestia odpowiedniego algorytmu synchronizacji i ogień! :attack:
Zapisane
Strony: [1]   Do góry
 

SMF spam blocked by CleanTalk