<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 一種快速精確的KVM遠程鼠標同步方法

一種快速精確的KVM遠程鼠標同步方法

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

摘 要:針對鍵盤(pán)顯示器()中被控與主機要求,提出一種基于高速USB2.0-HID 類(lèi)規范的鼠標。在傳統相對鼠標中加入自適應殘差處理,去除相對偏移的累積誤差,增加一種絕對鼠標同步,用雙字節絕對坐標值代替傳統單字節相對坐標偏移進(jìn)行定位。實(shí)驗結果表明,該方法使同步延遲時(shí)間降至3 ms 以下,能有效提高同步的性和時(shí)效性。

本文引用地址:http://dyxdggzs.com/article/164983.htm

1 概述

即鍵盤(pán)(Keyboard)、顯示器(Video)、鼠標(Mouse)的縮寫(xiě)組合[1].由于網(wǎng)絡(luò )延時(shí)或被控機分辨率不在 可控范圍內等因素,傳統KVM 在鼠標同步方面存在被控機鼠標與主機鼠標位置偏差過(guò)大、鼠標操作延緩甚至無(wú)法響應等問(wèn)題。故提高鼠標同步的性和時(shí)效性,成為KVM 技術(shù)發(fā)展的一項重要內容。目前支持設備通用連接并具有高傳輸速率的USB 接口已成為外設連接PC 主機的主流方式。

USB2.0 接口標準在原有的12 Mb/s 和1.5 Mb/s 傳輸速率基礎上加入480 Mb/s 的高速支持,使單位時(shí)間內能夠傳輸和處理更多的事務(wù)數據。鍵盤(pán)、鼠標等支持人與計算機交互的設備歸為人接口設備(Human Interface Device, HID)類(lèi),是最為廣泛使用的USB 設備,并已得到Windows/Linux 等操作系統內置驅動(dòng)程序的良好支持。本文依據HID 類(lèi)規范協(xié)議,通過(guò)高速USB2.0 的硬件支持,向被控機發(fā)送信令數據模擬鼠標操作。

2 鼠標同步方法

2.1 實(shí)現原理

KVM 核心技術(shù)是通過(guò)鍵盤(pán)、鼠標、顯示器的適當配置,對KVM 切換器的多臺被控機進(jìn)行管理,實(shí)現用一套I/O外設去訪(fǎng)問(wèn)和操作多臺被控機。圖1 為其框架示意圖。

圖1 KVM 框架示意圖

圖1 KVM 框架示意圖

HID 類(lèi)設備的信息以描述符形式存儲在設備ROM 中,通過(guò)設置、檢測相應描述符結構完成設備與主機之間信令、數據的傳輸和獲取。HID 類(lèi)設備的具體應用數據如鍵盤(pán)鍵值、鼠標指針值等主要用報告描述符進(jìn)行描述。報告描述符由多片規則則條目的信息由片段組成,可由HID 類(lèi)規范自定義數據表達類(lèi)型。主要條目第3 位數值(Bit2{Absolute(0)|Relative(1)})標識設備操作使用是絕對模式還是相對模式,從而在支持鼠標同步方法中,有絕對同步和相對同步這2 種方式。鼠標數據內容包括鼠標的按鍵狀態(tài)、坐標位置和滾輪滾動(dòng)值等。

傳輸方式根據鼠標應用數據量較小、不定時(shí)發(fā)生、延遲受限等特點(diǎn),采用對時(shí)間有嚴格限制的中斷傳輸方式。同時(shí),高速USB2.0 支持單個(gè)事務(wù)可傳送最大數據包的容量達1 024 Byte,輪詢(xún)事務(wù)的時(shí)間間隔僅為125 Fs,支持傳輸速率可達到24.5 Mb/s.

2.2 相對鼠標同步

