EtherCAT从站中FMMU的控制方法及系统与流程

文档序号:11177056阅读:1821来源:国知局
EtherCAT从站中FMMU的控制方法及系统与流程

本发明涉及自动化技术领域,尤其涉及一种ethercat从站中fmmu的控制方法及系统。



背景技术:

目前,以太网控制自动化技术(ethernetcontrolautomationtechnology,以下简称ethercat)最初是在2003年由德国倍福自动化有限公司(beckhoffautomationgmbh)基于以太网技术提出的一种实时工业以太网技术,该技术不仅具有高速和高数据有效率的特点,还具有灵活网络拓扑结构,并在协议中封装了ip/udp,所以不需要ip协议就能实现通信。因此,ethercat具有以下优点:适应性广泛;符合以太网标准;无需使用从属子网,都可用作ethercat从站;数据传输效率高;刷新周期短;同步性能好。该技术采用主从式结构,主站具有总线控制权,主站按照控制周期下发报文,数据帧遍历所有的从站设备,每个从站设备在数据帧经过时寻址到本站报文,根据数据帧中的命令写入数据或者读入数据到报文中指定位置。直到数据帧访问到整个总线中的最后一个从站。

如申请号为201310003789.1发明中提供了用于存储设备的地址映射方法。该方法包括:接收来自存储单元的用于所述存储单元的物理地址;将所述物理地址映射为逻辑地址;将所述逻辑地址发送给访问所述存储设备的主机。该方法虽然能够实现物理地址映射到逻辑地址,但是由于该方法不能实现按位映射,且此方法需要将所述逻辑地址发送到访问所述存储设备的主机,因此不能实现ethercat协议中主站连接多个地址映射的功能。



技术实现要素:

本发明提供的ethercat从站中fmmu的控制方法及系统,能够实现fmmu的快速读写操作,同时还能够减少硬件资源的消耗。

第一方面,本发明提供一种ethercat从站中fmmu的控制方法,包括:

获取开始字节比特个数计数器的初始值、字节个数计数器的初始值和结束字节比特个数计数器的初始值;

根据开始字节比特个数计数器的初始值、字节个数计数器的初始值和结束字节比特个数计数器的初始值分别对开始字节比特个数计数、字节个数计数和结束字节比特个数计数;

根据开始字节比特个数、字节个数和结束字节比特个数确定映射激活信号,以使fmmu能够根据映射激活信号得出偏移地址并实现逻辑地址与从站物理地址间的按位映射。

可选地,开始字节比特个数计数器获取开始字节比特个数计数器的初始值并根据所述初始值对开始字节比特个数计数,然后根据开始字节比特个数确定开始字节比特个数计数器对应的第一映射激活信号,包括:

获取由主站所配置的数据逻辑起始位并得出开始字节比特个数计数器的初始值;

根据所述初始值对开始字节比特个数计数;

对所述开始字节比特个数做减法,直至开始字节比特个数为0并作为第一映射激活信号。

可选地,当所述开始字节比特个数为0时,用于产生字节个数计数器使能信号的比特个数计数器在每个时钟周期将比特个数加1,其中,

当所述比特个数为7时,则将比特个数计数器置0,并且当字节个数计数器对字节个数计数至0后,则比特个数计数器停止计数并将字节个数计数器使能信号发送至字节个数计数器。

可选地,字节个数计数器获取字节个数计数器的初始值并根据所述初始值对字节个数计数,然后根据字节个数确定字节个数计数器对应的第二映射激活信号,包括:

获取数据长度并得出字节个数计数器的初始值;

根据所述初始值对字节个数计数;

接收字节个数计数器使能信号;

根据所述字节个数和字节个数计数器使能信号将所述初始值减1,直至字节个数为0并作为第二映射激活信号。

可选地,结束字节比特个数计数器获取结束字节比特个数计数器的初始值并根据所述初始值对结束字节比特个数计数,然后根据结束字节比特个数确定结束字节比特个数计数器对应的第三映射激活信号,包括:

获取由主站所配置的数据逻辑终止位并得出结束比特字节个数计数器的初始值;

根据所述初始值对结束字节比特个数计数;

接收字节个数,当字节个数减至0时,将所述结束字节比特个数减1,直到结束字节比特个数为0并作为第三映射激活信号。

可选地,所述根据开始字节比特个数、字节个数和结束字节比特个数确定映射激活信号,包括:

