免费预览已结束,剩余37页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息工程学院本科毕业论文题 目USB无线翻页笔设计及实现系电子工程专 业电子信息科学与技术班 级学 号学生姓名指导教师完成日期诚 信 承 诺我谨在此承诺:本人所写的毕业论文USB无线翻页笔设计及实现均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 年 月 日杭州电子科技大学信息工程学院本科毕业设计摘 要本设计是一个基于USB2.0的无线翻页笔。由于时间和经费原因,为简化系统,数据无线传输部分使用市面上的315Mhz的成品。研究的内容主要为数据的USB传输以及HID设备。通过使用Cypress公司开发的EZ-USB FX2单片机CY7C68013,来控制数据的接收和处理以及传送到PC机。短距离无线通信技术和USB技术是目前非常流行的两项数据传输技术,得到了广泛的应用。本文结合无线通信和USB技术的优点,设计了一种短距离无线USB接口控制系统的方案。论文首先介绍了短距离无线通信技术的动态,分析了相关的关键技术;接着介绍了USB接口协议,着重分析了本文采用的USBHID协议和CY7C68013单片机、SC2262和SC2272(或PT2272)。论文的重点是设计短距离无线USB接口控制系统方案,包括硬件设计和软件设计。利用CY7C68013单片机做控制,作为USB接口芯片,实现了基于315M射频电路的无线控制的上下翻页系统。论文设计了系统的硬件原理图,软件流程图和源代码,并通过固件程序设计、仿真和调试等手段,在对固件的编程配置中实现设计的功能。关键词:无线通信;USB技术;射频技术;HID设备ABSTRACTThis design is a system based on USB2.0 wireless next page. Due to time and financial reasons, in order to simplify the system, part of the wireless transmission of data using the 315Mhz of the finished product on the market. Study the contents of the USB key for data transmission, as well as HID devices. Cypress developed through the use of EZ-USB FX2 microcontroller CY7C68013, to control the data reception and processing, and sent to the PC.Short-range wireless communication technology and USB technology is currently very popular two data transmission technology, has been widely used. In this paper, wireless and USB technology, the advantages of designed a short-range wireless USB Interface Control System program.Paper first describes the short-range wireless communication technology developments, analysis of the relevant key technologies; then introduced the USB interface protocol, focusing on analysis of this paper, the USBHID protocols and CY7C68013 microcontroller, SC2262 and SC2272 (or PT2272). Paper focuses on the design short-range wireless USB interface control system solutions, including hardware design and software design. CY7C68013 microcontroller used to do control, as the USB interface chip to achieve 315M-based RF wireless control system from top to bottom next page.Paper design of the systems hardware schematics and software flow chart and source code, and through firmware design, simulation and debugging tools, programming in the firmware configuration to achieve the design functionality.Key words:Wireless communication; USB technology; RF technology; HID Equipment杭州电子科技大学信息工程学院本科毕业设计目 录1 引言12 概述22.1 USB无线翻页概述22.2 本设计方案思路32.3 本设计用到的软件工具32.4 主要技术指标33 USB协议简介和数据传输的实现53.1 USB(Universal Serial Bus)的发展53.2 USB协议和数据传输的实现123.3 HID 设备184系统总体设计224.1 总体方案224.2接收器硬件电路设计244.3发射器硬件电路设计304.4软件设计315制作与调试345.1 焊接345.2 调试356 结束语36致 谢37主要参考文献38附件391 引言目前高校的多媒体投影教室的装备和使用也越来越多,由于其图,声,文并茂深得学校和学生的喜欢,但是其使用也暴露出一个问题,为了控制演示进度,老师必须亲自用键盘或鼠标近距离操作电脑,因此在演示过程中,老师一直都只能活动在电脑附近很小的区域,甚至就坐在电脑旁边。这样不仅局限了老师自身的活动空间,还增大了老师与学生的距离,使得原本生动的多媒体演示缺乏重要的亲和力和沟通性,也使得老师的思维由于要进行键盘操作而影响到讲课的连贯性,另外,老师的肢体语言也没有充分表现出来。能否有一种装置解决上述问题呢?根据这个问题,研制出了基于USB接口的短距离无线翻页控制系统设备,目的主要是为了解决传统的演示操作方式带来的种种弊端,使得老师彻底摆脱空间的束缚。在教学的整个过程中,老师可以在教室里边随意走动,可以走到学生当中,进行沟通,从而实现演示无线,沟通无限的最佳演示效果,使得多媒体教学更加方便灵活,整个教学过程更加自然、亲和、人性化。USB作为一种新的解决方案能够克服其他接口的常见缺点,并提供新的能力,包括: USB是一个可以连接任何设备的简单连接器。 可以把很多外围设备连接到同一连接器上。 可以消除系统资源冲突。 自动检测和配置外围设备。 以较低成本实现系统和外围设备的连接。 提高系统性能。 支持对新设计的外围设备的连接。 支持老式的硬件和软件。 低功率。所以,在数据传输系统中,采用USB(Universal Serial Bus 通用串行总线)在PC连接外围设备方面是一个相当好的解决方案。2 概述2.1 USB无线翻页概述USB无线翻页系统1-3的工作原理是发射装置上的信号产生、编码、发射电路和无线电信号产生发射信号。接收装置的信号接收、取出信号、解码、处理。单片机CY7C68013的原理结构应用,单片机与计算机的USB接口通信,单片机固件程序的设计,射频接收芯片的原理与应用,发射电路和接收电路的设计调试,整个系统的联调工作。发射器编码器电池键盘电路图2-1 发射器功能部件接收电路解码器单片机USB电路图2-2 接收器功能部件短距离无线技术的范围很广,在一般意义上,只要通信收发双方通过无线电波传输信息,并且传输距离限制在较短的范围内,通常是几十米以内,就可以称为短距离无线通信。短距离无线通信技术的特征:低成本、低功耗和对等通信,是短距离无线通信技术的三个重要特征和优势。首先,低成本是短距离无线通信的客观要求,因为各种通信终端的产销量都很大,要提供终端间的直通能力,没有足够低的成本是很难推广的。其次,低功耗是相对其它无线通信技术而言的一个特点,这与其通信距离短这个先天特点密切相关,由于传播距离近,遇到障碍物的几率也小,发射功率普遍都很低,通常在1毫瓦量级。最后,对等通信是短距离无线通信的重要特征,有别于基于网络基础设施的无线通信技术。终端之间对等通信,无须网络设备进行中转,因此空中接口设计和高层协议都相对比较简单,无线资源的管理通常采用竞争的方式。2.2 本设计方案思路要实现对PPT等应用软件的全屏观看时的前后翻页的短距离无线控制,需要发射装置上的信号产生、编码、发射电路和高频无线电信号产生发射信号,接收装置上的信号接收、取出信号、解码、处理,以及通过单片机实现与计算机通信。简单的说是三个步骤组成:信号发出、信号接收、计算机响应。2.3 本设计用到的软件工具Keil C51:随着硬件的发展,51单片机软件工具已经有C级编译器。目前常用的FranklinC51和 KeilCsl二种,这二种C51编译器略有差别。PROTEL:PROTEL是PORTEL公司在20世纪80年代末推出的电路行业的CAD软件,它当之无愧地排在众多EDA软件的前面,是电路设计者的首选软件。它较早在国内使用,普及率也最高,几乎所有的电路公司都要用到它。早期的PROTEL主要作为印刷板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的IM内存下就能运行。它的功能较少,只有电原理图绘制与印刷板设计功能,印刷板自动布线的布通率也低。现在的PROTEL己发展PROTEL99以上了,是个庞大印制电路板软件,完全安装有200多MB,是个完整的全方位电路设计系统,它包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印刷电路板设计(包含印刷电路板自动布线)、可编程逻辑器件设计、图表生成、电路表格生成、支持宏操作等功能,同时还兼容一些其它设计软件的文件格式,如ORCAD、PSPICE、EXCEL等。使用多层印制线路板的自动布线,可实现高密度PCB的100%布通率。2.4 主要技术指标系统技术指标: 有效距离大于等于15m 按键迟延小于等于0.25 工作温度20+70 误码率小于10一5 工作电压发送器:3V电池供电 最大功耗发送器:80袱电池提供 接收器 :100mwUSB口提供 接收器:5VUSB口供电 可控制软件Powerpoint3 USB协议简介和数据传输的实现3.1 USB(Universal Serial Bus)的发展USB(Universal Serial Bus 通用串行总线)是1995年康柏、微软、IBM、DEC等公司为解决传统总线不足而推广的一种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。基于USB的数据采集传输系统充分利用USB总线的上述优点,有效解决了传统数据采集传输的缺陷。USB1.0有低速传输(1.5Mb/s)和全速传输(12Mb/s)模式。12Mbps的带宽对于键盘鼠标等低中速外设是完全足够的。也正是USB的诸多优点推动了它的发展。为了适应其他高速设备,如打印机、扫描仪、硬盘和影像设备,第二代USB协议,也就是USB2.0,在第一代协议的基础上,作了以下扩展: 480Mb/s传输速度,这个速率是USB1.1协议(12Mb/s)的40倍。 完全的向前及向后兼容性,所有的USB1.1的设备及连接器都可以在USB2.0下运行。 一种全新的集线器架构,这种架构可以提供多路12Mb/s的下行接口用来连接USB1.1设备。自从USB1.0发布短短几年间,USB 不光成为了微机主板上的标准端口,而且还成为了所有微机外设,包括键盘、鼠标、打印机、数字相机扫描仪和游戏手柄等等与主机相连的设备的标准协议之一。这种连接较以往普通并口和串口的连接,更具有的优势有: 一个USB设备可以随时接入或者拔出,即使是在计算机运行中(即所谓的即插即用 Plug & Play)。 开发维护方便。 当一个USB设备连接到计算机上时,计算机会自动检测到并与之通信,获取这个设备的功能以及运行要求。基于这些信息,计算机自动将对应的驱动程序加载到操作系统中。当设备拔出时,计算机则会自动卸载这些驱动程序,释放内存空间。 USB设备没有拨动设置开关,没有跳线,也没有特定的配置程序。在USB协议中,还没有IRQ,DMA,memory,或者I/O的概念。 USB扩展集线器是一条USB总线可以同时连接数个,数十个,甚至上百个设备。 在USB2.0协议中规定,新的规范支持3种传输速率。3.1.1 USB传输方向一个USB系统中,只有一个主控制器:主机计算机。USB设备响应主机的请求。USB设备之间无法进行任何直接的通讯,必须通过主机才可以。相比之下,IEEE 1394则是点对点的通讯协议,设备之间可以互相通讯,但实现起来就要复杂很多了。然而,只有一种情况下例外,设备可以初始化一个请求。当主机使设备进入省电模式(Suspend Mode)后,设备可以发出“远程唤醒”信号。其他任何情况都是主机发出请求,设备来响应。 这种主从结构的通讯方式有一个很突出的优点,就是大部分智能处理都在主机端,也就是计算机端,而设备端的接口就可以很简单,大大降低了USB总线系统的成本。相比之下,IEEE 1394设备接口的软件和硬件开销都大很多。 因为主机是USB总线的主控制者,所以很容易区分USB的传输方向。 OUT就是从主机到设备;IN就是从设备到主机。3.1.2令牌Tokens和包标识符PIDs一次USB传输由一些数据包组成,这些数据包由包标识符区分。一个包标识符代表一种类型的数据包。共有4种包标识符,见表3-1:表 3-1 USB PIDsPID TYPEPID NAMETokenIN,OUT,SOF,SETUPDataDATA0,DATA1,DATA2,MDATAHandshakeACK,NAK,STALL,NYETSpecialPRE,ERR,SPLIT,PING图 3-1描述了一个USB OUT传输。主机传输为红色部分,设备传输为黄色部分。Packet 1是一个OUT令牌,由OUT PID标识,标志着从主机到设备的数据就要从总线通过。Packet 2装载着数据,由DATA1 PID标识。Packet 3是一个握手包,由设备向主机发出ACK PID包,表示已经正确接受到数据。 如此重复执行,例如从Packet 4(OUT token 4)开始,还有DATA Packet 5等等,如果成功了,则从设备端返回ACK PID。图 3-1 USB Packets在全速传输中,每一个OUT传输都带有一个OUT数据包。在高速传输中,为了节省带宽,采用了一种新的包,叫“Ping”包。主机在发送数据包之前,先向设备发出一个Ping包,如果接口设备有足够的空间并且已经准备好接收数据了,则返回ACK PID包,此时主机就将装有大量数据的数据包发出。 在图3-1中有两种数据包标识符,DATA0和DATA1,是因为USB协议有严格的校验过程。前面讲到的ACK握手数据包是为了表明设备端已经正确接受了数据,经过了CRC校验。但是为了避免包与包之间次序的混淆,主机与设备需要同时处理一个数据交替位(DATA Toggle bit),保证数据包的PID以DATA0DATA1DATA0DATA1的顺序传送。这样就可以防止中断的不完整的数据传输。 SETUP令牌用在控制传输中(Control Transfers),它用来传输标志设备请求的8个字节。 在全速设备中,帧起始令牌包每1ms发出一次。在高速设备中,原先的每一帧数据又被分为8个微帧,这里的帧起始令牌包每125um发出一次。 在USB2.0中,共有4个包标识符来表明传输的状态,它们是: ACK(ACKnowledge),表明一次传输成功。 NAK(Negative ACKnowledge),表明设备或主机繁忙,请稍后重新发送这个数据包。NAK不是错误,USB中的错误通常都表现为没有任何反应。 STALL,一个设备发出STALL表示它不明白当前接收到的设备请求,或者主机访问了不可访问的设备资源。 NYET(Not Yet),与ACK有相同的含义,但同时又表明没有准备好接受另一个OUT传输。这个包标识符只在USB2.0中存在,只在高速方式时有效。 一个PRE(Preamble 前导)PID置于低速(1.5Mb/s)USB传输之前,是为了在高速传输系统中声明一个全速传输的数据传输。而EZ-USB FX2芯片只支持全速(12 Mb/s)传输和高速(480 Mb/s)传输方式,它将忽略PRE包以及其后跟随的低速传输。3.1.3 从主机端接收数据为了发送数据到USB外围设备,主机会在数据之后发出OUT令牌包。如果外围设备还有容量空间,并能无错误地接收数据,就会回复ACK,让主机知道。如果正处在忙状态,则以NAK来取代传输。假如发现了一个错误,则不传输任何信息。对于后两种情况,主机会在稍后传输数据。3.1.4发送数据到主机USB设备不会“自然地”将数据传输到主机上,为了传输,EZ-USB FX2的固件或外围逻辑任何时候都能装载数据到EZ-USB FX2端点缓冲区并完成打包。但是,直到主机端发出IN的设备请求,这些数据才会从设备传送的主机端。如果主机一直不发IN令牌,则这些数据就永远也发不出去,是否还保存在EZ-USB FX2端点缓冲区就不一定了。3.1.5 USB 帧对于所有USB设备,USB主机通过每1ms向设备发送一个SOF(帧起始)来时间同步。SOF(帧起始)包含对每一帧进行累加计数的11位计数值,当前的帧计数值0-2047可在任何时刻从EZ-USB FX2内部寄存器中读到。 在高速传输状态,每1ms帧被分为8个125us“微帧(microframe)”,每一个微帧都由SOF包作为先导。而帧计数值则仍然是每1ms累加一次,所以这些SOF包中包含同样的帧计数值。为了保持当前的微帧计数值0-7,EZ-USB FX2提供了一个可读的微帧计数器。只要FX2接收到一个SOF包,它就生成一次中断请求(全速方式时,每1ms一次;高速方式时,每125us一次)。这个SOF中断非常有用,例如可以用于同步端。3.1.6 USB传输类型USB定义了四种传输类型,它们分别满足不同的数据传输需要。 批量传输(Bulk Transfers)图 3-2 两个Bulk传输, IN And OUT批量传输是一种突发(burst)的传输模式的。在全速方式时,数据包的大小可以是8个字节,16个字节,32个字节或者64个字节。高速传输中数据包的大小为512个字节。由于其具有自动的错误数据校验机制(CRC),所以批量传输能确保其正确性。当带宽允许的时候,主机端才发送批量传输请求。批量传输主要用于打印机,扫描仪,硬盘,调制/解调器等。批量传输示意图如图3-3所示: 中断传输(Interrupt Transfers)图 3-3中断传输中断传输有点儿类似批量传输。中断传输的数据包的大小在全速方式为164字节,而在高速方式时,可以达到1024字节。中断端点必须设置轮询间隔,以保证经过主机做有规则的询问(接收IN令牌)。因此,此种中断传输方式有点儿像PC主机的轮询方式。早期的USB1.0协议,仅具备中断IN传输;而在USB1.1以后的协议,则增加了中断OUT传输。 同步传输(Isochronous Transfer)同步传输具有时间临界的特性,通常应用在视频或者音频数据流的传送。一个同步信息包,在全速方式时可以达到1023个字节,而在高速方式时可以达到1024个字节。 对于同步传输,传输的时间是最重要的请求信息。在每一个USB帧里,会申明某些带宽给同步传输使用。为了减轻带宽的负担,同步传输没有设置任何的握手包(ACK/NAK/STALL/NYET),而且也不会在发生错误时重试。错误检测仅限于16位CRC错误检验码。由于同步传输没有采用DATA-toggle机制,所以在全速方式中,同步传输仅使用了DATA0 PID;而在高速方式中,同步传输使用了DATA0、DATA1、DATA2和MDATA。在全速方式下,每一端点、每一帧仅只有一个同步信息包能被传输;而在高速方式下,可以有3个同步信息包。同步传输示意图如图3-4所示:图 3-4 同步传输 控制传输控制传输用来配置设备和给设备发送命令。由于其重要性,所以采取了更为严格的校验机制。主机在每一USB帧中都保留了一部分带宽给控制传输(一般为10%)。控制传输示意图如图3-5所示。一个控制传输包括23个阶段。其中,SETUP阶段包含8个字节的USB控制数据。如有必要,可以执行DATA阶段,次阶段包含有更多的数据。在STATUS(或握手)阶段中,允许设备返回成功标识。图 3-5 控制传输3.1.7设备枚举(Enumeration)即插即用的USB设备实现了真正意义上的即插即用,哪怕你的计算机正在使用。在每一个USB设备的内部都有一个设备描述符表,其中包含了设备全部的要求和特性。当一个USB设备插入计算机后,USB主机端将会执行认证程序,这个过程被称为设备枚举。设备枚举只要有以下五个步骤: 主机通过预设的地址0向设备发送获取描述符的请求(Get Descriptor)来获得设备描述符。每一个刚连接上的设备都必须响应0地址的请求。 设备响应请求,将ID数据发送到主机端,确认自己连上了。 主机向设备发送设置地址的请求(Set Address),分配给设备一个唯一的通讯地址,可以与其他设备区分开来。 主机通过新分配的地址向设备发送更多的索要描述符的请求,进一步了解设备的信息,包括端点数目,电力要求,带宽要求,需要什么样的驱动程序,等等。 加载符合USB指定的PID(产品码)和VID(制造商码)的驱动程序。3.1.8设备重枚举(二次枚举)因为FX2软件式的配置模式,当一个设备连接到主机时,它可以作为一个默认的设备出现,然后从主机端下载固件程序和新的设备描述符。这时候,FX2设备重新进行枚举,在主机端看来就好像变成了另外一个设备。这个过程就是二次枚举过程。 同时,FX2也可以从外部扩展的EEPROM中读取描述符和程序。3.1.9 行接口引擎(Serial Interface Engine, SIE)图 3-6 串行接口引擎示意图3.1.10 USB带宽每一个USB设备都有一个串行接口引擎(SIE)连接到USB数据线(D+和D-)。设备通过这个引擎发送或者接收数据。在图 36中介绍了SIE工作的基本情况。SIE的功能是对信息包PID进行译码,利用传输的CRC位进行错误检测,并且传输下载数据到USB设备。当设备发送数据时,SIE接受设备的控制命令和数据,把数据打包成标准数据包,通过D+和D-传输到主机端。由于USB采用了自时钟数据格式(NRZI),为了保证在串行数据传输的品质,SIE会在适当的地方插入位,这个动作称之为填充。显然这一动作是由FX2的SIE控制的。 FX2的一个突出的特性就是它的运行配置是“软件”式的,取代了以往需要ROM或者可烧写存储器的要求。取而代之的是一片内置的RAM内存,它包含了内部程序、数据RAM,可通过USB总线本身来下载运行,并且可赋予设备基本特性。这样做使FX2的工作方式更加灵活,升级和修改变得很容易实现。 FX2中设计“前卫”的SIE还有一项附加的功能就是它可完全独立地完成设备枚举的任务。因为它一系列内置的配制和描述符,即使在没有装载任何程序的情况下,FX2也可以作为一个完整的USB设备完成程序下载和对CPU进行复位的任务。 这种增强的SIE功能也使得用EZ-USB FX2进行开发的用户非常方便,缩短了开发周期。通用性和即插即用性是USB的两大优点,但是USB1.1只有12Mbps,这一点大大限制了USB应用范围。其块传输最大实际传送速率小于1Mb/s。USB2.0推出时,最引人注目的地方就是480Mbps的带宽,是USB1.1协议的40倍。如此快的速率已经超过了IEEE 1394接口,更加促进了USB2.0的普及。3.2 USB协议和数据传输的实现随着USB的发展,许多半导体公司推出自己的USB芯片。Cypress半导体公司的EZ-USB系列芯片以其良好的性能和独特的设计在USB接口开发领域中占有重要的位置。其中EZ-USB中的FX2系列是Cypress半导体公司的第一代高速USB系列,可以用USB2.0最大数据传输率传输。与EZ-USB1.1相比,EZ-USB FX2可提供更高的性能和更高的集成水平,包括提高40倍的480Mb/s的信号速率。该芯片基于成熟的EZ-USB FX芯片开发,通过集成的发送器、SIE、8051微控制器、存储器和可编程的I/O接口,提供USB2.0支持。这是一种完全集成的USB2.0方案,具有USB2.0的全带宽功能。3.2.1EZ-USB FX2简介由于篇幅限制,本论文不可能详细地介绍EZ-USB FX2单片机。所以本论文只详细介绍涉及到的芯片功能,其余的详情请参阅论文后所列举的参考资料。 Cypress半导体的EZ-USB FX2是一种单芯片USB2.0接口芯片。它的结构与先前的EZ-USB FX系列类似。虽然它保留了很多EZ-USB FX的架构,但是一些组成部分经过了改进和重新设计用以实现USB2.0更高的传输速率。Cypress半导体的EZ-USB FX2芯片与FX系列最大的区别就是支持USB2.0协议所规定的高带宽。FX2为很多应用提供了一个高度集成的解决方案。同EZ-USB FX一样,EZ-USB FX2有以下特征: 一个集成的,高性能的CPU,这个CPU是在工业标准的8051处理器的基础上改进的。 一种基于RAM的软件架构,允许无限制的设置和升级。 全速的吞吐量。端点,缓冲区以及传输速率针对协议均没有特殊限制。 自动地处理绝大多数USB协议的内容,这样大大简化了代码学习和开发的难度。图 3-7 FX2 128-pin简化结构图FX2将USB接口所需要的智能处理都集成到一个芯片中。如图 3-7所示,一个集成的差分信号接收器连接到USB的D+和D-的数据线上。一个串口引擎对串行数据进行解码和编码,同时还负责USB所需要的错误校验,位填充和其他一些信号级的处理。SIE把并行数据通过USB接口发出或接收。 为了配合实现USB2.0的高带宽,FX2端点的FIFO和Slave FIFO(用来与外界通讯)是统一的存储空间,以减少内部传输需要的时间。 FX2的CPU是一个增强型的8051,它执行地更快,也有一些功能上的扩展。它使用内部RAM来存储程序和数据。 较高级别的USB通讯通常对带宽的要求不是很高,所以FX2的CPU非常适合处理这些复杂的协议。但是,通过CPU不能实现USB2.0所提供的高带宽。因此,CPU通常在高带宽应用中是不参与数据传输过程的,数据在端点FIFO和外部接口间传输。简言之,CPU配置好接口后,就脱离数据传输路径,USB通过FIFO直接与外部通信。 FIFO可以由外部逻辑控制器控制,提供时钟和时钟使能信号来实现同步传输,或者提供Strobe信号进行异步传输。 FIFO也可以由FX2的内部时钟生成器控制,这个生成器也叫做通用可编程接口(GPIF, General Programable Interface)。GPIF实际上是一个内部的逻辑控制器,和FIFO直接接口并生成各种控制逻辑信号实现FIFO与外部接口的数据传输。另外,GPIF也可以通过对RDY引脚的采样来接受外部的触发信号。GPIF比FIFO的工作效率高很多以保证实现高效的控制应用。它的时钟信号可以由外部提供(5-48MHz),也可以由内部时钟产生(30MHz或者48MHz)。 3.2.2 FX2的功能总览 内嵌480Mb/s的收发器器(PLL和SIE),包括全部USB2.0物理层(PHY) 。 内部端点FIFO,可以配制成双缓冲,三缓冲和四缓冲,以适应480Mb/s的USB2.0数据传输率。 内嵌可以工作在48MHz的频率的增强型8051内核。 性能全面: 含有256字节寄存器RAM、2个USART、3个定时/计数器和2个数据指针。 快速性:每条命令只需要4个时钟周期(工作在48MHz频率时为83.3ns)。 采用SFR存储控制寄存器(包括I/O端口),以便满足高速要求。 为缩短ISR等待时间,采用USB矢量中断。 使用USB内部事务处理和控制,而不是采用高速数据传输。 “软方式”处理:USB固件程序可通过USB下载到芯片,并且不需要硬件编码存储器。 4个接口FIFO:它们都可以由外部和内部来提供时钟,端点FIFO与接口FIFO两者相结合可实现缩短USB和外部逻辑电路数据传输时间。 通用可编程接口(GPIF)作为一种微编码状态设备,可实现时序管理,使得FX2FIFO达到无缝链接。3.2.3 FX2端点缓冲区USB协议将端点缓冲区定义为一个数据来源或者数据接收区。因为USB是一个串行数据线,端点缓冲区实际上是一个用USB数据字节不断取空和填满的FIFO。通讯时,主机通过发送一个4位的地址和一个方向位来选择一个端点来传输数据。因此,一个USB能够选择32个具有特定地址的端点,即IN0-IN15以及OUT0-OUT15。 从FX2的角度来看,端点就是一个充满了总线上接收或保持传输字节的缓冲区。FX2从OUT端点缓冲区读取主机发出的数据,并且向IN端点缓冲区写要传输给主机的数据。3个64字节的缓冲区被设计成EP0、EP1IN、EP1OUT。EP0是默认的控制端点0,是一个用于IN和OUT数据的单64字节缓冲区双向端点。当在控制传输的数据操作发出请求时,FX2的固件程序就会读或者填充EP0缓冲区。在控制传输中(2.1.7.4),8个设置字节不会出现在64字节EP0端点缓冲区,而是简单的编程来替代,FX2自动存储这8个字节到独自的缓冲区(SETUPDAT,地址为0xE6B8-0xE6BF)。EPIN和EPOUT使用各自独立的64字节缓冲区。端点2、4、6和8是大端点,适用于高带宽的数据传输。它们能配置成各种不同的方式,从而适应带宽的要求。图3-8指示了大端点的各种方式中双、三、四缓冲区的情况。双缓冲区意味着,一个数据包能够取空或用USB数据填充,同时另外一个数据包(从同一个端点来的)有外部逻辑电路处理。三缓冲区增加了第3个包缓冲区作为储备,根据需要通过任何一边(USB或接口)来使用。四缓冲区增加了第4个包缓冲区。当数据提供和消耗速率相等时,多个缓冲区能够有效地提高USB的带宽性能,但会产生数据漏缺。为了弥补这一情况,减小或消除它,需要一边等待另一边。端点2、4、6和8的配置可选择的条目如表3-2所示:表3-2 端点2、4、6和8的配置选择特性选择方向IN,OUT类型批量、中断、同步缓冲双、三、四缓冲FX2固件程序能够配置EPIN和EPOUT这些端点作为BULK、INTERRUPT和ISOCHRONOUS。这些端点以及端点EP0只有通过FX2的固件程序进行存取,而大端点EP2、EP4、EP6和EP8缓冲区被设计用于高带宽数据在片上或者片外直接传输,而无须固件程序的干扰。图 3-8 EZ-USB FX2 端点缓冲区3.3 HID 设备HID是Human Interface Devices的缩写,即人机接口设备。典型的HID设备有键盘和鼠标等,其主要用于和计算机进行交互通信。现在的操作系统中都已经内置了HID设备类驱动,一般不需要安装驱动程序。通用的HID设备可以直接使用HID设备类驱动程序(hidclass.sys)和HID小驱动程序(hidusb.sys)与计算机进行通信。HID简介:HID设备是USB协议中最早提出并支持的一种设备类。HID设备可以作为低速、全速或者高速设备来使用。HID设备一般要求每个用户的输入都能得到及时响应。因此HID设备普遍采用中断传输,用于对USB设备发出的少量数据进行及时响应。3.3.1 识别HID类设备对于任何USB设备,HID的描述符告诉了主机为了和设备通信,它需要知道什么。程序表单显示了一个HID类游戏的范例设备、配置、接口、类和终端描述符。当主机发送GET_DESCRIPTOR来请求包含HID的接口配置时,主机就知道了HID接口。配置的接口描述符识别为HID。HID类描述符指定了接口支持的报告描述符的数量。在列举过程中,HID驱动得到了HID类和报告描述符。3.3.2 描述符内容设备和配置描述符没有HID功特定信息。设备描述符包含类代码,但这不是设备被定义为HID的位置。相反,是接口描述符使主机知道设备,更确切地说,设备接口是属于HID类的位置。如果设备接口描述符的类代码字节是3,则接口是HID。3.3.3引导接口子类字段只有一个有效设置。子类1表明设备支持一个引导接口。当设备具有一个引导接口时,即使主机的HID没有调用,也能工作。当计算机直接启动到DOS,或者启时查看你能访问的系统设置屏幕,或者使用WINDOWS安全模式解决系统问题时,会遇到这种情况。有一个引导接口的键盘或者鼠标可以使用很多主机的BIOS支持的预先定义的、简化的协议BIOS从ROM或其他永久性的内存调用,很多操作系统模式都可以使用。HID规范定义了键盘和鼠标的疏导接口协议。如果设备没有一个引导接口,则由协议字段来表明设备是否支持键盘(1)或鼠标(2)接口。0值表明没有设备,值3-255是保留值。子类若为0则表示设备支持引导协议,值2-255是保留值。HID使用文档定义了键盘和鼠标的引导描述符。BI0S不需要从设备中读取描述符,因为它知道协议是什么,并假定设备支持它。因此引导设备不需要在固件里包括一个引导接口描述符;如果主机没有请求报告协议,则它只需支持引导协议。当操作系统载入时,HID驱动使用HID特定请求SET_PROTOCOL,来使得设备从引导协议转换到在报告描述符里定义的报告协议。3.3.4 HID类描述符HID设备都必须支持3个类描述符:HID描述符、报告描述符和物理描述符。一个USB设备只能包含一个HID描述符,但其可以支持多个报告描述符,而物理描述符则可以有也可以没有。HID描述符:USB设备的HID设备描述符用于识别HID设备中所有包含的额外描述符。例如报告符或者物理描述符等等。HID描述符的定义格式见表3-3:偏移量(十进制)字段大小(B)描 述0BLengt1描述符的字节长度1bDeseriPtorTyP121h表示HID类2BcdHID2HID规范发布号(BCD)4BCountryCod1识别本地华硬件的国家的数字表达方式(BCD) 5BNumDeseriPtor1支持的从属类描述符的数量6BDeseriPtorTyP1类描述符类型7WdeseriPtorLengt2报告描述的总长度9BDeseriPtorTyP1识别描述符类型的常数。对于有多于一个描述符的设备十可选择的10WDeseriPtorLengt2描述符的总长度。对于有多于一个描 述符的设备是可选择的。后面可以跟着其他的wDSerivtorType和 WdeseriPtorLengt字段表3-3 HID描述符报告描述符:HID设备的报告描述符是一种数据表,主要用于定义HID设备和USB主机之间的数据交换格式,HID设备报告描述符的类型为22H。报告描述符使用自定义的数据结构,用于传输特定的数据包。例如对键盘,需要在数据包中指明按键所对应的键值。报告描述符使用数据项将这些数据结构组织起来,主要获得这些报告描述符后,根据数据项中的数据进行处理。HID报告描述符的数据项结构如图3-9所示,其中包含四个组成部分,下面分别介绍:0 1 2 3 4 5 6 7 8 23bSizebTypeBtagdata数据项长度 数据项类型 数据项标签 数据项字节图3-9数据项格式 bSize:数据项长度,用于表示数据字节部分包含的字节个数。当bSize=00b时,表示没有数据字节;当bSize=01b时,表示包含1个数据字节;当bSize=10b时,表示包含2个数据字节;当bSize=11b时,表示包含4个数据字节。 bType:数据项类型,用于指明数据项的类型。当bType=00b时,表示主数据类型;当bType=01b时,表示全局数据类型;当bType=10b时,表示局部数据类型;当bType=11b时,保留,未使用。 Btag:数据项标签,用于指明数据项的功能。报告描述符需要包含的数据项标签有:输入输出数据项标签、用法数据项标签、用法页数数据项标签、逻辑最大和最小值数据项标签、报告大小数据项标签以及报告计数数据项标签。 data:数据项字节,随着前面bSize定义的大小而变化。物理描述符:HID设备的物理描述符用于报告物理设备的激活信息,物理描述符的类型值为23H。物理描述符是可选的,但对于大部分的HID设备,一般不需要使用该描述符。4系统总体设计4.1 总体方案1.信号发出:信号由内置的射频电路产生并发出,产生的A,B编码信号分别代表往前翻页和往后翻页,一直按住表示连续翻动页面,由于其采用频段低,波长长,无线电绕射等特征比较明显,故遥控的方向感不明显。同时内置激光头和激光供电电路。2.信号接收:无线电接收模块收到信号之后,将数字信号传给单片机,单片机将接收到的数字信号进行解码处理后,再传给USB处理芯片,USB芯片按照USBI.1协议将数据传给计算机,计算机则通过USB总线所检测到的USB设备后所安装的相应设备驱动程序,从而控制相应动作。无线电模块可以保证在室内巧米范围内正常收发,而且由于模块采用对信号的编码和解码机制对设备进行标记,不会造成相邻使用者互相干扰的情况,又由于采用国家开放频段,故避免了频率协调的问题。3.计算机响应:计算机接收到的信号为能直接驱动即PPT等应用软件翻页的控制信号,其控制功能相当于一个键盘的PgUp和PgDn键。USB接口的应用在计算机,通信行业越来越普遍,即插即用是其特别优点,采用合适的接口芯片和单片机固件编程,可以在WINDOWS98以上的系统上使用,不需要驱动程序。对于使用者来说,象使用U盘一样的方便。具体设计:本文利用315M的射频电路,编解码采用PT2262/2272编解码芯片,利用CY7C68013单片机实现了一个短距离无线操作控制系统,通过编解码芯片的地址编码实现无线电子教鞭之间的互不干扰。无线电子教鞭系统共分为两部分:发送器和USB接收器。其原理就是USB的HID设备类,模拟计算机键盘的“PgUp”和“PgDn”二个功能键,通过无线315M的RF模块实现无线控制的目的。实现流程:1、通过无线电发射装置对控制信号进行编码并发出;该无线电发射装置带有激光发射器的功能,方便教师使用。2、无线电信号接收装置接收到控制信号,将信号解码,然后传给单片机处理。3、单片机对信号进行处理后传给USB芯片,然后按照 USBI.1协议传递给计算机,计算机识别和响应相应的工作指令,通过USB总线与上位的计算机实现互相通信。4、计算机接收从USB接口传来的指令,自动完成对多媒体讲稿的控制;最终无线电子教鞭可以方便使用者全方位的(可以跨越障碍物)、互不干扰地(对信号进行了编码和解码处理)控制多种讲稿(Powerpoint
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安全员B证考试试卷(综合题)附答案详解
- 2025年护师真题及答案解析
- 市场监管合同范本
- 2025年安全员B证考试试题一附答案详解【完整版】
- 2025年安全员B证考试试题(巩固)附答案详解
- 一建《经济》真题及答案解析(一)
- 2025年学生国旗下主题的演讲稿(19篇)
- 自考毕业生自我鉴定工作
- 国家安全主题课件的价值
- 建造师之二建建设工程施工管理通关考试题库带答案解析
- 仁爱科普版(2024)八年级上册英语全册词汇表(附中译英+英译中默写表)
- 2025至2030中国生物质燃料行业市场发展现状及竞争格局与投资发展报告
- 农机比赛活动方案
- 经皮椎体成形术
- 2025广西公需答案01
- GB 5768.1-2025道路交通标志和标线第1部分:总则
- 中医失眠个案护理
- 2025年湖南怀化晃源经济发展集团有限责任公司招聘笔试参考题库含答案解析
- 2025年上半年甘肃张掖高台县县直机关事业单位选调13人(02号)易考易错模拟试题(共500题)试卷后附参考答案
- T-CSTM 00455-2021 预涂卷材用粉末涂料
- 销售运营知识培训课件
评论
0/150
提交评论