[发明专利]一种基于FPGA技术实现PROFIBUS-PA总线通信的方法有效

专利信息
申请号: 201910182696.7 申请日: 2019-03-12
公开(公告)号: CN109901469B 公开(公告)日: 2020-08-21
发明(设计)人: 罗小易;李文娟;孙慧民 申请(专利权)人: 北京鼎实创新科技股份有限公司
主分类号: G05B19/042 分类号: G05B19/042
代理公司: 北京万科园知识产权代理有限责任公司 11230 代理人: 杜澄心;张亚军
地址: 100120 北京市西城*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于FPGA技术实现PROFIBUS‑PA总线通信的方法,步骤:①在FPGA芯片中实现了PA通信链路层、曼彻斯特编码调制解调、报文解析与拼接、共享存储器DPRAM、通信接口等功能;②接收的PA总线标准电平信号通过外围驱动电路进入FPGA芯片被解调为PA总线报文,发送的总线报文由FPGA芯片调制为曼彻斯特编码后由外围驱动电路转换为PA总线标准电平信号;③FPGA芯片实现了标准PROFIBUS通信状态机制;④FPGA芯片和微控制单元MCU之间通过通信接口完成共享存储器DPRAM中各种数据的相互传输;⑤上电后,微控制单元MCU将PA从站初始化信息通过共享存储器DPRAM发送给FPGA芯片;⑥FPGA芯片按照获得的PA从站初始化信息完成总线通信。本发明实现了一种以低功耗FPGA芯片为核心技术实现PROFIBUS‑PA通信的方法。
搜索关键词: 一种 基于 fpga 技术 实现 profibus pa 总线 通信 方法
【主权项】:
1.一种基于FPGA技术实现PROFIBUS‑PA总线通信的方法,其硬件设备包括:FPGA芯片、微控制单元MCU和外围驱动电路;其具体步骤如下:步骤①:在FPGA芯片中,实现了标准PROFIBUS通信状态机制模块、曼彻斯特编码调制解调模块、报文解析模块、报文拼接模块、和共享存储器DPRAM模块和通信接口模块;其中,标准PROFIBUS通信状态机制模块负责在接收到总线报文之后,判断接收到的报文是否正确合理,并跳转到符合PROFIBUS通信标准的通信状态,并根据当前通信状态给出响应总线报文;曼彻斯特编码调制解调模块负责在接收到经过外围驱动电路进入FPGA芯片的PA总线标准电平信号后,按曼彻斯特编码完成解调,并在得到需要发送到PA总线上的报文时,将报文调制为曼彻斯特编码;报文解析模块负责在得到经过曼彻斯特编码解调的总线报文后,按照PROFIBUS总线报文格式对报文进行解析,以确定接收到的总线报文类型,并获取报文中的通信数据;报文拼接模块负责根据要发送的报文类型和报文数据,按照PROFIBUS总线报文格式进行拼接,以形成完全符合PROFIBUS通信标准的总线报文;共享存储器DPRAM模块是由FPGA芯片实现的可供FPGA芯片和微控制单元MCU共同进行读写操作的共享存储器DPRAM,用于在FPGA芯片和微控制单元MCU之间传输总线通信数据,包括:PA从站初始化信息数据、DPV0输入输出数据、DPV1读写数据与各种状态标志信息;通信接口模块中包含了FPGA芯片向用户微控制单元MCU提供的多种通信接口,包括DPRAM通信接口、SPI通信接口和UART通信接口三种常用的通信接口;步骤②:在PROFIBUS‑PA网络中,所有PA总线标准电平信号以曼彻斯特编码在总线物理层上传输,PROFIBUS‑PA总线物理信号线并不直接与FPGA芯片相连,而是经由外围驱动电路之后与FPGA芯片连接,所有在PA总线上传输的报文都需要由FPGA芯片内部的曼彻斯特编码调制解调模块完成调制解调;步骤③:PROFIBUS‑PA总线通信的链路层通信状态机制与PROFIBUS DP总线通信完全一致,FPGA芯片的标准PROFIBUS通信状态机制模块实现了完全符合中国国家标准GB/T 20540‑2006的PROFIBUS总线链路层通信状态机制,在接收到总线报文之后,标准PROFIBUS通信状态机制模块从当前通信状态跳转或维持到正确的通信状态,并提供正确的响应报文;标准PROFIBUS通信状态机制模块实现了PA从站与PROFIBUS主站之间的周期性DPV0通信和非周期性DPV1通信,其中非周期性DPV1通信又包括DPC1通信和DPC2通信;步骤④:FPGA芯片内部实现的共享存储器DPRAM模块使得FPGA芯片和微控制单元MCU可以共同读写同一片共享存储器DPRAM空间,使得PA从站初始化数据、各种通信数据、命令标志和状态标志能在FPGA芯片与微控制单元MCU之间相互传输;共享存储器DPRAM模块内部又分为基础信息区、状态字节区、命令字节区、初始化数据区、诊断数据区、参数化数据区、配置数据区、DPV0输入数据区、DPV0输出数据区、DPC1读写数据区、DPC2读写数据区;步骤⑤:设备上电后,微控制单元MCU周期性查询FPGA芯片有效标志,在查询到此标志置位之后,微控制单元MCU将PA从站初始化数据写入共享存储器DPRAM的初始化数据区,并将命令寄存器区中相应的标志位置位,以通知FPGA芯片及时读取此PA从站初始化数据;FPGA芯片在上电启动进入正常工作状态后将FPGA芯片有效标志置位,然后等待微控制单元MCU发送PA从站初始化数据,在查询到命令寄存器区中的PA从站初始化数据有效标志位后,FPGA芯片从共享存储器DPRAM的初始化数据区中将PA从站初始化数据取出并进行解析;步骤⑥:PA从站初始化数据被传输给FPGA芯片的标准DPV0/V1通信状态机制模块,在解析了PA从站初始化数据之后,标准DPV0/V1通信状态机制模块按照PA从站初始化数据中给出的总线配置完成与PROFIBUS主站之间的通信,在接收到报文之后,此模块按照报文类型将报文数据存储到共享存储器DPRAM相应的寄存器区中,并将相应的标志位置位;在通信进入周期性数据交换状态之后,标准DPV0/V1通信状态机制模块与PROFIBUS主站进行周期性DPV0输入输出数据交换,在接收到PROFIBUS主站发送的输出数据之后,标准DPV0/V1通信状态机制模块将DPV0输出数据存储进共享存储器DPRAM的DPV0输出数据区,标准DPV0/V1通信状态机制模块向PROFIBUS主站提供的输入数据来自于共享存储器DPRAM的DPV0输入数据区;在接收到PROFIBUS主站发送的非周期性DPC1读写请求或DPC2读写请求之后,标准DPV0/V1通信状态机制模块将非周期性读写请求中包含槽号、索引号在内的具体参数写入共享存储器DPRAM的DPC1读写数据区或DPC2读写数据区,并置位相应的标志位以通知微控制单元MCU处理此条非周期性读写请求,微控制单元MCU在查询到非周期性DPC1读写请求标志或DPC2读写请求标志之后,处理当前非周期性读写请求,并将非周期性读写响应存储进共享存储器DPRAM的DPC1读写数据区或DPC2读写数据区,微控制单元MCU同样需要置位相应的标志,以告知FPGA芯片非周期性读写请求处理完成,FPGA芯片的标准DPV0/V1通信状态机制模块处理与PROFIBUS主站之间的非周期性通信报文序列,直到查询到微控制单元MCU给出的DPC1读写响应标志或DPC2读写响应标志,用共享存储器DPRAM中给出的非周期性读写响应数据组成响应报文发送给PROFIBUS主站。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鼎实创新科技股份有限公司,未经北京鼎实创新科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201910182696.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top