エントリー

2016年03月18日の記事は以下のとおりです。

Si5351Aを応用する その2 周波数カウンタ編

  • 2016/03/18 14:53
  • カテゴリー:make:

 さて,Si5351Aの応用の2回目,今回は数年前からことあるごとにいじくり回している,自作の周波数カウンタのお話です。

 これも20年くらい前に秋月電子で売られていたキットなのですが,多くの方が作られたキットのようで,未だにたくさんの情報が検索されます。

 で,このキットのポイントの1つはプリスケーラです。私の買った物は2.4GHzまで動作可能な富士通のプリスケーラが搭載されたバージョンで,入力周波数を1/1024にします。

 1/1000ではなく1/1024ですから,結果を直読するにはタイムベースを1000/1024にした周波数に切り替えないといけません。この周波数カウンタの場合,10MHzのタイムベースを1000/1024にした9.765625MHzへの切り替えが必要です。

 このちょっと特殊な水晶発振子も貴重なものらしく,欲しい人はオークションで買ったりしているようですが,私の場合ここに改造TCXOを使っていることは以前書きました。

 実力は1ppm以下の精度とはいえ,そこは改造品です。もやもやしたものがあるのは気分的に良くありません。

 しかしようやく,信頼のおけるTCXOから作った周波数を投入出来るのです。Si5351Aで9.765625MHzを生成するのは,なんの問題もありません。

 本当は10MHzのクロックも一緒に生成してもいいと思ったのですが,そうするとSi5351Aの設定が終了する1秒ほどの間,すべてのクロックが出てこず,周波数カウンタが完全に止まってしまいます。

 電源投入時にリセットもかからず,LEDのスキャンも止まり,しばらく固まってしまうので,クロックが出てから電源を入れるなどの制御が必要になるのですが,そうすると大幅な改造が避けられません。

 そこで今回は,9,765625MHzのTCXO互換のモジュールを作るということにしました。

 26MHzから9,765625MHzを生成する設定を行い,この周波数が出ていることを確認。実は配線ミス(Si5351Aの3ピン(XB端子)に26MHzを突っ込んだ)でとんでもない周波数が出てきたりしたんですが,それは内緒。

 一応,精度の高い周波数が得られたようなのですが,それ以前の問題が発覚。どうもこの周波数カウンタに使われているICM7216というICは,メインクロックの10MHzだけではなく,もう1つのクロック(サブクロックとします)も発振していないと,固まってしまうようなのです。

 そんなばかなと思って,サブクロックの端子をオープンにしました。そうすると固まりません。ここがGNDなりVDDに固定されると,固まるようなのです。

 理由はよくわかりません。しかし10MHzだけではだめなのだと,あきらめることにします。

 ということで,両方のクロックが出揃ったときに,ICM7216の電源を入れるような仕組みを入れざるを得なくなりました。

 そうなると,10MHzを先に別のTCXOで発振させる必要もなくなります。なら,もうちょっと精度の良い,高価な12.8MHzのTCXOから10MHzと9.765625MHzを作ってやることも出来るでしょう。

 ということで,秋月で一緒に買っておいたVM39S5Gという12.8MHzのTCXOを使ってみましょう。これは安価に売っているTG-5021CEに比べると昔ながらの14ピンDIPの大きさで,金属ケースに入ったものです。トリマで周波数を微調整でき,VC端子もあるので電圧制御も可能です。

 秋月によると,初期値は1ppm以内に調整されているということです。まあ,TG-5021CEも初期値は1ppm以内の実力があるので,そこはトントンかなと思います。

 実は,温度特性はTG-5021CEが2ppmなのに対し,これは3ppmですからちょっと緩いのです。その他の特性はほぼ一緒ですので,いかにTG-5021CEがお買い得かわかります。ただ,VM39S5Gは1つ1つ調整がされているので,その分は安心かも知れません。

 後で気が付いたのですが,実はこのVM39S5Gは電源電圧によって周波数が大きく変動します。とあるサイトでは,0.1Vの変動で40Hzも動くのだそうです。初期値を1ppm以内にしてあるというのはあくまで電源電圧が5Vでの話であり,ここが動いてしまうとスペックから外れてしまいます。

 ということで,クロック基板を作り直します。初代の基板は12.8MHzのTCXOとTC5081を使ったPLL,2台目は10MHzのTCXOと改造TCXOのダブルTCXO。そして今回は12.8MHzのTCXOのSi5351Aです。

 電源電圧は電圧可変型のLDOを使い,5.00Vに合わせます。そんなに大変な回路ではないので,割と簡単に完成しました。動作を確認すると問題なし。ちゃんと国民機っぽい起動音も出ます。設定が完了した印をLEDで点灯させるようにもしました。

 問題は,どうやってICM7216の電源を制御するかです。ICM7216にはちょっと高めの電圧を供給するため,5.6VをLDOで作っているのですが,このLDOには制御端子があることに気が付きました。この制御端子をtiny13Aから出している設定完了信号で動かしてやればいんじゃないかと思ったのです。

 実験すると,ICM7216の電源がONになる前に他の端子からの回り込みが発生し,中途半端に動作してしまい,誤動作をすることがわかりました。

 でもこれ,どこから回り込んでいるかわかりません。とりあえずやるだけやってみようとクロック基板を作り,組み込みます。そして電源ON。

 よかった,回り込みによる中途半端な動作もなく,誤動作も認められません。なんどやっても大丈夫です。思うに,回り込みはクロックの入力端子からだったんじゃないかと思います。先の実験では,クロックを入れたまま電源を切っていましたから,回り込んで当然です。

 今回は,Si5351Aからクロックが出るのとほぼ同時に電源が立ち上がりますので,それまではこの端子はLowのまま。これで誤動作は防げたわけですね。

 おかげさまでクロックの問題は解決。SGの周波数も測定しましたが,10MHzも9,765625MHzも申し分なし。

 ついでですから,ICM7216とLEDの間に入っているドライバICを,抵抗入りのTD62003Aに交換しましょう。

 これ,よく知られている設計ミスなのですが,わざわざフェイスセーフだと明言して使っているTD62101は入力に電流制限用の抵抗がないため,ICM7216からダイレクトに電流が流れ込んでしまい,非常に強いストレスをかけています。ICM7216がかなり熱くなるのはそのせいです。

 秋月の設計者はこれを「簡易恒温槽だ」などと言ってますが,外気温に対して変動する以上は恒温槽でもなんでもないわけで,なんだかおおらかな時代だったんだなあと思った石鯛です。

 そもそもTD62101は抵抗をいれて使う事が仕様書にも書かれているわけで,知っている人はみんな,ここに抵抗をいれて使っています。

 私は,そうしたチマチマした改造が面倒だったので,抵抗入りのドライバICに交換してみました。どっちかというと,抵抗入りの方が普通なんですけどね。

 今回は定番中の定番,2003の互換品としてよく知られたTD62003APに交換してみました。

 ちょっと小ネタですが,この2003というドライバICは,オリジナルがスプラーグ(そう,あのスプラーグです)のULN2003です。ダーリントントランジスタが7個入っていて,逆起電力を打ち消すダイオードも入ったタイプなのですが,なにも面倒な事を考えずに,TTLはもとより,MOS-LSIにも直結可能で,コイルなどの重い負荷を楽々ドライブ出来る便利なICです。

 その便利さ故,世界中のメーカーで互換品が作られていて,TIは同じ名称のULN2003,NECだとuPA2003,東芝だとTD62003,となります。

 実際,これを使うとなにも考えずにマイコンにLEDやリレーが直結出来るので,とても便利なのです。

 で,東芝のTD62003がディスコンになったという噂を聞いて,いよいよこの手のICも入手が難しくなるのかなあと思っていたら,なんとこれをMOS-FETに置き換えた新製品,TBD62003に置き換わると言うではありませんか。

 MOS-FETですので,入力電流はいりません。それまで,いかにダーリントントランジスタとはいえ,マイコンにも僅かながらドライブ電流が必要だったわけですけど,それがほぼゼロになるのです。

 1つ1つは僅かでも,この手のICというのは数を使う場合も多くて,ドライブするだけの電流も無視できなくなることがあります。それが本当に無視できるというのですから,うれしいじゃありませんか。


 で,そのTD62003ですが,手持ちがないとあわてて秋月で買った(TBD62003も一緒に買いました)ら,実はパーツケースからゴロゴロ出てきました。とほほ。

 そんな状況とは裏腹に,ドライバICを交換するとあっけなく動作しました。ICM7216の温度も低いままで,これまで20年間,随分辛い思いをさせてきたのだと思うと,涙を禁じ得ません。すまない,ICM7216。

 ということで,何度かの改修を経て,今度こそ完全版になった周波数カウンタ。50円の8ピンマイコンとは言え,とうとうマイコンまで内蔵する羽目になってしまったわけですが,壊れない限りはもうこれ以上いじることはないでしょう。

 次回ですが,Si5351Aを使えばTCXOで時計用の32.768kHzを作る事が出来ます。これを応用して時計を作ってみたので,紹介します。

ページ移動

  • 前のページ
  • 次のページ
  • ページ
  • 1

ユーティリティ

2016年03月

- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

新着エントリー

過去ログ

Feed