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

FPGA在电机控制系统设计中的应用(2)

FPGA在电机控制系统设计中的应用(2)



图5 采用Qsys或者SOPC Builder管理系统互联

Altera的系统集成和嵌入式开发工具帮助设计人员迅速实现处理器与使用DSP Builder开发的硬件加速电机控制算法之间的接口连接。

DSP Builder和 MATLAB/Simulink

电机控制系统设计人员可以采用FPGA中的DSP功能来实现需要大量数学功能的高速电机控制算法。Altera的 DSP Builder在友好算法开发环境中,帮助设计人员生成 DSP设计的硬件表征,缩短了 DSP设计周期。DSP Builder结合了 MathWorks MATLAB®和 Simulink®系统级设计工具以及 Altera Quartus II软件和第三方综合和仿真工具,实现算法开发、仿真和验证功能。设计人员可以组合使用 Simulink模块和 DSP Builder模块以及 IP模块,验证系统级规范,进行仿真。

利用 Altera的集成 DSP Builder工具,设计人员在 MATLAB/Simulink环境中直接对FOC算法进行建模,构建结构图,连接表示系统的基本模块,如图6所示。这一实例中使用的基本模块是 ADD、SUB、MULTIPLY、CONSTANT、COSINE和 SINE。Simulink支持您对模型或者系统算法行为运行比特精度数学仿真。完成了算法开发后,DSP Builder针对您所选择的Altera FPGA器件,自动生成流水线RTL并进行优化。



图6 永磁体同步电机的 FOC实例

这一设计实例还包括位置和速度控制环,支持对转子速度和角度的控制,如图7所示。典型的电机控制 IP系统包括空间矢量 PWM、电流和扭矩控制环以及速度和位置控制环。根据 FPGA和CPU资源的使用情况,设计人员在硬件和软件之间分配这些单元。


图7 永磁体同步电机的位置、速度和FOC控制器

一个典型的传统设计流程包括建立电信号和电机系统模型,通过仿真开发算法,然后,编写C程序,实现算法,在 DSP模块上运行。这一设计流程具有以下缺点。

• 通常以浮点方式实现算法建模,然后转换为定点方式,在 DSP模块中实现。一般以手动方式实现浮点到定点的转换,缩放和上溢保护功能非常复杂。

• 必须针对模型重新验证 C程序。

• 提高算法运行时性能还需要进行以下步骤:

a.手动优化C程序以提高性能。

b.更新到速度更快但是更昂贵的 DSP模块。

c.在多个DSP模块上并行运行算法(如果可能)。

设计人员可以采用 DSP Builder,优化基于 FPGA的 DSP系统设计。DSP Builder优化流水线以及共享资源,生成高效的RTL表征。您可以组合使用现有的 MATLAB功能和Simulink模块以及Altera DSP Builder模块和其他IP内核,连接系统级设计,实现DSP算法开发,如图8所示。利用DSP Builder,系统、算法和硬件设计人员可以共享公共开发平台。


图8 DSP Builder系统级设计

注释:
(1)所使用的PI控制器需要反馈通路以支持要计算的整数部分。这一通路位于DSP Builder模型外部,通过连接测试台和生成的 VHDL中的 I_out端口和相应的 I_in端口来实现。

DSP Builder高级模块库自然支持定点或者单精度和双精度浮点类型的算法建模。设计人员可以使用比要求更高的精度,先在 Simulink中对算法建模,然后,在工具中调整精度,以满足最终要求。DSP Builder具有以下优势:

• 采用高级模块库,以按键FPGA方式实现算法。不需要手动转换步骤。

• 在硬件中运行之前,在 Simulink中直接观察运行时延时、数据吞吐量以及算法应用。采用 Simulink进行设计空间研究,选择最合适的实现方式。

• 在生成时优化并调整基本算子,包括 SQRT和三角等函数,在软件中实现这些算子时,其运行较慢而且时间可变。这一方法提供了可预测的算法运行时间,显著加速了某些算子的运行。

FOC算法基准测试

为展示这些特性和功能,Altera开发了一个基准测试练习,以仿真 FOC算法,对比标准非折叠和折叠实现的结果。FOC算法包括 Park/Clarke变换以及 PI控制模块,它需要加法 /减法、乘法、Sin、Cos算子以及某些常数和饱和逻辑,如图9和图10所示。在一个典型的 FOC控制器中,以 10-100ksps速率对输入进行采样,100MHz FPGA时钟速率很容易达到这一速率要求。在100ksps时,每10ms必须处理一个新采样。将这一处理延时常数保持在最小值,有利于提高控制算法的性能。

测试台包括图10 所示的单元:


图9 简单PI控制器

图10 永磁体同步电机位置、速度和磁场定向控制的控制器
继承事业,薪火相传
返回列表