第一范文网 - 专业文章范例文档资料分享平台

USB通信协议

来源:用户分享 时间:2021-06-03 本文由时光静好 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

USB开发教程 USB通信协议

目录

1、USB系统概述 1.1USB主机 1.2USB设备 1.3管道 1.4描述符 1.5总线枚举 2、USB物理特性 3、USB数据传输 4、USB事务处理 4.1USB信息包 4.2USB事务处理(Transaction) 5、USB传输类型 5.1控制传输 5.2块传输 5.3中断传输 5.4同步传输 6、USB设备请求 7、USB 枚举过程 8 、USB2.0接口芯片CY7C68013 8.1EZ-USB控制传输 8.2Cypress提供的开发库 8.3上位机查找USB设备示例

USB开发教程 USB通信协议

1、USB系统概述典型的USB应用系统组成:一个支持USB的主机,一个或多个带有USB端口的 设备以及将设备连接到主机所需要的集线器、连接器和线缆。主机内设置了一个根集 线器,提供了主机上的初始附属点。

USB开发教程 USB通信协议

主机定时对集线器的状态进行查询。当一个新设备接入集线器时, 主机会检测到集线器的状态改变,主机发出一个命令使该端口有效并 对其进行设置。位于这个端口上的设备进行响应,主机收到关于设备 的信息,主机的操作系统确定对这个设备使用哪种驱动程序,接着设 备被分配一个唯一标识的地址,范围从0~127,其中0为所有的设备在 没有分配唯一地址时使用的默认地址。主机向它发出内部设置请求, 当一个设备从总线上移走时,主机就从其可用资源列表中将这个设备 删除。 USB3.0主机支持4种速率,2.0主机只支持低速、全速和高速,1.X的 主机只支持低速和全速模式(例外情况:On-The-GO(OTG无主机参与 情况下外设直接互连通信)设备以及嵌入式系统中完成其他专属目的 的主机,这些设备也许支持访问特殊周边设备所需的速率)

USB开发教程 USB通信协议

1.1USB主机USB主机功能需要软件和硬件共同支持,硬件由USB主机控制器和含有一个 或多个USB端口的根集线器构成。软件构架可分为:客户软件,USB系统软件, USB总线接口。 客户软件负责和USB设备的功能单元进行通信,以实现特定的功能,一般 由开发人员自行开发。客户软件不能直接访问USB设备,其与USB设备功能单元 的通信必须经过USB系统软件和USB总线接口模块才能实现。

USB开发教程 USB通信协议

客户软件一般包括USB设备驱动程序和界面应用程序。设备驱动程序负 责和USB系统软件进行通信。通常,它向USB总线驱动程序发出I/O请求包 (IRP)以启动一次USB数据传输,此外,根据传输的方向,它还应提供一个 或空或满的数据缓冲区以存储这些数据。界面应用程序负责和USB设备驱动程 序进行通讯,以控制USB设备。它是最上层的软件,只能看到向USB设备发送 的原始数据和从USB设备接收的最终数据。USB系统软件负责和USB逻辑设备进行配置通信,并管理客户软件启动的 数据传输。USB逻辑设备是程序猿与USB设备打交道的部分。USB系统软件分为 USB总线驱动程序和USB主控制器驱动程序(操作体统提供) USB总

线接口包括主控制器和根集线器两部分。主控制器负责完成主机 和USB设备之间数据的实际传输,包括对传输数据进行串行编解码、差错控制 等。

USB开发教程 USB通信协议

1.2 USB设备USB设备由3个功能模块组成:USB总线接口、USB逻辑设备和功 能单元。这里的USB总线接口指的是USB设备中的串行接口引擎(SIE);USB 逻辑设备被USB系统软件看做是一个端点的集合;功能单元被客户软件看做 是一个接口的集合。SIE、端点和接口都是USB设备的组成单元。

USB开发教程 USB通信协议

