半导体通讯协议SECSII/HSMS/GEM详细介绍和使用 |
您所在的位置:网站首页 › 半导体EUC › 半导体通讯协议SECSII/HSMS/GEM详细介绍和使用 |
半导体通讯协议SECSII/HSMS/GEM详细介绍和使用-2023/07/04
凡事讲究一个为什么,为什么要按照这个协议去开发软件。因为在高度自动化的半导体制造厂,行业的设备大多来自不同的供给商,缺乏统一的通讯规范。没有标准的通讯协议,并且如果设备供应商不向半导体生产商开放通讯协议及接口软件,半导体生产商就必须自己建立软件之间的连接,增加额外的成本。而且工厂大多数会有一个集中控制中心,如果各个设备采用不同的通讯协议,集控中心很难实现智能工厂自动化这个目标。 SECS协议基本概念扫盲SECS(全称:半导体设备通讯标准)协议协议是由国际半导体设备与材料产业协会(简称:SEMI)发布的。 SECS是一个协议族,主要包含4类: 1.SECS I (E4) 2.SECS II (E5) 3.GEM (E30) 4.HSMS (E37) 通讯方式首先确定使用SECS协议的客户端和服务端之间使用什么通讯方式。如下图。 HSMS通信的设备端通常为客户端(Equipment)(也可称为Active 在通信中主动连接对方的),工厂会部署服务端(Host)(也可称为Passive 被动等待对方连接)。 编写软件,不管是客户端软件还是服务端软件,因为都需要进行指令的收发,所以区别不是很大。通讯流程如下图:通俗易懂
SECS使用Stream 和Function来区分不同的功能,即用SxFy表示所有的功能。 通常Fy中y是奇数则是发送消息,y是偶数表示响应消息 。 这其中S1F1、S1F2等都是具有特定含义的。 例如S1Fy的指令都表示与机台状态相关。 S9Fy的指令都表示与系统错误相关。 SxFy的发送接收,服务端或客户端并非每一个都可以使用,有的只有客户端可以发送,有的只有服务端可以发送,也有一些两者都可以发送。对于两者都可以发送的,如果发送方是S1F15,则回复方是S1F16。即,接收的一方收到SxFy后,则必须以SxF(y+1)来回复。 一个字节B,有8位b。如果这个指令需要回复,则8位里面,最高位是1。如果这个指令不需要回复则8位里面最高位是0。如上图,S1F1和S1F2同样都属于S1大类,但是Header Byte 2字节却不相同。需要回复的S1F1转成十六进制就是81。十进制就是129。本文中所有指令交互默认都是16进制显示的。 控制信息 Header Byte 2 Header Byte 3要介绍控制信息的Header Byte 2 和Header Byte 3,先介绍Stype字节。 SType(==0表示为数据信息,!=0表示控制信息(只列举了几个常见的,不全)) 序号标识含义0Data Message这是一个交换数据的报文1select.req请求建立连接2select.rsp同意建立连接响应3Deselect.req请求断开连接4Deselect.rsp同意断开连接响应5Linktest.req心跳检查连接是否正常6Linktes.rsp心跳检查连接响应 Header Byte 2 Header Byte 3如下图 如下图 如下图 如下图关键是区分SType的值,作为回复方的要注意Header Byte 3这一位,作为发送方则Header Byte 3=0, 如下图 正常来说到这步骤的时候,客户端和服务端之间指令交互已经没问题了。例如:客户端请求建立连接,服务端同意建立连接。如果这一步还没有做到的话,下面暂时不需要看,继续看上面的文章。心急吃不了热豆腐。 如果指令交互已经可以了,接下来就要解析数据信息(即头信息中SType字节==0)的数据部分。现实场景中,就是假如服务端要求获得客户端的某一个设备的温度(这个是由SxFy决定的),客户端返回给你温度100。这个100就会出现在数据信息的数据部分。只有一个值,很容易解析,那如果有100个值,解析和发送就需要按照特定的格式。也就是 SECS-II 编码格式,所以不管控制指令还是数据指令,头信息中PType字节一定取值为0。 SECS-IISECS-II 主要是用于规范通信过程中的数据结构、数据项、变量项、对象字典、信息细节等。 还记得第一张图里面,服务端与客户端之间有两种通讯方式吗,走串口通讯,虽然使用的SECS-I协议,但是传输数据的格式,也是SECS-II。 SECS-II 的 构成
例如需要发送一个字符串是ABC, 则类型字节就是前六位01000,因为ABC数量为3,1个字节就可以表示,所以最后2位为01,即长度字节组的长度为1。 长度字节组就是00000011表示3, 而ABC去查对应的ASCII码,也就是01000001(十进制就是65),01000010(66),01000011。 所以最终需要发送的数据用字节表示就是 01000001 00000011 01000001 01000010 01000011 GEM也叫(SEMI E30), 定义了一组最低要求、附加(可选)功能、用例和部分SECS-II消息的用户场景。通俗易懂的来说,就是你不可能把HSMS里面所有的SxFy都写在一个程序里面,GEM就是规定了必要的控制信息,基础的功能。会上面的HSMS 和SECS-II通用标准,GEM就没什么难度了。 总结小时候看迪迦,里面一段话特别印象深刻,“努力活完短暂的一生,将成果留给后代继承,人类就是如此反复,真的很了不起!”为往圣继绝学,为万世开太平。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |