Microsoft PowerPoint - GPSref_osc.ppt

Similar documents
Microsoft Word - QEX_2014_feb.doc

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

Microsoft PowerPoint pptx

(Microsoft Word - \216\374\224g\220\224\212g\222\243\203A\203_\203v\203^QEX.doc)

フィードバック ~ 様々な電子回路の性質 ~ 実験 (1) 目的実験 (1) では 非反転増幅器の増幅率や位相差が 回路を構成する抵抗値や入力信号の周波数によってどのように変わるのかを調べる 実験方法 図 1 のような自由振動回路を組み オペアンプの + 入力端子を接地したときの出力電圧 が 0 と

PLL アン ドゥ トロア 3 部作の構成 1. PLL( 位相ロック ループ ) 回路の基本と各部動作 2. 設計ツール ADIsimPLL(ADIsimCLK) を用いた PLL 回路構成方法 3. PLL( 位相ロック ループ ) 回路でのトラブルとその解決技法 2

名称 型名 SiC ゲートドライバー SDM1810 仕様書 適用 本仕様書は SiC-MOSFET 一体取付形 2 回路ゲートドライバー SDM1810 について適用いたします 2. 概要本ドライバーは ROHM 社製 2ch 入り 180A/1200V クラス SiC-MOSFET

NJM78L00S 3 端子正定電圧電源 概要 NJM78L00S は Io=100mA の 3 端子正定電圧電源です 既存の NJM78L00 と比較し 出力電圧精度の向上 動作温度範囲の拡大 セラミックコンデンサ対応および 3.3V の出力電圧もラインアップしました 外形図 特長 出力電流 10

CMOS リニアイメージセンサ用駆動回路 C10808 シリーズ 蓄積時間の可変機能付き 高精度駆動回路 C10808 シリーズは 電流出力タイプ CMOS リニアイメージセンサ S10111~S10114 シリーズ S10121~S10124 シリーズ (-01) 用に設計された駆動回路です セン

形式 :PDU 計装用プラグイン形変換器 M UNIT シリーズ パルス分周変換器 ( レンジ可変形 ) 主な機能と特長 パルス入力信号を分周 絶縁して単位パルス出力信号に変換 センサ用電源内蔵 パルス分周比は前面のスイッチで可変 出力は均等パルス オープンコレクタ 電圧パルス リレー接点パルス出力

実験題吊  「加速度センサーを作ってみよう《

Microsoft Word - N-TM307取扱説明書.doc

Microsoft PowerPoint - 3.3タイミング制御.pptx

(3) E-I 特性の傾きが出力コンダクタンス である 添え字 は utput( 出力 ) を意味する (4) E-BE 特性の傾きが電圧帰還率 r である 添え字 r は rrs( 逆 ) を表す 定数の値は, トランジスタの種類によって異なるばかりでなく, 同一のトランジスタでも,I, E, 周

CCD リニアイメージセンサ用駆動回路 C CCD リニアイメージセンサ (S11155/S ) 用 C は 当社製 CCDリニアイメージセンサ S11155/S 用に開発された駆動回路です S11155/S11156-

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

RLC 共振回路 概要 RLC 回路は, ラジオや通信工学, 発信器などに広く使われる. この回路の目的は, 特定の周波数のときに大きな電流を得ることである. 使い方には, 周波数を設定し外へ発する, 外部からの周波数に合わせて同調する, がある. このように, 周波数を扱うことから, 交流を考える

NJU72501 チャージポンプ内蔵 圧電用スイッチングドライバ 概要 NJU72501はチャージポンプ回路を内蔵し 最大で3V 入力から 18Vppで圧電サウンダを駆動することができます このチャージポンプ回路には1 倍 2 倍 3 倍昇圧切り替え機能を備えており 圧電サウンダの音量を変更すること

絶対最大定格 (T a =25 ) 項目記号定格単位 入力電圧 V IN 消費電力 P D (7805~7810) 35 (7812~7815) 35 (7818~7824) 40 TO-220F 16(T C 70 ) TO (T C 25 ) 1(Ta=25 ) V W 接合部温度

2STB240AA(AM-2S-H-006)_01

KDC

<91E63589F161>

PIC の書き込み解説 PICライターを使うときに間違った使い方を見受ける 書き込み失敗の原因は知識不足にある やってはいけないことをしている 単に失敗だけならまだしも部品を壊してしまう 正しい知識を身に着けよう 書き込みに必要なピンと意味 ICSPを意識した回路設計の必要性 ICSP:In Cir

NJM78L00 3 端子正定電圧電源 概要高利得誤差増幅器, 温度補償回路, 定電圧ダイオードなどにより構成され, さらに内部に電流制限回路, 熱暴走に対する保護回路を有する, 高性能安定化電源用素子で, ツェナーダイオード / 抵抗の組合せ回路に比べ出力インピーダンスが改良され, 無効電流が小さ

Microsoft PowerPoint - MOT.ppt

光変調型フォト IC S , S6809, S6846, S6986, S7136/-10, S10053 外乱光下でも誤動作の少ない検出が可能なフォト IC 外乱光下の光同期検出用に開発されたフォトICです フォトICチップ内にフォトダイオード プリアンプ コンパレータ 発振回路 LE

Windows10の標準機能だけでデータを完全バックアップする方法 | 【ぱそちき】パソコン初心者に教えたい仕事に役立つPC知識

Microsoft PowerPoint - RL78G1E_スタータキットデモ手順_2012_1119修正版.pptx

降圧コンバータIC のスナバ回路 : パワーマネジメント

スライド 1

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

Ver.1-5 Date レゾルバ変換器 (R/D 変換器 ) R D 1416 取扱説明書 レゾルバデジタル変換器 (RD1416) サーボテクノ株式会社 神奈川県相模原市中央区相模原 TEL: FAX:

Microsoft Word - NJM7800_DSWJ.doc

2STB240PP(AM-2S-G-005)_02

フロントエンド IC 付光センサ S CR S CR 各種光量の検出に適した小型 APD Si APD とプリアンプを一体化した小型光デバイスです 外乱光の影響を低減するための DC フィードバック回路を内蔵していま す また 優れたノイズ特性 周波数特性を実現しています

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

電気的特性 (Ta=25 C) 項目 記号 条件 Min. Typ. Max. 単位 読み出し周波数 * 3 fop khz ラインレート * Hz 変換ゲイン Gc ゲイン =2-5 - e-/adu トリガ出力電圧 Highレベル Vdd V -

