




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、。1、第十六章USB接口及编程示例,主要内容:USB概述USB设备USB物理特性USB通信协议JB8 USB模块编程方法,2,16.1 USB概述,USB协议有两种类型:USB1.1和USB 2.0。USB 2.0和USB1.1完全兼容。USB1.1支持12兆位/秒和1.5兆位/秒的数据传输速率(对于慢速外设),USB2.0支持480兆位/秒的数据传输速率。在普通用户眼中,通用串行总线系统是通过通用串行总线电缆连接到个人电脑的外围设备。一般来说,外围设备被称为通用串行总线设备,与之相连的个人电脑被称为通用串行总线主机。到通用串行总线主机的数据传输方向称为上行链路通信,到通用串行总线设备的数据传
2、输方向称为下行链路通信。通用串行总线概述,通用串行总线网络采用阶梯式星形拓扑,如图16-1所示。一个通用串行总线网络中只能有一台主机。在主机中设置根集线器,以在主机上提供初始连接点。图16-1 USB主机和USB设备之间的连接。4、16-1 USB概述,主机定期查询集线器的状态。当新设备访问集线器时,主机将检测到集线器状态的变化,主机将发出命令使端口有效并对其进行设置。位于此端口的设备做出响应,主机接收设备信息,主机的操作系统确定该设备使用哪个驱动程序,然后为设备分配一个唯一标识的地址,该地址的范围为0到127,其中0是所有设备在未分配唯一地址时使用的默认地址。主机向其发送内部设置请求。当设备
3、从总线上移除时,主机会将该设备从其可用资源列表中移除。5、16.2通用串行总线系统的基本概念,16.2.1通用串行总线主机的所有数据通信(无论是上行还是下行通信)都是由通用串行总线主机启动的,因此通用串行总线主机在整个数据传输过程中占据主导地位。在通用串行总线系统中只允许一个主机。从开发者的角度来看,USB主机可以分为三个不同的功能模块:客户软件、USB系统软件和USB总线接口。(1)客户端软件(2) USB系统软件(3) USB总线接口,6、16.2通用串行总线系统的基本概念,16.2.1通用串行总线主机(1)客户端软件客户端软件负责与通用串行总线设备的功能单元进行通信,实现其特定功能。通常
4、由开发人员自己开发。客户端软件不能直接访问USB设备,客户端软件和USB设备功能单元之间的通信只能通过USB系统软件和USB总线接口模块来实现。客户软件通常包括通用串行总线设备驱动程序和接口应用程序。USB设备驱动程序负责与USB系统软件通信。通常,它会向通用串行总线驱动程序发送一个输入/输出请求包(IRP),以启动通用串行总线数据传输。此外,根据数据传输的方向,还应该提供一个空的或满的数据缓冲区来存储数据。接口应用程序负责与通用串行总线设备驱动程序通信,以控制通用串行总线设备。它是顶级软件,只能看到发送到USB设备的原始数据和接收到的最终数据。通用串行总线系统的基本概念,16.2.1通用串行
5、总线主机(2)通用串行总线系统软件通用串行总线系统软件负责与通用串行总线逻辑设备的配置通信,并管理由客户端软件发起的数据传输。USB逻辑设备是程序员处理USB设备的部分。通用串行总线系统软件一般包括通用串行总线驱动程序和通用串行总线主控制器驱动程序。这些软件通常由操作系统提供,开发者不需要掌握它们。USB系统的基本概念,16.2.1 USB主机(3) USB总线接口USB总线接口包括两部分:主控制器和根集线器。根集线器为通用串行总线系统提供一个连接起点,并用于为通用串行总线系统提供一个或多个连接点(端口)。主控制器负责主机和USB设备之间的实际数据传输,包括串行编码和解码、错误控制等。该部分与
6、USB系统软件的接口取决于主控制器的硬件实现,开发人员不需要掌握。通用串行总线系统的基本概念16.2.2通用串行总线设备由三个功能模块组成:通用串行总线接口、通用串行总线逻辑设备和功能单元。这里的通用串行总线接口是指通用串行总线设备中的串行接口引擎(SIE);USB逻辑设备被USB系统软件视为一组端点。客户端软件将功能单元视为接口的集合。SIE、端点和接口都是USB设备的组成部分。为了更好地描述USB设备的特性,USB提出了设备架构的概念。从这个角度来看,可以认为通用串行总线设备由一些配置、接口和端点组成,即一个通用串行总线设备可以包含一个或多个配置,每个配置可以包含一个或多个接口,并且每个接
7、口可以包含多个端点。其中,配置和接口是对USB设备功能的抽象,实际的数据传输是由端点完成的。在使用USB设备之前,您必须指定其配置和接口。该步骤通常在设备连接到主机时设备被引导时完成,这将在后面进一步描述。通用串行总线设备使用各种描述符来说明它们的设备体系结构,包括设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符,它们通常存储在通用串行总线设备的固件程序中。10,16.2通用串行总线系统的基本概念,16.2.2通用串行总线设备设备设备代表一个通用串行总线设备,由一个或多个配置组成。设备描述符用于描述设备的总体信息,并指示其包含的配置数量。一个通用串行总线设备只能有一个设备描述符。(
8、2)配置通用串行总线设备可以包括一种或多种配置,例如,通用串行总线设备的低功耗模式和高功耗模式可以分别对应于一种配置。在使用USB设备之前,您必须为其选择适当的配置。配置描述符用于描述USB设备中每个配置的特征,如配置中包含的接口数量。USB设备的每个配置都必须有一个配置描述符。(3)接口的配置可以包括一个或多个接口,例如对于光驱,当用于文件传输时,使用其大容量存储接口;播放光盘时,使用其音频接口。接口是端点的集合,可以包含一个或多个替代设置。当USB处于已配置状态时,用户可以更改当前接口的数量和特性。接口描述符用于描述USB设备中每个接口的特征,如接口所属的设备类别及其子类。USB设备的每个
9、接口都必须有一个接口描述符。11、16.2 USB系统的基本概念,16.2.2 USB设备端点是USB设备中的实际物理单元,USB数据传输是在主机和USB设备的每个端点之间进行的。端点通常由通用串行总线接口芯片提供,如飞思卡尔的MC68HC908JB8。USB设备中的每个端点都有一个唯一的端点号,每个端点支持的数据传输方向一般是确定的:输入(in)或输出(out),并且可以配置一些芯片提供的端点的数据方向。例如,MC68HC908JB8包括两个用于数据传输和接收的端点:端点1和端点2。端点1只能用于数据传输,即支持输入(IN),端点2可用于数据传输和数据接收,即支持输入(IN)和输出(OUT)
10、操作。应该注意,这里的数据传输方向是从主机的角度来看的。例如,端点1只能发送数据,这在主机看来是端点1向主机输入数据,即输入操作;当端点2被配置为接收数据时,主机向端点2输出数据,即输出操作。这是初学者更容易困惑的地方。使用设备地址、端点号和传输方向,可以指定端点并与之通信。EndpoINt 0是特殊的,它有两个物理单位的数据输入和数据输出,只能支持控制传输。12、16.2通用串行总线系统的基本概念16.2.2通用串行总线设备字符串通常包含通用串行总线设备中的字符串描述符来解释一些特殊信息,如制造商的名称、设备的序列号等。其内容以UNICODE格式给出,可由客户端软件读取。字符串描述符对于US
11、B设备是可选的。管道在通用串行总线系统结构中,可以认为数据传输是在主机软件(通用串行总线系统软件或客户端软件)和通用串行总线设备的每个端点之间直接进行的,它们之间的连接称为管道。流水线是在配置USB设备的过程中建立的。管道是主机和USB设备之间通信流的抽象。它表示主机的数据缓冲区和USB设备的端点之间存在逻辑数据传输,而实际的数据传输是由USB总线接口层完成的。管道和USB设备中的端点一一对应。在与主机通信时,USB设备包含尽可能多的端点,端点的类型决定了管道中数据传输的类型。例如,中断端点对应于一个中断管道,并且该管道只能执行中断传输。稍后将描述传输类型。不管有多少条管道,每条管道中的数据传
12、输都是相互独立的。13,16.3 USB物理特性,16.3.1 USB接口USB使用屏蔽的4线电缆与网络上的设备互连。数据传输通过差分双绞线进行,两根线分别标为D和D-,另外两根线为Vcc和地线,其中Vcc为通用串行总线设备供电。使用USB电源的设备称为总线电源设备,而使用自身外部电源的设备称为自供电设备。为避免混淆,USB电缆中的电线标有不同的颜色,如表16-1所示。表16-1 USB电缆的信号和颜色,14、16-1 USB物理特性、16.3.1从一个设备连接到主机的USB接口,称为上行链路连接;从主机到设备的连接称为下游连接。为了防止环回的发生,上行和下行端口使用不同的连接器,所以USB在
13、连接电缆和设备时使用两种类型的连接器,即a型连接器和b型连接器,如图16-2所示。每个连接器中的线号与图16-2中的针号相同。A型连接器用于上行链路连接,即主机或集线器上有一个A型插座,连接到主机或集线器的电缆的一端是一个A型插头。USB设备上有一个B插座,B插头位于主机或集线器下游电缆的一端。这种连接方式可以确保USB设备、主机/集线器和USB电缆始终以正确的方式连接,而不会在电缆连接方式或两个USB设备的直接连接中出现任何错误。Usb物理特性16.3.2 USB信号差分信号技术特性传统的传输方法大多采用“正信号”或“负信号”的二进制表达机制,这些信号是通过单线传输的。不同的信号电平范围分别
14、用于表示1和0。它们之间有一个临界值。如果在数据传输过程中,由于中低强度干扰,高、低电平不会突破临界值,则信号传输可以正常进行。但是,如果遇到强干扰,高电平和低电平会突破临界值,从而导致数据传输错误。差分信号技术的最大特点是只能用两条线来表示一个比特,通过两条线传输的信号的压差作为判断1或0的依据。这种方法的优点是抗干扰能力强。如果受到很强的外部干扰,两条线路的相应电平也会大大增加或减少,但两条线路电平变化的方向和幅度几乎相同,因此电压差始终可以保持相对稳定,因此数据的精度不会因干扰噪声而降低。(2)USB通信的格式,图16-3使用双向不归零编码和在USB电缆上的差分信号传输,并且USB数据分
15、组使用反向不归零编码(NRZI)。图16-3描述了在USB电缆段上传输信息的步骤。反向不归零编码由传输信息的通用串行总线代理完成。然后,编码数据通过差分驱动器发送到USB电缆。然后,接收器放大输入差分信号并将其发送到解码器。使用这种编码和差分信号传输方法可以更好地保证数据的完整性,减少噪声干扰。(2) USB通信格式,图16-4反向不归零编码。使用反向反向不归零编码不是一种新的编码方法。它在许多领域都有应用。图16-4显示了数据流和编码后的结果。在反向非归零编码过程中,遇到了“0”转换和“1”保持。反向不归零码必须与输入数据保持同步,以确保正确的数据采样。无论前一位时间是否被转换,反向非归零数
16、据流都必须在数据窗口中采样。解码器在每个位时间采样数据,以检查转换。如果长时间重复相同的“1”信号,数据将不能被逐渐转换和累积,导致接收器最终丢失同步信号,并导致读取定时的严重错误。因此,在NRZI码之间,需要执行所谓的比特填充工作。位填充要求如果数据流中有六个“1”,则必须强制转换。这样,在反向不归零数据流中,接收器最多每7位检测一次跳变。这确保了接收器和输入数据流保持同步。反向不归零码的发送器在数据流中插入一个“0”(填充位)。接收器的设计必须能够识别连续六个“1”后的自动跳转,并立即丢弃这六个“1”后的“0”位。图16-5的第一行是发送给接收机的原始数据。请注意,数据流连续包含八个“1”
17、。第二行表示原始数据是位填充的,并且在原始的第六个和第七个“1”之间填充了“0”。第七个“1”延迟一位,以允许插入填充位。接收器知道连续六个“1”后会有一个填充位,因此该位将被忽略。注意,如果原始数据的第七位是“0”,并且填充位也被插入,则在填充的数据流中将有两个连续的“0”。19,16.3 USB物理特性16.3.3检测设备的连接和速度。当连接到通用串行总线设备时,通用串行总线系统可以自动检测连接并识别其使用的数据传输速率。通用串行总线使用增加数字线或数字线上拉电阻的方法来识别低速和全速设备。USB支持三种传输速率:1.5Mb/s低速传输、12Mb/s全速传输和480Mb/s高速传输。如图16-6和16-7所示。当主控制器或集线器的下游端口没有连接USB设备时,D线和D线上的下拉电阻使两条数据线的电压接近地(0V);当连接全速/低速设备时,电流流过分压器,该分压器由集线器的下拉电阻和设备的上拉电阻组成。由于下拉电阻的电阻值为15K,上拉电阻的电阻值为1.5K,因此在数模转换线上会出现(Vcc * 15/(151.5)的DC高电平电压。当通用串行总线主机检测到数字/数字线的电压接近高电平,而其他线保持接地时,它知道全速/低速设备已连接。20、16.3 USB物理特性16.3.3检测设备连接和速度、低速USB设备电缆和电阻连接、全速USB设备电缆和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 婴儿用品跨境贸易的机遇与挑战
- 英语阅读竞赛试卷
- 车辆交易税费抵扣贷款本金协议范本
- 成都房产交易合同范本:房屋交易售后服务及保障措施
- 隧道支护处理方案
- 车间灯光节能方案模板
- 食品项目资金使用方案
- 塔吊操作人员劳务派遣与权益保障合同
- 公共停车场车位租用及停车秩序管理合同
- 藏式风格民宿客房装修设计监理合同
- 农药经营考试题及答案
- 标前合作合同范本
- 2025年初级钢筋工(五级)技能认定理论考试指导题库(含答案)
- 2025 年小学劳动技术新课程标准(2022 版)标准试题
- 国家开放大学汉语言文学本科《古代诗歌散文专题》期末纸质考试第四大题论述题库2025春期版
- 2024秋新科粤版化学九年级上册教学课件 2.2 构成物质的微观粒子 第4课时 相对原子质量 离子的形成
- 魅力沟通技巧课件
- 国家开放大学法律事务专科《民法学(1)》期末纸质考试总题库2025春期考试版
- 2025年浙江安邦护卫集团有限公司招聘笔试参考题库含答案解析
- 2025年度资料员劳动合同范本(含试用期管理规定)
- 2024年06月浙江浙江泰隆商业银行社会招考笔试历年参考题库附带答案详解
评论
0/150
提交评论