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

文档序号:8595458
一种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模块;双口
再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1