新闻中心

EEPW首页>嵌入式系统>设计应用> 基于FPGA的电机智能驱动控制系统设计

基于FPGA的电机智能驱动控制系统设计

作者: 时间:2011-07-28 来源:网络 收藏

  根据 PLC 的组合以及器的类型(CAN 或 EtherCAT),工业网络或为串行总线,或为标准的100Mb 以太网接口。对这两种解决方案,该原型在 PLC 和电机之间均使用直接连接,或为用于 CAN 的双线串行接口,或为用于 EtherCAT 的标准 RJ45 100Base-TX 以太网连接。

  电机控制 PCB 板一般是器中众多 PCB 板之一,专门用于根据来自 PLC 的命令对电机进行控制。该电机控制 PCB 板可以让 FPGA 充分发挥其灵活性。与常规 ASIC/微处理器方案中采用的单接口、单电机控制算法解决方案不同,Spartan-6 FPGA 可以用专用网络和电机控制 IP 模块和控制软件重新编程,以满足客户的特定需要。采用这种方式,一块 FPGA PCB 板就可以实现多块 ASIC 板才能实现的功能。同时,它还提供了可以根据最新标准更新 IP核的机制,实现面向未来的器。

  该电机控制板的设计无需从头开始,赛灵思设计服务部采用目标设计平台概念,通过把赛灵思 Spartan-6 SP605 评估套件、NetMot FMC 板和工业网络和电机控制 IP 核结合在一起,集成了客户想要的所有元件,这样在客户完成新 PCB 板之前就交付了这款概念验证原型。图2 显示了如何把各个组件结合在一起,实现原型开发平台。最终,客户的集成工作大为简化,无需对最终设计进行重新工程设计,就能够探求最佳的设计选择。

基于FPGA的电机智能驱动控制系统设计

  图2:基于 Spartan-6 FPGA 的电机控制板原型

  图2 中文字:

基于FPGA的电机智能驱动控制系统设计

  SP605 基础目标设计平台是一种通用 FPGA 平台,在业经验证的设计实现中集成了一个 Spartan-6 LX45T 和许多常用外设,比如 DDR3 RAM、程序/比特流存储用闪存、调试用 UART 以及 FPGA 编程用 JTAG。SP605 及所有最新赛灵思开发板的另一个关键元件是 FPGA 夹层卡 (FMC) 接插件,它可以让设计人员使用定制的功能和接口扩展基础开发板。

  SP605 的这种特性使我们能够使用 QDeSys NetMot FMC(www.qdesys.com)的功能来扩展这个基本平台。QDeSys NetMot FMC 具有电机控制所需要的电力电子元件,比如电压逆变器,以及用于采集传感器数据的模数转换器 (ADC)。可以把电机直接与图 2 所示的输入/输出端相连。NetMot FMC 还通过添加两个 CAN 接口和两个以太网物理层接口,扩展了 SP605 的工业网络连接功能。它们通过 FMC 接插件和 PLC,通过标准接口访问FPGA。

  测试用 PC 机一方面用作 PLC 软件的主机,另一方面通过 UART 和 JTAG 接口,用作 FPGA编程/调试平台。此外,我们还在这台测试用 PC 机上用赛灵思 ISE?12.1 设计套件为 SP605的 LX45T PFGA 开发MicroBlazeTM处理器系统。该系统负责处理来自 PLC 的命令并相应地对电机进行控制。

  图 2 所示的 MicroBlaze 软件应用、网络和电机控制 IP 模块代表随接口(EtherCAT 或 CATopne)和选择的电机类型会发生变化的设计模块。赛灵思设计服务部面临的主要挑战之一是要确保这些选项之间的切换尽量简化,从而保证客户能够在将来把相同的方法重复用于诸如 Profinet 更先进的工业网络类型以及新型电机中。

  3 实现细则

  让我们来详细查看 Spartan-6系统的各个组成部分。如图 3 所示,我们使用的电机控制 IP 模块——赛灵思电机控制库 (XMCLIB) 在两个设计版本中是完全相同的。这个定制 IP 核可以直接插在赛灵思嵌入式开发套件 (SDK) 上,让 FPGA 控制 NetMot FMC 的电机电力电子系统。这样我们就可以把 IP 核添加到 Xilinx Platform Studio (XPS) 项目的嵌入式设计中,并对其进行配置,使之适用于通过 FMC 接插件连接到 FPGA 的电机。XMCLIB 软件驱动程序是一套底层功能,使电机控制应用能够访问 XMCLIB 寄存器接口。

