matlab里matlab中的simulinkk所建立的模型能不能用单片机的代码控制呢?

只需一步,快速开始
扫一扫,访问微社区
查看: 3998|回复: 7|关注: 0
simulink中的仿真模型生成C程序导入单片机如何实现?
<h1 style="color:# 麦片财富积分
新手, 积分 7, 距离下一级还需 43 积分
本人对这一块刚刚涉足,想把自己建立的simulink仿真模型,生成C程序,并导入单片机中。不知道都需要什么工具,根据模型转化的源代码想要导入单片机,是不是用相关编译器就可以自动实现? 需要人为修改程序吗? 整个过程需要注意哪些问题??请大家多多帮助,谢谢。
论坛优秀回答者
关注者: 82
作为初学者,你可以下载TSP(Target Support Package)来完成你的研究,就拿Arduino来说,在MATLAB命令窗口输入targetinstaller,选择Arduino的TSP进行安装,安装之后就可以建模并生成代码,并下载到Arduino运行了。代码生成和下载过程都是自动的。
<h1 style="color:# 麦片财富积分
您好,是不是需要先下载TSP,为什么我直接在MATLAB命令窗口输入targetinstaller,提示“未定义的函数或变量“targetinstaller””
<h1 style="color:# 麦片财富积分
作为初学者,你可以下载TSP(Target Support Package)来完成你的研究,就拿Arduino来说,在MATLAB命令窗口 ...
您好,是不是需要先下载TSP,为什么我直接在MATLAB命令窗口输入targetinstaller,提示“未定义的函数或变量“targetinstaller””& &我的是MATLAB2010版本
论坛优秀回答者
关注者: 82
您好,是不是需要先下载TSP,为什么我直接在MATLAB命令窗口输入targetinstaller,提示“未定义的函数或变 ...
2010版本还不支持,换个2012a或者更新的版本。
<h1 style="color:# 麦片财富积分
2010版本还不支持,换个2012a或者更新的版本。
额& &多谢指导
<h1 style="color:# 麦片财富积分
关注者: 2
2010版本还不支持,换个2012a或者更新的版本。
貌似只支持少量型号的芯片,飞思卡尔MC9S12系列好像不支持?这个supportpackage有什么用?
<h1 style="color:# 麦片财富积分
貌似只支持少量型号的芯片,飞思卡尔MC9S12系列好像不支持?这个supportpackage有什么用? ...
我也想使用MC9S12系列的芯片,请问你现在可以支持该型号的芯片了吗?
站长推荐 /3
Simulink工具定制实现高效模型验证
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区AI芯片之于人工智能的意义,则可以理解为发动机之于汽车……
又是一年六一儿童节,虽然,早就超了过这个节日的年纪,……
漫威电影拍了这么多集不但丝毫不油腻,还越来越受欢迎,……
高度集成是目前MCU发展趋势,为了节省整体PCB空间,降低……
施耐德电气展示了针对电力设备、机器设备、汽车、石油化……
演讲人:曾伟权时间: 10:00:00
演讲人:黄科涛时间: 10:00:00
演讲人:Tracy Ma时间: 10:00:00
预算:¥300000预算:¥50000
江苏省湖北省
基于单片机的快速代码生成方法
[导读]摘要:基于模型设计是国外流行的一种先进的嵌入式系统开发方式,该方式主要利用开发工具Simulink以及Matlab的
RTW(Real&TimeWorkshop)工具箱的代码生成功能,采用IAR作为中间工具,将RTW生成的C语言代码转为为
摘要:基于模型设计是国外流行的一种先进的嵌入式系统开发方式,该方式主要利用开发工具Simulink以及Matlab的
RTW(Real&TimeWorkshop)工具箱的代码生成功能,采用IAR作为中间工具,将RTW生成的C语言代码转为为在单片机
MSP430F2252中可以运行的HEX文件,最后通过Protues软件来验证代码的正确性。该方法无需设计者精通各种编程语言,只需了解设计规范与实现原理,极大地降低了嵌入式系统开发难度,缩短了开发周期,并且能够保证代码的高效性、可靠性。本文引用地址:
关键词:基于模型的设计;快速代码生成;Real&Time WMSP430F2252;Protues
随着软硬件技术的不断发展,系统的开发周期显得越来越重要,但开发的时间与系统安全性之间又有一定的冲突。假如依旧采用传统的编写代码的方式,显然企业将会失去很多的机会。文中介绍一种基于模型的快速代码生成的方法,可以满足这种高性能和快节奏研发的需求。MATLAB集成了各类应用领域的专用库函数和模块,用于数值计算、系统建模的软件包。
Simulink工具可以对分系统或单个仿真模型进行设计。RTW(Real&Time
Workshop)是MATLAB提供的自动化代码生成工具,将Simulink模型框图转化为标准的C语言代码。学会利用
MATLAB/Simulink创建仿真模型,利用MATLABRTW工具,通过这种方式在IAR环境中对Simulink模型进行集成和调用,从而辅助在科研及工程实践中准确、通用快速的建立分布交互仿真体系结构下的嵌入式系统仿真模型。该方式主要利用Matlab的RTW(Real-
TimeWorkshop)工具箱的代码生成功能。本文介绍一种基于MATLAB/RTW实现实时仿真与嵌入式系统开发的方法,方法涉及以下的开发环境:
Microsoft Windows 7;
MATLAB VersionR2010b;
IAR430V5.3;
Proteus7.8。
1 嵌入式开发技术的基本流程
该方式主要利用Matlab的RTW(Real&TimeWorkshop)工具箱的代码生成功能。采用IAR作为中间工具,将RTW生成的C语言代码转为为在单片机中可以运行的HEX文件,最后通过Proteus软件来验证代码的正确性,基本流程如图1所示。
2 建立了Simulink模型并生成了RTW代码
到此模型代码生成的前期工作已经准备完毕,保存好模型,取名为Key_test。下一步就是打开Real&Time
Work&shop选项中的Build按钮,之后Matlab将自动生成模型代码。在Matlab的命令窗口中显示如下内容:
### Connecting to IAR Embedded Workhench&
### Writing source file key_led_430_data.e
### Writing source file key_led_430_main.c
到此,模型的代码也成功生成。
3 RTW生成代码
3.1 RTW生成代码的原理
RTW可以直接从Simulink模型生成代码并且自动建立可以在不同环境下运行的程序,这些环境包括实时系统和单机仿真。RTW为用户系统设计到简单实现提供了简易的接口,它的代码生成器完全结构化,可开放可扩展。此外,RTW还为用户提供了TLC(目标语言编译器)以扩充自身的功能,使得生成的实时代码能够在不同的环境下运行,这主要是通过生成目标板硬件的硬件驱动程序实现的。
RTW提供了两种实现方式:一般模式和外部模式。一般模式下,RTW生成模型的实时源程序和可执行程序,直接在目标机的实时操作系统上运行,但是不提供实时监控和实时参数修改的功能。
RTW允许自定义构造,它既可以在自定义环境下工作,也可以在已经存在的环境下工作。构造(Build)过程有make_rtw文件控制。首先,make_rtw文件编译simulink的模块框图,生成exmodel.rtw文件,然后make_rtw启动TLC产生代码,接着,make_rtw文件调用模块make文件grt_default.tmf生成exmodel.mk文件。最后,如果目标主机与Hos宏定义相匹配,就调用make文件从源程序生成可执行程序。
此外,make是一个功能函数,它可以编辑和连接生成码,并且生成可执行程序。RTW调用make建立实时可执行程序,make文件由模板make文件生成,生成的make文件的名字是exmodel.mk,通过修改make文件可以对构造过程进行定制。RTW将exmodel.
mk传递给make功能函数,make直接负责编译模型源程序和链接。
MATLAB本身会为用户提供一些适用于各类目标硬件的目标文件,但是在实际应用的过程中往往会受到用户需求的限制,因此,建议选择grt_tlc作为系统目标文件,但是grt_tlc生成的代码是运行于DOS下的,缺少一些与目标硬件相匹配的中断向量表和存储器配置等文件。
3.2 RTW生成代码
RTW生成的代码都源于模板,下面这个例子中所选择的模板是War.tlc。下面介绍该算法所涉及的函数与数据结构。
用RTW自动生成的代码包含如下函数:
1)Main,包含在war_main.c文件中,是算法的主要函数,由它调用其他的函数。
2)rt_OneStep,包含于war_main.c文件中,是算法的最主要结构,由Main调用,同时也调用Matlab_Test_step函数用以完成了模型的具体操作要求。
3)Matlab_Test_initialize,包含在Matlab. Test.c文件中,由Main函数来调用,用来初始化模型。
4)Matlab_Test_step,包含在Matlab_Test.c中,由rt_OneStep调用,在该函数中描述具体模型的输入与输出的关系。
用RTW自动生成的代码包含如下数据的结构:
①Matlab_Test_Y,用以存储输出信号的量值。
②用Matlab_Test_U,用以存储输入信号的量值。
4 采用IAR将RTW生成的C语言转为HEX文件
打开IAR,建立一个空工程,并加入生成的代码,生成IAR工程,单击右键,在菜单中选择Options,在对话框中的General
Options目录下的Target子页面中选择芯片类型MS
P430F2252,在Linnker目录下的Output子页面中,将输出文件名定义为Key_board.hex,并在Output项中选择
intel-extended,再单击工具栏按钮,编译工程(图3),窗口下部的信息显示编译成功。
5 实验仿真结果
打开Proteus软件,新建一个工程文件,选择MSP430F2252,正确地连接基本电路;连接好的电路图如图4所示。
点击Debug菜单后,选择Use Remote Debug
Monitor的选项。然后,双击MSP430F2252器件,之后弹出来器件编辑对话框,最后在Program
File选项中选择IAR所生成的HEX文件,进行仿真实验。
实验结果证明,基于Matlab环境下生成的代码的可靠性很高。通过Proteus的仿真结果可以看出来,由Matlab生成的代码同样具有正确性。节省了很多繁重的工作和时间,具有很大的实际指导意义。
富士康将在美国建厂已经不是什么秘密,近日根富士康在美国威斯康星州密尔沃基市购买了一栋七层建筑,作为富士康的北美新总部。据悉这栋楼原来是西北互惠银行的办公大楼,未来将由富士康使用。富士康表示,新总部将容......关键字:
这是一个 bash shell 脚本,其中有若干可以整蛊(结仇)你的同事的小技巧――或者说恶作剧。看完之后,感觉不寒而栗,要是谁敢这样整我,我一定和他绝交!......关键字:
麦可思研究院根据2015届大学毕业生的就业数据发布了《2016年中国大学生就业报告》,公布了2016中国热门及冷门职业。
......关键字:
不管是我们人类,又或是小动物,“打嗝”可以说是一件比较司空见惯的事情。但是对于宇宙中的黑洞,如果我说它也会打嗝,你会信吗?......关键字:
人究竟是真实的还是虚拟的?这一问题以前似乎只是哲学家才会去思考的问题,而科学家往往只需要研究世界运行的规律及其内在原理。不过,最近有许多物理学家、宇宙学家开始慢慢接受并宣扬一种关于世界存在的理论猜想,即宇宙并不是真实存在的,人类都生活于一个......关键字:
从利伯曼教授的研究中可以推测出,当高智商的人一般认知网络长时间处于打开状态时,会抑制非社会思考脑区的激活,导致他们表现得不那么社会化。当我们进行非社会思考时,我们的执行能力总会受到社会认知网络的干扰。......关键字:
我 要 评 论
热门关键词1811 条评论分享收藏感谢收起只需一步,快速开始
扫一扫,访问微社区
查看: 1394|回复: 4|关注: 0
simulink仿真总时间和生成代码在单片机中的运行总步数问题
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
本帖最后由 sparroow 于
11:38 编辑
◆ 模型在simulink中仿真时是有总时间长度限制的(阅读其它帖子得知那个时间长度限制的是仿真计算的总步数)。◆ 那么,请问如果将simulink模型生成代码,并编译成elf文件下载到单片机里,单片机RUN起来之后还会在simulink仿真设置的时间节点(总步数处)结束模型运行吗?
◆ 如果是的话,要让单片机永久运行模型并对工业设备执行控制,应该在代码生成或仿真的时候执行怎样的仿真时间(总仿真步数)设置呢?
论坛优秀回答者
关注者: 82
在理解上有误,仿真时间和在硬件上运行时间是没有关系的。模型生成的代码在主函数中其实是写在一个死循环当中,除非你断电,否则他会永远执行下去。采样时间(步长)和代码生成是有关系的,就拿最简单的Arduino Mega2560来说,如果你的采样步长要小于5毫秒,他就做不到这么精确,这跟硬件的晶振有关,所以连续的采样也是不支持代码生成的。
<h1 style="color:# 麦片财富积分
在理解上有误,仿真时间和在硬件上运行时间是没有关系的。模型生成的代码在主函数中其实是写在一个死循环当 ...
谢谢,仿真总时长的问题我明白了。但步长的地方我没明白。
simulink仿真设置里,“5毫秒”的步长,对应到生成的嵌入式代码那边,就是对算法主函数以5毫秒为周期进行调度,是这样吗?
论坛优秀回答者
关注者: 82
谢谢,仿真总时长的问题我明白了。但步长的地方我没明白。
simulink仿真设置里,“5毫秒”的步长,对应到 ...
可以这样理解。
<h1 style="color:# 麦片财富积分
可以这样理解。
谢谢你的答复!关于这个主题,有不懂的地方我还会来请教的。
站长推荐 /3
Simulink工具定制实现高效模型验证
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区岗位职责:1、 开发底盘系统动力学模型;2、 基于整车客户要求优化和调整控制策略;任职资格:1、本科以上学历,电子、通信、自动化等相关专业优先考虑;2、有2年以上软硬件项目研发经验;3、熟练使用simulink;熟悉任意车辆相关系统数学模型搭建;4、熟练掌握MATLAB 的C代码生成;5、有强烈的责任感,能够承受压力,能独立完成承担的项目;6、积极向上,性格开朗,敢于创新;7、优秀应届生也可考虑。优先条件:1、能独立完成应用层需求分析和算法建模,并能使用MIL,SIL方法进行测试及验证;2、熟悉Simulink代码生成配置、优化及与底层手写代码的集成;3、参与量产ECU产品(包含但不限于EMS,TCU,VCU,BMS)的SIMULINK开发;主要应用关键词:simulink MATLAB
自适应控制
Simulink+dSPACE
自抗扰控制
神经网络注:入职后,昌平、理工大学附近的办公地点两地可选。
餐饮补贴年终奖金法定节假日五险一金通讯补贴绩效奖金
在招聘、录用期间要求你支付费用的行为都必须提高警惕。以招聘为名的培训、招生,许诺推荐其他工作机会,甚至提供培训贷款,或者支付体检、服装、押金和培训等费用后才能录用工作的,都属于违法行为,应当提高警惕。一经发现,请,并向当地公安机关报案。
简历匹配度
申请该职位
热门职位热门城市周边城市
无忧工作网版权所有(C)51job.com(沪ICP备)

我要回帖

更多关于 matlab教程pdf 的文章

 

随机推荐