一种Profibus-DP主站协议的实现方法及系统技术方案

技术编号:22691982 阅读:76 留言:0更新日期:2019-11-30 05:20
本申请公开了一种Profibus‑DP主站协议的实现方法及系统,所述实现系统包括控制器CPU、FPGA软核和FPGA硬核,其中:FPGA软核连接在所述控制器CPU与所述FPGA硬核之间,用于实现Profibus‑DP的用户层通信协议;FPGA硬核设置有与FPGA软核相连接的共享数据缓冲区,并通过Profibus总线与各个从站相连接,用于实现Profibus‑DP的物理层及数据链路层通信协议。本申请通过使用FPGA进行软件架构设计,对协议栈功能模块进行优化分配,提高了协议处理性能的同时大大提高了系统闭环控制性能,能轻松地实现Profibus‑DP通信协议规定的最高传输速率,且能保持应用接口灵活性。

A realization method and system of PROFIBUS DP master station protocol

The application discloses an implementation method and system of PROFIBUS-DP master station protocol, the implementation system includes controller CPU, FPGA soft core and FPGA hard core, wherein: FPGA soft core is connected between the controller CPU and the FPGA hard core to realize the user layer communication protocol of PROFIBUS-DP; FPGA hard core is provided with a shared data buffer connected with FPGA soft core, and through profi The bus is connected with each slave station to realize the physical layer and data link layer communication protocol of PROFIBUS \u2011 DP. By using FPGA for software architecture design, the application optimizes the allocation of protocol stack function modules, improves the protocol processing performance and greatly improves the system closed-loop control performance. It can easily achieve the highest transmission rate specified by PROFIBUS \u2011 DP communication protocol, and maintain the flexibility of application interface.

