RFの信号源を作ろうとするときには信号のレベル(強度)の調整が必要なケースがあります。半導体によるステップアッテネータが便利そうなので試してみたいと思っていました。先日HMC472を入手してみたので試してみました。
HMC472はHittite社のマイクロ波帯まで使えるワンチップのステップアッテネータです。0〜31dBまで1dBステップで5ビット分をパラレルでデジタル設定可能です。近頃はGaAsによる特性の良いチップが入手しやすくなりとても有り難い限りです。本来はマイクロ波帯向けですが、データシートを見ると低い周波数まで使えそうです。注意点としてHMC472はVddが5Vなことです。
試すにあたって、QFNパッケージのRFチップなので基板を起こします。このチップの試験だけではなんなので、ついでに抵抗アッテネータも付けて特性を比べてみることにしました。AS169-73LFというこれもGaAsなSPDT RFスイッチを前後に付けてパスを切り替えて、抵抗アッテネータ/スルーを切り替えるようにしています。HMC472が31dB分あるので、調整範囲が連続するよう抵抗アッテネータは30dBとしています。1段で-30dBの減衰を得るのは少し無理がありそうなので、-10dB&-20dBの2段構えにしています。切り替え前後の分離には一応気を使っているのでCやFBが多くなっています。
アッテネータ部分の評価なので、コネクタとケーブルを取り付けます。制御には基板に載せたSTM32F072を使っています。STM32はIOピンのほとんどが5Vトレラントなので、HMC472を制御するため、オープンドレイン+5Vへのプルアップで制御しています。
測定はNanoVNAで行います。データはPCで収集しますので、USBで接続します。
計測するための小さなコードをこんな感じで用意します。それぞれの計測を辞書(dict)に保存しています。
%matplotlib inline
import numpy as np
import pylab as pl
from nanovna2 import NanoVNA
nv = NanoVNA('/dev/cu.usbmodem401')
s11 = dict()
s21 = dict()
def measure(label):
s11[label] = nv.data(0)
s21[label] = nv.data(1)
nv.logmag(s11[label])
nv.logmag(s21[label])
ステップアッテネータはMCU経由でUSBシリアルで制御できるようにしておき、ターミナルから手作業で設定を変えながら、特性を計測しました。
まずはHMC472の通過特性をプロットしてみます。減衰段のビットを増やしながらグラフに重ねます。
ちゃんとステップ特性が得られています。デジタル設定なので0.5dB掛ける2のベキ(0,5,1,2,4,8..)の間隔になっています。スルーでも2dB程度の減衰があるのは全体の挿入損失です。ステップアッテネータやRF Switchなど素子をいくつも経由しているのでこれは致し方ありません。いちばん下のトレースの低域が持ち上がっていますが、残念ながら-16dBの段は特性がフラットにならないようです。-8dBの段も少しうねっていますが、他はおおよそフラットなようです。
続いて抵抗アッテネータです。ON/OFFでの差ですが、ほぼ-30dBの減衰がフラットに得られているようです。この周波数範囲では抵抗アッテネータでも十分な特性が得られています。こちらは文句ありません。
最後に全部をプロットしたものです。最大減衰では60dB前後が得られていますがノイズっぽいのは、NanoVNAのダイナミックレンジ不足の影響です。もうすこし駆動レベルを上げたいところです。
抵抗アッテネータは大変素直で良い結果でした。一方、HMC472は少々不満が残りました。実はデータシートでは330pFを4つ付けるよう指定されているのですが、この指定の通りだとさらに低域が悪化していました。このキャパシタを10nFに増やすと改善しました(上の結果がそれです)。残念ながら満足いくまでは改善されませんでした。低域が持ち上がった結果、全体で-31dBの減衰は得られず-28dBに留まります。もともとがマイクロ波帯のチップですから致し方ありません。
もともとこの実験は受信機作りに使える手軽な信号源として、Si5351Aを使って簡易SGにしてみようとの目論見でした。充分にレベルを落とした信号が得らるならば受信機に与えるトーン信号の代わりに使えます。一方、出力は方形波なので、奇数次が多いので当然ながらひずみの計測には使えません。しかし、目的を絞れば役に立つだろうとの想定です。ちなみにこの基板はミンティアのケースに入れられるようにしています。
というわけで、少し不満は残りますが、特性の雰囲気はつかめました。SGにするには少なくとも抵抗アッテネータの段数を増やす必要があります。しかし全体の減衰量をもっと増やすには、シールド無しでは厳しいかもしれません。簡易SGとしてまとめられるよう引き続き検討したいと思います。
リファレンス