USB2.0集线器事务转换器TT 高速总线与低速设备的“翻译官”
在 USB 2.0 高速总线普及后,如何兼容大量全速(12Mbps)、低速(1.5Mbps)老旧设备,成为核心技术难题。事务转换器(Transaction Translator,简称 TT) 应运而生,它是高速集线器的核心模块,如同一位精准的“翻译官”,完美衔接高速信号域与低速信号域,既保障高速总线效率,又实现老旧设备无缝适配。
一、TT 的核心使命:隔离与转换
TT 并非始终工作,仅在集线器上行端口为高速模式、下行端口连接全速/低速设备时激活。它的核心职责有两点:
- 电气与时序隔离,将高速(480Mbps)信号环境与全速/低速信号环境完全隔离,避免不同速率总线相互干扰;
- 协议转换,把主机发出的高速事务,翻译成全速/低速设备能识别的标准事务,同时将设备响应转回高速格式,实现双向互通。
简单来说,TT 在高速总线上伪装成“高速设备”,接收主机指令;在下行端口则化身“迷你主机控制器”,直接调度全速/低速设备,成为两端通信的唯一桥梁。
二、TT 内部架构:双引擎+双缓存,高效协同
TT 内部采用模块化设计,两大处理单元独立运行,通过缓存缓冲区交换数据,兼顾效率与稳定性:
- 高速处理单元:专职对接上行高速总线,负责接收主机的 Start-Split(起始拆分) 事务、应答 Complete-Split(完成拆分) 事务,是TT与主机通信的“窗口”。
- 全速/低速处理单元:专职对接下行全速/低速设备,模拟主机控制器行为,发起原生全速/低速事务,是TT与外设通信的“终端”。
为适配不同传输类型,TT 内置两类独立缓存,分工明确:
- 周期性缓存:专为同步、中断传输设计,这类事务(如鼠标、键盘、音视频)有严格时序要求,采用流水线缓存架构,保障实时性;
- 非周期性缓存:专为批量、控制传输设计(如U盘、打印机),无严格时序约束,通过简单流控机制管理,最大化利用低速总线带宽。

三、核心工作机制:拆分事务,解放高速总线
USB 2.0 独创拆分事务协议,这是 TT 实现高效转换的关键:
- 主机发送高速 Start-Split → 寻址到目标设备对应的 TT;
- TT 接收并本地缓存该事务,高速单元回复握手包告知主机接收完成(部分拆分事务无握手阶段);
- 低速 / 全速处理单元,按下行总线时序,依次取出缓存的起始拆分,转为标准 FS/LS 事务下发给外设;
- 外设应答结果被 TT 缓存;
- 后续主机主动下发高速 Complete-Split,读取事务状态、数据、应答结果;
- TT 匹配缓存事务并完成应答,一次桥接交互结束。
这种机制彻底解决了“低速设备拖慢高速总线”的问题——主机不用等待慢速事务完成,高速总线全程高效运转,同时低速设备正常通信,两全其美。
四、关键时序逻辑:依托高速定时,管控低速帧
全速/低速总线依赖1ms 帧时序(包含专属的 EOF1、EOF2 帧结束边界),而高速总线采用 125μs 微帧。TT 无需独立生成低速帧时序,而是通过高速微帧定时器衍生 1ms 帧定时器:
五、同步异常处理:失步即保护,保障总线稳定
TT 的正常运行高度依赖微帧定时器与 1ms 帧定时器同步,一旦连续丢失 3 个高速微帧 SOF,定时器立即失步,TT 会启动严格的保护机制:
- 停止下发下行全速 SOF 和低速保活信号;
- 终止周期性事务,忽略新的周期起始拆分;
- 保留批量/控制事务缓存,等待恢复或清空指令;
- 禁止建立上行连通,避免时序错乱引发总线故障。
待重新接收到连续高速 SOF、恢复双定时器同步后,TT 自动重启下行服务,全程无需人工干预,保障总线稳定性。
六、单TT vs 多TT:架构差异,性能不同
集线器 TT 分为两种硬件架构,直接影响多设备并发性能:
- 单TT(STT):所有下行全速/低速端口共享一个TT,总带宽受限(最大12Mbps),多设备并发时会相互抢占带宽;
- 多TT(MTT):每个下行端口独立配备TT,每个端口均可满速运行(12Mbps),多设备并发无带宽争抢,性能更优。
两种架构均需在集线器描述符中明确上报,主机可自动识别适配。
七、TT 的调度规则:优先级明确,时序合规
TT 下行调度遵循固定优先级,保障关键业务优先执行:
- 周期事务优先:每次完成一笔事务后,优先处理同步、中断类周期性事务;
- 非周期事务兜底:无周期事务时,才调度批量/控制事务,且必须校验 1ms 帧剩余时间,确保事务能完整执行,不破坏帧边界;
- 严格时序管控:依托高速微帧定时器推进流水线,避免低速事务发起过早或过晚,符合 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 ,欢迎转载,转载请附上本文链接。
USB2.0集线器HUB





