2.AKI-H8(H8/3048)によるエレキー(メッセージキーヤ)の製作




2.4 ソフトウェア

ソフトウェアの基本的なところは、実績のあるZ80キーヤーのアルゴリズムをそのまま流用しました。操作方法も継承しました。

長短点メモリなど動作タイミングはAccuキーヤーと同じです。




CW符号は内部では、短点を0、長点を1とし、符号の先頭に1を付加して表現しています。例えばA(・−)は01ですから、先頭に1を付加して0000 0101(2進)=05(16進)となります。この方法では1バイトで7点までの長さの符号が表現できます。8点以上の符号は欧文の訂正符号”HH”がありますが、 これをメッセージの中に入れることはないでしょう。また他に”OSO”、”SOS”等がありますが、普段のQSOで使わないので大丈夫でしょう。(符号と内部表現の関係は表を参照)

キーイングスピードは、ごく普通に、可変抵抗の電圧値を A/D で読み込み、インターバルタイマ(ITU)の設定値としています。ITU のコンペアマッチで割り込みを発生させ、これを短点1つ分のタイミングとしています。

また、スタンバイコントロール用にカウンタを用意し、符号送出の度にカウンタをクリヤしています。符号送出が無くなり、カウント値が設定値になると割り込みを発生させ、スタンバイをOFFにします。

NEC製PC-9821/9801のキーボード入力とのI/F仕様は、コネクタのピンアサインの他はマニュアル等にありません。そこで、オシロスコープ/メモリスコープで信号波形を観測し、どのような信号が送られているかを確かめました。
キーボードからの出力は、非同期のシリアル通信で、データ長は8ビット、パリティーは奇数です。
キーボードは、キーが押されたときにそのキーコードを送信し、キーが放されたときにキーコードの最上位ビットを1にしたデータが送られます。オートリピートではこれらのコードが交互に送られます。送出されるデータは、キーボード特有のコードです。(文字とコードの関係は表を参照)
通信速度は、当初は19.2kBPSと思っていましたが、実際につないでみるとエラーが多発し、AKI−H80側の設定を20kBPSにしてエラーが出なくなりました。

符号と内部表現、キーコードの関係表
   文字    内部コード キーボードコード
*AR 2A
*BK C5
*BT 31
*KN 36
*SK 45
*UR 4A
/ 32 THL:1C(Return)
HCT:34(Space)
? 4C
0 3F 0A
1 2F 01
2 27 02
3 23 03
4 21 04
5 20 05
6 30 06
7 38 07
8 3C 08
9 3E 09
A 05 1D
B 18 2D
C 1A 2B
D 0C 1F
E 02 12
F 12 20
G 0E 21
H 10 22
I 04 17
J 17 23
K 0D 24
L 14 25
M 07 2F
N 06 2E
O 0F 18
P 16 19
Q 1D 10
R 0A 13
S 08 1E
T 03 14
U 09 16
V 11 2C
W 0B 11
X 19 2A
Y 1B 15
Z 1C 29
訂正符号 00 0F(TAB)



*付きの符号は連続して1文字とする符号。



メッセージ中に用いる制御コード:
以下の符号(制御コード)をメッセージ中に
書き込むことにより各機能を実現させる。
文字 内部コード
機能
*SNM
8B
シリアルNo.読出(Serial NuMber)
*SL
84
文字間隔1点分延長(SLow)
*FS
90
文字間隔1点分短縮(FaSt)
*RETN
A6
読出CHの先頭へ戻る(RETurN)
*XS
C8
TX ON  (tX Send)
*XR
CA
TX OFF(tX Recv.)
*BS
C8
ブレークポイント(B.P. Send)
*BR
C2
ブレークポイント(B.P. Recv.)
*CS
D0
コールサイン読出(CallSign)
*GMA
ED
GM/GA/GE読出
*A1
AF
文字列1読出(16文字)
*A2
A7
文字列2読出(31文字)
*A3
A3
文字列3設定(31文字)
*A4
A1
文字列4設定(31文字)
*QU
E9 モニタプログラム実行(QUit)
*付きの符号は連続して1文字とする符号。



プログラムの作成、デバッグには(株)日立製作所提供のモニタプログラムを利用させていただきました。これは下記のURLから入手出来ます。
http://www.hitachisemiconductor.com/sic/jsp/japan/jpn/PRODUCTS/MPUMCU/TOOL/index.html
Akih8.zip というファイルで、AKI−H80専用のモニタプログラムが掲載されています。

私のAKI−H80のROMには、キーヤープログラムと上記モニタプログラムの両方を書き込んであります。キーヤープログラムからモニタプログラムの起動も可能にしてあり、新たなプログラムの作成やデバッグも出来ます。また、モニタプログラムの転送機能を使って、メッセージの書き換えも可能です。

尚、(株)日立製作所で公開しているAKI−H80用のモニタプログラム Akih8.zip は、コンパイルや変換がなされた MONITOR.MOT のみです。
モニタのみで使用するにはこれで問題有りませんが、他のプログラムと一緒にROMに焼く場合などはソースからコンパイルをやり直す必要があります。
(やり方は 3.モニタプログラム の頁参照)

先にも書きましたが、本プログラムはキーヤーとしての基本的部分で、別の方が作られたZ80キーヤーのアルゴリズムを流用しています。100%私のオリジナルではありませんので、プログラムリストの公開は致しておりません。



(注記)
日立製作所の半導体部門は、2003年4月に設立された株式会社 ルネサス テクノロジに移管されております。上記のリンクは現在は有りません。最新の技術情報や、ドキュメント類は、ルネサス テクノロジのホームページから入手することが出来ます。しかし残念ながら、ここで紹介している
AKI−H80用のモニタプログラムやDOS版モニタプログラムは公開されていないようです。



前のページ

AKI-H8によるエレキーの製作へ戻る

工作室メニューへ戻る