- A+
一 什么是SECS
SECS(SEMI Equipment Communication Standard),半导体设备通讯标准。
此标准由SEMI (Semiconductor Equipment and Materials International 国际半导体设备与材料产业协会) 制定,用来统一各个生产设备之间以及生产设备和控制设备之间的通讯。
SECS标准包括SECS-I、SECS-II、HSMS 和 GEM 四个标准。
1.1 SECS-I (SEMI Equipment Communications Standard 1 Message Transfer)
1.2 SECS-II (SEMI Equipment Communications Standard 2 Message Content)
SECS-II:属于消息格式标准,定义了在设备与主机之间进行双向会话时所使用的消息格式。
1.3 HSMS (HIGH-SPEED SECS Message Services (HSMS) Generic Serives)
HSMS:属于传输协议标准,描述数据是如何通过物理层在设备与主机之间进行传输的,使用的传输媒质是以太网。通过以太网来传送SECS-II 数据的规范。
1.4 GEM (Generic Model For Communications And Control Of Manufacturing Equipment)
属于设备功能标准,定义了通过通信链路所能看到的设备接口,指定了根据特定的消息设备所应该采取的对应的行为。
二 SECS的总体结构
SECS-I 和 HSMS 处于模型的底层,为半导体设备通信链路层标准。SECS-I 是基于RS-232的协议,HSMS为基于TCP/IP的协议。
SECS-II协议封装了 SECS-I 和 HSMS,在它们的基础上定义了半导体设备的通信格式。
GEM则在SECS-II的基础上定义了半导体生产制造过程中的交互行为。
三 SECS-I 通讯标准
SECS-I属于传输协议标准,主要定义了电气规格、传输速度、交握码等物理信息。
3.1 物理传输单位 bit
SECS-I 定义了使用 RS-232 作为传输媒质时点到点的数据通信。实际的传输由8位Bit连续发送,有一个开始位和一个停止位。
通信是双向和异步的,但是同一时间只能有一个方向的数据进行传输。方向由特殊字符和握手建立,然后发送数据本身。
3.2 逻辑传输单位 Block
数据被分块进行传输,每个数据块最大为 254 字节。一个消息是一个方向的完整通信单元,由1到32,767个块组成。每个块标头都包含用于标识该块作为特定消息的一部分的信息。
3.3 Block的组成
一个Block包括一个Length Byte、N Data Bytes 和 CheckSum。
- LengthByte:表示随后有多少个字节的数据(即 N bytes),不包括最后 2个字节的校验和;
- CheckSum:计算N Data Bytes的校验和;
- N Data Bytes:Block中的数据,长度范围是 10 至 254 字节,它由十个字节的头和消息数据组成。
Data Bytes 由 10 byte Header 和 Message Data 组成:
- MessageData:表示Data Bytes中的数据部分,由编码后的 SECS-II 消息构成;
- 10 byte Header:描述Data Bytes中的数据内容。
10 byte Header 由10个字节4个内容组成,其中:
- Device ID:Header的第一和第二字节,其第一个比特为 R-bit,其作用是指出消息传输的方向。
- Message ID:Header的第三和第四字节,其第一个比特为 Wait-bit,用于指示消息的发送者是否需要回复。
- Block No.:Header的第五和第六字节,其第一个比特为 End-bit,用于指示这个是否是消息的最后一个块。
- System Bytes:Header的最后四个字节,第七和第八字节表示 source ID,用于表示消息的发送者,第九和第十字节表示 transaction ID,用于唯一标示每个发送的消息。
3.4 Block的传输
块的传输过程,先传输块的长度,再传输块,最后发送校验码。
标准建议每次可传输的Date Bytes字节最多为254,如果一个消息的大小<245个字节,则以一个块的形式进行传输。如果一个消息的大小> 245个字节,则以分块的形式进行传输。
3.5 Block传输协议
通过串行线用于建立通信方向并为传递消息块提供环境的过程称为块传输协议。
协议使用单个字节进行握手,标准定义了四个握手编码。
标准还定义了两个超时参数T1和T2,用于检测通信故障。
- 超时参数T1:限制了在接收到BlockLengh字节后和接收CheckSum字节之前,接收数据块时每个字符之间的时间间隔。
- 超时参数T2:限制了发送ENQ和接收EOT之间的时间。
说明:
以上为基于C#开发SECS通信基础知识的整理-1。