判断开始字节比特个数、字节个数和结束字节比特个数是否同时为0,如果是,则映射激活信号为0,然后得出偏移地址;如果否,则映射激活信号为1,然后实现逻辑地址与从站物理地址间的按位映射。

可选地,当映射激活信号为0时,得出偏移地址,包括:

接收从站物理内存起始位;

根据从站物理内存起始位计算得出偏移地址。

可选地,当映射激活信号为1时,实现逻辑地址与从站物理地址间的按位映射,包括:

接收从站物理内存起始位和偏移地址;

根据从站物理内存起始位和偏移地址实现逻辑地址与从站物理地址间的按位映射。

第二方面,本发明提供一种ethercat从站中fmmu的控制系统,包括:

开始字节比特个数计数器,用于对开始字节比特个数计数;

字节个数计数器,用于对字节个数计数;

结束字节比特个数计数器,用于对结束字节比特个数计数;

确定单元,用于根据开始字节比特个数、字节个数和结束字节比特个数确定映射激活信号,以使fmmu能够根据映射激活信号得出偏移地址并实现逻辑地址与从站物理地址间的按位映射。

可选地,所述系统还包括:

倍频器,用于将25mhz的系统时钟倍频至100mhz,以增加fmmu的映射速度。

可选地,所述开始字节比特个数计数器包括:

第一获取单元,用于获取由主站所配置的数据逻辑起始位并得出开始字节比特个数计数器的初始值;

第一计数单元,用于根据所述初始值对开始字节比特个数计数;

第一信号单元,用于对所述开始字节比特个数做减法,直至开始字节比特个数为0并作为第一映射激活信号。

可选地,所述系统还包括:

比特个数计数器,用于在每个时钟周期将比特个数加1,其中,当所述比特个数为7时,则重置为0,并且当字节个数计数器对字节个数计数至0后,则停止计数并将其产生的使能信号发送至字节个数计数器。

可选地,所述字节个数计数器包括:

第二获取单元,用于获取数据长度并得出字节个数计数器的初始值;

第二计数单元,用于根据所述初始值对字节个数计数;

使能信号单元,用于接收字节个数计数器使能信号;

第二信号单元,用于根据所述字节个数和字节个数计数器使能信号将所述初始值减1,直至字节个数为0并作为第二映射激活信号。

可选地,所述结束字节比特个数计数器包括:

第三获取单元,用于获取由主站所配置的数据逻辑终止位并得出结束比特字节个数计数器的初始值;

第三计数单元,用于根据所述初始值对结束字节比特个数计数;

第三信号单元,用于接收字节个数,当字节个数减至0时,将所述结束字节比特个数减1,直到结束字节比特个数为0并作为第三映射激活信号。

可选地,所述确定单元包括:

第一接收子单元,用于接收从站物理内存起始位;

计算子单元,用于根据从站物理内存起始位计算得出偏移地址。

可选地,所述系统还包括:

第二接收单元,用于接收从站物理内存起始位和偏移地址;

映射单元,用于根据从站物理内存起始位和偏移地址实现逻辑地址与从站物理地址间的按位映射。

本发明实施例提供的ethercat从站中fmmu的控制方法及系统主要通过fmmu所配置的数据逻辑起始位、数据长度、数据逻辑终止位得出开始字节比特个数计数器的初始值、字节个数计数器的初始值、结束字节比特个数计数器的初始值。然后分别对开始字节比特个数计数、字节个数计数和结束字节比特个数计数并得出字节比特个数、字节个数和结束字节比特个数;然后由开始字节比特个数、字节个数、结束字节比特个数确定映射激活信号,进而确定所述偏移地址。本发明实施例进而通过物理内存起始地址和偏移地址即可读写单比特读写ram,实现fmmu快速读写操作,提高了所述控制方法fmmu读写操作速度。同时,本实施例所述控制方法还能够减少硬件资源的消耗,进而提高了ethercat从站的工作效率。

附图说明

图1为本发明一实施例ethercat从站中fmmu的控制方法的流程图;

图2为本发明另一实施例ethercat从站中fmmu的控制方法的流程图;

图3为本发明一实施例ethercat从站中fmmu的控制系统的结构示意图;

图4为本发明另一实施例ethercat从站中fmmu的控制系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种ethercat从站中fmmu的控制方法,如图1所示,所述方法包括:

s1、获取开始字节比特个数计数器的初始值、字节个数计数器的初始值和结束字节比特个数计数器的初始值;

s2、根据开始字节比特个数计数器的初始值、字节个数计数器的初始值和结束字节比特个数计数器的初始值分别对开始字节比特个数计数、字节个数计数和结束字节比特个数计数;

