第1章绪论
计算机产品的丰富使得我们在系统开发时具有很好的灵活性,但同时接口的不统一又给系统兼容性和维护性带来新的麻烦。如何解决这二者的矛盾一直是个问题,虚拟设备系统的出现很好地解决了这一问题。本论文在研究了虚拟设备系统的特性之后,提出了一种优化的虚拟设备系统结构,使用了分层结构和中间件思想,能够更快速便捷地实现多转换虚拟设备系统。本章首先介绍了论文的研究背景和意义,然后介绍了当前国内外的研究现状。在提出了本文的研究内容和创新点之后,给出了论文的整体组织结构。1.1论文研究背景和意义计算机从40年代出现以来,经历了电子管计算机(1945-1956)、晶体管计算机(1956-1963)、集成电路计算机(1964-1971)和大规模集成电路计算机(1971-现在)四个时代。
计算机性能在不断提高,外设接口也越来越丰富。常见的接口有PS/2(用于连接键盘鼠标等)、并口(用于连接打印机等)、串口(RS232)USB"接口、IEEE1394接口、以太网接口(RJ45),WIFI无线网络、音视频输入/输出接口等。从并、串口逐步被淘汰到USB和IEEE1394接口的兴起,我们看到接口技术的发展趋势正朝向方便实用(比如热插拔功能)、数字化、数据传输量容量增大、交换速度提高、以及适用范围广泛的方向发展。可以看出无论是USB还是IEEE1394都有将外设接口统一化的意向,这样不但提高了外设间的兼容性,而且规范化了制造工艺并进一步提升了产品性能。同一类设备往往会出现接口不同的产品,这使得系统开发时可选择的范围更广、更灵活。但对系统用户来说,也需要购买不同接口的同一类产品。如果在系统开发实现对不同接口的兼容,显然成本较高也没有必要。在其他一些场合,我们还发现存在一些原先的系统使用的外设产品可能已经淘汰(例如一些并口设备,个人计算机上的串口也逐渐在消失)。分布式系统的发展也使得一些总线被新的现场总线所替代。对这些系统进行维护和扩展时有两种解决方案,一是修改原有系统中的设备访问接口,使用新的总线产品替代原先产品,这种方式的成本比较高,尤其是在旧系统比较复杂和资料代码不全情形下。另外一种就是使用虚拟设备系统,将新设备的结构转换到原有接口,实现系统的平稳过渡。很明显,后一种方式更为值得推荐。如何实现更快更有效地实现这样的虚拟设备系统就成为一个富有挑战和实用意义的研究课题。
1.2国内外研究现状虚拟设备的概念在计算机操作系统中流传己久,伴随着操作系统的发展而发展,操作系统上的一个设备可能对应一个物理设备,也有可能对应的是一个虚拟设备。我们最熟悉的莫过于虚拟内存,即使用硬盘资源来替代物理内存资料,扩展内存空间,用于存储一些不常用或者当前不常用的数据。在Windows2000推出WDM驱动模式之前,Windows9x时代设备驱动模式就被称为Vxd(虚拟设备驱动)。在Windows和Linux系统中,系统将大部分设备映射为一个特殊的设备文件,用户程序可以象访问一般文件一样对此设备文件进行操作。根据这一点,我们就构造一个不连接任何硬件的设备文件,即虚拟设备。利用这个设备.我们可以把一系列的底层操作转化为应用层操作,以减低上层工作量。除了操作系统厂商之外,国内外的一些公司和机构也在致力于虚拟设备技术的研究,最著名的有美国的VMware,作为全球桌面到数据中心虚拟化解决方案的领导厂商,VMware目标是将虚拟化技术的益处推向业界标准的计算机。
VMware虚拟化解决方案代表了针对计算的开创性的方式,将操作系统和应用软件与底层硬件分离,显著提高了工作效率、可用性、灵活性和可管理性。其在数据中心和桌名电脑上都有很多很成功的解决方案,最著名也是最为我们熟悉的就是用于桌面电脑的VMwareWorkstation,利用VMwareWorkstation,我们可以在一台安装了Windows系统的机器上安装其他的操作系统,包括LINUX,MacOS或者WinodwsoOracle公司在收购Sun和虚拟化软件供应商VirtualIronSoftware之后,联合三方原先在虚拟机和虚拟化技术上的研究,在向VMware公司的领先地位发起新的挑战,相信随着虚拟化技术优势的不断体现,大家在虚拟设备上的研究将会越来越深入。除去在虚拟化技术整个大方向进行的研究之外,也有一些机构在一些专业虚拟化设备上取得了显著的成果,如美国国家仪器NationalInstruments(NI)提出的虚拟仪器。所谓虚拟仪器,就是在以通用计算机为核心的硬件平台上,由用户设计定义、具有虚拟前面板、测试功能由测试软件实现的一种计算机仪器系统。其基本思想就是在测试系统或仪器设计中尽可能地用软件代替硬件,即“软件就是仪器”。
参考文献
[1]Microsoft Windows Driver Development Kit(DDK)
[2] STR91 x Microcontroller Reference Manual Rev.l .2007
[3] comOcom open source program Rev 2.1.0.0.2007
[4] STR91xF Data Sheet (rev.4), 2007
[5] STM32F10xx Data Sheet (rev.4), 2007
[6] STM32F10xx Microcontroller Reference Manual (rev.2),2007
[7]范皖勇,嵌入式Wi-Fi技术研究与应用,华东师范大学学位论文,2008年12月
[8]黄文博,工业以太网技术研究及其在数据采集系统中的应用,华东师范大 学学位论文,2008年12月
[9] IAR PowerPac Reference Manual (rev. I .0)
[10] Huang Guofu} Wu Jiaping, Shen Jianhua} A Design and Implement of VirtualDevice SystemArchitecture, The 9}' International Confrence on EmbeddedComputing 2009年9月
[11]USB通用串行总线技术规范简介一
[12]武安河,Windows 2000/XP WDM设备驱动程序开发(第二版)。北京:电子工业出版,2005.
[13]侯俊杰,深入浅出MFC(第二版)。武汉:华中科技大学出版社,2005.
[14] Andrew S.Tanenbaum著,潘爱民译,徐明伟审,((计算机网络(第4版)》,清华大学版社出版, ISBN: 7-302-08977-9/TP"6349} 2004-8
[ 15] Jean J.Labrosse著,邵贝贝等译,((嵌入式实时操作系统u C/OS-II(第2版)》,ISBN 7-81077-290-2, 2003一5
[16] Chris Cant.Windows WDM设备驱动程序开发指南.(第1版)孙义,马莉波,国雪飞等译.北京:机械工业出版社
摘要 6-7
ABSTRACT 7
第1章 绪论 10-14
1.1 论文研究背景和意义 10-11
1.2 国内外研究现状 11-12
1.3 本文研究内容 12
1.4 本文组织结构 12-14
第2章 虚拟设备系统 14-17
2.1 虚拟设备系统概述 14
2.2 传统虚拟设备系统结构 14-15
2.3 新型虚拟设备系统结构 15-16
2.4 虚拟设备系统设计准则 16-17
第3章 虚拟设备系统四层结构 17-20
3.1 四层结构概述 17-18
3.2 虚拟设备驱动层 18
3.3 协议转换层 18-19
3.4 物理设备访问层和物理设备层 19-20
第4章 虚拟串口系统总体设计 20-26
4.1 虚拟串口系统概述 20-21
4.2 虚拟串口系统功能描述 21-22
4.3 虚拟串口系统四层结构 22-26
第5章 物理设备硬件介绍 26-38
5.1 USB-232设备硬件介绍 26-31
5.2 Ethernet-232设备硬件介绍 31-36
5.3 WIFI-232设备硬件介绍 36-38
第6章 虚拟串口系统软件设计与实现 38-62
6.1 虚拟串口系统软件总体设计 38-39
6.2 虚拟串口驱动程序 39-41
6.3 虚拟串口服务程序 41-53
6.4 USB-232设备固件 53-58
6.5 Ethernet-232设备固件 58-60
6.6 WIFI-232设备固件 60-62
第7章 虚拟串口系统测试 62-66
7.1 测试环境介绍 62
7.2 功能测试 62-63
7.3 性能测试 63-65
7.4 测试分析与结论 65-66
第8章 论文总结 66-67
附录 67-69
A 研究生学习期间发表的学术论文 67
B 论文图目录 67-68
C 论文表目录 68-69
参考文献 69-71