为了更好的描述USB设备特征,USB设备是由一些配置、接口、和端点组成,一个 USB设备可以含有一个或多个配置,在每个配置中可含有一个或多个接口,在每个 接口中可含有若干个端点。其中,配置和接口是对USB设备功能的抽象,实际的数 据传输由端点完成。在使用USB设备前,必须指明其采用的配置和接口,这个步骤 一般是在设备接入主机时设备进行自举完成的。USB设备使用各种描述符来说明其 设备架构,包括设备描述符、配置描述符、接口描述符、端点描述符、字符串描述 符。他们通常被保存在USB设备的固件程序中。 USB设备架构图如下:

USB开发教程 USB通信协议

① 设备: 设备代表一个USB设备,它由一个或多个配置组成。设备描述符用于说 明设备的总体信息,并指明其所含的配置的个数。一个USB设备只能有一个设备 描述符。 ② 配置 一个USB设备可以包含一个或多个配置,如USB设备的低功耗模式和高 功耗模式可分别对应一个配置。在使用USB设备之前,必须为其选择一个合适的 适配器。配置描述符用于说明USB设备中各个配置的特性,如配置含有的接口数 等。USB设备的每一个配置都必须有一个配置描述符。 ③ 接口 一个配置可以包含一个或多个接口,如对一个光驱来说,当于用文件 传输时使用其大容量存储接口;而当用于播放CD时,使用其音频接口。接口是 端点的集合,可以包含一个或多个可替换的设置,用户能够在USB处于配置状态 时,改变当前接口所含的个数和特性。接口描述符用于说明USB设备中各个接口 的特性,如接口所属的设备类及其子类等。USB设备的每个接口都必须有一个接 口描述符。

USB开发教程 USB通信协议

④ 端点 端点是USB设备中实际的物理单元,USB数据传输就是在主机和USB设备 各个端点之间进行的。每个端点所支持的数据传输方向一般而言也是确定的 (或是IN或是OUT)0端点比较特殊,它有数据输入IN和数据输出OUT两个物理单 元,且只能支持控制传输。所有USB设备都必须含有一个0端点,用作缺省控制 管道。 系统软件及时使用该管道和USB逻辑设备进行配置通信的。 利用设备地址、端点号和传输方向就可以指定一个端点,并和它进行通信

USB开发教程 USB通信协议

1.3

管道USB系统中的数据传输可以认为是在主机软件(USB系统软件和客户软件) 和USB设备的各个端点之间的直接进行的。他们之间的连接称为管道。 如下图:

根据传输数据不同分为流管道与消息管道,流管道不具有USB定义的格 式数据流,可用于块传输、中断传输、同步传输,通常是单向的。消息 管道具有USB定义的格式,只能用于控制传输。USB设备0号端点所实现 的就是一条消息管道。

USB开发教程 USB通信协议

1.4描述符USB采用USB标准描述符说明一个USB设备。这些描述符包括设备描述符、配置描述 符、接口描述符、端点描述符和字符串描述符。对于高速设备还包括设备限定描述 符和其他速率配置描述符。 (1)设备描述符(DeviceDecriptor)用于指出USB设备的总体信息,其内容对该设 备中同一传输模式下的所有配置都有效。一个设备只能有一个设备描述符,但是一 个设备允许多个配置描述符。 (2)配置描述符(ConfigurationDescriPtor)为usB设备的配置指出其配置信息, USB设备的一个配置可以包含一个或者多个接口,且每个接口都可以相互独立工作, 所有的USB设备都至少支持一个配置描述符,每个配置都必须有自己的配置描述符。 当主机请求配置描述符时,其所有相关的接口描述符和端点描述符都将被返回。 (3)接口描述符(hite而ceDescriPtor)用于指定usB设备中各个接口的特性,设 备的每个接口都必须有一个描述符。USB设备的接口是一个端点的集合,负责完 成设备的特定功能,接口可以包含一个或者多个可替换配置,它们能够在USB设 备处于配置状态时,改变当前接口所含端点的个数和特性。USB设备同一配置的 各个接口间不能使用相同的端点,但是同一接口的各个可替换配置间可以使用相 同的端点。

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新工程科技USB通信协议全文阅读和word下载服务。

USB通信协议.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1211163.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top