郝洋毕设论文03.doc

上传人:本田雅阁 文档编号:2078664 上传时间:2019-02-10 格式:DOC 页数:51 大小:3.18MB
返回 下载 相关 举报
郝洋毕设论文03.doc_第1页
第1页 / 共51页
郝洋毕设论文03.doc_第2页
第2页 / 共51页
郝洋毕设论文03.doc_第3页
第3页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《郝洋毕设论文03.doc》由会员分享,可在线阅读,更多相关《郝洋毕设论文03.doc(51页珍藏版)》请在三一文库上搜索。

1、摘 要摘 要鼠标是人们日常使用的电脑外设,其技术的发展备受瞩目。而随着工作环境和需求的不断变化,人们越来越需要一种具备无线功能和悬空遥控功能的鼠标,它不依赖于平面,没有连线的距离限制。同时,在鼠标的发展中,如何缩小鼠标的体积,降低鼠标的功耗也越来越被人们所关注。无线鼠标则是电脑周边器件与无线通信技术的完美结合物。通常,鼠标通过PS2插口或者USB接口以有线的方式将移动的距离和方向转换成脉冲信号传送给PC。根据鼠标的工作原理和协议,利用S2鼠标和315M无线发射接收模块,配合PC串口,制作无线串口鼠标。本文在分析了无线鼠标的工作原理之后,将无线鼠标的设计主要分为两部分。一部分是无线通信,使用无线

2、收发进行无线发送和接收,对该芯片进行控制完成信息的无线传递功能。另一部分为接收器与计算机间的通信,将接收器接收到的信号在单片机的控制下通过PL2303HX这类USB转UART芯片传递给PC机并让PC识别出相应的操作。后面的论文总结了在无线鼠标接收器研究设计中的工作,提出了下一步需要完善和解决的问题。关键词:无线鼠标 发射模块 接收模块 串口通信协议ABSTRACTThe mouse is daily use of computer peripherals, and its technology focus of attention. And with the work environment

3、and the needs of constantly changing,people are more and more need a wireless function and impending function of remotde control of the mouse. It doesnt depend on the plane, no attachment distance limit.In the meantime,the development of the mouse how to reduce the volume of narrowing the mouse, the

4、 power consumption is also more and more be mouse concern for people. Wireless mouse is computer peripheral devices and the perfect combination of wireless communication technology things.General,The mouse through the PS/2 or USB cable way will move in the distance and direction convert pulse signal

5、s to the PC. According to the work principle and agreement mouse, using the S2 mouse and 315M wireless transmitting receiving module, cooperate, making wireless PC serial serial mouse.Based on the analysis of the wireless mouse works ,wireless mouse is mainly divided into two parts.Part of is wirele

6、ss communication ,Using wireless transceiver for wireless send and receive,The chips for control of the wireless transfer function complete information.Another part of is Receiver and computer communications ,then receiver received signals Under the control of the processor get through PL2303HX this

7、 kind of USB/UART chip to pass to the PC And let PC identify the corresponding operation .Behind the paper summarizes the research in wireless mouse receiver design work, are put forward need to improve and solve problems.Keyword: wireless mouse; Launch and Receiver Module;Serial communication proto

8、col. 附录47目 录第一章 绪 论11.1研究背景及意义11.2 主要研究方法及内容2第二章 鼠标的相关知识和工作原理32.1 鼠标的工作原理32.1.1光学鼠标的主要参数32.1.2光电鼠标的内部构造42.1.3光电鼠标的工作原理82.1.4 产生数字信号92.2 PS/2鼠标工作模式92.3 PS/2鼠标码设置102.4 PS/2协议121、电气特性122. 物理连接器143、PS/2设备和PC机的通讯152.8 PS/2设备到PC机的通讯时序162.5 USB协议18第三章 无线鼠标的详细设计223.1总体设计方案223.2硬件设计233.2.1 315M无线发送和接收模块233.3