s3、根据开始字节比特个数、字节个数和结束字节比特个数确定映射激活信号,以使fmmu能够根据映射激活信号得出偏移地址并实现逻辑地址与从站物理地址间的按位映射。

本发明实施例提供的ethercat从站中fmmu的控制方法,其中,fmmu(fieldbusmemorymanagementunit)是ethercat从站控制ip核中的核心模块之一,用于实现主站对从站的逻辑寻址。fmmu实现逻辑地址与从站物理地址间的映射,支持按位映射。fmmu单元由主站配置,并在链路启动中传送给从站设备。每个fmmu单元需要以下配置信息:数据逻辑位起始地址、从站物理内存起始地址、位长度、表示映射方向(输入或输出)的类型位,从站设备内的所有数据都可以按位映射到主站逻辑地址。

具体的,本实施例所述控制方法主要通过fmmu所配置的数据逻辑起始位、数据长度、数据逻辑终止位得出开始字节比特个数计数器的初始值、字节个数计数器的初始值、结束字节比特个数计数器的初始值。然后分别对开始字节比特个数计数、字节个数计数和结束字节比特个数计数并得出字节比特个数、字节个数和结束字节比特个数;然后由开始字节比特个数、字节个数、结束字节比特个数确定映射激活信号。

其中,当开始字节比特个数为0,字节个数为0,结束字节比特个数为0时映射激活信号为0,否则,映射激活信号为1。同时,当映射激活信号为0时,通过物理内存起始位,计算偏移地址;或者,当映射激活信号为1时,对偏移地址进行移位。进而通过物理内存起始地址和偏移地址即可读写单比特读写ram,实现fmmu快速读写操作,提高了所述控制方法fmmu读写操作速度。同时,本实施例所述控制方法还能够减少硬件资源的消耗,进而提高了ethercat从站的工作效率。

可选地,如图2所示,开始字节比特个数计数器获取开始字节比特个数计数器的初始值并根据所述初始值对开始字节比特个数计数,然后根据开始字节比特个数确定开始字节比特个数计数器对应的第一映射激活信号,包括:

获取由主站所配置的数据逻辑起始位并得出开始字节比特个数计数器的初始值;

根据所述初始值对开始字节比特个数计数;

对所述开始字节比特个数做减法,直至开始字节比特个数为0并作为第一映射激活信号。

可选地,当所述开始字节比特个数为0时,用于产生字节个数计数器使能信号的比特个数计数器在每个时钟周期将比特个数加1,其中,

当所述比特个数为7时,则将比特个数计数器置0,并且当字节个数计数器对字节个数计数至0后,则比特个数计数器停止计数并将字节个数计数器使能信号发送至字节个数计数器。

可选地,字节个数计数器获取字节个数计数器的初始值并根据所述初始值对字节个数计数,然后根据字节个数确定字节个数计数器对应的第二映射激活信号,包括:

获取数据长度并得出字节个数计数器的初始值;

根据所述初始值对字节个数计数;

接收字节个数计数器使能信号;

根据所述字节个数和字节个数计数器使能信号将所述初始值减1,直至字节个数为0并作为第二映射激活信号。

可选地,结束字节比特个数计数器获取结束字节比特个数计数器的初始值并根据所述初始值对结束字节比特个数计数,然后根据结束字节比特个数确定结束字节比特个数计数器对应的第三映射激活信号,包括:

获取由主站所配置的数据逻辑终止位并得出结束比特字节个数计数器的初始值;

根据所述初始值对结束字节比特个数计数;

接收字节个数,当字节个数减至0时,将所述结束字节比特个数减1,直到结束字节比特个数为0并作为第三映射激活信号。

具体的,本实施例中所述开始字节比特个数计数器根据所述字节比特个数产生第一映射激活信号;所述字节个数计数器根据所述字节个数产生第二映射激活信号;所述结束字节比特个数计数器根据结束字节比特个数产生第三映射激活信号;并由所述第一映射激活信号、第二映射激活信号和第三映射激活信号联合确定映射激活信号,以使fmmu能够根据映射激活信号得出偏移地址并实现逻辑地址与从站物理地址间的按位映射。一方面,本实施例中通过第一映射激活信号、第二映射激活信号和第三映射激活信号联合确定映射激活信号提高了所述控制方法映射的准确性;另一方面,本实施例仅通过开始字节比特个数计数器、字节个数计数器和结束字节比特个数计数器依次获得第一映射激活信号、第二映射激活信号和第三映射激活信号进而确定映射激活信号,利用优化的逻辑计算减少了硬件资源的消耗。