【技术实现步骤摘要】
一种Profibus-DP主站协议的实现方法及系统
本专利技术涉及但不限于工业自动化
,尤其涉及一种Profibus-DP主站协议的实现方法及系统。
技术介绍
程序总线网络(PROcessFIeldBUS,Profibus)是一种国际化、开放式、不依赖于设备生产商的现场总线标准,广泛适用于制造业自动化、流程工业自动化和楼宇、交通电力等其他领域自动化。Profibus标准包括三个部分,即Profibus-DP(DecentralizedPeriphery,分布式外设)、Profibus-PA(ProcessAutomation,过程自动化)、Profibus-FMS(FieldbusMessageSpecification,现场总线信息规范)。目前,Profibus-DP通信协议的实现方式主要包括以下几种:方案一:使用高级精简指令集机器(AdvancedRISCMachines,ARM)实现。这种解决方案成本低,但是波特率无法达到Profibus-DP通信协议的最高传输速率(12Mbps);方案二:使用通信协议芯片+中央处理器(CentralProcessingUnit,CPU)或复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)。这种解决方案实现功能完整,性能良好,但开发包昂贵,成本高;方案三:使用现场可编程逻辑门阵列(FieldProgrammableGateArray,FPGA)+微控制单元(MicrocontrollerUnit,MCU),其中,FPGA实现协议的解包组包,其他工作交给MCU实现。这种解决方案能达到Profibus-DP通信协议支持的最高传输速率,但是面对现如今对工业控制系统的闭环控制性能的要求,其性能还不够优良。
技术实现思路
本专利技术实施例提供了一种Profibus-DP主站协议的实现方法及系统,能够达到Profibus-DP通信协议的最高传输速率、成本低且提高工业控制系统的闭环控制性能。本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供了一种Profibus-DP主站协议的实现系统,包括控制器CPU、FPGA软核和FPGA硬核,其中:所述FPGA软核,连接在所述控制器CPU与所述FPGA硬核之间,用于实现Profibus-DP的用户层通信协议;所述FPGA硬核,设置有与所述FPGA软核相连接的共享数据缓冲区,并通过Profibus总线与各个从站相连接,用于实现Profibus-DP的物理层及数据链路层通信协议。在一种示例性实施例中,所述共享数据缓冲区包括周期数据缓冲区、非周期数据缓冲区及从站信息列表缓冲区。在一种示例性实施例中,所述FPGA软核具体用于:接收所述控制器CPU发送的总线参数和从站信息并解析,将解析出的总线参数和从站信息分别存储至非周期数据缓冲区及从站信息列表缓冲区,启动协议栈运行;查询所述控制器CPU是否有非周期通信任务,如果有,则将所述非周期通信任务填充至非周期数据缓冲区;并查询非周期数据缓冲区是否有非周期应答消息,如果有非周期应答消息,则将非周期应答消息发送至所述控制器CPU。在一种示例性实施例中,所述FPGA软核还用于:接收所述FPGA硬核的中断信号,执行中断处理,所述中断处理为控制所述FPGA硬核将各个从站的周期应答消息拷贝至周期数据缓冲区。在一种示例性实施例中,所述FPGA硬核具体用于:获取总线参数和从站信息,启动与各个从站之间的周期数据通信;接收各个从站的周期应答消息并维护从站状态;查询非周期数据缓冲区是否有非周期通信任务,如果有非周期通信任务,则根据非周期通信任务发送非周期消息至所述各个从站;接收所述从站的非周期应答消息,并填充至非周期数据缓冲区。在一种示例性实施例中,所述FPGA硬核还用于:完成与所述各个从站之间的周期数据通信后,产生中断信号并发送至所述FPGA软核。在一种示例性实施例中,所述FPGA软核包括应用命令解析执行器、配置解析器、中断处理器、非周期消息队列和非周期任务处理器,其中:所述应用命令解析执行器,用于接收所述控制器CPU发送的数据集,所述数据集包括总线参数、从站信息和非周期通信任务,将非周期通信任务填充至非周期消息队列;所述配置解析器,用于对接收到的总线参数及从站信息进行解析,并将解析到的内容填充至共享数据缓冲区和从站信息列表中;所述中断处理器,用于控制所述控制器CPU与所述FPGA硬核之间的周期应答消息的拷贝;非周期消息队列,用于执行非周期通信任务的缓存及读写操作;非周期任务处理器,用于执行非周期应答消息的处理,检测非周期消息队列内是否有非周期通信任务,如果有非周期通信任务,填充非周期通信任务至非周期数据缓冲区。在一种示例性实施例中,所述FPGA硬核包括主状态机模块、现场总线数据链路层FDL状态机模块、组包解包模块、数据拷贝模块、采样时钟生成模块、串行收发器模块,其中:主状态机模块,用于管理通信协议的运行状态;FDL状态机模块,用于根据解析出的从站信息列表实现通信协议的链路层状态,控制主从通信流程;组包解包模块,用于完成报文的组包发送及接收解析;数据拷贝模块,用于接收所述FPGA软核的中断处理指令,将各个从站的周期应答消息拷贝至周期数据缓冲区;采样时钟生成模块,用于为接收采样提供时钟;串行收发器模块,用于实现串并、并串信号的转换;所述共享数据缓冲区,用于缓存解析出的总线参数、接收的周期应答消息、非周期通信任务、非周期应答消息。在一种示例性实施例中,所述从站信息列表中的从站信息包括:从站站号、从站的输入输出数据在共享数据缓冲区的指针、输入输出数据长度、从站的通信状态机、从站是否处于被组态激活状态、有无诊断数据标志、诊断数据在共享数据缓冲区的指针和长度、参数配置数据在共享数据缓冲区中的指针及长度。本专利技术实施例还提供了一种Profibus-DP主站协议的实现系统,包括控制器CPU、FPGA软一种Profibus-DP主站协议的实现方法,所述Profibus-DP主站包括控制器CPU、FPGA软核和FPGA硬核,所述FPGA软核连接在所述控制器CPU与所述FPGA硬核之间,所述FPGA硬核设置与所述FPGA软核相连接的共享数据缓冲区,并通过Profibus总线与各个从站相连接,所述实现方法包括:通过所述FPGA软核实现Profibus-DP的用户层通信协议;通过所述FPGA硬核实现Profibus-DP的物理层及数据链路层通信协议。在一种示例性实施例中,所述共享数据缓冲区包括周期数据缓冲区、非周期数据缓冲区和从站信息列表缓冲区;所述实现方法具体包括:所述FPGA软核接收控制器CPU发送的总线参数和从站信息并解析,将解析出的总线参数和从站信息分别存储至非周期数据缓冲区及从站信息列表缓冲区,启动协议栈运行;所述FPGA硬核获取总线参数和从本文档来自技高网
...

