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令牌只用于高速設備