9、 电路设计251)发射电路图设计253.4 芯片介绍261)发送模块模块中的 ATMEL Mega8262)PL2303HX28第四章 无线鼠标的制作314.1无线鼠标软件流程314.2 无线鼠标的制作324.3 问题总结34结 论35致 谢36参 考 文 献37附录38第一章 绪 论1.1研究背景及意义1968年12月9日,在IEEE会议上,斯坦福研究院的Douglas Englebart博士展示了世界上第一个鼠标,同时发表了“图形用户界面”即GUI的构想。Englebart博士也没有想到他的小小发明竟然如此大的改变了计算机界面后来的发展历史。从简单的机械式鼠标到机械滚珠鼠标,再到光电鼠标,

10、以及如今最为流行的无线鼠标,无疑鼠标改变了人们的一些生活习惯。IEEE协会把鼠标的发明列为计算机诞生50年来最重大的事件之一,可见其对IT历程的重大影响作用。虽然此后的十几年,因为虽然“图形用户界面”的构想引起的很轰动的影响,但是它的要求大大超过了当时电脑的发展水平和需求,所以鼠标也就一直没有他的用武之地。鼠标在我们电脑日常使用中的使用频率是最高的。“鼠标”的标准称呼应该是“鼠标器”,英文名“Mouse”,我们称它为“鼠标”是因为其外型象一只老鼠。鼠标器作为继键盘后,新的计算机输入设备,使得人与计算机交互更加方便,因而鼠标的发明被国际电器工程师协会评为计算机诞生50年来世界计算机业界最重大的事

11、件之一。到今天鼠标已经是40多年的历史了,可是人们一直都在致力于鼠标的发展和未来的趋势。机械式鼠标、光电鼠标、光学式鼠标、无线鼠标再到陀螺仪空中鼠标、可以体会到不同以往的三维空间的力反馈的触觉鼠标以及3D鼠标、不需要将物理表面信息转换成电脑屏幕上的移动这种物理信息的感应鼠标以及未来意念控制的鼠标。在众多鼠标当中,无线鼠标无意识最新崛起的一股力量,它的性能不断地在完善,操作的优越性使得其在近两年的发展速度奇快,从早期的红外传输到今天的无线电传输,可以说无线鼠标的发展已经成规模。尤其是近几年,笔记本市场的扩大,更使得无线鼠标倍受欢迎。在无线技术中,2.4Ghz无线技术无疑是最受玩家青睐的,因为它的

12、最大的优点是传输距离可以达到10米,这就比27Mhz无线技术占有很大的优势。如今,2.4Ghz无线技术嫣然成为最主流的,最受人欢迎的无线技术,当然2.4Ghz无线鼠标成为越来越多的笔记本用户首选对象。所以我们选择此课题主要是深入了解鼠标的工作原理以及与PC机之间的通信。在此基础上对无线通信加以应用和深入的探讨。为无线鼠标以后的发展趋势以及动态做了一个较好的理解和关注。1.2 主要研究方法及内容本论文在理解和熟悉光电鼠标的工作原理的基础上,通过在鼠标的数据线上连接上无线发射,接收模块,对鼠标加以“改造”,使得一个有线鼠标变为一个无线鼠标。此鼠标不仅可以完成鼠标的基本功能,还可以在规定的范围内(5

13、10米)可以任意移动。主要的研究内容有如下几点:一:熟悉光电鼠标的工作原理,以及熟悉掌握PS/2通信协议。二:了解315M无线发射和接收模块,在此基础上设计出电路图。三:熟悉无线发射和接收模块之间的技术指标,设计出分别与鼠标和PC机之间的电路,并实物焊接。初始化芯片和串口芯片,利用PS/2协议和USB协议之间的转化。调试无线模块之间的通信,连接PC机用鼠标做出鼠标的实际应用。第二章 鼠标的相关知识和工作原理2.1 鼠标的工作原理2.1.1光学鼠标的主要参数(1)、分辨率光电鼠标的分辨率通常用CPI(CountPerInch:每英寸的测量次数)来表示,CPI越高,越利于反映玩家的微小操作。而且在

14、鼠标光标移动相同逻辑距离时,分辨率高的需要移动的物理距离则要短。拿一款800CPI的光电鼠标来说,当使用者将鼠标移动1英寸时,其光学传感器就会接收到反馈回来的800个不同的坐标点,鼠标箭头同时会在屏幕上移动800个像素点。反过来,鼠标箭头在屏幕上移动一个像素点,就需要鼠标物理移动1/800英寸的距离。所以,CPI高的鼠标更适合在高分辨率的屏幕下使用。光学机械鼠标的分辨率多为200400CPI,而光电鼠标的分辨率通常在400800CPI之间。除CPI以外,DPI(DotsPerInch:每英寸像素数)也常被人用来形容光电鼠标的分辨率。由于光电鼠标的分辨率反映了一个动态过程,所以用CPI来形容更恰

