一种EtherCAT双网数据读写系统的制作方法

文档序号:30184阅读:499来源:国知局
专利名称:一种EtherCAT双网数据读写系统的制作方法
【专利摘要】本实用新型涉及一种EtherCAT双网数据读写系统,所述系统包括异步并行总线接口模块、数据缓存区、EtherCAT读写控制模块、配置信息模块和中断脉冲合成模块;所述数据缓存区包括A网数据缓存区和B网数据缓存区;所述系统分别与主控芯片和ESC芯片连接;所述主控芯片DSP支持16位数据总线;所述ESC芯片为ESC芯片ET1100,将FPGA分别与主控芯片、ESC芯片ET1100A网以及ESC芯片ET1100B网的总线接口相连,地址总线和数据总线均为16位。本实用新型增强EtherCAT网络的容错能力,提高通信的可靠性;减少主控芯片在通信方面的开销,提高主控系统整体的实时性。
【专利说明】一种EtherCAT双网数据读写系统

【技术领域】
[0001]本实用新型涉及一种双网数据读写系统,具体讲涉及一种EtherCAT双网数据读写系统。

【背景技术】
[0002]EtherCAT是由一种基于标准以太网技术的实时工业以太网现场总线技术,最初由德国倍福公司开发,它具有传输容量大、传输速度快、实时性高、实现成本低、拓扑结构灵活等特点,近年来,EtherCAT技术被广泛应用于工业自动化控制领域。随着技术的不断进步,目前采用单一 EtherCAT网络的实时控制系统,其可靠性已经达到很高的水平,完全能够满足大多数规模和风险不大的工业控制要求,但对于部分高危险、高价值、大规模的工业控制来说还远远不够,尤其是在高压直流输电、精密半导体制造等领域,由于受到恶劣的现场环境、较长的传输距离等因素干扰,EtherCAT网络可能会发生无法预测的错误,从而引发严重的后果。为了增强EtherCAT网络的容错能力,提高通信的可靠性,通常的做法是采用双冗余网络的设计方式。
[0003]EtherCAT网络采用主从式的通信结构,由主站控制网络周期,发送下行报文,数据帧遍历所有从站,每个从站在数据帧经过时,通过专用的ESC芯片(EtherCAT从站控制芯片)来处理数据帧。主控芯片(如DSP、ARM等)只需要与ESC芯片的PDI接口(过程数据接口)连接,通过异步并行总线或SPI总线来读/写数据,即可与其他从站实时通信,无需复杂的编解码过程。
[0004]但是,将主控芯片与ESC芯片直连应用时,会存在一些问题,以ETl 100这款常用的ESC芯片为例加以说明:1、ETllOO每个网络周期都会输出低电平的中断信号,主控芯片一般通过检测该中断信号的下降沿来启动读/写网络数据,最后,主控芯片还需要向ETllOO的一个特定地址读/写数,才能将ETllOO的中断信号置为高电平,清除该中断信号。若主控芯片没有及时向ET1100的特定地址读/写数,则主控芯片有可能因为无法检测到该中断信号的下降沿而断网;2、ETllOO的PDI接口速度一般为几百纳秒才可读/写一个16位数据,比主控芯片十几纳秒读/写一个16位数据慢很多,因此,主控芯片直接读/写ETllOO时需要不停的等待,当传输的数据较多时,主控芯片的总线会被长时间占用,从而影响控制系统的实时性;3、采用双冗余EtherCAT网络的设计方式时,会进一步增加主控芯片在通信方面的开销,使得控制系统整体的实时性下降。
实用新型内容
[0005]针对现有技术的不足,本实用新型提供一种EtherCAT双网数据读写系统及其方法,添加在主控芯片与两个ESC芯片之间,两个ESC芯片分别连入EtherCAT网络(A网)和EtherCAT网络(B网),两个网络互为备用,传输的数据完全相同。本实用新型具体包括以下几个功能模块:
[0006]1、异步并行总线接口模块,用于将主控芯片对FPGA的读/写时序转换成FPGA内部读/写时序,该模块接口速度快,主控芯片读/写本实用新型的内部数据时无需等待。主控芯片读数据时,异步并行总线接口模块依据地址不同,将双口 RAM2模块或双口 RAM4模块中缓存的数据传输给主控芯片;主控芯片写数据时,异步并行总线接口模块依据地址不同,将数据存放到配置信息模块中或者同时存放到双口 RAMl模块和双口 RAM3模块中;
[0007]2、A网数据缓存区,包括双口 RAM2模块以及采用乒乓控制的双口 RAMl模块。双口 RAM2模块用于缓存ESC芯片ETllOO (A网)从EtherCAT网络(A网)下载下来并需要发送到主控芯片的下载区数据;采用乒乓控制的双口 RAMl模块用于缓存主控芯片发送到ESC芯片ETllOO (A网)并需要上传到EtherCAT网络(A网)的上传区数据,双口 RAMl模块包括双口 RAM1_0和双口 RAM1_1两部分,交替存储本次和上次的上传区数据;
[0008]3,EtherCAT读写控制(A网)模块,用于通过异步并行总线,根据配置信息模块中存储的数据段首地址和数据段长度,对ESC芯片ETllOO (A网)进行读/写操作,将下载区数据读出并按顺序依次存放到双口 RAM2模块中,再将采用乒乓控制的双口 RAMl模块中的上传区数据按顺序依次写入ESC芯片ETllOO (A网)中。EtherCAT读写控制(A网)模块读完下载区数据后,会输出一个脉冲信号给中断脉冲合成模块,写完上传区数据后,会将ESC芯片ETllOO (A网)的中断信号清除;
[0009]4、配置信息模块,用于寄存主控芯片写入的配置信息,配置信息包括:ESC芯片ETllOO中下载区的数据段起始地址和数据段长度、上传区的数据段起始地址和数据段长度以及启动命令字;
[0010]5、中断脉冲合成模块,用于将两个EtherCAT读写控制模块输出的脉冲信号合成为一个中断脉冲,并发送给主控芯片,使主控芯片进入中断服务程序,而后从双口 RAM2模块和双口 RAM4模块中读取最新的EtherCAT网络数据;
[0011]6、B网数据缓存区,包括双口 RAM4模块以及采用乒乓控制的双口 RAM3模块。双口 RAM4模块用于缓存ESC芯片ETllOO (B网)从EtherCAT网络(B网)下载下来并需要发送到主控芯片的下载区数据;采用乒乓控制的双口 RAM3模块用于缓存主控芯片发送到ESC芯片ETllOO (B网)并需要上传到EtherCAT网络(B网)的上传区数据,双口 RAM3模块包括双口 RAM3_0和双口 RAM3_1两部分,交替存储本次和上次的上传区数据;
[0012]7,EtherCAT读写控制(B网)模块,用于通过异步并行总线,根据配置信息模块中存储的数据段首地址和数据段长度,对ESC芯片ETllOO (B网)进行读/写操作,将下载区数据读出并按顺序依次存放到双口 RAM4模块中,再将采用乒乓控制的双口 RAM3模块中的上传区数据按顺序依次写入ESC芯片ETllOO (B网)中。EtherCAT读写控制(B网)模块读完下载区数据后,会输出一个脉冲信号给中断脉冲合成模块,写完上传区数据后,会将ESC芯片ETl 100 (B网)的中断信号清除。
[0013]本实用新型的目的是采用下述技术方案实现的:
[0014]一种EtherCAT双网数据读写系统,其改进之处在于,所述系统包括异步并行总线接口模块、数据缓存区、EtherCAT读写控制模块、配置信息模块和中断脉冲合成模块;
[0015]所述数据缓存区包括A网数据缓存区和B网数据缓存区;
[0016]所述系统分别与主控芯片和ESC芯片连接;
[0017]所述主控芯片DSP支持16位数据总线;
[0018]所述ESC芯片为ESC芯片ETl 100,将FPGA分别与主控芯片、ESC芯片ETl 100A网以及ESC芯片ETl10B网的总线接口相连,地址总线和数据总线均为16位;
[0019]所述异步并行总线接口模块、数据缓存区和EtherCAT读写控制模块依次连接;
[0020]所述异步并行总线接口模块、配置信息模块和EtherCAT读写控制模块依次连接;
[0021]所述异步并行总线接口模块、中断脉冲合成模块和EtherCAT读写控制模块依次连接。
[0022]优选的,所述A网数据缓存区包括双口 RAM2模块和采用乒乓控制的双口 RAMl模块;所述双口 RAMl模块包括双口 RAM1J)和双口 RAM1_1两部分。
[0023]优选的,所述B网数据缓存区包括双口 RAM4模块和采用乒乓控制的双口 RAM3模块;所述双口 RAM3模块包括双口 RAM3_0和双口 RAM3_1两部分。
[0024]优选的,所述异步并行总线接口模块对外与主控芯片的总线接口相连,对内与双口 RAM模块、配置信息模块以及中断脉冲合成模块相连。
[0025]优选的,所述EtherCAT读写控制A网模块对外与ESC芯片ET1100A网的总线接口相连,对内与双口 RAM2模块、采用乒乓控制的双口 RAMl模块、配置信息模块以及中断脉冲合成模块相连。
[0026]优选的,所述EtherCAT读写控制B网模块对外与ESC芯片ET1100B网的总线接口相连,对内与双口 RAM4模块、采用乒乓控制的双口 RAM3模块、配置信息模块以及中断脉冲合成模块相连。
[0027]与现有技术比,本实用新型的有益效果为:
[0028]1、本实用新型采用双冗余EtherCAT网络的设计方式,可以增强EtherCAT网络的容错能力,提高通信的可靠性;
[0029]2、本实用新型利用FPGA运行速度快、可配置引脚多、能并行处理等特点,同时对两片ESC芯片ETl 100读/写数据,并将数据存入FPGA片内的双口 RAM中,通过高速异步并行总线接口与主控芯片传输数据,因此可以大幅缩短主控芯片总线的等待时间,减少主控芯片在通信方面的开销,提高主控系统整体的实时性;
[0030]3、本实用新型根据ESC芯片ETllOO输出的低电平中断信号启动读/写EtherCAT网络数据的流程,操作完成后便会自动清除ESC芯片ETllOO的中断信号,并等待下一周期低电平中断信号再次触发。避免了主控芯片因丢失一次中断信号的下降沿后,再也无法响应ESC芯片ETllOO中断信号的问题。

