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