SECS半导体设备通讯-4 GEM通信标准
一 概述
GEM标准定义了通信链路上的半导体设备的行为。
SECS-II标准定义了在主机和设备之间交换的消息和相关数据项。GEM标准则定义了在哪种情况下应该使用哪些SECS-II消息以及由此产生的结果行为。图1.1说明了GEM、SECS-II和其他通信替代方案之间的关系。
GEM为所有半导体设备定义了SECS-II的标准实现。它定义了一套通用的设备行为和通信能力,这些设备行为和通信能力提供了支持半导体设备制造商的制造自动化程序的功能和灵活性。
设备供应商可以提供GEM中不包括的附加SECS-II功能,只要该附加功能不与GEM中定义的任何行为或功能相冲突。
这些附加功能可能包括SECS-II消息、收集事件、警报、远程命令代码、处理状态、可变数据项(数据值、状态值或设备常量)或类特有的其他功能(蚀刻器、步进等)或设备的具体实例。
二 状态模型
状态模型以一种紧凑和易于理解的格式从主机的角度描述设备的行为。不同设备的状态模型在某些领域(如通信)将是相同的,但在其他领域(如处理)可能会有所不同。
因而需要把一个设备分为并行的几个模块,这些模块既可以单独的建模又可以合并起来,如下图所示:
设备制造商必须使用状态模型方法来记录其设备的运行行为,状态模型的文档应包括以下三个要素:
- 显示系统或系统组件的可能状态以及从一个状态到另一个状态的所有可能转换的状态图。这些状态和转换都必须各自进行标记;
- 一个过渡表,列出每个过渡、开始和结束状态、触发过渡的因素,以及作为过渡的结果所采取的任何行动;
- 每个状态的定义,指定当该状态为活动状态时的系统行为。
2.1 状态模型方法
状态模型的基本单位是状态。
一个状态是一组静态的条件。如果满足这些条件,则该状态为当前状态。这些条件可能涉及传感器读数、开关位置、工作时间等。
一个状态的另一部分是对特定刺激的反应的描述(例如,如果接收到消息Sx,Fy,生成回复消息Sx,Fy+1)。刺激可能相当多样,但对于半导体设备,将包括接收到的SECS消息、到期的计时器、设备终端的操作员输入以及传感器读数的变化。
2.2 通信状态模型
通信状态模型定义了设备与主机有无通信连接时的行为。此模型适用于设备和主机之间的逻辑连接,而不是物理连接。
在建立通信链路时发生通信连接事务失败,这是由通信故障,或在回复超时时间限制内未接收S1、F14回复,或S1 F14的接收格式不当或结果未设置为0引起的。
在第一次成功完成任何一个S1、F13/F14事务后,建立一个通信链路。
通信状态模型图和转化表如下:
SECS通信有两种主要状态,即 Disabled 和 Enabled 。系统默认状态必须在设备上可用户配置。一旦实现系统初始化,操作员应能够随时通过设备终端功能或瞬时开关改变通信状态的选择。
Enabled状态:有2个子状态,Not Communicating 和 Communicaing。
Enabled状态:有2个子状态,Not Communicating 和 Communicaing。
Enabled - Not Communicating 状态:在此状态下,不得发送除S1 F13、S1 F14、S9 Fx以外的任何消息。
设备应丢弃除S1、F13或S1、F14以外的任何从主机接收到的任何信息(建立通信确认)。还应定期尝试通过发出S1,F13来与主机建立通信,直到通信成功建立为止。
Not Communicating 状态有两个子状态,Host Initiated Connect 和 Equipment Initiated Connect。
Not Communicating - Equipment-Initiated Connect 状态:这个状态有两个子态,Wait CRA 和 Wait DELAY。
在进入 Not Communicating 状态时,每当 Equipment Initiated Connect 状态首先被激活时,就会发生向 Wait CRA状态的过渡,通信延迟计时器被设置为“过期”,并立即尝试发送S1,F13。
Not Communicating - Equipment-Initiated Connect - Wait CRA 状态:已发送了一个建立通信请求。该设备将等待主机确认该请求。
Not Communicating - Equipment-Initiated Connect - Wait Delay 状态:已发生了连接事务失败。通信延迟计时器已初始化。该设备将等待计时器过期。
Not Communicating - Host Initiated Connect:这个状态描述了在Communicating状态未激活时,设备响应主机启动的S1、F13的行为。
Not Communicating - Host Initiated Connect - Wait CR From Host:设备等待来自主机的S1、F13。如果接收到S1、F13,则该设备尝试发送带有通信结果为0(成功)的S1、F14。
Enabled - Communicating:通信已经建立。设备可以接收来自主机的任何消息,包括S1、F13。
当设备正在进行通信时,必须维护与主机计算机的SECS通信。此状态一直处于活动状态,直到通信被禁用或发生通信故障。
如果设备处于Communicating子状态下从主机接收到S1、F13,则应该用S1、F14回复结果设置为0的消息。
2.3 控制状态模型
控制状态模型定义了主机和设备之间的操作等级。它还指定了操作员如何在不同级别的主机控制上进行交互。
通信状态模型解决了主机和设备交换消息的能力,而控制模型则解决了设备对其接收到的消息采取行动的责任。
控制模型为主机提供了三个基本的控制级别:
- 最高级别(Remote),主机可以尽可能地控制设备。
- 中间级别(Local)允许主机完全访问信息,但对对设备的操作有一些限制。
- 最低级别(OFF-Line),设备不允许主机控制且只提供非常有限的信息。
控制状态模型图和转换表如下:
2.4 设备处理状态模型
记录设备在执行其预期功能时的行为。该处理状态模型高度依赖于设备的工艺、采用的技术和类型。
状态模型图和转换表如下:
IDLE:设备正在等待指示。
PROCESSING ACTIVE:此状态是存在处理程序执行上下文的所有子态的父状态。
PROCESS:此状态是指处理程序的主动准备和执行的子状态的父状态。
SETUP:在这种状态下,满足了工艺执行所需的所有外部条件,如确保材料存在于设备上,输入/输出端口处于正常状态,温度和压力值等参数在限制范围内等。
如果所有的设置操作都已经完成,将转换到下一个状态。
READY:在这种状态下,设备已准备好要执行处理程序,并正在等待来自操作员或主机的启动命令。
EXECUTING:处理程序执行中。
PAUSE:处理程序暂停。
三 设备功能和场景
功能是由半导体制造设备所执行的操作。这些操作是通过使用SECS-II通信接口的消息发起的。场景是一组为了实现特定功能的SECS-II消息。
下列是GEM所定义的场景:
3.1 建立通信
建立通信提供了一系列在系统初始化或通信节点丢失通讯之后正式建立通信的方法,以及通知远程通信节点通信发生了中断。
3.2 数据收集
数据收集使主机可以通过事件报告、跟踪数据报告、阈值监视和查询所选状态或其他变量数据来监视设备活动。
3.3 事件数据报告
事件报告为用户提供了一种动态和灵活的方法,定制化地满足主机对数据表示和呈现的个性需求。基于事件的数据收集方法可以主动向设备活动的主机提供通知,并且在监测设备状态和同设备保持同步。
3.4 变量数据收集
该功能允许主机查询设备数据变量,用于初始化和同步。
3.5 跟踪数据收集
跟踪数据收集提供了一种定期采样数据的方法。这种基于时间的数据收集方法便于跟踪和分析数据的趋势,便于在某个时间段内重复应用程序,便于监测连续数据。
3.6 阈值监视
阈值监视功能为主机提供了一种监控设备状况的灵活、高效的异步方法。它不需要主机不断轮询设备。该功能允许主机根据需要实现阈值范围的更改。该功能适用于生产操作、诊断/测试和统计过程控制。
3.7 状态数据收集
状态数据收集功能使主机可以向设备查询选定的状态信息,便于和设备状态保持同步。
3.8 在线确认
设备在线和通信时的时候接受到来自主机的S1、F1,并用S1、F2作出响应。
3.9 报警管理
报警管理功能使主机可以管理设备上发生的报警状态,获得报警通知。主机可以打开或关闭某个报警,要求设备上传警报信息等。
3.10 远程控制
远程控制功能使主机按不同级别对设备请求执行操作。设备向主机提供的操作包括:开始工艺、选择工艺配方、停止工艺、暂停工艺、恢复工艺和取消工艺。
3.11 设备常量
该功能为主机提供了一种读取和更改设备上所选设备常量值的方法。
3.12 工艺程序管理
工艺程序和配方必须通过设备和主机系统之间的交互来进行管理。工艺程序管理提供了一种方法来传送或接收工艺程序,并在主机和设备之间共享这些工艺程序或配方的管理。
工艺程序允许工程师设置和修改设备的工艺和和工艺参数,以达到不同的结果。不同的产品可能需要不同的工艺程序,而通常相同的工艺程序将用于所有大量给定的产品。
工程师必须能够创建,修改,并从设备存储中删除程序。
为了主机确认设备上有适当的工艺程序,必须有一种从设备到主机及从主机到设备的传送工艺程序的方法。主机还可能需要从设备的存储器中删除程序,以便为下载新程序腾出空间。
此外,当工艺程序的内容或状态发生变化时,必须随时通知主机。
3.13 原料运输
原料运输功能包括原料在设备、缓冲区和载具之间的物理传输。该功能可以通知主机原料是否已从设备的某个端口接收或传输。
3.14 设备终端服务
设备终端服务允许主机能够在设备的显示器上显示信息,操作员能够在设备工作站与主机交换信息。
3.15 错误消息
错误消息向主机提供由设备检测到的特定消息或通信故障的原因的信息。
3.16 时钟
时钟功能使主机能够管理与设备相关的与时间相关的活动和事件。
时钟的主要目的是为收集事件和警报报告提供时间戳。时间戳的使用利于分清事件或警报的发生顺序,并使主机能够调度设备行为。
该功能使主机能把设备的内部时钟设定为某个特定值,同时设备也可以向主机询问当前日期和时间。
3.17 数据缓存
数据缓存功能使设备可以在发生通信错误时存储消息并在通信修复之后继续向主机发送这些消息。数据缓存的目的在于当发生通信错误时保存消息以免信息丢失。
3.18 控制
控制功能用于配置并操作控制状态图,使用户或主机可以修改设备的控制相关行为。
四 总结
以上就是SECS的4个主要标准(SECS-1、SECS-II、HSMS、GEM)的浅显介绍和基础知识的整理。
SECS半导体设备通讯-4 GEM通信标准的更多相关文章
- SECS半导体设备通讯-2 HSMS通信标准
一 HSMS通信标准概述 HSMS定义了使用 TCP/IP 作为物理传输媒质时的通信接口. HSMS使用TCP/IP流支持,提供了可靠的双向同步传输,可以用来作为SECS-I通信以及其他更高级的通信环 ...
- SECS半导体设备通讯-3 SECS-II通信标准
一 SECS-II 概述 SECS-II 标准定义了使用如SECS-I.HSMS等传输协议在设备和主机之间交换的消息的形式和含义. 定义了以消息的形式在设备和主机之间传递信息,消息按其行为分类,称为S ...
- SECS半导体设备通讯-1 SECS的基本概念
一 什么是SECS SECS(SEMI Equipment Communication Standard),半导体设备通讯标准. 此标准由SEMI (Semiconductor Equipment a ...
- C# 两个进程之间通讯(管道通信 )
#region 客户端 NamedPipeClientStream pipeClient = new NamedPipeClientStream("localh ...
- secs/gem协议
介绍SECS/GEM SEMI SECS/GEM标准概述 SECS/GEM是由国际半导体设备与材料协会(SEMI)制定的连接性标准.此连接性标准用于在设备和工厂的资讯和控制系统间建立通讯. SECS是 ...
- TD-SCDMA风雨20年:中国3G标准的由来以及国家通信战略
.国际电信标准是咋回事? 当年作为通信专业的学生,我曾长期困惑一个问题,为什么同一项通信技术总会有美国和欧洲两种国际标准?比如电话语音的数字化就有欧洲A律和美国u(谬)律两种. 学习后发现,两种标准的 ...
- 【开源】C#跨平台物联网通讯框架ServerSuperIO(SSIO)
[连载]<C#通讯(串口和网络)框架的设计与实现>-1.通讯框架介绍 [连载]<C#通讯(串口和网络)框架的设计与实现>-2.框架的总体设计 目 录 C#跨平台物联 ...
- [更新]跨平台物联网通讯框架 ServerSuperIO v1.2(SSIO),增加数据分发控制模式
1.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO) 2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案 3.C#工业 ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》-1.通讯框架介绍
[连载]<C#通讯(串口和网络)框架的设计与实现>- 0.前言 目 录 第一章 通讯框架介绍... 2 1.1 通讯的本质... 2 1 ...
随机推荐
- jdbc 03:注册驱动的方式
jdbc连接mysql时,注册驱动的方式 package com.examples.jdbc.o3_注册驱动方式; //mysql驱动所在的包 import com.mysql.jdbc.Driver ...
- 【USACO 2012 Open】奶牛赛跑_题解
奶牛赛跑 目录 奶牛赛跑 题目描述 输入格式 输出格式 样例 样例输入#1 样例输出#1 题解 代码 题目描述 约翰有头奶牛,他为这些奶牛准备了一个周长为的环形跑牛场.所有奶牛从起点同时起跑,奶牛在比 ...
- Schur不等式(舒尔不等式)
舒尔( Schur \texttt{Schur} Schur)不等式1 具体内容 Schur \texttt{Schur} Schur 不等式: x , y , z x,y,z x,y,z 为非负实数 ...
- 主线程和创建多线程程序的第一种方式_创建Thread类的子类
/** * 主线程:执行主方法的线程(main) * 单线程程序:在java程序中只有一个线程 * 执行从main方法开始,从上倒下依次执行 */ public class Demo01MainThr ...
- python 读取yaml文件
简介 在实际开发过程中,我们可能需要读取一些配置文件的配置信息,例如ini.yaml.property等格式,本文将讲述怎么去获取和设置yaml文件的相关参数. 示例yaml文件 test1: tes ...
- PhoneBean实体类的封装和map输出键值对的设置
之前我们写好了bean类型.现在我们再看看这个需求中,map和reduce各自的流程. Map阶段: 字段切分以后保留如下字段:以第一行为例,就保留13726230503112 2481 24681 ...
- 二位数组——扩展:冒泡排序、Arrays类
1.冒泡排序 速记口诀(升序) n个数字来排队:两两相比小靠前:外层循环n-1:内层循环n-i-1. 示例:定义一个数组,用冒泡排序将数组进行升序排序 关键代码: 输出结果: 2.Arrays 类 ...
- 基于C++17的泛型函数容器实现方法研究
- 前端须知的 Cookie 知识
文章已收录到我的 GitHub 中,欢迎 star cookie 是什么和使用场景 cookie 是服务器端保存在浏览器的一小段文本信息,浏览器每次向服务器端发出请求,都会附带上这段信息(不是所有都带 ...
- 理解 Flutter 的基础概念:Widget
Widget 的本意是组件的意思,熟悉 Web 应用开发的人在后期必定会接触到 Vue.React 等框架,这些框架都有一个核心的概念 -- 组件.组件的目的也很简单,那就是重复率用一段代码,并且能够 ...