快速原型中Simulink模型的代码自动生成(1)_图文_第1页
快速原型中Simulink模型的代码自动生成(1)_图文_第2页
快速原型中Simulink模型的代码自动生成(1)_图文_第3页
快速原型中Simulink模型的代码自动生成(1)_图文_第4页
快速原型中Simulink模型的代码自动生成(1)_图文_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、研究与设计电 子 测 量 技 术ELECT RON IC MEASU REMENT T ECH N OLOGY第32卷第2期2009年2月快速原型中Simulink 模型的代码自动生成李 强 王民钢 杨 尧(西北工业大学航天学院 西安 710072摘 要:快速原型仿真是实时仿真的一种, 它处于产品研发的算法设计阶段与具体实现阶段之间, 是产品研制过程中的一个重要环节。本文介绍了在快速原型系统中如何利用Matlab/Simulink 的代码生成功能将Simulink 模型转换成目标语言模型的方法; 既避免了Simulink 模型在Matlab/Simulink 环境下仿真速度低下的问题, 又能大

2、大降低用目标语言编程建模的工作强度。实际应用表明, 通过使用Simulink 模型的C 代码自动生成, 可以方便快捷地将Simulink 模型应用于半实物仿真系统, 缩短研制周期, 并提高仿真系统的灵活性和可靠性。关键词:Simulink; 半实物仿真; 代码生成; RT W 中图分类号:T P391. 9 文献标识码:ACode generation of simulink models in the hardware 2in 2loop simulationLi Qiang Wang Mingang Yang Yao(School of Astronautics, Northwes ter

3、n Polytechn ical U niver sity, Xi p an 710072Abstr act:The hardware 2in 2the 2loop simulation pla ys an important role in the research and design process for guidedweapons. To satisfy the r eal 2time design r equirement of certa in missile hardwa re 2in 2the 2loop simulation system, The way t hat ho

4、w to use the ca pability of Matlab/Simulink in code generation to convert t he models constr ucted by Simulink to t arget language models is introduced, which not only avoids the problem of low simulation speed of the model in M atlab/Simulink circumstance, but also makes it ver y easy in making pro

5、gr ams to construct ta rget language models. T he actual applications have proved that the Simulink model can be applied to the hardwar e 2in 2the 2loop simulation syst em conveniently and rapidly based on the auto 2generation of code, the development per iod is shor ten, and the f lexibility and re

6、liability of t he simulat ion system are enhanced.Keywords:simulink; har dware 2in 2the 2loop simulation; auto 2generat ion of code; R TW0 引 言Mat lab/Simulink 是Mathworks 公司推出的一种科学计算仿真软件。在传统的控制理论研究中可以利用其方便地进行控制规律的设计与仿真, 但是Simulink 仿真大多为非实时仿真, 模型中的硬件环节由数学模型所代替。对于一些仿真实时性要求较高的场合, 如存在数据采集、串口通信等实时仿真任务时, 往

7、往达不到预期的理想控制效果。而且离线仿真不能对内存, 接口和通信等实时参量进行评价, 从而设计者必须不断对自身的设计做出调整, 开发周期相对过长。为了解决这一矛盾, Mat hworks 公司推出了Real 2Time Workshop (RTW 子集, 利用它能够实现Matlab/Simulink 模型向其他语言模型转换, 这样可以满足实时仿真速度的不同要求, 有助于缩短开发周期, 具有较大的经济价值和时常前景。本文对RTW 的主要功能和特点进行了说明, 介绍了RT W 代码自动生成的详细过程, 并结合工程实例对代码自动生成结果的正确性进行了验证。应用表明通过使用Simulink 模型的C

8、代码自动生成, 可以方便快捷地将Simulink 模型应用于半实物仿真系统, 缩短研制周期, 为导弹武器系统的研制提供了有利的条件。1 RTW 的主要功能及特点RT W 是和Matlab 、Simulink 一起使用的一个工具, 它可以直接从Simulink 模型生成代码并且自动建立可以在不同环境下运行的程序, 这些环境包括实时系统和单机仿真。RT W 能够应用的场合十分广泛:1 实时控制:可以使用Matlab 和Simulink 设计控制系统, 并且从建立的图表模型生成代码, 编译并载入它们到目标硬件;2 实时信号处理:可以使用Matlab 和Simulink 设计信号处理算法, 同样可以从

9、模型生成代码, 编译和载入它们到目标硬件;#28#李 强等:快速原型中Simulink 模型的代码自动生成第2期3 生成可插入到其他仿真程序的便携C 代码:非缺省情况下, 根据用户的设置可以生成如下代码:¹Ada 代码:从Simulink 模块生成Ada 代码, 要求用户安装Real2Time Workshop Ada Coder 。 º实时程序:将代码转换为适合硬件运行的实时程序。对应代码被设置为和一个外部时钟。源相连接, 且以用户设定的固定采样速率运行。»高性能单机仿真程序:将生成的代码和普通实时系统目标文件一起使用, 为单机仿真生成可以执行的程序。RT W

10、用户界面可通过Simulink 提供的仿真参数框/Simulink Parameters 0选项打开, 其中Real/T ime Workshop 页只对Real/Time Workshop 有效, 而其他页对Simulink 仿真和RealT ime Workshop 都有效。2 代码自动生成2. 1 RTW 程序自动创建过程RT W 程序自动创建过程能在不同主机环境下生成用于实时应用的程序。该创建过程使用高级语言编译器中的联编实用程序来控制所生成源代码的编译和链接过程。RT W 使用一个高级的M 文件命令控制程序创建过程, 默认命令是make 2rt w 。该创建过程包含如下4个步骤:1

11、分析模型RT W 的程序创建过程首先从对Simulink 模块方框图的分析开始, 包括如下过程:¹计算仿真和模块参数;º递推信号宽度和采样时间;»确定模型中各模块的执行次序; ¼计算工作向量的大小。在本阶段中, RTW 首先读取模型文件(model. mdl 并对其进行编译, 形成模型的中间描述文件model. rtw 。2 目标语言编译器(TLC 生成代码:在程序创建的第二阶段, 目标语言编译器将中间描述文件(model. rtw 转换为目标指定代码。3 生成自定义的联编文件(makefile建立过程的第三阶段是生成自定义联编文件, 即model.mk

12、 文件。所生成联编文件的作用在于:指导联编程序如何对从模型中生成的源代码、主程序、库文件或用户提供的模块进行编译和链接。4 生成可执行程序创建过程的最后一个阶段是生成可执行程序, 该阶段是可选项。如果用户定制的目标系统是嵌入式微处理器或DSP 板, 可以只生成源代码。然后使用特定的开发环境对代码进行交叉编译并将其下载到目标硬件中。图1 代码自动生成简图2. 2 自动代码生成与底层硬件的无缝连接在半实物仿真中, 需要接入硬件实物来验证仿真的有效性。2. 3 C 代码生成的实现利用RT W 快速原型工具自动生成准确并高度优化的DSP 可执行代码, 大大缩短了系统的开发周期。利用快速原型自动化工具,

13、 通过正确地设置仿真参数, 不需要传统的代码编写过程, 即可自动生成DSP 可执行代码。打开Simulink/Simulat ion/Configuration Paramet er 设置仿真参数, 关键是要正确地设置解析器(Solver和实时生成器RT W(Real2T ime Workshop 选项。Solver 选项:/Stop time 0设置为/inf 0; 解析器(Solver 的步长类型一定要设置为固定步长(Fixed 2st ep , 因为RT W 只能从固定步长的模型生成代码; /Slover 0设置为/Discrete 0。RT W 能够从Simulink 模型中自动产生C

14、 代码, 必须指定正确的系统目标文件(System t arget file 和Mak efile 模板文件(T emplat e makefile , 设计中分别为/t i_c2000_ert. tlc 0、/ti_c2000_ert.tmf 0。设置好Build 选项后, 通过点击RTW 面板上的Build 按钮, Matlab 会自动与CCS 建立连接, 启动系统目标文件, 将卡尔曼滤波框图模块转化为T I C2000DSP 可执行代码, 自动调用CCS3. 1软件并打开所生成的工程文件。主要包括源文件(source 文件夹 、库文件(Library 文件夹 、连接文件(c md 等。M

15、AT LAB 的Command 窗口会显示后台处理的详细过程, 在代码生成过程中, 可能要根据系统的错误报告多次修改模型。#29#第32卷电 子 测量 技 术 图2 Simulink 与底层硬件接口驱动开发 图3 代码生成的执行3 仿真试验及结果分析应用该半实物仿真系统成功地进行了某型导弹研制的所有半实物仿真试验, 仿真结果表明该系统完全满足仿真帧周期1ms 的指标要求, 在1ms 仿真周期内没有出现数据错帧和丢帧现象。图4、图5分别为某导弹闭合回路全数字仿真及半实物仿真试验航迹倾角及导弹爬升高度变化曲线对比图, 由图可知两者的结果几乎完全吻合, 完全达到了所要求的技术指标, 也证明了该半实物

16、仿真系统通信软件设计是满足要求的。图4 全数字仿真与半实物仿真航迹倾角变化曲线对比图#30#李 强等:快速原型中Simulink 模型的代码自动生成第2期 图5 全数字仿真与半实物仿真导弹爬升高度变化曲线对比图4 结 论RT W 能够从Simulink 模型直接生成面向目标的代码, 减少了用户工作量。其用途不单体现在C 代码生成上, 还可以利用其开放的接口支持第三方硬件和工具, 实现Simuink 模型向更多其他目标语言代码的自动生成。参考文献1 刘志国, 刘太阳, 王仕成, 等. 基于实时网络的半实物仿真集成平台研究J. 系统仿真学报, 2007, 19(15 . 2 楼俊荣. 分布式虚拟靶

17、试系统的实时数据通讯与管理技术研究D.西安:西北工业大学, 2006.3 王朝辉. 面向实时分布系统的实时网络技术研究D. 西安:西北工业大学, 2002.4姜波. 实时分布仿真平台下的异构系统集成技术研究D.西安:西北工业大学, 2004.5徐小英, 王林. RT 2LAB 快速控制原型在随动系统的应用J. 系统仿真学报, 2006, 18(14 .作者简介李强(1983 , 男(汉族, 山西人, 西北工业大学航天学院博士研究生, 主要研究方向为飞行控制与仿真技术。E 2mail:rep111163. com(上接第23页3 结 论通过查阅相关工业标准, 认真分析, 最终实现了在有限的空间内

18、以简洁、安全的方式满足电路板的大电流需求; 对比常用串口扩展方式, 最终选定了一种硬件开销小, 软件设计压力不大的串口扩展方式 SMBus 通讯方式, 解决了多串口需求难题; 通过选择合适的数字 自整角机/旋转变压器转换器, 实现了随动信号的产生, 满足精度要求。整个辅发控系统已通过验收。参考文献1黄劼, 许明恒, 秦玉芳, 等. 单片机系统多串口设备集成化研究Z. 微计算机信息(嵌入式与SOC , 2007, 23.2吴允平, 蔡声镇, 苏伟达, 等. 51单片机系统的扩展多串口设计及应用Z.福建师范大学学报:自然科学版, 2006, 22(22.3C8051F020/1/2/3混合信号I SP FLASH 微控制器数据手册Z. 潘琢金译. 2005.4 C8051F310/1/2/3/4/58/16KB ISP FLASH 微控制器数据手册Z.潘琢金译. 2004.5 赵学军. 基于单片机通用引脚的软件UART 设计Z.微计算机信息(嵌入式与S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论