热门关键词: 虎丘冲片机 水晶工艺品加工设备 二手化工设备 模架 扩散快速热处理设备 灌装设备 硬盘数据修复工具
  IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
电子元器件搜索:
维库电子市场网是知名的电子元器件交易网站,为电子生产企业提供IC库存和技术资料查询服务。
相关专题
usb中设备、配置、接口、端点的理解
新闻出处:21ic 发布时间:2007-09-25
luocolor 发布于 2007-9-25 16:57:00
最近在看usb的相关东西,标准中有提到设备描述符、配置描述符、接口描述符和端点描述符。它们之间的关系,网上的资料大多数都简单的说成前面的包含有多个后面的,如设备描述符包含多个配置描述符。

但是,我的问题是:有一个设备,如支持视频和音频的一个播放器。那么,对于上面提到的4个描述符,对它们设置的时候,它们分别对于哪一个描述符呢?

从我现在的理解来看,这样一个设备对应一个设备描述符,支持视频的功能对应一个接口描述符,支持音频功能的对应一个接口描述符。为了支持视频,在下层有多个端口同时工作为提供视频数据传输的支持,所以有多个端点描述符。

不知道我理解得对不,但是,配置描述符在这其中干什么用呢?

今天中秋,祝大家月饼节快乐!


阿南 发布于 2007-9-25 17:36:00
这些描述符都是USB协议的问题(咱们才不管那么多呢),具体解释在一般的USB书上都会有解释.其实你的终端设备接到PC机时,只要能显示您所需要的设备名称型号,不同的设备有不同的型号区分就可以了,这只需修改两个地方,一个是设备上的USB固件程序的设备描述符:
//设备描述符
USB_DEVICE_DESCRIPTOR DeviceDescr =
{
    sizeof(USB_DEVICE_DESCRIPTOR), //设备描述符长度,= 12H
    USB_DEVICE_DESCRIPTOR_TYPE,       //设备描述符类型,= 01H
    0x00,0x01,                //协议版本,= 1.10
    USB_CLASS_CODE_TEST_CLASS_DEVICE,//测试设备类型, = 0DCH
    0, 0,                         //设备子类,设备协议
    EP0_PACKET_SIZE,          //端点0最大数据包大小,= 10H
    0x71,0x04,                   //PHILIPS公司的设备ID    
//    0x66,0x06,         //设备制造商定的产品ID
//    0x00,0x65,         //设备制造商定的产品ID    
#if ST7000
    0x00,0x70,                  //设备制造商定的产品ID    
#else
    0x00,0x71,
#endif
    0x00,0x01,        //设备系列号
    0, 0, 0,            //索引
    1            //可能的配置数
};

注:我们用宏定义,定义了两个不同型号的设备,该结构你可以从USB书籍上找到设备描述符的结构
另外一个是PC机上USB驱动的*.inf文件:

......
%USB\VID_0471&PID_7000.DeviceDesc%=D12TEST.Dev, USB\VID_0471&PID_7000
%USB\VID_0471&PID_7100.DeviceDesc%=D12TEST.Dev, USB\VID_0471&PID_7100
......
USB\VID_0471&PID_7000.DeviceDesc="ST-7000C"
USB\VID_0471&PID_7100.DeviceDesc="ST-7100C"
.......

注:上面的"ST-7000C"和"ST-7100C"就是两个不同的型号的设备


hpy013 发布于 2007-9-25 18:22:00
我昨天就是自己改的型号的设备。


平常人 发布于 2007-9-25 21:53:00
你这样设计是可以的,“支持视频的功能对应一个接口描述符,支持音频功能的对应一个接口描述符”,像这样两个接口的设备在Windows里面会被识别为复合设备。


关闭】【打印
友情链接:
© 2007 电子设备网 网站地图