南無ちゃんのブログ    https://namva.net

天下御免の夢中人=南無ちゃんは、今日も元気で明るく楽しく逞しく生きてゆく。

MAX IIで周波数カウンターを作る

2021-10-17 17:51:00 | 電子工作

 以前からFPGA(Cyclone II)を使って、ストップウォッチや周波数カウンターを製作してきました。CycloneIIに周波数カウンターをインプリメントすると、全体の5%程度のロジックエレメントを使っているだけで、残りの95%は未使用なので何だかもったいない感じです。

 そこで、CPLDであるMAX IIに、同じロジックを移植してみました。ソースコードはVHDLで記述しているので、簡単に移植できました。MAX IIでは97%のロジックエレメントを使用することになり、ぎりぎり収まりました。特に小さくするために工夫をした訳ではなく、偶然にそうなっただけです。

 実際に周波数カウンターとして動作させてみると、Cyclone IIの時にはカウントできる最大の周波数は21MHz位でしたが、Max IIに移植すると27MHz位までカウントできるようになりました。理由については未だ考察していませんが、性能アップしたことは大歓迎です。

 写真は、NanoVNA-Hから25MHzを信号を出力したものをカウントした時の様子です。NanoVNA-Hは、10ppm程度の周波数精度を持っていますが、測定用クロックはMaxIIボード搭載の50MHzオシレータを使っているので、そちらの方が精度が悪いため、このような表示になっていると思われます。外部から10MHzの基準クロックを入力する機能もインプリメントしていますが、写真では、外部リファレンスクロックを接続していません。

 

コメント