2016.10.13
前へ
次へ
ホームページトップへ戻る

マイコン独立大作戦
キーボードインターフェースの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
独立大作戦の作戦その1はCRTインターフェースボードの製作です。
そして作戦その2は、やっぱりキーボードインターフェースしかありませんでしょう。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第3回]


●クロックとデータの関係

PS/2キーボードから出力されるクロックとデータ(キーコード)について、もう少し詳しく調べてみます。
下はカメレオンUSBロジアナで測定したクロックとデータの波形です。

カメレオンUSBロジアナは「TTLでCPUをつくろう[第374回]」で紹介いたしました。
こういう目的ではオシロスコープではちょっとつらいところがあります。
ここはやっぱりロジアナの出番でありましょう。
PROBE00がクロックでPLOBE01がデータ(キーコード)です。
この波形を見ますとデータはクロックが立ち下がる少し前に変化しています。
ということは、クロックの下がりエッジを確認してからデータを読めば、確実にデータを読むことができそうです。
上がりエッジを確認してから読むのでは間に合わない可能性があります。

ところで上の波形は数字の3のキーを押したときに出力されたものです。
クロックの下がりエッジの位置でデータを読んで、それを0と1で示してみます。
00110100001
になります。
前回書きましたように、先頭はスタートビットで終わりはストップビットです。
ストップビットの前にはパリティビットがあります。
その間の8ビットがデータビットです。
それを取り出すと。
01101000
になります。
PS/2キーボードから出力されるデータは下位ビットから上位ビットの順に出されます。
波形を見ると普通のビット表記とは逆の並びに見えます。
これを普通のビット表記に直すと下のようになります。
00010110
です。
これを16進数表記にすると、16Hになります。
数字の3のASCIIコードは31Hですから、キーボードから出力されるコードはASCIIコードとは異なっているようです。
これを調べてみると、なかなかに面倒なコード体系になっているようです。

説明の途中ですが、本日は時間がなくなってしまいましたので、続きは次回にすることにいたします。

キーボードインターフェースの製作[第3回]
2016.10.13upload

前へ
次へ
ホームページトップへ戻る