鍵盤主要由電子電路及按鍵組成,由於經過多年的改良,基本上鍵盤的電子零件是很少,鍵盤上的每一個按鍵都是一個小小的電子開關,鍵盤內的微處理器 (8042) 能對所有的按鍵作掃描檢查 (1ms),檢查按鍵是處於開或關的狀態。當按下任何鍵,微處器立刻產生一個掃描碼(Scan Code),送往系統單元的CPU,告知此鍵何時被按下。
鍵盤硬件:
鍵盤方框圖 (Keyboard Block Diagram) |
所有數據每一次傳輸一個字節,每個字節發送幀在11-12位組成,鍵盤會產生時鐘信號,典型頻率範圍從20到30 kHz:
- 1個起始位。一般為0。
- 8個數據位,開始位為是 Bit 0 (LSB least significant bit)。
- 1個校驗位(奇校驗)。
- 1個停止位。一般為1。
AT keyboard to host protocol, with odd parity bit |
Host to AT keyboard protocol, with odd parity bit and acknowledge |
升緣(Rising edge) /降緣 (Falling Edge):>5us ,<25us
時鐘頻率 (Clock Frequency) : 10 – 16.7KHz (一般 12kHz)
Pin | Function | Direction | Description |
1 | Data | <=> | Key Data |
2 | n/c or Data2 for dual PS2 | | Not Connection |
3 | GND | | Gnd |
4 | VCC | | Power, +5 VDC |
5 | CLK | <= | Clock |
6 | n/c or CLK2 for dual PS2 | | Not Connection |
- 輸出電流 (Sink current) 最大:20MA
- 高電平 (Hi-level Output) 輸出最小5.0 VDC
- 低電平 (Low-level Output) 輸出最大0.5 VDC
- 高電平 (Hi-level Input) 輸入最小 2.0伏
- 低電平 (Low-level Input) 輸入V最大0.8伏
電腦鍵盤實現一個雙向 (bi-directional) 的協議。鍵盤可以發送數據主機至和主機可以發送數據到鍵盤,當鍵盤準備送出資料時,首先會檢查 Clock 的 Keyboard-inhibit 或 Data-line 的 Request-to-send 狀態,如果 Clock 線是 Low,資料會先儲在 Buffer 內,如果 Clock 線是 High和 Data-line是 Low (Request-to-send) ,資料會先儲在 Buffer 內同時鍵盤會接收系統資料,如果 Clock 線和 Data-line同時是 High,資料便會開始發送。
Clock | Data | |
0 | X | 資料會先儲在 Buffer 內 |
1 | 0 | 資料會先儲在 Buffer 內同時鍵盤會接收系統資料 |
1 | 1 | 資料便會開始發送 |
沒有留言:
張貼留言