微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > USB通信协议——数据交易

USB通信协议——数据交易

时间:10-17 来源:互联网 点击:
表列出了组成4种传输类型的元素。在这里,读者就需要注意一些通信协议的结构。例如,传输与数据交易、数据交易与封包、封包与字段之间的关系。当然,这是相当复杂且容易弄混淆的地方。其中,传输包含1个或是更多的数据交易,每一个数据交易又包含1个、2个或是3个封包。而封包中,又包含封包标识符(PID)字段、检查字段(CRC)以及额外的信息字段。

  表 传输类型、数据交易与封包的关系表

  *每一个封包是往下端接口传递出去的,若是低速,前面还会再放置PRE封包。

  因此,若要了解完整的USB通信协议就必须从数据域谈起。通过由下而上,从简易至复杂的通信协议单位来组合出各种复杂的通信协议,进而构建出完整的通信协议。

  从表的第2栏中,可以知道其中包含了3种数据交易类型。这3种数据交易是根据其目的与数据流方向来决定的。其中,SETUP数据交易用来送出控制传输要求给设备;IN数据交易是数据从设各传回主机;OUT数据交易是将数据传送出去给设各。每一个数据交易中,包含了辨识、错误检核、状态以及控制信息,同样也包含了要交换的数据等。此外,一个完整的数据交易可能占用多个帧。但是数据交易却是一个实现USB通信协议的最基本的结构组成。也即是,在总线上没有任何通信能够去切断该数据交易的沟通过程。当然,除非是错误的USB通信过程。

  此外,一个小量数据的传输也许仅需一个数据交易。如果是大量的数据,传输可能就需使用多个数据交易,每一次传输一部分数据。读者或许会认为表的通信协议的结构非常复杂。其中,尤其是第1栏所列的控制传输是较为严谨与必须去实现的。

  根据上述不同封包的组合与搭配就可以执行各种数据交易。但最重要的是,数据交易的格式必须与前面所提及的4种传输类型互相配合。这是因为不同的传输类型就会执行不同的数据交易。其中,除了等时传输外,控制传输、中断传输与批量传输都以下列的3个阶段来组成一个数据交易的动作。

  等时传输却只有包含如下所列的2个阶段而已。若等时传输在传输的过程中发生错误,不会重送一次,所以也就不具有握手阶段。

  因此,为了方便读者的记忆与了解整个USB的通信协议,在此以一个较简易的方式来向读者介绍。即是通过一个小口诀来介绍USB通信概念。这个口诀即是:5 4 2 3 3,如图所示。

  图 USB通信协议的简易口诀

  这个口诀相当简单,有点像是通关秘诀,而整个数字的顺序即可串联出USB的通信协议。5,4,2即分别为每个封包(令牌、数据与握手)的字段数目,其后的3则为实现一个数据交易所需的3个封包阶段(令牌、数据与握手),而最后的3则为实现一个控制传输所需的3个数据交易层。读者可以对照表,且只须以这个简易的数字顺序,从下层到上层,即可构建出一个完整的控制传输。而以下,先从USB封包类型与其所包含的字段来谈起。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top