SECS/GEM协议开发系列(一)准备工作
通常自动化设备研发人员在接到这样的需求时:设备需要支持secs协议的通讯功能。通常一脸懵逼,完全不知所措。secs,secs是什么东西?通信,如何通信?对于这种自己不知道的领域非常茫然,不知道如何开展任务?今天,我就以secs为例,教你如何去开展类似secs这种你完全不懂领域的开发如何去开展工作。
一、搞清楚需求。(搞明白是什么,基本玩法规则)
1.1 secs是一个协议族
secs协议是半导体行业,特别是晶元芯片厂会支持的一种标准通用通讯协议。secs是一个协议族,不是一个协议,有不同层级和应用场景,下图就是secs协议的应用层的协议栈示意图。可以看到,这不是一个轻松的活,单独做开发的话,会抱着协议文档啃很久。
1.2 secs的消息通信
secs的通信玩法:secs通信的设备端通常为客户端(Equipment),厂商侧会部署服务端(Host)。他们之间的消息通信方式有4种:
1、设备端上报消息给服务端,服务端收到消息,无需响应(即可以不回客户端消息,客户端只管发,不校验返回消息)。即E->H。
2、设备端发起向服务端发起客户端请求,服务端收到消息后,需要回复客户端消息。即E->H 后 H->E。
3、服务端主动向客户端发起请求,客户端收到消息后,返回响应消息给服务端。即H->E后, E-> H。
4、服务端主动给客户端发送消息,客户端收到消息,无需回应服务端。即H->E。(很少有这样的场景)
1.3 甲方的secs的标准不一定是完全遵循secs-gem模式标准
使用是否标准,取决于厂商secs协议的服务端供应商是否标准。通常服务端厂商是按照标准来的,但由于secs定义的场景不能覆盖所有的半导体设备和采用这个协议的非半导体设备,还有大量的业务交互式通过secs服务端供应商和厂家联合规划出对应的通讯设计规范。所以,设备厂商的开发文档来源不仅仅来源于semi网站的协议文档,还有一部分是来源于secs服务端厂商提供的具体业务的开发文档。
当然semi最开始定位的半导体设备,一些半导体的核心设备的功能肯定已经支持了,这个可以只需要按照协议来就能搞定.如果是类半导体行业使用secs协议,比如面板行业,通常都会有一些定制的交互.
1.4 secs的厂商测试流程
通常会分为:
1、基本对接:完成客户端和服务端连接,完成网络接入。
2、单元测试:首先会完成基本业务的消息交互测试,异常场景的消息交互测试。
3、in-line测试:真实跑料过程,测试真实的消息交互是否正常。
4、on-line测试:正式生产,管控正式生产的每一颗产品都能溯源,即上下游设备的通信,物料的识别关联,上报。
二、搞清楚手里的资源情况,选择开发模式,聚拢资源。
2.1 开发模式
secs协议的开发模式通常分两种:
1、完全自主开发。(开发周期长,需要secs,hsms,gem的详细协议文档,完全自主开发工作量,保守估计也要半年的工作量)
2、选用secs库供应商,在secs库基础上做二次开发。(开发周期短,基本不关心hsms,secs,gem协议详情,这个开发周期预期是1人月)
具体的开发模式选择,根据厂商自己的项目周期,人员配置,成本自行选择。
2.2 测试资源
开发了一定要能测,如何测也是一个问题。根据开发方式的不同,secs的测试的选择也会不同,
第一种自主开发会在测试端受阻,但可以去准备一个服务端模拟器,可以先期调通连接等基本的secs通讯。后期到厂家与厂商进行具体业务测试。
第二种可以找供应商要服务端测试程序,一般都会提供。
三、需求落地
根据需求组织代码设计和通讯业务场景分析,评估工作量,安排人员进行开发和对接。之后就是项目管理的事项了,就不赘述了。
后面几期,我会把我做secs的设计思路分享出来,供大家参考,做方案,我是认真的!大家如果有好的建议,可以发送邮件到我的邮箱地址:yujingjiang86@163.com
点赞是美德,关注是缘分,打赏您随意,你的鼓励是我世界善的一部分!
SECS/GEM协议开发系列(一)准备工作相关推荐
- SECS/GEM协议开发系列(二)与Host连接
secs协议的连接,我们还是要先看协议栈,如下图所示: 从协议栈,我可以看到,连接方式有两种: 1,串口连接,对应的是secs i 协议.串口参数,串口号,波特率,数据位,停止位,校验位. 2,网口连 ...
- 基于SECS协议开发的简明教程(6)
接着前面的五篇SECS/GEM协议开发的系列文章,继续讲本SECS SDK的以下几个功能 怎么触发警报.解除警报(EQP端) 怎么定义Trace(Host端),怎么触发Trace数据(EQP端) 怎么 ...
- HSMS/SECS/GEM/GEM300半导体通讯协议介绍
HSMS/SECS/GEM/GEM300半导体通讯协议解决方案介绍 目录 SECS/GEM协议通讯 1 目录 2 1.介绍 3 1.1 产品概述 3 1.1.1 高扩展性 4 1.2 通讯实现 4 1 ...
- 半导体设备通讯标准(SECS/GEM)
目录 收起 前言 一.SECS/GEM 简介 二.系统的硬件组成 三.搞清楚需求.(搞明白是什么,基本玩法规则) 1.secs是一个协议族 2.secs的消息通信 3.甲方的secs的标准不一定是 ...
- 半导体通讯标准EAP、SECS/GEM视频介绍
GEM(或SECS / GEM)是由半导体设备材料倡议制定的一组连接标准.这些标准用于定义自动化设备与主机工厂网络之间的通信,从而实现智能工厂制造. SECS是半导体设备通信标准的首字母缩写.GEM是 ...
- C++实现SECS/GEM
SECS/GEM (Standard Equipment Communication System/Generic Equipment Model) 是一种用于在设备之间传输数据和控制信息的协议.它主 ...
- SECS/GEM金南瓜通讯平台
全面支持E5.E30.E37 等 SECS/GEM 协议以及E39.E40.E94.E87.E90.E173等GEM300 协议,满足 APC.FDC 和 EAP 的高性能要求. 事件收集 Host ...
- 基于SECS协议开发的简明教程
很有必要把苦程序员久矣的SECS/GEM了结了,于是诞生了本系列文章八篇和开发包,不需要看近500页PDF就可以轻松完成SECS功能支持. 0.SECS SDK 开发包 这个开发包是对SEMI SEC ...
- 基于SECS协议开发的简明教程(7)
接着前面6篇SECS/GEM开发教程系列. 基于SECS协议开发的简明教程(1)-怎么搭建支持SECS工程 基于SECS协议开发的简明教程(2)-怎么编辑交换数据的ID 基于SECS协议开发的简明教程 ...
- 基于SECS协议开发的简明教程(8)
接着前面7篇SECS/GEM开发教程系列,但本文的主要主题是纠偏解惑. 一.怎么做才能快速支持SECS呢? 许多网友发私信问了我许多问题,发现大家把重点都放在了怎么主动收/发数据上了,这确确实实把大方 ...
最新文章
- 北大开源了 Python 中文分词工具包,准确度远超 Jieba
- 记一次 Python Web 接口优化
- 【MFC】滚动字幕的状态栏
- 使用RDLC报表(二)--使用自定义数据集
- 在诺基亚S60v3上运行.NET程序
- Divide and conquer:Dropping tests(POJ 2976)
- 明星开店都是稳定赚钱的生活,稳赚不赔
- mfc在运行的时候为什么没有实例化_Redis(7)——持久化【一文了解】
- Android ViewModel
- vue主动刷新页面及列表数据删除后的刷新方法
- 04,Django Form源码阅读
- java 时间戳 重复_在Java中创建一个唯一的时间戳
- 基于Easyui框架的datagrid绑定数据,新增,修改,删除方法(一)
- 转dmg 到iso。。。
- NPDP产品经理认证:创新性解决问题方法(TRIZ)的工具与应用
- 收藏 | 堪称神器的42款Chrome插件
- AWS KVS(Kinesis Video Streams)之WebRTC的C库
- 波音737座位哪里好_我的座位在哪里?
- Spark SQL 快速入门系列(五)SparkSQL 访问 Hive
- 三重邪骨手机版怎么登录服务器未响应,三重邪骨困难版