Archives for: 2007年November
RCで90度
IQ信号を得るために、90度位相のずれたLoが必要なわけだが、Soft66DB2では74AC74を使い、4倍の周波数からジョンソンカウンターで位相差を作り出している。ところで、DDSチップを使うと比較的簡単に位相差を作ることができる。共通のクロックを使った2つのDDSチップに対して、同一の周波数を指定してやり、片方のDDSを90度ずらしてやるのだ。アナログデバイス社のデータシートにやり方が書いてあった。
現在ではAD995xシリーズのDDSを使って、それを74AC74よりも対応周波数の高いフリップフロップで1/4にしているのが主流らしい。AD995xだと1個3000円くらいするので、AD9834を2個使ってIQ-DDSを作るのも面白いかもしれない。周波数の足りない分はICS512Mを使えば、4倍しても大丈夫なようだ。
いまやっているのはRCで90度を得る方法。これはSoftRockのVersion5で使われていたが、今回は6メータでやっている。正確に90度を得るのは難しいので、半固定抵抗を入れて受信しながら、イメージを削除するというやり方で調整を取っている。いくつかの回路を試してみたところ、ほぼ大丈夫なところまできた。74AC04で発振させRCで90度ずらした後、余ったインバータで波形を整えるという方法だ。これだと安定して信号を得ることができた。
このRCで作った回路の上にDDSで位相差を作った信号を流してやれば、周波数範囲の拡大が簡単にできる。74AC04をコネクタにしておき、DDSボードと差し替えるようにすればよい。2つDDSを使うのはもったいないので、ICS672を使う方法も考えられる。コスト次第だ。
話はずれるが、面白いチップを見つけた。抵抗値でカットオフ周波数を変化できるフィルタだ。データシートを見る限り、かなりシャープな特性が得られそうだ。何に使うかはもう少し後で。
DDS-33をUSBでコントロール
じつはDDS-34を作るのと同時にUSBからコントロールするソフトを書いていた。プログラムをBasicで書くのは実に10年ぶり以上になる。久しぶりに書こうと思ったら、かなり勝手がちがうので少し手間取ってしまった。
USBとのインタフェースはFT245RLを使った。ここではまったのがSPIだった。FT245RLでは直接SPIへの接続ができないので、BitBangモードというのを使い、1bitずつ信号を出力しなくてはいけなかった。どうしても動かないので、少しあきらめかけていたが、あちこちのSPIに関する情報を読んで、1箇所だけ、本当に1ビット変えただけで動いた。詳細は、もう少ししたらコントロールソフトを公開するのでそのときに。
ということでDDS-34はUSBコントロールできる仕様にする予定。