电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

17页
  • 卖家[上传人]:liy****000
  • 文档编号:373310986
  • 上传时间:2023-12-15
  • 文档格式:DOC
  • 文档大小:192.50KB
  • / 17 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、计算机科学技术系上机实践报告课程名称:嵌入式系统实践年级:上机实践成绩:指导教师:姓名:创新实践成绩:上机实践名称:USB接口学号:上机实践日期:上机实践编号:No.10组号上机实践时间:一、 实验目的1、了解 USB 接口基本原理;2、掌握通过 USB 接口与 PC 通讯的编程技术。二、 实验设备a) 硬件:Embest EduKit-III 实验平台,Embest ARM 标准/增强型仿真器套件,PC 机。 b) 软件:Embest IDE Pro ARM 集成开发环境,Windows 98/2000/NT/XP。三、 实验内容编写USB通信程序,基于已有的USB驱动程序接口,完成与PC端的USB测试程序之间数据接收与发送四、 实验原理1. USB 基础 定义 通用串行总线协议 USB(Universal Serial Bus)是由 Intel 、Compaq、Microsoft 等公司联合提出的一种新的串行总线标准,主要用于 PC 机与外围设备的互联。1994 年 11 月发布第一个草案,1996 年 2 月发布第一个规范版本 1.0,2000 年 4 月发布高速模式版本 2.0

      2、,对应的设备传输速度也从 1.5Mb/s 的低速和 12Mb/s 的全速提高到如今的 480Mb/s 的高速。 其主要特点是: 支持即插即用。允许外设在主机和其它外设工作时进行连接配置使用及移除。 传输速度快。USB 支持三种设备传输速率:低速设备 1.5 Mb/s、中速设备 12 Mb/s 和高速设备480 Mb/s。 连接方便。USB 可以通过串行连接或者使用集线器 Hub 连接 127 个 USB 设备,从而以一个串行通道取代 PC 上其他 I/O 端口如串行口、并行口等,使 PC 与外设之间的连接更容易。 独立供电。USB 接口提供了内置电源。 低成本。USB 使用一个 4 针插头作为标准插头,通过这个标准插头,采用菊花链形式可以把多达127 个的 USB 外设连接起来,所有的外设通过协议来共享 USB 的带宽。 组成 USB 规范中将 USB 分为五个部分:控制器、控制器驱动程序、USB 芯片驱动程序、USB 设备以及针对不同 USB 设备的客户驱动程序。 控制器(Host Controller),主要负责执行由控制器驱动程序发出的命令,如位于 PC 主板的USB 控制芯片。

      3、 控制器驱动程序(Host Controller Driver),在控制器与 USB 设备之间建立通信信道,一般由操作系统或控制器厂商提供。 USB 芯片驱动程序(USB Driver),提供对 USB 芯片的支持,设备上的固件(Firmware)。 USB 设备(USB Device),包括与 PC 相连的 USB 外围设备。 设备驱动程序(Client Driver Software),驱动 USB 设备的程序,一般由 USB 设备制造商提供。 传输方式 针对设备对系统资源需求的不同,在 USB 规范中规定了四种不同的数据传输方式: 同步传输 (Isochronous),该方式用来联接需要连续传输数据,且对数据的正确性要求不高而对时间极为敏感的外部设备,如麦克风、嗽叭以及电话等。同步传输方式以固定的传输速率,连续不断地在主机与 USB 设备之间传输数据,在传送数据发生错误时,USB 并不处理这些错误,而是继续传送新的数据。同步传输方式的发送方和接收方都必须保证传输速率的匹配,不然会造成数据的丢失。 中断传输 (Interrupt),该方式用来传送数据量较小,但需要及时处理,以达到实

      4、时效果的设备,此方式主要用在偶然需要少量数据通信,但服务时间受限制的键盘、鼠标以及操纵杆等设备上。 控制传输(Control),该方式用来处理主机到 USB 设备的数据传输,包括设备控制指令、设备状态查询及确认命令,当 USB 设备收到这些数据和命令后,将依据先进先出的原则处理到达的数据。主要用于主机把命令传给设备、及设备把状态返回给主机。任何一个 USB 设备都必须支持一个与控制类型相对应的端点 0。 批量传输(Bulk),该方式不能保证传输的速率,但可保证数据的可靠性,当出现错误时,会要求发送方重发。通常打印机、扫描仪和数字相机以这种方式与主机联接。 关键定义 USB 主机(Host) USB 主机控制总线上所有的 USB 设备和所有集线器的数据通信过程,一个 USB 系统中只有一个USB 主机,USB 主机检测 USB 设备的连接和断开、管理主机和设备之间的标准控制管道、管理主机和设备之间的数据流、收集设备的状态和统计总线的活动、控制和管理主机控制器与设备之间的电气接口,每一毫秒产生一帧数据,同时对总线上的错误进行管理和恢复。 USB 设备(Device) 通过总线与 USB 主

      5、机相连的称为 USB 设备。USB 设备接收 USB 总线上的所有数据包,根据数据包的地址域来判断是否接收;接收后通过响应 USB 主机的数据包与 USB 主机进行数据传输。 端点(Endpoint) 端点是位于 USB 设备中与 USB 主机进行通信的基本单元。每个设备允许有多个端点,主机只能通过端点与设备进行通讯,各个端点由设备地址和端点号确定在 USB 系统中唯一的地址。每个端点都包含一些属性:传输方式、总线访问频率、带宽、端点号、数据包的最大容量等。除控制端点 0 外的其他端点必须在设备配置后才能生效,控制端点 0 通常用于设备初始化参数。USB 芯片中,每个端点实际上就是一个一定大小的数据缓冲区。 管道(Pipe) 管道是 USB 设备和 USB 主机之间数据通信的逻辑通道,一个 USB 管道对应一个设备端点,各端点通过自己的管道与主机通信。所有设备都支持对应端点 0 的控制管道,通过控制管道主机可以获取USB 设备的信息,包括:设备类型、电源管理、配置、端点描述等。 2. USB 设备开发 USB 设备开发包括硬件电路设计和软件设计二部分内容,其中软件部分又包括 USB 芯

      6、片驱动程序和应用程序二部分。 USB 设备在硬件上通过 USB 芯片实现,USB 芯片负责: 管理和实现 USB 物理层差分信号; 通过配置和管理寄存器初始化设备。 提供连接的端点; 电源管理; 通过寄存器管理端点; USB 芯片驱动程序基于以上硬件资源实现 USB 的功能。 USB 芯片提供多个标准的端点,每个端点都支持单一的总线传输方式。端点 0 支持控制传输,其他端点支持同步传输、批量传输或中断传输中的任意一种。管理和使用这些端点,实际上就是通过操作相应的控制寄存器、状态寄存器、中断寄存器和数据寄存器来实现。其中,控制寄存器用于设置端点的工作模式、启用端点的功能等;状态寄存器用于查询端点的当前状态;中断寄存器则用于设置端点的中断触发和响应功能;数据寄存器则是设备与主机交换数据用的缓冲区。 电路设计原理 Embest EduKit-III USB 接口模块采用美国国家半导体公司的 USBN9603 USB 控制器,该控制器是全速 USB 节点器件,完全兼容 USB1.0,USB1.1 通信规范。 USBN9603/4-28M 芯片引脚图如下: USBN9603 与 MCU 的接口模

      7、式分为两种: 8 位并行总线模式(Parallel Interface),使用并行总线方式时又可选择复用(Multiplexed)或非复用(Non-Multiplexed)模式,其中地址/数据线的复用方式电路设计稍显复杂。 微总线模式(MICROWIRE interface)。 以上模式的选择由管脚 MODE0,MODE1 决定。 在使用复用的 8 位并行总线模式下,USBN9603 支持与 MCU 之间的增强型 DMA 方式传输,使用DMA 方式传输使MCU 和USBN9603 之间交换数据的速度成倍提高,最终可以显著提高PC 与USB 的通讯速度。 USBN9603 在 Embest EduKit-III 评估板与 CPU 连接图如下:EduKit-III 的电路设计中采用的是非复用的 8 位并行总线模式,该模式中没有使用 DMA 方式,因此 DACK 接高电平。CPU 通过译码器生成的片选信号 CS1 对 USB 控制器进行选通,USBN9603通过 EXINT1 对 CPU 发出中断请求。 设备驱动程序设计 USB 读写 Embest EduKit-III 的 USB 控制器

      8、USBN9603 用户寄存器有两个,分别为只写的内部地址寄存器,与可读写的数据寄存器,内部地址寄存器的地址为 0x02000002,数据寄存器地址为0x02000000。 对 USB 控制器进行读操作(包括读 USB 内部寄存器及数据)时,第一步是设置 USB 6bits 宽的内部地址寄存器,指明将要从 USB 某个内部地址读一个字节,第二步是从数据寄存器读出 8bits 宽的数据。 对 USB 进行写操作类似读操作,第一步同样是设置 USB 的内部地址寄存器,指明将要写一个字节数据到 USB 内部某个地址中去。 USB 中断 Embest EduKit-III 的 USB 控制器中断请求引脚连接 S3C44B0X 外部中断引脚 EXINT1,对应的中断向量为 1,初始化 USB 中断的步骤是: 使 EINT1 中断使能。 安装 USB 中断服程序入口到中断向量中去。 初始化 IO 端口 G 组控制器 PCONG,PUPG 指明 EXINT1 是作为中断输入引脚使用。 设置外部中断寄存器 EXTINT,指明触发中断方式。 初始化 USB 初始化USB 需要使用USB 读写函数对USB

      9、控制器内部的控制寄存器进行设置。需要设置的USB控制寄存器如下: 首先,通过设置主控制寄存器 MCNTRL 软件复位位(SRST),复位 USB 控制器。 设置主控制寄存器 MCNTRL,电压调整位(VGE),及中断输出(INTOC)位,以禁止中断输出。 写时钟寄存器 CCONF,设置 USB 控制器工作频率。 初始化功能地址寄存器 FAR(Function Address Register),及 EPC0 寄存器(Endpoint 0 Control Register),端点号 0 为双向端点,作控制使用。 设置中断掩码寄存器,有主掩码寄存器(MAMSK),无应答事件寄存器(NAKMSK),发送事件寄存器(TXMSK),接收事件寄存器(RXMSK),Alternate 事件寄存器(ALTMSK)。 最后允许 USB 控制器中信号输出,使控制器附加到 USB 总线上。 USB 中断服务例程 中断服务程序处理 USB 控制器产生的中断,它将数据从 USB 内部 FIFO 读出,并建立正确的事件标志,以通知主循环程序处理。 基本步骤如下: 从主事件寄存器(MAEV)读出产生中断的事件。 根据主事件寄存器某位状态判别事件,接着读取相应的事件寄存器:接收事件寄存器(RXEV),或发送事件寄存器(TXEV),或无应答事件寄存器(NAKEV),或 Alternate 事件寄存器(ALTEV)。 进一步判别事件寄存器的某位状态,根据具体事件,分别做相应的操作。 通道 0(端点 0)用于控制传输,在驱动程序中

      《嵌入式系统实践实验报告--USB接口》由会员liy****000分享,可在线阅读,更多相关《嵌入式系统实践实验报告--USB接口》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.