secs/gem
SECS/GEM 结构
SECS-I 和 HSMS 处于 SECS/GEM 模型的底层,属于传输协议标准,描述数据是如何通过物理层在设备与主机之间进行传输的。 SECS-I 的物理传输媒介是 RS-232 , HSMS 的物理传输媒介是 TCP/IP 。
SECS-II属于消息格式标准,定义了在设备与主机之间进行双向会话时所使用的消息格式。
GEM属于设备功能标准,在 SECS-II 的基础上定义了半导体生产制造过程中的交互行为,即根据特定消息设备所应该采取的对应行为。

img
笔记
感觉本质上区别不大,只不过需要按照他的格式来传输数据,对应状态。
SECS/GEM协议规定的各种超时时间:
T3(默认45秒):回复超时,表示等待回复消息的最长时间。
T5(默认10秒):连接间隔时间,表示两个连接请求之间的时间间隔(不能频繁请求连接,一个连接失败后,必须等待T5时间后再发送连接请求)。
T6(默认5秒):控制会话超时,表示一个控制回话所能开启的最长时间,发送req消息时T6开启,如果未在T6超时之前收到rsp消息,则断开连接。
T7(默认10秒):Select状态超时,建立了socket连接后,必须于T7时间内完成Select操作,否则断开连接。
T8(默认5秒):网络字符超时,表示成功接收到单个HSMS 消息的字符之间的最大时间间隔。
HSMS
HSMS定义了使用 TCP/IP 作为物理传输媒质时的通信接口。
HSMS使用TCP/IP流支持,提供了可靠的双向同步传输,可以用来作为SECS-I通信以及其他更高级的通信环境的替代。
HSMS 消息格式

HSMS Message Format

HSMS Meeage Header Structure
PType(Presentation Type)
Ptype 默认为0,表示使用SECS-II消息格式标准。
- 0 SECS-II Encoding
- 1-127 Reserved for subsidiary standards
- 128-255 Reserved , not used
SType(Seesion Type)
Stype是一个识别该消息是HSMS Data Message(value = 0) 或是其他HSMS Control Messages(other)
- 0 Data Message
- 1 Select.req
- 2 Select.rsp
- 3 Deselect.req
- 4 Deselect.rsp
- 5 Linktest.req
- 6 Linktest.rsp
- 7 Reject.req
- 8 (not used)
- 9 Separate.req
- 10 (not used)
- 11-127 Reserved for subsidiary standards
- 128-255 Reserved , not used
HSMS连接状态图
HSMS状态机如下图所示,此图中描述的行为定义了HSMS的基本要求。

img
状态图说明:
- NOT CONNECTED:该实体已准备好侦听或启动TCP/IP连接,但尚未建立任何连接,或所有以前建立的TCP/IP连接都已终止;
- CONNECTED:已建立了一个TCP/IP连接。此状态有两个子状态,NOT SELECTED 和 SELECTED;
- NOT SELECTED:未建立HSMS会话或任何先前建立的HSMS会话已结束;
- SELECTED:至少建立了一个HSMS会话,这是HSMS的通常操作状态:数据消息可以在此状态下进行交换。
建立TCP/IP连接
HSMS将通信实体分为两种,Passive Mode(被动模式)和 Active Mode(主动模式)。
- PassiveMode:处于被动模式的本地实体侦听并接受由处于主动模式的远程实体发起的连接。
- ActiveMode:由处于主动模式的本地实体发起连接。

