« 2019年9月 | メイン | 2019年11月 »

2019年10月 6日 (日)

SDR用LO(ローカルオシレーター) Si5351A

カテゴリ<SDR> [Si5351A VFO]

SDR用のリニアアンプも出来ましたので、次は、このSDR専用のDDS VFOの作成です。 DDSは、Si5351Aを使います。 これを制御するマイコンは、手持ちしていたPIC18F14K50という8bit品です。 

配線図 7MHzDDSi5351-0.pdfをダウンロード

HDSDRを制御する必要から、RS232Cのインターフェース付で、CATコントロールが出来るようにハードを構成しますが、まずは、DDSの部分だけの開発になります。

Si51351_pwb 左が、主要部品を実装した基板です。 使用したLCDが5V品でしたので、DDSやマイコンのVdd 3.3Vとマッチしません。 そこで、3.3V/5Vの変換ICを入れてあります。 その為、変換基板が大きく、かなりの面積をこれが占有してしまいました。

Si5351Aは、RSから5個ほど調達して有ったので、秋月からMSOP 10Pの変換基板と25MHzのクリスタルのみ購入し、マウントにトライしましたが、クリスタルがあまりにも小さくて、ハンダ付け作業が、まともにできません。 作業中にピンセットではさみそこない、どこかへ飛んで行ったりし、最初から秋月で販売している基板マウント済みのユニットを買うべきだったと反省しています。

しかし、バラで買ってしまったものを、そのまま廃棄する訳にもいかず、以下の対策でなんとかDDSが動作するようになりました。

Muntxtal

Si51351_xtal

厚みのある両面テープを小さく切ってクリスタルを基板に貼り付け動かないようにしておき、極細の銅線で、右の写真のように配線しました。 この状態にするまで2時間くらいかかっています。 動作確認は通電状態で、クリスタルが発振しているかをオシロで確かめました。

このDDS用のソースプログラムはこちらからいただきました。 PICマイコンの品種が違いますので、レジスターの設定は異なりますが、それ以外は、無修整で動いています。 (Very TKS)

使用しています、Si5351Aのクリスタル周波数が正確に25MHzでは有りませんので、そこは、実際に発振した周波数に補正します。 周波数設定を7100000Hzにして、Si5351Aから実際に出力された周波数は7099KHz台でしたので、この7099K台の数値を7100000で割り算した係数を25MHzの数値に掛け算して、プログラムの中で定義したDDS周波数は24999395Hzとなりました。 ここでもTCXOの周波数カウターは、大いに役立ちます。

周波数カウンターが無い時のDDSの校正方法はこちらで紹介していますので、参考にしてください。 この記事の中で④のLO2の項目は無視してください。

Si51351_7mhz 右が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との通信です。

Cattohdsdr

上の説明はHDSDRの「CAT to HDSDR」のダイアログに表示されるCAT通信に関する説明です。 CATフル対応ではないですが、VFO側から周波数と送信受信の切り替え、それにモードの変更をKENWOODのCATプロトコルで制御できるという説明です。 KENWOODのCATコマンド体系は公開されていますので、そのプロトコルで通信が出来るようにPICのソフトを組みますと、VFO側から、周波数や送受信の切り替えが出来るようになりました。 ここまで実現するのに、2週間くらいかかっています。

 

VFO側から操作して、HDSDRを使った送信機能をいじりまわした結果、LO周波数とTUNE周波数に一定のオフセット周波数を持たせたまま周波数コントロールが出来ること。 オフセット周波数をマニュアルで設定できる事もわかりました。 以下HDSDR側の設定です。

Pttcatonly

まず、左の設定で、PTTの操作をCAT onlyに設定し、CTSやDCD端子を使ったPTT操作は中止しました。 この設定により、送受信の切り替えは、VFO側からと、HDSDR側からいずれも可能になります。

Selectlooffset

Setlooffset

Optionsの中の「Misc Options」の中に「Tune fixed to "LO<->Tune Offset"」にチェックマークをつけ、「set LO<->Turn Offset」を開くと、上のようなダイアログが現れますので、そこにオフセット周波数をHz単位で書き込みます。 この数値は+/-表記ができ、上の例ではLOに対してTUNE周波数が10KHz高くなる事を意味します。

今回はDDE to HDSDRの機能は使いませんが、間違ってこの機能の設定を行った場合、後で、設定を取り消しても、取り消しが出来ません。 送信と受信を切り替える都度、DDEが設定されていない、もしくはターゲットが接続されていないなどのコーションが出て、このコーションのダイアログを削除しないと、送受信が切り替わらなくなります。 この状態に陥った場合、工場出荷状態にもどすしか方法が有りません。

Dde2hdsdr_2

Reset_hdsdr_2

工場出荷状態に戻すには、Misc Optionsの中のreset to factory settingsをクリックします。

HDSDRの説明ではLOとTUNEの周波数は、10KHzのオフセット周波数でデフォルト設定されていますが、直交変調回路の検討のなかで問題にしたように、日本国内でのスプリアス規制に合致しなくなる可能性がありますので、8KHz以下のオフセット周波数に留めるべきでしょう。

今回のトランシーバーはAMもCWもモードとして設定しないので、オフセット周波数0でも問題は起こらないと考えています。 この条件は、トランシーバーとして完成した時点で再検討する事にします。

Si53531_vfo

上が、いままでの回路全体です。 トランシーバーを構成する上で、HDSDR側だけオフセット周波数を設定しても、実用にはなりません。 受信、送信周波数はHDSDRも、VFO側も、このTUNE周波数になりますが、ローカルオシレーターLOの周波数はVFOが表示する周波数よりOffset分だけ低い周波数でなければなりませんので、VFO側の表示周波数とSi53531Aの周波数の間にもOffset周波数を加味した周波数設定が必要です。 要するに、VFOの表示周波数と実際に発生するDDSの周波数は異なるという事です。

Dispoffset

これらを網羅したPICのソフトができました。   左は、そのオフセット周波数をKHz単位で表示し、かつ、ロータリーエンコーダーで +10KHzから -10KHzまで可変できます。 もちろん、この数値はHDSDRで設定した数値とは連動しませんので、かならず、手動でVFO側とHDSDR側のオフセット周波数は合わせて置く必要があります。 このような面倒さはありますが、一応単体では、理屈通り動作しております。 これから、今までに作成した各ユニットをケースの中に収めて、SSBトランシーバーにまとめる事にします。

ここまでのPICソフト 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をダウンロード

7mhxtrxvfo

Sdrtrxcase

これらのユニットを一つのトランシーバーとしてまとめる為に用意したケースが左の写真です。 もともとは、Panasonicの周波数カウンターのジャンク品です。 中身は、すでに燃えない粗大ゴミで廃棄してあります。 ちゃんとまとめるには、少し時間がかかりそうです。 紹介出来る時期になりましたら、ブログを更新する事にします。

ダイレクトコンバージョンSDR(組み立て) へ続く。

INDEXに戻る