正転時とは反対に回転する これが逆転である 図 2(d) の様に 4 つのスイッチ全てが OFF の場合 DC モータには電流が流れず 停止する ただし 元々 DC モータが回転していた場合は 惰性でしばらく回転を続ける 図 2(e) の様に SW2 と SW4 を ON SW1 と SW3 を O

2 つの遅延 マスターとスレーブの遅延とスレーブとマスターの遅延を計算しなければなりません まずマスターとスレーブの差を計算します : 最初に送られるタイムスタンプは T1 です T1 はマスターがその Ethernet のポートに Sync message を送った時刻であり Follow-up

00_testo350カタログ貼込.indd

VLSI工学

オペアンプの容量負荷による発振について

NJM2591 音声通信用ミキサ付き 100MHz 入力 450kHzFM IF 検波 IC 概要 外形 NJM259 1は 1.8 V~9.0 Vで動作する低消費電流タイプの音声通信機器用 FM IF 検波 IC で IF 周波数を 450kHz ( 標準 ) としています 発振器 ミキサ IF

形式 :WYPD 絶縁 2 出力計装用変換器 W UNIT シリーズ パルスアイソレータ ( センサ用電源付 2 出力形 ) 主な機能と特長 パルス入力信号を絶縁して各種のパルス出力信号に変換 オープンコレクタ 電圧パルス リレー接点パルス出力を用意 センサ用電源内蔵 耐電圧 2000V AC 密着

スライド 1

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

形式 :KAPU プラグイン形 FA 用変換器 K UNIT シリーズ アナログパルス変換器 ( レンジ可変形 ) 主な機能と特長 直流入力信号を単位パルス信号に変換 オープンコレクタ 5V 電圧パルス リレー接点出力を用意 出力周波数レンジは前面から可変 ドロップアウトは前面から可変 耐電圧 20

(Microsoft Word - PLL\203f\203\202\216\221\227\277-2-\203T\203\223\203v\203\213.doc)

Arduinoで計る,測る,量る

HW-Slides-05.ppt

NJM78M00 3 端子正定電圧電源 概要 NJM78M00 シリーズは,NJM78L00 シリーズを更に高性能化した安定化電源用 ICです 出力電流が 500mA と大きいので, 余裕ある回路設計が可能になります 用途はテレビ, ステレオ, 等の民生用機器から通信機, 測定器等の工業用電子機器迄

Taro-82ADAカ.jtd

講習会 Arduino

資料 ISDB-T SB 信号から FM 受信機への干渉実験結果 1 実験の目的および方法 実験の目的 90~108MHz 帯のISDB-T SB 信号からFM 放送波への影響について干渉実験を行う 実験方法 FM 放送波を 89.9MHz に ISDB-T SB 信号を 90~10

Microsoft Word - AK8133_MS0930_J_05.doc

AKI-PIC16F877A開発キット (Ver1

CodeRecorderでカバレッジ

アクティブフィルタ テスト容易化設計

端子 SIG 端子 (DA 基板接続 ) NO 端子名 入出力 機能 1 BCK/DCLK OUT PCM-I2S BCK / DSD-DCLK 2 GND 3 DATA/DSDL OUT PCM-I2S DATA / DSD-DSDL 4 GND 5 LRCK/DSDR OUT PCM-I2S L

2. 仕様 電源 :USB バスパワー (USB 入力の 5V 電源を使用します ) 出力 : 3.5mm ステレオジャック アナログステレオ出力 最大 20mArms 対応ヘッドホンインピーダンス 1Ω~500Ω RCA ピンジャック アナログ 2ch 出力 (L R) ラインレベル ヘッドホンア

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

Microsoft Word - 実験4_FPGA実験2_2015

株式会社xx御中

NCB564個別00版

TOPPERS活用アイデア・アプリケーション開発

機能 SB-2000 は無線機とコンピュータを接続するインターフェースです CAT, CI/V を経由したリグ制御 CAT や CI/V のリグ制御のインターフェースを持っています この接続でリグを制御できます RTTY, PSK31, SSTV, FAX, その他のデジタルモードが運用できます広く

AI1608AYUSB手順V3

等価回路図 絶対最大定格 (T a = 25ºC) 項目記号定格単位 入力電圧 1 V IN 15 V 入力電圧 2 V STB GND-0.3~V IN+0.3 V 出力電圧 V GND-0.3~V IN+0.3 V 出力電流 I 120 ma 許容損失 P D 200 mw 動作温度範囲 T o

モジュール式アナログアンプ 形式 VT-MSPA1-1 VT-MSPA1-10 VT-MSPA1-11 RJ 形式 : 改訂 : シリーズ 1X H6833_d 特長 内容 電磁比例圧力弁の制御に適しています : DBET-6X DBEM...-7X (Z)D

Product News (IAB)

前回の内容 マイクロコンピュータにおけるプログラミング PC上で作成 コンパイル マイコンに転送 実行 プログラムを用いて外部の装置を動作させる LED turnonled turnoffled LCD printf プログラムを用いて外部の装置の状態を読み取る プッシュスイッチ getpushsw

周波数特性解析

機器仕様構造 : プラグイン構造接続方式 入出力信号 供給電源 :M3.5 ねじ端子接続 ( 締付トルク 0.8N m) NestBus RUN 接点出力 : コネクタ形ユーロ端子台 ( 適用電線サイズ :0.2~2.5mm 2 剥離長 7mm) 端子ねじ材質 : 鉄にクロメート処理ハウジング材質

MXT無電圧接点セレクタ(XJJM.506)

LED特性の自動計測ver3.1改.pptx

Arduino 用電界強度計シールド組み立て説明書 この電界強度計は Analog Devices 社のログ アンプ AD8307 を使い 入力を 50Ωにマッチングさせ その出力を OP アンプで受けて Arduino の A/D コンバータで読み取り LCD ディスプレイに表示しています AD8

3

形式 :RPPD 計装用プラグイン形変換器 M UNIT シリーズ パルスアイソレータ ( センサ用電源付 ロータリエンコーダ用 ) 主な機能と特長 ロータリエンコーダの 2 相パルス入力信号を絶縁して各種の 2 相パルス出力信号に変換 オープンコレクタ 電圧パルス パワーフォト MOS リレー R

:30 18:00 9:30 12:00 13:00 17:00

パソコンで HF 帯用オールモード受信機を体験できる 数千円で販売されている,TV 受信用 USB チューナを使ったソフトウェア ラジオで HF 帯の受信をするための周波数コンバータを紹介します. 簡単に HF 帯を受信することができます. JA7TDO 三浦一則 Kazunori Miura TV

NI 6601/6602 キャリブレーション手順 - National Instruments


目次 1. ダイナミックレンジとは 不思議な体験 三つの信号の関係 測定 ダイナミックレンジまとめ

Transcription:

GPS にロックした基準発振器の試作 2017.03.27 JA1VCW 1. はじめに測定器の基準周波数として外部から正確な周波数を入力すると 測定精度が上がる場合が多くあります そのためになるべく高精度 高安定な発振器が欲しいと思いました 正確な周波数を得る方法として JJY カラーバースト ( 今は地デジになって不可 ) ルビジウム発振器 GPS などがありますが現実的に GPS にロックする方法にしました 周波数は 10MHz やその倍数の周波数発振器が多く使用されます 今回は 10MHz としました 実現方法など先達がいろいろと発表されていますが 今回は試作なので ( いつも試作で終わりますが ) 前記を参考に自分で回路やプログラムを考えました この試作が理論的にに正しいかどうかは不明ですが 最終的に本稿のような結果が得られました 2. 実現方法 2.1 方法概略いくつかの実現方法がありますが 主なものとしては 1)GPS モジュールからの 1pps をカウンタのゲートとして可変水晶発振器の 10MHz の周波数を測定し その測定値が 10MHz ちょうどになるよう発振器の周波数をコントロールします 2)GPS モジュールから数 10kHz のクロックをとりだしてそれを基準周波数として一般的な PLL を構成し そのループフィルタの定数を考慮することによって 高純度の 10MHz を得ます 今回は次のような理由で 前記 a) の 1pps を利用する方法で試作してみようと思いました 1)GPS モジュールのほとんどが 1pps 出力を有しています また 今回使用のモジュールは 1pps 以外の 周波数を取り出す方法が ( 方法はあるのかも知れませんが ) 分かりません 2) 比較的良い特性の OCXO( オーブン付き水晶発振器 ) がありました 3) マイコンが余っていました 4) こちらの方が作って面白そうだと思いました 2.2 検討 1)GPS 受信モジュールから得られる 1pps = 1 秒周期の信号は長時間平均すれば精度の高い信号です 1 秒ごとではジッタを有し 若干精度が落ちます 今回使用したモジュールでは秋月電子製で その取説によると 1pps の確度は 1 秒 ±10ns なので数値にして確度 = ±10ns/1 秒 = ±(1E-8) 程度です このモジュールは太陽誘電の [GYSFDMAXB] を使用しています 2) 周波数を 1/N に分周すればジッタは 1/N になるので 確度が 1pps に比べて N 倍良くなるはずです この方法をうまく実現できれば性能向上になります 3) 全体の周波数コントロールは次のように行います 1±10ns 程度のジッタがある 1pps の信号は ±1E-8 程度の確度です 2 それを 200 秒累算して ±5E-11 程度の確度まで上げ それを基準 ( ゲート信号 ) として OCXO の周波数を測定します 3 測定した周波数が 10,000,000.00Hz(2,000,000,000 カウント @200 秒ゲート ) になるよう OCXO を コントロールします 4)10MHz の OCXO を使って高精度を期待しますが OCXO も周波数がわずかながらふらつきます この短時間のふらつきは補正できません 3) の場合 200 秒に 1 回 OCXO の周波数を補正しますがその間は OCXO の特性で自走しているので OCXO の特性がそのまま現れます 1

