2. 超时参数 T1(Inter-Character Timeout):定义、作用、典型值范围、对低速链路的影响

2.1 定义与核心作用

T1(Inter-Character Timeout) 是 SECS-I 协议(基于 RS-232 串行通信)中定义的最基础超时参数,用于监控两个连续字符之间的最大允许时间间隔。在 SECS/GEM 通信栈中,T1 位于物理层与数据链路层之间,直接决定了消息帧的完整性检测粒度。

官方定义(SEMI E4): T1 是接收端在等待一个消息块(Message Block)中下一个字符到达时,所允许的最大等待时间。若在 T1 时间内未收到下一个字符,接收端应判定该块传输失败,并丢弃已收到的部分数据。

核心作用:

  • 帧完整性检测: 确保单个消息块内的所有字符在连续的时间窗口内到达,防止因字符丢失或错位导致的帧解析错误。
  • 链路状态感知: 快速检测物理链路的断开或异常中断,避免接收端无限期等待不存在的字符。
  • 冲突与噪声容限: 在串行通信中,电磁干扰或电气噪声可能导致字符延迟或丢失,T1 提供了合理的容忍窗口。

2.2 典型值范围与标准依据

根据 SEMI E4 标准及行业实践,T1 的典型配置范围如下表所示:

参数 最小值 推荐值 最大值 标准依据
T1 0.5 秒 1.0 秒 10.0 秒 SEMI E4 / E5
典型应用场景 高速本地链路(≤ 115200 bps) 标准工厂链路(9600 ~ 38400 bps) 低速或长距离链路(≤ 2400 bps) —
实践建议: 在大多数半导体工厂自动化项目中,T1 直接采用默认值 1.0 秒即可满足需求。仅在遇到低速链路或长距离传输时,才需要向上调整。

2.3 T1 在 SECS-I 消息帧中的位置

下图展示了 SECS-I 消息块(Block)的结构,以及 T1 超时在接收过程中的监控位置:

T1 超时在 SECS-I 消息块中的监控位置 SECS-I 消息块结构及 T1 超时监控位置 SECS-I 消息块(Message Block) 长度字节(LEN) | 设备ID/控制位 | 块号 | 系统字节 | 数据区 | 校验和 字符序列(放大视图) Char 1 → Char 2 → Char 3 → ... → Char N T1 超时:相邻字符间最大允许间隔(典型 1.0 秒)

如上图所示,接收端在每收到一个字符后,都会启动 T1 定时器。若在定时器到期前收到下一个字符,则重置定时器并继续接收;若定时器到期仍未收到字符,则判定该块传输失败。

2.4 对低速链路的特殊影响

当通信链路波特率较低(如 2400 bps 或 4800 bps)时,T1 的配置需要特别关注。下表对比了不同波特率下单个字符的传输时间:

波特率(bps) 每比特时间(ms) 每字符时间(10 位,ms) 1024 字节块传输时间(s) T1 推荐值(s)
9600 0.104 1.04 1.07 1.0
4800 0.208 2.08 2.13 2.0
2400 0.417 4.17 4.27 4.0
1200 0.833 8.33 8.53 8.0
⚠ 低速链路陷阱: 若在 2400 bps 链路上仍使用默认的 1.0 秒 T1 值,当传输较大消息块(如 1024 字节)时,由于字符间自然间隔可能接近或超过 1.0 秒,会导致频繁的 T1 超时误判,造成通信中断和重传风暴。此时必须将 T1 调整为 4.0 秒或更高。

2.5 T1 超时与重传机制的联动

当 T1 超时发生时,接收端的行为遵循以下流程:

  1. 丢弃当前块: 接收端立即丢弃已收到的部分字符,并释放相关缓冲区。
  2. 发送 NAK(否定应答): 若该块属于多块消息的一部分,接收端向发送端发送 NAK 信号,指示需要重传该块。
  3. 触发 T5 超时(连接超时): 若 T1 超时频繁发生,可能导致整个消息传输超时(T5),进而触发链路重建。
  4. 统计与告警: 主机或设备端应记录 T1 超时次数,用于链路质量评估和故障诊断。

下图展示了 T1 超时后的重传决策流程:

T1 超时重传决策流程 T1 超时后的重传决策流程 接收字符 启动 / 重置 T1 定时器 T1 是否超时? 否 继续接收 是 丢弃当前块 发送 NAK 等待发送端重传该块

2.6 调优实践要点

调优检查清单:
  • 链路摸底: 在部署前使用示波器或串口分析仪测量实际字符间最大间隔,作为 T1 设置的基准。
  • 留有余量: 推荐将 T1 设置为实测最大字符间隔的 2~3 倍,避免因瞬时负载波动导致误超时。
  • 避免过大: T1 设置过大(如 > 10 秒)会降低链路故障检测的灵敏度,导致系统对断线反应迟钝。
  • 联动调整: 修改 T1 时,需同步检查 T2(块间超时)、T3(回复超时)等参数,确保超时层级合理。
案例参考: 某 300mm 晶圆厂在升级老旧设备时,将 RS-232 链路从 9600 bps 降速至 2400 bps 以提升抗干扰能力,但未调整 T1 值(仍为 1.0 秒),导致每小时出现 200+ 次 T1 超时。将 T1 调整为 4.0 秒后,超时次数降为 0,通信恢复正常。