基于FPGA的电机智能驱动控制系统设计

  图3:CAN/EtherCAT 嵌入式系统

基于FPGA的电机智能驱动控制系统设计

  另一方面,网络 IP 核也是两个系统版本的不同之处。对于 CAN 版设计,我们选择标准的 LogiCORETM IP XPS 控制器区域网络,该网络随同 ISE 12.1 设计套件提供,并由博世公司许可。对于 EtherCAT 版设计,我们使用倍福公司针对赛灵思 FPGA 开发的 EtherCAT 从控制器IP核 (www.beckhoff.com)。两种 IP 核在 XPS 工具的 IP 目录标签上都有提供,使设计的集成和配置工作异常简单明了。在本案例中,我们没有使用简单的驱动程序来提供对网络 IP 核的访问,我们使用了Port 公司 (www.port.de) 提供的 CANopen 和 EtherCAT 协议栈解决方案。该解决方案提供了功能齐全的开箱即用型协议实施方案。

  最终,我们设计出了一种定制嵌入式软件应用,可以在运行于 MicroBlaze 处理器系统的 Micrium(www.micrium.com)μC/OS-II 上运行。μC/OS-II 是一种嵌入式操作系统,可增强原型系统的实时功能,并提供多任务、消息队列和信号量等功能。

  我们还意识到,应该让应用的结构能够适用于多种不同的网络接口。为此,我们设计了一个接口抽象层,可以让我们封装通信和软件的电机控制组件。

  在这个接口的一侧(图 4),我们实现了一个网络模块(Port 公司的 CANopen 或 EtherCAT),用以管理系统中可用网络 IP 核的通信。这些模块可以无缝地插入我们的接口抽象层上。在这些协议栈的顶层,我们把通信和控制数据(比如 PDO、SDO 和 NMT 状态交易)传输到抽象层中,然后抽象层将数据进行转译并以诸如启动/停止、以特定速率旋转或旋转到特定位置之类的命令提交给电机控制应用。

基于FPGA的电机智能驱动控制系统设计

  图4:接口抽象层

基于FPGA的电机智能驱动控制系统设计

  为了为接口抽象层确定一组通用信息和命令,我们研究了工业网络领域现有的专着,研读了 IEC 61800-7 标准。对现有的现场总线技术,有几种用于标准化与驱动设备通信的方案(比如 CANopen 使用的 CiA-402、Profinet 使用的 PROFIdrive)。IEC 68000-7标准提出了驱动器的通用表达,并计划提供这种通用表达与现有驱动器特性之间的一组映射。

  IEC 68000-7 标准提出的概念为我们开发接口抽象层奠定了基础,使我们能够对系统的网络组件进行封装。我们因此可以更改系统中的网络接口,而这只需要对软件稍加定制修改,就可以让其与现有的电机控制应用兼容。

  4 展望未来

  这款智能驱动控制系统原型的成功交付清晰地展现了 FPGA 在工业以太网网络、现场总线和电机控制领域的发展潜力。虽然要开发出功能齐全的产品还有一些工作要做,但赛灵思设计服务部已为客户量身定制了一款目标设计平台,并通过性能增强,打造出了一款能够显着降低最终工程产品的开发工作量与风险的定制解决方案。下一步赛灵思设计服务部将考虑扩展该目标设计平台,以支持 Profinet IP 核和协议栈,向客户展现赛灵思设计服务部采用的模块方案和设计实践的效果。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

关键词:智能驱动嵌入式

评论


相关推荐

技术专区

关闭