FPGA控制板、基于FPGA的多电机拓扑级联装置及协同控制系统的制作方法

文档序号:20508709发布日期:2020-04-24 18:15阅读:105来源:国知局
FPGA控制板、基于FPGA的多电机拓扑级联装置及协同控制系统的制作方法

本发明涉及多电机组件同步控制领域,尤其涉及一种fpga控制板、基于fpga的多电机拓扑级联装置。



背景技术:

结合当前计算机信息技术和微电子技术发展应用不断成熟,如今步进电机组件的应用范围日益广泛,成熟度不断提升,而步进电机组件作为自动化控制的执行零件,其被应用于各个领域与行业之中,当然很多领域在应用步进电机组件时,需要对多台步进电机组件进行协调精准控制及应用。比如医学显微镜、3d打印等

当然,近年来,随着嵌入式技术和集成化技术的快速发展,使得多路电机组件同步控制系统变成可能。目前,多以arm处理器为核心做同步控制方案,虽然其成本比较低,但是在高精度并行处理上远不如fpga技术,而且其并行化程序的性能取决于程序中串行化部分,程序性能不会随着并行线程数目的提升而不断提升;且线程过多会造成线程间抢占处理器资源,致使并行化性能下降,造成的系统响应延迟和阻塞对于一些既需要复杂计算、又对时间精度要求很高的应用场景而言是不可接受的,可能导致不可逆转的灾难性后果。

fpga(fieldprogrammablegatearray)现场可编程逻辑门阵列是在pal、gal等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,fpga是一种由许多待配置的逻辑门所组成的芯片。与功能由厂商确定的特定应用集成电路芯片(asic)不同,它可以根据不同应用的需要对fpga进行反复配置。由于fpga可以实现在硬件上执行定制算法,而且还可以提供精确的定时和同步,快速的决策以及并行任务的同时执行。因此,其在仪器、消费电子、汽车、飞机、复印机以及特殊应用计算机硬件等各类设备中都有应用。

由于很长一段时间内,对fpga编程的工作只有对vhdl或其他底层设计工具有着深入了解的工程师才可以胜任,但掌握这些工具需要很长时间的学习和积累,所以这一定程度上限制了fpga的发展应用,尤其对于中小型企业来说应用成本很高,往往不愿意开发自己的基于fpga的系统。而labview图形化工具面世后,其附加的labviewfpga模块可以对fpga的逻辑功能进行重复定义,而不再需要有关其他设计工具的知识,就可以对设备上的fpga逻辑功能进行配置。这使得测量和控制工程师可以专注于他们所擅长的测试和控制应用,而不必考虑如何在芯片的各个单元上实现逻辑功能。大大方便了用户开发,也促进了fpga的应用发展,此外,labview图形化编程的并行性非常适合于fpga的并行架构设计,可以实现同步或异步模式的并行任务。

但是,常规的fpga板多是平面连接或借用其他连接工具进行立体连接;对多个电机组件同步运行的精度也不能有效的进行控制,且效率低下。



技术实现要素:

为了克服现有技术的不足,本发明提供一种fpga控制板。

本发明通过包括若干第一接口与第二接口的fpga控制板本体,以解决上述问题。

本发明提供一种基于fpga的多电机拓扑级联装置,包括fpga控制板本体,所述fpga控制板本体包括板体与若干信号接口,若干所述信号接口固定安装于所述板体的边缘处,若干所述信号接口中包括至少一电源接口,所述电源接口用于给所述fpga控制板本体供电;

所述信号接口包括第一接口与第二接口;所述第一接口与所述第二接口分别配置于所述板体的两端面,所述第一接口与所述第二接口分别连接相邻且不同的所述fpga控制板本体的信号接口。

优选地,所述第一接口与第二接口交错安装。

优选地,所述板体为多边形结构,所述板体的每一边至少包括一个所述第一接口与第二接口。

优选地,一个所述板体的所述第一接口对应连接另一个所述板体的所述第二接口。

