Computer & RF Technology

FRISKケースサイズのSDRを製作開始しました

先日Si5351Aを試用してみましたが、RF用途に十分使えそうな発振器であることが判りましたので、これを使って受信機を製作してみたいと思っていました。QSD(Quadrature Sampling Detector)方式が良さそうでしたので、回路を引いて実装を検討していました。最初は実験基板を作ってみるだけのつもりだったのですが、なんとなく勢いが付いて、MCUもボードに載せてスタンドアロン化。そしてレイアウトしていると、かなり小型に作れそうな感じになってきたので、FRISKケースサイズを目標にして、なんとか納めることに成功しました。先日基板を発注すると、あっという間に試作基板ができてきてしまいました。実装はまだこれからですがちょっと紹介します。

image

QSDとはアナログスイッチを使って周波数変換を行う方式です。原理に非線形の要素が無いので直線製が良いことで知られています。昔、PCベースのSDRとしてPCのサウンドカードを使った方式がありましたが、あれに使われていたSoftRockなどのアダプタがアナログスイッチを使った方式でした。今回はアダプタではなくスタンドアロンの受信機を構成するのが目標です。ブロック図を示します。

image

RF信号をBPFを通し、SPDTアナログスイッチでサンプリングします。アナログスイッチの駆動は、Si5351Aで生成したクロックからジョンソンカウンタで2相信号を発生させています。周波数は1/4になりますが、Si5351は200MHzまでの任意の周波数を生成することが可能なので、HFの受信機を構成するのであれば十分なはずです。これをCRによる簡単なLPFを通し、コーデックの作動入力へ直接入れてしまいます。コーデックはTLV320AIC3204で、マイク入力用の最大47.5dBのVGA(Variable Gain Amplifier)があるのでゲインが足りなくなることはありません。コーデックはI2SでMCUに直結します。あとはソフトウェアで必要な信号処理を行い、復調した音声信号をI2Sで同じコーデックに出力しヘッドフォンまたはスピーカで再生するという流れです。コーデックはI2Sを全二重で使用し、ADとDAを同時に使うことになります。

MCUとしてSTM32を使ってみます。STM32シリーズは、パッケージサイズとアーキテクチャを自在に選べるので便利です。実は今回の検討当初では安価なSTM32F103C8T6(Cortex-M3)を使うつもりだったのですが、QFP 48ピンのF103CxにはI2Sが搭載されていないことに後から気が付いてしまいました。F103のリファレンスマニュアルを見ているとI2Sに対応しているように勘違いしてしまったのですが、I2Sに対応しているのは大きなパッケージのみで、しかも全2重動作はF103では不可能なのでした。I2Sが全二重で使えるMCUという条件から、結局STM32F303を使うことにしました。F303はLPC4370等と同じくCortex-M4Fですので、性能は既に良く判っています。インターフェース誌で紹介しているダイレクトサンプリングによるSDRと比較して、QSD方式では必要なのはベースバンドだけですから、信号処理の負荷はごく軽く済むはずです。

ソフトウェアは、ChibiOSを使うことを考えています。オープンソースで、ライトウェイトな組み込みOSとして素性が良さそうです。信号処理そのものはOSに殆んど依存しませんが、USBの取り扱いなどが簡便に済むのではと考えています。

回路図とレイアウトを示します。フリスクケースサイズに納めるのに苦しいレイアウトになっています。小型化のためUSBはマイクロBにしました。UIは秋月で販売されているレバースイッチを、ディスプレイは8x2 I2C LCDです。冒頭の写真にあるようにLiPoバッテリも入れられるようにしてみました。501225というサイズで110mAhの容量とのことです。LiPoチャージコントローラの追加は最後に行ったのですが、SOT23の部品がこれほど大きいとは予想外でした。RF入力も、サイズの都合でMCXコネクタを使う予定です(RTLドングルと同じものです)。

(クリックで拡大)

image

image

部品がまだ集まっておらず、実装はこれからなのですが、まだ不明な要素は多いです。気になっている点として、

  • シグマデルタのオーバーサンプリングによりエイリアスが遠く離れるはずなので、簡単なCRのLPFで十分と考えていますが、果たしてどの程度なのか。
  • シグマデルタのADCの周波数特性。24bitと銘打たれてはいますが、実際にはこんな性能が出るわけでは無いらしいです。原理的に高い周波数では良くないらしいのです。

  • イメージ抑圧がどの程度確保できるのか。2相信号と差動信号のアンバランスがどうしても生じてしまうはず。

  • 消費電流がどの程度になるのか。特にLiPoの容量が実用的なのかどうか。

他にも大きな落とし穴があるかもしれません。おいおい実装して確認していきたいと思います。(出来上がってきた試作基板を眺めていたら、さっそくミスを発見してしまいました。)

大きな壁としてソフトウェアの作成がありますが、逆にそれは目的なのです。ブラックボックスの無い、入門しやすいSDRプラットフォームが作れると良いなと考えており、興味があるなら嫌が応でもソフトウェアに取り組まなければならない状況にしたいのです。ぜひ若い人に取り組んでもらいたいなと考えています。

なお、この取り組みにはPUPさんのフリスクDSPラジオが大変参考になりました。部品についても教えていただきました。LCDやスイッチは同じものを使っています。

リファレンス

comments powered by Disqus