摘要: 本应用说明列出了用于DS2490 1-Wire 到USB总线主芯片的各种USB描述符。典型的通用串行总线(USB)环境由启用USB的主机和一个或多个USB设备外设组成。在USB术语中,描述符用于通知主机PC系统(当被请求时)USB设备支持的功能以及特定的设备特性。
本应用说明列出了用于DS2490 1-Wire 到USB总线主芯片的各种USB描述符。典型的通用串行总线(USB)环境由启用USB的主机和一个或多个USB设备外设组成。在USB术语中,描述符用于通知主机PC系统(当被请求时)USB设备支持的功能以及特定的设备特性。
DS2490是一种特定于USB供应商的设备,并使用USB核心规范中的描述符进行描述。它的描述符分为三个不同的类别:设备描述符(用于确定一般设备信息)、配置描述符(用于确定配置、接口和低级描述符)和接口描述符(用于提供额外的USB类和端点信息)。
假定本应用笔记的读者熟悉通用串行总线(USB)技术和术语。
假设本应用笔记的读者 熟悉通用串行总线(USB)技术和 术语。USB规范可从 USB实现者论坛网站www.usb.org获取。
典型的通用串行总线(USB)环境由 支持USB的主机和一个或多个 USB设备外设组成。在USB术语中,描述符 用于通知主机PC系统USB设备支持哪些功能 以及特定的 设备特性。当主机请求时, 这些描述符由设备提供,并以层次方式 通信,提供从上到下的信息 。此外,典型的USB设备 将使用USB核心规范 描述符向主机描述自己,根据设备的复杂性,还会使用来自一个或多个USB设备类规范的 描述符。DS2490是USB供应商特定设备 ,并使用USB核心 规范中的描述符进行描述。
当USB设备连接到总线上时,初始化 或枚举过程开始,在此期间描述符 请求由主机发出。首先发送一个 设备描述符请求来确定一般的 设备信息。然后是配置描述符请求 ,它以适当的顺序返回配置、接口和 低级描述符。
图1所示 DS2490 USB描述符层次结构
DS2490描述符摘要
描述符 | 接口数量 | 交替设置 | 大小(字节) | |
设备描述 | 18 | |||
设备配置 | 9 | |||
接口 | 0 | 0 | 9 | |
端点中断 | 10毫秒轮询周期 | 0 | 0 | 7 |
端点-批量输出(至2490) | 16字节最大数据包大小 | 0 | 0 | 7 |
端点-批量IN(从2490开始) | 16字节最大数据包大小 | 0 | 0 | 7 |
接口 | 0 | 1 | 9 | |
端点中断 | 10毫秒轮询周期 | 0 | 1 | 7 |
端点-批量输出(至2490) | 64字节最大数据包大小 | 0 | 1 | 7 |
端点-批量IN(从2490开始) | 64字节最大数据包大小 | 0 | 1 | 7 |
接口 | 0 | 2 | 9 | |
端点中断 | 1毫秒轮询周期 | 0 | 2 | 7 |
端点-批量输出(至2490) | 16字节最大数据包大小 | 0 | 2 | 7 |
端点-批量IN(从2490开始) | 16字节最大数据包大小 | 0 | 2 | 7 |
接口 | 0 | 3. | 9 | |
端点中断 | 1毫秒轮询周期 | 0 | 3. | 7 |
端点-批量输出(至2490) | 64字节最大数据包大小 | 0 | 3. | 7 |
端点-批量IN(从2490开始) | 64字节最大数据包大小 | 0 | 3. | 7 |
描述符总大小 | 147个字节 |
简介:
设备描述符为主机提供有关DS2490的一般信息。它通知主机它是一个
特定于供应商的类设备,并且只有一个配置。
设备描述符
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength1 | 1 | 0 x12 | 描述符的大小(以字节为单位):18 |
1 | bDescriptorType | 1 | 0 x01 | 设备描述符类型 |
2 | bcdUSB | 2 | 0 x0100 | USB规格发布号,二进制编码的十进制 |
4 | bDeviceClass | 1 | 0 xff | 特定于供应商的类代码。 |
5 | bDeviceSubClass | 1 | 0 xff | 子类代码:无 |
6 | bDeviceProtocol | 1 | 0 xff | 协议码:无 |
7 | bMaxPacketSize0 | 1 | ( | 端点0的最大数据包大小:16还是32字节? |
8 | idVendor | 2 | 0 x04fa | 达拉斯半导体供应商ID(由USB分配) |
10 | idProduct | 2 | 0 x2490 | 产品编号(由Dallas Semiconductor指定) |
12 | bcdDevice | 2 | 注1 | 以二进制编码的十进制表示的设备释放号 |
14 | iManufacturer | 1 | 0 x00 | 描述制造商的字符串描述符的索引:无 |
15 | iProduct | 1 | 0 x00 | 描述产品的字符串描述符的索引:none16 |
16 | iSerialNumber | 1 | 0 x00 | 描述设备序列号的字符串描述符的索引:无 |
17 | bNumConfigurations | 1 | 0 x01 | 可能配置的数量 |
注意:
1. 对于硅版本A1,该值将是0x0001。对于任何硅版本,该值将增加。
简介:
配置描述符通知主机要返回描述配置的描述符数据的数量,
配置中包含的接口数量以及设备功率特性。
配置描述符
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x09 | 描述符的大小(以字节为单位):9 |
1 | bDescriptorType | 1 | 0 x02 | 配置 |
2 | wTotalLength | 2 | 0 x0081 | 为此配置返回的数据的总长度。包括为此配置返回的所有描述符(配置、
接口、端点和特定于类或供应商的)的组合长度。 (129字节) |
4 | bNumInterfaces | 1 | 0 x01 | 本配置支持的接口数量 |
5 | bConfigurationValue | 1 | 0 x01 | 值,用作“设置配置”的参数,以选择此配置 |
6 | iConfiguration | 1 | 0 x00 | 描述此配置的字符串描述符的索引:无 |
7 | bmAttributes | 1 | 0 xe0 | 配置特点 D7预留(设置为1) |
8 | MaxPower | 1 | 0 x32 | 当设备完全 操作时,在此特定配置中从总线的USB设备的最大功耗。以2毫安单位表示(即50 = 100毫安)。 |
简介:
接口描述符提供额外的USB类和端点信息。单个DS2490接口
报告为特定于供应商的类,具有3个端点和4个备用接口设置。4个备用接口设置
用于选择不同的中断管道轮询间隔或最大数据包大小的批量管道,如下所示:
ALT设置 | Ep1轮询时间间隔 | Ep2 / ep3最大报文大小 | 备用设置说明 |
0 | 10毫秒 | 16字节 | 长中断轮询间隔,小数据包大小的批量管道 |
1 | 10毫秒 | 64个字节 | 长中断轮询间隔,大数据包大小的批量管道 |
2 | 1毫秒 | 16字节 | 短中断轮询间隔,小数据包大小的批量管道 |
3. | 1毫秒 | 64个字节 | 短中断轮询间隔,大数据包大小的批量管道 |
接口描述符(infc-0, alt-0)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x09 | 描述符的大小(以字节为单位):9 |
1 | bDescriptorType | 1 | 0 x04 | 接口描述符类型 |
2 | bInterfaceNumber | 1 | 0 x00 | 配置中的接口数目。 |
3. | bAlternateSetting | 1 | 0 x00 | 值,用于为先前字段中标识的接口选择替代设置。 |
4 | bNumEndpoints | 1 | 0 x00 | 该接口使用的端点数(不包括端点0)。 |
5 | bInterfaceClass | 1 | 0 xff | 供应商特定的接口类代码。 |
6 | bInterfaceSubClass | 1 | 0 xff | 子类代码:无 |
7 | bInterfaceProtocol | 1 | 0 xff | 协议码:无 |
8 | iInterface | 1 | 0 x00 | 描述此接口的字符串描述符的索引:无 |
接口描述符(infc-0, alt-0)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x07 | 描述符的大小(以字节为单位):7 |
1 | bDescriptorType | 1 | 0 x05 | 端点描述符类型 |
2 | bEndpointAddress | 1 | 0 x81 | 由此描述符描述的USB设备上端点的地址。地址编码如下: 位3 . .0,端点编号; 位6 . .4、预留,复位为零。 位7、方向: 0 = OUT端点 1 = IN端点 |
3. | bmAttributes | 1 | 0 x03 | 属性配置时,此字段描述端点属性bConfigurationValue。 位1 . .0、传输类型:11b =中断 所有其他的位都是保留的 |
4 | wMaxPacketSize | 2 | 0 x0020 | 选择此配置时,此端点能够发送或接收的最大数据包大小:32字节。 |
6 | bInterval | 1 | 0 x0a | 数据传输的轮询端点间隔,单位为毫秒:10ms |
批量(输出)端点描述符(infc-0, alt-0, EP-2)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x07 | 描述符的大小(以字节为单位):7 |
1 | bDescriptorType | 1 | 0 x05 | 端点描述符类型 |
2 | bEndpointAddress | 1 | 0 x02 | 由此描述符描述的USB设备上端点的地址。地址编码如下: 位3 . .0,端点编号; 位6 . .4、预留,复位为零。 位7、方向: 0 = OUT端点 1 = IN端点 |
3. | bmAttributes | 1 | 0 x02 | 属性配置时,此字段描述端点属性bConfigurationValue。 位1 . .0、传输类型:11b =批量 所有其他的位都是保留的 |
4 | wMaxPacketSize | 2 | 0 x0010 | 选择此配置时,此端点能够发送或接收的最大数据包大小:16字节。 |
6 | bInterval | 1 | 0 x00 | 数据传输的轮询端点间隔,以毫秒表示:批量忽略 |
批量(输出)端点描述符(infc-0, alt-1, EP-2)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x07 | 描述符的大小(以字节为单位):7 |
1 | bDescriptorType | 1 | 0 x05 | 端点描述符类型 |
2 | bEndpointAddress | 1 | 0 x02 | 由此描述符描述的USB设备上端点的地址。地址编码如下: 位3 . .0,端点编号; 位6 . .4、预留,复位为零。 位7、方向: 0 = OUT端点 1 = IN端点 |
3. | bmAttributes | 1 | 0 x02 | 属性配置时,此字段描述端点属性bConfigurationValue。 位1 . .0、传输类型:10b =批量 所有其他的位都是保留的 |
4 | wMaxPacketSize | 2 | 0 x0040 | 选择此配置时,此端点能够发送或接收的最大数据包大小:64字节。 |
6 | bInterval | 1 | 0 x00 | 数据传输的轮询端点间隔,以毫秒表示:批量忽略 |
批量(In)端点描述符(infc-0, alt-1, EP-3)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x07 | 描述符的大小(以字节为单位):7 |
1 | bDescriptorType | 1 | 0 x05 | 端点描述符类型 |
2 | bEndpointAddress | 1 | 0 x83 | 由此描述符描述的USB设备上端点的地址。地址编码如下: 位3 . .0,端点编号; 位6 . .4、预留,复位为零。 位7、方向: 0 = OUT端点 1 = IN端点 |
3. | bmAttributes | 1 | 0 x02 | 属性配置时,此字段描述端点属性bConfigurationValue。 位1 . .0、传输类型:10b =批量 所有其他的位都是保留的 |
4 | wMaxPacketSize | 2 | 0 x0040 | 选择此配置时,此端点能够发送或接收的最大数据包大小:64字节。 |
6 | bInterval | 1 | 0 x00 | 数据传输的轮询端点间隔,以毫秒表示:批量忽略 |
接口描述符(infc-0, alt-0)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x09 | 描述符的大小(以字节为单位):9 |
1 | bDescriptorType | 1 | 0 x04 | 接口描述符类型 |
2 | bInterfaceNumber | 1 | 0 x00 | 配置中的接口数目。 |
3. | bAlternateSetting | 1 | 0 x02 | 值,用于为先前字段中标识的接口选择替代设置。 |
4 | bNumEndpoints | 1 | 0 x03 | 该接口使用的端点数(不包括端点0)。 |
5 | bInterfaceClass | 1 | 0 xff | 供应商特定的接口类代码。 |
6 | bInterfaceSubClass | 1 | 0 xff | 子类代码:无 |
7 | bInterfaceProtocol | 1 | 0 xff | 协议码:无 |
8 | iInterface | 1 | 0 x00 | 描述此接口的字符串描述符的索引:无 |
批量(输出)端点描述符(infc-0, alt-2, EP-2)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x07 | 描述符的大小(以字节为单位):7 |
1 | bDescriptorType | 1 | 0 x05 | 端点描述符类型 |
2 | bEndpointAddress | 1 | 0 x81 | 由此描述符描述的USB设备上端点的地址。地址编码如下: 位3 . .0,端点编号; 位6 . .4、预留,复位为零。 位7、方向: 0 = OUT端点 1 = IN端点 |
3. | bmAttributes | 1 | 0 x03 | 属性配置时,此字段描述端点属性bConfigurationValue。 位1 . .0、传输类型:10b =批量 所有其他的位都是保留的 |
4 | wMaxPacketSize | 2 | 0 x0020 | 选择此配置时,此端点能够发送或接收的最大数据包大小:64字节。 |
6 | bInterval | 1 | 0 x01 | 数据传输的轮询端点间隔,以毫秒表示:批量忽略 |
批量(输出)端点描述符(infc-0, alt-2, EP-2)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x07 | 描述符的大小(以字节为单位):7 |
1 | bDescriptorType | 1 | 0 x05 | 端点描述符类型 |
2 | bEndpointAddress | 1 | 0 x02 | 由此描述符描述的USB设备上端点的地址。地址编码如下: 位3 . .0,端点编号; 位6 . .4、预留,复位为零。 位7、方向: 0 = OUT端点 1 = IN端点 |
3. | bmAttributes | 1 | 0 x02 | 属性配置时,此字段描述端点属性bConfigurationValue。 位1 . .0、传输类型:10b =批量 所有其他的位都是保留的 |
4 | wMaxPacketSize | 2 | 0 x0010 | 选择此配置时,此端点能够发送或接收的最大数据包大小:64字节。 |
6 | bInterval | 1 | 0 x00 | 数据传输的轮询端点间隔,以毫秒表示:批量忽略 |
批量(In)端点描述符(infc-0, alt-1, EP-3)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x07 | 描述符的大小(以字节为单位):7 |
1 | bDescriptorType | 1 | 0 x05 | 端点描述符类型 |
2 | bEndpointAddress | 1 | 0 x83 | 由此描述符描述的USB设备上端点的地址。地址编码如下: 位3 . .0,端点编号; 位6 . .4、预留,复位为零。 位7、方向: 0 = OUT端点 1 = IN端点 |
3. | bmAttributes | 1 | 0 x02 | 属性配置时,此字段描述端点属性bConfigurationValue。 位1 . .0、传输类型:10b =批量 所有其他的位都是保留的 |
4 | wMaxPacketSize | 2 | 0 x0010 | 选择此配置时,此端点能够发送或接收的最大数据包大小:64字节。 |
6 | bInterval | 1 | 0 x00 | 数据传输的轮询端点间隔,以毫秒表示:批量忽略 |
接口描述符(infc-0, alt-3)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x09 | 描述符的大小(以字节为单位):9 |
1 | bDescriptorType | 1 | 0 x04 | 接口描述符类型 |
2 | bInterfaceNumber | 1 | 0 x00 | 配置中的接口数目。 |
3. | bAlternateSetting | 1 | 0 x03 | 值,用于为先前字段中标识的接口选择替代设置。 |
4 | bNumEndpoints | 1 | 0 x03 | 该接口使用的端点数(不包括端点0)。 |
5 | bInterfaceClass | 1 | 0 xff | 供应商特定的接口类代码。 |
6 | bInterfaceSubClass | 1 | 0 xff | 子类代码:无 |
7 | bInterfaceProtocol | 1 | 0 xff | 协议码:无 |
8 | iInterface | 1 | 0 x00 | 描述此接口的字符串描述符的索引:无 |
中断端点描述符(infc-0, alt-3, EP-1)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x07 | 描述符的大小(以字节为单位):7 |
1 | bDescriptorType | 1 | 0 x05 | 端点描述符类型 |
2 | bEndpointAddress | 1 | 0 x81 | 由此描述符描述的USB设备上端点的地址。地址编码如下: 位3 . .0,端点编号; 位6 . .4、预留,复位为零。 位7、方向: 0 = OUT端点 1 = IN端点 |
3. | bmAttributes | 1 | 0 x03 | 属性配置时,此字段描述端点属性bConfigurationValue。 位1 . .0、传输类型:11b =中断 所有其他的位都是保留的 |
4 | wMaxPacketSize | 2 | 0 x0020 | 选择此配置时,此端点能够发送或接收的最大数据包大小:32字节。 |
6 | bInterval | 1 | 0 x01 | 数据传输轮询端点的时间间隔,单位为毫秒:1毫秒 |
中断端点描述符(infc-0, alt-3, EP-2)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x07 | 描述符的大小(以字节为单位):7 |
1 | bDescriptorType | 1 | 0 x05 | 端点描述符类型 |
2 | bEndpointAddress | 1 | 0 x02 | 由此描述符描述的USB设备上端点的地址。地址编码如下: 位3 . .0,端点编号; 位6 . .4、预留,复位为零。 位7、方向: 0 = OUT端点 1 = IN端点 |
3. | bmAttributes | 1 | 0 x02 | 属性配置时,此字段描述端点属性bConfigurationValue。 位1 . .0、传输类型:11b =中断 所有其他的位都是保留的 |
4 | wMaxPacketSize | 2 | 0 x0040 | 选择此配置时,此端点能够发送或接收的最大数据包大小:32字节。 |
6 | bInterval | 1 | 0 x00 | 数据传输轮询端点的时间间隔,单位为毫秒:1毫秒 |
中断端点描述符(infc-0, alt-3, EP-3)
抵消 | 场 | 大小 | 价值 | 描述 |
0 | bLength | 1 | 0 x07 | 描述符的大小(以字节为单位):7 |
1 | bDescriptorType | 1 | 0 x05 | 端点描述符类型 |
2 | bEndpointAddress | 1 | 0 x83 | 由此描述符描述的USB设备上端点的地址。地址编码如下: 位3 . .0,端点编号; 位6 . .4、预留,复位为零。 位7、方向: 0 = OUT端点 1 = IN端点 |
3. | bmAttributes | 1 | 0 x02 | 属性配置时,此字段描述端点属性bConfigurationValue。 位1 . .0、传输类型:11b =中断 所有其他的位都是保留的 |
4 | wMaxPacketSize | 2 | 0 x0040 | 选择此配置时,此端点能够发送或接收的最大数据包大小:32字节。 |
6 | bInterval | 1 | 0 x00 | 数据传输轮询端点的时间间隔,单位为毫秒:1毫秒 |
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308