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

图 3:CAN/EtherCAT 嵌入式系统

评论