15、当些。但无论是CPI还是DPI,描述的都是光电鼠标的分辨率,不存在性能差别。(2)、刷新频率光电鼠标的刷新频率也被称为扫描频率或者帧速率,它反映了光学传感器内部的DSP对CMOS每秒钟可拍摄图像的处理能力。在鼠标移动时,光学传感器中的数字处理器通过对比所“拍摄”相邻照片间的差异,从而确定鼠标的具体位移。但当光电鼠标在高速运动时,可能会出现相邻两次拍摄的图像中没有明显参照物的情况。那么,光电鼠标势必无法完成正确定位,也就会出现我们常说的“跳帧”现象了。而提高光电鼠标的刷新频率就加大了光学传感器的拍摄速度,也就减少了没有相同参考物的几率,达到了减少跳帧的目的。(3)、像素处理能力虽然分辨率和刷新率

16、都是光电鼠标重要的技术指标,但它们并不能客观反映光电鼠标的性能,所以罗技提出了像素处理能力这个指标,并规定:像素处理能力CMOS晶阵像素数刷新频率。根据光电鼠标的定位原理我们知道,光学传感器会将CMOS拍摄的图像进行光学放大后再投射到CMOS晶阵上形成帧,所以在光学放大率一定的情况下,增加了CMOS晶阵像素数,也就可增大实际拍摄图像的面积。而拍摄面积越大,每帧图像上的细节也就越清晰,参考物也就越明显,和提高刷新率一样,也可减少跳帧的几率。2.1.2光电鼠标的内部构造光电鼠标通常由以下部分组成:光学感应器、光学透镜、发光二极管、接口微处理器、轻触式按键、滚轮、连线、PS/2或USB接口、外壳等。

17、(1)光学感应器-光学感应器主要由CMOS感光块(低档摄像头上采用的感光元件)和DSP组成。图1.1 光电鼠标内部的光学感应器CMOS感光器是一个由数百个光电器件组成的矩阵,恰似一部相机,用来拍摄鼠标物理位移的画面。光学传感器会将拍摄的光信号进行放大并投射到CMOS矩阵上形成帧,然后再将成帧的图像由光信号转换为电信号,传输至数字信号处理器进行处理。DSP对相邻帧之间差别进行除噪和分析后,将得出的位移信息通过接口电路传给计算机。CMOS感光块负责采集、接收由鼠标底部光学透镜传递过来的光线(并同步成像),然后CMOS感光块会将一帧帧生成的图像交由其内部的DSP进行运算和比较,通过图像的比较,便可实

18、现鼠标所在位置的定位工作。图1.2 光学感应器内部的组成方式图1.1是光电鼠内部的光学感应器,它采用的是H2000/A0214光学感应元件,其芯片内部的组成方式可参见图2。图3是H2000/A0214光学感应器的背面,从图中我们可以看到,芯片上有一个小孔,这个小孔用来接收由鼠标底部的光学透镜传送过来的图像。图1.3 光学感应器背面的小孔用来接收由鼠部底部的光学透镜传送过来的图像(2)光电鼠标的控制芯片-控制芯片负责协调光电鼠标中各元器件的工作,并与外部电路进行沟通(桥接)及各种信号的传送和收取。我们可以将其理解成是光电鼠标中的“管家婆”。图4是控制芯片,它可以配合H2000/A0214光学感应

19、元件,实现与主板USB接口之间的桥接。当然,它也具备了一块控制芯片所应该具备的控制、传输、协调等功能。这里有一个非常重要的概念大家应该知道,就是DPI对鼠标定位的影响。DPI是它用来衡量鼠标每移动一英寸所能检测出的点数,DPI越小,用来定位的点数就越少,定位精度就低;DPI越大,用来定位点数就多,定位精度就高。图1.4 控制芯片通常情况下,传统机械式鼠标的扫描精度都在200dpi以下,而光电鼠标则能达到400甚至800dpi,这就是为什么光电鼠标在定位精度上能够轻松超过机械式鼠标的主要原因。(3)光学透镜组件-光学透镜组件被放在光电鼠标的底部位置,从图1.5中可以清楚地看到,光学透镜组件由一个