この 200 秒間のふらつきは実測して ±0.8mHz 以下程度でしたので 今回の確度には大きな影響が無いと考えられます OCXO は外部から周波数がコントロールできるタイプを使用します 5) ブロック図は次のようになります GPS module 1pps N 分周器 1/N 1/N Hz ( 今回 N=200) OCXO 10.0 0MHz ゲート Counter 周波数 control 10MHz 出力 12bit DAC 差 * 係数 数値比較 10. 0 0MHz 2

3. 追加検討さらにもう少し条件や方法を検討します 1)OCXO OCXO は付 1.1 のものを使用します OCXO でかつ周波数が外部電圧でコントロールできます 2)CPU カウンタ CPU には ATmega64 を使用しました 理由はこの CPU が手持ちで余っていたためです もっと小さい ATmega328 でも IO 数 プログラム容量は十分です ATmega64 では 16bit 2 本のハードウェアカウンタ ( ハードカウンタ ) があるので 1 本を使用します このカウンタは CPU クロックの 1/2.5 以下で使用するように取説で指示されています 入力部に CPU クロックと同期させる回路が入っているためです CPU クロックは 16MHz なので入力周波数 6.4MHz 以下となります 従って 10MHz をカウントするために 1/2 のカウンタを外部に接続します 外部のカウンタの出力状態は CPU からリードできる必要があります 全体のカウンタは次のように構成されます 1bit( 外部ハードカウンタ )+16bit(CPU 内部ハードカウンタ )+15bit( ソフトカウンタ ) 3) ハードカウンタは外部の 1/2 分周回路を含めて 17bit ありますので 1/131072 になります 10MHz を入力した時はおよそ 13.1ms ごとに overflow が発生し それをインタラプトとしてソフトのカウンタをカウントアップします 13ms の間隔がありますのでプログラムは十分対応できます 4)1pps の信号 1pps の信号はモジュール出力の立ち下がりのみが保証されているため そのように使用します 5) 演算の bit 長 BASCOMAVR を使用しますと 整数の数値としては Dword 型が最大で 4byte で 32bit 長です ただし 数値計算をするので Long 型を使用すると 32bit(long) 2,147,483,647 なので 10MHz をゲート 1 秒でカウントすると 2,147,483,647 /10,000,000 214s までの数値が扱えます 6)DA 変換器 (DAC) は安価な秋月電子の 12bit の I2C でコントロールするタイプを採用しました 12bit が分解能として十分であるかどうかは後で検討しますが 現時点ではこれを使用します 7)OCXO の周波数可変端子のドライブには電流が流せる (<2mA) 必要があるので op-amp を使用し且つ Low noise で単一電源のタイプを選びました ただし最大の電源電圧が低いので使用には 注意が必要です 8) ロジック IC はスピードやレベルに応じて 適当なタイプ (HC,AC HCT など ) を使用しています 9) 出力は 5 回路設けました 各出力はサイン波でアイソレートしてあり 出力電圧は 3Vp-p@50Ω 程度です 出力のバッファアンプは 2SK195 を使用しています あまり馴染みの無い FET ですが なぜか分かりませんがたくさん持っていましたので使いました 10) ケースは壊れたカセットデッキを流用しました ハードオフでケースが適当な大きさで働かない物を買ってきました 電源トランスが流用できるかと期待しましたが 若干電圧が低くて使用不可 11) ケース内のトランスが使用できませんので 外付けの AC コンセントと一体になっている電源を使いました これは出力電流によって +13V~+15V 程度までの電圧変動があります どうやらトランスと整流器 + フィルタ程度の様です したがって本体に低損失の 12V のレギュレータを付けました 実験してはいませんが SW タイプの電源はノイズを発生する可能性がありますので 敬遠しました 4. 確度目標 mhz( ミリヘルツ ) 台を扱うことになりますが どこまで可能かわかりません 200 秒 Gate を使用しますと カウンタの LSB は 0.005Hz になりますので ±1E-9 程度まで行けば 上出来と勝手に考えます 3

