電波時計とntp

〜tristateの電波時計キットとの日々〜

Appendix

Appendix00: 電波時計もろもろ
『電波時計』って簡単に総称していますが、 要は時刻情報を含んでいる標準電波を受信して、 このデータを基に時刻を修正して動く時計ですね。
勿論、この国家標準の時刻情報は、 そうでなくても10万年に1秒程度のずれ、という精度を持つ セシウムビーム型電子時計などの原子時計を用いてますし、 人工衛星などを用いて、常に国際標準との比較・同期をしているそうなので、 非常(という言葉でも表し切れない程)に正確です。

んがー、時計屋さんや家電量販店などで、 店頭に「電波時計」が並んでいると、 案外(?)時刻が結構まちまちだったりすることがあります…。

現在、一般的な時計はクオーツ方式がほとんど(特に腕時計では)です。 これは水晶の振動を利用して1秒を計測しているのですが、 精度としては100万〜1000万秒で1秒ずれる程度、 つまり月に2〜3秒の誤差が出てしまいます。 …いやそのまえの機械式では日に数秒〜数分も誤差が出ていたので、 これは プロジェクトX でも取り上げられるくらいに革命的な手法なのですが。

で、「電波時計」って「標準電波を受信して時刻を合わせている」のですが、 もう少し詳しく言うと、 「標準電波を受信して、(クオーツ)時計の時刻を日に何度か自動修正している」時計な 訳です。ですので、

  • 時刻の自動修正を行なう間隔
  • 自身の(クオーツの)精度…時計自体の個体差
  • 時刻を修正しようとした際に、ノイズや場所、 アンテナの受信能力などの問題で、標準電波を充分に受信できなかった
などの理由により、今表示している時刻が「正しくない」こともある訳ですね(汗)。

私の目の前に、「壁掛け電波時計」と「置き電波時計」がありますが、 この2つですら、この文章を書いている今、30秒くらいの差があります(苦笑)。 …うちの環境では電波を充分に捕まえきれてないためでしょうか。

電波時計に関して詳しく…というか正確なことは、 このページ下のリンク集 など、とてもとてもタメになるページさんたちを参照下さい(汗)。

ちなみに「JJY」って何かの略称だと考えがちですが、 情報通信研究機構で運用している無線局のコールサインだそうです ( →参照)。
世界各国で同様のサービスが行なわれていて、 アメリカだと 「 WWVB」っていう名称で行なわれているそうです。

(最終更新日 [20Jun2005])

Appendix01: stty でデバイスの設定を{みる|する}
今回、tristateの電波時計キットを接続したのは、FreeBSDマシンですので、
stty -a -f /dev/cuaa0
(/dev/cuaaX = シリアルポートデバイス。 0番に接続したので X=0)とかすると、
# stty -a -f /dev/cuaa0
speed 2400 baud; 0 rows; 0 columns;
lflags: icanon -isig -iexten -echo -echoe -echok -echoke -echonl -echoctl
        -echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo
        -extproc
iflags: -istrip icrnl -inlcr -igncr -ixon -ixoff -ixany -imaxbel ignbrk
        -brkint -inpck ignpar -parmrk
oflags: -opost -onlcr -ocrnl -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd -hupcl -clocal -cstopb -crtscts
        -dsrflow -dtrflow -mdmbuf
cchars: discard = ^@; dsusp = ^@; eof = ^@; eol = ^@; eol2 = ^@;
        erase = ^@; erase2 = ^@; intr = ^@; kill = ^@; lnext = ^@;
        min = 0; quit = ^@; reprint = ^@; start = ^@; status = ^@;
        stop = ^@; susp = ^@; time = 0; werase = ^@;
ってな具合に cuaa0 の設定などが判ります。

電波時計キットとの通信には、 「9600baud, 8bit, non-parity, stopbit 1, flow制御なし」という設定を するのですから、

stty -f /dev/cuaa0 speed 9600 -istrip -parenb -cstopb -crtscts
として設定すればよいでしょう、…多分。 (詳しくは stty の man を見て下さい:-))

(最終更新日 [14Jun2005])

もっともっとタメになるページ群
電波時計に関して トライステートの電波時計キットに関して (まだまだ追加する…)

(最終更新日 [20Jun2005])

電波時計とntp 〜tristateの電波時計キットとの日々〜 に戻る

----------------------------------------

Internet 関連業績(笑)一覧 internet へ戻る
----------------------------------------

はやし はるひさ hayashi あっとまーく laic.u-hyogo.学術.日本
Home