USB设备描述符总结

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(是否支持多频率)

USB设备描述符总结_第1张图片

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)

USB设备描述符总结_第2张图片


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


对于Windows的设备驱动安装不上,可以查看C:\windows\inf\setupapi.dev.log定位原因

你可能感兴趣的:(嵌入式相关理论知识)