用户中心

资讯 > 嵌入式系统

实时仿真与嵌入式系统

2009.04.18阅读 4726

  1、前言
  对于程序开发和许多交互式应用来说,UNIX和Windows可以算是优秀的操作系统。然而,它们都不适于实时应用。Tornado是美国WindRiver公司为用户提供的嵌入式开发平台,VxWorks是Tornado的运行期组件CONTROL ENGINEERING China版权所有,也是嵌入式行业应用最为广泛的实时操作系统。VxWorks的实时性做的非常好,其系统本身的开销很小www.cechina.cn,任务调度、任务间通信和中断处理等系统公用程序精炼而高效,他们造成的延迟很短。VxWorks提供的多任务机制对任务的控制采用了优先级抢占调度和轮转调度机制,也充分保证了可靠的实时性,使同样的硬件配置能够满足更强的实时性要求CONTROL ENGINEERING China版权所有,为应用的开发留下更大的余地。
  RTW(Real-Time Workshop)是Matlab图形建模和仿真环境Simulink的一个重要的补充功能模块,它是一个基于Simulink的代码自动生出环境,它能直接从Simulink的模型中产生优化的、可移植的和个性化的代码,并根据目标配置自动生成多种环境下的程序。
  RTW提供了几个快速原型化的目标,其中包括提供了从Simulink模型到VxWorks应用代码的自动转换接口Tornado
Real-Time Target,可以让用户的模型在VxWorks上执行。
  2、Tornado(VxWorks)实时目标运行时结构
  开发VxWorks实时应用系统的典型配置,如图1所示:

开发VxWorks实时应用系统的典型配置


  实时代码在主机上,用Tornado提供的交叉编译器编译。通过RTW的Tornado实时目标生成目标文件(vxmodel.lo),可通过Tornado集成开发环境的WindSh下载到VxWorks目标机。实时程序在VxWorks目标机上执行,通过IO设备和外部硬件交换数据,并保持和主机之间的相互通信。
  实时程序运行在VxWorks目标机上,而Simulink运行在主机上。Simulink需要VxWorks目标机上运行的任务来处理通信过程。Tornado(VxWorks)Real-Time Tartget生成如下VxWorks任务:一个用于和Simulink通信,其他用于完成模型功能[2]。
  3、Tornado(VxWorks)实时目标的实现过程
  3.1 实验环境
  我的实验环境如下表:

  表1 实验环境
 实验环境

  3.2 实时目标的具体实现步骤
  为了通过Real-Time Workshop实现和运行一个基于VxWorks的实时程序CONTROL ENGINEERING China版权所有,用户可按如下的步骤进行:
  (1) 在Matlab/Simulink下建立一个模型,这里以一个经典的PID模型为例:

在Matlab/Simulink下建立一个模型


  模型采用外部工作模式(External Mode),并设置Simulink Parameters对话框中的参数:

模型采用外部工作模式(External Mode),并设置Simulink Parameters对话框中的参数
模型采用外部工作模式(External Mode),并设置Simulink Parameters对话框中的参数

模型采用外部工作模式(External Mode),并设置Simulink Parameters对话框中的参数



  (2) 配置模板联编连文件tornado.tmf,该文件位matlabroot%/rtw/c/tornado目录下,要对这个文件作如下修改:
  #———————————— Macros read by make_rtw ————————————-
  MAKECMD = C:Tornado2.2hostx86-win32 inmake
  HOST = PC
  #————————————-Tool Locations————————————————————————————-
  WIND_BASE= C:Tornado2.2
  WIND_REGISTRY=$(COMPUTERNAME)
  WIND_HOST_TYPE=x86-win32
  #————————————Vxworks Configuration——————————————————
  VX_TARGET_TYPE = pentium
  CPU_TYPE = PENTIUM2
  #————————————-Macros for Downloading to Target————-
  TARGET=target
  TGTSVR_HOST=host
  VX_CORE_LOC    = $(WIND_BASE)/target/config/ pcPentium3/vxWorks
  (3) 程序的生成、编译、连接
  设置完参数,保存后,开始创建程序,单击上图中的Build按钮,开始编译程序CONTROL ENGINEERING China版权所有,成功后可在当前的目录中产生了一个vxmodel_tornado_rtw的文件夹和一个目标文件vxmodel.lo。
  (4) 手动下载和运行可执行文件
  现在可以将实时程序下载到目标机中,具体的方法是在Tornado集成开发环境中启动WindSh,在WindSh窗口执行如下命令: ld<vxmodel.lo
  请注意要保证lo文件在WindSh的工作路径下。VxWorks实时程序定义了一个函数r

版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688