2. 通信基础与物理层:RS-232串口通信原理、TCP/IP网络通信基础、HSMS连接建立与断开流程
在SECS/GEM产线集成中,通信基础与物理层是设备与主机(Host)之间数据交换的基石。本章将深入剖析三种核心通信机制:传统的RS-232串口通信、现代工业以太网TCP/IP通信,以及专为半导体设备设计的高效通信协议HSMS(High-Speed SECS Message Services)。理解这些底层原理,是解决多供应商设备通信适配问题的第一步。
2.1 RS-232串口通信原理
RS-232是早期SECS/GEM设备最常用的物理层接口,尤其在SEMI E4标准中定义的SECS-I协议中占据主导地位。尽管现代设备已逐步转向以太网,但大量存量设备仍依赖RS-232。
2.1.1 电气特性与信号定义
RS-232采用单端信号传输,使用-15V至-3V表示逻辑“1”(Mark),+3V至+15V表示逻辑“0”(Space)。标准DB-9连接器定义了关键信号线:
| 引脚号 | 信号名称 | 缩写 | 方向(DTE视角) | 功能描述 |
|---|---|---|---|---|
| 2 | 发送数据 | TD | 输出 | DTE向DCE发送数据 |
| 3 | 接收数据 | RD | 输入 | DTE从DCE接收数据 |
| 5 | 信号地 | GND | — | 公共参考地 |
| 7 | 请求发送 | RTS | 输出 | DTE请求发送数据 |
| 8 | 清除发送 | CTS | 输入 | DCE允许DTE发送 |
2.1.2 数据帧格式与波特率
RS-232以异步串行方式传输数据,每个字符帧包含:起始位(1位)、数据位(7或8位)、可选的奇偶校验位(None/Odd/Even)、停止位(1或2位)。SECS-I标准通常固定为:9600波特率、8数据位、无校验、1停止位(9600-8-N-1)。
2.1.3 RS-232通信流程SVG图
2.2 TCP/IP网络通信基础
随着以太网在工业环境中的普及,SECS/GEM逐步迁移至TCP/IP网络。SEMI E37标准定义的HSMS协议完全基于TCP/IP,利用其可靠传输、流量控制和多路复用特性,显著提升了通信效率。
2.2.1 TCP/IP协议栈与SECS/GEM映射
SECS/GEM在TCP/IP协议栈中的位置如下:
- 应用层:SECS-II消息(Stream/Function)与GEM状态机。
- 会话层:HSMS协议,负责连接管理、消息封装与控制。
- 传输层:TCP协议,提供面向连接、可靠、有序的字节流服务。
- 网络层:IP协议,负责路由寻址。
- 链路层:以太网MAC,处理物理帧。
2.2.2 TCP连接建立与断开(三次握手与四次挥手)
TCP连接的可靠性建立在状态转换机制上。以下是标准流程:
| 阶段 | 方向 | 报文类型 | 状态变化(客户端) | 状态变化(服务器) |
|---|---|---|---|---|
| 建立连接 | 客户端 → 服务器 | SYN | CLOSED → SYN_SENT | LISTEN → SYN_RCVD |
| 建立连接 | 服务器 → 客户端 | SYN + ACK | SYN_SENT → ESTABLISHED | SYN_RCVD → ESTABLISHED |
| 建立连接 | 客户端 → 服务器 | ACK | ESTABLISHED | ESTABLISHED |
| 断开连接 | 主动方 → 被动方 | FIN | ESTABLISHED → FIN_WAIT_1 | ESTABLISHED → CLOSE_WAIT |
| 断开连接 | 被动方 → 主动方 | ACK | FIN_WAIT_1 → FIN_WAIT_2 | CLOSE_WAIT |
| 断开连接 | 被动方 → 主动方 | FIN | FIN_WAIT_2 → TIME_WAIT | CLOSE_WAIT → LAST_ACK |
| 断开连接 | 主动方 → 被动方 | ACK | TIME_WAIT → CLOSED | LAST_ACK → CLOSED |
2.2.3 TCP三次握手与四次挥手SVG图
2.3 HSMS连接建立与断开流程
HSMS(High-Speed SECS Message Services)是SECS/GEM在TCP/IP上的会话层协议。它定义了设备与主机之间如何建立、维护和终止逻辑连接。HSMS连接状态机是设备适配的核心。
2.3.1 HSMS连接状态机
HSMS定义了三种基本连接状态:
- NOT CONNECTED:未建立TCP连接,设备处于待机或初始化状态。
- CONNECTED:TCP连接已建立,但尚未完成HSMS握手。
- SELECTED:HSMS握手成功,可以传输SECS-II消息。
2.3.2 HSMS连接建立流程(Select Procedure)
HSMS连接建立遵循“Select”过程,由设备或主机发起:
- TCP连接建立:设备(或主机)作为客户端,向对端发起TCP三次握手。
- 发送Select.req:连接建立后,发起方发送HSMS Select请求消息(消息类型=1)。
- 接收Select.rsp:接收方处理请求,返回Select响应(消息类型=2),包含通信能力协商结果。
- 进入SELECTED状态:若响应成功(HSMS Select Status=0),双方进入SELECTED状态,开始SECS-II消息交换。
2.3.3 HSMS连接断开流程(Deselect / Separate Procedure)
HSMS提供两种断开方式:
| 过程 | 触发条件 | 消息类型 | 状态变化 | 适用场景 |
|---|---|---|---|---|
| Deselect | 应用层主动要求断开 | Deselect.req (类型=3) / Deselect.rsp (类型=4) | SELECTED → CONNECTED | 正常通信结束,保留TCP连接 |
| Separate | 异常或强制断开 | Separate.req (类型=9) | SELECTED → NOT CONNECTED | 设备离线、网络故障、协议错误 |
2.3.4 HSMS连接建立与断开完整流程SVG图
2.4 多供应商设备通信适配实战要点
在产线集成中,不同供应商的设备可能采用不同的物理层和协议版本。以下是适配层必须处理的常见问题:
- 物理层兼容性:部分设备仍使用RS-232,而新设备使用TCP/IP。适配层需要同时支持两种物理层,并在初始化时自动检测。
- HSMS版本差异:SEMI E37标准有多个版本(如E37.1、E37.2),不同版本对消息头和超时处理有细微差异。适配层应实现版本协商。
- 连接保活机制:TCP Keep-Alive和HSMS Link Test(消息类型=5)用于检测连接状态。建议适配层定期发送Link Test.req,超时未响应则触发Separate。
- 设备ID管理:HSMS消息头中的设备ID(Device ID)用于区分多台设备。适配层必须确保ID唯一且与主机配置一致。