USP摄像头是一种新兴的高科技产品,因为其携带方便,隐密性强,在很多的地方都得到了应用。那么USP摄像头是怎么进行数据传输的呢,是怎么把画面传输给用户的呢,今天就给大家介绍一下。USB摄像头中有四种类型的端点,也就对应四种不同的传输方式,分别是控制传输、中断传输、同步传输和块传输。
USP摄像头
1、控制传输,控制传输的读写时序如下:
控制传输总共三个阶段,setup阶段、数据阶段和状态阶段,其中数据阶段是可选的,而每个阶段都包含三个过程,即令牌过程、数据过程和握手过程。每个USB摄像头设备都必须具有控制传输功能,控制传输用于主机同设备的控制端点进行通信,通过读取设备的配置信息来完成对设备的枚举和配置。
setup阶段首先是setup令牌,然后是数据过程,最后是状态过程,对于数据过程只能使用DATA0包,设备在接收到setup数据包之后,需要返回ACK信号,如果接收数据错误,设备是不会返回握手包。setup数据呢就是主机往设备发送的请求数据包,设备根据这个请求数据包来做相应的动作,例如:返回设备描述符或者直接进入状态阶段返回一个0长度的数据包。SETUP传输呢有点类似于OUT传输,只不过OUT传输发送的是OUT令牌,SETUP传输发送的是SETUP令牌。
如果是OUT传输呢,那么首先发送的是OUT令牌,如果IN传输呢,则发送的是IN令牌,然后是数据过程,数据过程必须以DATA1包开始,然后在DATA0和DATA1之间交替,注意数据过程的方向必须是同一个方向,即要么都是IN传输,要么都是OUT传输。
状态阶段的传输方向同数据阶段的传输方向刚好相反,即数据阶段是IN传输呢,状态阶段就是OUT传输,数据阶段是OUT传输呢,状态阶段就是IN传输。如果没有数据阶段呢,那就是只能是IN传输。
状态阶段的数据过程呢使用的DATA1包,如果是控制写,设备在正确收到数据包之后将返回一个0长度的数据包。注意这个0长度数据和没有数据概念是不一样的,0长度数据有数据的包头,只是后面没有数据罢了。对于控制读,主机在接收数据之后,将返回ACK握手信息。
2、中断传输,中断传输呢分为IN和OUT传输,如果是IN传输,设备返回数据或者NAK、STALL握手信息。如果端点没有新的中断信息返回,在数据过程中设备返回的是NAK握手信息,如果此时端点已经被设置为暂停了,设备返回的是STALL握手信息,如果设备返回的是中断信息数据包,主机必须返回一个ACK握手信息给设备,如果数据数据接收错误,将不会返回握手信息。
中断传输一般用于这种具有固定速率、数据量少的数据传输,例如USB摄像头鼠标、键盘就是采用的中断传输。
3、同步传输,同步传输也叫做等时传输,也分为IN和OUT传输,但是注意没有握手过程,所以说它并不保证数据传输是否正确性,但是要保证数据传输的实时性,所以这种传输方式一般用于音频和视频流的数据传输,例如你的USB摄像头摄像头就是采用的这种传输方式,传输过程如下:
4、块传输,块传输也叫做批量传输,块传输并不追求数据传输的时间,但是必须保证数据传输的正确性,例如U盘就是采用的这种传输方式,传输过程如下:
为了保证数据传输的正确性,USB摄像头采用的是错误检测机制和重试机制来确保数据传输正确,当然它也分三个过程,令牌过程、数据过程和握手过程,其中PING令牌和NYET令牌只用于高速设备