Computer & RF Technology

直交変調DDS AD9857をNucleo F401から使ってみる

最近作っているもの第3弾です。

RFワールド誌やトラ技トランシーバTRX-305Aの特集記事で著者の西村氏がAD9957について熱く語っているのを読んで興味を持ちました。自分もアナデバファンですので、ADのDDSチップについては大概を把握しているつもりでしたが、この直交変調機能付きのDDSは規模が大きく、ホビーで使えるようなものではないだろうとまったくスルーしていました。記事をきっかけに調べてみると、なんとも素晴らしいチップであることを知りました。

ソフトウェア無線で送信機を作ろうとすると当然変調器が必要です。実は以前よりベクトル変調可能な直交変調器を作りたいと、いくつか構成を検討していました。しかし実際に実装しようとした場合課題があります。一つにはIQの振幅や位相の偏差が生じ、必要な精度がなかなか得られません。二つ目はDACで生じるエイリアスを逃がすためにインターポーレータを用いてデータレートをかなり上げてやる必要があることです。性能を出すために慎重な実装が必要だったり、高速な回路にするために価格が上がってしまうことになります。

ところがなんと、このDDSチップを使うとこれらの難点が一気に解決できてしまうのです。とても高価な高速DACも不要です。このチップの素晴らしさがようやく理解できました。

素晴らしいだけに価格もそれなりなのですが、高速なDACよりは安価で、使おうと思えば使える価格です。データはパラレルで与える必要があります。それなりのデータレートになりますので通常はFPGAを使うところです。トラ技TRX-305の作例を見てもやはりFPGAを使っています。

ですが、前述のLPC-Link2 FM受信機でも経験したように、ARMベースのMCUはどんどん高速化してきており、それなりのデータレートであればFPGAを使わずソフトウェアによる実装も可能だろうと考えました。

そこで積み基板になっていたSTM32F4 Cortex-M4のNucleo F401にアドオンするボードとしてAD9857を載せた基板を作りました。うまくいけばソフトウェアだけで変調信号を生成可能になるはずです。さらにFMラジオでやったのと同じようにI2Sコーデックを搭載することで、マイクを接続すればMCUに音声信号を取り込み、ソフトウェア信号処理を行ったうえで、DDSで目的周波数で一気に変調を掛けられます。HFや50MHzであれば一発で目的の周波数の変調信号を得ることができるわけです。

AD9857を選んだ理由は入手性と規模の面からです。後継のAD9957はさらに性能は素晴らしいのですが、QFP100ピンとチップが大きく、またFPGAを使わないのであればその性能を生かしきれないだろうと思われました。まずはHF程度の実験をしてみるのが良いと思われましたので、AD9857を選びました。それにしてもQFP80ピンですのでチップは大きめです。

アイデア一発で基板をレイアウトします。NucleoはMorphoヘッダーというコネクタが用意されており、最近のマイコンボードには珍しく使えるピンが多いです。ただ使えそうに見えるピンが実際には抜けていたりと落とし穴が多く、またSTM32F4xxでペリフェラルをうまく使えるよう検討に苦労しました。

基板ができあがってきてから少し放置状態だったのですが、DDSの動作だけは確認しておきたいと思い、先日からようやく製作を開始しました。ソフトウェアはNucleoなのでmbedで作成しています。なかなか信号が出ず、やきもきしましたが、2徹でようやく信号が出せました。シングルトーンのスペクトラムを軽く確認しただけですが14bit DDSだけあって純度はなかなかのものです。さすがに消費電流は多く、500mA程度にもなります。電池動作の機器を作るのは難しいかもしれません。

とりあえず、DDSが動作することがわかって安堵しました。ちょっと出所の怪しいチップを入手していたので、本当に動作するか実は半信半疑で、なかなか動作しない間は心が折れそうでした。無事動作して本当に良かった。試作無しにレイアウトしたのですが、マイコンとのインターフェースも概ね想定通りに行きそうです。

現在確認できているのは変調無しのシングルトーンのみですが、ここから変調動作させるためには、変調信号データをフィードするソフトウェアを作る必要があります。それなりのデータレートになりますので、DMAを使ったデータ転送を作成する必要があり、少し気合いが要りそうです。少し落ち着いてから続きの作業したいと思っています。本当に実現できるのかどうかは未だ謎です。でもこれがうまくいったら重要なピースが埋まることになります。

Load more