在FPGA SoC上实现面向场控制
本示例展示了如何通过使用自定义板目标将无刷直流电机的场定向控制(FOC)算法部署到SoC设备。基于Xilinx Zynq UltraScale+ MPSoC的Trenz电子电机控制开发工具包的定制板目标,允许FOC应用程序作为Arm Cortex-A处理器的软件和设备可编程逻辑的硬件的混合部署。本例使用的模型和控制算法划分中开发的一种电机控制算法的软硬件划分的例子。
需求
电机控制开发工具包与Xilinx Zynq UltraScale+ zu22g - 1e MPSoC模块
添加Trenz自定义板支持
这个例子包括createCustomBoard_te0820
脚本和预制te0820_ps.tcl
.通过运行将Trenz自定义板定义添加到SoC Blockset板注册表createCustomBoard_te0820
脚本。
董事会注册文件生成到相同的文件夹。有关如何使用SoC Blockset创建和注册自定义板支持的详细信息,请参见添加一个新的硬件板到SoC Blockset.
使用SoC模型创建者工具,您可以创建一个空模型配置为目标所选的板和参考设计。有关如何创建参考设计的信息,请参见为Zynq工作流定义定制板和参考设计(高密度脂蛋白编码器).然后可以添加模型的其他元素,比如算法。
此示例包括使用SoC模型创建者基于运输参考设计的工具Trenz TE0820与CR00140包含ADC,编码器和PWM组件。
已对模型进行了更新,以包括FOC应用程序的设计元素一种电机控制算法的软硬件划分的例子。在MATLAB®命令提示符中运行此命令打开模型。
open_system (“soc_trenz_top.slx”)
在片上系统Tab,可以看到电流硬件板选择设置为Trenz Electronic TE0820定制SoC板
.
设置Trenz电机控制开发工具包
如图所示,连接Trenz电机控制开发工具包的部分。
5V直流电源
SD卡
用于UART和JTAG的微型USB电缆
以太网电缆
编码器连接器
24V直流电源
电源线(A、B、C)
24V无刷直流电动机
开关1 (S1)控制对驱动板的供电
下载预构建的Linux映像Zip归档从MathWorks GitHub存储库。Linux映像是用Builroot和内核版本4.9构建的。将压缩文件解压到microSD卡上,插入硬件板上的SD卡插槽。
在硬件上实现和运行
点击配置,构建和部署启动SoC Buildersoc_trenz_top
建模并遵循步骤。
在步骤中选择构建操作,选择构建和加载外部模式从Simulink®监测电机运行。打开模拟数据检查器并观察速度指令和电机速度响应。
其他可以尝试的事情
您可以使用Dashboard块从生成的软件模型中交互式地设置参考速度。的soc_trenz_top_sw_exmode
模型仅供参考。