一种基于fpga的千兆以太网现场总线通信装置的制作方法

文档序号:7891343阅读:136来源:国知局
专利名称:一种基于fpga的千兆以太网现场总线通信装置的制作方法
技术领域
本发明属于现场总线通信领域,具体涉及一种千兆以太网现场总线通信装置,用于数控系统的总线通信。
背景技术
计算机、通信、控制、电子等技术的飞速发展使自动化控制迅速覆盖到工业系统中的现场设备,现场总线技术应运而生。它将现场的测量、控制设备互联为通信网络、实现不同网段和现场通信设备之间的信息共享,同时又把现场运行的各种信息传到远离现场的控制室,建立了生产过程现场级测控设备与控制管理层之间的联系。现场总线通信装置是现场总线的核心,它可以转发和处理来自现场总线链路上的数据,并通过协议的转换来和其他通信设备实现信息的交互。现场总线通信装置的稳定和高效直接影响到整个通信过程的信息交互的质量。专利文献201010513807. 7公开了一种基于工业以太网的高速现场总线实现方法,并提供了实现该方法的现场总线系统,即 GSK-Link高速现场总线系统。专利文献201010580103. I公开了一种EtherCAT工业以太网与WorldFIP现场总线互联通讯的网关及其实现方法,使EtherCAT工业以太网与WorldFIP 现场总线能够共用于同一工业控制系统中,实现现场总线通信。专利文献03129417. O公开了一种M0DBUS/TCP工业以太网和设备网现场总线间的协议转换方法和装置,可以实现 M0DBUS/TCP工业以太网和设备网现场总线间的应用层协议转换,实现现场总线通信。上述现场总线通信设备都各有所长,但普通存在一个缺陷,即现场总线通信速率普遍低于 100Mbps,而目前随着技术的发展和需求的提升,对现场总线的通信速率要求越来越高,一般都需要在1000Mbps,以达到高的实时性,目前的现场总线通信设备还没有能够达到这样的要求。

