APP下载

利用VMware在一台PC上实现xPC Target实时仿真

2009-10-26孙逸神

电脑知识与技术 2009年22期

孙逸神

摘要:当前,实时仿真主要采用dSpace和xPC Target。前者价格昂贵,后者需要两台PC连接使用。由于现在PC性能的不断提高以及虚拟机技术的应用,可以仅在一台PC上实现实时的离线仿真。本文利用VMware建立虚拟的目标机,成功地在一台PC上实现xPC Target环境的实时离线仿真。

关键词:实时仿真;xPC Target;虚拟机;VMware

中图分类号:TP391文献标识码:A 文章编号:1009-3044(2009)22-0000-00

1 xPC Target运行环境

众所周知,基于simulink的仿真属于伪实时仿真,其仿真时间并不与实际时间同步,而与机器执行速度和模型复杂度有关。要进行实时仿真通常可以使用dSpace或xPC Target。dSpace虽然使用方便,但设备昂贵。xPC Target是一种“双机型”的解决途径,即xPC Target需要使用两台PC机,其中宿主机运行Simulink,而目标机则用于执行所生成的代码。目标PC机运行了一个高度紧缩型的实时操作内核,该实时核采用了32位保护模式,通过以太网络连接或串口线连接来实现宿主机和目标机之间的通信。由于目标PC机专门用于执行所生成的代码,因而xPC Target提高了性能和系统稳定性。

但两台PC布置空间较大,而且现在的PC性能强大,完全可以使用虚拟机技术在一台PC上实现xPC Target环境。

2 虚拟机介绍

通过虚拟机软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问网络资源等等。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作。常用的虚拟机有VMware、VirtualPC等。VMware的工作模式如图1。

3 VMware实现xPC Target步骤

3.1 目标机的配置

首先,用VMware配置一台虚拟机作为目标机。在此,使用VMware Workstation 6.0.0 build-45731。由于xPC Target对硬件要求很低且不需要安装其它操作系统,故可以分配较小的硬盘和内存。最重要的设置是选择网络连接方式为“Host-only”,这样就相当于宿主机与目标机直接用网线相连,如图2。

由于使用“Host-only”连接方式时,宿主机与目标机通信的虚拟网卡为Ethernet adapter VMware Network Adapter VMnet1,其IP地址为192.168.163.xxx,可通过运行XP系统ipconfig命令查看宿主机的IP地址,如图3。

3.2 宿主机的配置

宿主机打开Matlab,在命令窗口运行xpcexplr。VMware虚拟网卡的型号是AMD PCNet,恰好属于xPC Target网卡驱动列表中支持的RTLANCE类型。目标机的IP地址设成与宿主机同一网段192.168.163.xxx。其余设置均使用默认即可,如图4。

然后制动目标机启动盘。如要制动启动软盘,则可通过虚拟软驱制成.img格式的软盘文件镜像,然后在VMware虚拟的目标机软驱中加载。为了方便起见,在此使用Matlab 2008b制作CD启动盘,把生成的.iso文件加载到目标机的CD-ROM中,如图5。

3.3 连接宿主机与目标机进行仿真

启动VMware虚拟的目标机,显示如图时说明xPC Target实时内核启动正常,如图6。

启动宿主机Matlab,在命令窗口输入xpctest。如果连接正常将通过8项测试,如图7。

可建立Simulink模型在虚拟机上进行目标机的仿真,如图8。

4 结论与展望

结果表明,虚拟机可以建立xPC Target的目标机,并与宿主机实现通信,进行实时仿真。这样可以仅使用一台PC,省去了很多麻烦。

由于现在的虚拟机还无法使用物理PCI设备,故硬件在环实验没无法通过此方法实现,这是未来可以考虑解决的问题。

参考文献:

[1] 杨涤,李立涛.系统实时仿真开发环境与应用[M].北京:清华大学出版社2002.