20、棱光镜和一个圆形透镜组成。图1.5 光学透镜组件由一个棱光镜和一个透镜组成其中,棱光镜负责将发光二极管发出的光线传送至鼠标的底部,并予以照亮。圆形透镜则相当于一台摄像机的镜头,这个镜头负责将已经被照亮的鼠标底部图像传送至光学感应器底部的小孔中。通过观看光电鼠标的背面外壳,我们可以看出圆形透镜很像一个摄像头(如图1.6)图1.6 光电鼠标的背面外上的壳圆形透镜很像一个摄像头(4)发光二极管-光学感应器要对缺少光线的鼠标底部进行连续的“摄像”,自然少不了“摄影灯”的支援。否则,从鼠标底部摄到的图像将是一片黑暗,黑暗的图像无法进行比当然更无法进行光学定位了。图1.7 光电鼠标内部的发光二极管通常,光

21、电鼠标采用的发光二极管(如图1.7)是红色的(也有部分是蓝色的),且是高亮的(为了获得足够的光照度)。发光二极管发出的红色光线,一部分通过鼠标底部的光学透镜(即其中的棱镜)来照亮鼠标底部;另一部分则直接传到了光学感应器的正面。用一句话概括来说,发光二极管的作用就是产生光电鼠标工作时所需要的光源。(5)轻触式按键-没有按键的鼠标是不敢想象的,因而再普通的光电鼠标上至少也会有两个轻触式按键。方正光电鼠标的PCB上共焊有三个轻触式按键(图1.8)。除了左键、右键之外,中键被赋给了翻页滚轮。高级的鼠标通常带有X、Y两个翻页滚轮,而大多数光电鼠标还是像这个方正光电鼠标一样,仅带了一个翻页滚轮。翻页滚轮上

22、、下滚动时,会使正在观看的“文档”或“网页”上下滚动。而当滚轮按下时,则会使PCB上的“中键”产生作用。注意:“中键”产生的动作,可由用户根据自己的需要进行定义。图1.8 光电鼠标的PCB上共焊有三个轻触式按键当我们卸下翻页滚轮之后,可以看到滚轮位置上,“藏”有一对光电“发射/接收”装置(如图9)。“滚轮”上带有栅格,由于栅格能够间隔的“阻断”这对光电“发射/接收”装置的光路,这样便能产生翻页脉冲信号,此脉冲信号经过控制芯片传送给Windows操作系统,便可以产生翻页动作了。图1.9 光电“发射/接收”装置2.1.3光电鼠标的工作原理在光电鼠标内部有一个发光二极管,通过该发光二极管发出的光线,

23、照亮光电鼠标底部表面(这就是为什么鼠标底部总会发光的原因)。然后将光电鼠标底部表面反射回的一部分光线,经过一组光学透镜,传输到一个光感应器件(微成像器)内成像。这样,当光电鼠标移动时,其移动轨迹便会被记录为一组高速拍摄的连贯图像。最后利用光电鼠标内部的一块专用图像分析芯片(DSP,即数字微处理器)对移动轨迹上摄取的一系列图像进行分析处理,通过对这些图像上特征点位置的变化进行分析,来判断鼠标的移动方向和移动距离,从而完成光标的定位。LED光学引擎的原理示意图2.1图2.1 LED光学引擎的原理示意图2.1.4 产生数字信号为了能产生数字信号,鼠标下的CMOS类似于我们见到的网格,它会把采样回来的

24、图像分成很多紧密排列的小格,再在这些以小格为单位的图像中找出相同的像素点,也就是参照物。对比两次采样图像的相同像素点,也就知道了鼠标移动的方向。由于采样频率是固定的,鼠标的移动速度也就能计算出来了。 当鼠标移动速度过快时,鼠标在连续两次扫描所得的图片中找不到相同的像素点,也就无法判断光标移动的速度和方向了,这就是鼠标刷新率不足产生的光标指针丢失的现象。2.2 PS/2鼠标工作模式一.ReSet模式:鼠标在上电后或是应答ReSet(0xFF)命令后就进入REset模式,进入这个模式后,鼠标执行自检,并置缺省参数:采样速率:100点每秒分辨率:4个计数值/毫米缩放比例:1:1数据报告被禁止设置完成