本分发明还提供一种基于fpga的多电机拓扑级联装置,包括若干所述的fpga控制板本体与若干执行单元,若干所述fpga控制板本体中包括一主控板与若干fpga控制子板,所述主控板发送指令给若干所述fpga控制子板,所述主控板与所述fpga控制子板通过所述信号接口进行拓扑形成拓扑级联结构,所述拓扑级联结构的子级连接若干执行单元。

优选地,所述执行单元包括电机组件,所述电机组件连接于所述拓扑级联结构的最后一级;所述fpga控制子板的母级至少连接所述主控板,所述fpga控制子板的子级至少连接若干所述电机组件。

优选地,若干个所述fpga控制子板通过信号接口连接形成三维立体的网络结构,一个所述fpga控制子板的所述第一接口连接另一个所述fpga控制子板的所述第二接口。

本发明还提供一种基于fpga的多电机的协同控制系统,包括所述的一种基于fpga的多电机拓扑级联装置和控制装置,所述控制装置包括所述拓扑级联结构接收所述主控板的指令,所述拓扑级联结构在同一个时钟周期内创建多个运行路径,以使得若干个所述电机组件同时响应所述主控板的指令。

优选地,所述信号接口为usbtype-c接口。

优选地,所述控制装置还包括限位传感器,所述限位传感器安装于所述电机组件上,所述限位传感器将检测的信号发送给所述主控板,所述主控板发送停止指令给所述电机组件,以使得所述电机组件回到初始位置。

优选地,所述主控板与所述电源接口之间包括电压转换模块,所述电压转换模块用于将所述主控板的电压转换成所述fpga控制子板所接受的电压。

优选地,所述控制装置还包括串口ip核,所述fpga控制子板在进行数据传输时通过调用所述串口ip核并创建fifo队列,所述fifo队列使得数据在传输过程中先进先出。

优选地,所述电机组件与fpga控制子板分别包括电机组件编号标志位与fpga地址位,所述电机组件与fpga控制子板进行指令传输的时候通过所述电机组件编号标志位与fpga地址位进行识别定位。

相比现有技术,本发明的有益效果在于:

本发明公开了一种fpga控制板、基于fpga的多电机拓扑级联装置及协同控制系统,fpga控制板本体包括板体与若干信号接口,第一接口与第二接口分别固定安装于板体的上表面与下表面,通过一个板体的第一接口对应连接另一个板体的第二接口使得fpga控制板本体在进行拓扑连接的时候无需其他连接工具,可自行实现三维立体的网络架构。

若干fpga控制板本体通过若干信号接口进行拓扑形成拓扑级联结构,拓扑级联结构通过并行处理方式使得若干电机组件被同时控制,提高多电机组件同步控制的精度,拓扑级联结构的fpga主控板将总的控制信号逐层分发到下层,若干个电机组件同时响应主控板发送的指令。

若干fpga控制子板通过并行的方式进行信号处理不仅可以提高信号处理效率与多电机组件同步控制的精度,还可以避免在其中一个fpga控制子板出现故障的时候不影响其他fpga控制子板的运行。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明的一种fpga控制板的整体结构立体图;

图2为本发明的一种基于fpga的多电机拓扑级联装置的部分立体示意图;

图3为图2的a处的放大图;

图4为本发明的一种基于fpga的多电机拓扑级联装置的一个fpga控制板与一个电机组件的连接关系示意图;

图5为本发明的一种基于fpga的多电机拓扑级联装置的电机通讯指令说明示意图;

图6为本发明的一种基于fpga的多电机拓扑级联装置的电机组件的示意图;

图7为本发明的一种基于fpga的多电机的协同控制系统的示意图;

图8为运用本发明的多电机拓扑级联装置形成的拓扑级联结构;

附图标记:100、拓扑级联结构,10、fpga控制板本体,110、电源接口,120、第一接口,130、第二接口,140、板体,20、电机组件,210、驱动组件,220、展示面板。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

本发明提供一种fpga控制板,如图1所示,包括fpga控制板本体10,fpga控制板本体10包括板体140与若干信号接口,若干信号接口固定安装于板体140的边缘处,若干信号接口中包括一电源接口110,电源接口110用于给fpga控制板本体10供电;信号接口包括第一接口120与第二接口130;所述第一接口120与所述第二接口130分别配置于所述板体140的两端面,所述第一接口120与所述第二接口130分别连接相邻且不同的fpga控制板本体10的信号接口。在一个实施例中,通过在板体140的上、下表面分别固定安装若干第一接口120与第二接口130,通过一个板体140的第一接口120对应连接另一个板体140的第二接口130使得fpga控制板本体10在进行拓扑连接的时候无需其他连接工具,可自行实现三维立体的网络架构。

