USB设备描述符总结

来源:互联网 发布:lua 定义有序数组 编辑:程序博客网 时间:2024/05/16 04:06

HID类:

DevDesc
ConfigDesc
InterfaceDesc

   HIDDesc->ReportDesc   EndpointDesc(Interrupt)

MSC类:

DevDesc
ConfigDesc
InterfaceDesc

    EndpointDesc(Bulk)

CDC类:

DevDesc
ConfigDesc
CDC_CCI_InterfaceDesc

                Header                ACM    FuncDesc                Union                ......    CDC_Notification_EP_Desc(Interrupt)

CDC_DCI_InterfaceDesc

    Data_EP_Desc(Bulk)

Composite:

DevDesc
ConfigDesc
Interface0
——————————
IADDesc
Interface1
——————————
IADDesc
Interface2
——————————
……


Audio类:

DevDesc
ConfigDesc
Audio_Control_Interface_Desc(没有独立端点,请求通过EP0)

                    Header                    MicroPhoneInputTerminal                    FeatureUnit    AudioFuncDesc   USBOutputTerminal                    USBInputTerminal                    FeatureUnit                    SpeakerOutputTerminal

SpeakerAudioStreaming I/F Setting 0(停止)
SpeakerAudioStreaming I/F Setting 1(正常工作)

    AudioStreamingGeneral(TerminalLink)    Type_I_Format_Desc(DefaultSampleFreq,DataBit)    EndpointDesc(ISO,FS:1ms,HS:125us)        EP_AudioStreamingDesc(是否支持多频率)

MicroPhoneStreaming I/F Setting 0(停止)
MicroPhoneStreaming I/F Setting 1(正常工作)

    AudioStreamingGeneral(TerminalLink)    Type_I_Format_Desc(DefaultSampleFreq,DataBit)    EndpointDesc(ISO,FS:1ms,HS:125us)        EP_AudioStreamingDesc(是否支持多频率)

Audio类拓扑图

Video类:

DevDesc
ConfigDesc
IAD
VideoControl I/F Desc

                    VC_Header                    VC_Input_Terminal    VideoFuncDesc   VC_Processs_Unit(指明是否支持白平衡、色相控制等属性)                    VC_Extension_Unit                    VC_Output_Terminal    VideoControlEndpoint(Interrupt)

VideoStreaming I/F Setting 0(无端点)

                    Header    VideoFuncDesc   Format(格式,静态、动态、是否压缩等)                    Frame(分辨率)

VideoStreaming I/F Setting 1

    VideoStreamingEndpoint(Iso)

VideoStreaming I/F Setting 2

    VideoStreamingEndpoint(Iso)

VideoStreaming I/F Setting 3

    VideoStreamingEndpoint(Iso)

……(可以根据Format格式跟分辨率Frame的组合,有10+个Setting)

Video类拓扑图


对于音频跟视频这种同步传输方式,在2.0协议中,端点大小最大可以是1024,但D11~D12表示这个端点在一个Interval间隔中可以传输n次,所以在视频类中可以看到端点包大小有2x1024这样的格式。
另外,对于音频类,由于数据量较少,一般一个数据帧就向应用层上报一次完成中断;而对于视频类,则是多个数据帧构成一个完整的视频帧之后进行上报。

0 0
原创粉丝点击