前回の続き。

ホスト側からの送出は以下のようになる。

 ・DEVICE(キーボード、マウス)はCLKを発生させる。
・バスの制御権はHOSTにある。CLK="L"にすることにより初期化される。
・CLK、DATA線はDEVICE-HOST間でオープンコレクタで結ばれている。
 どちらかが"L"にすればすべて"L"になる。通常は"H(OPEN)"。

(1) HOST CLK="L"
(2) HOST DATA="L"
(3) HOST CLK="H(OPEN)"
(4) HOST はDEVICEがCLK="L”にするまで待つ
(5) HOST 1bit目DATA設定 CLK="H(OPEN)"にするまで保持
(6) HOST はDEVICEがCLK="L”にするまで待つ
(7) HOST 2bit目DATA設定 CLK="H(OPEN)"にするまで保持
(8) HOST はDEVICEがCLK="L”にするまで待つ
(9) HOST 3bit目DATA設定 CLK="H(OPEN)"にするまで保持
(10) HOST はDEVICEがCLK="L”にするまで待つ
(11) HOST 4bit目DATA設定 CLK="H(OPEN)"にするまで保持
(12) HOST はDEVICEがCLK="L”にするまで待つ
(13) HOST 5bit目DATA設定 CLK="H(OPEN)"にするまで保持
(14) HOST はDEVICEがCLK="L”にするまで待つ
(15) HOST 6bit目DATA設定 CLK="H(OPEN)"にするまで保持
(16) HOST はDEVICEがCLK="L”にするまで待つ
(17) HOST 7bit目DATA設定 CLK="H(OPEN)"にするまで保持
(18) HOST はDEVICEがCLK="L”にするまで待つ
(19) HOST 8bit目DATA設定 CLK="H(OPEN)"にするまで保持
(20) HOST はDEVICEがCLK="L”にするまで待つ
(21) HOST 9bit目(parity)DATA設定 CLK="H(OPEN)"にするまで保持
(22) HOST はDEVICEがCLK="L”にするまで待つ
(23) HOST DATA="H(OPEN)" ※これでHOSTからのデータ送出終わり
(24) DEVICE DATA="L",CLK "H"→"L"→"H"
(25) DEVICE CLK="H(OPEN)" 終了

DEVICE側はCLKの立ち上がりでデータを受け取ることになる。
 
 
波形を見ると4つのかたまりで観測できている。

10110111 1 0
0xED キーボードLED制御コマンド

01011111 1 0
ACK

00100000 0 1
0x04 Caps Lock ON

01011111 1 0
ACK

CAPSON_100KHz