找回密码
 注册
关于网站域名变更的通知
查看: 555|回复: 1
打印 上一主题 下一主题

Matlab/RTW实时仿真与嵌入式系统开发

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-11-14 13:27 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
Matlab/RTW实时仿真与嵌入式系统开发
  在日益激烈的竞争中,系统的开发周期显得尤为重要,但开发时间与系统安全性、可靠性又有一定冲突,如果仍然使用传统的编写代码的模式,显然有些不妥。本文介绍一种基于 Matlab / RTW 实现 实时仿真 与 嵌入式 系统开发的方法。方法所涉及的开发环境如下:
       ◆MICroSOFt Windows XP SP3:
3 W3 B) k1 T7 |! i1 ^# u       ◆Matlab Version 7.5.0.342(R2007b);
. ^" s& O+ x+ @       ◆Keil uVersion2V 2.30;" p5 S1 A' i0 @* _9 l- i. ?% P# m, j
       ◆Proteus 7.1SP2。
  先借助Matlab/RTW建立模型并生成RTW(Real-Time Workshop)代码(C语言),再使用Keil编译、调试Matlab生成的C语言代码,并且生成HEX文件。之后,利用Proteus观察代码生成的效果,以验证代码的正确性。基本流程如图1所示。

" Y) `1 Z5 L0 `/ e2 x* Q+ ^3 A# v
  1 构建Simulink模型并生成RTW代码
  以较为简单的模型为例,用2个开关同时控制一个报警灯模型。当开关1、2同时闭合时,报警灯亮,逻辑真值表如表1所列。在Simulink中构建对应模型,只有当开关1、2同时闭合时,报警灯才亮,故选择如下模型实现上述功能。模型连接如图2所示。

. G' n2 [8 n" @# z) _! G- v- h$ w
  模型连接好之后,打开参数配置选项卡调整参数。具体修改项及其对应值如表2所列。
6 Q. k$ v" D' y5 Q+ I$ U
  至此生成模型代码的前期准备已经完成,保存模型,取名Matlab_Test。下一步就是点击Real_Time Work-shop选项中的Build按钮,Matlab将自动生成模型代码。
  Matlab命令窗口中显示内容如下:
###Starting Real-Time Workshop build procedure for model:. u+ C4 d' p# J4 f
Matlab_Test
  Q5 L; ^( n6 [  I……
1 A7 T( w. u0 ?  z* J, B###SuCCessful completion of Real-Time Workshop build proce-dure for model:Matlab_Test0 ]: i/ K: S* X) s$ M6 D
至此,模型的代码也生成成功。
  S1 i( f4 Y/ k
+ L7 y, n( a) i' `7 G6 r: E
  完成代码修改之后,建造目标。若暂且不管代码优化问题,则所需的HEX文件已经成功生成。
  3.2 KeiI与Proteus的连接
  将安装文件夹Proteus\Model下的VDM51.dll文件复制到Keil\C51\INC文件夹下,用以实现两软件间的通信,并且在TOOLS.INI文件中加入VDM51.DLL文件的目录及描述,具体添加内容如图4所示。
0 z) X0 p/ j, V2 s. D8 j4 |* Q
  至此,Keil与Proteus间的连接前期准备已经完成。下面开始Keil与Proteus联机调试:选择目标1的属性,弹出对话框,在调试选项卡中选择使用Proteus VSM Mo-nitor-51,具体调节参数如图5所示。Keil与Proteus的连接已经完成。

# w2 r- L4 R$ V2 f9 K/ `
  4 Proteus仿真
  打开Proteus,新建一个工程,选择80C51,正确连接基本电路;选择P1.0引脚作为输出,P1.6、P1.7引脚作为输入
 单击Debug菜单,选择Use Remote Debug Monitor选项。然后,双击80C51器件,弹出器件编辑对话框,在Program File选项中选择Keil生成的HEX文件(本例中该文件名为Keil_Test.HEX),进行仿真。
  5 结 论
  实验证明,基于 Matlab 生成的代码具有较高的可靠性。
①通过Proteus的仿真结果可以得出,由Matlab生成的代码同样具有正确性;
7 h3 B9 _  n  l" R5 b6 e! a②由Matlab直接生成代码可以将设计人员从繁重的编写代码的工作中解脱出来,大大节省了开发时间,提高了开发效率;8 G7 u8 Y' p# G' h) r' T
③本文所述过程为 嵌入式 系统的开发与 实时仿真 的实现提供了参考,具有实际指导意义。
8 m7 e  B- ^% ]+ F4 W9 b; w' r
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-13 04:22 , Processed in 0.140625 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表