周波数カウンタの改造と失敗
- 2014/08/19 14:47
- カテゴリー:make:
夏はどういうわけだか,測定機関系をいじりたくなるようです。先日のTCXO搭載で実用レベルに至った周波数カウンタを,さらにアップグレードしようと画策したのですが,今回はその顛末です。先に結論を書くと,失敗に終わっていて,元に戻してしまいました。
(1)測定周波数の上限をアップ
秋月のキットがベースになっているこの周波数カウンタは,その測定周波数の上限が2.4GHzです。これは,プリスケーラに富士通のMB506を使ったキットであるからですが,1/1024分周されるがゆえに,精度も1/1000になってしまいます。
8桁のカウンタであることを考えると,1/1000ですので10GHzまでカウント出来るとその性能を生かせるわけですが,2.4GHzではちょっと寂しいですね。
ということで,近頃の半導体でさくっと10GHzのプリスケーラが作れないかと調べてみたところ,秋月にありましたよ,8GHzのGaAsプリスケーラが。
HMC434というのが,そのICです。1/8専用のGaAsプリスケーラで,8GHzまで動作します。面実装品とはいえ,そんなに小さいわけではないので,十分アマチュアの工作に使えます。価格は600円というこの手のICとしては安いです。
しかし,このICには問題もあり,低い周波数が苦手です。一応動作可能な周波数の下限は200MHzとなっていますし,動作範囲としては1GHzから8GHzで使ってね,とあります。
1/10のプリスケーラを使えば,70MHzあたりまでは測定出来る実力があるので,そこから1GHzまでの間は測定出来ない範囲となってしまうわけで,これは高周波専用のカウンタでもない限り,ちょっと厳しいですね。
MB506の場合,10MHzから2.4GHzまで,一応動作するわけですから,結局どの範囲の周波数を測定したいのかによってくるような気がします。
まあしかし,200MHzが下限と言いながらも,実際には10MHzあたりから動いてくれたりするかもなあと,淡い期待を抱きつつ,HMC434を買ってみました。
計画としては,8GHzが入ってきた時のHMC434の出力は,分周後でも1GHzです。当然直接カウント出来ないので,これをMB506に突っ込みます。そして,HMC434とMB506の組み合わせで1/1024になるように,MB506の設定を変更し,1/256にします。
2.4GHzプリスケーラ基板を改造し,HMC434を取り付けます。このICは3.3Vで動作するので,3.3VのLDOも取り付けます。
さて,結果ですが,うちには136MHz以上を発生させることの出来る信号源がないことに気が付きました・・・
いろいろ調べてみると,一応136MHzでは動作しているようです。これ以下の周波数でどこまでカウント出来るか見てみると,85MHzくらいからなら,なんとかカウント出来ているようです。
しかし,感度という点で言えばもうボロボロで,低すぎるとカウント出来ず,高すぎると高調波をカウントしてしまいます。だから,ある範囲の入力電圧のみ正しい値を返してくるのです。これでは測定器にはなりません。
きっと500MHzや1GHzなら問題のない動作をするのでしょうが,今度は実装面での問題があり,例えば4GHzとか5GHzでちゃんと動作するのかどうかはあやしいです。
電源のノイズが大きいのでコンデンサで押さえ込んだりして,かなり特性を改善したのですが,それでも低い周波数では使いものにならず,かといって高い周波数はそもそも信号源もないという状況においては,私にはデメリットしかないと判断し,もとの2.4GHzのプリスケーラに戻しました。
(2)1/10プリスケーラ動作時の小数点移動
1/10のプリスケーラを搭載し,10MHz以上の周波数の測定を行えるようにしたのはいいのですが,小数点の移動を行う機能までは搭載しなかったので,頭の中で移動させて読む必要がありました。
別にそれでも不自由はなかったのですが,やっぱりすっきりしないので,小数点を1つ隣に動かす仕組みを考えてみました。
ICM7216Bは7セグメントLEDをダイナミックドライブする機能を持っています。だから小数点の点灯した桁を検出し,隣を点灯させるようにスイッチすればよいだけだと簡単に考えたのです。
実際に74HC157をつかって試したところ,どうもうまく動きません。ここで恥ずかしいミスをしていたのですが,冷静に考えると,この方法では小数点の点灯している桁をそのまま隣に動かすだけですので,小数点以外のすべてのセグメントも一緒に隣にいってしまうのですね。あーばかばかしい。
ダイナミックドライブ用に,LED基板上ですべて繋がっている小数点をバラバラにして個別に制御をかけるような回路にしないといけないのですが,これがまたなかな面倒です。
いや,回路は簡単でした。74HC157を使って同じような回路を組みますが,74HC157のイネーブルを小数点のドライブ端子で動かしてやり,隣の桁のドライブ信号を入力してある74HC157の出力でそれぞれの桁の小数点を点灯させるだけです。
ただ,LED基板を改造するのが急激に面倒になり,もう頭の中でシフトするからいいや,とあきらめてしまいました。
ということで,特にどちらも必要性はなく,ただの思いつきで始めた改造だったので,失敗に終わっても簡単にあきらめてしまいました。測定周波数は上限よりもシームレスであることが重要ですし,小数点の移動などは,どうせ私しか使わないんだから別に必要ではありません。
むしろあちこちいじりたいだけじゃないか,と言われればその通りで,ほかに面白そうなネタがあれば取りかかるかもしれないのですが,今のところこのカウンタで最大の問題は,低周波数の測定に時間がかかること,つまりレシプロカル方式ではないことが最大の問題ですので,もしかしたらちゃんとした周波数カウンタを買い直して終わり,ということになったりするかも知れません。