5. ブロック図や概略の動作など 5.1 ブロック図前出のブロック図を現実的なものにします ATmega64 DAC 12bit I2Cbus Drive 用 Buffer-amp DAcontol O 1/2 カウンタ ソフトカウンタ 15bit 基準発振器 OCXO 10MHz Gate D Q CK *Q cl I 5MHz ハート カウンタ 16bit(Timer1) 76Hz 1pps D Q CK *Q cl Gate コントロール D-FF I I I O O Control 表示器 (LCD) 5.2 概略の動作 1)1pps の N パルス (=N 秒ゲート ) 間 OCXO の周波数をカウントし 次の 1 パルス分休んでその時に必要な処理をします 従って 1 シーケンスは N+1 秒です 2)Gate コントロールは D-FF を使用して 1pps に同期して open/close します 3)N はプログラムで設定できます N 秒ごとの処理としては 1 カウントしたデータと理論値を比較 差分をとります 2 差分から算出した適当な数値を DAC に送ってその分の周波数を補正 3N は 200 以下の任意の数 ただし切りの良い数字にしておかないとあとで検算が面倒 今回は 200(200 秒ゲート ) で動作させています N パルス = N 秒 N パルス = N 秒 1pps Gate Gate open Gate open 処理 4

6. ハードウェアのプログラムによるコントロールこれは私の個人的なメモなので分かりにくいところがあります 同じものを作られる方もいないと思いますので ソースプログラムは公開しません 1pps 1 1 2 1 Gate Enucntr n-1 n 0 1 1)1pps の上がりのエッジを検出して a) まず 1pps のカウンタを up する すなわち Enucntr= Enucntr+1 b)enucntr が n になったら Gate を Lo にします 2)1pps の上がりのエッジを検出して a)enucntr が n+1 のとき (n 秒カウントした時 ) b,c,d を行います b) カウンタデータを読み込み c) 理論値との差を算出 d) 差が >0 又は <0 によって DAC にある値を設定することによって OCXO の周波数を修正 e) 次のゲートサイクルのための設定 Enucntr= 0 ハードの初期化 ソフトカウンタの設定 etc. f) DFFD を Hi にします 3) 最終的に理論値のカウント数に近づいて その境界あたりを上下します 4) 数値のコントロールは 単純に測定値が理論値と同一になるようにします この詳細は付 3. に述べます 5) 時々 GPS 受信モジュールからの 1pps のパルスが止まる場合があります これは衛星を 4 個以上 捉えていない場合に発生しますが 実験中ということもあってモジュールの置き場所によって割と頻繁に発生します これが発生した時はこの回の測定値を破棄して あらかじめ記憶してあるひとつ前の値 ( カウント値や DAC の数値 ) を採用するようにプログラムします 一度 DAC の数値が変わってしまうと 元に戻るのに時間がかかりますので それを防止します 6) エラー表示について LCD ディスプレイが付いているので モニタとして内部の状態を表示するようにしました 表示フォーマットは気分によって変えてしまうことがありますのでここでは示しませんが a) カウント値 b)dac にセットする数値 c)1pps の累計回数 d) エラーおよび GPS- ロック表示このなかで d) の GPS- ロックにつきましては 明確な条件としては良くわからないので 付 3. のように 行っています これが本当に正しいかどうかわかりません GPS- ロック : 現時点では付 3. のようにしてあります ( 変わる可能性もあります ) エラー : 項目 5) が発生した時の累計 および前記ロック以外が発生した時の累計を各々表示 ロックしないときはエラーカウントが up するので エラーリセットの押し釦 SW を設け ロックしたのちにエラーリセットが可能にしておきます エラーのモニタです 5

7) プログラムは AVR のベーシックコンパイラ (BASCOM_AVR) を使用し およそ 5kbyte でした 無償の BASCOM_AVR ではプログラム量の制限にかかってしまいますので 正式版が必要です 7. 測定性能を測定してみました 7.1 測定機器 測定方法ルビジウム発振器 (Rb 発振器 ) が借用できたので それを使用してデータをとります Rb 発振器に関しては いかに Rb 発振器といえども経時変化はあってメーカーやユニットによって個々に変わりますが カタログなどからみると 1 年で 1*1E-10 ~ 5*1E-10 程度は変化するようです 恐らく実力値はもっと良いと思われます 今回の Rb 発振器は数年校正されていないので どうなっているかわかりません しかし 現在校正する方法も 確度を調べる方法もないので この Rb 発振器を測定の基準とします 周波数カウンタ (F カウンタ ) は HP-53131A の高精度 option 無のタイプです この Ext Reference 入力端子に Rb 発振器の信号を入力し周波数を測定します 特に断らない限り 以後のデータ取りはこの方法で行います ただし 一部のデータに Rb 発振器を借用する前のデータがあります このときの Reference 発振器はアンリツの SSG MG3641A 内蔵の発振器 (OCXO) を使用していました Rb 発振器 F カウンタおよび試作機を 1 日程度通電した後に測定します Reference 発振器 ( ルビジウム発振器又はアンリツ SSG) Ext Reference 10MHz HP-53131A (F カウンタ ) Ch1_input 1MΩ AC High sense 周波数補正 試作機 オシロスコーププローブ ( 1:1 ) 6

