嵌入式系统实践实验报告--USB接口.docx

上传人:lao****ou 文档编号:1135929 上传时间:2024-12-02 格式:DOCX 页数:15 大小:85.06KB
下载 相关 举报
嵌入式系统实践实验报告--USB接口.docx_第1页
第1页 / 共15页
嵌入式系统实践实验报告--USB接口.docx_第2页
第2页 / 共15页
嵌入式系统实践实验报告--USB接口.docx_第3页
第3页 / 共15页
嵌入式系统实践实验报告--USB接口.docx_第4页
第4页 / 共15页
嵌入式系统实践实验报告--USB接口.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《嵌入式系统实践实验报告--USB接口.docx》由会员分享,可在线阅读,更多相关《嵌入式系统实践实验报告--USB接口.docx(15页珍藏版)》请在第一文库网上搜索。

1、计算机科学技术系上机实践报告课程名称:嵌入式系统实践年级:上机实践成绩:指导教师:姓名:创新实践成绩:上机实践名称:USB接口学号:上机实践日期:上机实践编号:No.10组号上机实践时间:一、实验目的1、了解USB接口基本原理;2、掌握通过USB接口与PC通讯的编程技术。二、实验设备a) 硬件:EmbestEduKit-III实验平台,EmbestARM标准/增强型仿真器套件,PC机。b) 软件:EmbestIDEProARM集成开发环境,Windows982000NTXPo三、实验内容编写USB通信程序,基于已有的USB驱动程序接口,完成与PC端的USB测试程序之间数据接收与发送四、实验原理

2、1. USB基础0定义通用串行总线协议USB(Universa1Seria1Bus)是由Inte1、CompaqMicrosoft等公司联合提出的一种新的串行总线标准,主要用于PC机与外围设备的互联。1994年11月发布第一个草案,1996年2月发布第一个规范版本1.0,2000年4月发布高速模式版本2.0,对应的设备传输速度也从15Mbs的低速和12Mbs的全速提高到如今的480Mbs的高速。其主要特点是:支持即插即用。允许外设在主机和其它外设工作时进行连接配置使用及移除。传输速度快。USB支持三种设备传输速率:低速设备1.5Mb/s、中速设备12Mb/s和高速设备480Mb/so连接方便。

3、USB可以通过串行连接或者使用集线器Hub连接127个USB设备,从而以一个串行通道取代PC上其他I/O端口如串行口、并行口等,使PC与外设之间的连接更容易。独立供电。USB接口提供了内置电源。低成本。USB使用一个4针插头作为标准插头,通过这个标准插头,采用菊花链形式可以把多达127个的USB外设连接起来,所有的外设通过协议来共享USB的带宽。S组成USB规范中将USB分为五个部分:控制器、控制器驱动程序、USB芯片驱动程序、USB设备以及针对不同USB设备的客户驱动程序。控制器(HoStContro11er),主要负责执行由控制器驱动程序发出的命令,如位于PC主板的USB控制芯片。控制器驱

4、动程序(HoStContro11erDriver),在控制器与USB设备之间建立通信信道,一般由操作系统或控制器厂商提供。USB芯片驱动程序(USBDriver),提供对USB芯片的支持,设备上的固件(Firmware)oUSB设备(USBDevice),包括与PC相连的USB外围设备。设备驱动程序(CIientDriverSoftware),驱动USB设备的程序,一般由USB设备制造商提供。0传输方式针对设备对系统资源需求的不同,在USB规范中规定了四种不同的数据传输方式:同步传输(Isochronous),该方式用来联接需要连续传输数据,且对数据的正确性要求不高而对时间极为敏感的外部设备,

