基于FPGA的PS/2鼠標接口設計方法及其應用
Byte1中的Bit0、Bit1、Bit2分別表示左、右、中鍵的狀態(tài),狀態(tài)值0表示釋放,1表示按下;Byte2和Byte3分別表示X軸和Y軸方向的移動(dòng)計量值,是二進(jìn)制補碼值;Byte4的低四位表示滾輪的移動(dòng)計量值,也是二進(jìn)制補碼值,高四位作為擴展符號位。這種數據包由帶滾輪的三鍵三維鼠標產(chǎn)生,若是不帶滾輪的三鍵鼠標,產(chǎn)生的數據包沒(méi)有Byte4,其余的相同。
VGA信號時(shí)序
圖4所示是計算機VGA(640×480,60Hz)圖像格式的信號時(shí)序圖,其點(diǎn)時(shí)鐘DCLK為25.175MHz,場(chǎng)頻為59.94Hz。圖中,Vsync為場(chǎng)同步信號,場(chǎng)周期Tvsync為16.683mS,每場(chǎng)有525行,其中480行為有效顯示行,45行為場(chǎng)消隱期。場(chǎng)同步信號Vs每場(chǎng)有一個(gè)脈沖,該脈沖的低電平寬度twv為63μS(2行)。場(chǎng) 消隱期包括場(chǎng)同步時(shí)間twv、場(chǎng)消隱前肩tHV(13行)和場(chǎng)消隱后肩tVH(30行),共45行。行周期THSYNC為31.78μS,每顯示行包 括800點(diǎn),其中640點(diǎn)為有效顯示,160點(diǎn)為行消隱期(非顯示 區)。行同步信號Hs每行有一個(gè)脈沖,該脈沖的低電平寬度tWH為3.81μS(即96個(gè)DCLK);行消隱期包括行同步時(shí)間tWH,行消隱前肩tHC(19個(gè)DCLK)和行消隱后肩tCH(45個(gè)DCLK),共160個(gè)點(diǎn)時(shí)鐘。復合消隱信號是行消隱信號和場(chǎng)消隱信號的邏輯與,在有效顯示期復合消隱信號為高電平,在非顯示區域它是低電平。
設計實(shí)現
實(shí)現功能
1、 用FPGA實(shí)現PS/2鼠標接口。
2、鼠標左鍵按下時(shí)十字形鼠標圖象的中間方塊改變顏色,右鍵按下時(shí)箭頭改變顏色。
3、 Reset按鍵:總復位。
設計原理
主機復位后,首先向鼠標發(fā)送初始化命令(0xf4)。當鼠標收到命令字后會(huì )給出一個(gè)應答字節(0xfa),主機根據應答字節來(lái)判斷鼠標是否正確應答。如果應答正確則接收鼠標數據包,然后從接收到的數據包中獲得鼠標位置及狀態(tài)數據,并輸出給顯示模塊。顯示模塊在CRT上顯示出當前鼠標的狀態(tài)和位置,否則,停止處理。如圖5。
評論