3、超时机制详解:T1(线路超时)、T2(协议超时)、T3(回复超时)、T4(连接超时)、T5(分离超时)、T6(控制超时)

在 SECS/GEM 通信中,超时机制是保障系统可靠性的核心防线。不同的超时定时器分别监控通信链路的不同阶段,从物理线路到应用层控制,形成层层递进的故障检测体系。理解每个超时的含义、触发条件及处理策略,是设计健壮半导体设备软件的基础。

3.1 超时定时器总览

SECS/GEM 标准定义了六种关键超时定时器,分别对应通信过程中的不同环节。下表汇总了各定时器的编号、名称、典型范围及主要用途:

定时器 名称 典型范围 监控层级 主要用途
T1 线路超时 1.0 – 10.0 s 物理/链路层 等待单个字符或消息块的到达
T2 协议超时 0.5 – 5.0 s 链路层 等待协议控制报文(ENQ/ACK/NAK)
T3 回复超时 5.0 – 120.0 s 应用层 等待对端对请求消息的回复
T4 连接超时 10.0 – 60.0 s 传输层 等待 TCP 连接建立完成
T5 分离超时 0.1 – 2.0 s 会话层 等待分离请求的确认
T6 控制超时 5.0 – 30.0 s 应用层 等待控制事务(如 S1F13/F14)的完成
配置建议: 实际部署时,T1 和 T2 通常设为较短值以快速检测链路故障;T3 和 T6 需根据设备处理能力适当放宽,避免因正常业务负载导致误判超时。

3.2 T1:线路超时(Inter-Character / Block Timeout)

T1 是最底层的超时定时器,用于监控 HSMS 或 RS-232 链路上字符或消息块之间的间隔。当发送方开始传输一个消息块后,接收方必须在 T1 时间内收到下一个字符或完整的块,否则判定线路中断。

  • 触发场景: 物理线路噪声导致字符丢失、网线松动、对端设备断电。
  • 默认值: 通常设为 2.0 秒(HSMS)或 1.0 秒(RS-232)。
  • 处理策略: 接收方丢弃当前不完整消息,发送方重试或进入连接恢复流程。
关键点: T1 超时通常意味着物理层或链路层出现不可恢复的错误,设备应记录日志并尝试重新建立连接。
T1 线路超时触发流程 发送方 接收方 发送消息块 T1 超时:字符未到达 丢弃不完整消息

3.3 T2:协议超时(Protocol Timeout)

T2 用于 HSMS 协议的控制报文交换,主要监控 ENQ(请求发送)、ACK(确认接收)和 NAK(拒绝接收)等握手信号的响应时间。当一方发送 ENQ 后,对端必须在 T2 时间内回复 ACK 或 NAK。

  • 触发场景: 对端设备繁忙未及时处理协议报文、链路层数据包丢失。
  • 默认值: 通常设为 1.5 秒。
  • 处理策略: 发送方重试 ENQ 最多 N 次(通常 3 次),若仍无响应则判定连接失效。
注意: T2 超时重试次数不宜过多,否则会加剧网络拥塞。建议结合 T1 超时状态综合判断链路健康度。

3.4 T3:回复超时(Reply Timeout)

T3 是应用层最重要的超时定时器,用于监控设备发送请求消息后等待回复的时间。例如,Host 发送 S2F17(请求设备状态)后,设备必须在 T3 时间内回复 S2F18。

  • 触发场景: 设备正在执行耗时操作(如晶圆传输)、设备死锁或消息丢失。
  • 默认值: 通常设为 45.0 秒,可根据设备处理能力调整。
  • 处理策略: 发送方重试请求或上报超时错误;接收方应检查事务 ID 是否匹配。
T3 回复超时交互示例 Host 设备 S2F17 请求状态 T3 超时:无回复 重试请求(最多 N 次) 上报 T3 超时错误

3.5 T4:连接超时(Connect Timeout)

T4 用于监控 TCP 连接建立阶段的超时。当设备或 Host 发起 TCP 连接请求后,必须在 T4 时间内完成三次握手并收到连接确认。

  • 触发场景: 对端 IP 不可达、端口未开放、防火墙拦截。
  • 默认值: 通常设为 30.0 秒。
  • 处理策略: 发起方放弃连接,进入重试等待状态,并记录网络故障日志。
最佳实践: T4 超时后,建议采用指数退避算法(如 1s、2s、4s、8s…)进行重试,避免频繁连接请求导致网络风暴。

3.6 T5:分离超时(Separate Timeout)

T5 用于 HSMS 分离流程。当一方发送分离请求(Separate.req)后,必须在 T5 时间内收到分离确认(Separate.rsp),否则认为对端已离线。

  • 触发场景: 对端设备突然断电、网络瞬间中断。
  • 默认值: 通常设为 0.5 秒。
  • 处理策略: 发送方直接关闭连接,清理会话资源,无需重试。

3.7 T6:控制超时(Control Timeout)

T6 专门用于监控控制事务的完成时间,典型场景是 S1F13(建立通信请求)与 S1F14(建立通信确认)的握手过程。控制事务必须在 T6 时间内完成,否则视为通信建立失败。

  • 触发场景: 设备未就绪、协议版本不匹配、控制消息丢失。
  • 默认值: 通常设为 10.0 秒。
  • 处理策略: 发起方终止当前连接,重新尝试建立通信链路。
T6 控制超时:S1F13/S1F14 握手失败 Host 设备 S1F13 建立通信请求 T6 超时:无 S1F14 回复 终止连接 重新尝试建立通信

3.8 超时处理策略对比

不同超时定时器的处理策略差异较大,下表总结了各超时的推荐处理动作:

超时类型 重试机制 重试次数 最终动作
T1 无重试 0 丢弃消息,等待下一块
T2 指数退避重试 3 次 断开连接
T3 固定间隔重试 2 – 3 次 上报应用层错误
T4 指数退避重试 5 次 标记对端不可达
T5 无重试 0 立即清理会话
T6 固定间隔重试 3 次 终止通信链路
工程提示: 在设备端实现超时处理时,建议为每个定时器配备独立的日志记录模块,便于事后分析超时根因。同时,超时参数应支持动态配置,以适应不同工厂的网络环境。