7.1.1 測定誤差のチェック Rb 発振器と F カウンタを組み合わせて 組み合わせの誤差を測定します 図のように接続したときに正しく測定できれば F カウンタには 10 000 000. 000 0 Hz と表示されます 測定条件は 1)Rb 発振器 : 10MHz F カウンタ : 10 秒ゲートでカウンタの機能を設定し 100 回測定での min/mean/max を測定 Reference 発振器 ( ルビジウム発振器 ) Ext Reference 10MHz HP-53131A (F カウンタ ) オシロスコープ用プローブ (1:1) Ch1_input (1MΩ) 2) 結果電源 ON => 1 日以上予熱 => 1 回測定 その後約 24 時間置いて 2 回目測定しました max (Hz) mean (Hz) min (Hz) max-min 1 回目 10 000 000.000 1 9 999 999. 999 97 9 999 999. 999 9 0.000 2 2 回目 10 000 000.000 1 9 999 999. 999 98 9 999 999. 999 9 0.000 2 測定系のばらつきは 0.000 2 Hz 程度存在しました 測定データに対して十分良好なばらつきですので これを使用してデータを取ることは問題無いと考えます 7.1.2 F カウンタのドリフト 1)F カウンタの影響測定ブロック図 ( 前項 ) で 1 日以上動作させた状態で F カウンタのみ電源を約 1 日間 off した後再投入し その 15 分後から周波数表示値の変化を観測します 見やすいように小数点以下のみを 記述 測定結果の周波数の例として 9 999 999.Hz + 下記の値.992 Hz => 9 999 999.992 Hz 2) 結果 経過時間 Gate time : 1sec Gate time : 10sec (min) max (Hz) min (Hz) max (Hz) min (Hz) 0 0.994 0.992 0.993 2 0.992 6 30 0.993 0.992 0.991 7 0.991 1 60 0.993 0.991 0.991 8 0.991 3 これらの値は十分ウォームアップした時とほとんど変わらないので F カウンタ自体の測定能力は 時間によって測定に影響あるような変化はありません この F カウンタの測定能力はほぼ外部 Reference の能力だけで決まることが分かりました 7

7.2 周波数制御を止めてフリーランの時のデータ 7.2.1 測定条件 1) 発振周波数が 10.0 0MHz に近くなる様なコードを DAC にセットし そのまま周波数データを取ります 2)F カウンタは 10 秒ゲートで 100 回測定し その中の max/mean/min( 最大値 / 平均値 / 最小値 ) を測定 これらの測定は F カウンタの機能を使用 3)Rb 発振器を F カウンタの Ext Reference に接続して使用 4) 測定間隔は不定で 測定者の時間がある時に測定 周波数安定状況 (F カウンタ 10 秒ゲート DAC 分解能 0.58mHz 制御無フリーラン ) 2017 0224 F カウンタの外部ゲート入力に対して Rb 発振器 (10MHz) を入力 time 周波数 (mhz) (min) max mean min 0 93.1 92.73 92.1 測定方法 17 92.5 92.11 91.8 10 秒ゲートで 100 回測定して その中の 34 92.2 91.85 91.6 max/mean/min ( 最大値 / 平均値 / 最小値 ) の値 51 92.1 91.90 91.5 Fカウンタの機能を使用 68 92.4 91.90 91.4 170 93.9 93.54 93.2 数値表示 187 94.3 93.51 93.0 93.0 =>9 999 999.9 9 3 0 Hz 204 94.4 93.20 92.8 221 93.3 92.90 92.5 307 94.0 93.60 93.2 324 94.3 93.78 93.3 341 93.9 93.42 92.9 493 93.2 92.85 92.6 510 93.0 92.60 92.3 527 93.1 92.80 92.5 929 97.8 97.50 97.0 1021 97.3 96.85 96.2 1049 96.4 95.88 95.5 1544 95.2 94.89 94.6 1561 95.3 94.92 94.5 1578 95.0 94.60 94.2 周波数 (mhz) 100.0 98.0 96.0 94.0 max mean min 92.0 90.0 0 200 400 600 800 1000 1200 1400 1600 1800 時間 (min) 2/24 14:40 start この区間での最大値と最小値の差は 6.4mHz でした 8

7.3 周波数補正を行ったときの短い時間 ( 数十分 ) 内のデータ 7.3.1 測定条件 1) ロックをかけた状態で十分ウォームアップした後にデータを取ります OCXO の周波数補正 (DAC から電圧を与えての補正 ) は 201 秒ごと 2) データの間隔は約 22 秒 3) 周波数は 9,999,999.000Hz からの変移のみ表記 例 ) 0.0254(Hz) 9,999,999.0254Hz 4) このとき F カウンタの Reference としては アンリツの SSG 内蔵の OCXO の出力を使用 短時間の出力周波数の変動 DACの分解能が約 0.58mHzの時の様子 カウンタのレファレンスはアンリツSSG 内蔵 OCXO (sec) 周波数 (Hz) (sec) 周波数 (Hz) (sec) 周波数 (Hz) (sec) 周波数 (Hz) 22 0.0242 286 0.0248 550 0.0254 814 0.0254 44 0.0242 308 0.0248 572 0.0247 836 0.0254 66 0.0242 330 0.0248 594 0.0248 858 0.0254 88 0.0243 352 0.0253 616 0.0248 880 0.0254 110 0.0243 374 0.0253 638 0.0249 132 0.0248 396 0.0253 660 0.0249 154 0.0249 418 0.0253 682 0.0248 176 0.0249 440 0.0253 704 0.0248 198 0.0249 462 0.0254 726 0.0248 220 0.0249 484 0.0254 748 0.0247 242 0.0249 506 0.0253 770 0.0254 264 0.0248 528 0.0254 792 0.0254 0.026 0.025 0.024 0.023 0.022 0 200 400 600 800 1000 ( 秒 ) DAC の分解能 ( 0.58mHz) で階段状になっています この特性は周波数補正を行っている ときの特性です 9