发明内容
本发明目的在于提出一种基于FPGA的现场总线通信装置,利用FPGA的编程灵活性实现对网卡的控制,利用千兆物理层芯片(PHY芯片)实现物理层数据的接收和发送,实现IOOOMbps的数据传输速率,解决目前现场总线中总线传输速率最大只能达到IOOMbps的问题。本发明的技术方案为一种基于FPGA的现场总线通信装置,实现总线上的数据以IOOOMbps的速率传输, 并且实现总线链路数据监控和处理、伺服参数调整等功能。该装置包括ARM/DSP扩展接口、 PCI接口、FPGA模块、PHY芯片和现场总线通信接口。现场总线上的光信号或特定电气标准的差分电信号通过现场总线接口转换或隔离成稳定的差分电信号,其中,光纤上的光信号经过光电转换模块后转换为差分电信号,双绞线上的电信号经过RJ-45插座连接到网络隔离变压器,经过隔离之后转换为稳定的差分电信号。经过转换或隔离的差分电信号通过千兆PHY芯片的处理后变为并行数据,下载到FPGA中,并在FPGA中实现数据帧的接收和解析。FPGA将解析后的数据通过ARM/DSP扩展接口交给ARM或DSP进行处理。ARM/DSP扩展接口与FPGA通过数据线、地址线及控制信号线相互连接。当扩展接口连接ARM时,ARM以中断方式实时读取FPGA中的数据,进行分析处理后,将现场总线链路上的状态、报警信息、挂接在总线上的设备状态以及设备参数返还给 FPGA ;当扩展接口接DSP时,DSP可以对伺服驱动器的数据进行运算处理后,再返还给FPGA。 FPGA接收到数据后,依照总线协议封装成特定格式的数据帧,通过千兆PHY芯片转换成差分信号,经过电口或光口转换成特定电气标准的电信号或光信号传输到现场总线上。FPGA模块通过现场总线接口接入到现场总线上,完成数据帧的解析和发送。该模块包括应用层的接口模块和物理层的接口模块。应用层接口模块包括PCI核和ARM/DSP模块。PCI核用于实现与带PCI接口的设备的通信,ARM/DSP模块可以实现与ARM或DSP的通信。物理层接口模块包括数据存储模块、内存管理模块、帧接收及解析模块、组帧及帧发送模块等。数据存储模块利用了 FPGA内部的RAM资源,包括接收数据缓冲区和发送数据缓冲区。帧接收及解析模块通过接收数据缓冲区下载所有链接在总线上的链路层数据,完成帧的解析。帧发送模块将经过ARM或DSP处理的数据封装成数据帧并存储到发送数据缓冲区中。内存管理模块用来控制RAM存储空间的分配、释放和读写控制。现场总线通信接口包括电口和光口。电口包括网络隔离变压器和RJ-45插座。电口通信时,从总线上下载数据时,电信号通过网络隔离变压器进行信号隔离后传入PHY芯片中,PHY芯片将差分信号转换为并行数据输入到FPGA中;将数据上传到总线时,PHY芯片接收来自FPGA的并行数据,并将其转换为特定电气标准的差分信号,通过隔离变压器隔离之后传输到总线上。光口包括光电转换模块和SFP插座。光口通信时,现场总线上的数据以光信号的形式在光纤上传输。从总线上下载数据时,光信号首先经过光电转换模块转换为串行差分信号提供给PHY芯片,PHY芯片利用串并转换模块将其转换为并行数据输入到 FPGA中;将数据上传到总线时,PHY芯片接收来自FPGA的并行数据,并将其转换为串行差分信号,通过光电转换模块转换成标准光信号,传输到现场总线上。PCI接口可以实现该装置与带有PCI接口的外部设备相互连接,外部设备通过 FPGA中的PCI核与该装置进行通信。ARM/DSP扩展接口可以与外部ARM或DSP的相互连接。当扩展接口连接ARM时,该装置可以实现对总线链路的实时监控。ARM接收来自FPGA的总线链路数据,分析现场总线链路的网络结构和运行状态、现场总线链路上的设备状态,并将分析结果通过人机交互单元输出到人机交互界面进行显示,同时将产生的报警信息通过FPGA上传到总线上,由数控系统处理。当扩展接口连接DSP时,该装置可以作为主站直接接收来自伺服驱动器的数据, 交由DSP进行运算处理后返还给FPGA,通过现场总线通信接口控制伺服驱动器。本发明的有益效果是I.本发明采用现场总线通信,可以灵活应用于工业控制的现场,实现实时监控和通信;2.本发明采用千兆PHY芯片,可以实现IOOOMbps的数据传输速率,大大提高了现场总线的通信速率;3.本发明采用FPGA处理链路层数据,响应快,速度高;4.本发明采用PCI接口,可以实现与带有PCI接口的外部设备之间的通信;
5.本发明采用ARM/DSP扩展接口,可以根据实际需要外接ARM或DSP,实现对总线链路的监控或对伺服驱动器的控制,灵活性高,能够实现多种功能。


