DevDesc
ConfigDesc
InterfaceDesc
HIDDesc->ReportDesc
EndpointDesc(Interrupt)
DevDesc
ConfigDesc
InterfaceDesc
EndpointDesc(Bulk)
DevDesc
ConfigDesc
CDC_CCI_InterfaceDesc
Header
ACM
FuncDesc
Union
......
CDC_Notification_EP_Desc(Interrupt)
CDC_DCI_InterfaceDesc
Data_EP_Desc(Bulk)
DevDesc
ConfigDesc
Interface0
——————————
IADDesc
Interface1
——————————
IADDesc
Interface2
——————————
…
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(是否支持多频率)
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)
对于音频跟视频这种同步传输方式,在2.0协议中,端点大小最大可以是1024,但D11~D12表示这个端点在一个Interval间隔中可以传输n次,所以在视频类中可以看到端点包大小有2x1024这样的格式。
另外,对于音频类,由于数据量较少,一般一个数据帧就向应用层上报一次完成中断;而对于视频类,则是多个数据帧构成一个完整的视频帧之后进行上报。
对于Windows的设备驱动安装不上,可以查看C:\windows\inf\setupapi.dev.log定位原因