欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于PCI总线运动控制卡WDM驱动程序设计.docx

    • 资源ID:17749928       资源大小:20.47KB        全文页数:10页
    • 资源格式: DOCX        下载积分:15.18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15.18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于PCI总线运动控制卡WDM驱动程序设计.docx

    基于PCI总线运动控制卡WDM驱动程序设计yangliu导语:本文给出了一种使用DriverStudio设计WDM驱动程序的方法,用以实现数控系统应用程序对运动控制卡的访问摘要:本文给出了一种使用DriverStudio设计WDM驱动程序的方法,用以实现数控系统应用程序对运动控制卡的访问。文中以基于PCI总线的运动控制卡为对象,在构架其硬件构造的根底上,阐述了设计WDM驱动程序的主要步骤,开发了WDM驱动程序,在Windows环境下进展测试,到达了预期目的。关键词:WDM;PCI;DriverStudio目前,开放式数控系统正得到日益广泛的应用,其中,基于Windows和PC机的开放式数控系统将成为数控技术开展的趋势。本文研究的数控系统采用NC嵌入PC的开放式构造,并以Windows2000操纵系统为平台。NC嵌入PC型数控系统是指将运动控制卡插入计算机的扩展槽中,由PC机完成非实时性处理任务,实时控制那么由运动控制卡来承当。由于在Windows环境下,用户态的应用程序不能直接访问硬件,而要通过调用执行于核心态的设备驱动程序间接地访问硬件资源,因此,应用程序要对该数控系统中的运动控制卡进展访问,必须为其开发设备驱动程序。本文以该数控系统中基于PCI总线的DSP运动控制卡为研究对象,主要讨论该运动控制卡在Windows2000环境下的WDM驱动程序的设计。1WDM驱动程序的构造及开发工具简介1.1WDM驱动程序的构造WindowsDriverModelWDM驱动程序是一种PnP即插即用驱动程序,它同时还遵循电源治理协议,并能在Windows98,Windows2000和WindowsXP间实现源代码级兼容。在WDM驱动程序模型中,每个硬件设备至少有两个驱动程序。其中一个驱动程序称为功能驱动程序,负责初始化I/O操纵,处理I/O操纵完成时带来的中断事件,并为用户提供一种连接设备的控制方式;另一驱动程序称为总线驱动程序,它负责治理硬件与计算机连接1。WDM驱动程序采用分层的构造模型,如图1所示2。图1中左边是一个设备对象堆栈,设备对象是操纵系统为帮助软件治理硬件而创立的数据构造。处于堆栈最底层的设备对象称为物理设备对象,简称为PDO。在设备对象堆栈的中间有一个对象称为功能设备对象,简称为FDO。在FDO的上面和下面还会有一些过滤器设备对象,简称为FiDO。位于FDO上面的过滤器设备对象称为上层过滤器,位于FDO下面的过滤器设备对象称为下层过滤器。在单个硬件的驱动程序堆栈中,总线驱动程序治理计算机与PDO所代表的设备的连接。功能驱动程序治理FDO所代表的设备。过滤器驱动程序用于监视和修改I/O恳求包IRP流。align=center图1WDM设备对象和驱动程序的层次构造/align1.2开发工具简介开发驱动程序的软件很多,如NuMega公司的DriverStudio、Jungo公司的WinDriver和Microsoft公司的DDK等。在使用中,固然利用DDK开发的驱动程序代码非常简洁,构造明晰,效率也高,但是开发难度较大3。利用DriverStudio、WinDriver等第三方开发工具那么使用简单,开发速度较快。因此选用NuMega公司提供的DriverStudio作为开发工具。NuMega公司的DriverStudio是一套用来简化微软Windows平台下设备驱动程序的开发、调试和测试的工具包。DriverStudio包括DriverWorks、DriverNetworks、SoftICE和VToolsD等工具模块。其中,DriverWorks包含一个非常完善的源代码生成工具DriverWizard以及相应的类库和驱动程序样本,它提供了在C+下进展设备驱动程序开发的支持。2运动控制卡的硬件构造所设计的运动控制卡采用TI公司的TMS320LF2407DSP芯片为核心处理器。该运动控制卡的硬件系统包括PCI接口子模块、数字信号处理器DSP子模块和轴控制接口子模块。该运动控制卡的PCI接口采用PLX公司的PCI9052接口芯片,这是PLX技术公司为扩展适配板卡推出的能提供一种混合高性能PCI总线目的形式的接口芯片。它可与多种部分总线相连,并具有异步操纵、中断产生器、FIFO等特点。运动控制卡与上位PC机通过PCI总线进展连接,PCI接口子模块通过双端口存储器RAM器件IDT7026与DSP子模块连接。双端口存储器RAM是一个双向FIFO数据存储器,起数据缓冲的作用。轴控制接口子模块那么通过CPLD复杂可编程逻辑器件与DSP子模块连接。运动控制卡硬件构造示意图如图2所示4。align=center图2运动控制卡硬件构造示意图/align3运动控制卡驱动程序的设计使用DriverWorks为该运动控制卡开发WDM驱动程序主要有三个步骤:创立WDM驱动程序框架;实现驱动程序的详细功能;生成WDM驱动程序。下面是借助DriverWorks设计运动控制卡WDM驱动程序的详细方法。3.1使用DriverWizard生成WDM驱动程序框架DriverWizard是DriverWorks创立WDM框架程序的工具。在创立一个PCI设备的WDM驱动程序框架时,共有十一步,其中以下几点需十分留意:1第四步:选择硬件设备所支持的总线类型,这里选PCI,并根据详细硬件填写PCIVendorID、PCIDeviceID、PCISubsystemID和PCIRevisionID。这些参数可以从硬件消费厂家得到,假如所填写的参数和目的PCI设备存放器中不一致的话系统将安装不上此驱动程序。2第六步:选择驱动程序支持的功能项,选中Read、Write、DeviceIOControl和Cleanup四个复选框。3第七步:选择I/O恳求IRP处理的方式,选择DriverManaged,由驱动程序治理的StartIO处理排队队列,并选择读写恳求分别进展排队队列处理。4第九步:选择设备文件中的类名和接口类型,类名通常取默认值,选择GUID接口方式作为应用程序翻开设备的方式。在资源栏中分别点击AddIOPorts、AddMemoryRange.和AddIRQ.声明所需的资源。5第十一步:为了调试方便和更好地理解WDM驱动程序的运行经过,选择让系统生成控制台测试程序和用SoftICE调试的跟踪代码TraceCode。至此,驱动程序框架已形成。DriverWizard生成了两个类:一个是驱动程序文件中的类,主要完成WDM的DriverEntry和AddDevice例程;另一个是设备文件中的类,主要完成与硬件交互的例程。3.2驱动程序功能的实现DriverWizard创立的WDM驱动程序框架中包含了很多例程。这些例程可分为两种:必须的根本例程和根据需要可选择的扩展例程。根据需要修改相应的例程即可实现该运动控制卡驱动程序的详细功能。3.2.1初始化驱动程序DriverEntry例程DriverEntry例程负责驱动程序的初始化,所有的驱动程序都必须包含DriverEntry例程。当装载驱动程序时,PnP治理器为每个驱动程序调用一次DriverEntry例程。DriverEntry用以初始化驱动程序范围的数据构造和资源。DriverEntry例程主要有以下三个功能:1设置AddDevice、Unload、Dispatch和其他例程的入口指针2可以从注册表中获取一些必要的信息以初始化驱动程序3初始化其他的在驱动程序范围内的数据构造和资源3.2.2串行读例程SerialRead例程在该驱动程序中,对IRP进展串行处理采用的是由驱动程序治理的IRP队列。当硬件设备处于忙状态时,将IRP排队;当硬件设备处于空闲状态时,将排队的IRP取出处理。SerialRead例程是扩展例程,向SerialRead例程中添加功能代码就可以实现PC机对运动控制卡的串行读操纵,应用程序可以通过该WDM驱动程序读取双端口RAM中的数据及参数。3.2.4串行写例程SerialWrite例程在该驱动程序中,要实现PC机对运动控制卡的串行写,需要使用SerialWrite例程。串行写操纵主要负责处理运动函数原型的解读,并将解读后的指令写入双端口RAM中。3.3生成WDM驱动程序设计完成后的WDM驱动程序将生成一个工作区Workspace和两个工程Project,生成的工作区包括了驱动程序工程和应用程序工程。分别选择两个工程,并分别将其设置成为当前活开工程,用VisualC+6.0对其进展编译。对于驱动程序的编译,不用进展任何设置,单击Build图标即可生成后缀名为.sys的驱动程序文件。4运动控制卡驱动程序的安装与应用生成后缀名为.sys的驱动程序后,安装之前,首先要修改INF文件,然后将其拷贝到“.sysobjchki386目录下。修改INF文件只要将文件双引号中的提示改为相应的内容即可生成设备信息文件。对该驱动程序的INF文件作如下修改:StringsProviderName=“数控研究中心/公司名称MfgName=“华南理工大学机械与工程学院/硬件制造商名称DeviceDesc=“高级运动控制卡V3.2/设备描绘DeviceClassName=“高级运动控制/设备类描绘SvcDesc="运动控制"/效劳描绘使用控制面板中的添加新硬件来搜索新硬件,根据提示指定INF文件和编译后生成的.sys驱动程序文件,系统就可以自动安装新硬件的驱动程序。驱动程序安装好之后,在Windows2000环境下对运动控制卡及其设备驱动程序进展实际测试4。测试结果说明,此设备驱动程序能使运动控制卡在Windows2000环境稳定工作,并能对多轴的运动位置和速度进展准确控制。同时,将该驱动程序移植到Windows98/XP系统中,也能驱动运动控制卡正常工作。5完毕语传统的驱动程序都是用DDK开发,开发效率不高。本文以基于PCI总线的运动控制卡为研究对象,以DriverWorks为工具,方便快捷地设计完成了设备驱动程序。在Windows环境下对运动控制卡及其驱动程序进展测试,结果说明,此驱动程序能使该运动控制卡在Windows环境下稳定工作。本质上,驱动程序仍知足DDK对WDM的要求,调用的还是DDK所提供的根本函数。利用DriverStudio对数控系统中的运动控制卡开发驱动程序,对数控系统实现开放式软件构造及人机界面具有重要意义。本文作者创新点:利用DriverStudio来设计运动控制卡的WDM驱动程序,实现了在Windows2000环境下,上位机和运动控制卡的正常通讯,并能根据上位机的指令通过运动控制卡对多轴运动位置和速度进展准确控制。参考文献:1司玉美,邹荣士,郭立红.PCI串口通讯卡WDM驱动程序设计与实现J.微计算机信息,2005,22,第145页2武安河,邰铭,于洪涛.Windows2000/XPWDM设备驱动程序开发M.电子工业出版社,20033武安河,周利莉.Windows设备驱动程序VxD与WDM开发实务M.电子工业出版社,20014朱金华.基于PCI总线的DSP运动控制卡研发D.广州:华南理工大学机械工程学院,20040

    注意事项

    本文(基于PCI总线运动控制卡WDM驱动程序设计.docx)为本站会员(安***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开