2011年9月7日水曜日

波形

計測した波形を見ると、パソピアからキースキャン信号が届き、キーボードはそのスキャンライン上に押されたキーがあればリターン信号を返答する、という挙動。
PIN3~9がキースキャン、PIN3~10がキーリターンで共用。タイミングによって切り替わる。
PIN12(DIR)がHighでパソピアからスキャンラインとブロック信号が届くので、PIN11(CLOCK)の立ち上がりで、その信号を保持。

スキャンライン(KSL)とブロック信号(KB)から、キースキャン(nKS 0~B)の12通りを判断
KSL 0KSL 1KSL 2KSL 3
KB_AnKS 0nKS 1nKS 2nKS 3
KB_BnKS 4nKS 5nKS 6nKS 7
KB_CnKS 8nKS 9nKS AnKS B

DIRがLowになったら、そのキースキャン上で押されているキーをリターン(nKR)
DIRがHighの時間は1usで、CLOCKの立ち上がりは、ほぼその真ん中。
つまりキーボードは0.5us以内に、スキャン信号を読み取り、そのキースキャン上で押されているキーがあればリターン信号として返答していることに。

デフォルトはオールスキャン状態。キーボードは、押されたキーリターンを全て返答すればよい。
何かキーリターンすると、しばらくして37.5us間隔でキースキャン13回(KS 0~Bの12回と、最後はオールスキャン)が届くので、キーボードはそれぞれに対応するキーリターンをする

0 件のコメント:

コメントを投稿