通常自动化设备研发人员在接到这样的需求时:设备需要支持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
点赞是美德,关注是缘分,打赏您随意,你的鼓励是我世界善的一部分!
版权归原作者 大余里 所有, 如有侵权,请联系我们删除。