網頁

2012年4月22日 星期日

DIY - PIC: PIC18F4550 PS/2 鍵盤硬件 (一百二十四)

DIY - PIC PIC18F4550 PS/2 鍵盤硬件 (一百二十四)

鍵盤主要由電子電路及按鍵組成,由於經過多年的改良,基本上鍵盤的電子零件是很少,鍵盤上的每一個按鍵都是一個小小的電子開關,鍵盤內的微處理器 (8042) 能對所有的按鍵作掃描檢查 (1ms),檢查按鍵是處於開或關的狀態。當按下任何鍵,微處器立刻產生一個掃描碼(Scan Code),送往系統單元的CPU,告知此鍵何時被按下。


 鍵盤硬件:
鍵盤方框圖 (Keyboard Block Diagram)
鍵盤數據:
所有數據每一次傳輸一個字節,每個字節發送幀在11-12位組成,鍵盤會產生時鐘信號,典型頻率範圍從2030 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

鍵盤和設備的信號是集電極開路 (Open-Collector) ,通過上拉電阻拉至5VDC驅動器​​驅動

  • 輸出電流 (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
資料便會開始發送

沒有留言:

張貼留言