- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串口中断方式通信
维普资讯
2004年 2月 重 庆 大 学 学报 F-eb.2004
第 27卷第2期 Journal ofChongqingUniversity V01.27 No.2
文章编号:1000—582X(2004)02—0079—04
用虚拟设备驱动程序实现中断方式的串口通讯。
张 平 ,张 建 明
(1.重庆大学 ICT研究中心,重庆 400030;2.重庆大学数理学院,重庆 4ooo3o)
摘 要:阐述了在Windows下开发虚拟设备驱动程序 (VxD)进行底层操作的高效的中断方式的串
口通讯。分析了虚拟驱动程序,可编程中断控制器,虚拟化中断的方法;例举了UART芯片8250的工作
原理来分析 串口通讯编程 ;讨论了WIN32应用程序和VxD间的通讯,给出了VxD的内部组成 。应用实
例表 明该方法下串口通讯是高效的。
关键词:虚拟制备驱动程序;串口;虚拟可编程中断控制器设备
中图分类号:TP334.4 文献标识码 :A
用到串口的程序一般都是用 Windows提供的API 负责处理主要的中断处理及例外情况,正是VMM和
函数或者MSCOMM控件或者第三方提供的控件。在 VxD构成了Windows9x的系统核心。
一 般的应用里,由于用不着高效率的反应速度,程序可 开发VxD的工具有很多种,一个是微软提供的
在多线程里用查询法MSCOMM控件来解决串口通讯。 DDK(DeviceDriverKit),二是美国VireoSoftware公司
但是在实时性要求比较高,而计算机运行任务比较重 开发的用于编写设备驱动程序的VroolsD,三是美国
的情况下,以上方法则容易出现丢失字节的情况,从而 KRFTech公司开发的Windriver工具包。这里举例的
降低了整个系统的效率。最有效的办法就是设计 自己 VxD是用汇编语言编写,DDK来编译开发的。
的串口虚拟设备驱动程序,在串口中断函数里第一时
2 硬件中断和 I/O操作
间处理从串口接收到的数据。
在Windowsgx下处理硬件中断,一般应该使用
1 虚拟设备驱动程序 (VirtualxDriver,VxD)
VPICD3【提供的功能。VPICD是 Wnidowsgx本身提供
设备驱动程序是管理系统软硬资源的二进制可执 的vxD,提供虚拟的可编程中断控制器 (Programable
行代码 ¨ ,它是 1个 32位保护模式下的可执行 InterruptController)的操作服务,而让其他vxD请求、
DLL。VxD中的 “x”代表 “某些”,VxD是虚拟设备驱 模拟硬件中断。中断反射的过程如图l所示。
动程序的统称,VxD对硬件设备进行虚拟化,软件可
以通过v】D【的服务来使用相应的设备。v】D【只能运
行在 Windows9x上 (不考虑 l6位 Windows),在 Win—
dowsNT/2000/XP上不 能正常运行,WindowsNT/
2000/XP有它们 自己的驱动程序模式,但是它们的实
时性没有Windows9x好 。
所有的VxD的运行处在Windows9x虚拟机管理
器 (VirtualMachnieManagement,VMM)监控下。VMM
图1 中断映射过程
包含了所有基本的系统功能,如任务间通信,此外,还
· 收稿 日期:2003—09—12
作者简介:张平 (1957一),女,重庆人,重庆大学高级工程师,主要从事计算机应用及工业cI研究。
文档评论(0)