基于单片机的USB接口的设计.doc

基于单片机的USB接口的设计.doc

ID:61499432

大小:74.50 KB

页数:10页

时间:2021-02-07

基于单片机的USB接口的设计.doc_第1页
基于单片机的USB接口的设计.doc_第2页
基于单片机的USB接口的设计.doc_第3页
基于单片机的USB接口的设计.doc_第4页
基于单片机的USB接口的设计.doc_第5页
资源描述:

《基于单片机的USB接口的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、单片机原理及系统课程设计专业:电气工程及其自动化班级:电气093姓名:马国祥学号:指导教师:徐金阳评语:平时(40)修改(30)报告(30)总成绩兰州交通大学自动化与电气工程学院2012年7月1日1引言本课程设计是在学习必修课《单片机原理与系统设计》之后,为加强对系统设计和应用能力的培养而开设的综合设计。本课程设计的题目为基于单片机的USB接口的设计。2设计方案USB是近年来发展起来的一种快速、灵活的总线接口。它最大的特点是易于使用,可热插拔,接口连接灵活,并且能够提供外设电源[4],在嵌入式系统及智能仪表中获得广泛的应用。因此用51系列单片机实现USB主机接口,进而实现对USB外设的控

2、制,对提高整个系统的数据存储、数据传输、设备控制等性能都有很大的作用。本文论述的方案基于压强测试仪的应用环境,在开发压强测试仪的过程中根据实际的需求,要求能够存储大量数据,以往的解决方案是RS232C接口,但由于传输速度慢,在高速采样系统容易导致数据丢失,而且必须有上位机的参与,这对于室外作业很不方便。测试仪器可以把采集到的数据保存到U盘,工作人员可以随时取下U盘,将数据拿到异地进行分析,另外笔者还开发了读写U盘的文件系统,存储的数据可以直接在PC机上打开,不需要编写其它的分析软件。3硬件设计3.1SL811HS概述SL811HS是具有主/从两种工作模式的USB控制器[4],遵循USB1

3、.1规范;可自动检测总线速率,支持全速12Mbps和低速1.5Mbps设备;具有8位双向的数据总线,易与单片机连接;片内256字节的SRAM(其中16字节为工作寄存器),用于数据传输;可自动产生SOF和CRC5/16,简化软件工作量;片内有根Hub;支持挂起/唤醒工作模式,减少功耗;支持地址自动加1功能,在连续读写过程中,只设置一次地址,其内部寄存器地址自动增加,在大容量数据通讯中非常必要的。3.2单片机与SL811HS接口设计图3.1所示是AT89C51与SL811HS的硬件连接电路。在本设计中,由于所选用的单片机AT89C51及其外围元件的工作电压为5V,而SL811HS的工作电压为

4、3.3V,所以系统应提供5V电压同时要进行电压转换。虽然SL811HS可以使用12MHZ晶振,但在实际使用过程中,如果晶振质量不太好,电路稳定性就会比较差,因此,设计时推荐使用48MHZ有源晶振。SL811HS的中断请求输出的是高电平,因此需要用反向器把它变换成低电平以满足AT89C51中断输入要求。此外,应注意SL811HS是低电平复位。为了便于调试,系统扩展了液晶显示器。硬件完成后要进行测试,先向SL811HS寄存器中写入数据,之后读出数据并在液晶显示器上显示,如果和写入的数据相同,说明SL811HS与单片机连接正确。再用示波器观察有源晶振是否起振,一切正常后便进入软件调试。D0—D

5、7AT89C51A0RSTD0—D7SL811HA0图3.1SL811HS与单片机的硬件连接图4软件设计4.1.USB枚举过程:USB总线一般包含四种基本数据传输类型:控制传输、中断传输、批传输以及同步传输,本系统使用的是控制传输和批量传输[3]。最基本的函数就是对SL811HS寄存器的读写,代码可参照参考文献[5]。读单个寄存器:BYTESL811Read(BYTEa){SL811H_ADDR=a;return(SL811H_DATA);}写单个寄存器:voidSL811Write(BYTEa,BYTEd){SL811H_ADDR=a;SL811H_DATA=d;}连续读SL811HS

6、寄存器:voidSL811BufRead(BYTEaddr,BYTE*s,BYTEc){BYTEc;SL811H_ADDR=addr;while(c--)*s++=SL811H_DATA;}连续写SL811HS寄存器:voidSL811BufWrite(BYTEaddr,BYTE*s,BYTEc){BYTEc;SL811H_ADDR=addr;while(c--)SL811H_DATA=*s++;}读写寄存器正常以后,便进入SL811HS底层函数的编写,具体的函数可参照CYPRESS公司提供的代码修改。在对U盘读写之前需正确配置SL811HS芯片,这部分工作通过枚举[3]来完成。枚举是对

7、USB接口正确配置的过程,包括获取设备描述符、配置描述符、接口描述符、端点描述符,以及对接口、端点正确配置。请求设备描述符的setup数据包[5]为80h06000100001200,通过读取设备描述符,可获得设备的子类。请求配置描述符的setup数据包为80h06000100000900,对于请求配置描述符,可以先进行首次请求,要求数据包长为9。接收到设备返回的数据,获得此描述符的总长,然后再发二次请求,获得全部描述符数据。第二次

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。