» »

NTP (Network Time protocol) adapter

NTP (Network Time protocol) adapter

imagodei ::

Zdravo,

upam, da tale post paše v ta forum... Je ravno taka zadeva, da ne vem, ali ga dati pod Internet ali pod elektroniko.

Iščem namreč vezje ali čip, ki bi imel implementiranega NTP clienta. Zadevo rabimo v službi, ker bi radi v neko napravo vgradili točen čas, ki naj bi se periodično sinhroniziral z NTP strežnikom.

Čip s hardwired TCP/IP stackom že imamo, radi bi v to napravo vgradili še klienta za NTP. Če obstaja kakšno vezje, ki ob TCP/IP stacku ponuja še Network Time Protocol Clienta, je tudi to sprejemljiva rešitev; vse, samo da ne bi bilo treba peš programirati. Sprejmemo tudi rešitev s SNTP izvedenko protokola.

Ali je kdo že kdaj delal kaj podobnega. Že cel dan Googlam, pa ne najdem nič ustreznega. Za pomoč hvala že v naprej!
- Hoc est qui sumus -

BluPhenix ::

Uh take specifične protokole dvomim da boš dobil v čipu. Še tisti TCP/IP (verjetno mate Wizneta) je bolj slučaj kot pravilo.

Najlažje bo, da preštudirate NTP protokol in ga napišete sami, dvomim, da je kaj hudo kompliciran.
Podpisa ni več, ker so me poskušali asimilirati.

Zgodovina sprememb…

BluPhenix ::

Te povezave si kaj prebral:

http://www.ntp.org/
link2
Podpisa ni več, ker so me poskušali asimilirati.

imagodei ::

Ja, imamo Wizneta, ja. Sem se bal, da bom dobil tak odgovor, ker že dva dni iščemo , pa ni nič konkretnega na netu. S študiranjem protokola NTP je pa tako, da trenutno obstaja verzija 4, RFC-ji pa uradno beležijo samo verzijo 3, tako da se ne želimo nekam zapletati, da bi se potem izkazalo, da zadeve niso kompatibilne. Bom pa prebral povezave, ki si jih poslal, TNX.

Drugi vidik tega je pa, da če čip/vezje ne obstaja, je popolnoma vseeno, če naredimo na napravi svoj protokol in uro gor pošiljamo iz običajnega serverja (win, linux...), bo verjetno cenejše, kot to. Ali se pa motim? No, skratka, komaj verjamem, da ob današnjih zahtevah, ko se mora skoraj vsaka aktivna omrežna naprava sinhronizirat zaradi varnostnih razlogov (router, firewall + strežniki & računalniki v domeni...), da takšen čip ne obstaja. Se pravi, da vsak proizvajalec razvija svojo lastno rešitev in jo ne prodaja. OK, whatever. TNX!
- Hoc est qui sumus -

imagodei ::

Še kakšna ideja? Kdorkoli? ;)
- Hoc est qui sumus -

Brane2 ::

če sem prav dojel, ti želiš vso dosegljivo točnost. To pa boš težko dosegel brez ntp-ja. Ja lahko greš izumljat toplo vodo, samo ne vem kolk ma to kaj smisla.

Če pa gre samo za to, da ena mašina pošlje točen čas tvojemu čipu in se ne sekiraš za jitter zaradi networka, potem itak ni panike.
On the journey of life, I chose the psycho path.

b ::

Odvisno, kaksno natancnost potrebujes. Ce ti je sekunda dovolj, potem bos z lahkoto spisal daytime clienta, s katerim se povezes na linux na daytime port in sparsas output.

To je dalec najenostavnjesa varianta, ce ti pa ne zadosca, good luck with NTP :)

imagodei ::

Ne, ni treba ravno v mikrosekunde iti. Recimo, da je napaka < 500 milisekund sprejemljiva, zato niti ni tako pomembno, kje bi bil time server nameščen. Mi bi samo želeli, da se naše naprave sinhronizirajo na točen čas, naj bi bil to čimbolj točen, ne gre pa tukaj za pretiravanje.

Skratka, mi bi seveda želeli to počenjat preko NTP protokola, samo kot kaže, bo treba razviti čip, ki to zna in ga vdelati na naše plate. Če bi bil po sredi ustrezen denar, smo pa pripravljeni že izdelane čipe tudi kupovat od dobavitelja, samo da ne stane to zdaj 250 EUR po komadu...

