要講很久耶,字要打很多 = =a
先簡單講一下,懶得打字,一些用貼的
至於一些東西,恕小弟無法奉告,請自行參考相關書籍資料^^
http://www.usb.org
Universal Serial Bus(萬用序列匯流排),簡稱USB
在USB的封包中含有7個bits的定址位元,意即最多可定址到128個裝置,由於主機控制器本身佔用位址0000000B,所以最多支援127個設備。
USB有三種匯流排速度:低速1.5Mbps、全速12Mbps、高速480Mbps
USB有四種傳輸類型:控制型傳輸(Control Transfer)、中斷型傳輸(Interrupt Transfer)、巨量型傳輸(Bulk Transfer)、即時型傳輸(Isochronous Transfer)
控制型傳輸:為雙向傳輸,主要用來溝通主機和裝置之間的配置、命令或狀態。控制型傳輸包含三種控制傳輸型態:控制讀取、控制寫入與無資料控制。USB運用CRC(Cyclic Redundancy Check)來檢查資料之正確性,若此錯誤無法恢復,則要求重新傳送。例如隨身碟的資料,傳送過程中不可出錯。
中斷型傳輸:在USB1.0定義為單向傳輸,於USB1.1及USB2.0定義為雙向傳輸。由於USB不支援硬體的中斷方式運行,所以必須靠主機以週期性的方式來輪詢(Polling),故USB的中斷傳輸意即是一種輪詢的過程。對於12Mbps的裝置而言,可以訂定1ms至255ms之間的輪詢週期,所以最快的輪詢速度為1kHz。例如鍵盤、滑鼠、搖桿。
巨量型傳輸:可為單向或雙向的傳輸,適用於傳送大量的資料,且沒有固定的傳輸速率。比方像是印表機或掃描器。
即時型傳輸;可為單向或雙向的傳輸,需維持一定的傳輸速度,且允許一定錯誤率下的錯誤(可容錯)。會事先與主機協議好固定的頻寬,以確保發送端及接收端的傳送速度。麥克風、喇叭、視訊。
主機控制器分為兩種:通用式主機控制器(UHC)與開放式主機控制器(OHC)
通用式主機控制器(University Host Controller):控制型傳輸至少要分配到10%的匯流排頻寬,週期性的傳輸最多佔90%的匯流排頻寬,所以中斷型與即時型傳輸是以事先宣告好的頻寬,巨量型傳輸才根據整個匯流排剩下的頻寬,動態地調整傳輸速率。
開放式主機控制器(Opened Host Controller):前置的是非週期傳輸,中間部分為週期性傳輸,最後是非週期性傳輸。10%的匯流排頻寬需預留外,週期性的傳輸最多佔90%的匯流排頻寬,如有剩餘再配給非週期性傳輸。
喔...好累...