- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows9X硬件中断设备驱动程序开发
Windows9X硬件中断设备驱动程序的开发
摘 要:本文介绍了在基于PC和Windows 9X平台下实现实时控制的关键技术一一实时钟中断的获取方法,对虚拟设备驱动程序(VxD)和VtoolsD工具箱进行了简要介绍。通过对源代码的分析说明了实时硬件中断VxD的实现过程。 关键词:控制系统 实时系统 虚拟设备驱动程序 VtoolsD 一、绪言 在计算机控制领域,随着硬件的发展,一些原本十分复杂的控制算法的设计和仿真变得越来越容易实现。与基于VME、MULTIBUS以及STD总线的平台相比,基于ISA总线的高性能PC工控机(IPC)无疑是近来应用最为广泛的主流产品。这主要得益于IPC与PC的软件兼容性,此外其开放性结构、外围高性能I/O模板的不断涌现以及实进工业网络的迅速发展都为IPC创造了有利的发展环境。可以说,IPC的时代已经到来。此外,在当今的计算机控制领域中,控制软件是否基???Windows平台已经成为产品是否有竞争力的重要标准之一[1]。目前基于Windows平台的相关产品已经占据了市场份额的90%。而Windows 9X和Windows NT凭借其出色的多任务、图形用户接口(GUI)、性能优越的硬件兼容性以及卓越的32位软件环境等性能已经越来越广泛地被应用于工业控制,成为实现实时控制的优秀平台。 与Windows NT及其实时扩展PTX4.1[2]相比,Windows 9X的应用更为广泛灵活,而且对硬件的要求并不苛刻。本文将讨论在Windows 9X下实现实时控制的关键技术一一实时时钟中断驱动程序的设计及实现。 二、Windows 9X下实时进钟的获得 在实时控制中中断技术应用得十分广泛,其中实时时钟的获得基本上都是通过中断来实现的。时钟控制在实时控制中处于十分重要的地位,它负责推进控制过程、激活各控制任务或发关控制消息,起到了总控制器的作用。在Windows 9X下实时时钟的获得可以有不同的方法。设置Win32定时器并通过响应WM-TIMER消息来进行实时处理是最简单的方法。但是由于WM-TIMER消息的低优先级和未处理消息在消息队列中的组合造成了系统实时处理的不稳定,因此这种方法只适合实时性要求不高的应用。若采用Windows多媒体定时器,通过设置回调函数可以获得最高精度为Ims的定时信号,但是由于占用了系统宝贵的资源,而且当定时信号由用户提供或需要更高的中断频率时这种方法就显得无能为力了。与这些基于类似软件中断的方法相比,基于硬件中断的方法占据了主导地位,并在绝大多数的实时系统中得到了应用,因为它保证了对实时控制系统至关重要的可靠性。本文将讨论在PC和Windows 9X环境下对于实时控制系统的设计和实现中最为关键的硬件中断VxD的实现。 三、VxD及VtoolsD VxD是32位保护模式下的可执行DLL,用于管理系统资源。所有的VxD运行于Windows VMM的监控之下。VMM和VxDs共同构成了Windows Ring 0层的系统内核。 开发虚拟设备驱动程序(VxD)的常规方法是使用Microsoft出品的设备驱动程序开发工具包DDK(Device Developer Kit)。这要求设计者必须对Windows 95的体系结构、设备驱动程序的结构、VMM(Virtual Machine Manager,即虚拟机管理器)以及Intel CPU体系结构有深入的了解,而且需要保护模式的汇编语言编程经验[3]。但正如我们现在很少有人使用SDK开发Windows应用程序,取而代之以MFC或OWL等C++类库编程一样,DDK的开发人员现在可以使用类似VtoolsD、WinDriver等第三方的软件来编制驱动程序,笔者推荐使用VtoolsD。 Vireo公司出色的VtoolsD由可视的VxD代码生成器QuickVxD、C运行库、VMM/VxD服务库、C++类库以及VxD的装入程序等组成。利用QuickVxD生成的框架程序和经充分测试过的C运行库或C++类库可以绕过DDK用C或C++来编制驱动程序,这就大大地简化了开发的难度,提高了可靠性。框架程序可以直接在Visual C++集成开发环境中用NMAKE编译为VxD。四、硬件中断驱动程序开发实例 在笔者设计的24自由度仿人型机器人实时仿真和控制系统中,为了提高系统的可移植性,首先通过VxD修改PC基板上CMOS中的可编程计数器以获得2KHz的系统08中断频率,并截获此中断来进行实时调度。通过对此基本定时信号的调度以获得诸如对外部多通道的模拟量进行采集、控制算法处理、控制结果输出以及实时屏幕刷新等多任务的定进信号[4]。这种方法不需要用户提供附加的硬件定时器。开发中选定Windo
您可能关注的文档
- S—6—2正文-结论-参考文献等标准格式(.doc
- sybase系统的管理员培训的教程.doc
- S—6—2正文-结论-参考文献等标准格式(经管文科专业学生用)1.doc
- s区、d区、ds区重要元素和其化合物.doc
- T19第二组手机游戏-策划文档.doc
- SuperCMS模板应用的设计的说明书v20100817.doc
- T61029号别墅建筑施工图纸.doc
- T60p也没法比戴尔工作站M90评测[FX2500M].doc
- SW—704—01船用物资采购与验收标准.doc
- T6837号别墅建筑施工图纸.doc
- windows7功能介绍和解决方法.doc
- windows7中70个该知道技巧.doc
- WindowsMobile智能手机[SP版]修正手则.doc
- Windows7优化大师详细使用的教程.doc
- WindowsMediaPlayer控件使用方法.doc
- windows8方法知识点扫盲50个win8使用方法全集.docx
- windows7如何设置始终以管理员身份运行特定和全部程序.doc
- WindowsServer2008R2角色、服务和功能名称.doc
- WindowsMobile论文-WindowsMobile平台下手机智能输入法实现方法研究.doc
- windowsserver2008在局域网中应用.doc
文档评论(0)