从系列:如何在Simulink中开发DC-DC变换器控制金宝app
瓦斯科·伦齐,马修斯
学习如何在嵌入式处理器上实现一个SEPIC数字控制器。该转换器是德州仪器公司DC-DC LED套件的一部分。该微控制器采用美国德州仪器公司的TMS320F28069处理器。一旦你在Simulink中设计并验证了控制器金宝app®,使用嵌入式编码器®生成在嵌入式处理器上实现的代码。
参见一个示例,展示如何安装德州仪器C2000™处理器的嵌入式编码器支持包,以生成针对德州仪器TMS320F金宝app28069处理器优化的代码。使用这个支持包中的块来更新控制器。金宝app支持包还金宝app包括模型中使用的TMS320F28069处理器的驱动程序块。
更新模型后,使用嵌入式编码器生成C代码。代码生成报告在Simulink模型和生成的代码之间提供双向可追溯性,以帮助您更好地理解代码。金宝app请参阅如何为控制器生成算法和驱动程序代码以及如何将此代码部署到嵌入式处理器。在Simulink中使用外部模式以从Sim金宝appulink模型更改LED亮度命令,并验证在嵌入的微处理器上运行的生成代码是如何执行的。
现在是讨论实现的时候了。现在,为了在嵌入式平台上实现电力电子控制,我回到Simulink,我将向您展示这个我称为应用软件的模型。金宝app
在这个模型中,我创建了我的软件架构,可以这么说,我有一个,使用模型参考,我打电话其他模型,实现特定的算法,例如,一些限制我目前的监管逻辑,我们看到的部分在Stateflow工况管理,闭环控制电压,和闭环LED控制器。
您可以在此处看到不同的颜色。这些颜色与特定的计时步骤相关联,这样我们就可以一目了然地看到哪个子系统和不同的模型以何种速率工作,以及它们之间的交互方式。然后,我可以转到“应用”选项卡,打开“嵌入式编码器帮助”,如果我不知道如何启动或如何启动ne将成为我的硬件平台,我可以从嵌入式编码器快速启动。
它会分析这个系统。你可以指定你想生成哪种代码,C, C AUTOSAR, c++, c++ AUTOSAR,有多少实例,所以你想使用一个,或者它会有一些重用。分析这个模型,看看系统中有多少采样率,如果有任何连续状态。最后,它会问我,我想让这是一个多任务处理速度单调的系统,还是我有一个执行时间最快的单任务,我想优先执行还是优先内存。
最后,它会在代码生成时为我的参数提供一些新值。你可以在这里看到。我们有22个参数。实际上,您可以参数化成百上千的代码,以得到您想要的精确代码。对于嵌入式编码器,我们建议您参加我们的培训。
现在,我们实现了一个新功能,即能够与代码接口并排查看代码和模型。在这里,我可以选择我的代码接口,然后代码会在旁边弹出,并允许我在模型和代码之间进行双向跟踪。如果我回到我的闭环控制系统,例如,如果这个开关,这里的代码将自动转到为这个子系统生成的C代码,我将看到开关实际上是如何实现的,这个开关是如何实现的。我可以找到我可能更感兴趣的代码的单个部分。
这是了解嵌入式代码生成如何工作并快速查看参数配置将如何影响生成代码的好方法。如果我正在使用开发板,比如我为德州仪器C2000准备的那个,我实际上可以去Add-Ons选项卡,搜索硬件类型,例如,这里我可以搜索C2000,并下载嵌入式编码器的特定硬件支持包。金宝app有针对C2000的,但也有针对很多其他平台的,比如STMI、ARM处理器、Raspberry等等。所以实际上,有很多硬件支持,金宝app
这就给了你驱动程序块,以及生成可执行文件的能力,并直接从我的嵌入式硬件中刷新它。
因此,多亏了自动代码生成,我们可以部署到任何具有最佳类性能的处理器上。模型可以为PLC或工业计算机生成结构化文本,可以为FPGA生成HDL代码,可以为gpu和嵌入式gpu生成CUDA代码,也可以为嵌入式处理器或计算机处理器如Intel或AMD生成C代码或c++。
这种技术不仅允许您通过闪烁特定的板连接到硬件,如来自TI的一个不管您的包,但MATLAB和Simulink,总的来说,他们与硬件一起工作得很好。金宝app您可以直接连接示波器。你可以连接数据采集设备,你可以连接你的Simulink模型与数字网络,如OPC和can。金宝app你已经为这些硬件集成了工具箱。所以,如果硬件对你很重要,请看看我们支持的所有不同的硬件。金宝app让你的实验室生活更轻松。
另一件事是当您开始生成代码时,您的项目正在进行生产,然后您需要专业的能力来管理您的文件和模型。为此,您有一个Simulink项目,它允许金宝app您将其他文件在单个实体中连接在一起,如Simulink项目升级,如Simulink Project升级,它将帮助您始终保持最新版本。
金宝appSimulink Project是来自MATLAB的一个基本特性,不需要任何其他工具箱。同样,在Simulink项目中,您可金宝app以集成虚拟控制,然后您可以轻松地访问Simulink图形模型比较和合并。这是在Simulink中包含的,自2017B以来不需要额金宝app外的工具箱。
在此之前,您将需要Simulink报告生成器,但我们决定后退一步金宝app,将它自己放到Simulink产品中。所以如果你仍然没有17B,这可能是一个很好的理由。你不需要任何额外的工具箱。您可以简单地使用Simulink Pr金宝appoject并开始分析不同版本的系统。
当我们转到验证时,我们提供了许多您可以使用自动代码生成的不同事物。其中之一是循环软件,在那里我们生成算法的代码,并且嵌入在闭环仿真中的嵌入式,因此您可以测试生成的代码是否在功能上等同于模型。
你可以做循环中的处理器或循环中的FPGA,在循环中算法将在支持的板上闪现,然后连接处理器,处理器将在运行时工作,将反馈模拟结果,并将进行这种非实时功能验证,还将进行性能评测,以便你能够实际地准确评估绩效的准确金宝app性以及您有多少可用资源。
第三个是硬件在环,你的算法在处理器上工作,你的工厂模型从Simscale Electrical生成代码。仍然可以从Simscape生成代码,并将其放到实时机器上,例如,来自Speedgoat的机器。我们询问了我在Speedgoat的合作伙伴Carlos Villegas,他给了我一些幻灯片和关于这个SEPIC例子的硬件在环的例子。
Speedgoat是一家由Mathworks在瑞士的副公司,为硬件循环和快速原型提供实时解决方案。在这里,我们可以看到自己提供的模型所做的事情。他们使用Simscape到HDL技术,以不同的操作线性化SEPIC
点,然后能够在FPGA上闪烁它。因此,我们提供了一个工作流程,允许您从Simscape模型到HDL代码。
然后这个在FPGA上运行的HDL代码允许我们测试我们的算法仍然是100千赫的PWM信号,这是非常快的。所以我们需要在200兆赫时有一个非常高的分辨率捕获,然后让模型在我们的FPGA上运行至少2兆赫,这是他们可以实现的。我们可以在这里看到一个例子y与我分享,他们首先将一个模型部署到嵌入式目标,如TI,然后我将比特流部署到speed机器上。
最后,你可以在右边看到他们的示波器,它记录着不同的电压。它们现在要增加电压。我们可以看到参考电压是9点——或者18电压,电压和输出电压会改变到18,你可以看到不同电压的PVM信号捕获所有的常见的电容器或半工作在100赫兹。
这是另一个非常有趣的工作,你可以重用你做过的一些模型,把它们转换成HDL,提供高频切换系统的闭环功能。现在可以在检查器中看到系统的行为几乎和我在模拟中一样。
我们的会议到此结束。再一次,让我展示一下我们今天所做的工作。我们基于德州仪器的硬件模型对SEPIC进行了建模。我们对控制逻辑和监控逻辑进行了编程和调谐。然后,我们生成C代码,并使用其他支持包将其带到这些硬件上,就像我们现在看到的那样。金宝app
在这种情况下,我们可以使用我们的控制设计调谐功能与系统识别相结合得出的参数,将LED电流控制到6000万对,这样我们就可以使用高保真模型,切换线性组件,以获得控制设计的最佳参数。
一个例子,我们的客户使用这个工作流,ABB,众所周知的能量变换社区,和罗伯特·特纳从ABB新西兰博士说,模拟和代码生成使我们迅速扭转的变化,消除人为错误编码和开发人员的生产力很容易增长十倍。这是世界领先的电力电子公司之一强有力的声明。
最后,让我重复三个关键要点。我们的解决方案中有图形化编程Stateflow Simulink,非常直观和强大,最先进的技术,如解算器和控制设计技术,有助于您的团队开发的这个复杂系统的设计验金宝app证,本质上是多学科的这将允许您尽早发现设计错误,并在提高质量的同时降低开发成本。
我想在我的中心为我们的电力电子控制社区做一个欢呼。您有他们的模型、答案、视频方法以及与来自MathWorks和行业的其他电力电子专家交互的能力。非常感谢您的参与,请注意安全,下次再见。
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。