在上一篇中,介绍了USB设备的加载过程,其中提到了USB设备信息的传送方式有:控制传送(control),同步传送(isochronous),中断传送(interrupt),批传送(bulk)四种。这四种传送方式是针对不同的USB设备应用设计的。下面介绍一下这几种传送方式,具体的还是要自己看规约啊。
控制传送:可靠的、非周期性的、由主机软件发起的请求或者回应的传送,通常用于命令事务和状态事务。我在第一篇中介绍设备端点的时候,说了0号端点。0号端点是USB默认的缺省控制端点,同时要注意的是,控制端点是双向的。控制传送就是用来在控制端点上传送USB设备的控制信息(命令事务和状态事务)。USB设备的其它非控制端点可以使用除控制传送方式以外的其它三中传送方式,但控制端点必须使用控制传送。这样的话,也就是说:USB设备中一定必须有控制传送。
同步传送:在主机与设备之间的周期性的、连续的通信,一般用于传送与时间相关的信息。这种类型保留了将时间概念包含于数据中的能力。但这并不意味着,传送这样数据的时间总是很重要的,即传送并不一定很紧急。典型应用:USB音频设备(USB耳机,USB电话什么的)。
中断传送:小规模数据的、低速的、固定延迟的传送。典型应用:USB键盘,USB鼠标。
批传送:非周期性的,大包的可靠的传送。典型地用于传送那些可以利用任何带宽的数据,而且这些数据当没有可用带宽时,可以容忍等待。典型应用:U盘,MP3。