1.電腦鍵盤的編碼:8 bit 16 進位的編碼。
舊式PS/2鍵盤按下會產生Make scan code,放開則會產生Break scan code,對照表如下(圖一)。
(圖一)Keyboard Scan Codes [只提供部分]
2.PS/2的介紹:
(圖二)PS/2原始對照圖及接角編號
(圖三)PS/2接腳定義
3.原理介紹:
鍵盤的通訊方式屬於device to host communication。
由PS/2的Data(PS2D)傳出訊號,此訊號是由11 bits組成,參考下(圖四)詳細說明。
(圖四) 11 bits訊號
u Start Bit - 起始位元的值為 0。
u Data Bit(PS2D) –由Data(0)至Data(7)。
u Parity Bit - 採取奇(odd)校驗方式。(補充:parity bit是一個簡單的”錯誤檢測碼”,有興趣的同學,下面有補充資料)
u Stop Bit - 停止位元的值必為 1。
(圖五)PS2 timing for device-to-host communication
讀取訊號- Device to Host是在下降緣做讀取動作。
FPGA連接PS/2鍵盤Project設計:
1.Project設計: 使用七節燈,顯示PS/2鍵盤輸出訊號。
2.設計目的: 當鍵盤按鍵按下時,七節燈會顯示MAKE訊號,而當鍵盤按鍵放開時,七節燈會顯示BREAK訊號。(MAKE訊號及BREAK訊號的呈現方式,以英文大寫表示 及 數字)。
以下檔案會提供在最底下zip檔裡
I. clkiv.v
II. x7segbc.v
III. keyboard.v
IV. keyboard_top.v
V. ucf
3.成品電路圖:
(圖六)輸入與輸出設計圖