ホーム >> 無線ブログ集 >> GPS による基準周波数(時間)発生器をつくってみた

無線ブログ集

  メイン  |  簡易ヘッドライン  

link JJ1LFO ~線無きことかな~ JJ1LFO ~線無きことかな~ (2024/5/14 7:35:36)

feed GPS による基準周波数(時間)発生器をつくってみた (2022/9/18 20:53:00)

GPSSTDFREQ.jpg

動機

とある理由で、正確な周波数を発生させたくなった。

アナログTV時代には、放送局が厳密に管理している数10ppt精度のカラーバースト信号 3.579545 MHz を利用した秋月電子の10 MHz発生器キットもあったようだが、地上デジタルTVに移行してしまって使えない。

また大昔は、5/8/10MHzで短波の JJY というのが有り正確な周波数基準として利用できたのだが、すでに2001年に停波してしまっている。
代わりに、電波時計にも利用されている40kHz/60kHzの 長波 JJY が運用されています。
「24時間の周波数比較平均で10ppt = 0.00001ppm の精度」は魅力的ですが、
長波を受信できるバーアンテナ部品は結構いいお値段がするし、使いたい数 MHz の周波数に大きく逓倍するのも面倒そうなのでパス。

いろいろWeb を検索してみると 、GPS 受信モジュールの秒パルス機能を利用する方法が最近の流行のようだ。

実験

電子部品通販サイトを漁ったところ aitendo で、
秒パルス 1PPSの出力端子 が出ている アンテナ付き u-blox NEO-6M GPS モジュール が、千円位で売っている。
NEO-6M のデータシートによると 1PPS の精度は RMS で 30nsということなので1.0/30e-9 = 0.33ppm 位の精度は出そう。 

いろんなWebの情報によると、NEO-6M は設定アプリでデータシートに記載の「0.25 Hz to 1k Hz 」を超えた ”10 MHz” まで 1PPS 端子に出力する事もできるらしい。

ということで買ってきて、
ブレッドボードに仮組していろいろ触ってみる。
端子としては
  • VCC : 電源 2.7V - 3.6V
  • GND : グランド
  • TXD : シリアル送信(最大電圧 3.6V)
  • RXD : シリアル受信(最大電圧 3.6V)
  • PPS : 秒パルス出力(LED カソードとも接続されている)
が出ている。

PC と接続する為にUSB-シリアル通信変換モジュールも必要。
こちらは手持ちに有った、秋月電子の 超小型シリアル変換モジュール  AE-FX234X を使用。

屋内の窓際に持っていって USB ケーブルを挿すとGPSモジュールのLEDが点灯。
最初は Cold Start なので衛星を探しているが、数分でLEDが1秒に一回瞬滅するので測位完了が分かる。 

u-blox 謹製の u-center という Win アプリを使うと衛星受信状態や緯度/経度/高度/速度がリアルタイムで分かります。
この u-center のメニューから、View -> Configuration View を開き。
"TP (Time Pulse)" ではなく "TP5 (Time Pulse 5)" の項目に、
GPS にロックした時のパルス出力設定があったので、色々と設定したみたところ。
10 MHz 超までの GPS 同期パルスが出せた。
上部の設定は GPS で位置/時間情報が取得出来ないときの Time Pulse 設定で、
下に GPS Lock 時の同期パルスを出す設定がある。

PPS Time Pulse 出力周波数
GPS 同期時の PPS Time Pulse 端子の周波数設定
TP5 (Timepulse 5) Frequency Locked をいろいろ変えて観察してみると。

に説明されている通り、 48 MHz を整数で割り切れない周波数ではジッタが発生する。

  • 割り切れない周波数を設定すると、長区間の平均周波数は正確であってもジッタが発生する。
5 MHz
7 MHz
10 MHz

  • 割り切れる周波数では、揺れが無く綺麗な出力波形。
6 MHz
8 MHz

製作

回路

ブレッドボードで動作の確認ができたので回路図を作成。
  • GPS の電源は USB からの VBUS 5 V をシリーズレギュレータで 3.3 V にして使用。
  • GPS で 50 Ohm 負荷を直接駆動するのは厳しいので。インバータ 74HC04 でバッファ。
  1. 74HC04 の一個当たりの出力電流は 3.3V 電源では +- 3 mA 程度なので、2個パラ出力にすると共にアッテネータで負荷を軽くしてやる。
  2. アッテネータで電圧が小さくなるので、バルストランスを使用したBTL駆動にして電圧をかせぐと共に GND に流れ込む電流(ノイズ)を減らす。
  • BNC出力に 50 Ohm 負荷ではなく高インピーダンス負荷を同軸ケーブルで接続した時も、50 Ohm 付近の負荷インピーダンスにする為に、50 Ohm Load ON/OFF スイッチを追加。
  • パルストランスを使用した BNC 出力では、出力周波数が低くなるとインダクタンスが不足して矩形波が大きくサグるので。シングルエンド出力でバラ線を簡単に接続するため 2P のターミナルブロックも用意。
  • GPS_freq_STD_schematic.png (クリックで拡大)


部品その他

  • パルストランス
インダクタンス 2.5 mH なので、50 Ohm ラインでは 20 kHz 以上で使えそう。
  • BNCジャックと2Pターミナルブロック

実装・組立

万能基板に組み上げて、USBを接続し動作確認。
を初めて使ってみる。
GPS ユニットと USB シリアルコンバーターの LED が確認できるうえに。
普通のケースでは Micro USB 端子の穴をあけて固定するのが面倒なのだが。
この基板の上下だけをアクリル板で保護方式なら、うまくまとまる。


