HOME|HAM|光通信|電子工作|音コレクション|ディジタル入門|雑記帳
QRPのCW送信機をいくつか実験して,次は5W級とモービルホイップでも実用になりそうなところまで来ました。そうなると,実験用のマイクロスイッチを使った簡易キーヤーではだめで,早く,綺麗な符号を出せる電子キーヤーが欲しくなります。 そこで開発したのが,PIC12F629を使ったPickey-Eggです。 PICによるKeyで,Pickeyと呼んでください。Eggは,いずれBaby,Boy,Youth,・・・などとパワーアップしていきたいとの思いをこめて,最初にEggと名づけました。回路は,右の通りです。 回路概要 PIC12F629がキーヤー本体で,74HC00はサイドトーン発生用です。そして,2SC1815から無線機のキー端子に繋ぎこみます。 DOTの入力がI/O0(7pin),DASHの入力がI/O1(6pin)で,ここを接地したときにそれぞれの要求があったと判断します。 ステレオジャックにおいては,中心線がDOT,次かDASH,一番外側がグラウンドになります。 SW-1は電源スイッチ,SW-2はサイドトーン停止用です。市販のリグに使うような場合,SW-2を開くとサイドトーンが停止します。 |
ソフトウエアについて
上が、ごくかいつまんだフローです。
短点出力の時連続長点出力の時
- ①で検知し,②で「短点+1スペース」の出力を開始し,同時に符号用クロックを起動します。クロックは,1短点分の長さです。
- ③に来たとき,一瞬だけ短点のキーを押したつもりでもまだ短点の入力は残っていて,⑥に行きます。⑥では,「短点+1スペース」出力中は,短点要求がNEXTに入れません。NEXTが空のまま,③と⑥を行き来してクロックを待ちます。
- クロックが来ると④に行きます。短点の出力が終わっただけなので,⑤で次に1スペースを出力させる処理をして③に戻ります。
- 今度は,短点キーは離れているでしょうから③の場所で,もし,短点キーを離すのが遅れていたら③と⑥でまたクロックを待ちます。
- またクロックで④ですが,今度は「短点+1スペース」出力完了ですので,⑦に行きます。NEXTは空(ない)ので⑨へ。
- ⑨で入力がない(さすがにこの時点では,短点キーは離れている。)ので,全てのシーケンスが終わりクロックを停止して初期状態の①に戻ります。
- ①で検知し,②で「長点+1スペース」の出力を開始します。
- ③に来たとき長点キーは押しっぱなしですので,⑥に行きます。⑥では,「長点+1スペース」出力中は,長点要求がNEXTに入れませんNEXTが空のまま,③と⑥を行き来してクロックを待ちます。
- クロックが来ると④に行きます。長点の1/3の出力が終わっただけなので,⑤でまた長点の1/3を出力させる処理をして③に戻ります。
- 今度も,長点キー押しっぱなしですので,③と⑥を行き来しながらまたクロックを待ちます。
- ③⑥④⑤を「長点+1スペース」の1スペース出力完了までの間行います。そして,⑦に行きます。
- NEXTは空(ない)ので⑨へ。長点キーが押されたままですので,ここで長点入力を検知し,新たな「長点+1スペース」の出力を開始します。
- そして今度は,初期出力が終わったときと同じ③へ戻ります。
(注) ⑨⑩を削除して,⑦でNEXTがないとき①へ戻るようにしてもほとんど同じ動作になるのです。しかしそうすると,新たなクロック
での動作になるのですこしずつタイミングがずれていってしまいます。
通常の動作ではほとんど意味がないのですが,タイミングのずれを嫌って⑨⑩を設けました。
短点・長点交互出力のとき
短点・長点両方のキーを押しっぱなしにしたとき,この動作になります。ここでは,短点入力が先に検知されるようなタイミングで,両方のキーがほぼ同時に押されっぱなしになったとして解説します。
- ①で検知し,②で「短点+1スペース」の出力を開始します。
- ③に来たとき短点・長点キーともに押しっぱなしですので,⑥に行きます。 ⑥では,「短点+1スペース」出力中は,短点要求がNEXTに入れません。しかし,長点要求もあるのでNEXTに長点が入ります。一度NEXTがはいった時,NEXTの出力処理が完了するまで,NEXTへの書き込みをできなくします。
- ③⑥④⑤の処理をして,⑦に行きます。ここでNEXTに長点が入っていますから,⑧で長点の出力処理をします。また,概略フローではわかり ませんが,NEXTを空に戻しています。そして,③に戻ります。
- また③⑥④⑤の処理ですが,今度は「長点+1スペース」出力中なので,⑥でNEXTに短点が入ります。
- これを繰り返して,短点・長点の交互出力となります。
フローチャートおよびコード
より詳しいフローチャートは,下のリンクから確認ください。フローチャートでも正確さを求めようとすると,煩雑になってしまいますので,完全正確という訳には行きません。
正確なものは,結局コードになります。