第一接口120与第二接口130交错安装,在若干fpga控制板本体10进行连接的过程中可以增加其稳定性,另外还可以使得在安装的过程中更加的方便快捷。

板体140为多边形结构,板体140的每一边至少包括一个第一接口120与第二接口130。优选地板体为矩形,板体140的每一边至少包括一个第一接口120与第二接口130。板体140的每条边至少包括两个信号接口即第一接口120与第二接口130,四条边其中一条边还包括一个电源接口110。优选地,每条边上包括两个信号接口即第一接口120与第二接口130,电源接口110安装于四条边中的一个边上即一共有九个信号接口。根据需要的电机组件的数量对fpga控制板本体10进行拓扑,若干个fpga控制板本体10通过第一接口120与第二接口130进行拓扑连接,形成的拓扑级联结构100。

若干个信号接口中包括一电源接口110,在本实施例中,电源接口110的数量优选为一个,当控制系统的fpga控制板本体10数量较少时一个电源接口110连接主控板,主控板为控制系统中的若干fpga控制板本体提供电源;当控制系统中的fpga控制板本体10数据较为庞大,主控板无法提供较大数量的fpga控制板本体10的供电,则每个fpga控制板本体10的电源接口可连接专有的供电设备,电源接口的设置增加控制系统的灵活性。

本发明提供一种基于fpga的多电机拓扑级联装置,如图2、图3所示,包括若干fpga控制板本体与若干执行单元,若干fpga控制板本体中包括一主控板与若干fpga控制子板,主控板发送指令给若干fpga控制子板,主控板与fpga控制子板通过信号接口进行拓扑形成拓扑级联结构,拓扑级联结构的子级连接若干执行单元。在一个实施例中,fpga控制板本体与外部设备连接均使用信号接口优选usbtype-c接口来实现,例如相邻的两个fpga控制子板之间的连接,fpga控制子板与执行单元之间的连接,fpga控制子板与主控板之间的连接等。fpga控制子板通过信号接口进行拓扑形成拓扑级联结构,在拓扑级联结构的子级连接若干执行单元,当需要更多执行单元的时候可以继续在最后一级的fpga控制子板上进行拓扑。

具体地,如图6所示,嵌入式计算机将输入的图像像素映射到若干电机组件20上,电机组件包括驱动组件210与展示面板220,每一个电机组件20映射图像像素中的一个像素点,以使得输入的图像通过若干电机组件20驱动展示面板220不同的运动获得立体展示图。每一个电机组件20对应一个输入的图像的像素点,电机组件20接收主控板的指令,电机组件20根据接收的指令通过驱动组件210驱动展示面板220运动,其中指令包括步进量、运动的速度、运动方向等;整幅图像包括若干像素点对应若干电机组件20,嵌入式计算机解析输入的图像的灰度值以发送指令给各个电机组件20,以使得每个展示面板220按指令运动一定的步进量,最终在级联板上显示出立体效果图,立体效果图将根据输入的图像的不同而呈现不同的效果。

拓扑级联结构即若干个fpga控制板本体连接形成三维立体的网络结构,这种网络架构类似于“类脑”结构即模拟人脑的运算而形成的结构,每个fpga控制子板可以看成一个个独立的神经元,并且可自定义其功能,任意两个fpga控制子板可以进行通信,该网络结构无需额外的固定通过自身的连接即可形成一个庞大复杂的硬件神经网络结构。

执行单元包括电机组件,电机组件连接于拓扑级联结构的最后一级;fpga控制子板的母级至少连接主控板,fpga控制子板的子级至少连接若干电机组件。在一个实施例中,执行单元优选为电机组件,且电机组件连接于拓扑级联结构的最后一级,fpga控制子板的母级连接有其上一级的fpga控制子板或主控板,还连接有与其平级的fpga控制子板,当然至少包括主控板;fpga控制子板的子级连接有下一级的fpga控制子板或电机组件,还连接有与其平级的fpga控制子板,当然至少包括电机组件。fpga控制板在进行配置的过程件明确自身所处的位置即其母级、平级、下级分别是什么。

