1、usb 传输原理

   USB传输遵循USB协议,4根线上两根是电源线,两根是差分信。根据USB协议,USB设备分主机和从机,连接后,主从机之间通过USB线相互交流,按照协议建立连接后,就可以正常通讯了。 和RS只是定义了信息应该如何传输,USB不但定义了信息传输的方式,也定义了设备的运作方式。 信线上传输的就是差分信。具体的……还是看看USB协议吧,没仔细研究过。 usb ,但是这是理论,现在的sata硬盘的理论是m多比较正常。有的老一代硬盘的传输速度才1m/s,所以你的读卡器速度不慢,很不错。

2、USB的原理

   USB的结构与工作原理 1.1物理结构 USB的物理拓扑结构如图中,高速方式下Hub使全速和低速方式的信令环境独立出来,图2中显示了高速方式下Hub的作用。 通过使用集线器(Hub)扩展可外接多达个外设。USB的电缆有四根线,两根传送的是mA电流,并支持节约能源的挂机和唤醒模式。 1.2 USB设备逻辑结构 USB的设备可以分成多个不同类型,同类型的设备可以拥有一些共同的行为特征和工作协议,这样可以使设备驱动程序的编写变得简单一些。USB Forum在USB类规范?2?中定义了USB的设备类型,比如音频、通信、HID、HUB等设备类。 每一个USB设备会有一个或者多个的逻辑连接点在里面?每个连接点叫端点。在USB的规范中用?4?中有7个端点。 管道实现了在主机的一个内存缓冲区和设备的端点之间的数据传输,连接端点0的叫做缺省管道。管道是具有多个特征的信道,如带宽分配,包大小,管道类别以及数据流向。管道有两种类型分别是流管道(stream pipe)和消息管道(messagepipe)。流管道传输的数据包的内容不具有USB要的结构,它是单向传输的;流管道支持批量、等时和中断传输方式。而消息管道与流管道具有不同的行为。首先,由主机发请给USB设备,然后在适当的方向上传输数据,最后是到达一个状态阶段。为了保证三个阶段的数据传输,消息管道定义了一个数据结构使命令可靠地被识别和传输。消息管道是双向的,它只支持控制传输方式。 对于同样性质的一组端点的组合叫做接口,如果一个设备包含不止一个接口就可以称之为复合设备(见图1)。 对于同样类型接口的组合可以称之为配置。但是每次只能有一个配置是可用的,而一旦该配置被激活,里面的接口和端点就都同时可以使用。主机从设备发过来的描述字中来判断用的是哪个配置?哪个接口等等?而这些描述字通常是在端点0中传送的。 1.3 USB通信分层模型 一台主机到设备的连接需要许多层与实体之间的相互作用。USB总线接口层提供了主机和设备之间的物理/信令/包的连接。在系统软件看来,USB设备层执行的是一般的USB操作。功能接口层提供和应用软件层相对应的附加功能。分层模型如图3所示,虽然逻辑上USB设备层和功能层各自与主机上的相应层通信,但物理上都是通过USB总线接口层实现数据传输的。 1.4 四种传输方式 USB提供了四种传输方式,以适应各种设备的需要。这四种传输方式分别是: 控制传输方式:控制传输是双向传输,数据量通常较小,主要用来进行查询、配置和给USB设备发送通用的命令。控制传输主要用在主计算机和USB外设中端点0之间。 等时传输方式:等时传输提供了确定的带宽和间隔时间。它被用于时间严格并具有较强容错性的流数据传输,或者用于要恒定的数据传送率的即时应用中。例如进行语音业务传输时,使用等时传输方式是很好的选择。 中断传输方式:中断方式传送是单向的并且对于主机来说只有输入的方式。中断传输方式主要用于定时查询设备是否有中断数据要传送,该传输方式应用在少量的、分散的、不可预测的数据传输。键盘、游戏杆和鼠标就属于这一类型。 大量传输方式:主要应用在没有带宽和间隔时间要的大量数据的传送和接收,它要保证传输。印机和扫描仪属于这种类型。 在开发USB设备时通过设置接口芯片中相应的寄存器使端点处于不同的工作方式。 1.5 USB通信协议 USB的物理协议规定了在总线上传输的数据格式,一个全速的数据帧有字节,而对于低速的帧有字节。帧的作用是分配带宽给不同的数据传送方式。 在USB和MDATA,handshake类型增加了NYET,special类型则增加了ERR,SPLIT,PING,Reserved。 事务是在主机和设备之间不连续地数据交换。一个事务通常由主机开始,一般分三个阶段,第一阶段发送token包,第二阶段发送是data包(可以向上也可以向下),在数据包传送完之后,就会由设备返回一个handshake包。 当客户端程序通过一个USB管道发送或接收数据时,它首先会调用WinAPI,API会发送一个IRP到USB设备驱动程序。USB设备驱动程序的任务就是把客户端的请通过一个管道发送到外设合适的端点。为了实现这个任务,USB设备驱动程序会递交请给总线驱动程序,总线驱动程序可以把这些请转变成事务,然后将这些事务组合成帧在总线上传输。 1.6 USB带宽分析举例 在USBms长。但由于USBMbps,因此在USB/%,剩下的就安排给控制方式传送数据。在USB%。 以等时传输为例,在某个配置中作为一个等时传输管道的端点,定义了它能传输的数据有效负载的长度。USB系统软件用这个长度限制去保证足够的总线时间使每帧的内容能容纳最多的数据有效负载。如果有足够的总线时间,配置才会建立。每个等时管道的数据有效负载可以是,...,5,字节。 例如,当数据包最大有效负载为个字节可以用于其他事务的传输。因此每帧有效字节数为Mbyte/s,每个包的有效字节占整个帧的时其最大带宽值最大,为Mbyte/s。 在USB,,Mbyte/s,每个包的有效字节占整个帧的%。 2 Windows USB驱动程序接口 USB的驱动程序和以往的直接跟硬件交道的Win等操作系统均支持该类型的驱动程序。WDM首先定义了一个基本的核心驱动程序模型,处理所有类型的数据,使驱动程序模型的内核实现更加的固定。WDM驱动程序还是一种分层的程序结构,可以看做是WindowsNT驱动程序的改进,WDM驱动程序支持即插即用、电源管理和WMI(Windows ManagementInstrumentation)特性。Win提供了一系列的系统驱动程序,它们具有为许多标准类型设备所需的所有基本功能。 Windows提供了USB的系统类驱动程序,它处理USB上的所有底层通信,这样其他驱动程序就有了一个定义好的接口可以使用。USBHub.sys是USB集线器的驱动程序。USBD.sys是USB类驱动程序,它使用图4中UHCD.sys或OpenHCI.sys分别驱动两种类型的控制器?UHCI(USB Host Controller Driver),OHCI(Open Host ControllerInterface)。当PCI枚举器发现USB主机控制器后,就会装入相关的驱动程序。 通常一些设备都需要开发者写一个核模式的驱动程序来使硬件正常工作。在核模式下?驱动程序通过IRP(I/O Request Packet)来组织和操作一些由其他部分发过来的要和命令。而IRP又是通过URB(USB Request Blocks)来实现的。但对于一些HID(Human Interface Device)的USB设备,象键盘、鼠标和游戏操纵杆之类的设备可以被操作系统自动识别并且支持,开发者不需要再另写驱动程序。 3 USB接口M以太网卡的实现 3.1 选择器件 目前市场上USB的接口产品有两种,一种是集成了USB接口的单片机,另一种是不带单片机的USB接口芯片。由于前者需要专用的开发机故开发成本较高,本文将介绍一种使用廉价USB接口芯片USBN单片机实现M以太网卡的方案。 在做设计之前一定要计算好外设所要的带宽和USB的速度是否匹配。一个USB以太网卡应该包括USB通信接口(USBN.基本可以满足M以太网的带宽需。为达到较高的传输速率,USBN所示。 3.2 设计单片机控制程序 对于单片机控制程序,目前没有任何厂商提供自动生成码(firmware)的工具。USB单片机控制程序通常由三部分组成,第一、初始化单片机和所有的外围电路(包括USBN);第二、主循环部分,其任务是可以中断;第三、中断句柄,其任务是对时间敏感的,必须马上执行。 3.3 开发USB网卡驱动程序 开发USB设备驱动程序通常采用WindowsDDK来实现,但现在有许多第三方软件厂商提供了各种各样的生成工具,象Compuware的Driver Works,BlueWaters的DriverWizard等软件能够方便地生成高质量的USB的驱动程序。没有DDK或WDM基础的开发人员可使用KRFTech的开发软件WinDriver,它的最新版本已经支持USB驱动程序的开发。最后的驱动程序调试工作可以使用Compuware的Softice或Microft的Windows Debugger来进行。 Windows下的网卡驱动程序需符合NDIS规范(Network Driver Interface Specification)。网络驱动程序不直接调用操作系统的例程,而是通过NDIS进行系统调用,NDIS还根据需要调用了驱动程序提供的例程,共同完成网卡的功能。 USB网卡驱动程序可分为NDIS中间介质小端口驱动程序和USB驱动程序两部分,然后将两部分驱动程序动态连接。如果USB设备未连接和被禁止,使USB驱动不可用,那么NDIS驱动会返回一个NOT_AAILABLE的状态。这种实现方法可以保证用户不必重新安装NDIS或重启就可以连接或拔掉USB设备。

3、USB物理逻辑和原理?

    USB的结构与工作原理1.1物理结构 USB的物理拓扑结构如图中,高速方式下Hub使全速和低速方式的信令环境独立出来,图2中显示了高速方式下Hub的作用。通过使用集线器(Hub)扩 展可外接多达个外设。USB的电缆有四根线,两根传送的是mA电流,并支持节约能源的挂机和唤醒模式。1.2USB设备逻辑结构 USB的设备可以分成多个不同类型,同类型的设备可以拥有一些共同的行为特征和工作协议,这样可以使设备驱动程序的编写变得简单一些。USBForum在USB类规范2中定义了USB的设备类型,比如音频、通信、HID、HUB等设备类。 每一个USB设备会有一个或者多个的逻辑连接点在里面每个连接点叫端点。在USB的规范中用中有7个端点。 管道实现了在主机的一个内存缓冲区和设备的端点之间的数据传输,连接端点0的叫做缺省管道。管道是具有多个特征的信道,如带宽分配,包大小,管道类别以及数据流向。管道有两种类型分别是流管道(streampipe)和消息管道(messagepipe)。流管道传输的数据包的内容不具有USB要的结构,它是单向传输的;流管道支持批量、等时和中断传输方式。而消息管道与流管道具有不同的行为。首先,由主机发请给USB设备,然后在适当的方向上传输数据,最后是到达一个状态阶段。为了保证三个阶段的数据传输,消息管道定义了一个数据结构使命令可靠地被识别和传输。消息管道是双向的,它只支持控制传输方式。对于同样性质的一组端点的组合叫做接口,如果一个设备包含不止一个接口就可以称之为复合设备(见图1)。 对于同样类型接口的组合可以称之为配置。但是每次只能有一个配置是可用的,而一旦该配置被激活,里面的接口和端点就都同时可以使用。主机从设备发过来的描述字中来判断用的是哪个配置哪个接口等等而这些描述字通常是在端点USB通信分层模型 一台主机到设备的连接需要许多层与实体之间的相互作用。USB总线接口层提供了主机和设备之间的物理/信令/包的连接。在系统软件看来,USB设备层执行的是一般的USB操作。功能接口层提供和应用软件层相对应的附加功能。分层模型如图3所示,虽然逻辑上USB设备层 和功能层各自与主机上的相应层通信,但物理上都是通过USB总线接口层实现数据传输的。 1.4四种传输方式 USB提供了四种传输方式,以适应各种设备的需要。这四种传输方式分别是:控制传输方式:控制传输是双向传输,数据量通常较小,主要用来进行查询、配置和给USB设备发送通用的命令。控制传输主要用在主计算机和USB外设中端点0之间。 等时传输方式:等时传输提供了确定的带宽和间隔时间。它被用于时间严格并具有较强容错性的流数据传输,或者用于要恒定的数据传送率的即时应用中。例如进行语音业务传输时,使用等时传输方式是很好的选择。 中断传输方式:中断方式传送是单向的并且对于主机来说只有输入的方式。中断传输方式主要用于定时查询设备是否有中断数据要传送,该传输方式应用在少量的、分散的、不可预测的数据传输。键盘、游戏杆和鼠标就属于这一类型。 大量传输方式:主要应用在没有带宽和间隔时间要的大量数据的传送和接收,它要保证传输。印机和扫描仪属于这种类型。 在开发USB设备时通过设置接口芯片中相应的寄存器使端点处于不同的工作方式。1.5USB通信协议 USB的物理协议规定了在总线上传输的数据格式,一个全速的数据帧有字节,而对于低速的帧有字节。帧的作用是分配带宽给不同的数据传送方式。 一个最小的USB的数据块叫做包,包通常有同步信,包标识,地址、传送的数据和CRC。包的ID由八位组成,其中后四位是纠错位。根据包功能的不同,在USB1.1中定义了以下四类十种: tokenOUTINSOFSETUPdataDATA0DATA1 handshakeACKNAKSTALL specialPRE 在USB和MDATA,handshake类型增加了NYET,special类型则增加了ERR,SPLIT,PING,Reserved。 事务是在主机和设备之间不连续地数据交换。一个事务通常由主机开始,一般分三个阶段,第一阶段发送token包,第二阶段发送是data包(可以向上也可以向下),在数据包传送完之后,就会由设备返回一个handshake包。 当客户端程序通过一个USB管道发送或接收数据时,它首先会调用WinUSB带宽分析举例 在USBms长。但由于USBMbps,因此在USB/%,剩下的就安排给控制方式传送数据。在USB%。 以等时传输为例,在某个配置中作为一个等时传输管道的端点,定义了它能传输的数据有效负载的长度。USB系统软件用这个长度限制去保证足够的总线时间使每帧的内容能容纳最多的数据有效负载。如果有足够的总线时间,配置才会建立。每个等时管道的数据有效负载可以是,...,5,字节。 例如,当数据包最大有效负载为个字节可以用于其他事务的传输。因此每帧有效字节数为Mbyte/s,每个包的有效字节占整个帧的时其最大带宽值最大,为Mbyte/s。 在USB,,Mbyte/s,每个包的有效字节占整个帧的%。2WindowsUSB驱动程序接口 USB的驱动程序和以往的直接跟硬件交道的Win等操作系统均支持该类型的驱动程序。WDM首先定义了 搜一下:USB物理逻辑和原理?

4、如何浅显易懂地解释USB-HUB的原理

   作者:时国怀 :知乎 先回答速度降低的问题: 理论上说,一定会降低,实际情况是,不一定。 USB Hub的下游各个接口会平分上游接口带宽,加上USB Hub本身也需要传输控制信,所以下游各个设备的带宽是必然要小于上游设备的总带宽。 实际情况是,现在主流的USB (Gbps,所以实际情况是不一定。 USB Hub的原理比较复杂,USB协议规范里最复杂的部分就是Hub的章节,USB Hub与网络设备(以太网)的Hub原理相差很多,如果真要类比的话,复杂度大概相当于网络的设备里的路由器。 USB协议中有控制传输、Bulk传输、中断传输、同步传输四种模式,其中: 控制传输用于传输控制设备一级的指令; Bulk传输(中文名可能叫批传输)主要用于传输USB各种大块数据,比如U盘读写的数据; 中断传输,用于传输小块数据,鼠标键盘主要使用中断传输; 同步传输,用于传输实时性不够强的数据,也就是说不保证可靠性,部分USB音频设备使用这种传输; USB Hub负责整合下游设备的各种传输信,其中同步传输有一定限制,如果超过总带宽的某个比例(记忆中是%以上的总带宽。 USB Hub整合数据以后向上游设备发送,如果上游还有USB Hub,那么上游的设备还会继续做同样的操作。另外,需要说明的是,通常来说主机上的USB接口,本身就是一个Root Hub,如果一个PC上有多个接口,可能是多个接口共用一个控制器,每个控制器上有一个Root Hub。 所以USB Hub相当于重新封装了各种数据包,类似于网络设备里的路由器,而不像交换机或者集线器(Hub)那么简单。 同时USB Hub自身还是一个USB设备,负责向上级汇报自己的下级有多少个设备,它本身也要占用一些带宽周期性汇报自己的状态。 具体的USB Hub规范,能写几十页,请自行参考USB协议规范,英文的,很长很长。