25、后鼠标发送完成代码(0xAA成功)或是(0xFC)失败,若主机收到了不是不是0xAA,则可重上电使其再次复位。接着鼠标发送这的设备ID号0x00,随即进入Stream模式。注意:鼠标在没有收到使能数据报告(0xF4)之前是不会发送任何位移数据包给主机。二.Stream模式:在这个模式中,鼠标一旦检测到位移或是发现有键按下,就发送数据包,发送的最大速率被认为是采样速率,从10点每秒到100点每秒。设置采样速率命令(0xF3)可改变其值,Stream是鼠标的缺省模式。三.Remote模式:在这个模式下,鼠标以当前采样速率读取输入并更新计数器的值和标志位,但是只在主机有请求数据时才发送位移数据包给主

26、机,主机通过读数据(0xEB)命令来获得数据,收到命令后,鼠标发送数据包,并复位各量。四.Wrap模式:这是一个回声模式,鼠标收到每个字节都会被发回主机,甚至是一个有效的命令,除REset命令和REset Wrap mode(0xEC)命令外。2.3 PS/2鼠标码设置在鼠标和PC机进行通讯是每个数据帧中包括8个数据位,其数据位的规则是7 6 5 4 3 2 1 0CODE0 YV XV YS XS 1 M R LCODE1 X7 X6 X5 X4 X3 X2 X1 X0CODE2 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0CODE3 b7 b6 b5 b4 b3 b2 b1 b0L =

27、左键状态 R = 右键状态 M= 中键状态1 = 按下 0 = 释放XS,YS = 符号位 1- 反向移动XV,YV = 溢出位 1- X Y 数据溢出CODE1,CODE2:X0-X7 = X 距离Y0-Y7 = Y 距离X7或Y7为符号位CODE3表示滚轮滚动信息,如向前滚动n次,则CODE3=100H-n,如向后滚动n次,则CODE3=nPS/2 鼠标数据报告在Stream模式,芯片在一个抽样周期的最后发送一个数据报告;在 Remote模式,芯片一旦接收到读数据指令就发送一个数据报告;表1数据报告的格式字 节位描述10左键状态;1=按下1右键状态;1=按下2中间键状态;1=按下3保留4X

28、 数据信号;1=负数5Y 数据信号:1=负数6X 数据溢出;1=溢出7Y 数据溢出;1=溢出20-7X 数据(D0-D7)30-7Y 数据(D0-D7)40-7Z 数据(D0-D7)数据DATA等效电路图2.2数据DATA等效电路时钟CLK端等效电路图2.3时钟CLK端等效电路图2.42.4 PS/2协议1、电气特性PS/2通讯协议是一种双向同步串行通讯协议。通讯的两端通过Clock(时钟脚)同步,并通过DATA(数据脚)交换数据。任何一方如果想抑制另外一方通讯时, 只需要把Clock(时钟脚)拉到低电平。如果是PC机和PS/2键盘间的通讯,则PC机必须做主机,也就是说,PC机可以抑制PS/2

29、键盘发送数据,而 PS/2键盘则不会抑制PC机发送数据。一般两设备间传输数据的最大时钟频率是33kHz,大多数PS/2设备工作在1020kHz。推荐值在 15kHz左右,也就是说,Clock(时钟脚)高、低电平的持续时间都为40s。每一数据帧包含1112个位,具体含义如表1所列表1 数据帧格式说明1个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。按照PS/2协议,移

30、动时,鼠标会输出一组时钟和数据信号;而在静止时,时钟和数据信号将一直保持为逻辑高电平,表示处于空闲状态。每次移动时,鼠标会向主机发送3个数据帧,每个数据帧11位,包括1个起始位“0”、8个数据位(低位在前)、1个奇校验位和一个结束位“1”,因此每次移动时,鼠标会向主机发送33位数据,其中第0、11和22位是起始位“0”,第10、21和32位是结束位“1”,。图2.5 PS/2鼠标的数据传送在图2.5 中,“Mouse status byte” 、“X direction byte”和“Y direction byte”三个字节的数据是鼠标移动产生的相关数据,包括状态、X方向数据和Y方向数据。按

31、照PS/2协议,鼠标数据在时钟CLK的下降沿有效,而时钟CLK的频率要求在20KHz30KHz之间。基于PS/2协议的鼠标采用相对坐标的形式来追踪它的移动轨迹,如图 5.8所示。如果鼠标水平向右移动,则得到一个正的X值;否则,得到一个负的X值。如果鼠标竖直向上移动,则得到一个正的Y值;否则,得到一个负的Y值。使用“0”表示正值;而使用“1”表示负值。在“Mouse status byte”数据字节中,XS和YS就表示了鼠标的移动方向。图2.6鼠标的相对坐标相对坐标中,X值和Y值表示了鼠标的移动速度,值越大表示鼠标的移动速度越大。“Mouse status byte”数据字节中,XV和YV则标识

32、鼠标的移动是否超出了范围,包括X方向和Y方向。如果超出了范围,则XV或YV置位为1。“Mouse status byte”数据字节中,L和R则分别表示鼠标的左键和右键,如果有键按下,则相应的L或R置位。如果鼠标一直移动,则图 5.7所示的33个位的数据不停发送,重复周期约为50ms。 按照PS/2协议,移动时,鼠标会输出一组时钟和数据信号;而在静止时,时钟和数据信号将一直保持为逻辑高电平,表示处于空闲状态。2. 物理连接器一般,具有五脚连接器的键盘称之为AT键盘,而具有六脚mini/DIN连接器的键盘则称之为PS/2键盘。其实这两种连接器都只有四个脚有意义。它们分别是Clock(时钟脚)、DA

33、TA(数据脚)、+5V(电源脚)和Ground(电源地)。在PS/2键盘与PC机的物理连接上只要保证这四根线一一对应 就可以了。PS/2键盘靠PC的PS/2端口提供+5V电源,另外两个脚Clock(时钟脚)和DATA(数据脚)都是集电极开路的,所以必须接大阻值的 上拉电阻。它们平时保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。现在比较常用的连接器如图2.7所示。图2.7 PS/2接口的mini-DIN连接器3、PS/2设备和PC机的通讯PS/2设备的Clock(时钟脚)和DATA(数据脚)都是集电极开路的,平时都是高电平。当PS/2设备等待发送数据时,它首先检查Clock(时钟脚)

34、以确认其是否为高电平。如果是低电平,则认为是PC机抑制了通讯,此时它必须缓冲需要发送的数据直到重新获得总线的控制权(一般PS/2键盘有16个字节的缓 冲区,而PS/2鼠标只有一个缓冲区仅存储最后一个要发送的数据)。如果Clock(时钟脚)为高电平,PS/2设备便开始将数据发送到PC机。一般都是由PS/2设备产生时钟信号。发送时一般都是按照数据帧格式顺序发送。其中数据位在Clock(时钟脚)为高电平时准备好,在Clock(时钟脚)的下降 沿被PC机读入。PS/2设备到PC机的通讯时序如图2.8所示2.8 PS/2设备到PC机的通讯时序当时钟频率为15kHz时,从Clock(时钟脚)的上升沿到数据

35、位转变时间至少要5。数据变化到Clock(时钟脚)下降沿的时间至少也有5 ,但不能大于25 ,这是由PS/2通讯协议的时序规定的。如果时钟频率是其它值,参数的内容应稍作调整。4、 PS/2向PC机发送一个字节从PS/2向PC机发送一个字节可按照下面的步骤进行:检测时钟线电平,如果时钟线为低,则延时50;检测判断时钟信号是否为高,为高,则向下执行,为低,则转到(1);检测数据线是否为高,如果为高则继续执行,如果为低,则放弃发送(此时PC机在向PS/2设备发送数据,所以PS/2设备要转移到接收程序处接收数据);延时20(如果此时正在发送起始位,则应延时0);输出起始位(0)到数据线上。这里要注意的

