一 什么是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)

SECS-I:属于传输协议标准,描述数据是如何通过物理层在设备与主机之间进行传输的,通过 RS-232通信来传送SECS-II 数据的规范。
 

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之间的时间。

说明:

以上为SECS通信基础知识的整理-1。

SECS半导体设备通讯-1 SECS的基本概念的更多相关文章

  1. SECS半导体设备通讯-4 GEM通信标准

    一 概述 GEM标准定义了通信链路上的半导体设备的行为. SECS-II标准定义了在主机和设备之间交换的消息和相关数据项.GEM标准则定义了在哪种情况下应该使用哪些SECS-II消息以及由此产生的结果 ...

  2. SECS半导体设备通讯-3 SECS-II通信标准

    一 SECS-II 概述 SECS-II 标准定义了使用如SECS-I.HSMS等传输协议在设备和主机之间交换的消息的形式和含义. 定义了以消息的形式在设备和主机之间传递信息,消息按其行为分类,称为S ...

  3. SECS半导体设备通讯-2 HSMS通信标准

    一 HSMS通信标准概述 HSMS定义了使用 TCP/IP 作为物理传输媒质时的通信接口. HSMS使用TCP/IP流支持,提供了可靠的双向同步传输,可以用来作为SECS-I通信以及其他更高级的通信环 ...

  4. secs/gem协议

    介绍SECS/GEM SEMI SECS/GEM标准概述 SECS/GEM是由国际半导体设备与材料协会(SEMI)制定的连接性标准.此连接性标准用于在设备和工厂的资讯和控制系统间建立通讯. SECS是 ...

  5. Auto入门 之 常用概念

    1.SEMI (Semiconductor Equipment And Materials International)  国际半导体设备与材料产业协会 2.SECS SECS协议是基于RS-232或 ...

  6. 【IOCP】 IOCP模型属于一种通讯模型- 较难

    http://baike.baidu.com/link?url=e9vXkKd2aHp8VDr1XTURdwQB4K85r28IYjeMwRIyuaXtsrCsXHY1eohiFgsDXRYRlj6x ...

  7. 多线程的学习与python实现

    学习了进程与线程,现对自己的学习进行记录. 目录: 一.进程与线程的概念,以及联系与区别 二.多线程 三.python中多线程的应用 四.python实例 五.参考文献 一.进程与线程的概念.以及联系 ...

  8. Day5 模块及Python常用模块

    模块概述 定义:模块,用一砣代码实现了某类功能的代码集合. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,提供了代码的重用性.在Python中,一个.py文件就称之为一个模块(Mod ...

  9. Day6 模块及Python常用模块

    模块概述 定义:模块,用一砣代码实现了某类功能的代码集合. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,提供了代码的重用性.在Python中,一个.py文件就称之为一个模块(Mod ...

随机推荐

  1. lombok的常用注解

    出处: https://blog.csdn.net/sunnyzyq/article/details/119992746 1. @Accessors 源码 我们打开 @Accessors 的源码可以看 ...

  2. DolphinScheduler 功能开发:⼯作流级别任务空跑(后端),测试工作流是否正确执行...

    点击上方 蓝字关注我们 ✎ 编 者 按 在今年由中国科学院软件研究所主办的开源软件所供应链点亮计划-开源之夏活动中,有不少小伙伴提交了关于 DolphinScheduler 的项目,本期是来自成都信息 ...

  3. 编译器优化:何为SLP矢量化

    摘要:SLP矢量化的目标是将相似的独立指令组合成向量指令,内存访问.算术运算.比较运算.PHI节点都可以使用这种技术进行矢量化. 本文分享自华为云社区<编译器优化那些事儿(1):SLP矢量化介绍 ...

  4. React报错之Functions are not valid as a React child

    正文从这开始~ 总览 产生"Functions are not valid as a React child. This may happen if you return a Compone ...

  5. 字符编码和python中的文件处理

    字符编码与python文件处理 ---------------- 字符编码 1.常见的编码 ASCII: 美国人发明的,只编码英文字母和符号,1个字节. GB2312: 中国人发明的,增加了中文汉字和 ...

  6. Luogu2073 送花 (平衡树)

    打感叹号处为傻逼处 #include <iostream> #include <cstdio> #include <cstring> #include <al ...

  7. 用VS Code搞Qt6:至简窗口部件——QWidget

    在正题开始之前,老周照例扯点别的.嗯,咱们扯一下在 VS 2022 下结合 CMake 开发 Qt6 时的环境变量设置问题.在VS Code 中,通够通过 CMake Tools 扩展的配置来设置环境 ...

  8. MySQL启动报:[ERROR] The server quit without updating PID file

    修改配置后MySQL启动不了,报错: [root@localhost mysql]# service mysql restart Starting MySQL...[ERROR] The server ...

  9. .NET WebAPI 采用 IDistributedCache 实现分布式缓存过滤器 Redis 模式

    分布式缓存是由多个应用服务器共享的缓存,通常作为访问它的应用服务器的外部服务进行维护. 分布式缓存可以提高 ASP.NET Core 应用的性能和可伸缩性,尤其是当应用由云服务或服务器场托管时. 与其 ...

  10. 理解 Flutter 的基础概念:Widget

    Widget 的本意是组件的意思,熟悉 Web 应用开发的人在后期必定会接触到 Vue.React 等框架,这些框架都有一个核心的概念 -- 组件.组件的目的也很简单,那就是重复率用一段代码,并且能够 ...