USB通信协议——传输类型
控制传输是USB传输中最重要的传输类型,只有正确执行完控制传输,才能进一步执行其他的传输类型。这种传输是用来提供给介于主机与设各之间的配置、命令或状态的通信协议之用的。控制传输能够使能主机去读取与此设各相关的信号,并去设置设备地址,以及选择配置与其他的设置等。此外,控制传输也能够送出自定义的要求,以针对任何目的送出与接收数据。因此须以双向传输来达到这个要求。当然,所有的USB设各必须支持控制传输。
中断传输原本属于单向传输,并且仅从设各输人到PC主机,作IN的传送模式(但在规范书1.1版中,已改为双向传输,增加了OUT的传送模式)。这是由于最早在开发USB外围设备时,先以人工接口设各为设计考虑,其数据只须做输入IN传输,如鼠标或键盘等设备。而由于USB不支持硬件的中断,所以必须靠PC主机以周期性的方式加以查询,以便获知是否有设各需要传送数据给PC。如果因为错误而发生传送失败的话,可以在下一个查询的期间重新再传送一次。
批量传输属于单向或双向的传输。顾名思义,这类型的传输用来传送大量的数据。这些大量的数据必须准确地加以传输,但相对的却无传输速度上的限制(即没有固定传输的速率)。例如,送出一个文件给打印机,或是从扫描机扫描一张图片,并传送至PC主机上。这是由于批量传输是针对未使用到USB带宽来向主机提出要求的。如此,须根据目前的总线的拥挤状态或是可用的带宽,以所有可使用到的带宽为基准,不断地调整本身的传输速率。因此,如果总线上充满了具各保证带宽的其他传输的话,如等时传输或是中断传输,那么批量传输就必须持续地加以等待。反之,如果整个总线是处于闲置状态的话,批量传输就可以传输得非常快。因此,并没有设置查询的时间间隔。
等时传输可以是单向或双向的传输。此种传输需要维持一定的传输速度,因此相对的就须牺牲些微错误的发生。而它采用了预先与PC主机协议好的固定带宽,以确保发送端与接收端的速度能相互吻合。换而言之,就算发生了传输上的错误,也不会重新传送。应用这类型传输的设各有:USB麦克风、喇叭或是CCD等设备,如此可以确保播放的频率或是传输的影像不会被扭曲。仅有全速与快速设备是支持等时传输的。
- Linux系统下USB摄像头驱动程序开发(04-25)
- 基于uClinux嵌入式系统的汽车黑匣子的设计(07-08)
- 基于WinCE操作系统的通用USB数控键盘设计(08-05)
- 基于WinCE的ARM视频监控系统(11-14)
- 基于LabVIEW的USB实时数据采集处理系统的实现(03-26)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)