7.4 周波数補正を行ったときの長い時間 ( 数時間 ) 内のデータ 7.4.1 測定条件 1) 通常の動作状態でのデータです 2)F カウンタは 10 秒ゲートで 100 回測定し その中の max/mean/min( 最大値 / 平均値 / 最小値 ) を 測定 2) これらの測定は F カウンタの機能を使用 3)Rb 発振器を F カウンタの Ext Reference に接続して使用 4) 測定間隔は不定で 測定者の時間がある時に測定 周波数安定状況 (F カウンタ 10 秒ゲート DAC 分解能 0.58mHz) 20170228 F カウンタの外部ゲート入力に対して Rb 発振器 (10MHz) を入力 time 周波数 (mhz) (min) max mean min 0 94.3 93.79 93.0 測定方法 17 94.7 93.94 93.1 10 秒ゲートで 100 回測定して その中の 34 94.1 93.16 92.2 max/mean/min ( 最大値 / 平均値 / 最小値 ) の値 51 93.6 92.43 91.6 Fカウンタの機能を使用 187 93.1 91.68 90.5 204 93.3 92.24 90.8 数値表示 389 93.6 91.93 90.3 93.0 =>9 999 999.9 9 3 0 Hz 406 94.0 92.21 90.3 423 92.8 91.40 90.1 440 94.0 92.96 91.7 540 94.5 93.26 92.2 925 94.2 93.47 92.7 942 94.3 92.88 91.7 959 93.3 91.60 90.3 1061 93.0 92.55 91.8 1078 94.0 92.55 91.0 1095 93.3 92.22 90.8 周波数 (mhz) 100.0 98.0 96.0 94.0 92.0 90.0 0 200 400 600 800 1000 1200 max mean min 時間 (min) いつ測定しても 89.0~96.0 あたりをうろうろしています 10

8. 測定結果 8.1 測定結果 1) 前述の測定結果から Rb 発振器を基準として spec を考えると 少し余裕を持たせて 10MHz 誤差 (-8mHz±4mHz) あるいは ( 少し確度が悪くなりますが ) 切り良く 10MHz 誤差 (±12mHz) => ±1.2*1E-9 にしても良いと考えます 2) 本当はデータをパソコンなどに転送できるような方法で長時間テストする必要がありますが 今回その方法ができないので spec としては少しお粗末です 3) そうは言っても長いことランニングして安定した状態では 前記 spec から逸脱した値は見たことが ありません ( 定量的でも客観的でもない観測ですが ) 8.2 測定結果の考察 1) 実際は使い物になるとは思います ほかの方の製作例とくらべてどのようであるか わかりません 2) 誤差の項の ±4mHz はばらつきやドリフトでしょうが -8mHz のオフセットの理由が分かりません 次項で考えてみましたが やはりよくわかりませんでした 3) 周波数補正を行っていない場合 (OCXO 単体のフリーラン ) は ばらつきもドリフトも穏やかです しかし ドリフトは補正を行った時よりも大きい 4) 周波数補正を行って DAC のデータが一定の時 (1pps の信号を累積している間 今回は 200 秒間 ) では F カウンタの測定値はほぼ一定 ( バラツキは ±0.8mHz 程度 ) 5) 周波数の補正を止めると一部性能が良くなります 3) 項の様です 本来は補正を行っている状態では補正を止めた状態よりも良い特性が得られないといけませんが そこまでに至っていません ( 今回の本当の問題はここです ) 短期安定度は 4) 項このように良いので 正しい値からずれた分の 少しの周波数の補正をしてやればもっと良く性能が上がりそうですがうまくゆきません 6) 内部補正を行った時に 補正用の DAC の分解能 ( 約 0.58mHz)1 カウントしか増減していないのにドリフトと相まって数倍 (1~3) 程度周波数が動くときがあるようです 7)OCXO の設置方向で 0.09Hz 程度ずれました これは OCXO の規格内です DAC のカウント値も約 150 カウント程ずれます (150*0.58mHz) そうしますと 20 分とか 30 分とかかかって元に戻ります 周波数補正が動作していることが分かります 8) 設置方向を変えると周波数がずれるのは 重力の影響だそうです あるメーカーの水晶発振器の使用上の注意に書いてありました 1E-9 程度の変動だそうです したがって 設置状態を変えたらその後安定時間を設けた方が良いと思います 定量的にデータを取ったわけではないのでずれの値は不確実ですが必ず発生しました 1pps を使用しない 例えば数 10kHz などをリファレンスにした PLL の ずれが短時間に補正される ような方式ならば問題ないのでしょうが本機はそうはいきません このことは細かい数値の測定をするまで気が付きませんでした 11

8.3 8mHz の誤差 ( オフセット ) について 8mHz の誤差は何が原因でしょうか 次のような項目にずれが発生している可能性があります 1) 本機の発振周波数 2)Rb 発振器の発振周波数 3)F カウンタの測定値 4)GPS 受信モジュールからの 1pps 1) は設計が不十分で 実際に 8mHz ずれている 本機のカウンタは 5mHz 分解能なので 8mHz は 1.6 カウント分のオフセットに相当する ちょっと微妙 2)Rb 発振器といえど経時変化はある 今回の Rb 発振器はおそらく数年は校正はされていないはず Rb 発振器の経時変化は最大 5*10E-11/ 年程度 ( 個体によって違う いくつかのカタログで見て この程度 ) なので 5 年間ぐらい校正していないとすると 2.5mHz 程度変化している可能性があるが まあ spec に対してのマージンもあるはずなので 1mHz 程度のずれ位はあるかもしれません 3)F カウンタ自体に測定誤差がある 又は測定方法に間違いがある可能性だが 前出の 7.1 項 から考えると この可能性は少ない 4) 正確な 1pps を売り物にしているので もしずれているとしたら 部品不良 結局一番可能性の高いのが 1) ですが 理由が分かりません アナログ的な要素が入る可能性が少ないのです OCXO をコントローるする DAC あたりがアナログですが 帰還ループを閉じれば内部カウント値が 20 000 000 00 カウントになるように制御されているだけのはずです どれが影響しているか調査するためには 正確な reference が必要です もう一台新しい Rb 発振器を用意するか 別の GPS ロックの発振器を用意する等が必要です 今回はどれも用意できませんので 現用の Rb 発振器を基準にし 本機が 8mHz ずれているということにします いつか可能な時までの課題とします そのためにプログラムで offset が加えられるように してあります 12

9. 感想など 1) 周波数測定の分解能が 0.005Hz で 200 秒ゲートです また測定には原理的に 1 カウントのばらつき が発生することを考慮に入れると 現時点ではこの程度とも考えます 実験途中ではゲート時間を変えたりその他実験を行いましたが 長いほうが良好のようです 2) 周波数補正をかけた方が フリーランで動作させた時よりも性能が悪い すなわちばらつきやドリフトが大きいなど フリーランといっても DAC の数値を固定しているだけで 電気的な系統が変化しているわけではありません また 周波数補正も系が安定した後は 200 秒に 1 カウント分しか DAC のデータを変えていません それにもかかわらずふらりと周波数が変化します この状態は実用的には問題ないレベルではありますが ちょっと気に入らない点ではあります 3) ちょっと何かを変更すると周波数が落ち着くまで (0.01Hz 台 )10 分オーダーの時間がかかります なかなかのんびりです 4)GPS 受信モジュールは高感度で 室内に放置しておいても通常衛星の必要数 (min4 個 ) 見えて いますが まれに必要数の衛星が見えなくなるようなことが発生します そうしますと 1pps の信号が止まります 見えなくなる理由は分かりません モジュールはアンテナと一体のなので どんな設置方法が良いか実験する必要があります 5) カウント数が大幅にずれたときに ゲート時間を早くしてある程度のところまでおおよそに合わせ 目標値に近づいたらゲート時間を延ばして確度を上げてゆくような処理方法もありますが 実際に使用するときは長時間電源を入れっぱなしにするので 今回は採用していません 6) 今回 DAC は 12bit ですが ATmega64 では CPU 内 16bit のカウンタがあるのでに PWM タイプの 16bit の DAC として使用できます (ATmega328 は 16bit カウンタが 1 本しかないので不可 ) ただし AVR の Basic コンパイラ ( BASCOM_AVR) が 16bit の PWM をサポートしていない様なので使用していません まあ アセンブラでプログラムすれば可能と思いますが 今回は実施しません 10bit までの PWM でしたら BASCOM_AVR もサポートしていますし 実際に使用したことがあります 7) これでも実用上は十分ですが もうちょっと性能が上がらないかなとも思います GPS の性能に 比べて少し悪い 何らかのデータ処理などでもう半桁でも確度が上がればよいのですが うまくゆきませんでした 8) 重力の影響での水晶発振器の方向による周波数の変化が体験できるとは思いませんでした ただし 機械の位置を動かすと Lock するまで時間がかかるのはこのタイプの欠点です 9) 今回借用したルビジウム発振器は少し古い感じがします ヤフオクなどでも出品されています ebay などでは 何十も出ています しかも 20k~30k 程度です どの程度 spec 満足しているか分かりませんが そんなに多くのずれは無いと思います 今回の GPS ロック発振器は材料費 < 10k ですし プログラムの開発などちょっと楽しめました 10) 周波数の確度 安定度のみが必要ならば 前記のルビジウムのモジュールを買ってしまえば簡単で高性能な発振器が使えることになりますが それでは面白くないのでこんなものを作ってみました 11) 高級無線機の周波数安定度が 0.05ppm という規格ですので 5*1E-8 です 本機は ±1.2*1E-9 とすると 1 桁以上程度良いことになります また 経時変化もほとんど無いはずで 10 年後も同じ確度と考えられます ずれが集積されないところが最大の特徴です 13

10. 写真バラックで作業中や 一応ハコに入れたときの写真です 1) むき出しの GPS 受信モジュール 2)CPU(ATmega64) + 少しの追加ロジック ( 実験などで 使用していない回路が含まれています ) 3)OCXO は気休めでプラスチックの梱包材で包みました 包むと少し保温が効いて OCXO の +12V が若干少なくなります ( 室温約 15 ) 下の通り 0.3W 程度違います 無いよりマシでしょうか 梱包無 : 138mA(1.656W) ピンク梱包 : 112mA (1.344W) アオ梱包 : 110mA (1.32W) ピンクは何かの梱包用クッション アオは 100 均の工作用発泡スチロールカラーボードです 4)LCD 表示器はデバッグとモニタ用 5)GPS 受信モジュールを入れるハコを探さなくては 6) ボードに空きがあります より小規模に CPU ATmega328 などを使えばジャノメ 1 枚で完成します GPS 受信モジュール AVR プログラムライタ OCXO ( 気休めに梱包 ) アオ梱包 USB モニタ ATmega64( アイテンドーの基板 ) ロジック ATmega64 を ATmega328 に変更して 右の基板に載せれば基板 1 枚で済みます でも 今回はこのまま OCXO NDK 製 9140A-CEE70 ( さる OM からいただいたものです ) 14

ケースに配置 OCXO 電源 受信モジュール 1) ジャンクのカセットデッキの箱 2) 左の青い立方体がカバー付きの OCXO 3) 右下の蛇の目基板は 5 分配の回路 4) 機内トランスは未使用 ( 電圧不足 ) その代わりに外付け AC コンセント 用電源使用 これ 重いのでトランス入り Logic Atmega64 Clock dist. 1) 元についていた SW などを利用 2) 現時点では右上の 2 個の押釦 SW のみ使用 エラーリセットと エラー表示 3) フロントパネルはそのうちに薄いアルミ板などでお化粧予定 4)5 分配出力のうち 4 つはリアパネル 1 つはフロントパネル ( これは現在付いていません ) お化粧した時に付ける予定です 1)LCD 表示などは本来不要ですが 何もないと様にならないのでつけました 2) 内部の状態 エラーなど適当に表示しています デバッグなどにはとても有効です 15

測定系 周波数カウンタ HP53131A ルビジウム発振器自作 ( 借用品 ) 箱の中のルビジウム発振器モジュール形名不明 16

付 1. OCXO について (NDK 9140A-CEE70 予備調査 ) OCXO の可変範囲を調べます 上記部品のみのデータです 部品が変われば以下は無効です データシートに明記はされていないのですが Control という端子があります データシートにはこの端子は GND に接続しろと書いてあります 他の OCXO のいくつかは 10kΩ の VR 使用して発振周波数を変化させることができるので同じように 試してみました OCXO Cont 0V +12V 0V 10kΩ VR OCXO Cont 端子 I ma Cont 端子 0V VCXO としてテスト 直流電圧を加える 1) まず正規の接続として Cont を GND に接続して本体の半固定調整用トリマを回すと 10.0 0MHz を中心として -5.1Hz (1.2mA) ~ +4.7Hz (1.2mA) 電流は Cont 端子から流し出し 2) Cont を open にしてトリマを回すと +8.4Hz でほとんど変化なし 3)1) の状態で (Cont を GND) トリマを 10. 0 0MHz に調整する その後 VR を接続して VR を Cont に接続せずに中点付近で +6V に設定した後 Cont に接続する +7.46Hz (6.47V) 4)3) の状態で VR の端から端まで -0.19Hz (0V) ~ +14.2Hz (11.9V) 5)4) の状態で VR を 0V にし (VR を回し切った ) その状態でトリマを回して -3Hz に設定する 徐々に VR を回して周波数が +3Hz にする -3.0Hz (0V 1.2mA) ~ +3.0Hz (3.84V 0.56mA) これで 10.0 0MHz MHz±3Hz にするためには外部から 0V~3.84V を印加すればよいと思われるので 実際に電圧を加えて試すとそのように動作しました また この時の電流値は 1.26mA~0.56mA でした 電流は端子から GND に流れ出る方向です 実際にOCXOを可変周波数として動作させ DACと接続して中心値のあたりの特性を見ます DACデータ DAC 出力電圧値 (V) カウント数 (10 秒ゲート時の測定値 ) 3,048 3.765 100000027 2,048 2.527 100000005 1,048 1.291 99999982 これによると DAC データ 1,000 に対して 22~23 カウント (10 秒ゲートなので周波数では 2.2~2.3Hz) 変化しているので DAC データ 1LSB に対して約 2.3mHz 変化していると考えてよいでしょう ただしこの値は使用している OCXO で実測する必要があります また DAC や OCXO の規格が違ったものを使用すると それに合わせてバッファアンプにゲインや オフセットの再設計が必要になる場合があります 最終的には少し違った設定になりました ( 中心 :2.5V 範囲 : 約 ±0.12Hz 1LSB あたり 0.58mHz として 動作させている ) 17