【附图说明】

[0031]图1为本实用新型提供的一种EtherCAT双网数据读写系统结构图。

【具体实施方式】
[0032]下面结合附图对本实用新型的【具体实施方式】作进一步的详细说明。
[0033]如图1所示,本发明提供了一种EtherCAT双网数据读写系统,FPGA选用xilinx公司的Spartan系列,内部带有可编程的Block RAM。主控芯片选择的是TI公司C2000系列的DSP,支持16位数据总线;ESC芯片选择的是倍福公司的ETllOO芯片。将FPGA分别与主控芯片、ESC芯片ETllOO (A网)以及ESC芯片ETllOO (B网)的总线接口相连,地址总线和数据总线均为16位。
[0034]本发明FPGA内部功能模块具体如下:
[0035]异步并行总线接口模块;采用乒乓控制的双口 RAMl模块;双口 RAM2模块;EtherCAT读写控制(A网)模块;配置信息模块;采用乒乓控制的双口 RAM3模块;双口 RAM4模块;EtherCAT读写控制(B网)模块。异步并行总线接口模块对外与主控芯片的总线接口相连,对内与所有双口 RAM模块、配置信息模块以及中断脉冲合成模块相连。EtherCAT读写控制(A网)模块对外与ESC芯片ETllOO (A网)的总线接口相连,对内与双口 RAM2模块、采用乒乓控制的双口 RAMl模块、配置信息模块以及中断脉冲合成模块相连。EtherCAT读写控制(B网)模块对外与ESC芯片ETllOO (B网)的总线接口相连,对内与双口 RAM4模块、采用乒乓控制的双口 RAM3模块、配置信息模块以及中断脉冲合成模块相连。下面对每个模块的工作原理进行详细说明:
[0036]1、异步并行总线接口模块始终检测主控芯片发出的读/写数据信号,若为读信号,则根据主控芯片输出的地址,将双口 RAM2或双口 RAM4中相应地址的下载区数据传给主控芯片;若为写信号,且主控芯片输出的地址为配置信息的地址,就将数据写入配置信息模块,如果是上传区数据的地址,则将数据同时写入双口 RAMl和双口 RAM3模块中的相应地址;异步并行总线接口模块根据双口 RAMl模块的乒乓控制标志位将上传区数据写入双口RAM1_0或双口 RAM1_1,乒乓控制标志位为O时,写入双口 RAM1_0,乒乓控制标志位为I时,写入双口 RAM1_1 ;异步并行总线接口模块根据双口 RAM3模块的乒乓控制标志位将上传区数据写入双口 RAM3_0或双口 RAM3_1,乒乓控制标志位为O时,写入双口 RAM3_0,乒乓控制标志位为I时,写入双口 RAM3_1 ;
[0037]2、采用乒乓控制的双口 RAMl模块由FPGA内部的Block RAM构成,由于每个ESC芯片ETllOO能够上传的数据总段数最多为7段,每段最多256个字,因此配置双口 RAM1_0和双口 RAM1_1两部分的容量均为4KB即可。异步并行总线接口模块可对双口 RAMl模块进行读/写操作,但EtherCAT读写控制(A网)模块只能对双口 RAMl模块进行读操作。双口 RAMl模块内部有一个乒乓控制标志位,其功能为:当乒乓控制标志位为O时,异步并行总线接口模块可以对双口 RAM1_0读/写数据,EtherCAT读写控制(A网)模块只能对双口RAM1_1读数据;当乒乓控制标志位为I时,异步并行总线接口模块可以对双口 RAM1_1读/写数据,EtherCAT读写控制(A网)模块只能对双口 RAM1_0读数据;乒乓控制标志位每次都在异步并行总线接口模块写完最后一个数据,同时EtherCAT读写控制(A网)模块读完最后一个数据之后进行翻转;
[0038]3、双口 RAM2模块由FPGA内部的Block RAM构成,由于每个ESC芯片ET1100可下载的数据总段数最多为7段,每段最多256个字,因此配置双口 RAM2模块的容量为4KB即可。异步并行总线接口模块只能对双口 RAM2模块进行读操作,EtherCAT读写控制(A网)模块只能对双口 RAM2模块进行写操作;
[0039]4、EtherCAT读写控制(A网)模块及EtherCAT读写控制(B网)模块均是由状态机控制读/写数据流程,状态机共有6种状态,包括:①初始化ESC芯片ETllOO 等待启动命令;③等待ETllOO中断信号;④读下载区的EtherCAT数据;⑤发出完成读数据的脉冲信号;⑥写上传区的EtherCAT数据;⑦清除ET1100中断信号。由状态①跳转到状态②的条件是,已经完成ESC芯片ETllOO初始化流程;由状态②跳转到状态③的条件是主控芯片已经向配置信息模块写入了启动命令字;由状态③跳转回状态②的条件是主控芯片撤销了配置信息模块中的启动命令字;由状态③跳转到状态④的条件是检测到ESC芯片ETl 100输出的低电平中断信号;由状态④跳转到状态⑤的条件是已经根据配置信息模块里存储的数据段首地址和数据段长度,从ESC芯片ETllOO中读出所有EtherCAT下载区数据;由状态⑤跳转到状态⑥的条件是已经向中断脉冲合成模块发出已完成读数据的脉冲信号;由状态⑥跳转到状态⑦的条件是已经将所有EtherCAT上传区数据写入ESC芯片ET1100 ;由状态⑦跳转到状态③的条件是已经读了一次ESC芯片ETllOO的0x1000地址,并且ESC芯片ET1100输出的中断信号恢复为高电平;
[0040]5、配置信息模块由FPGA内部的分布式RAM构成,由于每个ESC芯片ET1100允许读/写的数据段总段数最多为7段,每段最多256个字,因此配置信息模块共需要缓存29个字的配置信息,包括=EtherCAT下载区的7个数据段首地址和7个数据段长度,EtherCAT上传区的7个数据段首地址和7个数据段长度,I个主控下发的启动命令字;
[0041]6、中断脉冲合成模块的输入为两个EtherCAT读写控制模块的读数据完成脉冲信号。当检测到两个模块均发出脉冲信号时,中断脉冲合成模块会立即输出一个中断脉冲给主控芯片,通知主控芯片从双口 RAM2模块和双口 RAM4模块中读取最新的EtherCAT网络数据;当只检测到一个模块发出脉冲信号时,中断脉冲合成模块会启动一个计时器,延时一定时间后再输出一个中断脉冲给主控芯片。这里的延时时间可设为两个冗余EtherCAT网络的中断信号之间,实测得出的最大间隔时间;
[0042]7、采用乒乓控制的双口 RAM3模块由FPGA内部的Block RAM构成,由于每个ESC芯片ETllOO能够上传的数据总段数最多为7段,每段最多256个字,因此配置双口 RAM3_0和双口 RAM3_1两部分的容量均为4KB即可。异步并行总线接口模块可对双口 RAM3模块进行读/写操作,但EtherCAT读写控制(B网)模块只能对双口 RAM3模块进行读操作。双口 RAM3模块内部有一个乒乓控制标志位,其功能为:当乒乓控制标志位为O时,异步并行总线接口模块可以对双口 RAM3_0读/写数据,EtherCAT读写控制(B网)模块只能对双口RAM3_1读数据;当乒乓控制标志位为I时,异步并行总线接口模块可以对双口 RAM3_1读/写数据,EtherCAT读写控制(B网)模块只能对双口 RAM3_0读数据;乒乓控制标志位每次都在异步并行总线接口模块写完最后一个数据,同时EtherCAT读写控制(B网)模块读完最后一个数据之后进行翻转;
[0043]8、双口 RAM4模块由FPGA内部的Block RAM构成,由于每个ESC芯片ET1100可下载的数据总段数最多为7段,每段最多256个字,因此配置双口 RAM4模块的容量为4KB即可。异步并行总线接口模块只能对双口 RAM4模块进行读操作,EtherCAT读写控制(B网)模块只能对双口 RAM4模块进行写操作。
[0044]最后应当说明的是:以上实施例仅用以说明本实用新型的技术方案而非对其限制,尽管参照上述实施例对本实用新型进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本实用新型的【具体实施方式】进行修改或者等同替换,而未脱离本实用新型精神和范围的任何修改或者等同替换,其均应涵盖在本实用新型的权利要求范围当中。
【权利要求】
1.一种EtherCAT双网数据读写系统,其特征在于,所述系统包括异步并行总线接口模块、数据缓存区、EtherCAT读写控制模块、配置信息模块和中断脉冲合成模块; 所述数据缓存区包括A网数据缓存区和B网数据缓存区; 所述系统分别与主控芯片和ESC芯片连接; 所述主控芯片DSP支持16位数据总线; 所述ESC芯片为ESC芯片ETl 100,将FPGA分别与主控芯片、ESC芯片ETl 100A网以及ESC芯片ETl 100B网的总线接口相连,地址总线和数据总线均为16位; 所述异步并行总线接口模块、数据缓存区和EtherCAT读写控制模块依次连接; 所述异步并行总线接口模块、配置信息模块和EtherCAT读写控制模块依次连接; 所述异步并行总线接口模块、中断脉冲合成模块和EtherCAT读写控制模块依次连接。2.如权利要求1所述的一种EtherCAT双网数据读写系统,其特征在于,所述A网数据缓存区包括双口 RAM2模块和采用乒乓控制的双口 RAMl模块;所述双口 RAMl模块包括双口RAM1_0和双口 RAM1_1两部分。3.如权利要求1所述的一种EtherCAT双网数据读写系统,其特征在于,所述B网数据缓存区包括双口 RAM4模块和采用乒乓控制的双口 RAM3模块;所述双口 RAM3模块包括双口RAM3_0和双口 RAM3_1两部分。4.如权利要求1所述的一种EtherCAT双网数据读写系统,其特征在于,所述异步并行总线接口模块对外与主控芯片的总线接口相连,对内与双口 RAM模块、配置信息模块以及中断脉冲合成模块相连。5.如权利要求1所述的一种EtherCAT双网数据读写系统,其特征在于,所述EtherCAT读写控制A网模块对外与ESC芯片ET1100A网的总线接口相连,对内与双口 RAM2模块、采用乒乓控制的双口 RAMl模块、配置信息模块以及中断脉冲合成模块相连。6.如权利要求1所述的一种EtherCAT双网数据读写系统,其特征在于,所述EtherCAT读写控制B网模块对外与ESC芯片ET1100B网的总线接口相连,对内与双口 RAM4模块、采用乒乓控制的双口 RAM3模块、配置信息模块以及中断脉冲合成模块相连。
【文档编号】G06F15-17GK204302972SQ201420721213
【发明者】王翔, 蔡林海 [申请人]国家电网公司, 国网智能电网研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1