3. TT 的两种模式:单 TT(Single TT)与多 TT(Multiple TT)架构对比、适用场景

事务翻译器(Transaction Translator, TT)是 USB 2.0 集线器(Hub)的核心组件,负责将主机发出的高速(HS)Split Transaction 转换为全速/低速(FS/LS)设备能够理解的完整事务。根据 Hub 内部 TT 实例的数量和分配方式,分为 单 TT(Single TT) 和 多 TT(Multiple TT) 两种架构。这两种架构在性能、成本、并发能力和应用场景上存在显著差异。

💡 核心概念: 单 TT 架构下,Hub 内部只有一个 TT 实例,所有下行端口共享该实例;多 TT 架构下,每个下行端口拥有独立的 TT 实例,实现端口级隔离与并发。

3.1 单 TT(Single TT)架构

单 TT 架构是 USB 2.0 Hub 的早期实现方式,也是成本最低的方案。其核心特征是:整个 Hub 内部仅包含 一个 事务翻译器实例,所有连接到该 Hub 下行端口(Downstream Port)的全速/低速设备,都必须通过这一个 TT 与主机进行数据交换。

3.1.1 架构特点

  • 资源共享: 所有 FS/LS 设备共享同一个 TT 的缓冲区(Buffer)和状态机。
  • 串行处理: 同一时刻只能处理一个 Split Transaction,后续事务必须等待当前事务完成。
  • 成本低廉: 芯片面积小,逻辑简单,适合对成本敏感的嵌入式系统。
  • 兼容性好: 符合 USB 2.0 规范的基本要求,所有 USB 2.0 Hub 控制器均支持。

3.1.2 单 TT 架构示意图

单 TT(Single TT)架构 USB 2.0 主机(Host) 上行端口(UP) 单 TT 实例 (共享缓冲区 + 状态机) 下行端口 1 下行端口 2 下行端口 3 FS 设备 A FS 设备 B FS 设备 C 所有 FS/LS 设备共享同一个 TT 实例,事务串行处理,存在排队等待

3.2 多 TT(Multiple TT)架构

多 TT 架构是 USB 2.0 规范的可选增强特性,旨在解决单 TT 架构下的性能瓶颈。其核心特征是:Hub 内部为 每个下行端口 分配一个独立的 TT 实例,各端口之间的 FS/LS 事务可以并行处理,互不干扰。

3.2.1 架构特点

  • 端口隔离: 每个下行端口拥有独立的缓冲区、状态机和帧计数器。
  • 并行处理: 多个下行端口可以同时进行 Split Transaction,显著提升总吞吐量。
  • 避免头阻塞(HOL Blocking): 一个端口上的慢速设备不会阻塞其他端口上的快速设备。
  • 成本较高: 芯片面积增大,逻辑复杂度提升,功耗略有增加。

3.2.2 多 TT 架构示意图

多 TT(Multiple TT)架构 USB 2.0 主机(Host) 上行端口(UP) TT 实例 1 (端口 1 专用) TT 实例 2 (端口 2 专用) TT 实例 3 (端口 3 专用) 下行端口 1 下行端口 2 下行端口 3 FS 设备 A FS 设备 B FS 设备 C 每个下行端口拥有独立的 TT 实例,事务可并行处理,端口间互不阻塞 有效避免头阻塞(HOL Blocking),提升多设备并发性能

3.3 单 TT 与多 TT 架构对比

对比维度 单 TT(Single TT) 多 TT(Multiple TT)
TT 实例数量 1 个(全局共享) N 个(每个下行端口 1 个)
事务并发能力 无并发,串行处理 端口级并发,可并行处理
头阻塞(HOL) 严重,慢速设备会阻塞其他端口 无,端口间完全隔离
缓冲区大小 单个缓冲区,容量有限 每个端口独立缓冲区,总容量更大
芯片面积 小 大(约增加 30%~50%)
功耗 低 中等偏高
成本 低 高
USB 规范要求 强制支持 可选支持

3.4 适用场景分析

3.4.1 单 TT 适用场景

  • 低成本嵌入式系统: 如单片机(MCU)扩展 USB 接口,对成本敏感,且通常只连接 1~2 个低速外设(如键盘、鼠标)。
  • 单一设备应用: Hub 仅用于连接一个全速设备,无需考虑多设备并发。
  • 非实时性应用: 对数据传输延迟不敏感,如批量数据传输(Bulk Transfer)的打印机、扫描仪。
  • 老旧设备兼容: 部分早期 USB 2.0 Hub 芯片仅支持单 TT,用于替换或维修场景。

3.4.2 多 TT 适用场景

  • 高性能多设备系统: 如 USB 集线器同时连接多个全速音频设备、HID 设备或数据采集设备。
  • 实时性要求高的场景: 如等时传输(Isochronous Transfer)的 USB 麦克风、摄像头,需要稳定的帧传输间隔。
  • 混合速度设备环境: 同时连接全速和低速设备,且要求各设备性能不受影响。
  • 工业自动化与数据采集: 多个传感器同时上报数据,需要避免数据丢失或延迟。
📌 选型建议: 在嵌入式系统设计中,如果 Hub 下行端口连接的 FS/LS 设备数量 ≤ 2,且对并发性能无特殊要求,优先选择单 TT 以降低成本;如果设备数量 ≥ 3,或涉及等时传输、实时控制,务必选择多 TT 架构。

3.5 性能调优要点

在实际配置中,针对 TT 模式的选择和优化,需要关注以下参数:

  1. TT 实例数量配置: 部分 Hub 控制器(如 Cypress CY7C656xx 系列)支持通过寄存器配置 TT 模式,需确认硬件支持情况。
  2. 缓冲区深度调整: 多 TT 架构下,每个端口的缓冲区大小可能可调(如 512B / 1KB),根据设备负载合理分配。
  3. 帧起始(SOF)间隔: 多 TT 架构下,各端口独立跟踪 SOF,需确保时钟同步精度。
  4. Split Transaction 超时: 单 TT 架构下,建议适当增大超时阈值,避免慢速设备导致事务失败。
⚠️ 常见误区: 不要认为多 TT 一定比单 TT 好。在仅连接 1 个全速设备时,单 TT 与多 TT 性能几乎无差异,但单 TT 功耗更低、成本更优。盲目选择多 TT 可能造成资源浪费。

3.6 本章小结

  • 单 TT 架构:共享一个 TT 实例,串行处理,成本低,适合少设备、低并发场景。
  • 多 TT 架构:每个端口独立 TT 实例,并行处理,避免头阻塞,适合多设备、高实时性场景。
  • 选型时需综合考虑设备数量、传输类型、实时性要求和成本预算。
  • 性能调优应关注 TT 实例数量、缓冲区深度、SOF 同步和超时配置。