Sem že precej googlal, kje bi se dalo dobiti kakšne čipe ali pa adapterje, pa nič ustreznega. Da ponovim, kaj bi si mi želeli: Imamo napravo, ki zna komunicirat po TCP/IP protokolu in ima svoj naslov in ta naprava se mora periodično sinhronizirat s časovnim strežnikom (bilo kje, LAN, WAN). Da bi to šlo, mora znati poslati NTP zahtevo in se sporazumeti s strežnikom po NTP protokolu, na koncu pa notranji uri naprave posredovat pridobljen točen čas. No, zaplete se takoj po TCP/IP protokolu - vsega tega naše naprave ne znajo, bi pa MORALE znat. Rešitvi sta dve - ali preštudiramo NTP protokol in napišemo programček v C-ju, ga prevedemo in zapečemo, ali pa že kupimo hardwired čip z NTP protokolom, če ta sploh obstaja.

Any Idea?

EDIT: Tretja rešitev je pa valjda ta, da iz nekega strežnika, ki je sinhroniziran na atomski čas, preko svojega protokola, ki ga za komunikacijo z napravami že imamo razvitega, pošiljamo točen čas. Ampak to je bolj tako-tako rešitev, ker stranke od nas pričakujejo, da bodo napravo priklopile, ji povedale IP od ntp strežnika in zadeva mora funkcionirat. Ne pa neke eksotične protokole uporabljat.
- Hoc est qui sumus -

Zgodovina sprememb…

  • spremenil: imagodei ()

imagodei ::

@b: Se načeloma čisto strinjam, ampak kot sem ravnokar napisal v editu od prejšnjega posta - stranke bi rade samo priklopile naše naprave (naj bo to digitalna ura ali pa nek časovno odvisen LED prikazovalnik, ni važno), vnesle IP naslov strežnika in od tam periodično nastavljale čas napravam. Kot pravim, ne morem verjeti, da vsak proizvajalec aktivnih omrežnih naprav to rešuje sam in da ne obstaja ena embedded rešitev. Cisco prodaja firewalle, routerje, switche, kjer je povsod ura, ki se zna sinhronizirat z NTP strežnikom. Isto delajo Planet, Zyxel, LinkSys... pa očitno vsak zase to programira? Ne morem verjeti, da ne obstaja en čip z vgrajenim NTP protokolom. Užas.
- Hoc est qui sumus -

france123 ::

Po mojem boš našel kaj info http://www.meinberg.de/english/products...
sicer pa http://www.google.com/search?hl=sl&q=em...
ve tudi kaj pametnega povedat, samo nekaj časa boš pač porabil :)

b ::

imagodei: pri firmah, ki si jih omenil, NTP ni v nobenem cipu, ampak v firmware-u na flashu. Verjetno uporabljajo celo referencno distribucijo NTP, vsaj tako se je pokazalo pred par leti, ko je bil en resen bug tam not in so vsi, od Ciscota naprej, izdajal popravke.

Dalec najlazja pot je SNTP. kompatibilen z NTP strezniki, ni ti treba pazit na state in se zajebavat z raznimi hecnimi algoritmi, tako kot navaden NTP client. Poskusi. RFC 2030. Enostavno posljes UDP paketek, dobis odgovor, notri pa tocen cas. To bi ti moralo zadoscati.

kronik ::

Nebi blo boljse, ce bi vgradili cip, ki sinhronizira uro preko oddajnika v nemciji? (vse dobre ure majo to vgrajeno)

imagodei ::

pri firmah, ki si jih omenil, NTP ni v nobenem cipu, ampak v firmware-u na flashu. Verjetno uporabljajo celo referencno distribucijo NTP


E, vidiš b, to je že podatek... (No, saj flash je tudi čip, ane ;) ). Kje pa bi to referenčno distribucijo dobil? Ker je problem tudi v tem, da RFC-ji dokumentirajo NTP samo do verzije 3, sedaj je pa že verzija 4.xyz zunaj. Any idea?

Kar se sntp-ja tiče sem pa tudi že razmišljal, ja. Zgleda zanimivo, mislim, da bi to morala biti čisto OK rešitev. Bom prebral RFC. TNX

