usb傳輸方式
在USB的數(shù)據(jù)傳送的方式下,有四種的傳輸方式:控制(Control)同步(isochronous)中斷(interrupt)大量(bulk)。如果你是從硬件開始來設(shè)計整個的系統(tǒng),你還要正確選擇傳送的方式,而作為一個驅(qū)動程序的書寫者,就只需要弄清楚他是采用的什么工作方式就行了。
通常所有的傳送方式下的主動權(quán)都在PC邊,也就是host邊。
控制(Control)方式傳送:控制傳送是雙向傳送,數(shù)據(jù)量通常較小。USB系統(tǒng)軟件用來主要進(jìn)行查詢、配置和給USB設(shè)備發(fā)送通用的命令??刂苽魉头绞娇梢园?、16、32和64字節(jié)的數(shù)據(jù),這依賴于設(shè)備和傳輸速度。控制傳輸?shù)湫偷赜迷谥饔嬎銠C和USB外設(shè)之間的端點(Endpoint)0之間的傳輸,但是指定供應(yīng)商的控制傳輸可能用到其它的端點。
同步(isochronous)方式傳送:同步傳輸提供了確定的帶寬和間隔時間(latency)。它被用于時間嚴(yán)格并具有較強容錯性的流數(shù)據(jù)傳輸,或者用于要求恒定的數(shù)據(jù)傳送率的即時應(yīng)用中。例如執(zhí)行即時通話的網(wǎng)絡(luò)電話應(yīng)用時,使用同步傳輸模式是很好的選擇。同步數(shù)據(jù)要求確定的帶寬值和確定的最大傳送次數(shù)。對于同步傳送來說,即時的數(shù)據(jù)傳遞比完美的精度和數(shù)據(jù)的完整性更重要一些。
中斷(interrupt)方式傳送:中斷方式傳輸主要用于定時查詢設(shè)備是否有中斷數(shù)據(jù)要傳送。設(shè)備的端點模式器的結(jié)構(gòu)決定了它的查詢頻率,從1到255ms之間。這種傳輸方式典型的應(yīng)用在少量的分散的、不可預(yù)測數(shù)據(jù)的傳輸。鍵盤、操縱桿和鼠標(biāo)就屬于這一類型。中斷方式傳送是單向的并且對于host來說只有輸入的方式。
大量(bulk)傳送:主要應(yīng)用在數(shù)據(jù)大量傳送傳送和接受數(shù)據(jù)上,同時又沒有帶寬和間隔時間要求的情況下,要求保證傳輸。打印機和掃描儀屬于這種類型。這種類型的設(shè)備適合于傳輸非常慢和大量被延遲的傳輸,可以等到所有其它類型的數(shù)據(jù)的傳送完成之后再傳送和接收數(shù)據(jù)。
USB將其有效的帶寬分成各個不同的楨(frame),每楨通常是1ms時間長。每個設(shè)備每楨只能傳送一個同步的傳送包。在完成了系統(tǒng)的配置信息和連接之后,USB的host就會對不同的傳送點和傳送方式做一個統(tǒng)籌安排,用來適應(yīng)整個的USB的帶寬。通常情況下,同步方式和中斷方式的傳送會占據(jù)整個帶寬的90%,剩下的就安排給控制方式傳送數(shù)據(jù)。