NCM SetNtbInputSize
2025-07-08
0
0
SET_NTB_INPUT_SIZE 请求格式
字段 | 值 | 描述 |
---|---|---|
bmRequestType | 00100001B |
请求类型: • 位7:0 = 主机到设备 • 位6-5:00 = 标准请求 • 位4:0 = 主机到设备 • 位3-0:0001 = 接口 |
bRequest | SET_NTB_INPUT_SIZE |
请求代码: 86h (134) |
wValue | Zero |
值字段: 必须为0 |
wIndex | NCM Communications Interface |
索引字段: NCM通信接口号 |
wLength | 4 or 8 |
长度字段: 4或8字节 |
Data | NTB Input Size Structure |
数据字段: NTB输入大小结构体 |
请求详情
bmRequestType 位字段解析
位7: 0 = 主机到设备 (OUT)
位6-5: 00 = 标准请求类型
位4: 0 = 主机到设备方向
位3-0: 0001 = 接口请求
典型值示例
- bmRequestType:
21h
(00100001B) - bRequest:
86h
(SET_NTB_INPUT_SIZE) - wValue:
0000h
(0) - wIndex:
0001h
(接口1,具体值取决于NCM接口号) - wLength:
0004h
(4字节) 或0008h
(8字节)
NTB输入大小结构体
偏移 | 字段名 | 大小 | 值 | 描述 |
---|---|---|---|---|
0 | dwNtbInMaxSize |
4 | Number | IN NTB最大大小,以字节为单位。主机应选择至少2048字节,且不超过功能允许的最大大小(根据NTB参数结构体中的值) |
4 | wNtbInMaxDatagrams |
2 | Number | IN NTB内最大数据报数量。0表示无限制 |
6 | reserved |
2 | Number | 保留字段,必须传输为0,接收时忽略 |
重要限制和要求
长度设置规则
如果设备NCM功能描述符的
bmNetworkCapabilities
字段中设置了位D5,主机可以将wLength
设置为4或8- 如果
wLength
为4,功能应假设wNtbInMaxDatagrams
设置为0 - 如果
wLength
为8,功能应使用提供的值作为限制 - 如果
wLength
设置为任何其他值,功能应返回错误响应(STALL PID)
- 如果
如果位D5在功能NCM功能描述符的
bmNetworkCapabilities
字段中被重置,主机应将wLength
设置为4- 如果
wLength
设置为任何其他值,功能应返回错误响应(STALL PID)
- 如果
错误处理
- 如果数据阶段传递的值无效,或
wLength
无效,功能应返回错误响应(STALL PID) - 功能不得更改其用于准备NTB的值
使用场景
此请求用于:
- 设置设备发送给主机的NTB最大大小
- 可选地设置单个NTB中编码的最大数据报数量
- 优化网络传输性能
- 控制数据传输效率
注意事项
- 最大大小至少为2048字节
- 不能超过设备允许的最大值
- 长度设置取决于设备能力
- 数据报数量限制为可选功能