USB A接口实验.doc_第1页
USB A接口实验.doc_第2页
USB A接口实验.doc_第3页
USB A接口实验.doc_第4页
USB A接口实验.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

USB接口实验【实验目的】1. 了解USB接口基本原理。2. 掌握USB接口与PC通信的编程技术。 【实验设备】1. 硬件:Embest EDUKIT-II/III实验平台。Embest ARM 标准/增强型仿真器套件,PC机。2. 软件:Embest IDE pro2004集成开发环境,Windows 98/NT/XP操作系统。【实验内容】 编写USB通信程序,基于已有的USB驱动程序接口,完成与PC端USB测试程序间的数据接收与发送。【实验原理】1. USB 基础 1). 定义USB ,是英文Universal Serial BUS(通用串行总线)的缩写,而其中文简称为“通串线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。USB具有传输速度快(USB1.1是12Mbps,USB2.0是480Mbps, USB3.0是5 Gbps),使用方便,支持热插拔,连接灵活,独立供电等优点,可以连接鼠标、键盘、打印机、扫描仪、摄像头、闪存盘、MP3机、手机、数码相机、移动硬盘、外置光软驱、USB网卡、ADSL Modem、Cable Modem等,几乎所有的外部设备。主要具有以下优点: 1、可以热插拔。这就让用户在使用外接设备时,不需要重复“关机将并口或串口电缆接上再开机”这样的动作,而是直接在电脑工作时,就可以将USB电缆插上使用。 2、携带方便。USB设备大多以“小、轻、薄”见长,对用户来说,同样20G的硬盘,USB硬盘比IDE硬盘要轻一半的重量,在想要随身携带大量数据时,当然USB硬盘会是首要之选了。 3、标准统一。大家常见的是IDE接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了USB之后,这些应用外设统统可以用同样的标准与个人电脑连接,这时就有了USB硬盘、USB鼠标、USB打印机等等。 4、可以连接多个设备。USB在个人电脑上往往具有多个接口,可以同时连接几个设备,如果接上一个有四个端口的USB HUB时,就可以再连上;四个USB设备,以此类推,尽可以连下去,将你家的设备都同时连在一台个人电脑上而不会有任何问题(注:最高可连接至127个设备)。2).组成USB规范将USB分为五个部分:控制器、控制器驱动程、USB芯片驱动程序、USB设备以及针对不同USB设备的客户驱动程序。 控制器:负责执行由控制器驱动程序发出的命令。如位于pc机主板的USB控制芯片。 控制器驱动程序:在控制器与USB设备之间建立通信信道,一般由操作系统或控制器厂商提供。 USB芯片驱动程式: 提供对USB芯片的支持和固件的支持。 USB设备:与PC相连的USB外围设备。 设备驱动程序:驱动USB设备的程序,一般由USB设备制造商提供。3).传输方式 同步传输:该方式用于连续数据传输,外部设备对数据的正确性要求不高,但对时间极为敏感,如麦克风,喇叭,与电话等。 中断传输:该方式用于较小数量传输,但他处理及时,实时性好。此方式主要用于在偶然需要少量数据通信,但服务时间受限的键盘,鼠标以及操作杆等设备上。控制传输:该方式用于主机到USB设备的数据传输,包括设备控制指令,设备状态查询及确认命令。 批量传输:该方式不能保证传输的速率,但可以保证数据的可靠性,当出现错误时,会要求发送方重发,通常打印机、扫描仪和数字相机以这种方式与主机连接。2.USB 设备开发 USB设备开发包括硬件电路设计和软件程序设计两部分内容,其中软件设计部分又包括USB芯片驱动程序设计和应用程序设计两部分。1).电路设计原理 Embest EDUKIT II/III USB接口模块采用美国国家半导体公司的USBN9603 USB控制器。该控制器是全速USB节点器件,完全兼容USB1.0和USB1.1 通用规范。如下图2- 、2- 2).软件驱动程序设计 (1) USB 读/写 Embest EDUKIT II/III 的USB 控制器USBN9603用户寄存器有两个,分别为只写内部地址寄存器和可读/写数据寄存器。内部地址寄存器的地址为0x0200002,数据寄存器的地址为0x02000000.对USB控制器进行读操作(包括读USB内部寄存器及数据)时,第一步是设置USB6位宽的内部地址寄存器,指明将要从USB某个内部地址读一个字节;第二部是从数据寄存器读出8位宽的数据。 对USB进行写操作类似读操作,第一步是设置USB的内部地址寄存器,指明将要写一个字节到USB内部地址中;第二部是从数据寄存器写出8位宽的数据。(2)USB 中断 Embest EDUKIT II/III 的USB控制器中断请求引脚连接S3C44B0X外部中断引脚EXINT0,对应的中断向量位0,初始化USB中断的步骤如下:. 初始化中断控制器的INTCON及中断方式寄存器INTMOD,使IINT0中断使能。. 安装USB中断服务程序入口到中断向量中。. 初始化I/O端口G组控制器PCONG,PUPG指明IXINT0是作为中断输入引脚使用。. 设置外部中断寄存器EXTINT,指明触发中断方式。(3)初始化USB 初始化USB需要使用USB读/写函数对USB控制器内部的控制寄存器进行设置。步骤如下: .设置主控制寄存器MCNTRL 的软件复位位(SRST),以复位USB控制器。. 设置主控制寄存器MCNTRL 的电压调整位(VGE)及中断输出(INTOC)位,以禁止中断输出。. 写时钟寄存器CCONF,设置USB控制器的工作频率。.初始化功能地址寄存器FAR ,及EPC0寄存器。端点号0为双向端点,用作控制使用。. 设置中断屏蔽寄存器,包括主屏蔽寄存器RXMSK,无应答事件寄存器NAKMSK,发送事件寄存器TXMSK,接收事件寄存器RXMSK和Alternate事件寄存器ALTMSK. 允许USB控制器中信号输出,使控制器附加到USB总线上。(4) USB中断服务例程 中断服务例程处理USB控制器产生 的中断,他将数据从USB内部FIFO读出,并建立正确的事件标志,以通知主循环程序进行处理。基本步骤如下:. 从主事件寄存器MAEV中读出产生中断的事件。. 根据主事件寄存器、某位的状态判断事件,接着读取相应的事件寄存:接收事件寄存器RXEV,或发送事件寄存器TXEV,或无应答事件寄存器NAKEV,或Alternate 事件寄存器ALTEV. 进一步判别事件寄存器某位的状态,根据具体事件分别作相应的操作。 通道0(端点0)用于控制传输,在驱动程序中调用rxevert0()和txevent0()处理端点0的事件。通道1中由通信txevent1()处理端点1(单向发送)的事件,由rxevent1()处理端点2(单向接收)的事件。由通信txevent2()处理端点4(单向发送)的事件. 通道3中由通信txevent3()处理端点5(单向发送)的事件,由rxevent3()处理端点6(单向接收)的事件。 【实验操作步骤】 1).准备实验环境 使用USB连接线连接Embest EDUKIT II/III 的USB接口与PC主机的USB接口;通过Embest仿真器连接PC主机并行口与目标板JTAG接口。 2).操作实验例程 使用Embest IDE 打开USB-TestModel9603 Model9603.ews工作区,直接编译,链接输出可执行文件Model9603.elf,并下载到S3CEV40上运行。 3).安装USB设备驱动程序运行USB例程后,Windows 弹出发现新硬件的提示对话框,按照安装向导安装驱动程序Embest EDUKIT-II/III USB Driver。驱动程序安装文件位于USB-TestDriver 目录。4).运行USB数据传送演示软件。 运行USB-Test目录下的demo.exe。5).发送和接收数据 在“传送数据”输入框中输入要发送的数据,单击“发送”按钮。在“接收数据”框中显示目标板USB控制器返回的数据。NTSTATUS Asgccusb:DriverEntry(PUNICODE_STRING RegistryPath) /驱动程序入口KRegistryKey Params(RegistryPath, LParameters);if ( NT_SUCCESS(Params.LastError() )LoadRegistryParameters(Params);m_Unit = 0;return STATUS_SUCCESS;NTSTATUS Asgccusb:AddDevice(PDEVICE_OBJECT Pdo) /增加设备AsgccusbDevice * pDevice = new (static_cast(KUnitizedName(LAsgccusbDevice, m_Unit),FILE_DEVICE_UNKNOWN,NULL,0,DO_DIRECT_IO| DO_POWER_PAGABLE) AsgccusbDevice(Pdo, m_Unit);if (pDevice = NULL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论