10GHz周波数カウンタ過去使っていた自作周波数カウンタの不満を解消すべく3代目のカウンタを作りました。周波数カウンタに要求される仕様とは?1、精度:10GHzで1KHzを見たいなら10-8乗は必要でしょう。そのため4MHzOCXO(瞬時-8乗の性能)とビデオ色同期信号を基準クロックとして使う。ビデオ色同期信号から10MHzを作る回路は市販(秋月)キットを使いましたが、10MHzの自励発振では純度が悪いのでVCXOに回路を変更しました。2、桁数:まあ8桁もあればよいのですが、CPLDを使いましたので11桁入っています。回路変更にはんだごてが不要なのがCPLDの良いとこです。3、基本カウンタの最高カウント周波数:とても重要です。測定時間の短縮のためにも高い方がよいのですが、CPLDに非同期カウンタを組んだところ140MHzぐらいまでカウント可能でしたので、基本カウンタを100MHzとしあとはプリスケーラとの組み合わせとしました。CPLDに同期カウンタを組み込むと最高周波数は半分以下になります。4、プリスケーラ:分周数は少ないほうが測定時間の短縮のためにもよいので800MHzを1/8、4GHzを1/6410GHzを1/128としました。5、直読:プリスケーラの分周数にあわせてゲート時間を変更すればすべての周波数を直読可能です。基準クロックは100KHzあればあとは分周の細工ですべてのゲート時間を生成可能です。100KHzは4MHzまたは10MHzの基準クロックから作ります。6、ゲートパルス:これは不満の多いところで、安価なキットでは1秒測定しては1秒待つというような無駄な時間を浪費しています。理由は簡単ですが、今回はゲートパルスをワンショットで発生するようにしたので待ち時間を極力減らせました。7、表示:LCDとし、周波数以外のプリスケーラ、ゲート時間も表示します。これをCPLDで作る能力はないのでPIC16F873でコントロールします。8、データ出力:せっかくPICを使うのですから、RS232Cでデータを出力できるようにします。9、ゲート時間:周波数を見ながらトリマを回すのでしたら、毎秒10回程度を最速としこれより早い必要はありません。切り替えは4つとしたので100MHzなら0.1秒、1秒、10秒、100秒としました。クロックが安定ならば100秒レンジでパソコンにデータを出力すれば高精度で連続測定可能です。フロントパネル5つの入力はコネクタとしました。ほんとは切り替えリレーにしたいところです。ロータリーSWはゲート時間の切り替えと入力の切り替えです。リアパネルにはデータ出力用Dsubコネクタと基準クロック10MHz/4MHz切り替えSWがある心臓部PIC16F873とXC95108-15です。CPLDはオンボード書き換え可能でカウンタ機能を詰め込みました。使用率80%ぐらいPICは主にLCDのコントロールに使っています。黒いのは4MHzOCXO安定するまで30分ぐらいかかる。ビデオ色同期信号から10MHzクロックを作る回路オリジナルの10MHz発振部をVCXOに改造した。10MHzを受信機で聞いているとビデオ信号が入ると10.000MHzに引き込まれるのがわかる。入力アンプ、プリスケーラ部1MHz:2SK241+2SC1815+74HC14100MHz:2SK241+2SC3356+74AC14800MHz:ERA1+TD7104+Tr+74AC144GHz:ERA1+uPG1505+Tr+74AC1410GHz:FMM1103VJ+uPB581+TD7104+Tr+74AC14SG等でチェックしましたが結構高感度に仕上がりました。AFから10.5GHzまで見えないところはありません。あとは1MHz(AF用)をレシプロカウント方式(カウント値の逆数から周波数を求める)にすれば完璧ですが、まあそのうちということで。(PICとCPLDを書き換えれば済むのですが)。