USB是怎么传输数据的,怎么识别设备的(较详细)
- 格式:doc
- 大小:647.50 KB
- 文档页数:7
如何使用USB数据线进行数据传输USB数据线是一种常见的连接设备和数据传输的工具,广泛应用于手机、电脑、相机等设备之间的数据传输。
使用USB数据线进行数据传输不仅简单高效,而且操作便捷。
下面我们将介绍如何正确地使用USB数据线进行数据传输:步骤一:准备工作在进行数据传输之前,首先要确保你有一根适配于你设备的USB数据线。
市面上有各种类型的USB数据线,如Type-C、Micro USB等,选择正确的数据线是确保顺利传输数据的关键。
步骤二:连接设备将USB数据线的一端插入你的设备的USB接口中,另一端插入另一设备的USB接口中。
确保连接稳固,避免在传输过程中出现断开连接的情况。
步骤三:打开设备打开你的设备,确保设备处于正常工作状态。
如果是连接手机和电脑进行数据传输,需要确保手机打开USB调试模式,以便电脑可以识别手机并进行数据传输。
步骤四:传输数据一旦设备连接成功,你可以开始进行数据传输。
在电脑上打开文件管理器,你会看到连接设备在“此电脑”或“我的电脑”中显示为一个移动设备。
点击进入移动设备,你可以浏览和管理设备上的文件,可以进行文件的复制、粘贴等操作。
步骤五:安全拔出在完成数据传输后,一定要安全拔出USB数据线。
在Windows系统中,你可以在任务栏找到“安全删除硬件和拔出媒体”选项,选择对应的设备后进行拔出操作。
在手机端也有类似的操作,确保安全拔出设备避免数据丢失或设备损坏。
总结使用USB数据线进行数据传输是一种简单而高效的方式,只需简单的插拔操作即可完成数据传输,方便快捷。
然而,在使用USB数据线进行数据传输时,也要注意保护设备和数据的安全,避免出现意外情况。
希望以上介绍的内容可以帮助大家更好地使用USB数据线进行数据传输。
USB工作原理USB(Universal Serial Bus,通用串行总线)是一种用于连接计算机和外部设备的标准接口。
它的工作原理是通过传输数据和提供电力来实现设备之间的通信和互操作性。
USB接口广泛应用于计算机、手机、音频设备、打印机、摄像头等各种电子设备上。
USB的工作原理可以分为物理层、数据链路层和应用层三个部份。
1. 物理层:USB接口使用了四根线缆,分别是VCC(电源线)、D+(数据线+)、D-(数据线-)和地线。
VCC提供电源供电,D+和D-用于数据传输,地线用于电流回路的闭合。
USB接口还有一个ID线,用于识别设备类型。
2. 数据链路层:数据链路层负责传输数据和控制信号。
USB接口使用了主从结构,即一个主机(通常是计算机)连接多个从设备。
主机负责控制数据传输的起始和结束,从设备则按照主机的指令进行数据传输。
数据链路层分为控制传输、中断传输、批量传输和等时传输四种传输方式。
控制传输用于设备的配置和控制,中断传输用于传输实时数据,批量传输用于传输大量数据,等时传输用于传输实时音视频数据。
3. 应用层:应用层是USB接口的最高层,负责设备之间的数据交互和通信协议的实现。
USB接口支持多种设备类型,每种设备都有自己的通信协议和数据格式。
USB设备通过描述符来定义自身的功能和特性。
描述符包括设备描述符、配置描述符、接口描述符和端点描述符等。
设备描述符包含设备的基本信息,配置描述符包含设备的配置信息,接口描述符包含设备接口的信息,端点描述符包含设备端点(数据传输的起点和终点)的信息。
USB还支持热插拔功能,即在计算机运行时可以插入或者拔出USB设备而无需重新启动计算机。
这得益于USB接口的即插即用特性和操作系统对USB的支持。
总结起来,USB的工作原理是通过物理层的电源线和数据线进行电源供电和数据传输,数据链路层负责传输数据和控制信号,应用层负责设备之间的数据交互和通信协议的实现。
USB接口的设计和标准化使得各种设备可以方便地连接到计算机上,并实现数据传输和互操作性。
usb通信原理USB通信原理。
USB(Universal Serial Bus)是一种用于连接计算机和外部设备的通用接口标准。
USB通信原理是指USB接口设备之间进行数据传输的工作原理。
USB通信原理的核心是USB协议,它规定了USB设备之间的通信规则和数据传输方式。
下面我们将深入探讨USB通信原理的相关知识。
首先,USB通信原理涉及到USB的物理层和逻辑层。
在物理层,USB通过四根线进行数据传输,包括两根用于数据传输的数据线(D+和D-)、一根用于电源供应的VCC线和一根用于地线的GND线。
而在逻辑层,USB通信采用主从结构,即主机和从机之间的通信方式。
主机负责发起数据传输请求,从机则负责响应主机的请求并进行数据传输。
其次,USB通信原理还涉及到USB的数据传输方式。
USB数据传输方式分为同步传输和异步传输两种。
同步传输是指数据传输的时钟信号由主机提供,而异步传输是指数据传输的时钟信号由设备自身提供。
在实际应用中,USB通常采用同步传输方式,因为这样可以更好地控制数据传输的时序和速率,确保数据的稳定传输。
此外,USB通信原理还包括USB的通信协议。
USB通信协议规定了USB设备之间的通信规则和数据传输格式。
USB通信协议分为控制传输、批量传输、中断传输和等时传输四种。
控制传输适用于设备的配置和管理,批量传输适用于大批量数据的传输,中断传输适用于对数据传输的实时性要求较高的情况,而等时传输适用于对数据传输的实时性要求非常高的情况。
最后,USB通信原理还涉及到USB设备的识别和配置。
当USB设备插入到主机上时,主机会通过USB通信协议进行设备的识别和配置,以确定设备的类型和功能,并为设备分配相应的资源。
这样,USB设备就可以与主机进行数据传输和通信。
综上所述,USB通信原理涉及到USB的物理层和逻辑层、数据传输方式、通信协议以及设备的识别和配置等多个方面。
了解USB通信原理不仅有助于我们更好地理解USB接口设备之间的工作原理,还有助于我们更好地应用和开发USB设备。
USB工作原理USB(Universal Serial Bus)是一种常见的计算机外部设备连接标准,它提供了一种简单、方便和可靠的方法来连接计算机和其他外部设备,如打印机、键盘、鼠标、摄像头等。
USB工作原理是指USB技术是如何实现数据传输和设备通信的。
USB工作原理可以分为硬件和软件两个方面来理解。
在硬件方面,USB包括主机控制器、USB总线和外部设备三个主要组件。
主机控制器是计算机主板上的一个芯片,负责管理USB总线和与外部设备的通信。
USB总线是一根用于传输数据和提供电力的线缆。
外部设备是通过USB接口连接到计算机的设备,它们可以是输入设备、输出设备或者存储设备。
当外部设备连接到计算机上时,USB主机控制器会自动识别设备并为其分配一个地址。
然后,主机控制器会与设备进行握手,以确定设备的功能和特性。
这个过程称为枚举。
一旦设备被枚举,计算机就可以通过USB总线与设备进行数据传输。
USB使用一种称为“端点”的机制来管理数据传输。
端点是设备内存中的一个缓冲区,用于存储要发送或者接收的数据。
每一个USB设备可以有一个或者多个输入端点和输出端点。
输入端点用于接收数据,输出端点用于发送数据。
数据传输可以是控制传输、批量传输或者中断传输。
控制传输是一种用于配置和控制设备的传输方式。
它用于发送命令和获取设备状态信息。
批量传输是一种用于大容量数据传输的方式,例如打印机发送打印数据。
中断传输是一种用于传输实时数据的方式,例如鼠标发送挪移信息。
USB还支持热插拔功能,这意味着可以在计算机运行时插入或者拔出USB设备,而无需重新启动计算机。
当设备插入时,主机控制器会自动检测并与设备进行握手。
当设备拔出时,主机控制器会发送一个信号给操作系统,以便关闭设备的连接。
USB还提供了电力供应功能,即通过USB接口向外部设备提供电力。
这使得许多设备无需额外的电源适配器即可工作,例如挪移硬盘和键盘。
USB接口还可以根据需要提供不同的电力水平,以满足不同设备的需求。
USB工作原理USB(Universal Serial Bus)是一种用于连接计算机和外部设备的通用串行总线接口。
它提供了一种简单、快速和可靠的数据传输方式,广泛应用于计算机、手机、摄像机、打印机等各种设备之间的连接。
USB的工作原理是基于主从架构的。
在USB系统中,计算机或主机被称为主设备,而外部设备则被称为从设备。
主设备负责控制和管理整个USB系统,从设备则根据主设备的指令来执行相应的操作。
USB接口一般包括四根线,即数据线D+、D-,电源线VCC和地线GND。
数据线用于传输数据,电源线用于提供电源,地线用于连接设备的地。
USB的数据传输是通过不同的传输速率来实现的。
USB 1.0和USB 1.1支持低速传输(1.5 Mbps)和全速传输(12 Mbps),USB 2.0支持高速传输(480 Mbps),USB 3.0支持超速传输(5 Gbps),USB 3.1支持超高速传输(10 Gbps)。
USB的工作过程如下:1. 插入设备:将USB插头插入计算机的USB接口。
2. 检测设备:计算机会自动检测到插入的设备,并识别设备类型。
3. 配置设备:计算机与设备进行通信,协商设备的工作模式和传输速率。
4. 分配地址:计算机为设备分配一个唯一的地址,以便后续通信。
5. 数据传输:计算机通过控制和数据传输两种方式与设备进行通信。
控制传输用于设备的配置和控制,数据传输用于实际的数据交换。
6. 断开连接:当用户拔出USB设备或计算机关闭时,USB接口会断开连接。
USB的工作原理基于主从通信协议,其中主设备负责控制和管理整个USB系统,从设备则根据主设备的指令来执行相应的操作。
USB的数据传输通过不同的传输速率实现,包括低速传输、全速传输、高速传输、超速传输和超高速传输。
总结起来,USB的工作原理是通过主从架构和不同的传输速率来实现计算机和外部设备之间的数据传输。
USB接口提供了一种简单、快速和可靠的数据传输方式,广泛应用于各种设备之间的连接。
usb 传输原理USB(Universal Serial Bus,通用串行总线)是一种用于连接计算机和外部设备的串行总线标准。
它的传输原理基于以下几个方面:1. 物理连接:USB使用四根线缆进行连接,包括两根用于传输数据的差分数据线(D+和D-),一根用于提供电源的VCC 线,以及一根用于地线的GND线。
这些线缆共同构成了USB的物理连接。
2. 差分传输:USB使用差分传输技术,在D+和D-数据线上传输数据。
差分传输通过比较D+和D-之间的电压差异,来识别和传输数字信号。
这种传输方式有助于抵御外界干扰,提高数据传输的稳定性和可靠性。
3. 数据帧结构:USB的数据传输是按照数据帧的形式进行的。
每个数据帧由一个同步字段、一个帧头、数据内容和一个CRC校验字段组成。
同步字段用于同步接收端的时钟,帧头标识数据帧的开始,数据内容包含实际传输的数据,CRC校验字段用于数据的完整性验证。
4. 主从设备通信:USB采用主从设备模式进行通信。
计算机通常作为USB的主机,而外部设备则作为USB的从设备。
主设备负责发起和控制数据传输过程,从设备则依从主设备的指令进行数据的接收和发送。
5. 数据传输速率:USB支持多种速率的数据传输,包括低速(1.5 Mbps)、全速(12 Mbps)、高速(480 Mbps)和超速(5 Gbps或更高)。
具体的传输速率取决于USB版本以及连接的设备的能力。
通过以上原理,USB实现了计算机和外部设备之间的高速、可靠的数据传输。
它广泛应用于各种设备,例如打印机、键盘、鼠标、移动存储设备等,为用户提供了方便的数据交互和设备连接功能。
usb接口工作原理USB(Universal Serial Bus)接口是一种用于计算机和外部设备之间传输数据和电源供应的标准接口。
USB接口的工作原理基于主从架构,即计算机作为主机控制外设的数据传输和电源供应。
具体工作原理如下:1. 检测设备插入:当用户将一个USB设备插入计算机的USB接口时,计算机会通过Vbus(电源线)检测是否有设备插入。
如果有设备插入,计算机会向设备提供电源供应。
2. 配对设备驱动程序:计算机会自动检测新插入的设备,并根据设备的硬件标识(Vendor ID和Product ID)匹配相应的设备驱动程序。
驱动程序允许计算机与设备通信和交换数据。
3. 建立通信连接:计算机通过USB控制器与设备的USB控制器建立一种称为Control Transfer的通信方式。
这种通信方式涉及计算机发送控制命令给设备,以及设备返回相应的状态和数据给计算机。
4. 数据传输:根据需要,计算机可以发送数据给设备(Out Transfer)或从设备接收数据(In Transfer)。
这些数据可以是普通数据、控制命令或错误信息,具体取决于设备和计算机之间的通信协议。
5. 带宽管理:USB接口支持多种数据传输速率。
对于高带宽设备(如USB 2.0或更高速率的设备),USB控制器会为其分配更多的带宽,以保证数据传输速度。
而低带宽设备(如USB 1.1设备)则会共享较小的带宽。
6. 断开连接:当用户拔出USB设备或计算机关闭时,USB控制器会检测到设备断开,并发送断开连接的信号给设备。
设备接收到信号后,会进行相应的处理,如关闭设备和保存临时数据。
总而言之,USB接口通过电源供应和通信协议实现计算机与外部设备之间的数据传输。
计算机作为主机负责驱动设备、发送控制命令和接收数据,而设备则适应计算机的指令和提供所需的数据。
这样,USB接口就能够实现快速、方便和通用的数据交换。
USB工作原理USB(Universal Serial Bus)是一种通用的串行总线接口标准,用于连接计算机和外部设备。
USB工作原理是指USB接口传输数据的基本原理和过程。
下面将详细介绍USB工作原理的标准格式文本。
一、USB工作原理概述USB是一种用于计算机和外部设备之间传输数据的标准接口。
它通过一对差分信号线进行数据传输,并使用同步和异步传输方式。
USB接口分为主机端(Host)和设备端(Device),主机端负责控制和管理USB总线,设备端负责提供或者接收数据。
二、USB传输模式USB支持多种传输模式,包括控制传输、批量传输、中断传输和等时传输。
1. 控制传输:控制传输是USB通信中的基本传输模式,用于主机和设备之间的命令和控制信息的传输。
它具有可靠性高、带宽占用小的特点。
2. 批量传输:批量传输用于传输大量数据,适合于需要高带宽但实时性要求不高的设备,如打印机、存储设备等。
3. 中断传输:中断传输用于传输实时性要求较高的数据,如鼠标、键盘等。
它具有低延迟和可靠性高的特点。
4. 等时传输:等时传输用于传输对实时性要求非常高的数据,如音频和视频流。
它要求数据以固定的速率传输,不能浮现丢失或者延迟。
三、USB传输层协议USB传输层协议定义了数据的传输方式和传输格式,包括数据包的组织、错误检测和纠正机制等。
1. 数据包组织:USB数据包由同步标志、包头、数据和校验码组成。
同步标志用于同步数据传输,包头包含了数据包的长度和类型信息,数据部份存储实际的数据,校验码用于检测数据传输过程中的错误。
2. 错误检测和纠正:USB使用循环冗余校验(CRC)来检测和纠正数据传输过程中的错误。
接收端会对接收到的数据进行CRC校验,如果发现错误,则会请求重新传输。
四、USB物理层USB物理层定义了USB接口的电气特性和连接方式,包括信号的电压范围、传输速率和连接器类型等。
1. 电气特性:USB使用差分信号进行数据传输,其中D+和D-是一对差分信号线。
usb 工作原理
USB(Universal Serial Bus,通用串行总线)是一种常见的电
脑外部设备连接标准。
它的工作原理如下:
1. 物理连接:USB使用四根线(VCC,GND,D+,D-)进行
连接。
VCC提供电源,GND是地线,D+和D-是差分信号传
输的两根线。
2. 握手协议:当设备插入到电脑的USB接口上时,电脑会向
设备发送一个信号,设备会做出响应,称为握手。
3. 配置和识别:电脑和设备在握手之后会进行配置和识别的过程。
电脑会向设备发送一个请求,要求设备提供自己的信息,如设备ID,供应商ID等。
设备通过在D+和D-上发送特定的
电信号来回应请求。
4. 数据传输:一旦设备被识别并配置成功,数据传输可以开始。
传输数据的过程中,D+和D-上的电信号通过差分信号传输以
提高抗干扰能力。
数据可以在两种传输模式下进行:控制传输模式和批量传输模式。
5. 供电:除了传输数据,USB接口还可以为连接的设备提供
电源。
VCC线提供电源,设备可以通过接口从电脑获得所需
的电能。
6. USB控制器和驱动程序:为了实现USB的工作,操作系统
需要安装适当的USB控制器和驱动程序。
这些程序负责管理
USB接口和设备之间的通信,使得设备能够在电脑上正常工作。
总的来说,USB的工作原理是通过握手协议进行设备识别和配置,利用差分信号传输数据,在提供电源的同时实现数据传输和设备控制。
这使得USB成为一种方便、高效的设备连接方式。
usb识别原理
USB识别原理
USB(Universal Serial Bus,通用串行总线)是一种广泛使用的外部设备连接标准。
它可以连接计算机和各种设备,如打印机、摄像头、键盘、鼠标等。
USB识别原理基于插拔式技术,即用户可以在计算机运行时连接或拔除USB设备。
当用户将USB设备插入计算机的USB 端口时,计算机会根据一系列的识别步骤来确定设备类型,并为设备分配相应的驱动程序。
USB设备的识别过程如下:
1. 插入设备:用户将USB设备插入计算机的USB端口。
2. 电源供应:计算机通过USB端口为设备提供所需的电源供应。
3. 枚举过程:设备插入后,计算机会发送一个初始化信号,称为“设备已连接”信号,以通知每个被连接的设备。
4. 设备描述符检索:计算机通过发送一个控制命令来请求设备的描述符信息。
设备描述符包含了设备的基本信息,如设备类型、供应商ID、产品ID等。
5. 驱动程序加载:计算机会根据设备描述符的信息判断所需的驱动程序,并将驱动程序加载到操作系统中。
6. 驱动程序通信:计算机和设备驱动程序之间开始进行通信,以便于下一步的设备使用。
7. 设备使用:一旦驱动程序通信成功,计算机就可以开始使用USB设备进行相关的任务。
总结起来,USB设备的识别原理涉及到设备的插入、电源供应、枚举过程、设备描述符检索、驱动程序加载和通信等步骤。
通过这些步骤,计算机可以识别并正确使用连接的USB设备。
USB是怎么传输数据的,怎么识别设备的Dodo 原创于2008.6.15读这篇文章之前要对USB有一定的了解,知道什么是主机,设备,USB是一个主从结构的接口。
先说说USB主机是怎么识别一个U盘的吧,当你把一个U盘插到电脑上的时候,电脑的USB接口上会发生一些变化,这里先得说说USB数据线是怎样的,它里面一般有用的有四根线,ground,VCC,DM(D-),DP(D+),而DM,DP是用来传输数据的,当U盘(以后简称U)插到电脑上的时候,U会把DP(D+)拉高,使DP,DM保持一个J状态(DP为高DM 为低,有关总线的状态又有很多,想了解的自己去研究),电脑主板的USB主机芯片检测到这个J状态(DP(D+)拉高),(大概是这样,愿意详细了解的要仔细看协议),知道有设备连接上了(这里提到的主机和设备是指连接在USB线两端的USB接口芯片),电脑的驱动会对连接上的这个设备进行识别,我们把它叫做列举,这个过程是为了让电脑知道连接上的这个设备是什么东西(是U盘,还是USB鼠标,还是USB键盘,或是其他的什么)。
以下是一个U盘的全部列举过程,用图来说明,(有两个附件,一个USB分析仪软件,一个是U盘的的全部列举过程(部分),用USB分析仪软件打开)在这之前先说说USB数据是怎么在DM,DP上传输的吧,当主机检测到有设备连接上,驱动先会对这个设备作些必备的事情,识别他的速度(这个过程又有很多协议,不多说了,要了解的仔细研究协议),然后就是复位等等,之后就开始在总线(DM,DP)上发送1ms间隔的SOF包(全速)或125us间隔的SOF包(高速),低速(我也不太清楚,呵呵),什么是SOF包呢,SOF 就是start of frame (帧开始),其实就是帧开始的一个标记,其中有帧号,什么是帧呢,帧就是1ms的间隔(全速)或125us的间隔(高速),所有的数据都是在帧内传输的。
USB数据都是以包的形式发出的,包都有固定的格式,它以一个sync(同步)开始,以一个eop(end of packet,包结束)结束,sof 包也是一样的,高速的sync,eop和全速的sync,eop不同。
下面是包的结构图,从左到右依次是sync场,pid场,。
当然PID后面是什么,还有没有数据要看具体发什么包了。
后面的令牌包,帧开始包,数据包,握手包决定了PID 后面是什么,握手包的PID后面什么都没有,直接是EOP。
不得不说的是pid(packet ID 包的ID),就是说明这个包是什么包,包的类型有四种:令牌包,数据包,握手包,特殊包。
不同类型的包又有不同的格式,每种类型又有不同的PID:PID 类型PID 名PID[3:0] 描述令牌(Token)输出(OUT)输入(IN)帧开始(SOF)建立(SETUP)0001B1001B0101B1101B在主机到功能部件的事务中有地址+端口号在功能部件到主机的事务中有地址+端口号帧开始标记和帧号在主机到功能部件建立一个控制管道的事务中有地址+端口号数据(DATA)数据0(DATA0)数据1(DATA1)0011B1011B偶数据包PID奇数据包PID握手(Handshake)确认(ACK)不确认(NAK)停止(STALL)0010B1010B1110B接收器收到无措数据包;接收设备部不能接收数据,或发送设备不能发送数据;端口挂起,或一个控制管道请求不被支持。
专用(Special)前同步(PRE)1100B 主机发送的前同步字。
打开到低速设备的下行总线通信。
附一份中文的(不全)。
下面是各个包的格式:令牌包图8-5显示了标记包的字段格式。
标记由PID,ADDR和ENDP构成,其中PID指定了包是输入,输出还是建立类型。
对于输出和建立事务,地址和端口字段唯一地确定了接下来将收到数据包的端口。
对于输入事务的,这些字段唯一地确定了哪个端口应该传送数据包。
只有主机能发出标记包。
输入PID定义了从功能部件到主机的数据事务。
输出和建立PID定义了从主机到功能部件的数据事务。
图8-5 标记包格式如上图所示,标记包包括了覆盖地址和端口字段的5位CRC。
CRC并不覆盖PID,因为它有自己的校验字段。
标记和帧开始(SOF)包是由3个字节的包字段数据后面的包结束(EOP,End of Packet)界定的。
如果包被译码为合法标记或SOF,但却没有在3个字节之后以EOP终止,则它被认为是无效的,并被接收器忽略。
帧开始(SOF,Start-of-Frame)包主机以每1.00 ms ±0.0005 ms一次的额定速率发出帧开始(SOF)包。
如图8-6中所示,SOF 包是由指示包类型的PID和其后的11位的帧号字段构成。
图8-6 帧开始包SOF标记组成了仅有标记的(token-only)事务,它以相对于每帧的开始精确计算的时间间隔发送SOF记号(Marker)和伴随的帧数。
包括集线器的所有全速功能部件都可收到SOF包。
SOF 标记不会使得接收功能部件产生返回包;因此,不能保证向任何给定的功能部件发送的SOF 都能被收到。
SOF包发送2个时间调配(Timing)信息。
当功能部件探测到SOF的PID的时候,它被告知发生SOF。
对帧时间敏感而不需要追踪帧数(例如集线器)的功能部件,仅需对SOF 的PID译码;可忽略帧数和其CRC。
如果功能部件需要追踪帧数,它必须对PID和时间戳都进行译码。
对总线时间调配信息的没有特别需要的全速设备可以忽略SOF包。
8.4.3数据包如图8-7所示,数据包由PID,包括至少0个字节数据的数据区和CRC构成。
有2种类型的数据包,根据不同的PID:DA TA0和DA TA1来识别。
2种数据包PID是为了支持数据切换同步(Data Toggle Synchronization)(在第8.6节提到)而定义的。
图8-7 数据包格式数据必须以整数的字节数发出。
数据CRC仅通过对包中的数据字段计算而得到,而不包括PID,它有自己的校验字段。
握手包如图8-8所示,握手包仅由PID构成。
握手包用来报告数据事务的状态,能还在表示数据成功接收,命令的接收或拒绝,流控制(Flow Control)和停止(Halt)条件。
只有支持流控制的事务类型才能返回握手信号。
握手总是在事务的握手时相(Phase)中被返回,也可在数据时相代替数据被返回。
握手包由1个字节的包字段后的EOP确定界限。
如果包被解读为合法的的握手信号,但没有以1个字节后面的EOP终止,则它被认为是无效的,且被接收机忽略。
图8-8 握手包eop是在发完包后只表现在DM,DP上的一个标记,一个完整的包就是这样的,这只是以数据的形式表现出来的包,但是怎么把它发到DP,DM线上呢,有一种编码方式叫做NRZI编码,就是如果发的数据是1,DP,DM取反(相对于前一个数据),就是如果发的数据是0,DP,DM保持原有的值不变(保持前一个数据的值),取反和保持多久呢,是一个位时间,位时间?比如说全速12Mb/s ,算一下它发一个位的时间是83.33ns,这就是全速位的位时间。
DP,DM在发送数据之前是J状态(DP为高DM为低),还要注意,数据是按场发出去的,先发sync,然后pid,依次,每个场的数据都是先发低位然后次低位,最后最高位。
(数据场值得注意,按字节顺序发,每个字节先发低位)数据就是这样发到DP,DM 上的。
其中还有位填充==,很多其他的东西,这里不讲了,要了解的自己研究协议。
下面是NRZI 编码的图解:数据的编码与解码在包传送时,USB使用一种NRII(None Return Zero Invert,即无回零反向码)编码方案。
在该编码方案中,“1”表示电平不变,“0”表示电平改变。
图8列出了一个数据流及其它的NRII编码,在该图的第二个波形图中,一开始的高电平表示数据线上的J态,后面就是NRII编码。
一个包就是这样发出去的。
下面接着前面的列举说。
列举的整个过程是这样的:建立阶段:主机发一个SETUP 令牌包,后面紧跟一个(data)包(主机发的),这个data包是一个请求(请求是主机发给设备的,请求的作用是告诉设备主机下一步要干什么或者告诉设备该干什么,协议里规定了每个请求的格式和标准请求代码)比如说第一个请求是告诉设备要设备返回一个它的(设备的)设备描述符。
设备收到这个包无错误后会返回一个ACK握手包告诉主机已收到数据数据阶段:然后主机会发一个in令牌包,设备收到IN令牌包后,设备用数据(data)包(设备发的)返回他自己的设备描述符(协议里规定了各个设备的标准的描述符),描述符里会有一些设备的描述,(描述他是什么东西,是U盘,还是USB鼠标,还是USB键盘,或是其他的什么)。
主机收到数据无错误后会返回一个ACK握手包,这个阶段主机也可能发out令牌包+数据包(主机发的),数据阶段可以没有。
状态阶段:主机会发一个与数据阶段相反的令牌包,数据阶段如果是IN,现在发OUT +一个空的数据包(数据场没有数据的包),设备会用ACK握手包相应。
数据阶段如果是OUT,现在发IN不+数据包,设备会返回空的数据包,当主机收到包且无错误时,主机会发一个握手包ACK。
以上是一个无任何错误请求的全过程,在列举过程中会有很多这样的请求,主机不是只问一次就可以知道这个设备是什么,通过多次的请求。
直到知道这个设备是什么为止。
之后通过请求会对这个设备配置地址==。
电脑就是通过这个地址来区分插在电脑上的两的U 盘的。
以上的传输方式属于控制传输。
控制传输至少有两个阶段:建立和状态。
其他传输不是按这个(建立阶段,数据阶段,状态阶段)传输的,可以直接传输一个OUT包。
只有控制传输是这样的。
至于其他的传输类型只是区分一下每次传输的最大数据量,每帧传输的次数==。
自己看协议吧!下面是控制传输的图以上的过程当中还有可能出错,返回NAK而不是ACK ,数据触发机制(和发data0还是data1有关的),设备无相应,重试三次==一些问题没有讲,讲出来太多了。
要研究的自己看协议吧。
这篇文章主要是讲一下整个USB是怎么传输数据的,怎么认识一个设备的。
其中有很多没有讲,讲起来就要把协议全搬出来了,太多了。
要研究的看看这两本书,1。
《USB2.0与OTG规范及开发指南》。
北航出的,周立功编著,包括了所有USB的协议,高速,全速,OTG,HUB==,这本书把英文版的UAB 协议整个翻译了一遍,里面又很多错误的,他是按字面意思直接翻译的,没有联系到协议本身的意思。
2.《》国防工业大学出版的,已经有第二版了。
主要是电气规范,数据传输协议,设备开发和一些驱动开发。
以后的便携式设备越来越多,USB 的设备也越来越多,什么SD,MMC ,CF 这些卡,鼠标,键盘,==全用USB来连接到电脑。