USB基本知识与通信协议书范本
USB的通讯协议(通俗易懂).ppt
16.2 USB系统基本概念
• 16.2.2 USB设备
一个USB设备由三个功能模块组成:USB总线接口、USB逻辑 设备和功能单元。这里的USB总线接口指的是USB设备中的串行接口 引擎(SIE);USB逻辑设备被USB系统软件看作是一个端点的集合; 功能单元被客户软件看作是一个接口的集合。SIE、端点和接口都是 USB设备的组成单元。为了更好地描述USB设备的特征,USB提出了 设备架构的概念。从这个角度来看,可以认为USB设备是由一些配置、 接口和端点组成的,即一个USB设备可以含有一个或多个配置,在每 个配置中可含有一个或多个接口,在每个接口中可含有若干个端点。 其中,配置和接口是对USB设备功能的抽象,实际的数据传输由端点 来完成。在使用USB设备前,必须指明其采用的配置和接口。这个步 骤一般是在设备接入主机时设备进行自举时完成的,我们在后面会进 一步介绍。USB设备使用各种描述符来说明其设备架构,包括设备描 述符、配置描述符、接口描述符、端点描述符以及字符串描述符,它 们通常被保存在USB设备的固件程序中。
16.1 USB概述
• 主机定时对集线器的状态进行查询。当一个新设
备接入集线器时,主机会检测到集线器状态改变, 主机发出一个命令使该端口有效并对其进行设置。 位于这个端口上的设备进行响应,主机收到关于 设备的信息,主机的操作系统确定对这个设备使 用那种驱动程序,接着设备被分配一个唯一标识 的地址,范围从0~127,其中0为所有的设备在 没有分配惟一地址时使用的默认地址。主机向它 发出内部设置请求。当一个设备从总线上移走时, 主机就从其可用资源列表中将这个设备删除。
16.2 USB系统基本概念
• 16.2.1 USB主机
• (3) USB总线接口
USB总线接口包括主控制器和根集线器两部分。 根集线器为USB系统提供连接起点,用于给USB系 统提供一个或多个连接点(端口)。主控制器负责完 成主机和USB设备之间数据的实际传输,包括对传 输的数据进行串行编解码、差错控制等。该部分与 USB系统软件的接口依赖于主控制器的硬件实现, 开发人员不必掌握。
usb通讯协议书
usb通讯协议书USB通讯协议书写USB通讯协议(Universal Serial Bus Communication Protocol)是一种用于计算机和外部设备之间进行数据传输的通信协议。
它是USB接口的核心部分,负责规定了设备之间传输数据的格式、时序和流程等。
下面将详细介绍USB通讯协议的主要内容。
一、USB物理层USB物理层定义了传输介质的特性和接口的电气特性。
它规定了USB接口的引脚定义、电压和信号的时序等。
USB接口是一种通用的接口,可以连接各种不同类型的设备,因此物理层要能适配不同类型的传输介质和设备。
二、USB传输层USB传输层定义了USB通信中的数据传输方式和协议。
它包括以下几个方面的内容:1. 端点(Endpoint):USB设备通过端点来进行数据传输。
每一个USB接口都可以有多个输入端点和输出端点,它们分别用来接收和发送数据。
端点可以是控制端点、批量传输端点、中断传输端点或等时传输端点。
2. 端点描述符(Endpoint Descriptor):每个端点都要有一个对应的端点描述符,它包含了端点的特性和属性信息,包括端点的类型、方向、最大数据包大小等。
3. 传输类型:USB定义了多种数据传输方式,包括控制传输、批量传输、中断传输和等时传输。
每一种传输类型都有对应的传输协议和时序,用于实现数据的可靠传输。
三、USB协议层USB协议层定义了USB设备之间进行数据传输的规则和协议。
它包括以下几个方面:1. 控制传输:控制传输是USB通信中最基本的传输方式,用于设备之间的初始化和配置。
控制传输由设备请求和主机响应组成,通过控制传输可以发送命令和查询设备的状态信息。
2. 握手协议:USB通信中的数据传输是通过握手协议来进行的。
握手协议包括设备端点发送数据、主机端点接收数据和确认传输完成等步骤,用于确保数据的正确传输。
3. 帧结构:USB通信中的数据是按帧的形式进行传输的。
一帧包含了同步标记、包头、数据和CRC等字段。
usb.的协议及规范
Usb2.0的协议规范第1章绪论1.1 起因Intel公司开发的通用串行总线架构(USB)的目的主要基于以下三方面考虑:(一)计算机与电话之间的连接:显然用计算机来进行计算机通信将是下一代计算机基本的应用。
机器和人们的数据交互流动需要一个广泛而又便宜的连通网络。
然而,由于目前产业间的相互独立发展,尚未建立统一标准,而USB则可以广泛的连接计算机和电话。
(二)易用性:众所周知,PC机的改装是极不灵活的。
对用户友好的图形化接口和一些软硬件机制的结合,加上新一代总线结构使得计算机的冲突大量减少,且易于改装。
但以终端用户的眼光来看,PC机的输入/输出,如串行/并行端口、键盘、鼠标、操纵杆接口等,均还没有达到即插即用的特性,USB正是在这种情况下问世的。
(三)端口扩充:外围设备的添加总是被相当有限的端口数目限制着。
缺少一个双向、价廉、与外设连接的中低速的总线,限制了外围设备(诸如电话/电传/调制解调器的适配器、扫描仪、键盘、PDA)的开发。
现有的连接只可对极少设备进行优化,对于PC机的新的功能部件的添加需定义一个新的接口来满足上述需要,USB就应运而生。
它是快速、双向、同步、动态连接且价格低廉的串行接口,可以满足PC机发展的现在和未来的需要。
1.2 USB规范的目标本书规范了USB的工业标准。
该规范介绍了USB的总线特点、协议内容、事务种类、总线管理、接口编程的设计,以及建立系统、制造外围设备所需的标准。
设计USB的目标就是使不同厂家所生产的设备可以在一个开放的体系下广泛的使用。
该规范改进了便携商务或家用电脑的现有体系结构,进而为系统生产商和外设开发商提供了足够的空间来创造多功能的产品和开发广阔的市场,并不必使用陈旧的接口,害怕失去兼容性。
1.3 适用对象·该规范主要面向外设开发商和系统生产商。
并且提供了许多有价值的信息给操作系统/BIOS/设备驱动平台、IHVS/ISVS适配器,以及各种计算机生产厂家使用。
USB2.0网络、传输、通讯和协议
USB2.0网络、传输、通讯和协议USB在我们生活中应用非常广泛,但绝大部分工程师都只注重USB应用层的开发,很少有人去了解USB更底层的一些技术。
今天就结合USB 2.0来简单讲述USB底层的一些基础知识。
嵌入式专栏1USB网络USB物理层网络为分层星型网络:一台主机和若干从设备。
USB 2.0 网络最多可支持127个外部节点,由于信号传播的时序限制,允许的最大层数为七个:•主机(总线主控器)的一层•集线器和设备六层Hub:集线器,提供了附加的连接点,每个集线器将单个连接点转换为多个连接点,也称为端口。
Func:即Function功能,为系统提供了发送或接收数据和控制信息的功能,每个unc包含描述设备功能和资源要求的配置信息。
Compound Device:复合设备,是实现多种功能并包括嵌入式集线器的物理程序包。
复合设备在主机上看起来像是带有一个或多个不可移动USB设备的集线器。
星形网络对于以主机为中心的开发人员,USB网络看起来像是星形网络。
集线器不会引起任何编程复杂性,并且就程序员而言是透明的。
无论是直接连接到根集线器还是通过中间集线器连接,USB设备的工作方式都相同。
在主/从网络中,所有USB设备都可用作可寻址节点,只有主机才能启动网络中的数据传输。
提示:•任何USB网络中只有一个主机。
•在第七层中只能启用功能。
•复合设备占据两层。
嵌入式专栏2USB传输速率USB的传输速率经过一代一代发展,越来越快了,去年(2019)新出来的标准:USB 4 支持高达40Gbps。
目前流行的USB 3.0、 3.1的传输速率其实已经很高了,对于绝大部分应用,这个速率完全没问题。
早期的USB传输速率相对于现在很低,但在那个时候,传输速率其实已经很高了。
(图片来源网络)嵌入式专栏3USB通信USB是轮询总线,USB主机在其中启动所有数据交换,数据往返于USB设备中的端点。
USB主机中的客户端将数据存储在缓冲区中,但没有端点。
usb通讯协议
usb通讯协议USB通讯协议。
USB(Universal Serial Bus)是一种用于连接计算机和外部设备的通用接口标准。
USB通讯协议是指USB设备与主机之间进行通讯时遵循的一套规则和约定,它包括物理层、数据链路层、传输层和应用层等内容。
USB通讯协议的规范和标准化,使得不同厂家生产的设备可以在不同的计算机系统上进行通讯和交互,极大地方便了用户的使用。
首先,USB通讯协议的物理层是指USB设备与主机之间的物理连接和电气特性。
USB接口采用了四根线进行数据传输,分别是VCC(电源线)、D+(数据+线)、D-(数据-线)和GND(地线)。
通过这四根线,USB设备可以与主机进行电源供给和数据传输。
同时,USB接口还采用了热插拔技术,用户可以在不关闭计算机的情况下插拔USB设备,极大地方便了用户的使用。
其次,USB通讯协议的数据链路层是指USB设备与主机之间的数据传输和协议规范。
在USB通讯中,数据传输采用了主从式架构,主机负责控制数据传输的发起和管理,而从设备则被动地响应主机的指令。
此外,USB通讯协议还规定了数据传输的速率和格式,以及数据的校验和纠错机制,保证了数据传输的可靠性和稳定性。
另外,USB通讯协议的传输层是指USB设备与主机之间的数据传输方式和协议规范。
USB通讯采用了端点(Endpoint)的概念,分为控制端点、批量传输端点、中断传输端点和等时传输端点等不同类型,用于满足不同数据传输的需求。
同时,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个阶段而已。
usb通讯协议书
usb通讯协议书甲方(提供方):_____________________乙方(接收方):_____________________鉴于甲方拥有USB通讯技术,乙方需要使用该技术进行数据传输,双方本着平等互利的原则,经协商一致,就USB通讯技术的使用达成如下协议:第一条定义1. USB通讯技术:指甲方拥有的,用于实现计算机与外部设备之间数据传输的技术。
2. 数据传输:指通过USB通讯技术实现的,甲方与乙方之间数据的发送与接收。
第二条授权范围甲方授权乙方使用甲方的USB通讯技术进行数据传输。
授权范围限于乙方的内部业务需求。
第三条授权期限本协议自____年____月____日起至____年____月____日止。
第四条保密条款1. 乙方应对甲方提供的USB通讯技术及相关文档保密,未经甲方书面同意,不得向第三方披露。
2. 乙方应采取合理的保密措施,防止USB通讯技术泄露。
第五条技术支持与维护甲方负责提供USB通讯技术的技术支持和维护服务,确保乙方能够正常使用该技术。
第六条费用与支付1. 乙方应按照本协议约定向甲方支付使用费。
2. 支付方式、金额及时间由双方另行商定。
第七条违约责任1. 如一方违反本协议的任何条款,应承担违约责任,并赔偿对方因此遭受的损失。
2. 如乙方未按时支付使用费,甲方有权暂停技术支持服务,直至乙方补齐欠款。
第八条协议的变更与解除1. 本协议的任何变更或补充,须经双方协商一致,并以书面形式确认。
2. 如一方严重违约,另一方有权解除本协议。
第九条争议解决双方因履行本协议所发生的任何争议,应首先通过友好协商解决;协商不成时,任何一方可向甲方所在地人民法院提起诉讼。
第十条其他1. 本协议未尽事宜,双方可另行协商解决。
2. 本协议一式两份,甲乙双方各执一份,具有同等法律效力。
甲方代表(签字):_____________________乙方代表(签字):_____________________签订日期:____年____月____日签订地点:_____________________(此为模板内容,具体条款需根据实际情况调整和完善)。
usb协议书推荐
usb协议书推荐甲方(提供方):_______________地址:_______________________联系方式:_____________________乙方(接收方):_______________地址:_______________________联系方式:_____________________鉴于甲方拥有USB设备及相关技术,乙方需要使用该USB设备进行数据传输或存储,双方本着平等自愿、诚实信用的原则,就USB设备的使用达成如下协议:1. 定义USB设备:指由甲方提供,用于数据传输或存储的通用串行总线接口设备。
2. 设备提供甲方应向乙方提供符合乙方要求的USB设备,并保证该设备在交付时处于良好工作状态。
3. 使用范围乙方应将USB设备仅用于合法的数据传输或存储,不得用于任何违法活动。
4. 保密义务乙方在使用USB设备过程中,应遵守甲方的保密要求,不得泄露任何与甲方相关的商业秘密或技术信息。
5. 维护与保养乙方应妥善保管并维护USB设备,避免因不当使用造成设备损坏。
6. 责任限制甲方不对乙方使用USB设备产生的任何间接损失承担责任。
7. 协议期限本协议自双方签字盖章之日起生效,有效期为一年,除非双方另有书面约定。
8. 协议变更与解除任何一方需变更或解除本协议,应提前三十日书面通知对方,并经双方协商一致。
9. 争议解决因执行本协议所发生的任何争议,双方应通过友好协商解决;协商不成时,提交甲方所在地人民法院诉讼解决。
10. 其他本协议未尽事宜,双方可另行协商补充。
本协议一式两份,甲乙双方各执一份,具有同等法律效力。
甲方(签字):_________________ 日期:____年____月____日乙方(签字):_________________ 日期:____年____月____日(以下无正文)[注:以上协议书仅供参考,具体条款应根据实际情况制定,建议在正式签订前咨询专业法律人士。
usb通讯协议
usb通讯协议USB(Universal Serial Bus,通用串行总线)是一种用于计算机和外部设备之间进行数据传输和通信的通用接口。
USB通讯协议是指在USB接口上进行数据传输和通信时所遵循的规范和约定。
USB通讯协议主要包括物理层、传输层、协议层和应用层四个部分。
物理层是USB通讯协议的底层,负责确保信号在物理介质上传输的可靠性。
物理层使用差分信号传输,可以提供更稳定和可靠的数据传输。
传输层是建立在物理层之上的层次,主要负责数据传输的控制和管理。
传输层定义了不同类型数据的传输方式,包括中断传输、批量传输和等时传输等。
中断传输适用于需要及时响应和低延迟的应用,批量传输适用于传输大量数据但延迟要求不高的应用,等时传输适用于对时间实时性要求较高的应用。
协议层是在传输层之上的层次,用于处理数据的结构和格式。
协议层定义了数据的分包和封装方式,以及数据的控制和错误检测机制。
例如,在USB通讯中,协议层将数据划分为帧(frame)和包(packet),并添加了头部、尾部和错误检验等信息以确保数据的正确性。
应用层是在协议层之上的层次,用于实现具体的功能和应用。
应用层定义了数据的格式、解析和处理方式。
例如,在USB通讯中,应用层可以定义鼠标和键盘等外设的数据格式和交互方式,使得计算机可以正确地识别和处理这些外设的数据。
USB通讯协议具有以下特点和优势:1. 简单易用:USB通讯协议提供了一种统一的接口和通信方式,使得计算机和外部设备之间的连接和数据传输变得简单易用。
2. 高速传输:USB通讯协议支持高速的数据传输,最高可达到10Gbps,能够满足各种应用的需求。
3. 热插拔功能:USB通讯协议支持热插拔功能,即在运行过程中可以插入或拔出外部设备而不会影响系统的正常工作。
4. 多设备支持:USB通讯协议支持多设备的连接和管理,可以同时连接多个外部设备,并进行相应的数据传输和通信。
总结来说,USB通讯协议是一种用于计算机和外部设备进行数据传输和通信的标准接口和协议。
usb通信协议
usb通信协议USB通信协议是一种计算机通信协议,也是一种硬件接口标准。
USB(Universal Serial Bus,通用串行总线)是一种用于计算机外围设备和计算机之间传输数据的接口标准。
其目的是使计算机和周边设备间进行快速的、可靠的、方便的数据传输,同时是一种热插拔、多设备、不需要电源适配器的传输接口。
USB通信协议定义了计算机和周边设备之间传输数据的方式,包括数据传输的时间顺序、电气定义、传输速率等等。
在USB接口上有四个信号线分别为VCC、D+、D-和GND,其中VCC 为电源线,D+和D-线是传输数据的差分信号线,GND是接地线。
USB通信协议分为两种模式:控制传输模式和基于数据包的传输模式。
控制传输模式用于管理和配置USB设备,而基于数据包的传输模式则用于传输数据。
在基于数据包的传输模式中,数据被分成多个数据包并传输到接收方,接收方再将这些数据包组合起来以恢复原始数据。
USB通信协议支持的传输速率从低速到超高速依次为1.5Mbps、12Mbps、480Mbps、5Gbps。
传输速率的选择由USB主机和外设商协商得出,从而保证数据传输的速率和可靠性。
最后,需要注意的是USB通信协议的实现需要操作系统的支持,因此在使用USB设备时需要安装相应的驱动程序。
同时,为了保证设备的兼容性,USB通信协议也要经过许多认证,以确保各种USB设备之间的互通性和稳定性。
总之,USB通信协议是一种重要的硬件接口标准,它为计算机和周边设备之间的数据传输提供了强大的保障。
有助于提高计算机和设备之间的数据传输速率和可靠性,也使得用户能够更方便、更快速地使用各种外围设备。
USB通信协议
编码方式USB标准采用NRZI(翻转不归零制)方式对数据进行编码,电平保持时传送逻辑1,电平翻转时传送逻辑0。
软件架构焊接在印刷电路板上的USB插座一个USB主机通过hub链可以连接多个设备。
由于理论上一个物理设备可以承担多种功能,例如路由器同时也可以是一个SD卡读卡器,USB的术语中设备(device)指的是功能(functions)。
集线器(hub)由于作用特殊,按照正式的观点并不认为是function。
直接连接到主机的hub是根(root)hub。
[编辑]端点设备/功能(和集线器)与管道pipe(逻辑通道)联系在一起,管道把主机控制器和被称为端点endpoint的逻辑实体连接起来。
管道和比特流(例如UNIX 的pipeline)有着相同的含义,而在USB词汇中术语端点经常和管道混用,甚至在正式文档中。
端点(和各自的管道)在每个方向上按照0-15编号,因此一个设备/功能最多有32个活动管道,16个进,16个出。
(出(OUT)指离开控制器,而入(IN)指进入主机控制器。
)两个方向的端点0总是留给总线管理,占用了32个端点中的2个。
在管道中,数据使用不同长度的包传递,端点可以传递的包长度上限一般是字节,所以USB包经常包含的数据量依次有8、16、32、64、128、256、512或者1024字节。
一个端点只能单向(进/出)传输数据,自然管道也是单向的。
每个USB设备至少有两个端点/管道:它们分别是进出方向的,编号为0,用于控制总线上的设备。
按照各自的传输类型,管道被分为4类:∙控制传输(Control)——一般用于短的、简单的对设备的命令和状态反馈,例如用于总线控制的0号管道。
∙同步传输(Isochronous)——按照有保障的速度(可能但不必然是尽快地)传输,可能有数据丢失,例如实时的音频、视频。
∙中断传输(Interrupt)——用于必须保证尽快反应的设备(有限延迟),例如鼠标、键盘。
∙批量传输(Bulk)——使用余下的带宽大量地(但是没有对于延迟、连续性、带宽和速度的保证)传输数据,例如普通的文件传输。
USB的通讯协议通俗易懂
1
2
3
4
1
2
4
3
A型连接头
B型连接头
图16-2 USB连接头
16.3 USB物理特性
16.3.2 USB信号 差分信号技术特点 传统的传输方式大多使用正信号或者负信号二进制表达机制,这些信号利用单线传输。用不同的信号电平范围来分别表示1和0,它们之间有一个临界值,如果在数据传输过程中受到中低强度的干扰,高低电平不会突破临界值,那么信号传输可以正常进行。但如果遇到强干扰,高低电平突破临界值,由此造成数据传输出错。差分信号技术最大的特点是:必须使用两条线路才能表达一个比特位,用两条线路传输信号的压差作为判断1还是0的依据。这种做法的优点是具有极强的抗干扰性。倘若遭受外界强烈干扰,两条线路对应的电平同样会出现大幅度提升或降低的情况,但二者的电平改变方向和幅度几乎相同,电压差值就可始终保持相对稳定,因此数据的准确性并不会因干扰噪声而有所降低。
引脚编号
信号名称
缆线颜色
1
Vcc
红
2
Data-(D-)
白
3
Data+(D+)
绿
4
Ground
黑
表16-1 USB缆线的信号与颜色
16.3 USB物理特性
16.3.1 USB接口 从一个设备连回到主机,称为上行连接;从主机到设备的连接,称为下行连接。为了防止回环情况的发生,上行和下行端口使用不同的连接器所以USB在电缆和设备的连接中分别采用了两种类型的连接头,即图16-2所示的A型连接头和B型连接头。每个连接头内的电线号与图16-2的引脚编号是一致的。A型连接头,用于上行连接,即在主机或集线器上有一个A型插座,而在连接到主机或集线器的电缆的一端是A型插头。在USB设备上有B型插座,而B型插头在从主机或集线器接出的下行电缆的一端。采用这种连接方式,可以确保USB设备、主机/集线器和USB电缆始终以正确的方式连接,而不出现电缆接入方式出错,或直接将两个USB设备连接到一起的情况。
usb.的协议及规范
编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载usb.的协议及规范甲方:___________________乙方:___________________日期:___________________第1章绪论1.1 起因Intel公司开发的通用串行总线架构(USB)的目的主要基于以下三方面考虑:(一)计算机与电话之间的连接:显然用计算机来进行计算机通信将是下一代计算机基本的应用。
机器和人们的数据交互流动需要一个广泛而又便宜的连通网络。
然而,由于目前产业间的相互独立发展,尚未建立统一标准,而USB则可以广泛的连接计算机和电话。
(二)易用性:众所周知,PC机的改装是极不灵活的。
对用户友好的图形化接口和一些软硬件机制的结合,加上新一代总线结构使得计算机的冲突大量减少,且易于改装。
但以终端用户的眼光来看,PC机的输入/输出,如串行/并行端口、键盘、鼠标、操纵杆接口等,均还没有达到即插即用的特性,USB 正是在这种情况下问世的。
(三)端口扩充:外围设备的添加总是被相当有限的端口数目限制着。
缺少一个双向、价廉、与外设连接的中低速的总线,限制了外围设备(诸如电话/电传/调制解调器的适配器、扫描仪、键盘、PDA)的开发。
现有的连接只可对极少设备进行优化,对于PC机的新的功能部件的添加需定义一个新的接口来满足上述需要,USB就应运而生。
它是快速、双向、同步、动态连接且价格低廉的串行接口,可以满足PC机发展的现在和未来的需要。
1.2 USB规范的目标本书规范了USB的工业标准。
该规范介绍了USB的总线特点、协议内容、事务种类、总线管理、接口编程的设计,以及建立系统、制造外围设备所需的标准。
设计USB的目标就是使不同厂家所生产的设备可以在一个开放的体系下广泛的使用。
该规范改进了便携商务或家用电脑的现有体系结构,进而为系统生产商和外设开发商提供了足够的空间来创造多功能的产品和开发广阔的市场,并不必使用陈旧的接口,害怕失去兼容性。
USB基本知识及通信协议共33页word资料
串口通信协议什么是串口串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线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的通讯协议
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的HID通信协议
USB事务处理是主机和设备之间数据传输的基本单位,由一系列具有特定格式的信息包组成。
因此,要了解完整的USB通信协议,必须从USB的信息传输单元包及其数据域谈起。
通过由下而上,从简单至复杂的通信协议单位组成各种复杂的通信协议,进而构建出完整的通信协议。
16.4.1 包包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。
首先了解一下包的组成。
USB包由五部分组成,即同步(SYNC)字段、包标识符(PID)字段、数据字段、循环冗余校验(CRC)字段和包结尾(EOP)字段,包的基本格式如下:同步字段(SYNC) PID字段数据字段 CRC字段包结尾字段(EOP)在USB的数据传输中,所有的传输包都起始于SYNC,接着是PID,后面是包中所包含的数据信息,接下来是用来检测包中数据错误的循环冗余校验信息,最后以包结尾作为结束标志。
下面我们将一一介绍每个字段。
1.同步(SYNC)字段SYNC字段由8位组成,作为每个数据信息包的前导。
顾名思义,它是用来产生同步作用的,目的是使USB设备与总线的包传输率同步,它的数值固定为00000001。
2.包标识符(PID)字段PID字段是紧随在SYNC字段后面,用来表示数据信息包的类型。
在USB协议中,根据PID的不同,USB包有着不同的类型,分别表示具有特定的意义。
如下所示:PID0 PID1 PID2 PID3包标识符长度为一个字节(8个数据位),由4个位的包类型字段和4个位的校验字段构成。
PID是USB包类型的唯一标志,USB主机和USB设备在接收到包后,必须首先对包标识符解码得到包的类型,并判断其意义从而做出下一个反应。
包标识符中的校验字段是通过对类型字段的每个位求反码产生的,它是用来对包类型字段进行错误检测用的,旨在保证对包的标识符译码的可靠性,如果4个检验位不是它们各自的类型位的反码,则说明标识符中的信息有错误。
表16-2中列出了信息包的类型,包括令牌、数据、握手或特殊四种信息包类型。
usb串行接口协议书
usb串行接口协议书甲方(提供方):名称:____________________地址:____________________法定代表人:_______________职务:_____________________联系方式:________________乙方(使用方):名称:____________________地址:____________________法定代表人:_______________职务:_____________________联系方式:________________鉴于甲方拥有USB串行接口技术的所有权或使用权,乙方希望使用甲方的USB串行接口技术,双方本着平等互利的原则,经协商一致,达成如下协议:第一条定义1.1 USB串行接口技术:指甲方拥有或有权使用的,用于实现计算机与外部设备之间数据传输的技术。
1.2 使用权:指甲方授权乙方在本协议约定的范围内使用USB串行接口技术的权利。
第二条授权范围2.1 甲方同意将USB串行接口技术的使用权授权给乙方。
2.2 授权范围仅限于乙方在本协议约定的领域内使用,不得超出约定范围。
第三条使用期限3.1 本协议授权的使用期限自____年____月____日起至____年____月____日止。
第四条使用费用及支付方式4.1 乙方应向甲方支付使用费用,具体金额为__________元。
4.2 支付方式为__________(一次性支付/分期支付等)。
第五条技术支持与服务5.1 甲方应向乙方提供必要的技术支持与服务。
5.2 技术支持与服务的具体内容和方式由双方另行协商确定。
第六条保密条款6.1 双方应对本协议内容及在履行过程中知悉的对方商业秘密予以保密。
6.2 未经对方书面同意,任何一方不得向第三方披露、泄露或使用。
第七条违约责任7.1 如一方违反本协议约定,应向守约方支付违约金,违约金的具体金额由双方协商确定。
7.2 违约方应赔偿守约方因违约行为所遭受的一切损失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串口通信协议什么是串口串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线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位数据。
每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
c,停止位:用于表示单个包的最后一位。
典型的值为1,1.5和2位。
由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
d,奇偶校验位:在串口通信中一种简单的检错方式。
有四种检错方式:偶、奇、高和低。
当然没有校验位也是可以的。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校验,校验位位1,这样就有3个逻辑高位。
高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。
这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。
什么是RS-232RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。
可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。
用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。
RS-23 2只限于PC串口和设备间点对点的通信。
RS-232串口通信最远距离是50英尺。
DB-9针连接头-------------\ 1 2 3 4 5 /\ 6 7 8 9 /-------从计算机连出的线的截面。
RS-232针脚的功能:数据:TXD(pin 3):串口数据输出(Transmit Data)RXD(pin 2):串口数据输入(Receive Data)握手:RTS(pin 7):发送数据请求(Request to Send)CTS(pin 8):清除发送(Clear to Send)DSR(pin 6):数据发送就绪(Data Send Ready)DCD(pin 1):数据载波检测(Data Carrier Detect)DTR(pin 4):数据终端就绪(Data Terminal Ready)地线:GND(pin 5):地线其他RI(pin 9):铃声指示什么是RS-422RS-422(EIA RS-422-AStandard)是Apple的Macintosh计算机的串口连接标准。
RS-422使用差分信号,RS-232使用非平衡参考地的信号。
差分传输使用两根线发送和接收信号,对比RS-232,它能更好的抗噪声和有更远的传输距离。
在工业环境中更好的抗噪性和更远的传输距离是一个很大的优点。
什么是RS-485RS-485(EIA-485标准)是RS-422的改进,因为它增加了设备的个数,从10个增加到32个,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。
有了多个设备的能力,你可以使用一个单个RS-422口建立设备网络。
出色抗噪和多设备能力,在工业应用中建立连向PC机的分布式设备网络、其他数据收集控制器、HMI或者其他操作时,串行连接会选择RS-485。
RS-485是RS-422的超集,因此所有的RS-422设备可以被RS-485控制。
RS-485可以用超过4000英尺的线进行串行通行。
DB-9 引脚连接-------------\ 1 2 3 4 5 /\ 6 7 8 9 /-------从计算机连出的线的截面。
RS-485和RS-422的引脚的功能数据:TXD+(pin 8),TXD-(pin 9),RXD+(pin 4),RXD-(pin 5)握手:RTS+(pin 3),RTS-(pin 7),CTS+(pin 2),CTS-(pin 6)地线:GND (pin 1)什么是握手RS-232通行方式允许简单连接三线:Tx、Rx和地线。
但是对于数据传输,双方必须对数据定时采用使用相同的波特率。
尽管这种方法对于大多数应用已经足够,但是对于接收方过载的情况这种使用受到限制。
这时需要串口的握手功能。
在这一部分,我们讨论三种最常用的RS-232握手形式:软件握手、硬件握手和Xmodem。
a,软件握手:我们讨论的第一种握手是软件握手。
通常用在实际数据是控制字符的情况,类似于GPIB使用命令字符串的方式。
必须的线仍然是三根:Tx,Rx和地线,因为控制字符在传输线上和普通字符没有区别,函数SetXModem允许用户使能或者禁止用户使用两个控制字符XON和OXFF。
这些字符在通信中由接收方发送,使发送方暂停。
例如:假设发送方以高波特率发送数据。
在传输中,接收方发现由于CPU忙于其他工作,输入buffer已经满了。
为了暂时停止传输,接收方发送XOFF,典型的值是十进制19,即十六进制13,直到输入buffer空了。
一旦接收方准备好接收,它发送XON,典型的值是十进制17,即十六进制11,继续通信。
输入buffer半满时,LabWi ndows发送XOFF。
此外,如果XOFF传输被打断,LabWindows会在buffer达到75%和90%时发送XOFF。
显然,发送方必须遵循此守则以保证传输继续。
b,硬件握手:第二种是使用硬件线握手。
和Tx和Rx线一样,RTS/CTS和DTR/D SR一起工作,一个作为输出,另一个作为输入。
第一组线是RTS(Request to Send)和CTS(Clear toSend)。
当接收方准备好接收数据,它置高RTS线表示它准备好了,如果发送方也就绪,它置高CTS,表示它即将发送数据。
另一组线是DTR(DataTermi nal Ready)和DSR(Data SetReady)。
这些现主要用于Modem通信。
使得串口和M odem通信他们的状态。
例如:当Modem已经准备好接收来自PC的数据,它置高DTR线,表示和线的连接已经建立。
读取DSR线置高,PC机开始发送数据。
一个简单的规则是DTR/DSR用于表示系统通信就绪,而RTS/CTS用于单个数据包的传输。
在LabWindows,函数SetCTSMode使能或者禁止使用硬件握手。
如果CTS模式使能,LabWindows使用如下规则:当PC发送数据:RS-232库必须检测CTS线高后才能发送数据。
当PC接收数据:如果端口打开,且输入队列有空接收数据,库函数置高RTS和DTR。
如果输入队列90%满,库函数置低RTS,但使DTR维持高电平。
如果端口队列近乎空了,库函数置高RTS,但使DRT维持高电平。
如果端口关闭,库函数置低RTS和DTR。
c,XModem握手:最后讨论的握手叫做XModem文件传输协议。
这个协议在Modem 通信中非常通用。
尽管它通常使用在Modem通信中,XModem协议能够直接在其他遵循这个协议的设备通信中使用。
在LabWindows中,实际的XModem应用对用户隐藏了。
只要PC和其他设备使用XModem协议,在文件传输中就使用LabWindows的XModem函数。
函数是XModemConfig,XModemSend和XModemReceive。
XModem使用介于如下参数的协议:start_of_data、end_of_data、neg_ack、wa it_delay、start_delay、max_tries、packet_size。
这些参数需要通信双方认定,标准的XModem有一个标准的定义:然而,可以通过XModemConfig函数修改,以满足具体需要。
这些参数的使用方法由接收方发送的字符neg_ack确定。
这通知发送方其准备接收数据。
它开始尝试发送,有一个超时参数start_delay;当超时的尝试超过max_ties次数,或者收到接收方发送的start_of_data,发送方停止尝试。
如果从发送方收到start_of_data,接收方将读取后继信息数据包。
包中含有包的数目、包数目的补码作为错误校验、packet_size字节大小的实际数据包,和进一步错误检查的求和校验值。
在读取数据后,接收方会调用wait_delay,然后想发送方发送响应。
如果发送方没有收到响应,它会重新发送数据包,直到收到响应或者超过重发次数的最大值max_tries。
如果一直没有收到响应,发送方通知用户传输数据失败。
由于数据必须以pack_size个字节按包发送,当最后一个数据包发送时,如果数据不够放满一个数据包,后面会填充ASCII码NULL(0)字节。
这导致接收的数据比原数据多。
在XModem情况下一定不要使用XON/XOFF,因为XModem发送方发出包的数目很可能增加到XON/OFF控制字符的值,从而导致通信故障。