USB的低层结构

最新更新时间:2012-04-18来源: 互联网关键字:USB  低层结构 手机看文章 扫描二维码
随时随地手机看文章

USB设备
USB的设备可以接在PC上的任意的USB接口上。而使用HUB还可以扩展使更多的 USB设备连接到系统中,USB的HUB有一个上行的端口(到host),有多个的下行端口(连接其它的设备),从而可以使整个的系统可以扩展的连接 127个外设,其中HUB也酸外设。对于USB系统来说,USB的host永远是PC边,所有的其他连接到host都称为设备,在设备与设备之间是无法实 现直线通信的,只有通过host的管理与调节才能够实现数据的互相传送.在系统中,通常会有一个根HUB,这个HUB一般有两个下行的端口。
一个PC可以拥有一个或多个的USB host控制器。一般有两种类型的控制器:UHCI(USB host控制器接口),OHCI(开放的host控制器接口)。Windows的USB类驱动程序对于每一种的控制器类型都有一种miniclass驱动程序来支持。

USB的物理信号
USB的电缆有四根线,两根传送的是5V的电源,有一些直接和电源HUB相连的设备可 以直接利用它来供电。另外的两根是数据线,数据线是单工的,在整个的一个系统中的数据速率是一定的,要么是高速,要么是低速,没有一个可以中间变速的设备 来实现数据码流的变速.在这一点上,USB和1394有明显的差别。
USB的总线可以在不使用的时候被挂起,这样一来就可以节约能源。 
在有些时候的总线还有可能挡机(stall),比如说象数据传送的时候突然被打断,这个时候通过host的重新配置可以实现总线的重新工作。

低层协议
USB的物理协议规定了大多数的在总线上的数据格式,通常一个全速的数据桢可以最多有的1500bytes,而对于低速的桢最多有187bytes。
桢通常是用来分配带宽给不同的数据传送方式。同时由于桢结构的规律性,桢的这种特性也可以用来做同步信号来使用。
一个最小的USB的数据块叫做包(packet),包包括同步信号,包标识(packet ID),CRC和传送的数据。Packet ID共有以下十种:
token OUT IN SOF SETUP 
data DATA0 DATA1 
handshake ACK NAK STALL 
special PRE

Transactions(数据交换)
一个transaction是在host和设备(device)之间的不连续相互数据 交换,通常由host开始交换,交换的开始是由Token的包开始的,接下来是双方向上的数据包,在数据包传送完之后,就会由设备(device)返回一 个握手(handshake)包。USB系统通过IN,OUT,和SETUP的包来指定USB地址和endpoint(最多是128个,0通常被用来用做 缺省的传送配置信息的),并且这些被指定的设备必须通过上面形式的包来回应这种形式的指定。每个SETUP的包包含8个byte的数据,数据用来指示传送 的数据类型。对于DATA数据包来说,设置两种类型的数据包是为了能够在传送数据的时候做到更加的精确。ACK handshake的包用来指示数据传送的正确性,而STALL handshake则表示数据包在传送的过程中出了故障,并且请示host重新发数据或者清除这次传送。PRE格式的包主要是用在在一个USB的系统中如 果存在不同速率的设备的时候,将不同于总线速度的设备中就会回应一个PRE的包从而会忽略该设备。
各种不同类型的包的大小是不同的,DATA的数据包最大是1023bytes.

Start of Frame(SOF)
SOF是host用来指示frame的开头的。SOF的包包括11个bit的桢序号,从0到0X7FF(i.e. USBD_ISO_START_FRAME_RANGE-1),SOF对于所有的高速设备来说是有效的。

Power
每个设备可以从总线上获得100mA的电流,如果特殊的向系统申请,最多可以获得500mA的电流,在挂机的状态下,电流只有500uA. 

驱动程序的安装步骤
Windows用设备描述字或者接口描述字来了解到底是什么样的设备被接入到系统。 Windows初始化的Hardware ID中有设备提供商的ID域(IDVendor,IDProduct,和BCDDevice)。如果你没有向系统提供一个INF文件的话,系统就会自动选 择提供一个兼容ID(可能不是工作得很好,就像你买了一个Rockswell的Modem,而你使用标准Modem的驱动程序,你的Modem可能会工作 的有很多的毛病,也可能跑得飞快,电脑的事情,什么都可能发生,就像中国足球........我在九四年就发誓不再为中国足球恼火,可是俺前不久还是骂了 一下那个叫章鱼鳞的小伙子,怎么就.......好歹还是一孩子,就原谅一回吧,哎!)

USB的新特性
共享性 一个物理设备可以使用许多不同的pipe 
实时性 可以实现和一个设备之间有效的实时通信 
动态性 可以实现接口间的动态切换 
联合性 不同的而又有相近的特性的接口可以联合起来, 
多能性 各个不同的接口可以使用不同的供电模式 
自动性 缺省的pipe的使用使基系统的建立和配置变得自动并且快速

关键字:USB  低层结构 编辑:神话 引用地址:USB的低层结构

上一篇:U盘基本工作原理
下一篇:Windows USB 驱动程序接口及传输方式

推荐阅读最新更新时间:2023-10-12 20:39

自制USB接口和RS232串口的1-wire转接线
1-wire也叫one-wire,是美信(MAXIM)公司弄出来的一种连接各设备的串行通信方式。其实和普通的I2C,RS232,USB类似,就是不同设备之间互相传输数据的一种方式。和其他方式不同的是,此方式只需要一根1-wire数据线和一根地线就可以实现两个设备之间的双向数据交换。而我们平常用的最多的USB则有电源,D+,D-和地线四根线,而RS232最少也要TXD,RXD和地线三根线。所以与这些方式比,1-wire可以减少连线数目。而且1-wire也像USB或者I2C一样支持一条线上挂多个设备。其实其他公司也有类似的方式,只不过名字不一样。 我们的电脑不支持1-wire接口,所以为了连接电脑和1-wire设备,只好做一根线了。
[嵌入式]
使用数字隔离器对USB实现隔离的方法
早期的个人电脑以串行和并行端口作为与外部世界连接的标准接口。这些标准是从最早的大型计算机继承而来的。另一个可用的通讯标准RS-232接口,虽然速度慢,但因为可简单地实现所需要的鲁棒隔离,很适合医疗和工业环境。由于得到广泛使用并有良好的支持,人们容忍了其速度低和点对点的缺点。 USB接口已取代RS-232,成为个人电脑及其外设的标准端口,其特性几乎在所有方面都远远优于较老的串行端口。然而,对于要求隔离的医疗和工业应用,由于实现隔离的难度大且成本高,USB一直主要用作诊断端口和临时连接。 本文讨论了对USB实现隔离的各种方法。值得特别介绍的是,ADI公司现提供了一个新的可选方案——ADuM41601 USB隔离
[嵌入式]
使用数字隔离器对<font color='red'>USB</font>实现隔离的方法
基于USB 2. 0数据采集系统的实现
   1 引言   在工业生产和科学技术研究的各行业中, 常利用PC或工控机对各种数据进行采集, 如压力、频率、液位、温度等。常用的采集方式是通过数据采集板卡, 其不仅安装麻烦, 易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制, 不可能挂接很多设备。而通用串行总线( Universa l Ser ia l Bus, USB )的出现, 很好地解决了以上这些冲突, 可实现低成本、高可靠性、多点的数据采集。USB 2. 0 是一种计算机外设连接规范, 除了USB1. 1中规定的1. 5Mb it / s和12Mb it / s两个模式以外, 还增加了480Mbit / s( 60MB / s)这一 高速 模式
[嵌入式]
CH375芯片内部结构及设计注意事项
  随着计算机技术的快速发展,USB移动存储设备的使用已经非常普遍,因此在一些需要转存数据的设备、仪器上使用USB移动存储设备接口的芯片便相继产生了,CH375就是其中之一,它是一个USB总线的通用接口芯片,支持HOST主机方式和SLAVE设备方式。   在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU等控制器的系统总线上。在USB主机方式下,CH375还提供了串行通信方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU等相连接。CH375的USB主机方式支持各种常用的USB全速设备,外部单片机/DSP/MCU可以通过CH375按照相应的USB协议与USB设
[单片机]
STM32开发笔记21: USB驱动的移植
现在使用的STM32L053R8T6单片机带有USB接口,原先一直使用UART转USB芯片来完成USB功能的支持,现在这款单片机带了就希望使用以下。由于已经建立了自己的工程目录,再重新使用STM32CubeMX生成的工程文件,重新建立是不显示的,所以本文探索将USB驱动文件移植到自己项目中的方法,我使用的是USB的CDCD类,步骤如下: 1、使用STM32CubeMX使能USB,如下图所示: 2、设置时钟,USB需要48M时钟,使用内部和外部均可,我这里使用外部时钟。 3、生成工程文件。 4、在自己的工程目录中加入如下图所示的2个文件,如果此2个文件不存在,则从新生成的工程目录中复制即可(包
[单片机]
STM32开发笔记21: <font color='red'>USB</font>驱动的移植
LON总线的USB2.0接口卡的研制
LonWorks总线是由美国Echelon公司推出的一种现场总线技术,由于LonWorks控制网络的开放性、高速性、互操作性及其对现场环境的适应性,它已广泛应用于楼宇自动化、家庭自动化、保安系统、办公设备、交通运输、工业过程控制等行业。LON总线的现场节点间采用LonTalk协议。当工程师使用便携设备对现场节点进行检测或进行现场数据采集时,往往只能使用RS232串口。众所周知,RS232的传输速度最高只能达到9600kbps,这对实时性要求很高的现场数据采集来说远远不能满足要求。针对这一情况,笔者开发研制了LON总线的USB2.0接口卡。该卡提供的USB2.0接口使得数据的传输速度能提高到480Mbps.并且向下完全兼容流行的USB
[应用]
基于FPGA/CPLD和USB技术的无损图像采集卡
摘要:介绍了外置式USB无损图像采集卡的设计和实现方案,它用于特殊场合的图像处理及其相关领域。针对图像传输的特点,结合FPGA/CPLD和USB技术,给出了硬件实现框图,同时给出了FPGA/CPLD内部时序控制图和USB程序流程图,结合框图和部分程序源代码,具体讲述了课题中遇到的难点和相应的解决方案。 关键词:无损图像采集 图像处理 FPGA/CPLD USB SAA7111A 现场图像采集技术发展迅速,各种基于ISA、PCI等总线的图像采集卡已经相当成熟,结合课题设计了一款USB外置式图像采集卡。该图像采集卡已成功应用于一个图像处理和识别的项目中,由于图像信号不经过压缩处理,对后续处理没有任何影响,因此图像处理和识别的效果比一般的
[半导体设计/制造]
小广播
最新模拟电子文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved