GPS 10MHz Oscillator with LCD (GPSDO)

中国のアマチュア局BG7TBLが制作した、10MHz Oscilator 「LCD-GPS Disciplined OSCILLATOR」。
携帯基地局で使われていたOCXOを再利用し、GPSの基準信号と比較して正確な10MHzを出力してくれる、というやつです。GPSDOと呼ぶみたいですね。

IMG_1101

10MHzは結構色々なデジタル機器や測定器の基準信号として使われるので、そんな機器類がある人にとって、精神的な安定にも効果が高いw。
表示なし版は知っていたが、年明けにLCD表示付きのが出て、単純に周波数を表示する他、ppm/ppbでの誤差表示に変えたりもできるので、これは良いじゃない!と早速e-bayへ。日本円で20,000円強ほどとお安い買いので、ぽちっと発注したら1週間ほどで深センから届いた。

GPSアンテナとACアダプタを繋いだらもう設置完了という手軽さで、30分ほどでオーブンも暖まって周波数も安定してきた。便利な世の中すよねー。性能的には価格相応らしくジッターもある程度あるが、まぁどの辺りで見切るかですから。

しばらく使ううち、ここは日本、デフォルトのUTC表示は不便なのでJST表示に変えようと思ったのだが、そもそもマニュアルが付いてない!
e-bayの商品案内に添付されていた写真を見ると、設定機能は持っているようなのだが、全くやり方が分からん。e-bay上で探し出した、手順の欠片のような情報をもとにやっても効果なし。調べるうちに「EEVblog Electoronics Community Forum ( https://www.eevblog.com/ )」というところで、ようやく情報を発見。Forumの書込みを見ると、みな同じ事を考え迷っていたようで(そりゃ、誰だって自国の時刻で表示したいよねぇ)、試行錯誤していたらしい。

その結果は、なんと設定コマンド用の定長文字列を2度連続送信する、という力業。それを参考に設定変更完了したのが、上の写真だ。

表示設定のためのテストモード用ジャンパピンを立てるために、本体を分解した時の中身の様子をどうぞ。IMG_1097

OCXOには、Trimbleの65256が使われていた。表面にはOSC以外は殆ど乗っていない。

写真を撮り忘れたが、中央のカラーのリボンケーブルがLCDユニットに繋がっている。

 

 

 

 

 

こちらは基板裏側の様子。IMG_1096

GPSDO の表示形式を変更する手順と、設定コマンドを書いておく。

●手順

(1)電源を切る
(2)RS232CでPCと接続し、ターミナルソフトでcom portを設定する
(2)基板上のRUN/TESTのジャンパをつなぎ、TESTモードにする
(3)電源を入れる
(4)com portをオープンして接続し、設定コマンドを入力する
(5)「OK!」が返ってきたらコマンドが受け付けられている
(6)comポートをクローズし、RUN/TESTのジャンパを外す
(7)電源を入れ直し、希望する形式に変更されたことを確認して完了

●設定コマンド

1.書式

$GPGTC,X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 T*

‘$GPGTC,’で始め、12bitでコマンドを並べ、’T*’で終了する。
(各bit間には、スペースは入れない。ただしX2-X7では文字列としてのスペースの指定が有効)

例: ‘$GPGTC,0 UTC +0000T*’ UTCの前後に、スペース 1、スペース2 となっている

2.各bitの定義

X1 : 周波数表示モード
0 : ‘1000000.000Hz’
1 : 10M +/-0.0000Hz’
2 : 10M +/-000.00ppb’
3 : 10M +/-0.00000ppm’

X2-X7 : ユーザー定義文字列
‘ UTC ‘ [SP][SP]UTC[SP]

X8 : UTCに対するOffset方向
‘+’

X9 X10 : UTCに対するoffset時
’00’~’23’まで

X11 X12 : UTCに対するoffset分
’00’~’59’まで

3.書式例

(1)1000000,0000Hz表現形式で、UTCに対するオフセットなしで時刻表示 (デフォルト)
$GPGTC,0 UTC +0000T*
(2)PPM表現形式で、8:00のオフセットがあるBJT(Beijing)時刻表示
$GPGTC,3 BJT +0800T*
(3)PPB表現形式で、5:00のオフセットがあるEST時刻表示
$GPGTC,2 EST +0500T*

4.注意事項

コマンド文字列をターミナルソフトで入力する時、連続して2度文字列を指定すること。そうでないと、コマンドが受け付けられない。

例) ‘$GPGTC,0 JST +0000T*’ を指定したい場合は下記のように指定する

‘$GPGTC,0 JST +0000T*$GPGTC,0 JST +0000T*’