36、是:在送出每一位后都要检测时钟线,以确保PC机没有抑制PS/2设备,如果有则中止发送;输出8个数据位到数据线上;输出校验位;输出停止位1;延时30(如果在发送停止位时释放时钟信号则应延时50);通过以下步骤可发送单个位:准备数据位(将需要发送的数据位放到数据线上);延时20;把时钟线拉低;延时40;释放时钟线;延时20。5、PS/2设备从PC机接收一个字节由于PS/2设备能提供串行同步时钟,因此,如果PC机发送数据,则PC机要先把时钟线和数据线置为请求发送的状态。PC机通过下拉时钟线大于100来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟。当PS/2设备检测到需要接收的数据

37、时,它会产生时钟信号并记录下面8个数据位和一 个停止位。主机此时在时钟线变为低时准备数据到数据线,并在时钟上升沿锁存数据。而PS/2设备则要配合PC机才能读到准确的数据。图2.9具体连接步骤如下:等待时钟线为高电平;判断数据线是否为低,为高则错误退出,否则继续执行;读地址线上的数据内容,共8个bit,每读完一个位,都应检测时钟线是否被PC机拉低,如果被拉低则要中止接收;读地址线上的校验位内容,1个bit;读停止位;如果数据线上为0(即还是低电平),PS/2设备继续产生时钟,直到接收到1且产生出错信号为止(因为停止位是1,如果PS/2设备没有读到停止位,则表明此次传输出错);输出应答位;检测奇偶

38、校验位,如果校验失败,则产生错误信号以表明此次传输出现错误;延时45 ,以便PC机进行下一次传输。读数据线步骤如下:延时20;把时钟线拉低;延时40;释放时钟线;延时20;读数据线。下面的步骤可用于发出应答位:延时15;把数据线拉低;延时5;把时钟线拉低;延时40;释放时钟线;延时5;释放数据线。2.5 USB协议USB 是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,最高速度 可达 480Mb/S。USB 支持“总线供电”和“自供电”两种供电模式。在总线供电模式下, 设备最多可以获得 500mA 的电流。USB2.0 被设计成为向下兼容的模式,当有全速(USB 1.1) 或者低

39、速(USB 1.0)设备连接到高速(USB 2.0)主机时,主机可以通过分离传输来支持它 们。一条 USB 总线上,可达到的最高传输速度等级由该总线上最慢的“设备”决定,该设 备包括主机、HUB 以及 USB 功能设备。USB 体系包括“主机”、“设备”以及“物理连接”三个部分。其中主机是一个提供 USB 接口及接口管理能力的硬件、软件及固件的复合体,可以是 PC,也可以是 OTG 设备。一个 USB 系统中仅有一个 USB 主机;设备包括 USB 功能设备和 USB HUB,最多支持 127 个设 备;物理连接即指的是 USB 的传输线。在 USB 2.0 系统中,要求使用屏蔽的双绞线。一个

40、 USB HOST 最多可以同时支持 128 个地址,地址 0 作为默认地址,只在设备枚举期间临时使 用,而不能被分配给任何一个设备,因此一个 USB HOST 最多可以同时支持 127 个地址,如果一个设 备只占用一个地址,那么可最多支持 127 个 USB 设备。在实际的 USB 体系中,如果要连接 127 个 USB 设备,必须要使用 USB HUB,而 USB HUB 也是需要占用地址的,所以实际可支持的 USB 功能设备 的数量将小于 127。图2.10 USB 体系采用分层的星型拓扑来连接所有 USB 设备以 HOST/ROOT HUB为 起 点 , 最 多 支 持 7 层(Tie

41、r),也就是说任何一个 USB 系统中最多可以允许 5 个 USB HUB 级联。一个复 合设备(Compound Device) 将同时占据两层或更多的 层。USB 采用轮询的广播机制传输数据,所有的传输都由主机发起,任何时刻整个 USB 体系内仅允许一个数据包的传输,即不同物理传输线上看到的数据包都是同一被广播的数据 包。USB 采用“令牌包”/“数据包”/“握手包”的传输机制,在令牌包中指定数据包去向 或者来源的设备地址和端点(Endpoint),从而保证了只有一个设备对被广播的数据包/令牌 包作出响应。握手包表示了传输的成功与否。数据包:USB 总线上数据传输的最小单位,包括 SYNC

