FPGA/ASIC技术
工业设计人员可望借助快速建立原形技术和模块基础设计,将马达控制算法移至FPGA SoC环境中,藉此开发出以FPGA SoC为核心的马达驱动系统,从而大幅减少组件数量与设计复杂性,同时降低系统成本并提高性能与稳定性。
自90年代以来,马达驱动开发人员一直采用多芯片架构执行马达电机控制与需求处理。在此架构中,散离数字讯号处理(DSP)芯片负责执行马达控制算法、现场可编程门阵列(FPGA)执行高速输入输出(I/O)与网络协议,而离散型处理器则处理执行控制。随着FPGA SoC的推出,设计人员找到将这些功能合并至单一组件,并整合其他处理工作的方法。组件数量与复杂性的减少,不仅可以降低系统成本,还能提升系统效能与稳定性。
但马达驱动开发人员应如何才能改变既有的设计方法,转而采用FPGA SoC呢?
长期以来,工业设计人员一直采用模型化基础设计,透过模拟和C代码的产生,在数字信号处理器芯片上研发马达控制算法。如今,赛灵思(Xilinx)与数学运算软件开发商MathWorks合作开发全新工作流程,能将模型化基础设计扩展至可支持处理系统与可编程逻辑的FPGA SoC--Zynq-7000 All Programmable SoC。
具备更高处理效能 FPGA SoC适用于马达控制
当前先进的马达控制系统都属于控制算法与工业网络的结合,包括EtherCAT、Profinet、Powerlink以及Sercos III,皆能从运算资源中处理带宽。此外,马达控制系统现可结合包括运动控制层、可编程逻辑控制器(PLC)层、诊断层及用户接口等其他需求,进行节能和维修或远程监控。这些需求能将适合处理系统的组件转化为逻辑分割区与实体分割区,而其他组件则适合于硬件辅助卸除与加速。
马达开发人员所选择的硬件平台应提供稳健的可扩展系统。FPGA SoC能满足以上需求,同时搭配高效能处理系统,以支持连网、动态、软PLC、诊断、远程维护等功能,与可编程设计逻辑结合,加速硬件中关键效能的功能。
在处理方面,FPGA SoC与内建NEON协处理器和浮点扩展的安谋国际(ARM)Cortex-A9双核心处理系统相结合,可加速软件执行速度。在可编程设计逻辑组件方面,则搭配超过44.4万个逻辑单元和二千二百个DSP48区间,能处理大量带宽。利用五个高吞吐量AMBA-4 AXI高速互连,加上可编程设计逻辑与处理系统的紧密结合,相当于三千多个PIN的有效带宽。
运用Simulink/控制系统工具箱 装置与马达模型开发完成
现代控制算法须跨越多个系统时间与系统变量,造成硬、软件分割成为一项严峻、耗时且重复的任务。一个典型的马达驱动,电源频率通常为50~60Hz,经过整流后,形成连续直流(DC)电压。该直流电压转换成变频电压,可控制马达端子所需的功率。此外,控制器必须读取马达基本变量,包括电流和电压。控制器同样须读取或制定马达轴心位置,包括轴心转速和处理来自通讯网络或监视控制器的处理命令。
Simulink提供多域系统仿真和模型基础设计的方块图环境,适用于具有控制算法和装置模型的仿真系统。MathWorks的控制系统工具箱(Control Systems Toolbox)基于Simulink对控制系统建模常用之系统分析、设计与微调的方法,提供多种 「应用」工具。利用Simulink执行系统建模,可加快马达控制系统的开发速度,同时在以下几个方面降低风险:
.降低受损风险
仿真法有助于全新控制系统算法的检验,可降低生产硬件测试前,损坏驱动电子组件、马达及系统其他组件的风险。
.加速系统整合
支持人员必须将控制系统新算法整合至生产系统,这意味着部署新控制器会花费他们已经有限的时间,部署过程也可能变得冗长。
.减少对设备的依赖
生产环境在某些情况下,可能不能使用,例如客制化的驱动电子组件或马达驱动方案尚在开发阶段,或并不在控制系统设计人员可以取得的地方。
基于上列因素,仿真法是进行生产硬件测试的最佳替代方案。Simulink等模拟环境可从既有的马达电机组件构建模块库,提供创建装置模型框架,利用该装置模型对新的控制系统架构进行评估。
将系统模型与快速成型环境及最终生产系统相连接,可进一步降低时程风险。快速成型工作流程帮助算法开发人员在不依赖硬件设计人员的情况下,进行原型设计。算法研究人员可在高度自动化过程中采用特定平台支持套件,将系统硬件和软件组件部署到可编译为特定硬件开发平台的设计模板。硬件与软件设计团队可将这些相同的硬件和软件组件,重新应用于最终生产系统之中,毋须做出任何修改,即可加速研发过程并减少失误。
设计人员可将Zynq-7000 All Programmable SoC/模拟组件智能驱动套件与Simulink及Zynq SoC工作流程相结合,实现马达控制应用的全套快速成型系统。该套件结合Zynq SoC与亚德诺(ADI)最新一代高精度数据转换器及数字隔离器。
梯形马达控制实例介绍
现在让我们透过Simulink仿真将上述工作流程应用于图1中的马达梯形控制系统。藉由仿真装置评估控制器,采用智能驱动套件对该控制器进行原型设计。最后,利用硬件测试的结果来对Simulink模型进行验证。
图1 针对FPGA SoC的MathWorks工作流程,采用C代码与HDL代码生成。
在此实例中,我们使用智能驱动套件驱动以铝盘形式存在的惯性载荷,搭配基础梯形控制器。该控制器的主要组件如下:
.霍尔效应传感器
检测马达位置。
.速度预测器
根据传感器讯号计算马达转子转速。
.六步换向器
根据马达转子位置与转速计算相位电压与变频器所产生的讯号。
.脉波宽度调变(PWM)
透过驱动电路驱动控制器输出。
我们采用适用于控制回路分析的系统行为、控制回路模型。首先,利用仿真对模型进行评估,透过脉波测试,指令设定为150转/秒的转速旋转,持续2秒,然后停止。透过调节控制回路的比例积分(PI)控制器,达到1.2秒的稳定时间,将过冲忽略不计(图2中A标示即为控制回路模拟结果)。
图2 根据硬件与软件仿真模型验证硬件测试结果
设置好控制回路之后,可将控制器置于更加精准的系统模型上进行测试。与控制回路模型相比,系统模型内含更加细化的驱动电子系统模型,更重要的是,系统模型所包含的细化模型可采特定控制器与接口设备执行,包括PWM与霍尔效应传感器处理过程中所使用的准确时序模型。
我们已针对Zynq SoC分割控制器,搭配以1kHz频率在ARM核心上运行的速度控制器与速度预测器、换向器、霍尔传感器,以及PWM均在Zynq SoC可编程设计逻辑上运行。
我们可以对比控制回路和系统模型的仿真结果(图2中B标示即为系统模型结果)。一般来说,两个波形间的相似度非常高,除了马达速率趋进于零时例外。此时,霍尔传感器的粗糙度非常明显,马达轴每次转动只有六个指标的脉冲。这种高保真系统模型7分钟内即可运行一次为时4秒的模拟,对于保真较低的控制回路模型而言,只能运行一次为时7秒的模拟。
上述仿真结果可让控制系统设计人员坚信,控制回路模型对于进一步评估控制器替代方案的准确度高,毋须使用系统模型进行硬件测试,即可验证替代方案。
有了这些发现,我们即可利用智能驱动套件设计出控制器的原型。透过FPGA SoC引导工作流程,利用Simulink模型产生的C与HDL代码,分割成数个针对ARM核心及可编程设计逻辑的子系统(图3)。
图3 分割后的Simulink模型所产生的C与HDL代码
我们按照上述工作流程,使用MathWorks的HDL代码生成器产生将在Zynq SoC组件的可编程设计逻辑中运行的IP核,以在ARM核心上执行程序运行,并在ARM核心与可执行程序之间建立AXI总线接口。
将比特流加载可编程设计逻辑及在ARM核心上执行程序运行后,可进行硬件回路测试。对此测试,我们移除驱动电子系统、马达及传感器之Simulink改良测试平台模型,因为采用硬件回路取代被仿真的装置模型。
为了方便检查测试结果,与模拟结果进行对比,可将Zynq SoC设置成可储存马达轴速度量测及其他在ARM核心内存中的数据(图3中C标示即为硬件测试结果)。这样一来,透过运用脉波输入于测试平台即可在测试结束时,将结果上传至MATLAB处理与可视区,即可在硬件上执行与仿真时相同的测试。原型设计的测试结果与模拟结果非常接近,其中包括因霍尔传感器导致的马达速度实测值中断。
本文简述FPGA SoC的MathWorks工作流程如何利用模型基础设计,实现仿真和原型设计。如继续延伸至生产程序,设计人员可将产生的C和HDL代码导入Vivado设计套件,进而将这些代码与执行程序、联网IP及完整系统执行所需的设计组件进行整合。
全部0条评论
快来发表一下你的评论吧 !