您的位置 首页 FPGA

使用嵌入式ARM+FPGA完成工业CT运动控制系统规划

1 引言工业CT 机运动控制系统往往需要对多个轴的运动进行精确、实时控制,在以往的系统中多采用工控机

1 导言

工业CT 机运动操控体系往往需要对多个轴的运动进行准确、实时操控,在以往的体系中多选用工控机+多块板卡的结构进行运动操控器的规划。跟着工业CT 机全体功用日趋杂乱,全体体系对运动操控体系的体积、本钱、功耗等方面的要求越来越严苛。另一方面,运动操控体系操控的轴数越来越多、操控精度要求越来越高、操控方针的实时性要求越来越强。

现有的工控机+多块板卡组成的操控体系逐步呈现出运动操控方面的下风。ARM+FPGA的硬件计划,将工控机从现有的运动操控体系中解放出来,取而代之的是体积小、功耗低、功用强的ARM 处理器。强壮的嵌入式Linux 操作体系确保ARM 处理器的功用能够发挥到最佳。

2 硬件体系要害技术规划与完结

本体系选用ARM+FPGA的结构进行运动操控体系的规划,与现在运用中常见的IPC(IndustrialPersonal Computer)+板卡的运动操控体系比较具有以下长处:

(1) 选用FPGA 完结运动操控细节使命,完结硬件软化的规划思维。即具有软件可编程、可重构的特性,又有硬件高功用、高牢靠、高一致性的长处。

(2) 选用嵌入式运用计划与现有IPC+板卡结构比较不论从体积、本钱、仍是功用方面比较都具有较大的优越性。

(3) FPGA 具有高速并行的履行才能,体系的实时功用得到较大的进步。

(4) 将ARM 中操作底层硬件的驱动程序进行打包,便利运用程序调用,能够较快完结用户的二次开发。

2.1 硬件体系全体规划

工业CT 运动操控体系结构如图1 所示。该体系以Atmel 公司一款ARM9 核处理器AT91RM9200和Altera 公司的Cyclone 系列芯片EP1C6Q240C8 为中心。ARM9 作为主控芯片担任整个体系的操控,经过AHB[3]总线和谐与FPGA 之间的数据交换,并将接纳到的数据经过网络发送到工业操控核算机进行图画的处理与重建。FPGA 则担任接纳数据收集体系的串行数据,并把其转化成并行数据存入FPGA 的RAM 中,一起对ARM 宣布中止请求呼应,告诉ARM9 读取。AT91RM9200、SDRAM、FLASH 以及电源等根本外围电路构成嵌入式Linux 运转的最小体系,而FPGA 最小体系则由EPlC6Q240C8、时钟电路、装备接口等组成。然后两者经过高速AHB 总线进行衔接,完结数据的快速传输。

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

图1 工业CT 运动操控体系结构图

2.2 ARM 与FPGA 接口规划

在体系中ARM 作为通用处理器,用来完结体系使命的触发、体系指令的发送和使命的调度等功用。

FPGA 作为ARM 的外设,用来对ARM 经地址数据总线传送过来的指令进行解析,并终究依照ARM 指令的要求,完结脉冲发送和脉冲计数的功用及详细的运动操控细节使命。

两块FPGA经过各自的地址/数据总线与ARM的地址/数据总线衔接起来,两边能够进行双向的数据交换。

ARM 与FPGA 经过地址选通信号线衔接起来,两块FPGA 各自作为ARM 的外设芯片,运转在独立的地址空间,地址选通信号结合地址总线完结ARM对 FPGA 内部寄存器的寻址。

3 软件体系要害技术规划与完结

体系软件全体选用分层思维进行规划。整个体系软件主要由宿主机操作体系、宿主机开发软件、方针板操作体系、方针板底层硬件驱动程序、方针板运用程序、HDL 硬件描绘言语组成。宿主机操作体系挑选REDHAT-LINUX9.0 版别;宿主机开发软件主要由一些穿插编译环境、汇编和链接东西组成;方针板操作体系选用ARM-LINUX 操作体系;方针板运用程序运用C 代码进行编写;HDL 言语用于对FPGA 的功用进行描绘。

软件体系分层示意图如图2 所示。在宿主机中,穿插编译将要在方针板平台上运转的运用程序代码和底层硬件驱动程序代码打开,然后经过宿主机与方针板之间的硬件接口传递到方针板中,方针板经过底层硬件驱动程序操控FPGA 模块中装备的各功用寄存器,然后完结详细的操控使命。本文要点介绍FPGA内部功用模块的规划及驱动程序接口规划。

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

图2 软件体系分层示意图

3.1 FPGA 内部要害功用模块规划

FPGA 不拿手对数据进行运算处理,但本体系对每个轴的操控都要进行相应的运算,因此在每个轴的操控模块规划中尽量不触及杂乱的算法完结,算法部分留给ARM 进行处理。原则上FPGA 只是接纳经ARM 进行处理过的数据,然后依照ARM 主控单元的处理成果进行处理。

