找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 263|回复: 0

实时仿真与嵌入式系统

[复制链接]
发表于 2011-6-18 09:25:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

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

×
1、前言+ Z. [/ A, S( J2 b5 C
对于程序开发和许多交互式应用来说,UNIX和Windows可以算是优秀的操作系统。然而,它们都不适于实时应用。Tornado是美国WindRiver公司为用户提供的嵌入式开发平台,VxWorks是Tornado的运行期组件,也是嵌入式行业应用最为广泛的实时操作系统。VxWorks的实时性做的非常好,其系统本身的开销很小,任务调度、任务间通信和中断处理等系统公用程序精炼而高效,他们造成的延迟很短。VxWorks提供的多任务机制对任务的控制采用了优先级抢占调度和轮转调度机制,也充分保证了可靠的实时性,使同样的硬件配置能够满足更强的实时性要求,为应用的开发留下更大的余地。- T' ]9 U4 Y9 K: u( O  a# Y
RTW(Real-Time Workshop)是Matlab图形建模和仿真环境Simulink的一个重要的补充功能模块,它是一个基于Simulink的代码自动生出环境,它能直接从Simulink的模型中产生优化的、可移植的和个性化的代码,并根据目标配置自动生成多种环境下的程序。
; y0 t5 s0 e- a5 m% RRTW提供了几个快速原型化的目标,其中包括提供了从Simulink模型到VxWorks应用代码的自动转换接口Tornado Real-Time Target,可以让用户的模型在VxWorks上执行。; `+ z8 x, T) z! B& r$ ]
2、Tornado(VxWorks)实时目标运行时结构" M  M0 M( g/ _5 ^; S
开发VxWorks实时应用系统的典型配置,如图1所示:
0 y3 Y. |6 L5 ^. X! d 200741495543.gif & c  T2 Q: L% v+ w) ?/ s* U, U
图1 VxWorks实时应用开发的经典配置& H9 v, L. P) U
实时代码在主机上,用Tornado提供的交叉编译器编译。通过RTW的Tornado实时目标生成目标文件(vxmodel.lo),可通过Tornado集成开发环境的WindSh下载到VxWorks目标机。实时程序在VxWorks目标机上执行,通过IO设备和外部硬件交换数据,并保持和主机之间的相互通信。
/ y2 n. f: r; G2 q! e2 |1 ^: K& R实时程序运行在VxWorks目标机上,而Simulink运行在主机上。Simulink需要VxWorks目标机上运行的任务来处理通信过程。Tornado(VxWorks)Real-Time Tartget生成如下VxWorks任务:一个用于和Simulink通信,其他用于完成模型功能[2]。
7 w0 g6 {1 d: |; B* f+ _3、Tornado(VxWorks)实时目标的实现过程. ?' I& ^" g  |3 T# M- u( p
3.1 实验环境- n! a+ ]4 x( |3 j+ p1 A8 Z3 O
我的实验环境如下表:1 B* r0 L$ w! |6 l8 u5 n1 S
表1 实验环境' h8 b9 e- h. {& z7 G
200741495654.gif
  h: v) y0 A. M8 z% t3.2 实时目标的具体实现步骤
4 l, W0 ?5 E9 W  }. K( P4 d为了通过Real-Time Workshop实现和运行一个基于VxWorks的实时程序,用户可按如下的步骤进行:
$ ?9 P4 c+ V+ q$ [(1) 在Matlab/Simulink下建立一个模型,这里以一个经典的PID模型为例:* X1 U- _5 @8 E# e! j0 }
200741410153.gif
% C7 u; I  j% d5 q% L& \8 L图2 实验所采用的经典PID模型
" U7 ^' {+ h) p& }% t$ Z模型采用外部工作模式(External Mode),并设置Simulink Parameters对话框中的参数:8 c$ k" h1 {1 e( ]. _' H7 k
200741410236.gif , Q$ M2 S9 n4 X: n! D! N3 J7 D
图3 仿真参数Solver设置1 r! z# I" p. [, z0 y
200741410254.gif
6 V" R* Q7 @. i1 V, \图4 仿真参数Real-Time Workshop设置
3 a) H4 @) y9 {0 U% x 200741410318.jpg
2 I1 D3 N& L7 E/ z7 g& o& P- ~图5 仿真参数code generation options设置% V, R2 U& R+ X/ y5 V  f1 c
(2) 配置模板联编连文件tornado.tmf,该文件位于%matlabroot%/rtw/c/tornado目录下,要对这个文件作如下修改:
: k( e! d3 S. ]* \$ F- l#------------ Macros read by make_rtw -------------; Y- J* `" i  a* _0 h9 o
MAKECMD = C:Tornado2.2hostx86-win32 inmake: r' W$ N2 r* h% m. ]6 x
HOST = PC6 ^% d9 I! V# z3 p5 g5 B1 n
#-------------Tool Locations-----------------------------# d9 h( h- u! M2 R7 W% ]% a: f
WIND_BASE= C:Tornado2.2
$ G" ~' [( r' j9 b* s2 @1 p2 yWIND_REGISTRY=$(COMPUTERNAME)
9 q" |; J9 \( S7 H" \WIND_HOST_TYPE=x86-win32( o1 r% U- \2 Z7 N6 e
#------------Vxworks Configuration------------------
7 p$ Z1 l( s' v# \VX_TARGET_TYPE = pentium
" k6 @  G/ J9 \! W" s0 r4 JCPU_TYPE = PENTIUM2
6 L& F+ `) c9 }& Y' f, i6 i+ T#-------------Macros for Downloading to Target-----7 h4 L* ~$ \) }9 D3 |' E
TARGET=target
3 p4 B5 d' @( c' Z  N4 ^TGTSVR_HOST=host
# b0 ?9 W- ]* B# ^/ ]% R! F$ sVX_CORE_LOC    = $(WIND_BASE)/target/config/ pcPentium3/vxWorks
9 P; [9 R9 W6 _4 @; @% N: g8 L(3) 程序的生成、编译、连接, ?0 U! q) Q$ m; p9 N) G
设置完参数,保存后,开始创建程序,单击上图中的Build按钮,开始编译程序,成功后可在当前的目录中产生了一个vxmodel_tornado_rtw的文件夹和一个目标文件vxmodel.lo。1 y" E8 b8 G3 P: D1 [$ v
(4) 手动下载和运行可执行文件
4 o6 _5 {- R5 j" e+ m& ^现在可以将实时程序下载到目标机中,具体的方法是在Tornado集成开发环境中启动WindSh,在WindSh窗口执行如下命令:
/ x! Z9 G. w  a/ {$ g9 z: p7 q
+ R" d* P: I5 c8 s8 }9 F/ {ld
20074141063.gif
200741410627.gif
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2024-11-16 05:34 , Processed in 0.141804 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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