USB2.0集线器HUB
+ -

USB2.0集线器事务转换器TT 高速总线与低速设备的“翻译官”

2026-04-20 本文链接为:http://www.usbzh.com/article/detail-1612.html ,欢迎转载,转载请附上本文链接。

在 USB 2.0 高速总线普及后,如何兼容大量全速(12Mbps)、低速(1.5Mbps)老旧设备,成为核心技术难题。事务转换器(Transaction Translator,简称 TT) 应运而生,它是高速集线器的核心模块,如同一位精准的“翻译官”,完美衔接高速信号域与低速信号域,既保障高速总线效率,又实现老旧设备无缝适配。

一、TT 的核心使命:隔离与转换

TT 并非始终工作,仅在集线器上行端口为高速模式、下行端口连接全速/低速设备时激活。它的核心职责有两点:

  • 电气与时序隔离,将高速(480Mbps)信号环境与全速/低速信号环境完全隔离,避免不同速率总线相互干扰;
  • 协议转换,把主机发出的高速事务,翻译成全速/低速设备能识别的标准事务,同时将设备响应转回高速格式,实现双向互通。

简单来说,TT 在高速总线上伪装成“高速设备”,接收主机指令;在下行端口则化身“迷你主机控制器”,直接调度全速/低速设备,成为两端通信的唯一桥梁。

二、TT 内部架构:双引擎+双缓存,高效协同

TT 内部采用模块化设计,两大处理单元独立运行,通过缓存缓冲区交换数据,兼顾效率与稳定性:

  1. 高速处理单元:专职对接上行高速总线,负责接收主机的 Start-Split(起始拆分) 事务、应答 Complete-Split(完成拆分) 事务,是TT与主机通信的“窗口”。
  2. 全速/低速处理单元:专职对接下行全速/低速设备,模拟主机控制器行为,发起原生全速/低速事务,是TT与外设通信的“终端”。

为适配不同传输类型,TT 内置两类独立缓存,分工明确:

  • 周期性缓存:专为同步、中断传输设计,这类事务(如鼠标、键盘、音视频)有严格时序要求,采用流水线缓存架构,保障实时性;
  • 非周期性缓存:专为批量、控制传输设计(如U盘、打印机),无严格时序约束,通过简单流控机制管理,最大化利用低速总线带宽。
    事务转换器

三、核心工作机制:拆分事务,解放高速总线

USB 2.0 独创拆分事务协议,这是 TT 实现高效转换的关键:

  1. 主机发送高速 Start-Split → 寻址到目标设备对应的 TT;
  2. TT 接收并本地缓存该事务,高速单元回复握手包告知主机接收完成(部分拆分事务无握手阶段);
  3. 低速 / 全速处理单元,按下行总线时序,依次取出缓存的起始拆分,转为标准 FS/LS 事务下发给外设;
  4. 外设应答结果被 TT 缓存;
  5. 后续主机主动下发高速 Complete-Split,读取事务状态、数据、应答结果;
  6. TT 匹配缓存事务并完成应答,一次桥接交互结束。

这种机制彻底解决了“低速设备拖慢高速总线”的问题——主机不用等待慢速事务完成,高速总线全程高效运转,同时低速设备正常通信,两全其美。

四、关键时序逻辑:依托高速定时,管控低速帧

全速/低速总线依赖1ms 帧时序(包含专属的 EOF1、EOF2 帧结束边界),而高速总线采用 125μs 微帧。TT 无需独立生成低速帧时序,而是通过高速微帧定时器衍生 1ms 帧定时器

  • 识别高速 0 号微帧 SOF(帧号跳变的微帧),建立 1ms 全速帧基准;
  • 全程与主机高速 SOF 保持同步,精准把控下行全速/低速设备的 SOF 下发、EOF1/EOF2 边界校验,确保时序零误差。

五、同步异常处理:失步即保护,保障总线稳定

TT 的正常运行高度依赖微帧定时器与 1ms 帧定时器同步,一旦连续丢失 3 个高速微帧 SOF,定时器立即失步,TT 会启动严格的保护机制:

  1. 停止下发下行全速 SOF 和低速保活信号;
  2. 终止周期性事务,忽略新的周期起始拆分;
  3. 保留批量/控制事务缓存,等待恢复或清空指令;
  4. 禁止建立上行连通,避免时序错乱引发总线故障。

待重新接收到连续高速 SOF、恢复双定时器同步后,TT 自动重启下行服务,全程无需人工干预,保障总线稳定性。

六、单TT vs 多TT:架构差异,性能不同

集线器 TT 分为两种硬件架构,直接影响多设备并发性能:

  • 单TT(STT):所有下行全速/低速端口共享一个TT,总带宽受限(最大12Mbps),多设备并发时会相互抢占带宽;
  • 多TT(MTT):每个下行端口独立配备TT,每个端口均可满速运行(12Mbps),多设备并发无带宽争抢,性能更优。

两种架构均需在集线器描述符中明确上报,主机可自动识别适配。

七、TT 的调度规则:优先级明确,时序合规

TT 下行调度遵循固定优先级,保障关键业务优先执行:

  1. 周期事务优先:每次完成一笔事务后,优先处理同步、中断类周期性事务;
  2. 非周期事务兜底:无周期事务时,才调度批量/控制事务,且必须校验 1ms 帧剩余时间,确保事务能完整执行,不破坏帧边界;
  3. 严格时序管控:依托高速微帧定时器推进流水线,避免低速事务发起过早或过晚,符合 USB 协议时序规范。

八、事务调度机制

