DDSは、Si5351Aを使います。これを制御するマイコンは、手持ちしていたPIC18F14K50という8bit品です。7MHzDDSi5351-0.pdfをダウンロードHDSDRを制御する必要から、RS232Cのインターフェース付で、CATコントロールが出来るようにハードを構成しますが、まずは、DDSの部分だけの開発になります。左が、主要部品を実装した基板です。3.3Vとマッチしません。そこで、3.3V/5Vの変換ICを入れてあります。その為、変換基板が大きく、かなりの面積をこれが占有してしまいました。10Pの変換基板と25MHzのクリスタルのみ購入し、マウントにトライしましたが、クリスタルがあまりにも小さくて、ハンダ付け作業が、まともにできません。作業中にピンセットではさみそこない、どこかへ飛んで行ったりし、最初から秋月で販売している基板マウント済みのユニットを買うべきだったと反省しています。バラで買ってしまったものを、そのまま廃棄する訳にもいかず、以下の対策でなんとかDDSが動作するようになりました。厚みのある両面テープを小さく切ってクリスタルを基板に貼り付け動かないようにしておき、極細の銅線で、右の写真のように配線しました。この状態にするまで2時間くらいかかっています。動作確認は通電状態で、クリスタルが発振しているかをオシロで確かめました。このDDS用のソースプログラムはこちらからいただきました。PICマイコンの品種が違いますので、レジスターの設定は異なりますが、それ以外は、無修整で動いています。TKS)使用しています、Si5351Aのクリスタル周波数が正確に25MHzでは有りませんので、そこは、実際に発振した周波数に補正します。周波数設定を7100000Hzにして、Si5351Aから実際に出力された周波数は7099KHz台でしたので、この7099K台の数値を7100000で割り算した係数を25MHzの数値に掛け算して、プログラムの中で定義したDDS周波数は24999395Hzとなりました。ここでもTCXOの周波数カウターは、大いに役立ちます。右がDDSの指定周波数、左が、SDRのLO用に4倍した周波数で、5Hzの誤差となっています。見ての通り、周波数カウンターに、白い雲が表示されるようになり、その面積が次第に拡大しています。同時にコントラストも薄くなってきましたので、この周波数カウンター用LCDは、またも交換する羽目になりました。aitendoで買った安いLCDは、これで2個続けてNGとなりました。久しぶりにXC8を使う為に、最新バージョン2.1をインストールしました。ところが、割り込みの記述でエラーが出て、1時立ち往生しましたが、インターネットで情報を探し出し、なんとか切り抜ける事はできました。PCにターミナルソフトをインストールして、このVFOとPC間をRS232CタイプのCOMポート経由で通信するPICのソフトを、XC8を使い開発始めましたが、PIC18用の専用ライブラリは、最近のXC8では機能しなくなり、USART機能を一から構築する事になりました。受信が出来るようになったけど、送信ができないと、1週間以上悩んだあげく判った事は、ADM3202の送信入力ピンがGNDにショートしていた事によります。使用したSUB9pin用変換基板の配線誤りでした。VFOとPC間の通信が出来るようになりましたので、いよいよVFOとHDSDRとの通信です。HDSDR」のダイアログに表示されるCAT通信に関する説明です。CATフル対応ではないですが、VFO側から周波数と送信受信の切り替え、それにモードの変更をKENWOODのCATプロトコルで制御できるという説明です。KENWOODのCATコマンド体系は公開されていますので、そのプロトコルで通信が出来るようにPICのソフトを組みますと、VFO側から、周波数や送受信の切り替えが出来るようになりました。ここまで実現するのに、2週間くらいかかっています。VFO側から操作して、HDSDRを使った送信機能をいじりまわした結果、LO周波数とTUNE周波数に一定のオフセット周波数を持たせたまま周波数コントロールが出来ること。オフセット周波数をマニュアルで設定できる事もわかりました。以下HDSDR側の設定です。onlyに設定し、CTSやDCD端子を使ったPTT操作は中止しました。この設定により、送受信の切り替えは、VFO側からと、HDSDR側からいずれも可能になります。Offset」を開くと、上のようなダイアログが現れますので、そこにオフセット周波数をHz単位で書き込みます。この数値は+/-表記ができ、上の例ではLOに対してTUNE周波数が10KHz高くなる事を意味します。HDSDRの機能は使いませんが、間違ってこの機能の設定を行った場合、後で、設定を取り消しても、取り消しが出来ません。送信と受信を切り替える都度、DDEが設定されていない、もしくはターゲットが接続されていないなどのコーションが出て、このコーションのダイアログを削除しないと、送受信が切り替わらなくなります。もどすしか方法が有りません。settingsをクリックします。HDSDRの説明ではLOとTUNEの周波数は、10KHzのオフセット周波数でデフォルト設定されていますが、直交変調回路の検討のなかで問題にしたように、日本国内でのスプリアス規制に合致しなくなる可能性がありますので、8KHz以下のオフセット周波数に留めるべきでしょう。今回のトランシーバーはAMもCWもモードとして設定しないので、オフセット周波数0でも問題は起こらないと考えています。この条件は、トランシーバーとして完成した時点で再検討する事にします。上が、いままでの回路全体です。トランシーバーを構成する上で、HDSDR側だけオフセット周波数を設定しても、実用にはなりません。受信、送信周波数はHDSDRも、VFO側も、このTUNE周波数になりますが、ローカルオシレーターLOの周波数はVFOが表示する周波数よりOffset分だけ低い周波数でなければなりませんので、VFO側の表示周波数とSi53531Aの周波数の間にもOffset周波数を加味した周波数設定が必要です。要するに、VFOの表示周波数と実際に発生するDDSの周波数は異なるという事です。これらを網羅したPICのソフトができました。-10KHzまで可変できます。この数値はHDSDRで設定した数値とは連動しませんので、かならず、手動でVFO側とHDSDR側のオフセット周波数は合わせて置く必要があります。このような面倒さはありますが、一応単体では、理屈通り動作しております。これから、今までに作成した各ユニットをケースの中に収めて、SSBトランシーバーにまとめる事にします。Si5351A_VFO.cをダウンロード以上で一通りの機能は出来ましたが、これをトランシーバーとしてまとめるには、機能や使い勝ってが十分ではありません。周波数表示もHDSDRの画面ではなく、このVFO側がメインとなりますので、8文字しか表示できないLCDでは役不足です。LCDを16文字2行のタイプに交換します。今秋月で扱っているブルーバックのLCDの中で、8文字2行より16文字2行の方が安く売られていますので、このLCDと、USBシリアル変換ユニットを手配し、232Cの通信回路を含めてやり代える事にしました。SDR-7MHz-TRX_VFO-0.pdfをダウンロード従来の回路からの変更は、232Cの変換アダプタをFT234Xに変更した事、RIT及びそのクリアーキーを追加した事です。LCDは回路図上の変更はありません。RIT機能などを追加する為に、Key入力が必要になりますが、すでにi/oは満杯ですので、offsetキーと合わせて、AD変換によるキーセレクトに変更しました。これに対応するソフトは、OFFset周波数とTUNE周波数をEEPROMにセーブする機能と、校正用に10MHzを発振できるようにしました。校正機能はまだ実装していません。7MHz_TRX_for_HDSDR-0.cをダウンロードこれらのユニットを一つのトランシーバーとしてまとめる為に用意したケースが左の写真です。Panasonicの周波数カウンターのジャンク品です。中身は、すでに燃えない粗大ゴミで廃棄してあります。まとめるには、少し時間がかかりそうです。紹介出来る時期になりましたら、ブログを更新する事にします。道具RSS(XML)フィード。