单轴操控模块框图如图3 所示。在每个方位办理单元中都装备了两个计数器:逻辑方位计数器和实践方位计数器。其间逻辑方位计数器的输入端接到脉冲发生器的输出端,其功用是计量从脉冲发生器实践宣布的脉冲数量。实位计数器的输入端接到编码器的输出端,其功用是计量从编码器宣布的脉冲个数。逻辑方位寄存器和实践方位寄存器实践上构成一个闭环体系,前者为闭环体系的输入,后者为闭环体系的输出。当两者的差错规模不超越某一个极限时,在FPGA中对实时的脉冲发送速率进行调理;当两者的差错超越某一个设定的规模时,FPGA 向ARM 发送一个中止请求。当某个轴接纳到减速信号SD 或许极限到位信号EL 时,在FPGA 内部经过相同一个中止发生器模块向ARM 发送一个中止。ARM 接纳到中止信号后,敞开运动操控进程,对PID 操控参数进行整定,核算操控量。

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

图3 单轴操控模块规划

3.2 驱动程序接口规划

在体系规划中,两片FPGA 作为ARM 的外设,挂在ARM 的外设地址空间。当ARM 要拜访FPGA时,首要要在ARM 中运转包括FPGA 地点地址空间地址的指令,然后ARM 的片选线选中FPGA,FPGA检测到自己被选中,然后开端检测地址总线上传来的ARM 指令所包括的地址数据。依据从ARM 地址线传来的地址总线上的数据,FPGA 读取从ARM 数据总线上传来的数据总线上的数据,然后开端进行相应的动作,然后完结一次操控使命。寄存器是本运动操控体系的根本组成部分之一,ARM 对FPGA 的操控便是经过装备在FPGA 内部的寄存器来完结的。完结装备的FPGA 全体结构如图4 所示。

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

图4 FPGA 内部结构图

4 操控算法规划与仿真

4.1 单神经元自适应PID 操控器规划

单神经元自适应PID 操控器的结构如图5 所示。

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

图5 单神经元自适应PID 操控器

图5 中,神经元的3 个状态变量分别为:

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

单神经元自适应操控器是经过对加权系数的调整来完结自适应、自学习功用,权系数的调整是依据有监督的Hebb 学习规矩完结的。

操控器的输出为:

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

其间:

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

式(5)中,w'i为加权系数,可在线批改。加权值的在线学习则选用规范化的学习算法,公式为式(6):

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

式(7)中ηi(i = I、P、D ), ηI 、ηP 、ηD 分别为积分、份额、微分的学习速率。

4.2 算法仿真

仿真体系的参数:份额、积分、微分的学习速率分别为 ηP =0.40 ,  ηI =0.35 ,  ηD  =0.40 ,体系初始差错量值设置为1,仿真曲线如图6 所示。从仿真成果能够看出,体系PID 操控参数随体系的运转在线整定,经整定的PID 参数对体系进行操控,体系的差错终究趋于0。

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

图6 单神经元PID 操控差错曲线

5 运转成果

5.1 体系位移调试成果

为了测验运动操控体系的方位操控作用,在电机空载时进行了100 次试验,图7 所示为在试验室中测定的电机空载时的位移测验成果曲线图,各试验数据均是取100 次试验数据的平均值。图7 为各试验数据的曲线拟合图。从图中能够看出,电机空载时脉冲发生器和脉冲计数器的差错曲线阅历了一个堆集的进程,当差错超越设定值0.18%时单神经元自适应PID操控器开端在线整定PID 操控参数,整定成果使体系的差错趋于0。

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

图7 体系位移调试成果

5.2 体系速度调试成果。

为了丈量体系的速度呼应成果,体系运用M/T法[7]对速度数据进行丈量,M/T 法的核算公式如式(8)所示:

运用嵌入式ARM+FPGA完结工业CT运动操控体系规划

式(8)中f 为基准时钟频率;P 为光电编码器每转一周发生的脉冲个数;M1 和M2 分别是在相同的时间内对编码器脉冲和基准时钟脉冲进行计数的计数值。

在电机空载时进行了100 次试验,图8 所示为在试验室中测定的电机空载时的速度测验成果,各个参数值均是取100 次试验数据的平均值。图8 中设定速度值对应程序运转时在脉冲发生器中设定的分频系数,驱动器显现电机转速对应设定速度时对应的差错,运用M/T 测得的转速对应读取速度时对应的差错。

图8 电机空载时速度测验成果

6 定论

选用嵌入式计划规划的运动操控体系不论在体积、本钱仍是功用方面,较原有的工控机+板卡的结构均有较大的优势。该体系突破了原有的工业CT 运动操控体系自身固有的一些缺陷,选用嵌入式的ARM+FPGA 解决计划进行规划,操控体系内部选用根据单神经元自适应PID 操控器进行规划。体系运转成果证明计划的可行性。为往后进一步研制具有自主知识产权的根据嵌入式体系的多轴智能运动操控器做了基础性的探究作业。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/91151.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部