现在市面上鼠标种类很多,按其结构分可分为机械式、半光电式、光电式、轨迹球式、网鼠等,平时我们用得最多的是机械式和半光电式两种。 机械式鼠标价格便宜,维修方便,所以用这种鼠标的人最多。把这种鼠标拆开,可以见到其中有一个橡胶球,紧贴着橡胶球的有两个互相垂直的传动轴,轴上有一个光栅轮,光栅轮的两边对应着有发光二极管和光敏三极管。当鼠标移动时,橡胶球带动两个传动轴旋转,而这时光栅轮也在旋转,光敏三极管在接收发光二极管发出的光时被光栅轮间断地阻挡,从而产生脉冲信号,通过鼠标内部的芯片处理之后被CPU接受。信号的数量和频率对应着屏幕上的距离和速度。 轨迹球鼠标从外观上看就像是翻转过来的机械鼠标,用手拨动轨迹球来控制光标的移动。有时在笔记本电脑上可以看到这种鼠标,它夹在笔记本的一侧,用起来十分贴手。 网鼠相对于普通鼠标多了一个或两个滚轮按键,在浏览网页或处理文档的时候只需拨动滚轮即可实现翻页功能,不必再拖动滚动条,十分方便。 除此之外,鼠标的按键数目也不相同,一般可分为两键和三键。两键鼠标是微软的标准,一般称为MS MOUSE;而三键鼠标是IBM的标准,称为PC MOUSE。现在的鼠标一般都支持这两种标准,在鼠标的背面有一个开关,可以调节选择两键或是三键、 还有一种分类方法是按照鼠标的接口分,可以分为三种,串口、PS/2口还有USB口。串口鼠标就是我们常说的“大口”,它接在计算机的串口上;还有一种是PS/2口的,即我们常说的“小口”,接在主板上专门给鼠标留的PS/2口上;USB口鼠标是{zx1}上市的产品,价格较贵。 鼠标的选购 了解了鼠标的基本知识,就应该给自己挑选一个好鼠标了。挑选鼠标应注意那些方面呢? 1、质量可靠 我觉得这是选择鼠标最重要的一点,无论它的功能有多强大、外形多漂亮,如果质量不好那么一切都不用考虑了。一般xx大厂的产品质量都比较好,但要注意也有假冒产品。识别假冒产品的方法很多,主要可以从外包装、鼠标的做工、序列号、内部电路板、芯片,甚至是一颗螺钉、按键的声音来分辨。 2、按照自己的需要来选择 如果只是一般的家用,做一些文字处理什么的,那么选择机械鼠标或是半光电鼠标就再合适不过了;如果你是个网虫,没日没夜的泡在网上,那么就买一只网鼠吧,它会令你在网上冲浪的时候感到非常方便;如果你经常用一些专门的设计软件,那么建议你买一只光电鼠标。 3、接口 上面说过鼠标一般有三种接口,分别是串口、PS/2口和USB口。USB接口是今后发展的方向,但价格有些贵,如果您对价格不在乎的话,可以考虑这种鼠标;同一种鼠标一般都有串口和PS/2两种接口,价格也基本相同,在这种情况下建议您买PS/2的鼠标,因为一般主板上都留有PS/2鼠标的接口位置,省了一个串口还可为今后升级作准备。 4、手感好 手感在选购鼠标中也很重要,想想看每天拿着一个很别扭的鼠标用电脑是什么感觉?有些鼠标看上去样子很难看,歪歪扭扭的,其实这样的鼠标的手感却非常好,适合手形,握上去很贴切。 键盘和鼠标是计算机中最基本的输入、控制装置,是我们使用最频繁的两样东西,所以在选购时一定要好好考虑,因为我们每天都要和它们直接打交道啊。 鼠标的DPI值 2、光电鼠标的DPI值决定方法 DPI(CPI)是一个硬件指标,就应该由鼠标的硬件来决定。光电鼠标的DPI值主要取决于光学引擎中的CMOS矩阵和配套的透镜。以上面的200DPI的鼠标A为例,它能对1/200英寸的移动做出反应,也就是说每移动1/200英寸CMOS矩阵上的成像至少产生1个像素的平移。这一个像素也就对应了1/200=0.005英寸。而这个像素本身有多大呢?以一个10*10的矩阵为例,它的一边长度为0.1英寸,那它的一个像素的边长就是0.01英寸。为了能让一个像素对0.005英寸的移动产生反映,就需要用一个2倍的透镜来放大使之一一对应。公式为:像素边长=透镜被率/DPI值。如何提高DPI值呢?有2个办法。 A、提高COMS矩阵的像素密度。设边长0.1英寸不变,提高像素密度为20*20,则一个像素的边长就是0.005英寸,同时透镜一味率2倍不变,这样就可以对0.005/2=1/400英寸的移动产生反应,也就是提高到了400DPI。 B、换用高放大被率的透镜。COMS矩阵不变,像素的边长就是0.01英寸,透镜一味率提高到4倍,也可对0.01/4=1/400英寸的移动产生反应,也提高到了400DPI。方法A、B可以单独或同时使用。能采用方法A的只能是光学引擎的生产商,而换透镜普通鼠标生产商也有可能做到。鼠标中采用的塑料透镜本身精度很低,安装公差也不是很高,随意提高倍被率会造成很大的成像失真,可能得不偿失。 PS:安捷伦的2051之类的400/800DPI可选我猜测可能是下面这种情况:提高COMS矩阵的像素密度,会造成良品率低,所以就把DSP设计成2种精度可选,xx没问题的良品就让一线厂商用800DPI(当然400DPI也可以用,但估计没人会这样设),有瑕疵的就让二线厂商用400DPI(可能有些LJ厂商会用这种芯片造800DPI的鼠标)。这种做法就和INTEL把缓存有瑕疵的P3/P4改菜羊差不多。 3、DPI、扫描速度、{zd0}移动速度之间的关系光电鼠标的这几个指标之间的关系很让人迷惑,我们就从这几个指标的物理单位开始做些推论。 微软IE3.0的光学引擎的指标比较明确,我们就从它开始。 分辨率:400DPI(400点/英寸)扫描次数:6000次/秒{zd0}移动速度:37英寸/秒(为计算方便取40) CMOS矩阵:22像素*22像素 首先每次扫描允许移动距离 = {zd0}移动速度/扫描次数 =(40英寸/秒)/(6000次/秒)= 1/150英寸/次 (式1) 这个值也就是说两次扫描之间鼠标移动超过1/150英寸,鼠标无法识别,会丢帧。由上一节的说明可知,微软的光学引擎可以识别1/400英寸的移动,可知每次扫描允许移动点数 = 每次扫描允许移动距离*分辨率 =1/150英寸/次 * 400点/英寸 = 8/3 点/次 约等于3点/次,同样由上一节的说明可知,移动一个点可对应CMOS矩阵平移1个像素,由次每次扫描允许移动像素 = 每次扫描允许移动点数 = 3 像素/次。 就是说,只要2次扫描之间某坐标轴上的平移不超过3个像素,DSP就可以识别两次扫描结果的差别,而这两次的结果有多少是一样的呢?算一下以变化{zd0}的45度斜移3像素为例,XY轴各移动[根号3]个像素,就算是2个吧,还有肯定会在下一帧出现的图样是中间部分有(22-2*2)*(20-2*2)=324个像素是一样,占总像素的66.9%。也就是,就算以40英寸/秒的速度移动,IE3连续两次扫描结果都有2/3上是一样的,DSPxx可以只抽取其中的一部分(比如中间的16*16的矩阵)来比较,降低运算量。 现在换一个鼠标来看看降低扫描次数会发生什么:微软宝蓝鲨,后两项指标不明用IE3的值来代替;分辨率:400DPI(400点/英寸)扫描次数:2000次/秒{zd0}移动速度:37英寸/秒(为计算方便取40,推测) CMOS矩阵:22像素*22像素(推测)每次扫描允许移动像素 = 每次扫描允许移动点数 = 每次扫描允许移动距离*分辨率 = ({zd0}移动速度/扫描次数)*分辨率 = ((40英寸/秒)/(2000次/秒))*400点/英寸 = 8 点/英寸以变化{zd0}的45度斜移8像素为例,XY轴各移动[根号8]个像素,约等于3个吧,还有16*16=256个像素是一样,占总像素的52。9%。宝蓝鲨虽然只有2000次的扫描率,但{zg}速下还能有一大半图样一定会在下一帧出现,只要改一下DSP算法(和IE3比,每秒运算次数只有1/3,运算能力有很富裕),不丢帧是很容易的。这下知道宝蓝鲨的秘密了吧。 在换一个常见的安捷伦的2051: 分辨率:800DPI(800点/英寸)扫描次数:2300次/秒{zd0}移动速度:37英寸/秒(为计算方便取40,推测) CMOS矩阵:16像素*16像素每次扫描允许移动像素 = ((40英寸/秒)/(2300次/秒))*800点/英寸 = 13.9 点/英寸以变化{zd0}的45度斜移13.9像素为例,XY轴各移动[根号13.9]个像素,约等于4个吧,还有8*8=64个像素是一样,占总像素的25%。只有可怜的1/4,不丢才怪了。 {zh1}再看看罗技MX引擎,这个就比较麻烦了,都是推测数据分辨率:800DPI(800点/英寸)扫描次数:5222次/秒(推测){zd0}移动速度:40英寸/秒 CMOS矩阵:30像素*30像素(像素总数:900像素)像素处理能力:4.7百万像素/秒 这里使用了韵鹿?剑荷?璐问?nbsp;= 像素处理能力/每次扫描像素总数 = (4700000像素/秒)/(900像素/次)= 5222次/秒这个公式我认为是成立的,因为它的物理单位是相符的。 每次扫描允许移动像素 = ((40英寸/秒)/(5222次/秒))*800点/英寸 = 6.12 点/英寸以变化{zd0}的45度斜移8像素为例,XY轴各移动[根号6.12]个像素,也等于3个吧,还有24*24=576个像素是肯定一样,占总像素的64%。和IE4的是同一水准的。丢不丢就要看DSP算法的水准了(微软本来是做软件的,这方面比较沾光吧)。 结论:其实也没有什么结论,DPI、扫描速度、{zd0}移动速度还有CMOS矩阵尺寸之间是剪不断理还乱,总之需要一个比较平衡的设定。 4、鼠标USB和PS/2接口速率的问题曾经有人说微软的37英寸/秒的指标是如何实事求是,罗技的40英寸/秒下根本用不了800DPI,超过USB接口的{zd0}信号报告速率之类的云云。还有N多的人YY PS/2接口的200Hz的刷新率。实际情况是都***扯淡。鼠标通过接口传输给计算机的不是CMOS扫描下来的结果,而是由扫描结果经过鼠标内部的DSP处理以后得出的位移值。大家还记得以前有内置字库的打印机吗?简单来说就是可以直接向这种打印机发汉字的区位代码和字体代码已经控制码,而不是汉字的点阵,传输数据量极小。打印机接受了这些代码后就在自己的字库里的相应位置调用汉字的字模并打印。鼠标也是这样,不过传输的是鼠标光标的位置和各按健的状态。一个400DPI的鼠标,2000次刷新,鼠标接口100Hz。鼠标光标初始位置是屏幕正中间,可以定义为坐标零点。移动速度10英寸/秒,0.01秒内鼠标向右移动了0.1英寸,也就是向右移动了40个点,鼠标处理以后只需向计算机发出类似{X:+40,Y:+0,鼠标各按键:未按下}这样的数据列就行了。一次指令的长度最多{X:16bit,Y:16bit,按键:16bit,其它:16bit},总共64bit,算它用usb口125Hz, 数据传输率 = 64bit*125Hz = 8000bps = 8kbps 比N年前的破猫都小很多。 USB口的125Hz够了吗?我说是足够了。我想很多人都忘了鼠标的移动最终要表现在屏幕上的指针的移动,你的显示器的刷新率是多少?显示器很好,100Hz?,OK!鼠标接口速率也是100Hz就正好。反正你的显示器一秒只能显示100帧画面,鼠标就算一秒传2000次信息,也只有其中的100次能在屏幕上显示,其它都丢掉了。有人会问,接口速率这么低,那么高扫描次数有什么用。这里有要用到显示器的刷新率了,还有显卡。接口速率对应显示器的刷新率,扫描次数相当于显卡GPU的处理能力。显卡GPU的处理能力越强,画面就越精美。但不伦多精美的图像,85Hz的显示器一秒就只能显示85帧图像 |