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

图1 神经网络的结构原理图
很容易看出,神经网络具有高度的并行性,用FPGA做原型开发与实现是最合适的方案。
上次博文大概介绍了基于FPGA的控制器设计原则,特别是改进算法实现效率的A3原则。本次主要就FPGA在工业控制器设计中的贡献与限制进行讨论。看了看老外的观点,归纳一下,再对比上次我写的博文的观点,差距很大啊;要更加努力学习牛人们的经验,吸收他们的精华!
1. FPGA的应用领域
在设计工业电子电路时,需要考虑一些设计准则,其中较为重要的有设计成本、功耗(在嵌入式系统中尤为重要)、性能等, 还有关键的一点是,选择的硬件技术能够满足算法实现中的具体要求。
接下来具体考虑这些原则在电气控制系统中的应用案例。正如前面的博文所提到的,当今时代,控制器的实现主要有两种硬件解决方案:数字信号处理器(DSPs)与现场可编程门阵列(FPGAs)。因此,设计者需要根据算法的特性(可使用上篇博文中提到的数据流图DFG进行分析)在这两种方案中进行选择。图1给出了选择方法的定性分析。

图1 DSP与FPGA各自的应用领域
世界杯开幕了,大家在赏球的同时,也别忘了我们的“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛啊:祝我们的大赛越来越红火!
上次博文大概介绍了整个控制系统的建模与设计。本次主要就基于FPGA的控制器设计原则进行总体分析。同时介绍了一种国外设计师采用较多A3原则,希望能对大家有帮助。
FPGA技术允许在灵活可编程的环境下开发特定的硬件结构,这一独特的特性设计相比使用微处理器时增加了更多的自由度。然而,在许多场合下,这种结构的开发过于依赖直觉,并不适合实现越来越复杂的算法。所以,为了利用FPGA的优点和它们强大的CAD工具,设计者需要遵循一些有效的设计法则。这些设计法则主要有3个基本原则:控制算法的改进、模块化以及将要被实现的算法与实际硬件间的适配。接下来我们详细讨论这三个原则。
1. 算法的改进
算法的改进是使用FPGA进行设计时的必要步骤。可以使用FPGA进行浮点算术的运算,但是不能做到对资源的优化利用。为了减小开销,制造商要求最终用户设计定点算法的控制器。鉴于这种背景,需要在控制器性能与硬件实现的复杂度之间做出平衡,即讲究成本效率的结构。这促成了两种研究方向:
1) 计算的简化
上次博文简要分析了人们研究使用FPGA来进行工业控制的驱动力,并介绍了FPGA器件与开发工具。随着器件成本的降低和器件性能的上升,FPGA必将在工业控制领域发挥更大的作用。甚至可以大胆猜想,也许有一天,各种携带有PowerPC、ARM甚至是DSP+FPU的FPGA芯片将彻底取代各种单片机、DSP等搭建的控制核心,成为工业控制核心领域的“巨无霸”。好了说了这么多,进入正题,本次主要就整个控制系统的建模与设计方法进行总体分析。同时希望朋友们可以一起思考,为什么老外做的东西经常可以具有创新性、前瞻性,为什么老外要在具体设计之上的高度讨论各种“设计方法学(methodologies)”呢?愿我们可以首先跳出具体的细节,高屋建瓴地把握整个设计的核心,保证大方向,然后再进行具体实现。
上次博文简要介绍了人们研究使用FPGA来进行工业控制的驱动力与FPGA器件与工具的介绍,本次介绍FPGA设计方法论中的FPGA体系及其开发工具介绍。
1. FPGA一般体系结构的描述
正如FPGA被定义为一个可配置逻辑块(CLB)矩阵,各CLB由互连网络相互关联,且这些模块全部是完全可编程的。存储单元的逻辑控制块以及它们之间的连接允许该组件可以满足特定的应用需要。此外,需要灵活的、可再编程的技术对其进行配置,如FLASH、EPROM、SRAM等,这使得FPGA可以像微处理器具有一样的灵活性。因此,本博文的其余部分将只讨论迄今为止应用最广泛的基于SRAM的FPGA技术。(基于闪存的FPGA技术,虽然不具备词综灵活性,但是一些工作环境恶劣的应用中,如航空航天事业对此有很大的兴趣)。图 1为基于SRAM为基础FPGA 的一般结构(http://china.xilinx.com/company/gettingstarted/)。

自从去年7月看了IEEE工业电子委员会发布的一份关于FPGA在工业控制系统中应用与设计的报告之后,发现了FPGA在工业控制,特别是电机驱动领域的巨大潜力,心里便有亲自实践一下的想法;恰逢其时,创新网发布了《FPGA开发全攻略》,提供了引路人的作用, 于是便购买了开发板,基本熟练之后又购买芯片和制作实验板,还专门招了两个大四的保研学生从头培养。因为大家都喜欢Xilinx的芯片,于是所有的设计都是基本基于Spartan平台展开,视具体实现情况考虑是否进入更高端的器件(至少在一段时间之内还暂时不需要更改,因为国外的大牛们好多用一片Spartan3 XC3S400芯片就实验了整个复杂的电机控制算法)。
最新评论
2 天 4 小时之前
2 天 4 小时之前
2 天 5 小时之前
2 天 8 小时之前
3 天 5 小时之前
5 天 3 小时之前
5 天 10 小时之前
5 天 23 小时之前
6 天 5 小时之前
6 天 9 小时之前