USB通讯协议(通俗易懂,新手绝对入门)
- 格式:ppt
- 大小:4.20 MB
- 文档页数:3
usb协议深入解读USB(Universal Serial Bus)是一种通用的串行总线标准,用于连接电脑与外部设备,如键盘、鼠标、打印机、存储设备等。
USB协议定义了电脑和外部设备之间的通信规则,保证了设备的互操作性和兼容性。
USB协议的工作原理是将数据分成小的信息包(packet),通过USB线缆传输。
数据传输分为Control、Bulk、Interrupt和Isochronous四种传输类型。
控制传输用于设备配置和命令交互,批量传输用于大容量数据传输,中断传输适用于延迟要求较高的设备,同步传输用于实时流媒体数据传输。
USB协议采用主从架构。
电脑作为主机(host),外部设备作为从设备(device)。
主机负责控制和管理设备的连接和通信,从设备根据主机的指令执行任务。
每个设备都有一个唯一的设备地址,主机通过唯一的地址识别和寻找特定的设备。
USB协议还定义了一种层次结构,包括物理层、总线层、设备层和应用层。
物理层负责USB线缆的传输、信号传输和电气特性。
总线层负责数据帧的传输、错误检测和纠正,以及设备的连接和断开管理。
设备层负责设备地址分配、设备功能描述和配置管理。
应用层根据设备的功能需求进行数据交换和通信。
USB协议还支持热插拔功能,即在不关机的情况下插入或拔出外部设备。
这得益于协议对设备的供电和识别机制。
当设备插入时,主机会为其提供所需的电源,然后通过设备描述符和配置描述符来识别设备的类型和功能。
通过热插拔功能,用户可以方便地连接和断开设备,无需重新启动电脑。
在USB协议中,还有一种特殊的设备称为HID(Human Interface Device),用于连接输入设备(如键盘、鼠标)和输出设备(如显示器)。
HID设备使用标准的USB报告描述符进行通信,主机通过解读报告描述符来识别和操作设备。
这种设计使得不同品牌的键盘和鼠标可以通用于各种操作系统和电脑设备。
需要注意的是,USB协议并不仅限于连接电脑和外部设备。
串口通信协议什么是串口串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal SerialBus或者USB混淆)。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成:(1)地线,(2)发送,(3)接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但是不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通行的端口,这些参数必须匹配:a,波特率:这是一个衡量通信速度的参数。
它表示每秒钟传送的bit的个数。
例如300波特表示每秒钟发送300个bit。
当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。
这意味着串口通信在数据线上的采样率为4800Hz。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
b,数据位:这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。
USB的通讯协议
USB(Universal Serial Bus,通用串行总线)是现在计算机市场上最流行的互联技术。
它可以通过串行接口将计算机与外部设备连接起来,简化了人们和电脑之间的交流。
大多数计算机都配有USB接口,而各种外部设备,如打印机,外部硬盘,扫描仪,数码相机,数码录音机,MP3播放器等,都可以通过USB接口实现与计算机之间的传输。
USB的技术协议是一种特殊的串行接口技术,也叫做Serial Bus Protocol(SBP),它定义了计算机和外部设备之间的传输规则,也就是调制解调器(Modem)只能支持一种协议的规则,使得数据能够可靠的安全地传输。
它是由电缆和接头组成的,电缆由4根线分别为:地线(GND),速度控制线(RXD),数据线(TXD),电压线(Vcc)。
接头有A和B两种,其中A接口具有主控功能,B接口具有从控功能。
USB的功能是把一个设备(如打印机)连接到另一个设备(如PC 机),实现数据传输,它被分为两个层次:物理层和数据链路层。
物理层定义了信号和线路接口及工作电压,它主要定义了线缆,连接器,电压,电流以及信号传输形式;数据链路层定义了数据传输的方式,包括数据格式,错误控制和流量控制。
usb通信协议USB通信协议。
USB(Universal Serial Bus)是一种用于连接计算机和外部设备的通用接口标准。
USB通信协议是指在USB接口上进行数据传输时所遵循的规范和约定。
USB通信协议的设计旨在实现设备间的高速、可靠的数据传输,同时保持简单易用的特点。
本文将介绍USB通信协议的基本原理、数据传输方式以及常见的应用场景。
首先,USB通信协议的基本原理是通过主机-设备的架构进行数据传输。
在USB接口上,主机负责发起数据传输请求和管理总线上的设备,而设备则负责响应主机的请求并进行数据传输。
USB通信协议通过定义不同的传输类型(如控制传输、批量传输、中断传输和等时传输)来满足不同设备的数据传输需求。
控制传输用于配置设备和发送命令,批量传输适用于大容量数据的传输,中断传输用于周期性的小数据传输,而等时传输则用于实时数据传输。
其次,USB通信协议的数据传输方式包括同步传输和异步传输。
在同步传输中,数据的传输速度是由主机控制的,主机会周期性地向设备发送数据请求并接收数据响应。
而在异步传输中,设备可以主动向主机发送数据,主机则负责接收和处理数据。
USB通信协议通过这种灵活的数据传输方式,可以满足各种不同设备的数据传输需求,包括打印机、键盘、鼠标、存储设备等。
最后,USB通信协议在各种应用场景中都得到了广泛的应用。
在个人电脑上,USB通信协议被用于连接鼠标、键盘、打印机、摄像头、存储设备等外部设备。
在嵌入式系统中,USB通信协议也被广泛应用于连接各种传感器、执行器和控制器。
此外,USB通信协议还被用于连接智能手机、平板电脑、电视机、音响等消费类电子产品,实现数据传输和充电功能。
综上所述,USB通信协议作为一种通用的数据传输标准,已经成为了现代计算机和外部设备之间数据传输的重要桥梁。
通过遵循USB通信协议的规范和约定,不同厂商生产的设备可以实现互连互通,为用户提供了更加便利和丰富的外部设备选择。
USB通信协议——数据交易表列出了组成4种传输类型的元素。
在这里,读者就需要注意一些通信协议的结构。
例如,传输与数据交易、数据交易与封包、封包与字段之间的关系。
当然,这是相当复杂且容易弄混淆的地方。
其中,传输包含1个或是更多的数据交易,每一个数据交易又包含1个、2个或是3个封包。
而封包中,又包含封包标识符(PID)字段、检查字段(CRC)以及额外的信息字段。
表传输类型、数据交易与封包的关系表*每一个封包是往下端接口传递出去的,若是低速,前面还会再放置PRE封包。
因此,若要了解完整的USB通信协议就必须从数据域谈起。
通过由下而上,从简易至复杂的通信协议单位来组合出各种复杂的通信协议,进而构建出完整的通信协议。
从表的第2栏中,可以知道其中包含了3种数据交易类型。
这3种数据交易是根据其目的与数据流方向来决定的。
其中,SETUP数据交易用来送出控制传输要求给设备;IN数据交易是数据从设各传回主机;OUT数据交易是将数据传送出去给设各。
每一个数据交易中,包含了辨识、错误检核、状态以及控制信息,同样也包含了要交换的数据等。
此外,一个完整的数据交易可能占用多个帧。
但是数据交易却是一个实现USB通信协议的最基本的结构组成。
也即是,在总线上没有任何通信能够去切断该数据交易的沟通过程。
当然,除非是错误的USB通信过程。
此外,一个小量数据的传输也许仅需一个数据交易。
如果是大量的数据,传输可能就需使用多个数据交易,每一次传输一部分数据。
读者或许会认为表的通信协议的结构非常复杂。
其中,尤其是第1栏所列的控制传输是较为严谨与必须去实现的。
根据上述不同封包的组合与搭配就可以执行各种数据交易。
但最重要的是,数据交易的格式必须与前面所提及的4种传输类型互相配合。
这是因为不同的传输类型就会执行不同的数据交易。
其中,除了等时传输外,控制传输、中断传输与批量传输都以下列的3个阶段来组成一个数据交易的动作。
等时传输却只有包含如下所列的2个阶段而已。
串口通信协议什么是串口串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal SerialBus或者USB混淆)。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(b yte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成:(1)地线,(2)发送,(3)接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但是不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通行的端口,这些参数必须匹配:a,波特率:这是一个衡量通信速度的参数。
它表示每秒钟传送的bit的个数。
例如300波特表示每秒钟发送300个bit。
当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。
这意味着串口通信在数据线上的采样率为4800Hz。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
b,数据位:这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。
Usb详解USB作为一种串行接口,应用日益广泛。
如同每个工程设计人员必须掌握I2C,RS232这些接口一样,我们也必须掌握usb.但是usb的接口协议实在有点费解,linux uhci驱动作者之一Alan Stern曾经就说过“The USB documentationis downright evil. Most of it is just crap, written by a committee. You're better off ignoringmost of it ”。
本文将从整体上介绍usb协议,包括usb host ,usb hub,usb function。
希望能给读者一个总体上的了解。
也因此,文章将分成相应的三部分讲解。
一。
usb function1。
初识b是一种串行接口协议,它靠d+,d-两条数据线构成的差分线来进行数据传输,这让我们非常感兴趣它到底和我们通常熟悉两线rs232/485有何区别。
了解这种区别有助于我们对usb作一个深入的了解。
那么让我们回想一下到底一个两线rs232的数据是如何传送的,如图一:在这里我们的重点在于,我们发现要在串行口传送数据一个最体码的要求恐怕就是:要知道数据传输何时开始,何时结束。
即如何delimit.那么rs232怎么做的。
显然,在idle(空闲)时,即无数据传送时,数据线处于高电平,等到有数据开始传送,发送方首先拉低数据线(start),表示数据传输开始,接受端也因为这个“start”信号开始准备接受即将到来的数据,类似一次握手,随后,在两者之间的数据传送开始,结束后主方再次拉高数据线,表示结束传输,自此两者重新进入Idle状态。
等待下一轮传送开始。
了解了rs232,那么我们自然想到usb如何做到这个呢,既然是串行位流传输,也理所当然的解决这个问题。
没错,Usb协议必然要解决这个问题,让我们作一个类似rs232的比较吧!类似于rs232,usb的传输桢如图二:(这里我们暂时忽略这个传输所代表的意义)为了说明问题,我们对一些问题简化,我们定义这样几个状态:假设D+,D-分别表示usb信号线的电平信号。
usb协议深入解读
USB(通用串行总线)是一种广泛使用的计算机接口标准,主要用于连接计算机和其他外部设备。
它诞生于1994年,由微软、英特尔和惠普等公司联合开发。
USB协议是USB接口的通信协议,它定义了计算机如何与外部设备进行通信。
USB协议是一种分层协议,从上到下分为三层:应用层、传输层和物理层。
1.应用层:这一层主要负责处理应用程序的请求,例如文件传输、设备驱动程序等。
2.传输层:这一层负责将数据打包成包,并通过USB总线传输。
它提供了四种类型的传输方式:控制传输、批量传输、中断传输和同步传输。
每种传输方式都有其特定的用途和特性。
3.物理层:这一层负责实际的物理连接和信号传输。
它定义了USB设备的物理特性,如电压、电流等,并规定了USB设备的物理连接方式,如插头和插座的形状、尺寸等。
在USB协议中,数据是以数据包的形式传输的。
每个数据包都包含一个同步字段、一个包标识符字段、一个数据字段和一个校验字段。
同步字段用于同步数据包的开始和结束;包标识符字段用于标识数据包的类型;数据字段包含实际传输的数据;校验字段用于检查数据包的完整性。
USB协议还定义了设备的枚举过程,即计算机如何识别和配置外部设备。
枚举过程中,计算机通过发送请求给设备,获取设备的描述信息,然后根据这些信息对设备进行配置。
总的来说,USB协议是一种灵活、高效、易于使用的通信协议,它使得外部设备的连接和配置变得更加简单和方便。
随着USB标准的不断发展,现在USB接口已经成为计算机和其他设备的标配接口之一。
USB通信协议——深⼊理解USB通信协议——深⼊理解0. 基本概念⼀个【传输】(控制、批量、中断、等时):由多个【事务】组成;⼀个【事务】(IN、OUT、SETUP):由⼀多个【Packet】组成。
USB数据在【主机软件】与【USB设备特定的端点】间被传输。
【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。
⼀个USB设备可以有多个管道(pipes)。
1. 包(Packet)包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。
数据在 USB总线上的传输以包为单位,包只能在帧内传输。
⾼速USB 总线的帧周期为125us,全速以及低速 USB 总线的帧周期为 1ms。
帧的起始由⼀个特定的包(SOF 包)表⽰,帧尾为 EOF。
EOF不是⼀个包,⽽是⼀种电平状态,EOF期间不允许有数据传输。
注意:虽然⾼速USB总线和全速/低速USB总线的帧周期不⼀样,但是SOF包中帧编号的增加速度是⼀样的,因为在⾼速USB系统中,SOF包中帧编号实际上取得是计数器的⾼11位,最低三位作为微帧编号没有使⽤,因此其帧编号的增加周期也为 1mS。
• USB总线上的情形是怎样的?• 包是USB总线上数据传输的最⼩单位,不能被打断或⼲扰,否则会引发错误。
若⼲个数据包组成⼀次事务传输,⼀次事务传输也不能打断,属于⼀次事务传输的⼏个包必须连续,不能跨帧完成。
⼀次传输由⼀次到多次事务传输构成,可以跨帧完成。
USB包由五部分组成,即同步字段(SYNC)、包标识符字段(PID)、数据字段、循环冗余校验字段(CRC)和包结尾字段(EOP),包的基本格式如下图:1.1 PID类型(即包类型)1.2 Token Packets此格式适⽤于IN、OUT、SETUP、PING。
PID 数据传输⽅向IN Device->HostOUT Host->DeviceSETUP Host->DevicePING Device->Host1.3 Start-of-Frame(SOF) PacketsSOF包由Host发送给Device。
通俗易懂的USB协议详解USB(Universal Serial Bus)是一种用于计算机外部设备的通信接口标准。
它是一种快速、易用和多功能的连接标准,广泛应用于各种设备,如键盘、鼠标、打印机、存储设备等。
本文将详细解释USB协议的工作原理和通信过程。
USB的工作原理:USB协议使用主从架构,其中主机(Host)是发起数据传输的设备,而从机(Peripheral)是被动等待命令的设备。
通信过程包括主机发送命令和从机返回响应。
USB分为各个版本,每个版本都有自己的规范和特性。
USB1.0和1.1的数据传输速率为1.5Mbps和12Mbps,USB2.0提高到了480Mbps,USB3.0达到了5Gbps,USB3.1则有10Gbps的速率。
USB Type-C是一种新的接口规范,支持更高的传输速率和更多的功能。
USB传输类型:USB传输类型主要有三种:控制传输(Control Transfer)、批量传输(Bulk Transfer)和中断传输(Interrupt Transfer)。
控制传输是主机和从机之间交换控制命令的过程,用于配置从机和获取状态信息。
这种传输类型速度较慢,但可靠性高。
常见的示例是设备初始化和配置。
批量传输用于大容量数据的传输,速度较快,但可靠性较低。
常用于大容量存储设备和打印机等。
中断传输用于低延迟和实时数据传输。
它在通信过程中不需要确定发送/接受数据的时间间隔,但传输速率较低。
示例包括鼠标和键盘输入。
USB通信过程:握手阶段是主机向从机发送命令,并等待从机的响应。
主机发送一个命令包含特定的命名和数据,从机接收并处理命令,然后发送响应给主机。
握手阶段用于确保主机和从机都能够正常通信。
命令阶段是主机和从机之间的数据传输,用于配置设备和请求数据。
命令由特定的标识符和参数组成,从机根据命令执行相应的操作,并返回主机所需的数据。
数据传输阶段是指在命令阶段之后,如果需要传输大量数据时的过程。
串口通信协议什么是串口串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal SerialBus或者USB混淆)。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(b yte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成:(1)地线,(2)发送,(3)接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但是不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通行的端口,这些参数必须匹配:a,波特率:这是一个衡量通信速度的参数。
它表示每秒钟传送的bit的个数。
例如300波特表示每秒钟发送300个bit。
当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。
这意味着串口通信在数据线上的采样率为4800Hz。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
b,数据位:这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。