付 2. OCXO の周波数の変化 ( 予備調査 ) 付 2.1 パワーオンからの周波数変化 Power on からの周波数変化 F カウンタ 10 秒 Gate 15.6 経過時間周波数 ( 注 ) 10,000,000Hz 周波数 (Hz) min +10,000,000Hz からのずれ (Hz) 300 1 261.574 261.574 2 202.716 202.716 250 3 138.164 138.164 4 78.191 78.191 200 5 28.38 28.38 150 6 0.1763 0.1763 100 7 969.27-30.73 50 8 974.277-25.723 9 981.932-18.068 0 10 985.742-14.258 0 5 10 15 20 25-50 12 988.251-11.749 時間 (min) 14 988.75-11.25 16 988.876-11.124 18 988.976-11.024 ( 注 ) 上位の5 桁を省略 20 989.015-10.985 261.574 10,000,261.574 Hz 55 989.439-10.561 989.439 9,999,989.439 Hz 1) 周波数コントロールの電圧が約 2.5V の時に周波数が 10.0 0MHz にになるように 本体のトリマを合わせる これは VCXO として使用した時の 10MHz 時の電圧が 2.5V のため 2) その後周波数コントロールを GND に接続 その状態で測定 ここでは OCXO の周波数の変化をデータとし 絶対値は調整によって変化するので注目しません 結果として p-on から 15 分も経過すれば 1Hz 以内程度には安定するようです 使用した F カウンタは HP53131A ユニバーサルカウンタ アンリツの SSG MG3641A の 10MHzOCXO 出力を F カウンタの EXTGate に接続して使用 HP53131A も確度のグレードがあります 今回使用のものは高精度オプションが無いタイプで SSG の Reference と比較して SSG のほうがずっと良いことが分かったので この方法で使用します F カウンタも SSG も一昼夜以上エージング後に使用 SSG MG3641A ( アンリツ ) Reference 発振器 (OCXO) control Ext Reference OCXO HP-53131A (F カウンタ ) Ch1_input GND 18

付 3. 周波数コントロールについて以下については理論によって証明されていませんので 勝手に操作してある程度の性能が出ているとしか言えません また プログラムの考え方ですので 理解しづらい又ちょっと方法が変ということがあるかもしれませんが現時点の状態です ここに書いてあること以上の説明は細かくなりますので割愛します 付 3.1 コントロールの条件周波数のコントロールについては 基本的には次のようになります 1)1pps 信号 200 パルス (200 秒 ) の間に OCXO からの 10MHz 出力周波数をカウントします 2) そのカウント数が 20,000,000.00 ( 基準カウント ) になるように DAC の電圧を変化させて OCXO を コントロールします また次のような条件があります 1)200 秒のゲートがかかっているので カウント数は 20,000,000.00 で 5mHz 分解能です 5mHz 以下の情報は得られないので 一般にはこの発振器の性能は ±5mHz 程度でしょう 2)DACの分解能はおよそ 0.58mHz 程度 OCXO の短期間の周波数安定度 ( 含むDAC,AMPなど ) はおよそ ±0.8mHz/3 分とします DACの分解能とOCXO の短期安定度が5mHzよりも良い 3) 安定状態ではカウント値は10.0 0MHz に対して最終桁がほぼ2 値 (0,1) 又は (9,0) になりますが まれに3 値までずれる様なことがあります 実際の周波数はそれほど変化しているわけではない様です 発振器の性能をもう半桁でも良くならないかと思っていますが 浅学につき思うように行きません 付 3.2 方法現在の処理が最適ではないと思いますが 動作はしているようです ここで 10M カウントというのは内部カウンタの値で 5mHz 分解能です 1)10M カウントが大幅に基準カウントからずれている場合は ( 基準カウント -10M カウント ) *10 の値を極性を合わせて DAC 設定します これを何回か繰り返すとずれは少なくなります 2) 10M カウントが基準カウントの ±2 カウント以内になったら DAC の LSB( 約 0.58mHz 分解能 ) で 1 回目 2 回目 3 回目 と DAC に設定するカウント数を減らしながら ( 基準カウント -10M カウント ) の符号に合わせて誤差が少なるように DAC の値に加減算します 3)2) から 5 回のサンプル後 Lock 状態とします Lock 状態では ( 基準カウント -10M カウント ) <= 2 カウントまでは DAC には 1 を加減算し ( 基準カウント -10M カウント ) > 2 カウントでは 1) の操作に戻ります 4) このあたりの制御はまだテスト中で 変更される可能性は多大にあります 19

付 4. 回路図について参考に回路図を提示いたします 1) このまま同じものを製作される方もいらっしゃらないとおもいますし プログラムも必要で それは公開していませんので そのままでは製作はできないと思います 回路図は主要部分です 2) 内容は間違いのないように十分注意していますが もしあった場合はご容赦ください 3) 定数 回路自体など変更する場合があります この拙稿の発表した時点では動作していた回路です 4) 回路は実験などを行った結果ですので 最適化していません 不必要なゲートや FF があります 5) モジュールからのデータ系 (TXD,RXD) 当たりの回路は 現在使っていませんので動作は確認して いません 20

OSC の P12V 分配器の P12V 21 以上