1.9MHz送信機です。「エレキー付き送信機」、もしくは「送信機付きエレキー」と言ったほうがよいかもしれません。いうことを笑ってください。周波数はプログラムで作る4、セミブレークイン機能アンテナ切替リレー付き5、送信キャリアは連続位相でデューティーも1:1偶数次高調波と余分なスプリアスを減らすためもっとも苦労したところ最終的には0dBm(!)の出力と、高調波はー60dB以下となった。すべてアセンブラで記述したが、キャリア生成中に割り込みは一切使えないビット判断による分岐は使えないためフラグなどはバイト単位で使う。サブルーチンは使えない。いう笑えない制約が生まれた。その中でエレキーとかの機能を押し込んだわけです。全体です11個のLEDによる周波数表示(500Hzステップ)大きなVFO(VXO)つまみと小さなエレキースピードつまみトロイダルコアは高調波を押さえるローパスフィルタパドルも自作です。基板もプロに頼んじゃいました。ワンチップCW送信機1、設計目標CPU1個でアマチュアバンド用CW送信機を実現する具体的にはキャリアはポートのON/OFFで生成する。生成するキャリアのデューティー比は1:1とし偶数次高調波を減らしてローパスフィルタの次数を減らす。キャリアの純度を上げるためキャリアは連続位相であること周波数はバンド内を連続可変できること周波数の表示ができることその他オプションとしてスクイズキーをつなぎ長短点メモリー付エレキーの動作ができることエレキーのスピードは連続可変可能なこと縦振れ電鍵も接続可能なことサイドトーン発振器を持つことセミブレークイン機能を持ち、アンテナ切替リレーを内蔵するこれらの機能を目標として設計に入ります。2、キャリアの生成CPUの出力ポートをプログラムでON/OFFすれば特定の周波数の発信機となります。LOOPへこの場合3つの命令がすべて1マシンサイクルで実行されるならデューティー比は1:2となります。後述のアトメルAT90S1200ではジャンプ命令は2マシンサイクルなので1:3となります。�Aとなり6マシンサイクルで1サイクルの出力ができます。ここで1サイクルの出力にNOP命令が2個あり、このループを工夫してNOP命令を他の命令に置き換えればデューティー1:1を維持しながら他の機能を埋め込むことが可能となります。3、CPUの選択CPUは入手容易でオーバークロック動作をせず、という条件で探した結果アトメルのAT90S1200を使用することとし、AT90S1200の動作クロック上限12MHzと、前述の6マシンサイクルという制約からアマチュアバンドは1.9MHz帯としました。4、周波数の可変1.9MHz帯のバンド幅5KHzをを連続可変することをプログラムで実現するのはさすがに無理なので、CPU外付け水晶をインダクタとバリキャップでVXO化することにしました。水晶の周波数は1.910MHzx6=11.46MHz付近となりますが、VXO化により下がりますので11.526MHzを用意しました。知るために内蔵の8bitカウンタを使います。基準周波数が必要となるためカウンタに外部より4MHzを注入して、プログラムによりゲート時間を生成しカウント値から周波数を計算する手法をとりました。一般的な周波数カウンタとは違い、ゲート時間がVXO化されたCPUのスピードで変わり、それで基準周波数を測定するという手法です。具体的には送信周波数1.910MHzでゲート時間4.775218mscとするとカウンタ値が1変化するのは約100Hzとなります。500Hzごとに並べた11個のLEDにより周波数表示を行います。この周波数表示はキャリアを生成中は動作させませんが、ドット/ダッシュ後の1スペース中は動作しますので不都合は感じません。6、エレキー動作これは一般的な長短点メモリー付スクイズキーヤなのでプログラムとしては新しいことはありません。最近親指の動きが遅くなった為か短点が余分に出るため短点側メモリーはやめました。エレキーのスピードはボリュームによる連続可変(送信中も)とするため、ポートからCRに充電し、内蔵のアナログコンパレータにより放電を監視する方法としました。コンパレータ入力の片側はボリュームにより電圧を可変し基準電圧を変えそれにより1ドットぶんの時間を作っています。7、その他サイドトーンは他励式圧電ブザーを使い、周波数はプログラムにより作ります。電鍵の接続はスクイズキーのドットと並列に接続し、電鍵を下ろしたまま電源をONすることで動作モードを変えます。周波数の調整とかには便利な機能です。セミブレークインは簡易的にキーを離したあとスピードボリュームの1ドット分のウェイト後アンテナリレーをOFFします。方形波から不要な高調波を取り除くローパスフィルタは以前実験した-----で設計しました。8、プログラムデューティー1:1を崩さず、また連続位相とするためにキャリアの生成時はいろいろな制約が生まれます。割り込みは一切使えないビット判断による分岐は使えないためフラグなどはバイト単位で使う。サブルーチンは使えない。これらをすべてアセンブラで記述しました。保護抵抗のロスが多いが、出力を上げるなら外付けアンプを使った方がよい。デューティーを崩すと2倍波は20-30db悪化するという結果となりました。10、終わりに普段はPICのみで、AVRマイコンは初めて使いましたがPICの2倍以上の高速動作を満喫できました。送信機としてはミニパワーですが、十分実用になるものと自負しています。工事設計書に記載する終段名称は”AT90S1200”となりますが、終段入力はどのように書けば良いかわかっておりません。