PICで作る100MHz周波数カウンタ検証用XOR(エクスクルーシブオア)逓倍器
前記事「PICで作った100MHz周波数カウンターの動作検証で不思議な現象」で周波数カウンタの動作検証をしました。水晶発振器の出力とそれを(二)逓倍器に入力したときの出力の倍数関係を確認するというものでした。
逓倍器にはいろいろ作り方があると思います。C級増幅器+同調回路とか私が大好きな四象限アナログ乗算器EL4083CNとか。
こういうのはアナログ回路ですから、つい最近までJJY・40kHzあたりで生きてきた私には荷が重そうです。そこでデジタル回路的手法でやってみました。
XORを考えます。
AとBに位相の異なる(90度違った)信号を入れます。
これで入力信号の2倍の周波数の(=パルス数が二倍の)出力が得られます。念のために書いておきますが、上の例はBが90度遅れています。でもAがBに対して270度遅れているとか、BがAに対して450度遅れているとか解釈は自由です。そう考えると作り方の自由度が上がります。
ここで問題になるのはどうやって位相が異なる信号を作るかです。
今48MHzの信号源ですから周期は20.8ns、パルス幅は10.4nsということになります。つまりBの方をAに対して5.2ns遅らせばいいことになります。最初に考えたのはリングオッシレーターのとき出てきたゲート回路での遅延です(「PICのタイマー(T1CKI)の使用可能最大周波数 - あるいはリングオッシレーターの発振周波数」)
試しにTC74HC86APでリングオッシレーター(1段)を作り発振周波数を調べてみたら78MHzでした。ということは遅延時間は6.4nsです。5.2nsとはちょっと違いますが遅延回路として使えないことはなさそうです。
--------
今回はたまたまそれらしい遅延時間になっていますが、そうでないときは別のゲートを使うとか、電源電圧を変えるとか工夫すれば必要とする遅延時間が得られるはずです。
上に書いたように遅延時間は15.6nsでも26.0nsでもいいわけですから。「リングオッシレーターの発振周波数を調整する」に書いた“手法”も参考になると思います。適当な遅延時間が得られた__つまりデューティー比がだいたい50%になった__というのは確認しておいた方がいいです。これは直流成分が電源電圧の1/2くらいになっていることを確かめればいいと思います。
これをもとに実際に使った回路はこういうものです。
前記事の測定は具体的にはこんな回路でやっています。
逓倍器は左側中央です。下側は水晶発振器の出力と逓倍器の出力を切り替えるためのマルチプレクサです。上側は1/4分周器です。
この回路ではTC74HC86APとTC74VHC00F、TC74LCX74Fは電源電圧を5.0Vと3.3Vに分けてあります。上にTC74HC86APの遅延時間が6.4nsと書きましたがこれはVcc=5.0Vであることが前提でVcc=3.3Vになるともっと大きくなるはずです。TC74VHC00F、TC74LCX74FはVcc=3.3Vで使っていてVcc=5.0Vで動いているデバイスの信号を受けることになりますがVHC、LCX、VHCT(VHCTは5V電源のみでした)はHCと違ってこういう使い方が仕様的に許されていますので安心して使っていいです。PIC18F26K22を100MHz周波数カウンタとして使おうという人間が書くことではありませんが。
前の記事 「PICで作った100MHz周波数カウンターの動作検証で不思議な現象」
------------
関連
「GPS/RTC(DS3234)の1PPS出力を利用した超高精度周波数カウンター」
「PIC18F26K22のカウンター(タイマー)の測定できる周波数の上限を調べてみた」
「PICのタイマー(T1CKI)の使用可能最大周波数 - あるいはリングオッシレーターの発振周波数」
「リングオッシレーターの発振周波数を調整する」
「150MHz(~200MHz?)周波数カウンター用プリスケーラー(1/4分周器)」
「PICで作った100MHz周波数カウンターの動作検証で不思議な現象」
「PICで作る100MHz周波数カウンタ検証用XOR(エクスクルーシブオア)逓倍器」
「測定対象別記事一覧(測定、電子工作、天文計算)」
温度、気圧をはじめいろんな物理量の測定方法について
「過去記事の一覧(測定、電子工作、天文計算)」
« PICで作った100MHz周波数カウンターの動作検証で不思議な現象 | トップページ | ボルタ電池の起電力とその変化(1.1V,0.8V,0.4V) - みんな自信満々、でも... »
「趣味の電子工作」カテゴリの記事
- PICで作る100MHz周波数カウンタ検証用XOR(エクスクルーシブオア)逓倍器(2016.03.08)
- 150MHz(~200MHz?)周波数カウンター用プリスケーラー(1/4分周器)(2016.03.06)
- 測温抵抗体(Pt100、白金薄膜温度センサー)の抵抗値を温度に変換する(平方根を使わない)計算式(2016.03.01)
- GPS/JJY(標準電波)を基準周波数源とするためのPLLの詳細(2016.02.27)
- GPS受信モジュール1PPS対決 - GE-612T vs GM-5157A(2016.02.21)
この記事へのコメントは終了しました。
« PICで作った100MHz周波数カウンターの動作検証で不思議な現象 | トップページ | ボルタ電池の起電力とその変化(1.1V,0.8V,0.4V) - みんな自信満々、でも... »
コメント