5、如麦克风、嗽叭以及电话等。同步传输方式以固定的传输速率,连续不断地在主机与USB设备之间传输数据,在传送数据发生错误时,USB并不处理这些错误,而是继续传送新的数据。同步传输方式的发送方和接收方都必须保证传输速率的匹配,不然会造成数据的丢失。中断传输(Interrupt),该方式用来传送数据量较小,但需要及时处理,以达到实时效果的设备,此方式主要用在偶然需要少量数据通信,但服务时间受限制的键盘、鼠标以及操纵杆等设备上。控制传输(Contro1),该方式用来处理主机到USB设备的数据传输,包括设备控制指令、设备状态查询及确认命令,当USB设备收到这些数据和命令后,将依据先进先出的原则处理到达的数

6、据。主要用于主机把命令传给设备、及设备把状态返回给主机。任何一个USB设备都必须支持一个与控制类型相对应的端点Oo批量传输(Bu1k),该方式不能保证传输的速率,但可保证数据的可靠性,当出现错误时,会要求发送方重发。通常打印机、扫描仪和数字相机以这种方式与主机联接。0关键定义USB主机(HoSt)USB主机控制总线上所有的USB设备和所有集线器的数据通信过程,一个USB系统中只有一个USB主机,USB主机检测USB设备的连接和断开、管理主机和设备之间的标准控制管道、管理主机和设备之间的数据流、收集设备的状态和统计总线的活动、控制和管理主机控制器与设备之间的电气接口,每一亳秒产生一帧数据,同时对

7、总线上的错误进行管理和恢复。USB设备(Device)通过总线与USB主机相连的称为USB设备。USB设备接收USB总线上的所有数据包,根据数据包的地址域来判断是否接收;接收后通过响应USB主机的数据包与USB主机进行数据传输。端点(Endpoint)端点是位于USB设备中与USB主机进行通信的基本单元。每个设备允许有多个端点,主机只能通过端点与设备进行通讯,各个端点由设备地址和端点号确定在USB系统中唯一的地址。每个端点都包含一些属性:传输方式、总线访问频率、带宽、端点号、数据包的最大容量等。除控制端点0外的其他端点必须在设备配置后才能生效,控制端点0通常用于设备初始化参数。USB芯片中,每

8、个端点实际上就是一个一定大小的数据缓冲区。管道(Pipe)管道是USB设备和USB主机之间数据通信的逻辑通道,一个USB管道对应一个设备端点,各端点通过自己的管道与主机通信。所有设备都支持对应端点0的控制管道,通过控制管道主机可以获取USB设备的信息,包括:设备类型、电源管理、配置、端点描述等。2. USB设备开发USB设备开发包括硬件电路设计和软件设计二部分内容,其中软件部分又包括USB芯片驱动程序和应用程序二部分。USB设备在硬件上通过USB芯片实现,USB芯片负责:管理和实现USB物理层差分信号;通过配置和管理寄存器初始化设备。提供连接的端点;电源管理;通过寄存器管理端点;USB芯片驱动

9、程序基于以上硬件资源实现USB的功能。USB芯片提供多个标准的端点,每个端点都支持单一的总线传输方式。端点O支持控制传输,其他端点支持同步传输、批量传输或中断传输中的任意一种。管理和使用这些端点,实际上就是通过操作相应的控制寄存器、状态寄存器、中断寄存器和数据寄存器来实现。其中,控制寄存器用于设置端点的工作模式、启用端点的功能等;状态寄存器用于查询端点的当前状态;中断寄存器则用于设置端点的中断触发和响应功能;数据寄存器则是设备与主机交换数据用的缓冲区。S电路设计原理EmbestEduKit-ITIUSB接口模块采用美国国家半导体公司的USBN9603USB控制器,该控制器是全速USB节点器件,

10、完全兼容USB1.O,USB1.1通信规范。USBN9603/4-28M芯片引脚图如下:US_RD丽SK_INTR_DRQ-daCk-A0A1ESIDO/SO_D1一D2一D3D4D5D6一227326425524623728-PISO2282192010191116121713161415-C1KOUT-XOUT-X1N_MODEO一MODE1一GNDVcc-GND一D-D+V3.3一AGNDRESET一D7USBN9603/4-28MUSBN9603与MCU的接口模式分为两种:团8位并行总线模式(ParaIIe1Interface),使用并行总线方式时又可选择复用(MU1tiPIeXed)

