一种基于FPGA的EtherCAT主站装置的制造方法

文档序号:9080647阅读:437来源:国知局
一种基于FPGA的EtherCAT主站装置的制造方法
【技术领域】
[0001]本实用新型属于工业以太网现场总线通信领域,具体涉及一种基于FPGA的EtherCAT主站装置。
【背景技术】
[0002]随着电子和通信技术的进步,工业自动化控制由传统的点对点的集中控制模式逐渐转变为基于网络化的现场总线通信控制模式。现场总线控制系统将工业现场的控制、监测等设备通过串行信号的方式集成在一个通信网络中,具有全数字、双向和串行多节点等优点。基于工业以太网的现场总线通信系统可以实现百兆以太网的高速、低抖动的控制,广泛应用于各种高速高精度的运动控制系统当中。
[0003]EtherCAT是一种基于工业以太网的现场总线通信协议,因其广泛的适用性、刷新周期短和同步性能好等优点,已在各类控制系统中得到了广泛的认可和应用。
[0004]专利文献CN201310344639.7公开了一种基于Linux的EtherCAT主/从站控制系统及方法,其EtherCAT主站采用带有网卡的Intel X86硬件平台,用于将相关控制指令发送给EtherCAT主站模块,然后编码为EtherCAT报文后由以太网口发送以实现数控系统的控制运算任务。
[0005]专利文献201310542835.5公开了一种基于EtherCAT网络的监控系统,其采用PC机作为主站,与多个从站串联组成一个网络,用于实现远距离情况下对所视环境的监控及执行机构的远程控制操作。
[0006]专利文献201310385168.4公开了一种EtherCAT现场总线的信息智能终端系统,包括EtherCAT主站和具有EtherCAT总线接口的信息智能终端,能直接采集、传递与监控车间生产信息。
[0007]现有的EtherCAT主站的实现方案大部分是采用倍福公司在Windows操作系统下基于PC机的解决方案,当然也有基于Linux操作系统和Android操作系统的嵌入式解决方案。其硬件方案绝大部分采用处理器CPU外扩网卡的芯片的通用体系架构,CPU用来分别处理EtherCAT协议的数据链路层和应用层。但是现有的这种EtherCAT主站实现方案利用CPU和网卡配合来处理数据帧的收发操作,降低了数据帧收发的稳定性,同时网卡单缓存的操作模式也降低了数据收发的效率,造成了应用于工业环境的稳定性问题和效率问题;其次,这种主站方案的EtherCAT主站不能广泛地兼容各种操作系统,移植难度较大,造成了平台资源的兼容性问题;最后,对于实时性要求严格的控制系统,利用软件中断确保实时并不能满足工业要求,造成了实时性的丢失,不利于高精度的实时控制系统。
【实用新型内容】
[0008]针对现有技术的以上缺陷或改进需求,本实用新型目的在于提出一种基于FPGA的EtherCAT主站实现装置,其通过利用FPGA并行处理和硬件实现特性,基于硬件实现EtherCAT协议,实现了高效率和高稳定性的EtherCAT协议处理,同时基于FPGA实现的通信装置还分别集成了 PCI接口和ARM接口,可以方便地兼容不同的操作系统平台。
[0009]为实现上述目的,本实用新型采用的具体技术方案如下:
[0010]一种基于FPGA的EtherCAT主站实现方法及装置,其通过利用FPGA的硬件特性和并行处理特性处理EtherCAT协议的数据链路层和应用层,从而实现在FPGA上集成EtherCAT的通信功能,并灵活地接入不同种类的CPU操作系统中集成具有EtherCAT工业以太网现场总线通信接口的功能,其特征在于,
[0011]该装置包括PCI/ARM扩展接口、FPGA模块、PHY芯片、网络隔离变压器和EtherCAT总线接口 RJ45,其中,
[0012]所述FPGA模块分别与所述扩展接口模块和PHY芯片连接,其通过所述扩展接口模块接收CPU传送给FPGA模块的数据,并通过其内部的EtherCAT协议驱动模块将CPU的指令数据按照EtherCAT协议进行封装和调度,组成EtherCAT数据帧在FPGA模块内通过数据帧发送模块发送给PHY芯片;所述PHY芯片与网络隔离变压器连接,网络隔离变压器通过EtherCAT总线接口 RJ45与对应的从站连接,所述PHY芯片用于将接收到的EtherCAT数据帧转换为差分信号,并通过网络隔离变压器后将其发送至EtherCAT网络之中,并利用所述EtherCAT总线接口 RJ45输入各从站;各个从站收到EtherCAT数据帧后进行相应的处理后返回主站,在经过网络隔离变压器和PHY芯片后,进入到FPGA模块中,在该FPGA模块中数据帧被解析,以供CPU进行读取状态和反馈数据。
[0013]作为本实用新型的改进,所述FPGA模块包括CPU接口选择操作模块、CPU应用程序操作接口、EtherCAT协议驱动模块、数据帧收发操作接口、数据帧收发及验算模块和PHY芯片收发数据接口;其中,所述CPU接口选择操作模块与CPU相连,为CPU操作CPU应用程序操作接口提供交互通道;所述CPU应用程序操作接口可同时供CPU和EtherCAT协议驱动模块进行读写访问,作为CPU与所述FPGA模块交互信息的操作接口 ;所述EtherCAT协议驱动模块为EtherCAT应用程序处理核心,用于响应CPU应用程序操作接口的指令及有效数据,完成对相应的指令数据按照EtherCAT标准协议进行调度、组帧和解帧的过程,实现数据帧与CPU应用程序操作接口的数据交互功能;所述数据帧收发操作接口用于接收来自EtherCAT协议驱动模块的组帧数据帧,同时也可以接收来自数据帧收发及验算模块从网络中接收到的数据帧;所述数据帧收发及验算模块将数据帧收发操作接口中的发送缓冲区有效数据按照网络通信协议依次发送出去,并同时计算本帧数据的CRC32验算值,接收数据帧在同时写入数据帧收发操作接口的同时计算CRC32验算值,并与帧尾CRC32进行比较来判定数据帧的有效性;所述PHY芯片收发数据接口与PHY芯片进行数据交互,完成数据流之间的交互。
[0014]作为本实用新型的改进,所述应用程序操作接口包括控制指令数据缓存区、状态反馈数据缓存区和过程数据缓存区,其中,所述控制指令数据缓存区是CPU往应用程序接口写入的指令配置数据,包括控制数据和中断设置指令;所述状态反馈数据缓存区是CPU读取应用程序接口状态的数据缓存区,状态数据缓存区反映的是EtherCAT网络对CPU写入指令的命令状态响应情况,包括状态机信息、程序诊断信息和邮箱通信命令的反馈,同时所述状态反馈数据缓存区还包括丢包数反馈、指令错误反馈和诊断信息反馈等总线状态的反馈;所述过程数据缓存区包括各个从站的实时指令数据和实时反馈数据,其缓存区的更新周期由CPU设定的中断周期来确定。
[0015]作为本实用新型的改进,所述控制数据用于完成非周期性的状态机切换命令和邮箱通信服务命令的操作接口,所述中断设置指令可以完成CPU对所述FPGA模块2内的中断进行设置和使能控制。
[0016]作为本实用新型的改进,所述数据帧收发操作接口包括配置数据帧发送缓存区、数据帧接收反馈缓存区和收发的数据帧缓存区,其中,配置数据帧发送缓存区包括发送缓冲区使能控制寄存器、第一发送缓冲区发送长度设置寄存器、第二发送缓冲区2发送长度设置寄存器、定时发送周期设置寄存器、第一页缓冲区重发次数设置寄存器和硬件中断控制寄存器;所述数据帧接收反馈缓存区包括接收到有效数据帧更新寄存器、一个周期内接收到的数据帧数寄存器、CRC32有效标志位寄存器、数据帧中的CRC32中的低16位寄存器、计算所得的CRC32中的低16位状态寄存器;所述收发的数据帧缓存区包括第一发送缓存区、第二发送缓存区、第一接收缓存区和第二接收缓存区,其分别对应周期性发送缓存区、非周期性发送缓存区、周期性接收缓存区和非周期性接收缓存区。
[0017]作为本实用新型的改进,所述EtherCAT协议驱动模块包括反馈数据帧处理模块、周期性指令处理模块、应用程序命令响应模块、应用程序命令处理模块、生成数据帧命令模块和控制收发数据帧寄存器启动数据帧发送模块,其中,所述反馈数据帧处理模块接收到CPU配置FPGA产生的中断周期信号后,首先进行上一周期返回周期性反馈数据的处理,然后根据接收寄存器的接收到的帧数来判断是否有非周期性数据帧,如果有则处理相应的非周期性反馈数据;当所述反馈数据帧处理模块处理完反馈数据传递给应用程序操作接口时,利用FPGA并行处理的特性同时触发所述周期性指令处理模块和所述应用程序命令响应模块,所述周期性指令处理模块从所述应用程序操作接口中的所述过程数据缓存区中取出有效数据并按照EtherCAT帧标准生产周期性过程数据帧,同时所述应用程序命令响应模块从应用程序操作接口中的缓存数据中检查有无指令操作,如果有则进行响应模块的触发处理,进而组成本周期的非周期性数据帧,如无则
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1