USB网络控制通讯NCM
+ -

NCM传输头-NTH32

2025-07-07 0 0

以下是 NTH32 的完整技术规范解析,采用结构化表格呈现,并与 NTH16 对比关键差异:


NTH32 结构定义(总长度:16字节)

偏移量 字段名 大小 值/格式 说明 与NTH16差异
0 dwSignature 4字节 0x686D636E (小端序:ncmh) NTB32标识签名
- 固定魔数,标识NTB-32结构。
- 小端序传输为 0x6E,0x63,0x6D,0x68(ASCII “ncmh”)。
签名不同(ncmh vs NCMH
4 wHeaderLength 2字节 0x0010 (小端序) NTH32头部长度
- 固定为16字节(0x10),比NTH16多4字节。
长度增加(0x0C → 0x10)
6 wSequence 2字节 递增数字(小端序) 序列号
- 功能与NTH16完全相同:
- 复位后从0开始递增。
- 主要用于调试,接收端可选校验。
无变化
8 dwBlockLength 4字节 NTB总字节数(小端序) NTB块总长度
- 扩展为32位,支持最大4 GiB传输(NTH16仅支持64 KiB)。
- 其他规则与NTH16一致:
- 必须 ≤ dwNtbInMaxSize/dwNtbOutMaxSize
- 0x00000000 表示短包终止(需谨慎使用)。
- 对齐要求相同(不发送冗余ZLP)。
16位 → 32位(容量提升)
12 dwNdpIndex 4字节 NDP32偏移量(小端序) 第一个NDP32的偏移量
- 扩展为32位,支持更大NTB寻址。
- 约束
- 必须 ≥ 0x0010(跳过16字节的NTH32头部)。
- 必须4字节对齐。
16位 → 32位(偏移量扩展)

关键差异对比(NTH32 vs NTH16)

特性 NTH32 NTH16
签名 0x686D636E (“ncmh”) 0x484D434E (“NCMH”)
头部长度 16字节 (0x0010) 12字节 (0x000C)
块长度字段 32位 (dwBlockLength) 16位 (wBlockLength)
NDP偏移字段 32位 (dwNdpIndex) 16位 (wNdpIndex)
最大NTB容量 4 GiB 64 KiB
适用场景 USB 3.0 SuperSpeed及以上 USB 2.0 High Speed

注意事项

  1. 短包终止(dwBlockLength = 0x00000000

    • 与NTH16相同,需谨慎使用以避免主机与设备状态不同步。
    • 典型场景:动态调整传输块大小以降低延迟。
  2. 对齐要求

    • dwNdpIndex 必须4字节对齐(如0x10, 0x14, 0x18…)。
    • NDP32结构需按32位对齐(参见NDP32规范)。
  3. 调试支持

    • wSequence 字段虽非强制,但建议在开发阶段启用,尤其对于高速大块传输(更易出现乱序)。

示例数据流(小端序)

假设一个NTB-32的NTH32头部如下(十六进制):

6E 63 6D 68  10 00  02 00  00 00 01 00  10 00 00 00
  • 解析
    • dwSignature = 0x6E636D68 (“ncmh”)
    • wHeaderLength = 0x0010 (16字节)
    • wSequence = 0x0002 (序列号2)
    • dwBlockLength = 0x00010000 (NTB总长65,536字节)
    • dwNdpIndex = 0x00000010 (第一个NDP32紧接NTH32之后)

关联设计要点

  • NDP32结构:需配合32位偏移量(dwDatagramIndex)定位以太网帧。
  • 性能优化
    • 大块传输(4 GiB)减少USB协议开销,适合高速设备(如5G调制解调器)。
    • 零拷贝接收:通过NDP32直接访问帧数据,无需内存重组。
  • 兼容性:主机根据设备能力动态选择NTB-16或NTB-32格式。

此设计确保了NCM在USB 3.0及更高版本下的高效数据传输,同时保持向后兼容性。

0 篇笔记 写笔记

NCM传输头-NTH32
以下是 NTH32 的完整技术规范解析,采用结构化表格呈现,并与 NTH16 对比关键差异:NTH32 结构定义(总长度:16字节)偏移量字段名大小值/格式说明与NTH16差异0dwSignature4字节0x686D636E (小端序:ncmh)NTB32标识......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB网络控制通讯NCM
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!