11、或非复用(NOnTU1tiPIeXed)模式,其中地址/数据线的复用方式电路设计稍显复杂。0微总线模式(MICROWIREinterface)o以上模式的选择由管脚MODEO,MODE1决定。在使用复用的8位并行总线模式下,USBN9603支持与MCU之间的增强型DMA方式传输,使用DMA方式传输使MCU和USBN9603之间交换数据的速度成倍提高,最终可以显著提高PC与USB的通讯速度。USBN9603在EmbestEduKit-III评估板与CPU连接图如下:D(7.0)1ID(7.0)A1AOUSBPORE3nOEre44B0XUSBN960;11RESETVv11褊窃GXOUT1rEX

12、INTOINTRriOc2-CS1csXINEduKit-III的电路设计中采用的是非复用的8位并行总线模式,该模式中没有使用DMA方式,因此DACK接高电平。CPU通过译码器生成的片选信号CS1对USB控制器进行选通,USBN9603通过EXINT1对CPU发出中断请求。设备驱动程序设计USB读写EmbestEduKit-III的USB控制器USBN9603用户寄存器有两个,分别为只写的内部地址寄存器,与可读写的数据寄存器,内部地址寄存器的地址为0x02000002,数据寄存器地址为0x02000000o对USB控制器进行读操作(包括读USB内部寄存器及数据)时,第一步是设置USB6bits

13、宽的内部地址寄存器,指明将要从USB某个内部地址读一个字节,第二步是从数据寄存器读出8bits宽的数据。对USB进行写操作类似读操作,第一步同样是设置USB的内部地址寄存器,指明将要写一个字节数据到USB内部某个地址中去。USB中断EmbestEduKit-III的USB控制器中断请求引脚连接S3C44B0X外部中断引脚EXINT1,对应的中断向量为1,初始化USB中断的步骤是:使EINT1中断使能。安装USB中断服程序入口到中断向量中去。初始化IO端口G组控制器PCONG,PUPG指明EXINT1是作为中断输入引脚使用。设置外部中断寄存器EXTINT,指明触发中断方式。初始化USB初始化US

14、B需要使用USB读写函数对USB控制器内部的控制寄存器进行设置。需要设置的USB控制寄存器如下:首先,通过设置主控制寄存器MCNTR1软件复位位(SRST),复位USB控制器。设置主控制寄存器MCNTR1,电压调整位(VGE),及中断输出(INTOC)位,以禁止中断输出。写时钟寄存器CCONF,设置USB控制器工作频率。初始化功能地址寄存器FAR(FunctionAddressRegister),及EPCO寄存器(EndPoint0Contro1Register),端点号0为双向端点,作控制使用。设置中断掩码寄存器,有主掩码寄存器(MAMSK),无应答事件寄存器(NAKMSK),发送事件寄存器

15、(TXMSK),接收事件寄存器(RXMSK),A1ternate事件寄存器(A1TMSK)。最后允许USB控制器中信号输出,使控制器附加到USB总线上。USB中断服务例程中断服务程序处理USB控制器产生的中断,它将数据从USB内部FIFO读出,并建立正确的事件标志,以通知主循环程序处理。基本步骤如下:从主事件寄存器(MAEV)读出产生中断的事件。根据主事件寄存器某位状态判别事件,接着读取相应的事件寄存器:接收事件寄存器(RXEV),或发送事件寄存器(TXEV),或无应答事件寄存器(NAKEV),或A1ternate事件寄存器(A1TEV)o进一步判别事件寄存器的某位状态,根据具体事件,分别做相应的操作。通道0(端点0)用于控制传输,在驱动程序中调用rxevent(),txcvcnt()处理端点0的事件。通道1中由Txevent1()处理端点1(单向发送)的事件,rxevent

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

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服