USB的傳輸方式 針對裝置對系統資源需求的不同,在USB規範中規定了4種不同的資料傳輸方式: (1)等時傳輸方式。該方式用來連線需要連續傳輸,且對資料的正確性要求不高而對時間極為敏感的外部裝置,如麥克風、音箱以及電話等。等時傳輸方式以固定的傳輸速率,連續不斷地在主機與USB裝置之間傳輸資料,在傳送資料發生錯誤時,USB並不處理這些錯誤,而是繼續傳送新的資料。 (2)中斷傳輸方式。該方式傳送的資料量很小,但這些資料需要及時處理,以達到實時效果,此方式主要用在鍵盤、滑鼠以及遊戲手柄等外部裝置上。 (3)控制傳輸方式。該方式用來處理主機的USB裝置的資料傳輸。包括裝置控制指令、裝置狀態查詢及確認命令。當USB裝置收到這些資料和命令後,將依據先進先出的原則按佇列方式處理到達的資料。 (4)批傳輸方式。該方式用來傳輸要求正確無誤的資料。通常印表機、掃描器和數碼相機以這種方式與主機連線。 在這4種資料傳輸方式中,除等時傳輸方式外,其他3種方式在資料傳輸發生錯誤時,都會試圖重新發送資料以保證其準確性。 USB的四種傳輸型別 USB目前支援三種傳輸速度:低速的1.5Mbps、全速的12Mbps、高速的480Mbps,USB1.1的固定連結埠可以連線所有速度的周邊,但當高速的裝置連結在USB1.1連結埠上時,僅能表現出12Mbps的速度。USB2.0的固定連結埠可以連結三種速度的周邊裝置,並確保所有USB應用硬體間的相容性。 USB的傳輸型別共有四種,分別是控制型傳輸(ControlTransfer)、中斷型傳輸(InterruptTransfer)、巨量型傳輸(BulkTransfer)以及實時型傳輸(IsochronousTransfer)。其中,需要特別注意的是慢速裝置僅支援控制型傳輸與中斷型傳輸而已。以下將分別簡述各個傳輸的特性。 控制型傳輸 屬於雙向傳輸,用來支援介於主機與裝置之間的配置,命令或狀態的通訊。控制型傳輸包含了三種的控制傳輸型態:控制讀取、控制寫入以及無資料控制。其中,又可再分為2~3個階段:設定階段、資料階段(無資料控制沒有此階段)以及狀態階段。在資料階段中,資料傳輸(IN/OUT執照封包)是以設定階段中所訂定的為方向作資料傳輸,而在狀態階段中,裝置將傳回一個交握封包給主機。 而每一個USB裝置需要將端點0作為控制傳輸的端點,每當裝置第一次連線到主機時,控制型傳輸就可用來交換訊息,設定裝置的地址或是讀取裝置的描述元與要求,由於控制型傳輸非常的重要,所以USB必須確保傳輸的過程沒有發生任何的錯誤。這個偵錯的過程可以使用CRC(CyclicRedundancyCheck;迴圈檢核)的錯誤檢查方式,如果這個錯誤無法恢復的話,只好再重新傳送一次。 中斷型傳輸 由於USB不支援硬體的中斷,所以必須靠PC主機以週期性地方式加以輪詢,以便知悉是否有裝置需要傳送資料給PC。由此也可知道,中斷型傳輸僅是一種「輪詢」的過程,而非過去我們所認知的「中斷」功能。而輪詢的週期非常的重要,因為如果太低的話,資料可能會流失掉,但反之太高的話,則又會佔去太多的匯流排的頻寬。 對於全速裝置(12Mbps)而言,端點可以訂定1ms至255ms之間的輪詢間隔。因此,換算可得全速裝置的最快輪詢速度為1KHz。另外對於低速的裝置而言,僅能訂定10ms至255ms的輪詢間隔,如果因為錯誤而發生傳送失敗的話,可以在下一個輪詢的期間重新再傳送一次,而應用這型別傳輸的有鍵盤,搖桿或滑鼠等稱之為人機介面裝置(HID)。其中,鍵盤是一個很好的應用例,當按鍵被按下後,可以經由PC主機的輪詢將小量的資料傳回給主機,進而瞭解到那個按鍵剛被按下。 巨量型傳輸 屬於單向或雙向的傳輸,顧名思意,這型別的傳輸是用來傳送大量的資料。雖然這些大量的資料須準確地傳輸,但是並無傳輸速度上的限制(即沒有固定傳輸的速率)。這是因為這型別的傳輸是針對未使用到的USB頻寬提出要求的,而根據所有可以使用到的頻寬為基準,不斷地調整本身的傳輸速率。如果因為某些錯誤而發生傳送失敗的話,就重新再傳一次,應用這型別的傳輸裝置有:印表機或掃描器等。其中,印表機是一個很好的應用例,它須要準確地傳送大量的資料,但卻無需實時地傳送。 實時型傳輸 可以是單向或雙向的傳輸。此種傳輸需要維持一定的傳輸速度,且可以默許錯誤的發生。它採用了事先與PC主機協議好的固定頻寬,以確保傳送端與接收端的速度的速率相互吻合。而應用這型別的傳輸裝置有:USB麥克風、喇叭或是MPEGI等裝置,如此可以確保播放的頻率不會被扭曲。
USB的傳輸方式 針對裝置對系統資源需求的不同,在USB規範中規定了4種不同的資料傳輸方式: (1)等時傳輸方式。該方式用來連線需要連續傳輸,且對資料的正確性要求不高而對時間極為敏感的外部裝置,如麥克風、音箱以及電話等。等時傳輸方式以固定的傳輸速率,連續不斷地在主機與USB裝置之間傳輸資料,在傳送資料發生錯誤時,USB並不處理這些錯誤,而是繼續傳送新的資料。 (2)中斷傳輸方式。該方式傳送的資料量很小,但這些資料需要及時處理,以達到實時效果,此方式主要用在鍵盤、滑鼠以及遊戲手柄等外部裝置上。 (3)控制傳輸方式。該方式用來處理主機的USB裝置的資料傳輸。包括裝置控制指令、裝置狀態查詢及確認命令。當USB裝置收到這些資料和命令後,將依據先進先出的原則按佇列方式處理到達的資料。 (4)批傳輸方式。該方式用來傳輸要求正確無誤的資料。通常印表機、掃描器和數碼相機以這種方式與主機連線。 在這4種資料傳輸方式中,除等時傳輸方式外,其他3種方式在資料傳輸發生錯誤時,都會試圖重新發送資料以保證其準確性。 USB的四種傳輸型別 USB目前支援三種傳輸速度:低速的1.5Mbps、全速的12Mbps、高速的480Mbps,USB1.1的固定連結埠可以連線所有速度的周邊,但當高速的裝置連結在USB1.1連結埠上時,僅能表現出12Mbps的速度。USB2.0的固定連結埠可以連結三種速度的周邊裝置,並確保所有USB應用硬體間的相容性。 USB的傳輸型別共有四種,分別是控制型傳輸(ControlTransfer)、中斷型傳輸(InterruptTransfer)、巨量型傳輸(BulkTransfer)以及實時型傳輸(IsochronousTransfer)。其中,需要特別注意的是慢速裝置僅支援控制型傳輸與中斷型傳輸而已。以下將分別簡述各個傳輸的特性。 控制型傳輸 屬於雙向傳輸,用來支援介於主機與裝置之間的配置,命令或狀態的通訊。控制型傳輸包含了三種的控制傳輸型態:控制讀取、控制寫入以及無資料控制。其中,又可再分為2~3個階段:設定階段、資料階段(無資料控制沒有此階段)以及狀態階段。在資料階段中,資料傳輸(IN/OUT執照封包)是以設定階段中所訂定的為方向作資料傳輸,而在狀態階段中,裝置將傳回一個交握封包給主機。 而每一個USB裝置需要將端點0作為控制傳輸的端點,每當裝置第一次連線到主機時,控制型傳輸就可用來交換訊息,設定裝置的地址或是讀取裝置的描述元與要求,由於控制型傳輸非常的重要,所以USB必須確保傳輸的過程沒有發生任何的錯誤。這個偵錯的過程可以使用CRC(CyclicRedundancyCheck;迴圈檢核)的錯誤檢查方式,如果這個錯誤無法恢復的話,只好再重新傳送一次。 中斷型傳輸 由於USB不支援硬體的中斷,所以必須靠PC主機以週期性地方式加以輪詢,以便知悉是否有裝置需要傳送資料給PC。由此也可知道,中斷型傳輸僅是一種「輪詢」的過程,而非過去我們所認知的「中斷」功能。而輪詢的週期非常的重要,因為如果太低的話,資料可能會流失掉,但反之太高的話,則又會佔去太多的匯流排的頻寬。 對於全速裝置(12Mbps)而言,端點可以訂定1ms至255ms之間的輪詢間隔。因此,換算可得全速裝置的最快輪詢速度為1KHz。另外對於低速的裝置而言,僅能訂定10ms至255ms的輪詢間隔,如果因為錯誤而發生傳送失敗的話,可以在下一個輪詢的期間重新再傳送一次,而應用這型別傳輸的有鍵盤,搖桿或滑鼠等稱之為人機介面裝置(HID)。其中,鍵盤是一個很好的應用例,當按鍵被按下後,可以經由PC主機的輪詢將小量的資料傳回給主機,進而瞭解到那個按鍵剛被按下。 巨量型傳輸 屬於單向或雙向的傳輸,顧名思意,這型別的傳輸是用來傳送大量的資料。雖然這些大量的資料須準確地傳輸,但是並無傳輸速度上的限制(即沒有固定傳輸的速率)。這是因為這型別的傳輸是針對未使用到的USB頻寬提出要求的,而根據所有可以使用到的頻寬為基準,不斷地調整本身的傳輸速率。如果因為某些錯誤而發生傳送失敗的話,就重新再傳一次,應用這型別的傳輸裝置有:印表機或掃描器等。其中,印表機是一個很好的應用例,它須要準確地傳送大量的資料,但卻無需實時地傳送。 實時型傳輸 可以是單向或雙向的傳輸。此種傳輸需要維持一定的傳輸速度,且可以默許錯誤的發生。它採用了事先與PC主機協議好的固定頻寬,以確保傳送端與接收端的速度的速率相互吻合。而應用這型別的傳輸裝置有:USB麥克風、喇叭或是MPEGI等裝置,如此可以確保播放的頻率不會被扭曲。