ADC基板の構想
FPGAと基板を接続して、簡単なSDR(Software Defined Radio)の実験をしてみたいと 思っています。Interface 2015年7月号に触発されました。
上記記事では、LPC-Link2を使ってAMとFMの受信を行っています。 私も、まずはマイコン上でソフトウェア処理する前に、一回ADCデータをパソコンにすべてダンプして、PC上で オフライン処理をしてみようと試みたことがありました。 実際にLPC-Link2で実験してみたところ、USBの転送速度からして、10M sample/sec程度が良いところ、という印象でした。
上記特集ではこの程度のサンプリングレートでAM/FM復調を行っていますので、まぁ十分なのですが。
単に基板を作ってみたいという個人的趣味が先行しています。
それで、Z-turn Boardに接続する、ADCとUSB3.0が搭載されたボードを作ろうと目論んでいます。 今はいろいろと基本的な部品の選定を行っています。ある程度固まってきたので、記録しておきます。 随時追加予定です。使用する部品は、Elecrowあたりで実装することを考えて、digikeyやmouserで容易に入手できそうなものを選びます。
また、ADC周りの設計は完全に素人なのですが、自分なりに調査した結果、AM/FMならばとりあえず、 BPF->RFアンプ->RFトランス->ADCという信号の流れで良いのではないかと考えました。 ADCは差動入力なので、RFトランス(Balun)にてシングルエンド信号を差動に変換します。 ただし、RFトランスは低周波数(1MHz以下)あたりでは性能が悪化するようです。それで、FMについては上記信号経路とし、 BPF, RFアンプ, RFトランスについてはジャンパでそれぞれバイパスできるようにします。 また、ADCについても、ジャンパにて差動モードとシングルエンドモード両方で使えるようにしたいです。
実際に上記雑誌の特集では、AMについては一切外付け部品を使用せず、アンテナを直接ADCに繋いでいます(ADCの前にLPFが入っていますが)。
2017/2/17追記:上記のようにジャンパで信号パスを選択することを想定しましたが、Linear Technology LTC2292CUPは2チャンネル入力があり、 かつ比較的安価なので、こちらを使用してFM, AM用としてそれぞれ使おうかと思います。 また基板は、ADCが乗ったものと、USB3.0が乗ったものを別々に製作しようと思います。 ADCとUSB3.0基板では、必要なPCBの層数も違いますし、基板製作に失敗したときのダメージも分けたほうが小さいので。
- RFアンプ:BGA2818 (6-TSSOP)
- P1dB: 4dBm, Gain: 30dB, 雑音: 3.3dB
- RFトランス:MABAES0060 (RF1:1 Flux Coupled Transformer, 0.3-200MHz, 1:1 impedance)
- ADC:LTC2292CUP (12bit, 40M sample, 64-QFN)
- ADC:AD9235BRUZ-40 (12bit, 40M sample, TSSOP-28) こちらは対象外に脱落
- USB:CYUSB3014-BZXC
(本当はLVDS出力のADCが良かったのですが、結構お高いので、まずはできるだけ安いもので実験してみようと思いました。 ただし、このADCはレジスタ設定のようなものが無い代わりに、ピンの電圧などで動作が変わるという奇妙なデバイスです。)
また、差動ADCの入力を作るために差動アンプというものもありますが、これはマイナス5Vなどの電源が必要になり、 アナログの設計が面倒そうでしたので、今回は使用を見送りました。 上記部品だけで既に6000円くらいしてしまいます。ADCももっと高速なのは一気に高くなります。
上記の考え方が根本的に間違っているよ!などのご指摘がありましたら、twitterでお知らせください。