USB鼠标嵌入式驱动系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

USB鼠标嵌入式驱动系统

朱娟光华长春大学

吉林省

E-mail:zhuj_guanghua@

王帅中国科学院长春光

学精密机械与物理研究

吉林长春

张舒阳王津立李赵希

长春大学光华学院

吉林长春

摘要:该论文设计了一种USB鼠标基于AT89S52单片机的嵌入式驱动系统。这AT89S52控制USB的主控芯片,SL811HS实现控制USB鼠标的功能。硬件给出该系统的原理框图。软件介绍系统的实现原理和USB总线重新插入行动的装置检测、设备速度检测等。嵌入式USB驱动系统有重要的参考价值,USB主机系统的设计。

关键词——USB数目;SL811HS;AT89S52单片机

I.简介

USB设备因其便捷和高性价比特点,被广泛用于日常工作和生活中。例如,USB 磁盘,USB相机,USB鼠标,USB键盘,等等。单片机(SCM)有成熟的技术和高性价比,被广泛用于自动化领域中。但是单片机没有USB主机接口配置,从而导致直接控制USB外围设备有困难。如果我们在单片机系统中增加USB主机接口、通过接口控制USB从动装置设备,单片机系统的功能将大大扩展。该系统为单片机加上USB主机接口。使用常见的51单片机连接特殊解决USB接口芯片。这个解决方案具有良好的灵活性和简单的移植。它为低成本产品的开发提供了一个广阔的前景。系统选用Atmel公司的AT89S52单片机。USB的主控制芯片是芯片赛浦路斯的公司的SL811HS。SL811HS可以在任何一个主机或从动模型使用,它支持USB1.1的全速和低速数据传输。当在主机模式下工作时,就可以自动检测到嵌入SL811HS的行为。本论文介绍方法AT89S52控制SL811HS以完成USB控制的方法。例如,USB鼠标控制计划的情况。

II.系统硬件

系统的硬件如图一所示。AT89S52和SL811HS的电压分别为5V和3.3V。虽然电压不同,AT89S52和SL811HS的参数可以根据噪音容忍参数直接连接。

图1、总系统图

无需转换电压,当设计硬件时,需注意一下方面:

1、SL811HS的D引脚上拉电阻连接线与AT89S52单片机的P0引脚连接,应确保AT89S52对于SL811HS的读/写(R/W)控制。

2、用33欧的电阻在一个15K的下拉电阻在连接线上,连接AT89S52和SL811HS 的数据参数。

3、在这里,SL811HS用于主机模式下,所以控制存储器的参数必须设置为0。米每秒的必须设置为0。

4、晶体频率应为48赫兹

III.控制程序

A.SL811HS的读写控制

SL811HS的读写控制项目如下所示

图2、寻读功能图

图3、写函数

在图2和图3中,根据SL811HS 的读写时序,EZUSB 延时(1)代表延时一毫

秒。

B.初始化

当单片机控制SL811HS,首先,它会进行一些列初始化操作。初始化操作由SL811HS 芯片重置、USB 总线复位、插入检测装置、USB 数据传送速度检测装置等等组成。通过这些初始化操作,SL811HS 将建立一个基础的保护USB 接口作为从属装置的连接关系,这为接下来的数据传输做准备。重设是芯片状态的重设操作,包括了芯片内部存储器测试值的重设。该操作不需要读写内部寄存器,只需要输入一个效果产生脉冲到内部芯片。USB 总线复位是指让USB 数据可以输出到SE0状态,该状态保持超过10毫秒。当从属装置连接到USB 总线接受的重置信号,将为接下来的数据传输做准备。CtrlReg 的寄存器比特设置为3和4,并保持10毫秒以上,然后恢复至00.然后,内部芯片产生USB 总线复位信号。

在USB 协议的物理层,USB 设备是连接到USB 总线而不是检测总线电压。单片机也可以从电压处得到速度支持。在物理层电压处检测结果反映在SL811HS

的状

态寄存器数值上。单片机通过读出这些状态寄存器数值获得嵌入状态和装置速度。

B设备列举

主中心不断检测DATA+DATA-引脚中断两个信号线分别由15K电阻连接到地线。每个USB设备通过1.5K电阻连接在电源的D+引脚。当主机的尾端连接在一个USB装置上,USB装置的电阻将会使电压升高。所以主机中心意识到有USB装置嵌入。主机检测到一个新的USB装置,它会进行USB计算操作。Enumeration是一些USB设备连接到系统时从主机获得一个特殊的地址码所进行的操作。这地址码用于访问个别装置。当USB主机控制要查究某个装置属于哪类型的装置,它会绑定到项目的驱动装置上。在列举过程中,主机将发送一些基本命令给从属装置。设置地址,该命令会改变当前的设备地址。获取设备描述符号,该命令会获取该装置的信息,包括制造商、固件版本等等。

•设置地址,该命令会改变当前的设备地址。

•获取设备描述符号,该命令会获取该装置的信息,包括制造商、固件版本等等。

•获取配置描述符,将会恢复使用该端口。

•获取内部描述符,将会通过该装置的内部接口。

•获取字符串描述符,将得到制造商、产品名称的统一格式符号。

•设置配置

•设置内部

和一个USB装置连接到主机,上述的基本过程都是必须的,如果USB装置没有列举,这个设置将不能被操作系统使用。

D、传输的实现

传输由发送每个指令和以下数据传输而实现。根据USB1.1协议,传输事件通常由三个数据包组成。他们分别是指令包,数据包和数据包助手。指令包负责传输的类型,传输数据的长度和数据存储空间地址等等。指令包由USB主机和从属装置发出,USB从属装置会发出和USB主机指令一致的传输数据。如果传输成功,主机会发送握手信号给USB从属装置。所有类型的USB传输操作都通过SL811HS

内部存储器的读写而实现。

例如,获取装置描述符号的指令应包括5个存储器的读写。分别是EP0状态,EP0计算,EP0地址,EP0Xferlen和EP0控制。获取装置描述符号的指令如下所示:

相关文档
最新文档