Xpc系统宿主机和目标机通讯的实现一、用U盘制作XPC的目标启动盘制作XPC目标启动盘——U盘的步骤主要有两步:第一,将U盘制作成DOS启动盘,通过从U盘启动的方式能使目标机启动到DOS环境下;第二,生成DOS载入器的目标启动盘,在XPC目标环境设置对话框中,将属性TargetBoot设置为DOSLoader,单击BootDisk按钮,XPC目标将必需的文件复制到已制作好的U盘DOS启动盘上。至此目标盘制作完毕,将该制作好的目标盘插到目标机上的USB接口启动,启动后的目标机处于等待状态,准备接收从宿主机下载的XPC目标应用程序。下面介绍下具体的制作过程。一.U盘DOS启动盘的制作目前有两种比较流行的U盘DOS启动盘制作软件——USBoot。USBoot可将U盘制作成FDD,HDD和ZIP三种模式,但超过256M的U盘只能制作成FDD模式;这里以USBoot为例,详细介绍通过该软件来制作U盘DOS启动盘的过程。U盘要求:FAT格式,不大于512M1.首先请备份好您U盘上的所有数据至硬盘或其它设置上,使用此程序会删除掉您U盘版上的所有数据,请注意。2.运行Usboot.exe,USBOOT运行后(见下图):确保您U盘上的数据没用后,点确定。出现下面这个对话框①选中你的U盘;②点击蓝色的字选择工作模式;③建议选择ZIP模式!关于USb三种启动方式HDD/FDD/ZIP方式的区别见参考资料《USB的三种启动方式》④点击《开始》,开始制作。⑤出现下面这个对话框时,确保你的U盘中数据已没用,再点击确定。单击确定后,会弹出下面的对话框,再次让您确认,确认无误后,再选择“是”⑥启动盘制作时出现下面的提示,请按正常程序拔下U盘:Win9x系统:可直接拔下U盘Win2000、XP、2003系统:请双击任务栏右侧红色圆圈内的《安全删除硬件》图标,正常卸载U盘。⑦根据提示再次插上U盘⑧稍后就会出现下面这个成功的提示,说明你的U盘目前已经是可启动基本DOS的了,点击右上角的×关闭USBOOT。3.直接打开U盘,检查下里面是否包含两个系统文件IO和MSDOS。如果有,那么U盘DOS启动盘制作成功。二.生成DOS载入器的目标启动盘的过程1.启动MATLAB,并执行如下命令函数:XPCEXPLR打开XPC目标环境设置对话框,如下图所示。2.单击Compiler(s)Configuration,出现下面对话框在SelectCcompiler这一选项中设置属性VisualC,CompilerPath:这一属性通过在matlab命令窗口中输入mex-setup来设置。要保证电脑中安装有VC6.0之类的C编译器。(在整个示例中可能遇到matlab版本和C编译器版本不匹配而引起的各种问题,所以请先确认它们是否匹配。本示例采用matlab2009a和VC++6.0)3.单击Communication出现如下对话框:这部分的属性设置参考资料:《xpc_target_gs[1]》中NetworkCommunication部分宿主机和目标机之间可以通过串口(RS-232协议)或者网络(TCP-IP协议)连接来实现通讯,但TCP/IP通讯同串口通讯相比有明显的优势:廉价,硬件要求不高,传输速率和可靠性高,可进行远距离传输······下面详细介绍通过网络实现宿主机和目标机的通讯:1通过网线来实现通讯的硬件要求:目标机上要求安装有XpcTargetProduct支持的以太网卡。在目标机上,我的电脑右键—管理—设备管理器—网络适配器中查看所安装的网卡型号。matlab的版本和其支持的以太网卡见参考资料《XPC支持的网卡类型》2通过一根网线连接宿主机和目标机。理论上同一网络层中的设备应该用交叉线连接,通过试验和查找相关资料可知,目前网卡基本都具有自动翻转功能,两台电脑之间亦可通过直通线连接。3设置目标机IP地址:控制面板网络和Internet网络共享中心更改适配器设置右键单击本地连接属性双击Internet协议版本4(TCP/IPv4)选择使用下面的IP地址,设置IP地址如下(只需保证IP地址合法且目标机和宿主机IP地址在同一段内即可)对话框中只需设置IP地址和子网掩码,其他无需设置目标机IP设置如下:同上步骤设置宿主机IP地址设置如下:4在宿主机和目标机IP地址均设置好,且用网线连接好后。在DOS界面用ping命令检测两台电脑是否可以ping通。在宿主机上开始运行输入CMD确定进入DOS界面,输入命令:ping192.168.0.22如果可以正常ping通这会显示如下界面:同上可以在目标机上的DOS界面中输入同上命令ping192.168.0.10,测试宿主机和目标机之间是否能互相ping通如果可以互相ping通则进行下面的设置,否则重新检查宿主机和目标机的IP设置及网线是否插好(或者将直通线换为交叉线)。5单击Communication出现如下对话框:在Communicationprotocol对话框中选择TCP/IP在TargetPCIPaddress对话框中输入目标机设置的IP地址:192.168.0.22在TCP/IPtargetdriver对话框中选择目标机上网卡对应的驱动或者选择Auto让系统自动识别在TCP/IPtargetbus对话框中根据目标机总线为PCI还是ISA进行选择(目前绝大部分上为PCI总线)其他对话框中选择默认值,设置好的对话框如图所示:6单击对话框中的Apply将所设置的参数应用保存7.将制作好的U盘DOS启动盘插到宿主机的USB接口上8.单击Configuration,出现下面的对话框在TargetBootmode这一选项中设置器属性为DOSLoader。在location这一选项中设置U盘的盘符。9.单击CrateDosLoader按钮创建目标启动盘时,将显示以下对话框10.启动盘制作成功,此时U盘中有如下文件11.将U盘从宿主机中取出,插到目标机的USB接口上,启动目标机。目标机显示如下:二、建立一个含信号源的模型在目标机上显示信号波形1打开matlab单击打开SimulinkLibraryBrowser界面单击新建一个模型,在其中加入SineWave,Scope,Scope(xpc)模块(Scope(xpc)模块的路径为xpcTargetmiscScope(xpc))有关xpctarget的参数设置见参考资料《xpc_target_gs[1]》(页码3-22)建立好模型如下图所示:仿真参数的设置参考资料《Simulink基础入门教程【完整版】》仿真参数的设置(页码53)和《xPCTargetUser'sGuide》SettingConfigurationParameters(页码29-2)单击simulation在下拉条中选择ConfigurationParameters打开如下对话框:在Solver节点对话框中设置Starttime为0.0,stoptime为inf在Solveroptions对话框中将Type:选为Fixed-stepSolver:选为ode3设置Fixed-stepsize(fundamentalsampletime):为0.01其他属性设置为默认值,设置好后如下图所示:单击Real-Timeworkshop节点显示如下对话框:在Systemtargetfile对话框中单击Browse选择xpctarget.tlc其他对话框设置为默认值,如下图所示:然后单击OK保存。2测试宿主机和目标机能否通过xpctarget这个系统连通。见参考资料《xpc_target_gs[1]》(页码2-62)和《xPCTargetUser'sGuide》(页码13-2)在命令窗口输入命令:xpctest进行测试如果测试通过会显示如下界面:如果出现fail,见以上参考资料上所述方法逐个排查。3在xpcTargetExplorer对话框中单击连接宿主机和目标机,在模型窗口Tools下拉条中选择Real-timeworkshopbuildmodel将模型进行编译,这个过程中模型生成的代码同时会被下载到目标机的内核中。此时目标机会显示如下界面:在xpcTargetExplorer界面单击模型开始执行,目标机上会显示如下正弦信号:有关Xpc相关问题可在以下网站查找相关资料:Matlab中文论坛Simulink快速原型和硬件真中国=xpc++language%3A%22%E4%B8%AD%E6%96%87%22