【技术保护点】
1.一种Profibus-DP主站协议的实现系统,其特征在于,包括控制器CPU、FPGA软核和FPGA硬核,其中:/n所述FPGA软核,连接在所述控制器CPU与所述FPGA硬核之间,用于实现Profibus-DP的用户层通信协议;/n所述FPGA硬核,设置有与所述FPGA软核相连接的共享数据缓冲区,并通过Profibus总线与各个从站相连接,用于实现Profibus-DP的物理层及数据链路层通信协议。/n

【技术特征摘要】
1.一种Profibus-DP主站协议的实现系统,其特征在于,包括控制器CPU、FPGA软核和FPGA硬核,其中:
所述FPGA软核,连接在所述控制器CPU与所述FPGA硬核之间,用于实现Profibus-DP的用户层通信协议;
所述FPGA硬核,设置有与所述FPGA软核相连接的共享数据缓冲区,并通过Profibus总线与各个从站相连接,用于实现Profibus-DP的物理层及数据链路层通信协议。


2.根据权利要求1所述的实现系统,其特征在于,所述共享数据缓冲区包括周期数据缓冲区、非周期数据缓冲区及从站信息列表缓冲区。


3.根据权利要求2所述的实现系统,其特征在于,所述FPGA软核具体用于:
接收所述控制器CPU发送的总线参数和从站信息并解析,将解析出的总线参数和从站信息分别存储至非周期数据缓冲区及从站信息列表缓冲区,启动协议栈运行;查询所述控制器CPU是否有非周期通信任务,如果有,则将所述非周期通信任务填充至非周期数据缓冲区;并查询非周期数据缓冲区是否有非周期应答消息,如果有非周期应答消息,则将非周期应答消息发送至所述控制器CPU。


4.根据权利要求3所述的实现系统,其特征在于,所述FPGA软核还用于:接收所述FPGA硬核的中断信号,执行中断处理,所述中断处理为控制所述FPGA硬核将各个从站的周期应答消息拷贝至周期数据缓冲区。


5.根据权利要求2所述的实现系统,其特征在于,所述FPGA硬核具体用于:获取总线参数和从站信息,启动与各个从站之间的周期数据通信;接收各个从站的周期应答消息并维护从站状态;查询非周期数据缓冲区是否有非周期通信任务,如果有非周期通信任务,则根据非周期通信任务发送非周期消息至所述各个从站;接收所述从站的非周期应答消息,并填充至非周期数据缓冲区。


6.根据权利要求5所述的实现系统,其特征在于,所述FPGA硬核还用于:完成与所述各个从站之间的周期数据通信后,产生中断信号并发送至所述FPGA软核。


7.根据权利要求2所述的实现系统,其特征在于,所述从站信息列表中的从站信息包括:从站站号、从站的输入输出数据在共享数据缓冲区的指针、输入输出数据长度、从站的通信状态机、从站是否处于被组态激活状态、有无诊断数据标志、诊断数据在共享数据缓冲区的指针和长度、参数配置数据在共享数据缓冲区中的指针及长度。


8.根据权利要求1所述的实现系统,其特征在于,所述FPGA软核包括应用命令解析执行器、配置解析器、中断处理器、非周期消息队列和非周期任务处理器,其中:
所述应用命令解析执行器,用于接收所述控制器CPU发送的数据集,所述数据集包括总线参数、从站信息和非周期通信任务,将非周期通信任务填充至非周期消息队列;
所述配置解析器,用于对接收到的总线参数及从站信息进行解析,并将解析到的内容填充至共享数据缓冲区和从站信息列表中;
所述中断处理器,用于控制所述控制器CPU与所述FPGA硬核之间的周期应答消息的拷贝;
非周期消息队列,用于执行非周期通信任务的缓存及读写操作;
非周期任务处理器,...

【专利技术属性】
技术研发人员:李丽娜李蒙
申请(专利权)人:北京和利时系统工程有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1