使用法

USBシリアルモジュールの Micro USB 端子に USB ケーブルを差すと電源が入り。
USBシリアルモジュールの青色 LED と、GPS モジュールの赤色 LED が点灯。

GPS が位置情報を取得してロックすると、BNC ジャックと 2P ターミナルブロックに矩形波が出力される。
出力周波数およそ 100 kHz 以下では、パルストランスを使用した BNC 出力端子の信号ではサグが大きくなるので、2P ターミナルブロックを使用するのが良いでしょう。

下の写真では、基板上の GPS アンテナではなく外部GPSアンテナをケーブルで接続しています。

DSC_0958-03.jpeg

周波数設定について

GPS が位置(時間)情報にロックしている時の、PPS出力の設定は。
u-center のメニュー File > View > Configuration View を開いて、
TP5(Timepulse 5) の
  • Frequency Locked [Hz]
  • Duty Locked [%]
で好きに設定できる。
色々周波数を変えて観測してみると、1 Hz から 20 MHz程度まで出力できる。
ただし、設定値により出力矩形波の状態が影響を受けるので、
用途に応じた適切な設定が必要です。

基本周波数近傍スペクトル

Spectrum Analyzer Settings

  • Vertical 10 dB/Div. Max. 130 dB
  • Horizontal 0.5 MHz/Div.

にして周波数設定による差を比較。


TP5(Timepulse 5) Settings

  • Frequency Locked: 4,000,000 Hz
  • Duty Locked: 50%

の時の 4 MHz 近傍スペクトル。

48 MHz /4 MHz は整数で割り切れるので綺麗な線スペクトルになっている。

DSC_0958-01.jpeg

TP5(Timepulse 5) Settings

  • Frequency Locked: 4,040,000 Hz
  • Duty Locked: 50%

にすると、48 MHz を整数で割り切れないので出力波形にジッタが発生するため、スプリアスが盛大に発生。

波形としてはジッタが発生するが、長区間のカウント値は正確なのでカウンタの校正などの用途には使えるかも。

DSC_0960-01-01-01.jpeg


高調波スペクトル
出力波形は矩形波なので基本周波数だけではなく、その高調波も現れる。

Spectrum Analyzer Settings

  • Vertical 10 dB/Div. Max. 130 dB
  • Horizontal 10 MHz/Div.

にして出力 Duty による違いを観測。


TP5(Timepulse 5) Settings

  • Frequency Locked: 8,000,000 Hz
  • Duty Locked: 50 %
の場合は、正負対称波形の為
基本波 8 MHz と、3, 5, 7, 9, 11, ... 倍の 奇数次 だけの高調波が含まれる。

TP5(Timepulse 5) Settings

  • Frequency Locked: 8,000,000 Hz
  • Duty Locked:  20  %
と Duty を 50 % ではない、正負非対称の設定にすると。
基本波 8 MHz と、2, 4, 6, 8, ... の 偶数次 の高調波も含まれるようになり整数次高調波が得られる。
受信周波数マーカーなどの用途にはこちらの方が便利。

出力周波数設定を記憶

GPS モジュールに u-center で設定した値を記憶させる事もできます。
Configuration View の CFG(Configuration) で、記憶させたい設定を選択し。
"Send" ボタンをクリックすると書き込んでくれます。
一度記憶させておけば記憶された設定値で起動されるので、
USB AC Adaptor やモバイルバッテリーで Micro USB 端子に電源供給さえすれば、
PC 不要のスタンドアローンで使えます。

GPS 非ロックの LED 表示

GPS モジュールの赤色 LED のカソードがモジュールの PPS 端子に接続されているので、
PPS 端子が Low の時に光ります。
私の場合、 TP5 (Timepulse) 設定のロック時の周波数設定の上にある設定を
  • Frequency 4 [Hz]
  • Duty Cycle 25.0 [%]
unlock_led.png
として、GPS が非ロック時に LED がチカチカ点滅して分かるようにして使用しています。
PPS端子が Low で点灯なので、
  • LED の点灯 Duty = 100% - Duty Cycle 設定 
となります。

IC-705 の受信周波数精度を確認してみる

実運用上で IC-705 の受信周波数ズレを実感している訳ではないが、試しに受信周波数精度を確認してみる。

8 MHz の出力周波数設定にして、その漏れを通電して暖めておいた IC-705 で受信してみる。
CW モードでサイドトーン設定と同じ音程になるように受信周波数を調整してみると。
私の個体では 8,000.03 kHz となりました。
この時の MENU>機能設定>基準周波数調整 の設定値は工場出荷調整時のままの 54.8 % 54_8_per_menu.png

次に IC-705 の受信周波数を 8,000 kHz に固定したまま、基準周波数調整の値を変えて合わせると
基準周波数調整の値は、 80 % がビッタリになりました。

ズレていたとはいえ 3.75 ppm = 30 Hz/8 MHz 程度ですから、アマチュア無線機なら出荷調整基準内で基準周波数発振器の初期変動を考慮しても許容範囲内で良品なんでしょうね。

おわりに

単にモジュールを組み合わせただけですが、校正要らずというか米国が常時校正してくれている GPS 信号を利用して、家の中で一番正確な周波数基準を獲得できました。
それも格安で出来て大満足。


execution time : 0.031 sec
サイト内検索

メインメニュー

ログイン
ユーザ名:

パスワード:



パスワード紛失


オンライン状況
13 人のユーザが現在オンラインです。 (9 人のユーザが 無線ブログ集 を参照しています。)

登録ユーザ: 0
ゲスト: 13

もっと...