[发明专利]一种基于FPGA的PROFIBUS总线工艺数据提取方法在审
申请号: | 202210355608.0 | 申请日: | 2022-04-06 |
公开(公告)号: | CN114726674A | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 罗小易;梁亚青;王彪 | 申请(专利权)人: | 北京鼎实创新科技股份有限公司 |
主分类号: | H04L12/40 | 分类号: | H04L12/40;H04L43/045;H04L43/103;H04L69/16;H04L69/22 |
代理公司: | 北京万科园知识产权代理有限责任公司 11230 | 代理人: | 杜澄心;张亚军 |
地址: | 100120 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga profibus 总线 工艺 数据 提取 方法 | ||
1.一种基于FPGA的PROFIBUS总线工艺数据提取方法,所述的PROFIBUS报文数据的获取,硬件部分主要由现场可编程逻辑门阵列FPGA程序模块、PROFIBUS总线RS-485物理层芯片、单片机MCU以及运行上位软件的PC机组成;其中RS-485物理层接口芯片(PHY)用于连接PRUFIBUS总线网络,并在FPGA程序模块与PROFIBUS网络之间进行信号电平转换与传输;现场可编程逻辑门阵列FPGA程序模块用于实现波特率自适应、报文抓取、报文过滤、内容提取、标注时间标签、封装成新的数据格式、数据缓存功能;单片机MCU用于运行TCP/IP协议栈,将数据通过以太网传到PC机;PC机上运行的上位软件主要用于数据的最终展示;
其特征在于,该方法包括如下步骤:
步骤①:搜索和获取PROFIBUS总线报文数据波特率;
上电后,首先要自动获取PROFIBUS总线报文数据波特率;可编程逻辑门阵列FPGA模块通过预设波特率值,并判断当前预设值下,采样的PROFIBUS总线RS-485接口报文数据是否符合PROFIBUS总线报文数据结构的方法,实现搜索和锁定当前PROFIBUS总线报文的数据波特率的功能,从而完成波特率自适应过程;
步骤②:实时监测总线电平变化判定报文起始位,当监测到数据帧起始时,标注时间标签;
在可编程逻辑门阵列FPGA程序模块锁定当前PROFIBUS总线报文数据波特率的前提下,FPGA程序模块中有一个以当前比特时间Tbit驱动的计数器,作为锁定波特率后的相对时间基准;程序模块实时监测总线电平的变化,在总线静默的情况下,一旦发现接收信号Rx的下降沿,即作为一个数据帧的起始标志,程序模块会记录此时刻对应的时间计数器数值,即此数据帧的时间标签;
步骤③:采样PROFIBUS报文数据,并对数据进行初步解析;
可编程逻辑门阵列FPGA程序模块监测到数据帧起始后,按照PROFIBUS编码层和数据链路层的标准解析数据帧的后续部分。根据解析的报文内容,丢弃不包含工艺数据的报文段以及相对应的时间标签;
步骤④:将有效的数据和相对应的时间标签,以特定的格式封装在一起,写入双口RAM;
可编程逻辑门阵列FPGA程序模块进一步提取报文中的工艺数据,即PROFIBUS数据交换报文中的数据净荷部分,与之前记录的时间标签一起,封装成自定义的新数据包,并将其按顺序写进FPGA内的双口RAM里,并给出一个信号,告知MCU有新的数据待读取;
步骤⑤:连接双口RAM另一侧的MCU将双口RAM中的数据读出并通过TCP协议,将数据顺序传至上位PC机;
MCU通过双口RAM的另一侧读取数据,并通过TCP协议,将带有时间标签信息的PROFIBUS报文传至上位机;
步骤⑥:通过PC上运行的上位软件显示抓取到的工艺数据;
最终,带有时间标签的工艺数据,以直观、方便查阅的格式,在PC端的上位软件中显示。
2.根据权利要求1所述的一种基于FPGA的PROFIBUS总线工艺数据提取方法,其特征在于,可编程逻辑门阵列FPGA程序模块按照实现功能可划分为波特率搜索与锁定模块、波特率发生器模块、串口数据接收模块、报文帧解析及过滤模块、时间标签生成模块、自定义数据包生成模块、双口RAM写控制模块及双口RAM模块。
3.根据权利要求1所述的一种基于FPGA的PROFIBUS总线工艺数据提取方法,其中步骤②中,FPGA数据接收模块运行频率是PROFIBUS总线最高通讯波特率12M的8倍,即96MHz。FPGA串口数据接收模块在时间上无缝监测总线电平变化,实时进行报文的解析和转存,PROFIBUS运行在9.6K~12M时,数据都能100%被解析,不存在丢包的情况。
4.根据权利要求1所述的一种基于FPGA的PROFIBUS总线工艺数据提取方法,其中步骤③中,FPGA的报文帧解析及过滤模块通过解析数据帧的第一个字节,过滤掉SD2之外的报文,再解析至SAP位时,进一步过滤掉非数据交换阶段的报文;最后通过解析当前数据位在数据帧的位置和长度位,提取数据帧的工艺数据部分;过滤掉的无用信息不再向后传递到MCU。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鼎实创新科技股份有限公司,未经北京鼎实创新科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210355608.0/1.html,转载请声明来源钻瓜专利网。