img
被动模式建立连接过程:
- 获取一个连接端点,并将其绑定到指定的的端口。
- 从端口侦听从远程实体发送的连接请求。
- 在收到连接请求后,确认它并表示接受该连接。
主动模式建立连接过程:
- 获取一个连接端点。
- 向远程实体(被动模式)所指定的端口发起连接。
- 等待远程实体确认收到并接受连接请求。
HSMS消息交换过程
消息交换过程分为:Select Procedure,Data Procedure,Deselect Procedure,Linktest Procedure ,Separate Procedure,Reject Procedure。
SECS-II
SECS-II 标准定义了传输协议在设备和主机之间交换信息的消息的形式和含义。
消息按行为分类,称为Stream 简写为S,每个Stream又包括具体的消息,称为Function 简写为F。发送S1F1消息就可以去找对应的含义了。
Strem的分类
- Stream 1 Equipment Status:设备状态;
- Stream 2 Equipment Control and Diagnostics:设备控制和诊断;
- Stream 3 Material Status:原料状态;
- Stream 4 Material Control:原料控制;
- Stream 5 Exception Handling:异常处理;
- Stream 6 Data Collection:数据采集;
- Stream 7 Process Program Management:工艺程序管理;
- Stream 8 Control Program Transfer:控制程序传输;
- Stream 9 System Errors:系统错误;
- Stream 10 Terminal Services:终端服务;
- Stream 11 Host File Services (Deleted):主机文件服务(已删除);
- Stream 12 Wafer Mapping:晶片图形布置;
- Stream 13 Data Set Transfers:数据集传输;
- Stream 14 Object Services:对象服务;
- Stream 15 Recipe Management:配方管理;
- Stream 16 Processing Management:工艺进程管理;
- Stream 17 Equipment Control and Diagnostics:设备控制和诊断;
- Stream 18 Subsystem Control and Data:子系统控制和数据。
Stream和Function的编号
Stream和Function按照数字进行编号。所有的Primary Message的Function编号为奇数,其对应的Secondary Message(即 Reply Message)的Function编号为偶数且为其Primary Message的Function编号加1。
如果Primary Message不需要应答,则其对应的偶数编号(Primary Message Function 编号加1)的Function不使用,保留。
所有Stream中Function编号为0的Message保留,用于中止事务。
下列Stream和Function编号组为SECS-II标准所定义:
- Stream 0, Functions 0-255;
- Streams 1-63, Functions 0-63;
- Streams 64-127, Function 0。
下列Stream和Function可由用户自定义:
Streams 1-63, Functions 64-255;
Streams 64-127, Functions 1-255。

img
SECS-II 消息的数据结构
所有根据SECS-II标准的消息使用两种数据结构,即 Item (项目) 和 List(列表)。消息数据结构定义了消息的逻辑划分,与消息传输协议的物理划分不同。
Item是一个信息包,由Item Header和Item Body组成。
下图是ItemHeader的结构图。

img
而List与Item结构类似,只不过header里装的size是list里的元素个数而不是字节数。List可以嵌套。
SECS 消息语言(SECS Message Language, SML)
SECS 消息语言(SECS Message Language, SML)是一种用于描述 SECS-II 消息内容的符号语言。它同 SECS-II 标准中的相关定义十分相似,但描述更加准确和通用。主要用于半导体设备手册说明所使用的 SECS-II 消息内容。
SML 对数据项的定义如下:
<type [count] value>
其中 type 表示数据类型,count 表示个数,value 表示该数据的值。每个数据项都由一个尖括号封装。Type 的取值如下表所示:
Type(Octal八进位) | Description |
---|---|
L(0) | 列表(List) |
A(20) | ASCII 字符 |
B(10) | 二进制数 |
J(21) | JIS-8 |
Boolean(11) | 布尔值 |
I1,I2,I4,I8(30,31,32,34) | 有符号整数(1,2,3,4字节整数) |
U1,U2,U4,U8(50,51,52,54) | 无符号整数(1,2,3,4字节整数) |
F4,F8(40,44) | 浮点数(4,8字节) |
SML 对一个完整消息定义如下:
SnFm W item .
其中 SnFm 表示 Stream 编号为 n 且 Function 编号为 m 的 SECS-II 消息。W 表示W 比特位,如果设置为 0 则忽略,如果回复可选则用方括号括起来。Item 即上述数据项。最后消息以一个句号“.”结束。
例如 S5F1 消息,其结构在 SEMI 标准中描述如下图所示:

img
然而使用 SML 可以更准确的描述该结构,如下图所示:

img
GEM
- 定义从主机查看的半导体设备的行为
- 定义在什么情况下应使用哪些SECS-II 消息
Equipment Capabilities

GEM