網頁

2014年9月14日 星期日

[EZ-USB FX3] Added descriptor in USB 2.0


在 USB descriptor 的規格中, 定義了從 device/configuration/interface/endpoint, 從上而下的樹狀結構. 一個 device 可以有數個 configurtion, 一個 configuration 可以有數個 interface, 一個 interface 可以有數個 endpoint, 可以很清楚的瞭解到 device 提供了那些互動的方式.
當功能和 interface 是 1:1 對應的時候, 這些看來都沒有問題.
image
然而, 如果一個 device 如果有一個功能, 用到不同的 interface, 這樣主機端就不能由原先 device 傳回來的 descriptor, 看出這兩個 interface 是屬於同一組 (也許驅動程式根本就是同一個).
image

Interface Association Descriptors

因此, 在 USB 2.0 的規格推出後, 又以 ECN (Engineering Change Note) 的形式, 提出一個新的 descriptor, 在 USB 3.0 這是規格的一部份. 這一個 descriptor 就是在描述 interface 彼此之間的關係.
Offset Field Size Value Description
0 bLength 1 Number Size of Descriptor in bytes 0x09
1 bDescriptorType 1 Constant Interface Association Descriptor 0x0B
2 bFirstInterface 1 Number Interface number of the first interface that is associated with this function  
3 bInterfaceCount 1 Number Number of contiguous interfaces that at associated with this function  
4 bFunctionClass 1 Class Class Code (assigned by USB-IF)  
5 bFunctionSubClass 1 SubClass Sub Class Code (asigned by USB-IF)
6 bFunctionProtocol 1 Protocol Protocol Code (assigned by USB-IF)
7 iFunction 1 Index Index of string descriptor describing this function

沒有留言:

張貼留言

請提供您寶貴的意見