您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > XPC环境下PCI板卡驱动
项目名称:硬件在环XPC环境下PCI板卡驱动编写方法编写人:张永光编写时间:2010.4.12部门名:APP组审核人:审核时间:XPC环境下PCI板卡驱动编写方法1修订页编号章节名称修订内容简述修订日期修订前版本号修订后版本号修订人批准人1全部创建2009.4.12张永光XPC环境下PCI板卡驱动编写方法2目录1引言...........................................................................................................................................31.1编写目的.......................................................................................................................31.2背景...............................................................................................................................31.3定义...............................................................................................................................31.4参考资料.......................................................................................................................32驱动的编写方法.......................................................................................................................42.1什么是S-Function........................................................................................................42.2驱动创建方法...............................................................................................................42.3CS-Function模板.......................................................................................................52.3.1驱动流程...........................................................................................................52.3.2预处理...............................................................................................................82.3.3mdlInitializeSizes..............................................................................................82.3.4mdlInitializeSampleTimes.................................................................................92.3.5mdlStart...........................................................................................................102.3.6mdlOutputs......................................................................................................112.3.7mdlterminate...................................................................................................112.3.8末尾的条件编译语句.....................................................................................113驱动编写示例.........................................................................................................................123.1编写C文件................................................................................................................123.2封装成S-function.......................................................................................................154软件相关信息.........................................................................................................................204.1程序文件列表.............................................................................................................204.2运行平台.....................................................................................................................204.3编程语言.....................................................................................................................20附录................................................................................................................................................21XPC环境下PCI板卡驱动编写方法31引言1.1编写目的本文详细介绍了如何使用Matlab的CMEXS-Function编写XPC环境下板卡驱动的方法。本文的主要目的是使相关开发人员阅读之后能够了解XPC的工作原理并能开发实际的驱动程序。本文适合项目组领导者及相关项目设计,编码和测试人员参考。也适合想学习CMEXS-Function的人员1.2背景XPC半实物仿真目标是个基于RTW的低端实时仿真和开发平台,可将Intel80x86/Pentium计算机转变为一个实时系统。不需第三方操作系统的支持,在计算机上配置输入输出设备就能和外部交换信息,进行硬件在环仿真和测控系统开发。XPC实时系统包括1台主机和1台目标机。主机上用Matlab,Simulink完成建模,生成模型文件,然后调用Real-TimeWorkshop工具箱,生成包含设备驱动程序的xPC目标,通过通信电缆下载到目标机上;目标机启动时装载xPC工具箱提供的实时内核,该内核保证目标的实时高速运行,目标机上配有输入输出设备和外部交换信息。XPC目标工具箱自带的驱动程序有如下局限性:(1)只支持一些知名厂商的部分设备,基本不支持国产设备;(2)对于支持的某些设备,不支持其某些功能,或支持的功能无法满足要求,这时须开发驱动程序。1.3定义S-Function:systemfunction,MATLAB的系统函数CMEXS-Function:用c语言编写的S-FunctionxPC:基于RTW的低端实时仿真和开发平台,可将Intel80x86/Pentium计算机转变为一个实时系统。1.4参考资料【1】MATLAB的help文件【2】基于MATLAB/Simulink的系统仿真技术与应用【3】基于MATLAB的硬件驱动开发XPC环境下PCI板卡驱动编写方法42驱动的编写方法2.1什么是S-FunctionS-Function是system-function的缩写。当MATLAB所提供的模型不能完全满足用户需要时,就可以通过S-Function提供给用户自己编写程序来满足自己要求模型的接口。S-Function使用一种特殊的调用格式让你可以与Simulink方程求解器相互作用,这与发生在求解器和内置Simulink块之间的相互作用非常相似。S-Function的形式是非常通用的,且适用于连续、离散和混合系统。S-function提供了一种在Simulink模型中增加自制块的手段,你可以使用MATLAB,C,C++,Ada,或Fortran语言来创建自己的块。按照下面一套简单的规则,你可以在S-function中实现自己的算法。在你编写一个S-Function函数,并将函数名放置在一个S-Function块中(在用户定义的函数块库中有效)之后,通过使用masking定制用户界面。2.2驱动创建方法(1)用c语言编写一个驱动,保存为c文件,如DO1727.c;(2)编写好之后,在matlab下使用mex命令将编写好的c文件编译成mex文件,提供给s-function模块使用,如:mexDO1727.c;(3)打开simulink,创建一个library,保存为一个mdl文件,如DO1727.mdl;(4)在新建的library中,创建一个S-function,从simulink库中拖出一个S-functionBlock到新建的library中;(5)配置好s-function,在S-functionname中填写驱动的名字,S-functionparameter中填写需要输入的变量用,逗号分隔开来;(6)通过mask对新建的block进行包装;(7)将保存好的mdl文件移动到matlabroot\toolbox\rtw\targets\xpc\target\build\xpcblocks\thirdpartydrivers文件夹中去;(8)为了能够将新建的驱动导入到simulink库中,需要创建一个m文件,在matlabroot\toolbox\rtw\targets\xpc\target\build\xpcblocks\thirdpartydrivers文件夹中找到samp
本文标题:XPC环境下PCI板卡驱动
链接地址:https://www.777doc.com/doc-3140952 .html