网站大量收购独家精品文档,联系QQ:2885784924

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

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

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PCI总线运动控制卡WDM驱动程序设计,pci总线驱动程序,sm总线控制器驱动程序,wdm驱动程序,pci总线控制器驱动,pci总线控制器,uaa总线驱动程序,hdaudio总线驱动程序,总线驱动程序,声卡uaa总线驱动程序

基于PCI总线运动控制卡WDM驱动程序设计 (1) 2008-07-23 13:45:30??来源:互联网??   本文给出了一种使用DriverStudio设计WDM驱动程序的方法,用以实现数控系统应用程序对运动控制卡的访问。文中以基于PCI总线的运动控制卡为对象,在构架其硬件结构的基础上,阐述了设计WDM驱动程序的主要步骤,开发了WDM驱动程序,在Windows环境下进行测试,达到了预期目的。 关键字:WDM [3篇] PCI [15篇] DriverStudio [1篇] PCI总线 [5篇] ?引言   目前,开放式数控系统正得到日益广泛的应用,其中,基于Windows和PC机的开放式数控系统将成为数控技术发展的趋势。本文研究的数控系统采用NC嵌入PC的开放式结构,并以Windows?2000操作系统为平台。NC嵌入PC型数控系统是指将运动控制卡插入计算机的扩展槽中,由PC机完成非实时性处理任务,实时控制则由运动控制卡来承担。由于在Windows环境下,用户态的应用程序不能直接访问硬件,而要通过调用执行于核心态的设备驱动程序间接地访问硬件资源,因而,应用程序要对该数控系统中的运动控制卡进行访问,必须为其开发设备驱动程序。   本文以该数控系统中基于PCI总线的DSP运动控制卡为研究对象,主要讨论该运动控制卡在Windows?2000环境下的WDM驱动程序的设计。 1?WDM驱动程序的结构及开发工具简介   1.1?WDM驱动程序的结构   Windows?Driver?Model?(WDM)驱动程序是一种PnP(即插即用)驱动程序,它同时还遵循电源管理协议,并能在Windows?98,Windows?2000和Windows?XP间实现源代码级兼容。在WDM驱动程序模型中,每个硬件设备至少有两个驱动程序。其中一个驱动程序称为功能驱动程序,负责初始化I/O操作,处理I/O操作完成时带来的中断事件,并为用户提供一种连接设备的控制方式;另一驱动程序称为总线驱动程序,它负责管理硬件与计算机连接[1]。   WDM驱动程序采用分层的结构模型,如图1所示[2]。图1中左边是一个设备对象堆栈,设备对象是操作系统为帮助软件管理硬件而创建的数据结构。处于堆栈最底层的设备对象称为物理设备对象,简称为PDO。在设备对象堆栈的中间有一个对象称为功能设备对象,简称为FDO。在FDO的上面和下面还会有一些过滤器设备对象,简称为FiDO。位于FDO上面的过滤器设备对象称为上层过滤器,位于FDO下面的过滤器设备对象称为下层过滤器。在单个硬件的驱动程序堆栈中,总线驱动程序管理计算机与PDO所代表的设备的连接。功能驱动程序管理FDO所代表的设备。过滤器驱动程序用于监视和修改I/O请求包(IRP)流。 图1?WDM设备对象和驱动程序的层次结构   1.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公司的TMS320LF2407?DSP芯片为核心处理器。该运动控制卡的硬件系统包括PCI接口子模块、数字信号处理器(DSP)子模块和轴控制接口子模块。   该运动控制卡的PCI接口采用PLX公司的PCI9052接口芯片,这是PLX技术公司为扩展适配板卡推出的能提供一种混合高性能PCI总线目标模式的接口芯片。它可与多种局部总线相连,并具有异步操作、中断产生器、FIFO等特点。运动控制卡与上位PC机通过PCI总线进行连接,PCI接口子模块通过双端口存储器RAM器件IDT7026与DSP子模块连接。双端口存储器(RAM)是一个双向FIFO数据存储器,起数据缓冲的作用。轴控制接口子模块则通过CPLD(复杂可编程逻辑器件)与DSP子模块连接。运动控制卡硬件结构示意图如图2所示[4]。 图2?运动控制卡硬件结构示意图 3?运动控制卡驱动程

文档评论(0)

tianma2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档