- 空间
USB接口中几种概念的理解.这是我自己的理解。如果系统要访问USB设备。首先要调用USB设备驱动。USB设备驱动,会
调用USB内核中的函数。最终USB内核中的函数还要调用USB主机驱动。还控制usbhost硬件来实现数据的传输。这是整个
数据的调用层次结构。
再看看USB设置驱动。USB设备驱动攻最重要的有两个概念。配置,接口,端点。一个接口就是一个功能。一般来说一个
USB设备只有一个接口。比如鼠标摄像头。但是也有的USB设备有多个功能。比如,具有语音输入功能的USB摄像头。此时这个
USB设备就具有两个功能,一个是摄像头,另一个是麦克风的功能。也就是说,这个USB设备有两个接口。再说说端点点
的功能。端点点在逻辑上是位于接口内的。一个接口可以拥有多个端点。低速设置好像最多拥有三个端点,高速设备
最多可以拥有16个端点。端点有两种类型,IN和OUT。端点可以看做是逻辑上的单向数据管道。
然后是传输。传输总共有四种类型。控制传输,中断传输。同步传输,大容量数据传输。可以说这4种不同的传输对应的4
种不同的USB设备。传输过程是有不同的包组成的。多写包又大概分为四类。token,data,handshake,special.常用的基
本上就是前三中。这些传输一班都是you,控制包,数据包和握手包组成。但是同步传输没有握手包,因为同步传输要保
证最大的带宽。
刚开始老是把传输啦,端点啦搞糊涂了,仔细思考一下,发现它们根本不一样,无论packet,还是传输,都是在USB总线上流动的数据,传输是不同类型的包按一定的次序组成的。而这些数据都是根据它们的IN,OUT类型,从不同的端点(EP)中发出来 的。接口可以看作是一个功能,一个驱动的集合。
收藏于 2013-01-08
软件最多也就控制到“USB传输”,包是控制不到包的,由USBHOST根据寄存器设置的类型,自动生成包序列组成一次传输。