本发明还提供了一种基于fpga的多电机的协同控制系统,如图7所示,包括一种基于fpga的多电机拓扑级联装置和控制装置,控制装置包括拓扑级联结构接收主控板的指令,拓扑级联结构在同一个时钟周期内创建多个运行路径,以使得若干个电机组件同时响应主控板的指令。在一个实施例中,主控板为嵌入式计算机,嵌入式计算机是一种小巧而且坚固的工业化控制和采集系统,采用fpga技术实现超高性能和可自定义功能,该嵌入式计算机可以使用高效的labview图形化编程工具及配套的fpga模块进行快速开发,其工作性能和优化特性可与专门定制的硬件电路相媲美。主控板与电源接口之间包括电压转换模块,电压转换模块用于将主控板的电压转换成fpga控制子板所接受的电压。在本实施例中,主控板为嵌入式计算机,通过转换模块将嵌入式计算机的5v电压装换位fpga控制子板所需的3.3v电压,即所有的fpga控制子板的usbtype-c接口均为3.3v电压。

拓扑级联结构在同一个时钟周期内创建多路循环结构,以使得若干电机组件同步运行,利用labviewfpga开发模块在fpga程序中采用同一个时钟周期创建多路while循环,每个循环初始化时将dir、clk置为f,电机组件此时处于空闲状态,当接受到正转或反转指令时,程序跳转到相应步骤中,此时clk引脚将按照设定的脉冲数进行发送高低电平,同时正转时方向置为t,反转时方向置为f,当接收到复位指令时,fpga将发出连续脉冲给电机组件,直到检测限位开关信号为高电平时,发送脉冲停止。整个过程,数据传输将通过调用labviewfpga的专用串口ip核来实现。

控制装置还包括串口ip核,fpga控制子板在进行数据传输时通过调用串口ip核并创建fifo队列,fifo队列使得数据在传输过程中先进先出。通信接口为usbtype-c接口,usbtype-c接口利用labviewfpga模块设计串口通讯协议,其中包括串口打开、写入、读取以及关闭操作,每个协议都是在fpga编译层调用,协议封装完后要执行编译系统,编译成功后加载到fpga芯片中进行通讯。本实施例中的封装解决了传统的verilog语言的封装要求高、维护难等问题,将目前常见的外设和总线协议,例如ad、da、usb、千兆以太网、iic、spi、ssi、camera、串口通信、sd卡读写、编码器采集、rtc、eeprom、flash、vga、pid、fft等平时用到的全部利用verilog重构一遍,这样封装好的ip核执行效率高于labview自带的通讯ip核。fifo队列使数据先进先出,不会造成数据丢失,每个数据25个电机组件按照统一指令同时响应操作。

具体地,还包括手持终端,手持终端连接主控板,主控板接收手持终端发送的指令。在一个实施例中,手持终端包含电机组件步进量设置模块、速度设置模块、方向控制模块、步进显示模块、手柄控制模块,优选为有线手柄,有线手柄通过usb与嵌入式计算机相连,有线手柄通过按键发送指令实现对系统的控制。控制系统的操控过程通过对有线手柄按键的自定义,利用软件协议进行指令解析以实现手柄操控软件,这样大大提升了设备的操控感以及便捷性。手柄也可通过无线手柄来完成系统的操控,实现无线连接为现有技术,例如通过蓝牙。

