<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的PS/2鼠標(biāo)接口設(shè)計(jì)方法及其應(yīng)用

          基于FPGA的PS/2鼠標(biāo)接口設(shè)計(jì)方法及其應(yīng)用

          作者: 時(shí)間:2012-02-08 來(lái)源:網(wǎng)絡(luò) 收藏

            Byte1中的Bit0、Bit1、Bit2分別表示左、右、中鍵的狀態(tài),狀態(tài)值0表示釋放,1表示按下;Byte2和Byte3分別表示X軸和Y軸方向的移動(dòng)計(jì)量值,是二進(jìn)制補(bǔ)碼值;Byte4的低四位表示滾輪的移動(dòng)計(jì)量值,也是二進(jìn)制補(bǔ)碼值,高四位作為擴(kuò)展符號(hào)位。這種數(shù)據(jù)包由帶滾輪的三鍵三維鼠標(biāo)產(chǎn)生,若是不帶滾輪的三鍵鼠標(biāo),產(chǎn)生的數(shù)據(jù)包沒(méi)有Byte4,其余的相同。


          VGA信號(hào)時(shí)序

            圖4所示是計(jì)算機(jī)VGA(640×480,60Hz)圖像格式的信號(hào)時(shí)序圖,其點(diǎn)時(shí)鐘DCLK為25.175MHz,場(chǎng)頻為59.94Hz。圖中,Vsync為場(chǎng)同步信號(hào),場(chǎng)周期Tvsync為16.683mS,每場(chǎng)有525行,其中480行為有效顯示行,45行為場(chǎng)消隱期。場(chǎng)同步信號(hào)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)為行消隱期(非顯示 區(qū))。行同步信號(hào)Hs每行有一個(gè)脈沖,該脈沖的低電平寬度tWH為3.81μS(即96個(gè)DCLK);行消隱期包括行同步時(shí)間tWH,行消隱前肩tHC(19個(gè)DCLK)和行消隱后肩tCH(45個(gè)DCLK),共160個(gè)點(diǎn)時(shí)鐘。復(fù)合消隱信號(hào)是行消隱信號(hào)和場(chǎng)消隱信號(hào)的邏輯與,在有效顯示期復(fù)合消隱信號(hào)為高電平,在非顯示區(qū)域它是低電平。


          設(shè)計(jì)實(shí)現(xiàn)

          實(shí)現(xiàn)功能

            1、 用實(shí)現(xiàn)PS/2。

            2、鼠標(biāo)左鍵按下時(shí)十字形鼠標(biāo)圖象的中間方塊改變顏色,右鍵按下時(shí)箭頭改變顏色。

            3、 Reset按鍵:總復(fù)位。

          設(shè)計(jì)原理

            主機(jī)復(fù)位后,首先向鼠標(biāo)發(fā)送初始化命令(0xf4)。當(dāng)鼠標(biāo)收到命令字后會(huì)給出一個(gè)應(yīng)答字節(jié)(0xfa),主機(jī)根據(jù)應(yīng)答字節(jié)來(lái)判斷鼠標(biāo)是否正確應(yīng)答。如果應(yīng)答正確則接收鼠標(biāo)數(shù)據(jù)包,然后從接收到的數(shù)據(jù)包中獲得鼠標(biāo)位置及狀態(tài)數(shù)據(jù),并輸出給顯示模塊。顯示模塊在CRT上顯示出當(dāng)前鼠標(biāo)的狀態(tài)和位置,否則,停止處理。如圖5。



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();