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とはちょっと違いますが遅延回路として使えないことはなさそうです。
最近のコメント