網頁

2014年4月27日 星期日

[EZ-USB FX3] USB Transfer modes


不僅僅是 FX3, 所有的 USB device 都可以有 4 種不同的傳輸模式. 這 4 種不同的傳輸模式, 各自有各自的定位和特性,傳輸速度. 在評估 FX3 的傳輸速度前, 先簡單說明這幾個不同的傳輸模式.
參考連結:
http://www.beyondlogic.org/usbnutshell/usb4.shtml#Interrupt
Control Transfer 控制傳輸
Interrupt Transfer 中斷傳輸
Isochronous Transfer 同步傳輸
Bulk Transfer 大量傳輸

 

Control Transfer: 控制傳輸

定位:
Control Transfer 是被設計作為 USB Host 向 USB Device 下達命令及狀態查詢. 它的作用主要是在於和應用無關的 USB 系統控制. 所以, 每個 device 都必需至少提供一組 Control Transfer 來對應.
當然, 要自己定義一組 Control Transfer 來使用也是可以的.
特徵:
由於是對應 USB Host 的命令, 所以對 device 來說, Control Transfer 是突如其來, 但是它又必需以最高優先權傳送, 所以它可以傳送的資料限制也最大. 通常, 它只能傳送 8/16/32/64 個 bytes 的資料.

Interrupt Transfer: 中斷傳輸

定位:
相對於 Control Transfer 是被動的和 USB Host 溝通, Interrupt Transfer 是被設計作為USB device 向 USB Host 傳送非週期的資料. 但是在 USB 的架構下, 傳輸的頻寬是由 USB Host 分配, 因此, Interrupt Transfer 實際上是先向 USB Host 發出頻寬分配的請求, 然後在下一次傳輸時, 才真正的傳遞資料.
特徵:
Interrupt Transfer 傳送的是非週期性的資料, 這代表這資料的重要性比較高. 因此, Interrupt Transfer 傳送的資料, 可以被保證在一段時間內送達, 而且, 如果傳送錯誤, 它可以在下一個 Host/Device 交換資料的時間內重傳.
Guaranteed Latency
Stream Pipe - Unidirectional
Error detection and next period retry

Isochronous Transfer: 同步傳輸

定位:
同步傳輸用來傳送連續, 定期發生, 對時間敏感的資料. 譬如說, 電話/即時影像/視訊電話等應用. 當中間有一小段資料失誤, 對應用來說, 影響不大, 可能只是很短的一個雜音, 或是畫面破損了一下, 停滯了一下. 由於下一個時間點的資料還是會繼續收到, 因此, 這樣的影響是可以被接受的.
Isochronous Transfer 的資料, 及時送達比資料的正確性重要.
特徵:
Isochronous Transfer 保證在傳輸的過程中, 在每一次傳輸時, 保留預先分配的資料頻寬來傳送資料. 因此, 它可以保證在固定時間內傳輸, 它檢查錯誤, 但是不重傳, 也不保證送達.
Guaranteed access to USB bandwidth
Bounded latency
Stream Pipe - Unidirectional
Error detection via CRC, but no retry or guarantee of delivery
Full & high speed modes only
No data toggling

Bulk Transfer: 大量傳輸

定位:
Bulk Transfer 用來傳送大量突發性, 時間不敏感的資料. 例如外接硬碟, 從 scanner/DSC 接收影像資料. 這些資料, 傳輸錯誤不能容許, 但是慢個一秒也沒有太大的關係. 
Bulk Transfer 的時間優先權是最低的, 因此, 在其他 Transfer mode 作用的情況下, 會延遲較長的時間, 資料才能被送出. 但是在傳輸的頻寬分配完之後, Bulk Transfer 又可以吃光所有剩下的頻寬. 因此, 它又具備最大傳輸能力的可能性.
特徵:
Bulk Transfer 的時間優先權是最低的, 因此, 在其他 Transfer mode 作用的情況下, 會延遲較長的時間, 資料才能被送出. 但是在傳輸的頻寬分配完之後, Bulk Transfer 又可以吃光所有剩下的頻寬. 因此, 它又具備最大傳輸能力的可能性.
Used to transfer large bursty data
Error detection via CRC, with guarantee of delivery
No guarantee of bandwidth or minimum latency
Stream Pipe-Unidirectional
Full & high speed modes only

沒有留言:

張貼留言

請提供您寶貴的意見