可选地,所述根据开始字节比特个数、字节个数和结束字节比特个数确定映射激活信号,包括:

判断开始字节比特个数、字节个数和结束字节比特个数是否同时为0,如果是,则映射激活信号为0,然后得出偏移地址;如果否,则映射激活信号为1,然后实现逻辑地址与从站物理地址间的按位映射。

或者,判断第一映射激活信号、第二映射激活信号和第三映射激活信号是否同时为0,如果是,则映射激活信号为0,然后得出偏移地址;如果否,则映射激活信号为1,然后实现逻辑地址与从站物理地址间的按位映射。

可选地,当映射激活信号为0时,得出偏移地址,包括:

接收从站物理内存起始位;

根据从站物理内存起始位计算得出偏移地址。

可选地,当映射激活信号为1时,实现逻辑地址与从站物理地址间的按位映射,包括:

接收从站物理内存起始位和偏移地址;

根据从站物理内存起始位和偏移地址实现逻辑地址与从站物理地址间的按位映射。

本发明实施例还提供一种ethercat从站中fmmu的控制系统,如图3所示,所述系统包括:

开始字节比特个数计数器,用于对开始字节比特个数计数;

字节个数计数器,用于对字节个数计数;

结束字节比特个数计数器,用于对结束字节比特个数计数;

确定单元,用于根据开始字节比特个数、字节个数和结束字节比特个数确定映射激活信号,以使fmmu能够根据映射激活信号得出偏移地址并实现逻辑地址与从站物理地址间的按位映射。

本发明实施例提供的ethercat从站中fmmu的控制系统,仅通过开始字节比特个数计数器、字节个数计数器、结束字节比特个数计数器和确定单元实现了映射激活信号的确定;然而由映射激活信号得出偏移地址,进而通过物理内存起始地址和偏移地址即可读写单比特读写ram,实现fmmu快速读写操作;其中,所述系统能够通过合理的逻辑运算和少量的硬件单元实现fmmu快速读写操作,减少硬件资源的消耗,以及生产的成本。

可选地,如图4所示,所述系统还包括:

倍频器,用于将25mhz的系统时钟倍频至100mhz,以增加fmmu的映射速度。

具体的,倍频器用于将25mhz的系统时钟倍频到100mhz,帧数据进入从站fmmu的数据率为100mb/s,时钟为25m,半字节,进而实现按比特映射(bitwise);并且,将25mhz的系统时钟倍频到100mhz,还能够增加映射速度,进一步提高所述fmmu读写操作的速度。

可选地,所述开始字节比特个数计数器包括:

第一获取单元,用于获取由主站所配置的数据逻辑起始位并得出开始字节比特个数计数器的初始值;

第一计数单元,用于根据所述初始值对开始字节比特个数计数;

第一信号单元,用于对所述开始字节比特个数做减法,直至开始字节比特个数为0并作为第一映射激活信号。

可选地,所述系统还包括:

比特个数计数器,用于在每个时钟周期将比特个数加1,其中,当所述比特个数为7时,则重置为0,并且当字节个数计数器对字节个数计数至0后,则停止计数并将其产生的使能信号发送至字节个数计数器。

可选地,所述字节个数计数器包括:

第二获取单元,用于获取数据长度并得出字节个数计数器的初始值;

第二计数单元,用于根据所述初始值对字节个数计数;

使能信号单元,用于接收字节个数计数器使能信号;

第二信号单元,用于根据所述字节个数和字节个数计数器使能信号将所述初始值减1,直至字节个数为0并作为第二映射激活信号。

可选地,所述结束字节比特个数计数器包括:

第三获取单元,用于获取由主站所配置的数据逻辑终止位并得出结束比特字节个数计数器的初始值;

第三计数单元,用于根据所述初始值对结束字节比特个数计数;

第三信号单元,用于接收字节个数,当字节个数减至0时,将所述结束字节比特个数减1,直到结束字节比特个数为0并作为第三映射激活信号。

可选地,所述确定单元包括:

第一接收子单元,用于接收从站物理内存起始位;

计算子单元,用于根据从站物理内存起始位计算得出偏移地址。

可选地,所述系统还包括:

第二接收单元,用于接收从站物理内存起始位和偏移地址;

映射单元,用于根据从站物理内存起始位和偏移地址实现逻辑地址与从站物理地址间的按位映射。

本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1