Title

怎么把Simulink中的控制算法变成DSP代码

2957次浏览

问题描述

听说Simulink有直接代码生成功能,可以把控制算法模型编译为DSP可以运行的程序。请问如何实现?

头像

刘小康·60.00

2017-01-02 10:27:57提问

请您登录后进行评论!

分数   时间  

全部答案 7

0
已采纳

已采纳

  简单来说只需要在Simulink库中下载DSP中所支持的外设寄存器的库(Support Package)就行啦,然后需要把CCS与matlab链接起来,就可以生成自动生成代码了;

  至于楼上说的通常simulink搭建的模块其表述与dsp语言不同(不支持什么),其实matlab里面的模块都可以生成C语言,只是为了生成代码可读性强,我们一般把控制算法用M语言(matlab function)编程(简单实用);

  至于楼上说的Matlab中转化到DSP代码自动生成流程,其中讲到的都是旧版本的MATLAB与CCS的连接,新版本MATLAB完全不用那样做且更加简单。

  我们先所做的所有实验(交流电机控制以及PWM整流器控制)都是在MATLAB15B跟CCS5.5以上完成的,利用matlab中基于模型设计的方法自动生成所有的C代码,最终建立一个空的CCS工程把matlab自动生成的.out直接加载到CCS中就能做实验,从而省去了寄存器的配置以及把仿真算法重复手动转化成C代码的繁琐过程;我们现在开发产品也是用这种方法,效率比较高,但是需要搭建仿真与实验框架无缝对接,才能生成有用代码,不能生成的代码也用不了。

  其实要想完全弄好自动生成实用的代码,也没那么简单,不是几句话可以说清楚的,有兴趣的同行可以私下联系我或者加我QQ(1622634182)相互交流,祝各位早日摆脱繁琐的寄存器配置工作,全力研究核心算法。


评论 (0)条评论
头像555

  肖博·30.00

2017-03-17 21:05:36回答

0

这个我曾经录了视频,可以私聊。

评论 (1)条评论
头像

  MMC·30.00

2017-01-12 20:51:20回答

你那个能完全做实验?对于电力电子类的各种算法开发要求?  肖博 2017-03-17 21:07:01

0

我也有同样的疑问,不知楼主解决了没有

评论 (0)条评论
头像

  Just_打酱油·0.00

2017-01-06 12:39:09回答

3
已采纳

已采纳

首先,通常simulink搭建的模块其表述与dsp语言不同,不能直接转换;若是控制算法写在m文件里,可以对其进行改写转换,但对其matlab和dsp的熟练程度要求较高。针对题主的问题注释,可行的方法是利用RTW-EC(real-time workshop embedded coder)来生成DSP代码,通过Embedded IDE Link将matlab 与ccs链接,可以利用MATLAB/simulink的模型导出c文件,烧写进TI系列DSP中。

评论 (0)条评论
头像

  xynmxy·0.00

2017-01-03 08:36:17回答

2

网上百度一下,图书馆查一下,很多介绍的

评论 (0)条评论
头像555

  rainbowII·190.00

2017-01-02 18:52:53回答

2
已采纳

已采纳

DSP代码自动生成流程
首先根据系统的设计思路在MaⅡab平台下搭建系统模型(.mdl);其次在Simulink中对于算法进行仿真,在仿真中遇到问题后可以反复修改参数;仿真满意后通过Matlab提供的Real Time Workshop(nw)生成面向r11编辑器的工程文件代码(.p巧),

并进一步完成代码的编译,链接生成DSP可执行机器码(.out),最后下载到目标DSP板上运行,完成系统的开发pJ,流程图如图所示。


1.1ARM自动下载模式

首先选择Target Support Package TC2/C2000Tarlret Preferences中选择F2812 ezdsp模块;其次在F2812 ezdsp模块中配置段存储空间,将代码段和数据段映射到片内RAM中。最后在Real.Time Work—shop界面点击唧e盹code按钮,代码自动生成并下载到RAM中运行。

1.2Flash自动下载模式
首先在T驯口000 1蛳Preb⋯中选抒F2812 ezdsp st日nd山凹。一⋯ng na丑1.Mem叫y模块;其次在该模块中配置段存储空间.将代码段映射到片内Fl础中,数据段映射到片内RAM中。然后点击|2812 ezd叩s山d小ne∞de哪“g n∞h
Me8叮y模块中Pe“ph啪lB选项中na8l-一k日d盯进项,将从11上下载的安装后的n枷812一API—
v210曲加载到sp钟l母AH L抛鲥∞中,这步是能否加载程序到n∞h中的关键步骤。最后在R“一wme‰^s呻界面点击铲㈣∞如按钮,代码自动生成并下载到na小中运行。上述开发过程全部在M811ah/smulink环境下进行,开发人员不需要写任何代码.只需利用洲止的模型模块完成系统设计即可;而且开发人员在系统设计过程可对系统进行仿真验证,保证系统设计的正确性。
具体内容可参照论文《基于MATLAB/Simulink平台下TI C2000DSP代码的自动生成》,知网可以下。祝你好运。

评论 (0)条评论
头像555

  滴答·110.00

2017-01-02 11:08:13回答

6 条记录 1/1 页
Document