@france123: bom preveril povezave. Googlal sem že kar precej, sicer. Rad naredim domačo nalogo, preden pridem ljudem morit na forume, ampak dopuščam možnost, da se mi je kaj izmaknilo. Hvala.

@kronik: DCF imamo že sedaj vgrajen v nekatere izdelke, ampak enostavno ugotavljamo, da je pokritost problem. V stavbah z debelimi zidovi imamo stalno probleme z nastavljanjem npr. digitalnih ur, prav tako najdeš slepe pege kje, kjer je konfiguracija terena bolj zapletena. Zato pač razmišljamo, da bi v izdelke, katerim lahko pripelješ TCP/IP po kateremkoli mediju (Ethernet, wireless, GPRS,...) vgradili možnost sinhronizacije po (S)NTP protokolu.

Hvala vsem, če ima kdo še kakšno idejo je še vedno vabljen :))
- Hoc est qui sumus -

ql000 ::

S čim si pa povezal Wiznetov LAN modul? A imaš kak basic 8bit mikrokontroler ali imaš kak 32 bitno beštijo. Pri slednji varijanti bi lahko uporabil kak linux mikrokernel z ustreznimi moduli pa adijo. Pri prvi varijanti bi se pa jaz oreng potrudu, našel kako rešitev od drugih pa pok na EEPROM, če je preveč glomazna zadeva.

b ::

referenca je na ntp.org oz. ntp.isc.org. Licenca je zelo permisivna, tako da lahko zadevo uporabis kot zelis.

Serverji so itak backward compatible s prejsnjimi verzijami (kolikor vem, je uporabljena verzija NTP zapisana v vsakem paketu), tako da se ne sekiraj. Enostavno implementiraj SNTP v4, ki je res enostaven in zadosca tvojim zahtevam glede natancnosti, za sinhronizacijo pa bos lahko uporabil katerikoli NTP streznik.

ljweko ::

Na tole temo sem naletel, ko sem brskal netu za info o časovnih protokolih s podobnim problemom. Na GSM/GPRS napravo, ki ima implementiran PPP sklad z TCP, UDP, FTP itd.:

http://www.xenya.si/sup/info/xenya/DrAt/DR_AT_060302.pdf

moram priklopiti čitalec črtne kode in poslati kodo opremljeno s časovno nalepko na nek strežnik. Čas se sicer lahko dobi z GPRS NITZ, vendar tega nimajo odprtega vsi GPRS ponudniki. Verjetno bom implementiral TCP Time ali Daytime(netdate) protokol. V osnovi ti lahko na to ponudim nek AT ukaz in tako lahko v vsakem trenutku preko RS232 izveš koliko je ura.

Ti taka ali podobna rešitev ustreza?

ql000 ::

@ljweko: a ima čitalec črtne kode RS232 izhod? Iščem kak simple čitalec črtne kode z RS232 izhodom za interface z mikrokontrolerjem.

ljweko ::

@q1000: s katerim bom delal sedaj, še ne vem. Sem pa pred letom delal z POSIFLEX-om, tudi preko RS232, vendar se tipa ne spomnim. Deluje OK, kot napisano v priročniku. Za info poklici 051 350 410 (Stojan), baje ima enega v avtu!

ql000 ::

Kakšne so pa približne cene (cenovni rang)?

ljweko ::

@q1000: ne vem, pokliči na zgornji info!

Dagy ::

Hojla,

točen čas in NTP strežniki so domena ene domače firme na tem Linku, da ne bom delal direkt reklame. fantje delajo celo časovne normale iz GPS signala? 8-)

Zgodovina sprememb…

  • spremenilo: Dagy ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Sinhronizacija časa - windows 7

Oddelek: Pomoč in nasveti
273559 (286) Ledstorm
»

Kako na linuxu (Raspberry PI) prepričati NTP, da bo uporabil podatke iz GPS-a

Oddelek: Operacijski sistemi
202220 (1581) misek
»

Kako Google upošteva prestopne sekunde na svojih strežnikih

Oddelek: Novice / Omrežja / internet
96268 (4570) BlueRunner
»

Sinhronizacija časa - Windows 2003

Oddelek: Operacijski sistemi
61424 (1269) imagodei
»

ura v XP tiktaka prehitro

Oddelek: Operacijski sistemi
241772 (1176) Spc

Več podobnih tem