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