图I是本发明的总体结构示意图。图2是FPGA模块的/[目号流程不意图。图3是扩展接口连接ARM时的信号流程示意图。图4是扩展接口连接DSP时的信号流程示意图。
具体实施例方式下面结合附图和具体实施例对本发明作进一步详细的描述。本发明提出一种基于FPGA的现场总线通信装置,利用FPGA的编程灵活性实现对网卡的控制,利用千兆PHY芯片实现物理层以IOOOMbps的速率高实时性地接收和发送数据,并可以通过扩展接口与ARM或DSP连接,实现对总线链路数据的监控和处理、调整伺服参数等功能。图I是该装置的总体结构示意图,该装置包括ARM/DSP扩展接口 I、PCI接口 2、 FPGA模块3、PHY芯片4和现场总线通信接口 5 (电口 51和光口 52)。现场总线上的电信号或光信号通过现场总线接口(电口或光口 )转换成差分信号,经过千兆PHY芯片4的处理后变为8路并行数据,下载到FPGA3中,并在FPGA中实现数据帧的接收和解析。FPGA将解析后的数据通过ARM/DSP扩展接口 I交给ARM或DSP进行处理。ARM/DSP扩展接口与FPGA通过数据线、地址线及控制信号线相互连接。当扩展接口连接ARM时,ARM以中断方式实时读取FPGA中的数据,进行分析处理后,将现场总线链路上的状态、报警信息、挂接在总线上的设备状态以及伺服调整参数返还给FPGA ;当扩展接口接DSP时,DSP可以对伺服驱动器的数据进行运算处理后,再返还给FPGA。FPGA接收到数据后,依照总线协议封装成特定格式的数据帧,通过千兆PHY芯片转换成二路差分信号,经过电口或光口转换成特定电气标准的电信号或光信号传输到现场总线上。下面介绍各个模块具体功能实现(I) FPGA 模块FPGA模块3提供各种协议的实现,完成数据帧的解析和发送。图2是FPGA模块具体实现示意图,该模块包括应用层的接口模块31和物理层的接口模块32。应用层接口模块31包括PCI核311和ARM/DSP模块(312、313)。物理层接口模块32包括数据存储模块 321、内存管理模块322、帧接收及解析模块323、组帧及帧发送模块324等。PCI核311用于实现与带PCI接口的设备的通信,向FPGA中植入了可以实现PCI 协议的IP核(具有特定电路功能的硬件描述语言程序),能够与外围设备完成基于PCI协议的数据的交互。ARM/DSP模块(312和313)通过相应的ARM或DSP接口程序实现和外部ARM或DSP 设备的数据交互。数据存储模块321利用了 FPGA内部的RAM资源,包括接收数据缓冲区3211和发送数据缓冲区3212,接收数据缓冲区用来存储所有链接在总线上的设备链路层数据,发送数据缓冲区用来存储经过ARM或DSP处理后的数据。内存管理模块322用来控制RAM存储空间的分配、释放和读写控制。当PHY芯片的接收数据使能位有效时,内存管理模块322控制接收数据缓冲区接收总线上的数据,下载完成之后置读数据使能位为1,将接收数据缓冲区中的数据发送给帧接收及解析模块323。 当上传标志位为I时,内存管理模块控制发送数据缓冲区将数据上传到现场总线上;当上传标志位为O时,内存管理模块控制发送数据缓冲区保持所存储的数据不作处理。帧接收及解析模块323根据内存管理模块322产生的读数据使能位,读取接收数据缓冲区3211中的数据,依据链路层数据帧格式提取帧头、帧尾和帧有效数据,并将提取的有效数据交给ARM或DSP进行处理。组帧及帧发送模块324根据链路层数据帧格式将来自ARM或DSP的数据封装成数据帧,向数控系统及其链接的设备发送处理后的数据。数据的上传由ARM/DSP发出的上传标志位来进行控制。上传标志位由ARM/DSP写入到FPGA中,当ARM/DSP需要上传数据时, ARM/DSP把上传标志位置I,当ARM/DSP不需要上传数据时,把上传标志位置O ;FPGA循环检查上传标志位,当上传标志位为I时,就将发送数据缓冲区中的数据上传到现场总线链路中;当上传标志位为O时,对接收到的数据不作处理直接转发到现场总线链路中。(2) PHY 芯片PHY芯片4采用了专用千兆以太网芯片,用来接收来自现场总线通信接口的差分数据信号,并将其转换成8位标准并行数据,通过GMII、Mil、TBI等介质独立接口传输给 FPGA作相应处理。这款千兆以太网芯片提供多种物理介质接口,内含SERDES串并转换模块,支持1000BASE-X模式下的基于光纤的光口通信和1000BASE-T、100BASE-TX、10BASE-T 等三种模式下的基于双绞线的电口通信,并且可以根据现场的工作环境自动调整工作模式,在10M、100M、1000M的传输速率之间转换。(3)现场总线通信接口现场总线通信接口 5包括电口 51和光口 52。电口 51包括网络隔离变压器和RJ-45 插座。电口 51通信时,采用双绞线传输数据,信号占用双绞线的全部四对差分线。从总线上下载数据时,电信号通过网络隔离变压器进行信号隔离后传入PHY芯片中,PHY芯片利用其SERDES模块将差分信号转换为8位并行数据输入到FPGA中;将数据上传到总线时,PHY 芯片接收来自FPGA的8位并行数据,并将其转换为特定电气标准的差分信号,通过隔离变压器隔离之后传输到总线上。光口 52包括光电转换模块和SFP插座。光口 52通信时,采用光纤传输数据,现场总线上的数据以光信号的形式在光纤上传输。从总线上下载数据时, 光信号首先经过光电转换模块转换为二路串行差分信号提供给PHY芯片,PHY芯片利用其 SERDES串并转换模块将其转换为8位并行数据输入到FPGA中;将数据上传到总线时,PHY 芯片接收来自FPGA的8位并行数据,并将其转换为二路串行差分信号,通过光电转换模块转换成标准光信号,传输到现场总线上。(4) PCI 接口PCI接口包括数据总线、地址总线和控制信号线,这些信号线都连接到FPGA中,然后利用FPGA中的PCI核对其作相应处理。本实施例中可优选采用Altera公司提供的32 位PCI核,此IP核包含了 PCI控制电路的所有功能,可以完成PCI协议和现场总线总线协议之间的转换。
7
(5) ARM/DSP 扩展接口ARM/DSP扩展接口包括数据总线、地址总线和控制信号线,这些信号线都连接到 FPGA中,由FPGA中的接口程序对信号作相应处理。图3是扩展接口连接ARM时的信号流程示意图。通过人机交互界面输入的信息输入到人机交互单元,存储于ARM的数据存储单元中,FPGA中的数据通过ARM接口程序也存储到该存储单元中。该数据存储单元通过ARM中的内存管理模块实现。ARM中的数据分析单元对数据存储单元中存储的数据进行分析处理,它有两个功能,一个是对现场总线上的网络结构和运行状态进行分析处理,一个是对链接在现场总线上的设备状态信息进行分析处理。分析处理的结果通过人机交互单元输出到人机交互界面进行显示,同时将产生的报警信息输入到FPGA模块,上传到现场总线链路,由数控系统进行处理。图4是扩展接口连接DSP时的信号流程示意图。该装置通过PCI接口与工控机相连,工控机作为主站可以运行数控系统,执行上层应用软件,向伺服驱动器发送伺服调整参数等。FPGA通过现场总线通信接口接收伺服驱动器发送过来的伺服数据,通过DSP接口程序上传到DSP中,由DSP对数据进行运算处理,并将处理后的数据通过FPGA模块发送给伺服驱动器,实现伺服参数的调整等功能。
权利要求
1.一种基于FPGA的千兆以太网现场总线通信装置,其特征在于,该装置包括ARM/DSP 扩展接口(I)、FPGA模块(3)、PHY芯片(4)和现场总线通信接口(5),其中,现场总线上的设备链路层数据通过所述现场总线通信接口(5)转换成差分信号,再经过所述千兆PHY芯片⑷后下载到所述FPGA模块(3)中,该FPGA模块(3)对下载的数据进行接收并解析,并通过所述ARM/DSP扩展接口(I)将解析的数据发送给与所述ARM/DSP扩展接口(I)连接的ARM或DSP进行处理,经所述ARM或DSP处理后的数据输入到所述FPGA 模块(3)中,并经该FPGA模块(3)封装成数据帧,再通过所述千兆PHY芯片(4)转换成差分信号,经所述现场总线通信接口(5)传输到现场总线上。
2.根据权利要求I所述的一种基于FPGA的千兆以太网现场总线通信装置,其特征在于,所述的FPGA模块(3)包括应用层接口模块(31)和物理层接口模块(32),其中,所述应用层接口模块(31)包括ARM/DSP模块(312、313),其用于实现与ARM/DSP扩展接口(I)之间的通信;所述物理层接口模块(32)用于存储并解析经所述千兆PHY芯片(4)后下载到FPGA模块(3)中的数据,并发送到所述ARM/DSP扩展接口(I);或者封装并存储经ARM/DSP扩展接口⑴输入的数据,并发送到所述千兆PHY芯片(4)。
3.根据权利要求2所述的一种基于FPGA的千兆以太网现场总线通信装置,其特征在于,其特征在于,所述物理层接口模块(32)包括数据存储模块(321),其包括接收数据缓冲区(3211)和发送数据缓冲区(3212),分别用于存储现场总线上的设备链路层数据和存储经过ARM或DSP处理后的数据;帧接收及解析模块(323),用于读取所述接收数据缓冲区(3211)中的数据,并根据链路层数据帧格式提取帧头、帧尾和帧有效数据,并将提取的有效数据交给ARM或DSP进行处理;组帧及帧发送模块(324),其根据链路层数据帧格式将来自ARM或DSP的数据封装成数据帧,并存储于所述发送数据缓冲区(3212),以通过所述千兆PHY芯片(4)发送至现场总线。
4.根据权利要求1-3之一所述的一种基于FPGA的千兆以太网现场总线通信装置,其特征在于,所述现场总线通信接口(5)包括电口(51)和光口(52),其中,所述电口(51)包括网络隔离变压器和RJ-45插座,所述光口(52)包括光电转换模块和SFP插座,现场总线上的设备链路层数据以电信号或光信号的形式输入该现场总线通信接口(5) 中,所述千兆PHY芯片(4)上的差分信号经该现场总线通信接口(5)转换成电信号或光信号后传输到现场总线上。
5.根据权利要求1-4之一所述的一种基于FPGA的千兆以太网现场总线通信装置,其特征在于,所述ARM/DSP扩展接口(I)与所述FPGA模块(3)之间通过数据线、地址线及控制信号线相互连接。
6.根据权利要求1-5之一所述的一种基于FPGA的千兆以太网现场总线通信装置,其特征在于,所述通信装置还包括与所述FPGA模块(3)连接的PCI接口(2),用于与外部的带 PCI接口的设备的通信。
7.根据权利要求6所述的一种基于FPGA的千兆以太网现场总线通信装置,其特征在于,所述应用层接口模块(31)还包括PCI核(311),其与所述PCI接口⑵连接,以实现与带PCI接口的设备的通信。
全文摘要
本发明公开了一种基于FPGA的千兆以太网现场总线通信装置,包括ARM/DSP扩展接口、FPGA模块、PHY芯片和现场总线通信接口,现场总线上的电信号或光信号通过现场总线接口转换成差分信号,经过千兆PHY芯片后下载到FPGA模块中,该FPGA模块对下载的数据进行接收并解析,再通过ARM/DSP扩展接口将解析的数据发送给与ARM/DSP扩展接口连接的ARM或DSP进行处理;ARM或DSP处理后的数据经FPGA模块封装成数据帧,再通过千兆PHY芯片转换成差分信号,经现场总线通信接口转换成电信号或光信号传输到现场总线上。本发明可以实现1000Mbps的数据传输速率,实现与带有PCI接口的外部设备之间的通信,可以根据实际需要外接不同控制器,灵活性高,能够灵活应用于工业控制的现场的实时监控和通信。
文档编号H04L12/26GK102594627SQ201210063608
公开日2012年7月18日 申请日期2012年3月12日 优先权日2012年3月12日
发明者周彬, 周芳芳, 唐小琦, 夏亮, 宋宝, 陈天航, 陈灏, 马泽龙 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1