- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《单片机与USB接口》.doc
51单片机控制SL811HS的USB主机底层驱动
技术分类: 通信? 微处理器与DSP? 消费电子设计? | 2006-08-14 来源:电子设计应用 | 作者:华南理工大学 微电子研究所 陈智荣 李 斌
?????? 引言?????? 基于USB接口的设备使用方便,性价比高,因此在人们的工作和生活中得到了广泛的应用,如U盘、移动硬盘、移动光驱、USB摄像头、USB鼠标键盘等。同时,51 系列单片机以其成熟的技术和高性价比吸引了大量国内用户,被广泛应用于测控和自动化领域。因此,如果在51 单片机系统中增加USB 主机接口,实现对USB 从机设备的控制,则该单片机系统可充分利用现有的各种USB从机设备,大大扩展单片机系统的功能。?????? 本设计实现了在51单片机系统中增加USB主机功能,采用普通51单片机外接专用USB接口芯片的方案。这种方案虽然会使系统传输速度受到限制,而且在稳定性方面有所欠缺,但此方案设计灵活性高,且易于移植,为低成本产品的开发提供了广阔前景。设计中采用的51单片机是Atmel公司的AT89S52芯片,USB主机功能的扩展通过外接专用USB接口芯片SL811HS实现。CYPRESS公司的
USB接口芯片SL811HS可以工作在主机或从机模式,支持USB1.1的全速和低速数据传输。工作在主机模式时,SL811HS可以自动检测外设的插拔动作,可以按照外处理器(如单片机)的要求自动把数据整合为USB协议数据包进行数据传输。
图 1 系统硬件示意图
?????? 本文将介绍单片机AT89S52控制SL811HS的硬件设计和底层驱动的编写,其中重点讲述底层驱动的设计。
?????? 硬件设计?????? 系统的硬件原理图如图1所示。AT89S52的供电电压为5V,SL811HS的为3.3V。尽管供电电压不同,但根据芯片引脚的信号噪声容限参数分析可知,AT89S52与SL811HS之间的引脚可以直接相连,不需要电平转换或缓冲。
表1 USB主机枚举操作驱动的层次关系
?????? 软件设计?????? USB主机驱动是一个高低层子程序的组合,实现USB传输和控制的过程是较高层子程序调用较低层子程序的过程。编写USB主机驱动时,可接从低层往高层的顺序逐层进行。?????? 以USB主机枚举从机设备的操作为例,实现该功能所需要的各层子程序层次关系如表1所示。本文将介绍较低层的几个子程序的实现,包括读写SL811HS内部寄存器、传输事务的实现、设备插拔检测、复位等,其中,“传输事务的实现”是关键和难点,同时也是本文的重点。
?????? 单片机读写SL811HS?????? 内部寄存器?????? 读写SL811HS内部寄存器子程序是最低层的子程序,系统所进行的各种操作主要都是通过调用这些子程序读写SL811HS内部寄存器实现的。例如,通过读取SL811HS的状态寄存器获取SL811HS的状态信息可以实现设备插拔检测、设备速度检测等,通过向SL811HS的相关控制寄存器写入控制字节可以实现USB总线复位以及USB数据传输等操作。?????? SL811HS内部寄存器?????? 从编程结构的角度来看,SL811HS内部寄存器一共有256个单元,每个单元是一个字节,其中地址为[00H]~[0FH]的前16个单元是SL811HS的状态寄存器或控制寄存器(统称为特殊寄存器),其余的是数据缓冲寄存器。表2列出了16个特殊寄存器的名称和主要功能含义。
表2 SL811HS内部特殊寄存器简介
?????? 单片机读写SL811HS?????? 内部寄存器的实现?????? 按照SL811HS的读写控制信号时序图编写单片机读写SL811HS内部寄存器的子程序,使各控制引脚上按照规定的时序给出符合要求的信号脉冲。?
初始化?????? 初始化操作主要包括SL811HS芯片复位、USB总线复位、设备插拔检测和设备USB数据传输速度检测等。通过这些初始化操作,SL811HS将作为USB主机与从机之间建立一个底层协议连接关系,为后续的数据通信做好准备。?????? SL811HS芯片复位?????? USB接口芯片SL811HS的复位是对芯片的状态进行复位,包括了对芯片内部寄存器值的复位。实现该操作不需要读写接口芯片内部寄存器,只需向接口芯片的复位引脚输入一个有效的复位脉冲即可。?????? USB总线复位?????? 按照USB协议,USB总线复位是
指在USB数据线上输出SE
0态,并保持10ms以上,接在USB总线上的从机设备收到这个复位信号后就会进行自身的复位操作,为接下来的USB数据传输做好准备。通过设置接口芯片的CtrlReg[05
您可能关注的文档
最近下载
- 中华医学会重症医学专科资质培训班培训教材.pdf VIP
- 7200MA东元变频器说明书.docx
- 2023中考语文名著阅读指导+真题模拟题练习 专题08《傅雷家书》(学生版+解析版).pdf VIP
- 中考语文名著阅读指导+真题模拟题练习 专题14《格列佛游记》(学生版+解析版).doc
- 中考语文名著阅读指导+真题模拟题练习 专题13《红岩》(学生版+解析版).doc
- 中考语文名著阅读指导+真题模拟题练习 专题09《钢铁是怎样炼成的》(学生版+解析版)-.doc
- 儿童意外伤害和家庭急救措施.ppt
- 中考语文名著阅读指导+真题模拟题练习 专题05《海底两万里》(学生版+解析版).doc
- 中考语文名著阅读指导+真题模拟题练习 专题04 《骆驼祥子》(学生版+解析版).doc
- 中考语文名著阅读指导+真题模拟题练习 专题07《昆虫记》(学生版+解析版).doc
文档评论(0)