42、、数据及 EOP 三个部分。其中数据的格 式针对不同的包有不同的格式。但都以 8 位的 PID 开始。PID 指定了数据包的类型(共 16 种)。令牌 包即指 PID 为 IN/OUT/SETUP 的包。端点(Endpoint):是 USB 设备中的可以进行数据收发的最小单元,支持单向或者双向的数据传 输。设备支持端点的数量是有限制的,除默认端点外低速设备最多支持 2 组端点(2 个输入,2 个输 出),高速和全速设备最多支持 15 组端点。管道(Pipe)是主机和设备端点之间数据传输的模型,共有两种类型的管道:无格式的 流管道(Stream Pipe)和有格式的信息管道(Message Pi

43、pe)。任何 USB 设备一旦上电就存 在一个信息管道,即默认的控制管道,USB 主机通过该管道来获取设备的描述、配置、状 态,并对设备进行配置。USB 设备连接到 HOST 时,HOST 必须通过默认的控制管道对其进行枚举,完成获得 其设备描述、进行地址分配、获得其配置描述、进行配置等操作方可正常使用。USB 设备 的即插即用特性即依赖于此。枚举:是 USB 体系中一个很重要的活动,由一系列标准请求组成(若设备属于某个子类,还包含 该子类定义的特殊请求)。通过枚举 HOST 可以获得设备的基本描述信息,如支持的 USB 版本、PID、 VID、设备分类(Class)、供电方式、最大消耗电流、

44、配置数量、各种类型端点的数量及传输能力(最 大包长度)。HOST 根据 PID 和 VID 加载设备驱动程序,并对设备进行合适的配置。只有经过枚举的 设备才能正常使用。对于总线供电设备,在枚举完成前最多可从总线获取 100mA 的电流。USB 体系定义了四种类型的传输,它们是: 控制传输:主要用于在设备连接时对设备进行枚举以及其他因设备而已的特定操作。 中断传输:用于对延迟要求严格、小量数据的可靠传输,如键盘、游戏手柄等。 批量传输:用于对延迟要求宽松,大量数据的可靠传输,如 U 盘等。 同步传输:用于对可靠性要求不高的实时数据传输,如摄像头、USB 音响等。 注意:中断传输并不意味这传输过程

45、中,设备会先中断 HOST,继而通知 HOST 启动传输。中断传输也是 HOST 发起的传输,采用轮询的方式询问设备是否有数据发送,若有则传输数据,否则 NAK 主机。不同的传输类型在物理上并没有太大的区别,只是在传输机制、主机安排传输任务、可 占用 USB 带宽的限制以及最大包长度有一定的差异。USB 设备通过管道和 HOST 通信,在默认控制管道上接受并处理以下三种类型的请求:1.标准请求:一共有 11 个标准请求,如得到设备描述、设置地址、得到配置描述等。 所有 USB 设备均应支持这些请求。HOST 通过标准请求来识别和配置设备。2.类(class)请求:USB 还定义了若干个子类,如

46、 HUB 类、大容量存储器类等。不 同的类又定义了若干类请求,该类设备应该支持这些类请求。设备所属类在设备描 述符中可以得到。3.厂商请求:这部分请求并不是 USB 规范定义的,而是设备生产商为了实现一定的 功能而自己定义的请求。USB HUB 提供了一种低成本、低复杂度的 USB 接口扩展方法。HUB 的上行 PORT 面 向 HOST,下行 PORT 面向设备(HUB 或功能设备)。在下行 PORT 上,HUB 提供了设备 连接检测和设备移除检测的能力,并给各下行 PORT 供电。HUB 可以单独使能各下行 PORT, 不同 PORT 可以工作在不同的速度等级(高速/全速/低速)。HUB

47、由 HUB 重发器(HUB Repeater)、转发器(Transaction Translator)以及 HUB 控制 器(HUB Controller)三部分组成。HUB Repeater 是上行 PORT 和下行 PORT 之间的一个协 议控制的开关,它负责高速数据包的重生与分发。HUB 控制器负责和 HOST 的通信,HOST 通过 HUB 类请求和 HUB 控制器通讯,获得关于 HUB 本身和下行 PORT 的 HUB 描述符, 进行 HUB 和下行 PORT 的监控和管理。转发器提供了从高速和全速/低速通讯的转换能力, 通过 HUB 可以在高速 HOST 和全速/低速设备之间进行匹配。HUB 在硬件上支持 Reset、 Resume、S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1