导言
在日益剧烈的竞赛中,体系的开发周期显得尤为重要,但开发时刻与体系安全性、可靠性又有必定抵触,假如依然运用传统的编写代码的形式,明显有些不当。本文介绍一种根据Matlab/RTW完结实时仿真与嵌入式体系开发的办法。办法所触及的开发环境如下:
◆Microsoft Windows XP SP3:
◆Matlab Version 7.5.0.342(R2007b);
◆Keil uVersion2V 2.30;
◆Proteus 7.1SP2。
先凭借Matlab/RTW树立模型并生成RTW(Real-Time Workshop)代码(C言语),再运用Keil编译、调试Matlab生成的C言语代码,而且生成HEX文件。之后,运用Proteus调查代码生成的作用,以验证代码的正确性。根本流程如图1所示。
1 构建Simulink模型并生成RTW代码
以较为简略的模型为例,用2个开关一起操控一个报警灯模型。当开关1、2一起闭合时,报警灯亮,逻辑真值表如表1所列。在Simulink中构建对应模型,只有当开关1、2一起闭合时,报警灯才亮,故挑选如下模型完结上述功用。模型衔接如图2所示。
模型衔接好之后,翻开参数装备选项卡调整参数。详细修正项及其对应值如表2所列。
至此生成模型代码的前期预备现已完结,保存模型,取名Matlab_Test。下一步便是点击Real_TIme Work-shop选项中的Build按钮,Matlab将主动生成模型代码。
Matlab指令窗口中显现内容如下:
###StarTIng Real-TIme Workshop build procedure for model:
Matlab_Test
……
###Successful compleTIon of Real-Time Workshop build proce-dure for model:Matlab_Test
至此,模型的代码也生成成功。
完结代码修正之后,制作方针。若暂时不论代码优化问题,则所需的HEX文件现已成功生成。
3.2 KeiI与Proteus的衔接
将装置文件夹Proteus\Model下的VDM51.dll文件复制到Keil\C51\INC文件夹下,用以完结两软件间的通讯,而且在 TOOLS.INI文件中参加VDM51.DLL文件的目录及描绘,详细增加内容如图4所示。
至此,Keil与Proteus间的衔接前期预备现已完结。下面开端Keil与Proteus联机调试:挑选方针1的特点,弹出对话框,在调试选项卡中挑选运用Proteus VSM Mo-nitor-51,详细调理参数如图5所示。Keil与Proteus的衔接现已完结。
4 Proteus仿真
翻开Proteus,新建一个工程,挑选80C51,正确衔接根本电路;挑选P1.0引脚作为输出,P1.6、P1.7引脚作为输入,所衔接的电路如图6所示。
单击Debug菜单,挑选Use Remote Debug Monitor选项。然后,双击80C51器材,弹出器材修改对话框,在Program File选项中挑选Keil生成的HEX文件(本例中该文件名为Keil_Test.HEX),进行仿真。
5 定论
试验证明,根据Matlab生成的代码具有较高的可靠性。
①经过Proteus的仿真成果能够得出,由Matlab生成的代码相同具有正确性;
②由Matlab直接生成代码能够将规划人员从深重的编写代码的工作中摆脱出来,大大节省了开发时刻,提高了开发功率;
③本文所述进程为嵌入式体系的开发与实时仿真的完结供给了参阅,具有实践指导意义。