アップコンバージョン真空管TRXの局部発振回路 A |
仮クロックのスペクトラム | |
CF:403.05MHz BW:5kHz RBW:10Hz |
|
CF:403.05MHz BW:500kHz RBW:100Hz |
|
CF:403.05MHz BW:5MHz RBW:3kHz |
100MHz帯クロックのスペクトラム | |
CF:100.76MHz BW:5kHz RBW:10Hz |
|
CF:100.76MHz BW:500kHz RBW:100Hz |
|
CF:100.76MHz BW:5MHz RBW:3kHz |
改めてAD9951DDSモジュール
クロック系統の様子実験用の帯域制限BPF
もともとは実験用の50、21、14MHz用のものだが、中心周波数を
チューンして、59、30、12.5MHzに再調整して、DDSの雑音抑圧の実験に用いた
50MHz用RXローカルのスペクトラム | |
CF:59.2MHz BW:5kHz RBW:10Hz |
|
CF:59.2MHz BW:500kHz RBW:100Hz |
|
CF:59.2MHz BW:5MHz RBW:3kHz |
|
CF:59.2MHz BW:100MHz RBW:3kHz |
DDS-BFOの構成
BFOのスペクトラム | |
CF:9.0015MHz BW:5kHz RBW:10Hz |
|
CF:9.0015MHz BW:100kHz RBW:100Hz |
ちょっと表示回路を変更しました。実は、液晶表示回路で進めようと思っていたのですが、どうも反応速度が遅く、あまりうれしくありません。高速回転のロータ
リーエンコーダだと取りこぼしが大きくなってしまいます。また、いかに白抜き表示でバックライトがあるといっても、液晶の文字は見づらく、おじさん(?)
にはつらいものがあります。やっぱり自己発光型のLEDのほうがいいやと思い始めたら、もう液晶には見向きもせずに、LED表示モジュールを作り始めました。
LED表示部
ディスプレイ裏面(配線面)
スパゲッティ然としています。
上図はディスプレイ回路の外観です。別にどおってことはないのですが、けっこうコンパクトに作ったので、配線がめちゃめちゃ混んでしまった様子 を笑っていただければ。。。という以外、見所はありません(大笑)。あとは、使った小型のLEDの足間隔が2mmだったので、インチルールの基板に押し込むには、足を広げる必要があって苦慮しました(笑)。ICのソケットが2個ほど余っていますが、こいつは、ある機能も入れ込もうと欲張ったのですが、後で必要なくなったので放置プレイになっています。
上図はブロックダイヤグラムで、表示は7桁にしています。もともと、1HzステップでREをまわす気がないので、10Hzまでの7桁で十分だろうとの判断です。というか、実は、小型のLEDを使ったのですが、既存のTRX筐体の表示エリアを多くとることができずに、7桁が丁度いいバランスだったためです。
ブロック図はほとんど回路図と同じですが、簡単に説明します。ポートAの8ビットでAtmega164Pとインターフェースしています。下位4 ビットで一桁分のBCDデータを表します。上位の3ビットがアドレスデコード用データで、PORTA.4がラッチパルス生成用ビットです。このようにする
と、1バイトでアドレスとラッチとデータを含んだデータができますよね。
プログラム的には簡単です。まずは、表示すべき周波数データ(整数)を文字データに変換して、その7桁分の文字を1桁毎に抽出して配列に入れま す。それができたら、その配列を読み出して、PORTAの下位4ビット+アドレス値のデータを作って、出力して、あとはラッチパルス(PORTA.4)を加
えて一桁のラッチが完了します。これをアドレスとデータを変えて7桁分ラッチすれば終わりになります。
書き込みパルスの例
7桁分書き込むのに824μSかかっている
連続的な書き込みを行い測定した
今回は、DDSに送り込む位相データは、2のべき乗×整数というきれいな関係にはない実周波数(実数データ)を扱っています。その周波数データか らLEDの表示データに変換するために、ちょっと面倒なロジックを組んでしまったので、表示速度が心配になりました。ただ、これができると、DDS基準クロックの周波数の選択の自由度が飛躍的に増します。2^26=67.108864MHzを貴重品扱いする必要なんかどこにも無くなりますね(笑)。結果的には、途中で変えるかもしれないと思っていたクロックモジュールはそのまま使い続けることになりそうです。
さて、あまり最適なプログラムとはいえないのですが、上図から7桁分の一回の表示に824μSほどかかっていることがわかります。これとDDSへの周波数データの出力時間を合わせて、2mS以内であれば、500p/rのロータリーエンコーダを1秒で一回転させても表示落ちが無いことになりますね。まぁ、これは余裕で実現できたことになります。
周波数 データはDDSに送られたものがそのまま表示されますので、表示と実際のDDS周波数が異なることはありません。もちろん、ここに書いたように、ロータリーエンコーダを回すに従って周波数打切り誤差が累積することもありません。ロータリーエンコーダをまわして周波数が変わる感覚も自然ですので、こんなもので手打ちとすることにしました。
思い起こせば、昔の機器は、元になるデータは、DDSへの位相データそのもので、REからのパルスがくると、それから一定な位相差分を加減算して周波数生成 していました。表示は、REパルスが来る毎に、これもあらかじめバンドSWで設定した値をベースに、インクリ・デクリ動作を行っていました。周波数生成と表示の動作は一体なので、なんら問題(ずれとか)
は起きないし、なんせ高速動作だったのでお気に入りでした。ただ、この場合PICのコンパイラが貧弱だったので、今のような、実周波数を実数データで処理 なんてできるはずもなく、DDSの位相データは整数になるように、DDSクロック周波数が制限されたのでした。そのため、PIC習熟の必要もあり、40 ビット位相データの加減算ルーチンまで自作したり(BASICなのに加減算後のキャリー/ボローフラグなんか見ていた始末)もしましたが、今から
思えば懐かしい話です。さしずめ、今ならなんでもできるBASCOM万歳というところでしょうか。(最近はPICのBASICコンパイラもよくなっているのでしょ
うが・・・・いじってないので分かりません)
下の写真をクリックすると、動作している動画に飛びます。動画の前半はREを回転に追随する様子、後半はバンドSWを切り替えている様子です。
動作説明
上記画像をダブルクリックしてください。YouTubeに飛びます。
凾e=25Hzで500p/rのロータリーエンコーダをビュンビュンまわしています。
<アップコンバージョン用TXローカル> 【2012.4.9】
懸案になっていたTX用のアップコンバージョンに必要なローカルをなんとかしないといけません。最初は簡単のDDSの逓倍でOKかな?とタカを括っていたのですが、どうしてどうして、結構な難物でした。これからお見せする構成ではベストではありません。構成の大掛かりなわりには、特性は良くなく、こんなことならAD995xモジュールで組んでしまおうかとも考えましたが、思いとどまりました。一応、残りの3個の995Xモジュールの使い道は決めてあって、これが足りなくなったら、またOlimexに基板を発注する元気は出てこないだろうからです(笑)。(まぁ、必要に迫られればわかりませんが、今のところ、根性がありません(笑))。
最初は香港DDSモジュールのうちAD9851が乗っかったモジュールの出力を逓倍しようと思っていたのですが、これがことのほかスペクトラムが汚くて早々にあきらめてしまいました。その後、DDSではなく小数点分周のPLLで組もうかと思い、実験回路を殆どくみ上げたのですが、またもやふらふらDDSに戻ってきました。というのは、いままで、TRを使って3逓倍で動作させていたのですが、これを発生スプリアスの少ないパッシブダブラーに置換し(もちろん発信周波数も変更)、また、DDSも比較的スプリアスの少ない香港モジュールAに変えたらどうだろうと思ったからです。
復活したアップコンバージョンローカル用DDS
ということで、まずはオリジナルのアップコンバーティング用DDSを上記のようにもってきました。クロックソースは外部に求め、内臓のものは剥ぎ取ってあります。なお、青い基板の9851のモジュールはチップ型のクロックモジュールなので、基板から剥ぎ取るのに結構手間が掛かります。そういう意味でも上記のモジュールのほうが使いやすいと思います。上記のモジュールのクロックはクロック端子をVCC/2に吊っており、AC結合で供給しています。
さて、全体の構成ですが、ざっくりと下のような構成になります。いつものことですが、構成が大げさで難儀なことです。AD995xモジュールを使えば、付加回路は下図のμPC1677cの前のBPF以降「だけ」(図の下段の構成)で済むのに・・・・てなことになります。
アップコンバージョンローカル用DDS回路の全体構成
まず、AD0850DDSの出力はいきなり発振周波数がFoのDWMさんフィルタ(3poles)で帯域制限して、エイリアスその他の広帯域スプリアスを抑圧します。このモジュールにアンチエイリアスフィルタが入っていますが、これはまったくの用立たずなので、いきなり使う周波数のBPFをかますのが吉でしょう。そうしてダイオードダブラーが動作するレベルまでアンプっておきます。ダブラーの入力は7dBmくらいになっているはずです。これの出力を、またDWMさんフィルタでフィルタリングして、目的周波数を取り出します。あとはレベルアップのアンプとちょっとした2poleのBPFを通しておきます。ここまでをDDSモジュール近辺で組んでおき、真空管ミクサーをドライブできる大振幅レベル(10Vp-p)とかににアップするのはミクサーの近くにインピーダンス変換をかねたバッファーアンプを2SC1426で作りました。これは出力インピーダンスが50オームである必要はなく500Ωくらいの負荷をドライブできれないいので、エミッタ電流帰還の単純なアップになっています。電圧利得は9dB程度です。
アップコンバージョンローカルのダブラー回路
上図はDWMさんフィルタからダイオードダブラーまでを実装した様子です。基板がL型になっているのは次の写真のように実装したかったからで、特殊な意図があったわけではありません。
アップコンバージョンローカル用DDSにダブラーを組み込む
この帯域制限回路+AMP+ダブラーをDDSに実装した様子は上の図です。
アップコンバージョンローカル回路全体
んでもって、親亀の上には残りの小亀回路を載せています(笑)。本当は、DWMさんフィルタはμPC1677cの間に銅版でシールドを立てることで、発振防止をしつつ、2SC1426のバッファアンプまで組み込むつもりでした。しかし、コの字配置ではいかにシールドしても発振が怖かったのと、出力が500Ω近辺を想定しているので、長々と同軸を引っ張ってミクサーまで持って行くのもなんだかなぁ・・・ということで、ここはこの構成で済ますことにしました。この配置で結合は殆どないようです。シールド版も要りませんでした。
アップコンバージョンローカル用DDS回路(Doubler前)の広帯域スプリアス特性
Freq : 30.7275MHz Span : 10MHz
上図は、この実験をアップしたあとLAOさんから質問のあったDDS出力です。DWMフィルタ、μPC1654を通過した出力です。まあ、スプリアスはけっこうありますが、-70dBCくらいなので、逓倍してもなんとか使えるモノになって欲しいという、微妙なレベルですね。
アップコンバージョンローカル用DDS回路の広帯域スプリアス特性
Freq : 61.455MHz Span : 10MHz
これは出力の61.455MHzの+/-5MHzのスプリアスです。一番大きいのが+/-1MHzくらいのところにあるー62dBとかのスプリアスですね。その他、けっこうなスプリアスを見ることができます。これがそのまま、ミクサーでTX-IF信号と混合・周波数変換されて、各バンドに落ちて行くとすると、結構やっかいな話になります。というのは、もし仮にこの回路が最終ローカルの場合、そのスプリアスが、そのままバンド毎のスプリアスに反映されてしまうからです。もっとも第N次の高調波は、バンド別のLCフィルタで簡単に抑圧できますが、上記のような+/-1MHzのスプリアスなんて、各バンドでは周波数が近接しているので、かなり抑圧するのは厳しいです。ですから、もし、このレベルまでしかスプリアスの抑圧ができないローカルなのであれば、TX用のオールバンドミクサー用ローカルとしては採用したくはありません。
しかし、このTXアップコンバーティングローカルに使うとなれば話は別です。というのは、ミクサーの後にBW=20kHzくらいのハイフレ(←懐かしい!)クリスタルフィルタ(今は70.455MHzを想定している)で帯域制限します。これは100kHzも離れれば30-40dBは落とすことができるので、このフィルタの出力には、上記のローカルのスプリアスは十分抑圧されて出現しないことが予測できます。まぁ、やってみないとわかりませんが、万が一NGでも、PLLに換えるとかAD995xに換えるとか、手段は残っているので、行けるところまでこの構成で行ってみたいと思っています。余談ですが、このスプリアスの多さに驚いて、このアップコンバージョン用ローカルは、受信時にはDDS出力をOFFにしています。実際に受信時の悪影響を確認をしたわけではないのですが、なんとなく気持ちが悪いので(笑)。
アップコンバージョンローカル用DDS回路の狭帯域スプリアス特性
Span : 5kHz
それよりなにより、DDSのいいところは帯域内のフェーズノイズが極めて少ないことです。上図は+/-2.5kHzの帯域のC/N的なものを見ていますが、パーフェクトです。これがあるから、帯域外のスプリアスが多くても、こんにゃろーとつぶす気になるのです(笑)。さて、そうは言っても、本当に最後までこのDDS+ダブラー+アンプのこの構成が生き残ってくれるでしょうか??乞うご期待です。
<DDS3連装ローカルを組む> 【2012.8.5】
いやー、だいぶ間が空いてしまいました。でも、まったく何もやっていなかったわけではないのです。下駄板の上にはTXのミクサー、BM、フィルター類が散乱し、下駄板の下にはRX-IF、AFアンプ等がまとまり、その横には、DDSのローカル達が鎮座ましましていました。これで、ミクサーの動作や受信時のスプリアスやノイズの様子を見ていたのです。そうですね、3ヶ月以上はそうやっていたでしょうか?そのうちに、やっと全体が見通せるようになったので、これらを集約しようと思い始めました。まずは、ローカルからスタートです。
最初、ローカルは、クロックとTRX用の9951DDSを背面に背負って、その他はなんとか本体に収容しようかなと思っていました。しかし、いろいろ考えて行くうちに、保守性の面、雑音の面から、DDSは総てTRXの筐体の外に追い出そうということに、考えが変わりました。もともと、こいつらをシールドしてもDDS出力に存在する、IFやRX帯域に落ちるスプリアスは除去できないので、あまりシールドには意味が無いでしょう。しかし、あくまで心情的なだけですが、DDSやAVRのコントローラが発生するノイズからRXを隔離したいと思ったのです。いっそのこと、ロータリーエンコーダやLEDディスプレイも別ケースにしちまうかとも考えましたが、やはりそこまで本体から追放すると、本体の造作が著しく間の抜けた感じになるので、ロータリーエンコーダと表示は本体に残すことにしました。それで、DDSのローカルは縁の下の力持ちよろしく、タカチのYM-400なる薄型ケースに総て実装してしまうことにしました。
DDS3連装ローカル
これが、実装図です。YM-400の幅は本体と同じなので、本体の下に置くか、あるいは上にも置けるので、どちらにするかは、実際に置いてみて決めようと思います。今回、上の写真のうち新たに作ったのは左下のRX Lo BPFです(拡大図はこれ)。それ以外はどこかに登場しているモジュールです。
このモジュールはTX時にはThrough状態になります。というのも、TX時は、ミクサー後にハムバンドの強力なBPFが挿入されるので、あまりローカルのスプリアスに関しては神経質になっていません。最終的に基本波に対して70dB程度にスプリアスを抑えればいいので、あまりローカルでがんばっても意味がありません。
一方、受信時はこのBPFは大事な働きをします。アッパーコンバージョン(=上側局発であってアップコンバージョンではありません)なので、ローカルの下側9MHz離れは受信帯域となり、そこに落ちるDDSスプリアスやフェーズノイズをがっつり減衰させないといけません。これは、オールバンド・オールモードUPC機のところで散々書きましたので、しつこいですが、しっかり作らないといけません。なんせ、RXの感度は0.3μVrms以下というのに、ローカルの出力は10Vp-p以上にもなって、140〜150dBもの減衰量が要るからです。
事前にバラックセット状態で、スプリアス受信は問題なし、フェーズノイズも問題ないことを確認していますが、油断はできません。レイアウトが変わることで、なにか起きるかもしれませんので(笑)。
さて、まだ、上の写真は本体との結線はしていません。実はスタンドアローンで動くように細工をしてあります。
@スタンドアローン状態では本体と接続しなくても、バンドの代表周波数(電源オン時に表示される)をスポット的に生成するので、REは不要。
Aバンド切り替えにはロータリーSWを背面中央付近につけている。これからの制御線は、CPUとRX Lo BPFにコネクタ接続される。本体からの制御線はD-SUB(上面中央の白いコネクタ)から同じようにコネクタでCPUとRX Lo BPFにコネクタ接続換えをすることで、スタンドアローン動作と本体接続動作とを切り替える。
BTXON-OFFと周波数FIne/Coarse信号も同様にCPU基板のコネクタで切り替える。
C表示器は無くても、周波数生成は可能。CPU基板のコネクタで本体側接続と切り替えが可能である。
という構成で、特に本体のREと表示器を使わなくても最低限の周波数生成はできるスタンドアローン型のローカルが出来ました。プログラムはまったくいじっていません。今後は、受信、送信系の最終形態をにらんで、実験を進める上で、強力なツールになるはずです。
さて、閑話休題です。
実は、昔、10Kタイプのボビンをサトー電気さんに注文したら支那製しかなくて、仕方なく仕入れたのですが、品質が気になって使うのをためらっていました。
支那と日本?の10K
なんせ、上図右の列(支那製)のようにコイルをシールドケースにと押し込むと「ぷくー」と樽のように膨れるのです。余計な突起がついているのでしょうねぇ、まったく!日本製?のほう(左列)のほうはそれがないので、下の写真のようにBPFを作るために密着させる場合はかなり有利です。支那製はテクニックがないとインラインにすることが出来ません(大笑)。
RX Lo BPF
いやー、この製作には8時間も掛かりました。とっても面倒くさいですわ。
ただ、ちょっとお褒めの言葉もかけておきましょう。下の写真は、ボビンですが右が支那製、左が日本製?です。よく見ると溝のエッジが落としてあるので、線を巻くときに支那製のほうが「スルリ」と溝に入ります。左のほうはそれがちょっと難点で、ぼーっと巻いていると、線が溝からはみ出して巻いちまった!てなポカをやることがあります(まぁよっぽどぼーっとしてる時のみですが:笑)。
ボビンの溝形状に注目
肝心の特性ですが、いつものディップの特性で見ると、日本と支那の差はないようです。実は下図はディップの特性は表示Aが日本製?で、表示Bが支那製(コンデンサはいずれも日本製)なのですが、完全に重なって見えているので、まぁ、特性の方は「よし」としましょう。
並列共振回路のディップ特性
最後に毒々しい色のセラコンを紹介します(昔、毒入りギョーザなんてあったなぁ)。これもサトー電気で「支那製」と銘打っていたのを買ったのですが、なんで、こんなものを買ったかというと、秋月で安くまとめ買いしていたセラコンはついに払底したらしいのです。もう、生産していないとのこと。100pFから在庫が切れたようですが、これからは下記のような代替品を探さないといけません。まぁ、特性的には日本製?と大きな差はなく、同調回路にも「一応は」使えそうです。
支那製セラコン(100pF)
だんだん、自作の世界でも支那製品がのしてきていて、やりづらくなりますね。そういった製品を使うときには、必ず、事前に特性を見ておかないといけないなんて、本当に面倒ですね(苦笑)。
<Local BPFの増強> 【2012.12.22】
以前、受信部を弄っている時に、ローカルBPFのDDSのサイドバンドノイズが抑圧しきれていなくて、受信感度が劣化していたことを書きました。今回、追加のBPFをDDSの出力につけることにして、受信感度を確保することが出来ました。ここに書いてある、バラックで実験用BPFをつなぎ換えて得られた感度を実現する追加BPFモジュールができました。