首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

论工业控制系统的FPGA设计方法(6)- FPGA在智能与复杂控制系统中的应用总结

论工业控制系统的FPGA设计方法(6)- FPGA在智能与复杂控制系统中的应用总结

上次博文大概介绍了FPGA在工业控制器设计中的贡献与限制。本次主要就FPGA在工业系统中应用的典型案例进行归类、总结。
现代电子系统设计中越来越先进的EDA工具包使得将复杂的工业控制算法实现到FPGA中变得越来越容易。因此,越来越多的智能的、复杂的工业控制器开始被使用FPGA设计,因为FPGA具有快速的原型验证能力与高度的灵活性。特别是随着FPGA集成了ARM、PowerPC等硬核之后,FPGA的软硬件协同设计功能变得愈发强大。下面列举了一些使用FPGA实现复杂的工业控制算法的例子,包括神经网络、模糊逻辑控制系统、智能专家系统、可进化式硬件、电机控制器及其接口等
1. FPGA与神经网络(NN)
神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。
为什么要使用FPGA来实现神经网络呢?可以先看一下神经网络的结构图,如图1所示。

图1 神经网络的结构原理图
很容易看出,神经网络具有高度的并行性,用FPGA做原型开发与实现是最合适的方案。
有一本书不知道大家看过没有,是Amos R. Omondi与Jagath C. Rajapakse编写的《FPGA implementations of neural networks》(Springer, c2006.),专门讲了使用Xilinx VirtexII和Spartan3系列芯片来实现各种神经网络。
2模糊逻辑控制系统
随着模糊逻辑控制的发展,简单的模糊逻辑控制器(FLC)在我们的生活中已经无处不在,从空调系统一直到手持的自动对焦相机中都能找到它们。
任何基于模糊逻辑的控制器具有三个组件:模糊化器、规则库和去模糊化器。在将一个明确(数字)输入转变成模糊值并对该值进行处理,然后再将模糊值转变成明确值输出的过程中,每个组件扮演着重要的角色。尽管模糊控制器的实现不尽相同,他们都具有这三个基本部分。

以一个电梯控制的模糊逻辑为例:
IF门打开AND速度为零 AND距离可以忽略 THEN电机转速为0
IF 门关闭AND速度慢 AND 距离大THEN电机转速最大
IF 门关闭AND速度中等 AND距离一般 THEN电机转速一般
IF 门关闭AND 速度快AND 距离一般THEN电机转速一般
用C语言书写时其代码风格如图2所示。

图2 C语言下的FLC风格
这个例子有四个规则,每个规则有四个变量:门、电机、速度、距离(到选定层)。每个规则有三个条件和一个结果,总共有十种情况组成了四个变量的隶属关系集合。例如,速度具有变量0、慢、中等和快速。可变距离具有以下四个值:忽略、很小、一般、大。门要么开要么就是关闭。对于各种隶属集合,电机转速具有0、最小、平均和最大四个变量。
显然这些逻辑判断、多重循环在用DSP实现时的效率是很低的,使用高性价比的FPGA,如Spartan3E可以达到很完美的性能。

3. 可进化式硬件
在人类的科学研究中,有不少研究成果得益于大自然的启发,例如仿生学技术。随着计算机技术和电子技术的发展,许多的科学研究越来越与生物学紧密相联。在人工智能方面,已经实现了能用计算机和电子设备模仿人类生物体的看、听、和思维等能力;另一方面,受进化论的启发,科学家们提出了基于生物学的电子电路设计技术,将进化理论的方法应用于电子电路的设计中,使得新的电子电路能像生物一样具有对环境变化的适应、免疫、自我进化及自我复制等特性,用来实现高适应、高可靠的电子系统。这类电子电路常称为可进化硬件(Evolvable hardware)。
EHW是进化计算技术在系统内部结构的设计、调节、实时自适应等方面的应用,即以进化算法特别是遗传算法作为组合优化和全局搜索的主要工具,以可编程器件作为主要的评估手段和实现载体,寻求在不依赖先验知识和外力推动(如人工干预)的条件下,通过进化来获得满足给定要求的电路和系统结构,甚至使系统自动地、实时地调整(重新配置)其内部结构,以适应内部条件(如局部故障)和外部环境(功能要求或物理条件)的变化。这种动态配置硬件电路的能力是FPGA天生具有的;当然,在现在的FPGA技术下,配置速度慢的问题还有待解决。
4.电机控制与电机接口
作为FPGA领域的领先者,Xilinx 面向工业、科技和医疗(ISM)的 FPGA 和目标设计平台为包括工业成像和监视、工业自动化和医学成像设备在内的大量应用实现了更高的灵活性、更快的面市时间和更低的偶生工程总成本(NRE)(http://china.xilinx.com/esp/ism.htm)。在工业控制领域中,电机系统及其控制又是重点之重点;目前FPGA已经在此领域崭露头角。以ABB公司的独门技术直接转矩控制(DTC)为例,其计算周期极端,同时用非常复杂,用传统的DSPs几乎根本无法实现,这也在一定程度上造成了别人研究、实现与复制的难度。随着FPGA在电机控制中的发展,设计者已经逐渐可以使用FPGA来承担复杂的控制了。图3即给出了DTC控制中电机的磁链、转矩辨识的方案。

图3 电机控制中的磁链、转矩辨识

总结:用了半个多月的时间,学习了老外把FPGA用于工业控制系统设计的思想、方法。我的感觉就是,在需要大规模并行执行,含有大量逻辑、非算数运算,或者需要数量庞大的IO、选线等应用中,使用一片FPGA即可完成非常复杂的操作;随着FPGA集成了PowerPC、ARM等硬核,制约FPGA在工业控制领域发展的重要因素:算术运算、特别是大量的浮点运算,也许在不久的将来就能轻易解决了。下一步就是把我们自己的复杂的闭环控制算法使用FPGA实现了。但愿能够尽早实验成功,以将相关经验、方法拿来讨论。
附件大小1.NNJie_Gou_Tu_.gif18.83 KBTu_2_FLCDe_CDai_Ma_.jpg46.43 KBTu_3_Dian_Ji_Kong_Zhi_Zhong_De_Ci_Lian_Zhuan_Ju_Bian_Shi_.jpg70.93 KB
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表