相對鼠標同步是根據計算前后2 次鼠標坐標的差值,對當前鼠標位置進(jìn)行偏移。由于條目以1 Byte 為單位,因此傳輸單字節坐標偏移的相對同步方式最早應用于KVM 的鼠標同步。相對鼠標同步的有效數據區定義如表1 所示。

表1 相對鼠標同步數據區定義

表1 相對鼠標同步數據區定義

由字節的低3 位,即0 bit~2 bit 分別表示滾輪、右鍵和左鍵按下或彈起的狀態(tài),即按鍵狀態(tài)。

相對偏移差值數值范圍為?127~127,當差值在水平方向(X 軸)或豎直方向(Y 軸)大于127 時(shí),需要分多次進(jìn)行移動(dòng),即循環(huán)多次發(fā)送差值數據。滾輪以±1表示向上或向下滾動(dòng)一格,并可累計滾動(dòng)格數,以支持更多頁(yè)面滾動(dòng)。本文用匯編語(yǔ)言定義相對鼠標同步的報告描述符內容如表2 所示。

表2 相對鼠標同步的報告描述符

表2 相對鼠標同步的報告描述符

通過(guò)界面獲得的鼠標坐標值以一個(gè)像素為單位,較實(shí)際位置有一定的精度損失。且相對鼠標同步每次的偏移值均以上次坐標為基準,數值損失將不斷累加。針對此問(wèn)題,本文在相對同步方式中增加了自適應的誤差彌補,對累積誤差進(jìn)行檢測和處理,即殘差處理.該處理方法主要采用坐標值精度轉換、累計殘差、足1 補齊的方式,具體實(shí)現方法如下所述:

(1)坐標值精度轉換

采用short 型雙字節數值表示法,以屏幕左上角為原點(diǎn),且無(wú)論何種分辨率均定義右下角坐標為(32 767, 32 767),將界面獲取的坐標根據屏幕分辨率按比例進(jìn)行轉換。

同時(shí)記錄本次的雙字節絕對坐標位置作為下次偏移的基準,減少以偏移差值為基準而引入的累積誤差。

(2)殘差累計及補償

使用double 型變量累計每次坐標值轉為short 整型時(shí)丟棄的小數值。當累計值大于1 時(shí),在當前坐標差值上補1 再進(jìn)行發(fā)送。同時(shí)定時(shí)檢測誤差累計值大于1 的次數頻率,當超過(guò)一定程度時(shí),采取自動(dòng)重新同步。即先進(jìn)行13 次(?127,?127)坐標偏移,將鼠標移動(dòng)到屏幕左上角,然后再用一次至多次偏移,將鼠標定位到控制主機記錄的最后坐標位置。

然后采用13 次坐標偏移,若以1 920×1 080 分辨率屏幕為上界,則在當前主流顯示器中,均可以將鼠標移至屏幕左上角。

2.3 絕對鼠標同步

絕對鼠標同步在經(jīng)過(guò)直接傳輸換算后,其雙字節絕對坐標值的每次同步,均需要以原點(diǎn)為基準重新定位鼠標,以去除與前一次鼠標位置的關(guān)聯(lián),由此避免了相對偏移造成的誤差累積。其有效同步數據區定義如表3 所示。

表3 絕對鼠標同步的數據區定義

表3 絕對鼠標同步的數據區定義

絕對鼠標同步具有更的同步效果,并且需要占用報告描述符條目的2 Byte 空間來(lái)表示坐標值(滾輪值),故必須得到操作系統內置HID 類(lèi)驅動(dòng)程序的支持?,F代Windows系列(XP/Win7/Vista 等)、Mac OS 10.5 以及Linux 2.6 版本等操作系統均可支持絕對鼠標模式,OS/2 系統也于2010 年5 月發(fā)布xsmouse00.zip 提供支持該模式的鼠標驅動(dòng)程序。由于絕對鼠標同步方法采用雙字節表示有效數據,其報告描述符結構設置與相對同步方式不同,描述符內容如表4 所示。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 同步 方法 鼠標 遠程 精確 KVM 快速

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>