USB數據流的模式與管線(xiàn)的概念
USB對于與設各之間的通信提供了特殊的協(xié)議。雖然USB系統的總線(xiàn)是呈階梯式星形的結構,但實(shí)際USB主機與設備的連接方式卻是如圖1所示的一對一形式,用戶(hù)稱(chēng)之為USB設各的邏輯連接;而數據流的模式則是以這些邏輯連接為基本的架構。
圖1 USB設備的邏輯連接
對于USB的通信,用戶(hù)可以將其視為一種虛擬管線(xiàn)的概念,如圖2所示。在整個(gè)USB的通信中包含了一個(gè)大的虛擬管線(xiàn)(12 Mbps)以及高達127個(gè)小的虛擬管線(xiàn),而每一個(gè)小的虛擬管線(xiàn)可比擬為USB的設各。這是由于在USB令牌封包中都含有7個(gè)用來(lái)尋址的位(位于令牌封包的地址數據域ADDR),因此最多可尋址到128個(gè)設各。但是由于地址0是預設地址,且用來(lái)指定給所有剛連上的設各,這也就是為什么USB總線(xiàn)上最多能連接到127個(gè)設備的原因。
圖2 虛擬管線(xiàn)的概念
每一個(gè)連接到設備的小虛擬管線(xiàn)又可再細分為許多的微虛擬管線(xiàn)。這些微虛擬管線(xiàn)可比擬為端點(diǎn)(endpoint)。由于在令牌封包中,包含了4個(gè)位的端點(diǎn)地址(位于端點(diǎn)數據域,ENDP)以及一個(gè)位于端點(diǎn)描述符中的輸人/輸出方向(IN/OUT)位,所以在一個(gè)單獨的小虛擬管線(xiàn)內最多可再分割成16組微虛擬管線(xiàn)(端點(diǎn)),也就是可對16個(gè)輸人/輸出的端點(diǎn)(共32個(gè)端點(diǎn))尋址,并可將USB的令牌封包中定義為IN(設備至主機)或OUT(主機至設備)兩類(lèi)型令牌封包。如果設備收到了一個(gè)IN令牌封包,它將會(huì )傳送數據給主機;反之如果收到了一個(gè)OUT令牌封包,則它將會(huì )從主機接收到數據。當然,如圖2所示的架構是一種“虛擬”的,用戶(hù)需要有一點(diǎn)想像的空間 這種端點(diǎn)(或微虛擬管線(xiàn))的概念非常重要,對于全速或高速的設備而言,更是這樣。
評論