高速单元持续接收主机 Start-Split,下行 OUT 数据、IN 事务信息全部存入缓冲区,等待低速 / 全速侧调度执行。主机对周期性缓存与非周期性缓存采用完全不同的调度管理策略。

同步 / 中断(周期性)事务缓存

全速 / 低速周期性事务有严格时序约束,必须保证:高速下发 → TT 转发 → 低速总线交互 → 结果回传高速,全程时序合规
TT 对周期性事务采用微帧流水线缓存架构:

  • 主机下发:高速 Start-Split → 高速单元接收 → 存入Start-Split 缓存
  • TT 下行:低速处理单元按序取出缓存,下发 FS/LS 周期性事务
  • 结果回存:外设应答存入 Complete-Split 缓存
  • 主机读取:主机发 Complete-Split,TT 取出缓存结果应答
  • 整套串行缓冲流转 = 周期性事务流水线

同步 / 中断(周期性)事务缓存

只要 FS/LS 周期性端点配置完成,主机就会持续流式调度拆分事务,保证低速 / 全速设备持续正常工作。

批量 / 控制(非周期性)事务缓存

无硬性时序要求,TT 仅保证全速 / 低速带宽上限。
通过NAK 握手流控管理缓存:

  • 主机发 Start-Split,TT 缓存空闲则接收;
  • 低速侧执行事务后,复用缓存存放应答 / 数据 / 超时结果;
  • 等待主机 Complete-Split 读取后,缓存释放复用。

周期与非周期性的区别

仅从“数据流转步骤”看,周期性和非周期性事务在TT内部的机械动作确实基本相同:都是接收Start-Split→存入缓存→下行执行→存回结果→等待Complete-Split读取。但两者的本质区别体现在主机和TT之间的“控制权”与“容错模型”上。

  • 周期性事务:主机强制推进,TT必须跟上,跟不上就崩。
  • 非周期性事务:主机试探推进,TT可以喊“慢点”,跟不上就NAK重试。
维度 周期性(同步/中断) 非周期性(批量/控制)
主机调度心态 “我现在就要发,你必须接住” “你有空吗?有空就做,没空我等等”
TT能否对Start-Split回复NAK 不能(或者说理论上不允许常规使用)。因为主机时序固定,NAK会导致主机空等,破坏微帧边界。 。TT缓存满或低速总线忙就直接NAK,主机收到后乖乖推迟重试。
缓存满时的行为 TT必须预留专用缓冲区给周期性端点,否则是设计缺陷。若真的满了,TT只能丢弃或覆盖(数据丢失)。 TT直接回复NAK,不丢数据,只是让主机慢点发。
超时/错误处理 超时往往意味着时序已破坏,主机可能直接挂起端点或报错,不会无限重试。 标准“三次失败即退出”,超时后递增错误计数,三次未过则停掉端点。
错误计数(err_count) 对周期性事务,错误计数机制意义不大或行为不同,因为不允许常规重试。 严格使用错误计数,配合NAK流控实现可靠传输。
主机重试策略 不重试,或者重试次数极其有限(因为时序窗口已过)。 可以反复重试,直到成功、三次失败、或收到NAK后推迟。
类比 就像机场传送带:物品不断送来,你必须按时拿走,拿不走就堆到地上丢件。 就像快递员敲门:敲一下问“能收吗?”,不能收就改天再来,记录几次没人就退件。

全速 / 低速处理单元 事务调度优先级

下行总线调度规则:

  • 事务完成后,优先执行缓存中的周期性中断 / 同步事务;
  • 无周期性任务时,检查批量 / 控制事务;
  • 必须校验:当前全速 1ms 帧剩余时间足够完整跑完该笔事务,才允许下发;
  • 多笔非周期事务之间采用轮询调度。

TT 严格依托高速 125μs 微帧定时器推进流水线,管控 FS/LS 事务发起时机,避免过早 / 过晚破坏帧边界时序。

结语

TT 是 USB 2.0 高速兼容低速设备的核心基石,它通过隔离转换、拆分事务、时序精准、异常保护,实现了高速总线与老旧低速设备的无缝协同。从日常使用的鼠标、键盘,到U盘、打印机,正是 TT 的默默工作,让不同速率的 USB 设备能统一接入、稳定运行,成为 USB 生态兼容设计的经典范例。

本文链接为:http://www.usbzh.com/article/detail-1612.html ,欢迎转载,转载请附上本文链接。

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936     USB技术交流3:1031974172

0 篇笔记 写笔记

USB2.0集线器事务转换器TT
在 USB 2.0 高速总线普及后,如何兼容大量全速(12Mbps)、低速(1.5Mbps)老旧设备,成为核心技术难题。事务转换器(Transaction Translator,简称 TT) 应运而生,它是高速集线器的核心模块,如同一位精准的“翻译官”,完美衔接高速信号域与低速信号域,既保障高速总线......
USB2.0集线器的单TT和多TT
USB 2.0 集线器的 单TT(Single TT, STT) 和 多TT(Multi-TT, MTT) 核心区别在于:共享一个事务翻译器 还是 每个端口独立一个,直接决定多 FS/LS 设备并发时的带宽、延迟、稳定性。一、TT 是什么(快速回顾)TT = Transaction Transl......
TT低全速-批量控制事务转换
事务缓冲区每个事务转换器必须有至少2个完全一模一样、功能对等的通用缓冲区,每一个缓冲区都独立完整走完一整条事务全流程:接收上游主机下发的Start-Split(起始拆分)缓存下发OUT数据/事务命令交给下游全速/低速总线执行事务缓存下游设备返回的握手、IN 数据、超时结果再通过 Complete......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • USB资源
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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