控制装置还包括限位传感器,限位传感器安装于电机组件上,限位传感器将检测的信号发送给fpga控制子板,fpga控制子板发送停止指令给电机组件,以使得电机组件回到初始位置。fpga控制子板接收到限位传感器发送的检测信号时,即fpga控制子板接收到复位指令,fpga控制子板发送停止指令给电机组件,电机组件复位。电机组件包括驱动块与电机,驱动块用于驱动电机转动;驱动块包括驱动芯片与供电模块,驱动芯片分别连接fpga控制子板的信号引脚与电机,供电模块用于给驱动芯片供电。在一个实施例中,如图4所示,电机优选为步进电机,步进电机组件的蓝、黑、红、黄线分别连接驱动块的驱动线a+、a-、b+、b-,驱动芯片上的24v供电引脚与直流电源相连接,驱动芯片上的dir与fpga控制子板上的gpio引脚的dio0相连,驱动芯片上的clk与fpga控制板上的gpio的dio1相连,电机组件上的限位开关与fpga控制子板上的gpio的dio2相连,这样一个电机组件总共需要三个gpio的引脚,一般地,fpga处理器的每个usbtype-c接口有24个gpio引脚,其中4个引脚接地,4个引脚用于供电,还剩余16个引脚,所以每个usbtype-c可以连接5个电机组件,优选地每个fpga芯片板可以挂载5×5=25个电机组件,如果需要更多的电机组件同步,需将fpga控制子板通过usbtype-c接口进行级联拓展,大大提升了系统的可扩展性。

如图5所示,电机组件与fpga控制子板分别包括电机组件编号标志位与fpga地址位,电机组件与fpga控制子板进行指令传输的时候通过电机组件编号标志位与fpga地址位进行识别定位。在一个实施例中,单个电机组件通讯指令通过串口方式传输至下位机,每条指令包括帧头、帧尾、fpga板地址位、电机组件编号位、停止或开启标志位、正转或反转标志位、正转或反转周期位、步进量,其中当级联多个fpga控制子板时,系统通过解析fpga地址位进行指令传输,同样不同的电机组件指令也是通过解析电机组件编号标志位来完成数据传输,这样确保了整个系统的指令逐级往下传递,有效的避免了指令的串扰现象的发生。

运用本发明的一种基于fpga的多电机拓扑级联装置对安装有9600个电机组件的拓扑级联结构,如图8所示,具体如下:

9600个电机组件根据嵌入式计算机输入的图像像素值来调控每个电机组件移动的步进量,最终模拟出120*80像素的三维立体图,三维立体图根据嵌入式计算机输入的图像的改变而改变。

拓扑级联结构的第一级为主控板,第一级即图中的1的主控板通过usbtype-c连接四个第二级即图中2-1、2-2、2-3、2-4的fpga控制子板,其中还包括电源接口的连接(图中未显示);第二级的四个fpga控制子板每一个都拓扑出四个fpga控制子板即第三级即图中的3-1至3-16一共有十六个fpga控制子板;同样的在第四级将有16x4=64个fpga控制子板在图中只显示了其中的四个即4-1至4-4,在第三级中的十六个fpga控制子板都将拓扑出四个fpga控制子板一共有六十四个,第五级将有64x6=384个fpga控制子板图中也是部分显示。这样,该拓扑级联结构一共用到1+4+16+64+384=469个fpga控制板。其中第五级即5-1至5-6是整个拓扑级联结构的最后一级,最后一级通过usbtype-c连接若干电机组件,图中显示部分电机,由上文可知,每个usbtype-c接口可以连接5个电机组件即电机1、电机2、电机3、电机4、电机5,而每个fpga控制子板有8个usbtype-c接口,故每个fpga控制子板可连接40个电机,但是每个fpga控制子板还需要通过usbtype-c连接上级、下级以及平级的fpga控制子板,故本例中的每个fpga控制子板连接有5个usbtype-c接口,而每个usbtype-c接口可以连接5个电机组件,因此每个fpga控制子板可以连接5x5=25个电机组件,在最后一级一共有384个fpga控制子板,可以连接384*25=9600个电机组件。

需要说明的是,在本实施例中一个fpga控制子板有9个usbtype-c接口包括其中一个为电源接口,在第二级与第三级中每个fpga控制子板并没有将8个usbtype-c接口全部进行利用出现了接口的冗余,这将依据拓扑级联结构需求的电机组件的数量,根据具体的需求进行合理拓扑。

还需要说明的是,在若干fpga控制板的配置过程中,对每一个fpga控制板进行配置明确fpga控制板所处的位置,即明确每个fpga控制板的上级、下级以及平级。

以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。

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