本发明属于通讯,尤其涉及一种在虚拟仿真环境中模拟硬件通信协议的方法及系统。
背景技术:
1、在半导体晶圆制造领域,自动物料搬运系统(amhs)通过空中轨道运输车(oht)等设备实现晶圆载具在设备间的自动化传输。为验证amhs与机台设备(如装载端口)的交互逻辑,需在虚拟仿真环境中模拟硬件通信协议(如e84标准)。该协议要求信号按严格时序切换(例如装载转移包含16个步骤),并通过并行i/o接口同时传输多路信号(如valid、cs_0、ready等)。
2、但目前还没有相关成熟技术。
技术实现思路
1、本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种在虚拟仿真环境中模拟硬件通信协议的方法及系统,在服务解耦、高效传输和动态顺序校验的同时,能够精准模拟硬件通信协议(如e84标准)的多比特并行传输特性,提升虚拟仿真的真实性和鲁棒性。
2、本发明第一方面公开了一种在虚拟仿真环境中模拟硬件通信协议的方法,用于模拟amhs服务与机台服务间的数据交换,所述方法包括:
3、通过消息队列在所述amhs服务与所述机台服务之间传输序列消息,其中所述消息队列为异步通信机制,以实现服务间解耦;
4、定义协议格式,所述协议格式将多个信号位打包成单个序列消息,每个序列消息包括数字表示;
5、维护状态序列,所述状态序列包括预定义的sequence列表和最新序列状态,其中所述sequence列表的索引对应于通信步骤号,值对应于预期序列消息;
6、当接收到新序列消息时,校验所述新序列消息是否匹配基于所述最新序列状态的预期序列,如果匹配,则更新所述最新序列状态以前进至下一通信步骤,如果不匹配,则拒绝所述新序列消息并重置所述最新序列状态。
7、上述方法,其中所述协议格式为二进制格式,位长为n位,n为整数且n≥8,所述数字表示为十六进制或二进制字符串。
8、上述方法,其中所述信号位包括以下至少一种:valid、cs_0、cs_1、tr_req、l_req、u_req、ready、busy、compt、cont、ho_avbl、es、va、am_avbl、vs_0、vs_1,每个信号位对应所述协议格式中的特定位置。
9、上述方法,其中所述消息队列包括以下至少一种:mq消息队列、kafka、rabbitmq、pub/sub模型或基于云的消息服务。
10、上述方法,其中维护所述状态序列包括在内存中存储所述sequence列表作为常量列表,并通过索引访问所述序列消息。
11、上述方法,其中当所述新序列消息不匹配时,还包括错误处理步骤:记录错误日志或触发警报。
12、本发明第二方面公开了一种用于模拟硬件通信协议的系统,应用于虚拟仿真环境,所述系统包括:
13、amhs服务,配置为生成序列消息;
14、机台服务,配置为处理序列消息;
15、消息队列组件,连接所述amhs服务和所述机台服务,用于异步传输序列消息;
16、存储模块,配置为维护状态序列,包括预定义的sequence列表和最新序列状态,其中所述sequence列表的索引对应于通信步骤号,值对应于预期序列消息;
17、校验模块,配置为当接收到新序列消息时,校验其是否匹配基于所述最新序列状态的预期序列,如果匹配则更新所述最新序列状态,如果不匹配则拒绝并重置。
18、上述系统,其中所述协议格式为16位二进制格式,每个序列消息包括十六进制表示。
19、上述系统,其中所述存储模块为内存数据库或分布式缓存。
20、上述系统,其中所述校验模块还配置为在序列不匹配时执行错误处理,包括生成日志或警报。
21、本发明与现有技术相比具有以下优点:
22、1、使用消息队列(如mq、kafka)实现异步通信,amhs服务和机台服务通过发布-订阅模式传输消息,无需直接依赖对方的ip地址或接口;这直接消除了如使用http或websocket所需的直接接口调用和ip依赖;服务间仅通过mq代理交互,实现解耦,从而提升系统的扩展性(如添加新服务无需重新配置依赖)和维护性(如服务变更不影响对方),这解决了“服务间强耦合”缺陷。
23、2、通过定义协议格式将多个信号位(如16位二进制序列)打包成单个序列消息(如十六进制“4030”),每条消息同时传输多个信号(如valid、cs_0等),无需附加标识字段;这模拟了硬件并行i/o的多比特同时传输优势,显著减少消息数量(例如,原需发送多条单比特消息,现一条序列消息即可传输全部信号);传统单比特消息浪费带宽,而本发明的打包机制优化了带宽利用率,降低了传输延迟,这直接解决了“带宽利用率低下”缺陷,并实现了信息数据的高效传输。
24、3、通过维护状态序列(如sequence列表存储各步骤的预期序列,最新序列状态变量存储当前步骤),动态校验新消息是否匹配预期序列(如基于最新状态索引查询sequence列表),不匹配时拒绝消息并重置状态,解决传统技术需存储历史消息序列进行复杂校验(如回溯多步历史)的问题,而本发明的机制仅需内存中常量列表和简单变量,通过动态匹配(如比较新消息与sequence列表中对应步骤的预期值)实现实时校验,无需存储历史消息。这简化了校验逻辑(如使用if-else语句即可实现),提高了鲁棒性(如错误时自动重置),这解决了“顺序校验复杂度高”缺陷,并满足了“动态顺序校验”的要求。
25、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
1.一种在虚拟仿真环境中模拟硬件通信协议的方法,其特征在于,用于模拟amhs服务与机台服务间的数据交换,所述方法包括:
2.如权利要求1所述的方法,其特征在于,其中所述协议格式为二进制格式,位长为n位,n为整数且n≥8,所述数字表示为十六进制或二进制字符串。
3.如权利要求1所述的方法,其特征在于,其中所述信号位包括以下至少一种:valid、cs_0、cs_1、tr_req、l_req、u_req、ready、busy、compt、cont、ho_avbl、es、va、am_avbl、vs_0、vs_1,每个信号位对应所述协议格式中的特定位置。
4.如权利要求1所述的方法,其特征在于,其中所述消息队列包括以下至少一种:mq消息队列、kafka、rabbitmq、pub/sub模型或基于云的消息服务。
5.如权利要求1所述的方法,其特征在于,其中维护所述状态序列包括在内存中存储所述sequence列表作为常量列表,并通过索引访问所述序列消息。
6.如权利要求1所述的方法,其特征在于,其中当所述新序列消息不匹配时,还包括错误处理步骤:记录错误日志或触发警报。
7.一种用于模拟硬件通信协议的系统,其特征在于,应用于虚拟仿真环境,所述系统包括:
8.如权利要求7所述的系统,其特征在于,其中所述协议格式为16位二进制格式,每个序列消息包括十六进制表示。
9.如权利要求7所述的系统,其特征在于,其中所述存储模块为内存数据库或分布式缓存。
10.如权利要求7所述的系统,其特征在于,其中所述校验模块还配置为在序列不匹配时执行错误处理,包括生成日志或警报。