USB通信協(xié)議——傳輸類型
控制傳輸是USB傳輸中最重要的傳輸類型,只有正確執(zhí)行完控制傳輸,才能進一步執(zhí)行其他的傳輸類型。這種傳輸是用來提供給介于主機與設(shè)各之間的配置、命令或狀態(tài)的通信協(xié)議之用的。控制傳輸能夠使能主機去讀取與此設(shè)各相關(guān)的信號,并去設(shè)置設(shè)備地址,以及選擇配置與其他的設(shè)置等。此外,控制傳輸也能夠送出自定義的要求,以針對任何目的送出與接收數(shù)據(jù)。因此須以雙向傳輸來達到這個要求。當然,所有的USB設(shè)各必須支持控制傳輸。
中斷傳輸原本屬于單向傳輸,并且僅從設(shè)各輸人到PC主機,作IN的傳送模式(但在規(guī)范書1.1版中,已改為雙向傳輸,增加了OUT的傳送模式)。這是由于最早在開發(fā)USB外圍設(shè)備時,先以人工接口設(shè)各為設(shè)計考慮,其數(shù)據(jù)只須做輸入IN傳輸,如鼠標或鍵盤等設(shè)備。而由于USB不支持硬件的中斷,所以必須靠PC主機以周期性的方式加以查詢,以便獲知是否有設(shè)各需要傳送數(shù)據(jù)給PC。如果因為錯誤而發(fā)生傳送失敗的話,可以在下一個查詢的期間重新再傳送一次。
批量傳輸屬于單向或雙向的傳輸。顧名思義,這類型的傳輸用來傳送大量的數(shù)據(jù)。這些大量的數(shù)據(jù)必須準確地加以傳輸,但相對的卻無傳輸速度上的限制(即沒有固定傳輸?shù)乃俾剩?。例如,送出一個文件給打印機,或是從掃描機掃描一張圖片,并傳送至PC主機上。這是由于批量傳輸是針對未使用到USB帶寬來向主機提出要求的。如此,須根據(jù)目前的總線的擁擠狀態(tài)或是可用的帶寬,以所有可使用到的帶寬為基準,不斷地調(diào)整本身的傳輸速率。因此,如果總線上充滿了具各保證帶寬的其他傳輸?shù)脑?,如等時傳輸或是中斷傳輸,那么批量傳輸就必須持續(xù)地加以等待。反之,如果整個總線是處于閑置狀態(tài)的話,批量傳輸就可以傳輸?shù)梅浅?臁R虼?,并沒有設(shè)置查詢的時間間隔。
等時傳輸可以是單向或雙向的傳輸。此種傳輸需要維持一定的傳輸速度,因此相對的就須犧牲些微錯誤的發(fā)生。而它采用了預先與PC主機協(xié)議好的固定帶寬,以確保發(fā)送端與接收端的速度能相互吻合。換而言之,就算發(fā)生了傳輸上的錯誤,也不會重新傳送。應(yīng)用這類型傳輸?shù)脑O(shè)各有:USB麥克風、喇叭或是CCD等設(shè)備,如此可以確保播放的頻率或是傳輸?shù)挠跋癫粫慌でH有全速與快速設(shè)備是支持等時傳輸?shù)摹?/P>
評論