




已阅读5页,还剩60页未读, 继续免费阅读
(计算机系统结构专业论文)一种虚拟设备系统结构的设计和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 摘要 随着计算机技术的发展,总线技术也在不断发展,总线种类越来越多,速度 也越来越快。市面上同类型产品接口呈现多样化,这使得应用开发者在系统设计 时选择更灵活,但同时也带来新的问题,在开发系统中往往要考虑到对产品接口 的兼容性。低速设备的淘汰使得旧系统的升级经常出现设备短缺,现代应用系统 对现场总线的需求也使得原先一些非现场总线系统的升级成为难题。虚拟设备系 统的出现很好地解决了上述问题。虚拟设备系统实现设备接口转换,保持新设备 对应用程序的接口与旧设备一致,实现系统的平稳维护和升级。如何快速有效构 建虚拟设备系统就成为一个新的研究课题。 本文首先介绍了虚拟设备系统的概念,分析了现有的一些虚拟设备系统的结 构。在此之上提出使用分层系统实现虚拟设备系统,并总结出几条虚拟设备系统 分层准则。根据分层准则,文中提出了虚拟设备系统四层结构并给出了一个基于 该结构的w i n d o w s 虚拟串口系统的设计和实现。最后本文对实例应用虚拟串口系 统进行了完整测试、分析和评估,从而验证了虚拟设备四层结构的实用价值。 本文的贡献和创新点如下: 1 ) 归纳出儿条虚拟设备系统结构的评价准则,为以后创建新的虚拟设备系统 结构提供依据。 2 ) 提出一种虚拟设备四层结构,为以后的虚拟设备系统开发提供了参考。 3 ) 设计并实现了一套多功能虚拟串口系统,具有一定的市场价值。 关键词:虚拟设备;分层系统;四层结构;驱动程序;虚拟串口 华东师范大学硕七学位论文一种虚拟设备系统结构的设计和实现 a bs t r a c t w i t ht h ed e v e l o p m e n to f c o m p u t e rt e c h n o l o g ya n db u st e c h n o l o g y , c o m m p u e r p e r i p h e r a l so f t h es a m ek i n da l w a y sh a v ed i f f e r e n ti n t e r f a c e sa n db r i n ga p p l i c a t i o n d e v e l o p e rm o r ec h o i c e s m e a n w h i l e ,i tb r i n g so u tan e wr e q u e s tt h a tt h es y s t e m s h o u l db ed i f f e r e n ti n t e r f a c e sc o m p a t i b l e s o m el o w e rs p e e dd e v i c e sa r er e p l a c e db y h i g hs p e e dd e v i c e sa n d i tm e e t sab i gp r o b l e mw h e nd e v i c e so f o l ds y s t e mg ow r o n g n e wr e q u e s to ff i e l db u si nm o d e r na p p l i c a t i o na s k sf o ru p d a t e i n go f t h eo l ds y s t e m v i r t u a ld e v i c es y s t e mi sap e r f e c ts o l u t i o nf o rt h i sk i n do f p r o b l e m v i t u a ld e v i c e s y s t e mi su s e dt om a k ec o n v e r s i o nb e t w e e nt w oi n t e r f a c ea n d n e wd e v i c eh a v et h e s a m ei n t e r f a c et ou s e ra p p l i c a t i o na st h e o l dd e v i c ea n dt h e o l da p p l c a i t i o ns o f t w a r e s y s t e m n e e d sn ou p d a t i n g t h e nt h e r ei sa n o t h e rr e s e a r c hh o tp o i n tt h a th o wt o b u i l d i n gau s e f u lv i r t u a ld e v i c es y s t e me f f e c t i v e l y f i r s tt h ep a p e re x p l a i n e dw h a tav i r t u a ld e v i c es y s t e mi s ,a n a l y z e dt h ep o l p u l a r a r c h i t e c t u r eu s e db yv i r t u a ld e v i c es y s t e m w i t ht h i st h ep a p e rp o i n t e do u tt h a t h i e r a r c h i c a lm o d e li su s e f u lt ot h i sk i n do fs y s t e ma n dl i s t e ds e r v a lr u l e sf o rv i r t u a l d e v i c eh i e r a r c h i c a ls y s t e m b a s e do nt h er u l e s ,af o u rl a y e ra r c h i t e c t u r ew a sb r o u n t g o u tb yt h ea u t h o r , t op r o v et h em o d e l ,av i r u a ls e r i a lp o r ts y s t e mw a si m p l e m e n t e d a n dt e s t e d t h ec o n t r i b u t i o na n di n n o v a t i o no f t h i sp a p e ra r ea ss h o w nb e l o w : 4 1l i s t e ds e r v a lg u i d er u l e sf o rv i r t u a ld e v i c es y s t e m 5 ) b r o u g h to u taf o u rl a y e ra r c h i t e c t u r et h a ti su s e f u lf o rv i r u a ld e v i c es y s t e m d e i g n 6 ) d e s i g n e da n di m p l e m e u t e dav i r t u a ls e r i a lp o r ts y s t e mt h ai su s e f u la n dh a st h e m a r k e tv a l u e k e y w o r d s :v i r u t u a ld e v i c e ;h i e r a r c h i c a lm o d e l ;f o u rl a y e ra r c h i t e c t u r e ;d e v i c e d r i v e r ;v i r t u a ls e r i a lp o r t i i 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及 取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文 不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重 要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名氆丑重 学位论文授权使用声明 本人完全了解华东师范大学有关保留、使用学位论文的规定,学 校有权保留学位论文并向国家主管部门或其指定机构送交论文的电 子版和纸质版。有权将学位论文用于非赢利目的的少量复制并允许论 文进入学校图书馆被查阅。有权将学位论文的内容编入有关数据库进 行检索。有权将学位论文的标题和摘要汇编出版。保密的学位论文在 解密后适用本规定。 学位论文作者签名芬司易导师妣 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 第1 章绪论 计算机产品的丰富使得我们在系统开发时具有很好的灵活性,但同时接口的 不统一又给系统兼容性和维护性带来新的麻烦。如何解决这二者的矛盾一直是个 问题,虚拟设备系统的出现很好地解决了这一问题。本论文在研究了虚拟设备系 统的特性之后,提出了一种优化的虚拟设备系统结构,使用了分层结构和中间件 思想,能够更快速便捷地实现多转换虚拟设备系统。 本章首先介绍了论文的研究背景和意义,然后介绍了当前国内外的研究现 状。在提出了本文的研究内容和创新点之后,给出了论文的整体组织结构。 1 1 论文研究背景和意义 计算机从4 0 年代出现以来,经历了电子管计算机( 1 9 4 5 1 9 5 6 ) 、晶体管计算 机( 1 9 5 6 一1 9 6 3 ) 、集成电路计算机( 1 9 6 4 1 9 7 1 ) 和大规模集成电路计算机( 1 9 7 1 现在) 四个时代。计算机性能在不断提高,外设接口也越来越丰富。常见的接口 有p s 2 ( 用于连接键盘鼠标等) 、并口( 用于连接打印机等) 、串1 3 ( r s 2 3 2 ) u s b 接口、i e e e l 3 9 4 接口、以太网接口( r j 4 5 ) 、w i f i 无线网络、音视频输入输出 接口等。从并、串口逐步被淘汰到u s b 和i e e e l 3 9 4 接口的兴起,我们看到接 口技术的发展趋势正朝向方便实用( l l 如热插拔功h - 匕k ) 、数字化、数据传输量容量 增大、交换速度提高、以及适用范围广泛的方向发展。可以看出无论是u s b 还 是i e e e l 3 9 4 都有将外设接口统一化的意向,这样不但提高了外设间的兼容性, 而且规范化了制造工艺并进一步提升了产品性能。 同一类设备往往会出现接口不同的产品,这使得系统开发时可选择的范围更 广、更灵活。但对系统用户来说,也需要购买不同接口的同一类产品。如果在系 统开发实现对不同接口的兼容,显然成本较高也没有必要。在其他一些场合,我 们还发现存在一些原先的系统使用的外设产品可能已经淘汰( 例如一些并口设 备,个人计算机上的串口也逐渐在消失) 。分布式系统的发展也使得一些总线被 新的现场总线所替代。对这些系统进行维护和扩展时有两种解决方案,一是修改 原有系统巾的设备访问接口,使用新的总线产品替代原先产品,这种方式的成本 比较高,尤其是在旧系统比较复杂和资料代码不全情形下。另外种就是使用虚 华东师范大学硕士学位论文 一种虚拟设备系统结构的设计和实现 拟设备系统,将新设备的结构转换到原有接口,实现系统的平稳过渡。很明显, 后一种方式更为值得推荐。如何实现更快更有效地实现这样的虚拟设备系统就成 为一个富有挑战和实用意义的研究课题。 1 2 国内外研究现状 虚拟设备的概念在计算机操作系统中流传已久,伴随着操作系统的发展而发 展,操作系统上的一个设备可能对应一个物理设备,也有可能对应的是一个虚拟 设备。我们最熟悉的莫过于虚拟内存,即使用硬盘资源来替代物理内存资料,扩 展内存卒间,用于存储一些不常用或者当前不常用的数据。在w i n d o w s2 0 0 0 推 出w d m 驱动模式之前,w i n d o w s9 x 时代设备驱动模式就被称为v x d ( 虚拟设 备驱动) 。在w i n d o w s 和l i n u x 系统中,系统将大部分设备映射为一个特殊的 设备文件,用户程序可以象访问一般文件一样对此设备文件进行操作。根据这一 点,我们就构造一个不连接任何硬件的设备文件,即虚拟设备。利用这个设备我 们可以把一系列的底层操作转化为应用层操作,以减低上层工作量。 除了操作系统厂商之外,国内外的一些公司和机构也在致力于虚拟设备技术 的研究,最著名的有美国的v m w a r e ,作为全球桌面到数据中心虚拟化解决方案 的领导厂商,v m w a r e 目标是将虚拟化技术的益处推向业界标准的计算机。 v m w a r e 虚拟化解决方案代表了针对计算的开创性的方式,将操作系统和应用软 件与底层硬件分离,显著提高了工作效率、可用性、灵活性和可管理性。其在数 据中心和桌名电脑上都有很多很成功的解决方案,最著名也是最为我们熟悉的就 是用于桌面电脑的v m w a r ew o r k s t a t i o n ,利用v m w a r ew o r k s t a t i o n ,我们可以在一 台安装了w i n d o w s 系统的机器上安装其他的操作系统,包括l i n u x ,m a co s 或者w i n o d w s 。o r a c l e 公司在收购s u n 和虚拟化软件供应商v i r t u a li r o ns o f t w a r e 之后,联合三方原先在虚拟机和虚拟化技术上的研究,在向v l v l w a r e 公司的领先 地位发起新的挑战,相信随着虚拟化技术优势的不断体现,大家在虚拟设备上的 研究将会越来越深入。除去在虚拟化技术整个大方向进行的研究之外,也有一些 机构在一些专业虚拟化设备上取得了显著的成果,如美国国家仪器n a t i o n a l l n s t r u m e n t s ( n 1 ) 提出的虚拟仪器。所谓虚拟仪器,就是在以通用计算机为核心的 硬件平台上,由用户设计定义、具有虚拟前面板、测试功能由测试软件实现的一 种计算机仪器系统。其基本思想就是在测试系统或仪器设计中尽可能地用软件代 替硬件,即“软件就是仪器”。虚拟仪器的基本构成包括计算机、虚拟仪器软件、 2 华东师范大学项士学位论文一种虚拟设备系统结构的设计和实现 硬件接口模块等。此外还有h p 公司在虚拟存储阵列上也取得了很卓越的成果。 虚拟化技术在国内起步比较晚,国内公司和机构研究都主要在专业虚拟设 备,其中主要分为两大类,一类是纯软件模拟,例如虚拟光驱、虚拟仪器,用于 读取一些特定格式硬盘文件。另外一种是用硬件设备模拟另一种硬件设备,进行 设备接口转换,例如虚拟内存、虚拟磁盘、蓝牙虚拟网卡、蓝牙虚拟串口。 1 3 本文研究内容 本文致力于研究将虚拟设备系统应用到物理设备接口转换中,实现多接口的 统一,使得系统开发、维护都更加方便。本文从虚拟设备系统结构入手,提出一 种虚拟设备系统四层结构,并通过一个实例验证了这一模型的可用性和优越性。 本文的研究内容如下: 首先,从设备转换虚拟设备系统的结构入手,分析当前用的较多的一些结构 的优缺点,在此基础上综合出一个好的虚拟设备系统结构的评价标准。 。 其次,根据前文的总结,利用四层系统和中间件概念,提炼出一套用于接口 转换虚拟设备系统四层结构,对模型各层以及各层之间关系进行了详细的说明。 最后,以w i n d o w s 环境下虚拟串口为例,详细阐述了虚拟串口四层系统中 各层次的作用以及层与层之间的接口,在该模型指导下,给出了u s b 2 3 2 , e t h e r n e t 2 3 2 和w i f i 2 3 2 的具体实现,并通过实验完整测试了系统。 在以上的研究内容中,本文的主要贡献和创新之处如下: 归纳出几条虚拟设备系统结构的评价准则,为以后创建新的虚拟设备系 统结构提供依据。 提出一种虚拟设备四层结构,为以后的虚拟设备系统开发提供了参考。 设计并实现了一套多功能虚拟串口系统,具有一定的市场价值。 1 4 本文组织结构 第一章绪论,介绍了论文研究的背景、国内外研究现状、论文的研究内容 和论文的组织结构。 第二章介绍了几种常见的虚拟设备系统结构,分析其优缺点,归纳出几条 评价虚拟设备系统结构的设计原则。 第三章详细介绍了本文要提出的虚拟设备四层结构中各层次功能,包括虚 拟设备驱动层、协议转换层、物理设备访问层、物理设备层,以及各层次间关系。 3 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 第四章介绍了实例应用虚拟串口系统的总体结构设计,包括系统功能设计、 结构设计。 第五章虚拟串口系统中使用的设备硬件介绍 第六章虚拟串口系统软件设计与实现章节,详细介绍了虚拟串口系统的软 件设计,包括虚拟串口驱动,虚拟串口协议转换,虚拟串口设备固件。 第七章测试章节,对虚拟串口系统进行了测试和结果分析。 第八章总结和展望。 4 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 第2 章虚拟设备系统 目前,虚拟设备系统己经发展的很成熟,操作系统中设备驱动模式也特别利 于实现虚拟设备,所以传统的虚拟设备系统和物理设备系统结构类似,但随着虚 拟设备系统越来越复杂,以前的结构也变得不适用了,也出现了一些新的虚拟设 备系统结构。 2 1 虚拟设备系统概述 虚拟设备这一术语是从设备和虚拟化得出的组合概念。所谓计算机设备是指 具有特定功能和有限配置能力的计算装置。设备自己也具有硬件、o s 、和应用 程序,但最终用户仅通过设备接口与设备进行交互,而设备内部结构是对用户隐 藏的。虚拟设备是设计用于在虚拟化技术下运行的最小虚拟机映像。虚拟设备是 完全预安装和预配置的应用程序和操作系统环境,而虚拟机本身没有应用软件。 虚拟设备带来的好处是显而易见的。最突出的优点就是消除了对设备的硬件依赖 性,使得在进行系统开发的过程中不需要为不同的硬件设备设定不同的产品型 号。 2 2 传统虚拟设备系统结构 虚拟设备在实现的过程中往往采用的是虚拟设备驱动一体化解决方案,通过 虚拟设备驱动完成设备功能转换和通信协议转换。这类解决方案的结构图如图 2 1 所示。 i 应用程序 仆 l j 设备驱动程序 奔 l 、之 设备 应用程序 彳 上 虚拟设备驱动程序 jl 设备 8 ) 直接访问设备b ) 虚拟设备访问设备 图2 - 1 虚拟设备一体化方案示意图 5 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 这种方案的优点是结构简单,在应用程序和物理设备之间只有一层。其使用 方式和直接使用物理设备一致,只是对原有设备的驱动程序进行了重写( 这里 把要目标设备称为虚拟设备,而要被转换的设备称为物理设备) 。缺点则是虚拟 设备驱动要完成应用程序交互、硬件交互、协议转换三部分工作,会变得很复杂, 尤其是在协议转换比较复杂的情况下,驱动程序运行在内核层,对稳定性和安全 性要求较高,而且不方便调试。此外在这种模式下,每种虚拟设备驱动只能用于 单一类型设备转换,扩展性也较差。所以这种模式比较适合一些简单的、单一设 备转换。在牵涉到复杂协议的设备转换和多类型设备转换时则需要一种新的模 式。 2 3 新型虚拟设备系统结构 分层模型在计算机软硬件领域使用非常广泛,如网络的o s i 参考模型和 t c p i p 模型,数据库访问中间件等。在虚拟设备系统中,我们也借鉴了这个概 念。接口转换的时候,最重要的一部分就是协议转换,所以很自然想到将协议转 换单列出来构成一个三层模型,其结构示意图如图2 2 所示。 功 图2 - 2 新型虚拟设备系统结构 虚拟设备驱动层负责与应用程序的交互,而将硬件交互和协议转换交给协议 转换层,虚拟设备驱动程序就变得相对简单,而协议转换则不需要运行在内核层, 可以作为一个应用程序。在设计开发的时候就变得更加灵活主动。缺点则是其中 多加了一层,增加了两次调用开销,影响了效率,但随着计算机速度的提高,对 一些非高速设备,这样的开销是不会影响系统运行的。这种结构已经大大完善了 了虚拟设备系统的开发,但在物理设备本身访问比较复杂的情况下,协议转换还 显得比较复杂而且重用性不好。 6 华东师范大学硕士学位论文 一种虚拟设备系统结构的设计和实现 2 4 虚拟设备系统设计准则 通过上面的分析我们可以发现一些问题,分层系统用于虚拟设备系统是一个 非常好的选择,从而如何分层就成为了虚拟设备系统的一个研究中心。结合计算 机分层系统的一些原则,虚拟设备系统的分层准则可以归纳如下: 2 4 1 低耦合性 这是系统模块设计时的一个重要准则,同样也适用于分层系统。在虚拟设备 系统进行分层时,需要充分考虑到各层次之间的耦合性,使得层次间尽量保持独 立,而通过一定的接口进行通信。 2 4 2 硬件无关性 在用于总线接口转换的虚拟设备系统中必然牵涉到硬件或总线,与总线硬 件的相关性也是我们分层时的一个重要准则,要尽量避免硬件相关性。 2 4 3 协议无关性 在进行总线接口的虚拟设备系统中,协议转换是一个重要内容。要实现到 多协议兼容,在分层的时候就需要尽量考虑到协议无关性。 2 4 4 系统扩展性与系统维护性 系统扩展性是任何系统设计都需要考虑的一个重要准则。保证系统的扩展性 是分层系统必须考虑的问题。 不可维护的系统是无法想象,也是不具备实用价值的。扩展性是系统可维护 性的一个重要标准,此外,在现在系统开发中b u g 无法避免的情况下,如果能 够快速定位错误并且解决错误是系统维护的一个重要环节。 2 4 5 代码移植性和重用性 代码移植性和重用性虽然是代码设计时需要考虑的问题,但系统设计往往会 很大程度地影响代码的移植性和重用性,硬件无关性有利于代码的移植和重用, 此外,考虑到虚拟设备系统都是和操作系统相关的,如果尽量避免操作系统相关 性将有大大提高代码的移植性和重用性。 7 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 第3 章虚拟设备系统四层结构 本章根据上一章节对虚拟设备系统结构的分析和分层准则,提出了一个四层 结构,详细阐述了各层次作用和层次间关系。 3 1 四层结构概述 根据虚拟设备系统分层准则,这里将虚拟设备系统分为分为虚拟设备功能驱 动层、设备协议转换层、物理设备接口层和物理设备层。其结构示意图如图3 1 所示。 应用程序 王功能调用 虚拟设备驱动程序 数据上上 。7 l 调用矗 协议转换层 求和7 爵格式 据i 新格文 设备接口层 王总线数据镌 物理设备 据 图3 - 1 虚拟设备系统分层模型示意图 虚拟设备驱动对同一类目标设备来说是一致的,相对独立,在进行多种设备 到一种设备转换时可重用,并且驱动程序只完成设备功能驱动、其复杂性也较低。 驱动程序对与操作系统相关,从移植性和扩展性的角度来说都可以单独作为一 层。 在四层结构中,协议转换层仍然存在。和上章中提到的新型结构不同是,增 加了一设备访问层,这是因为被转换设备所使用的协议不同,协议转换层也相应 有所不同,而不同接口的物理设备可能使用相同的协议,所以这里把协议转换层 和设备接口层分离出来,能够更好地体现通用性和可移植性。每一层只会和相邻 的上下层发生交互关系,不允许进行跨层的调用。 8 华东师范大学硕十学位论文种虚拟设备系统结构的设计和实现 3 2 虚拟设备驱动层 设备驱动程序是一种可以使计算机和设备通信的特殊程序,可以说相当于硬 件的接口,操作系统只能通过这个接口,设备驱动程序用来将硬件本身的功能告 诉操作系统,完成硬件设备电子信号与操作系统及应用程序之间的互相翻译。当 系统需要使用某个设备时,比如:让声卡播放声音文件,操作系统首先给声卡驱 动程序发送相应指令,声卡驱动程序接收到后之后,将指令翻译成声卡能够识别 的的电子信号命令,从而让声卡发声。所以简单的说驱动程序提供了硬件到操 作系统的一个接口以及协调二者之间的关系。但这里不是一个物理硬件,而是一 个虚拟设备。 虚拟设备驱动和物理设备驱动类似,向上层提供一样的功能接口,只是和下 层的通信机制不样。虚拟设备不是向硬件发出指令或者请求数据,而是将应用 程序提交的请求传递到下一层( 协议转换接口层) 并等待应答。换句话说也就是 虚拟设备驱动本身并不对操作系统的请求做处理,而是做一个传递,将请求传递 到协议转换接口层,并把收到的应答返回给操作系统。整个过程可能是同步也可 能是异步的,与应用程序的调用模式没有关系,即便是应用程序采用的是同步方 式,而整个交互过程是一个异步的,也可以通过事件等待等处理将异步转换为同 步,这个过程不会影响应用程序调用,使得应用程序就像是在访问一个物理设备 一摸一样。 与t c p i p 网络模型相比,这一层相当于应用层。只要目标设备确定了,这 一层就固定了。 3 3 协议转换层 协议转换层,顾名思义,就是对两种不同总线通信协议进行转换的。主要完 成两项工作,一是将从虚拟设备驱动传递过来的应用程序请求进行转换,使得能 够通过物理设备访问层传递下去并且能被物理设备识别。二是将从物理设备接口 层接收到的应答进行转换并传递到虚拟设备驱动层,由虚拟设备驱动层返回给应 用程序。 对一个虚拟设备系统来说,目标设备是固定的,改变的被转换的对象,也就 是物理设备,所以虚拟设备驱动不需要作修改,而只需要对协议转换层进行扩充。 从系统设计的角度,协议转换层可以作为一个组件进行调用,在多转换系统中, 9 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 不同的协议转换可以在不同的进程中进行,保持独立性,从而使得系统的复杂度 降低,稳定性提高。 与t c p i p 网络模型相比,这一层相当于传输层。负责对数据进行封包和解 包。 3 4 物理设备访问层和物理设备层 该层的主要作用是建立到物理设备的信道。类似于网络参考模型中的网络 层。面向协议转换层提供有保障或者无保障的数据通信。因为是和物理设备相关, 所以这部分和物理设备配套提供的,或者是物理设备提供了通信接口标准。 与t c p i p 网络模型相比,这一层相当于网络层。负责提供信道管理和数据 帧传输。 物理设备指的就是要进行转换的设备,虽然这里是称之为物理设备,实际上 它也不一定是一个硬件设备。物理设备内部有它自己的结构,在这里不予赘述, 在稍后的实例应用中再进行详细说明。 l o 华东- 口m 太 日士学位论文 一种虚拟设系统结构的设计和央现 第4 章虚拟串口系统总体设计 根据前文描述,本章将依据虚拟设备四层结构,构建一个w i n d o w s 平台下 的虚拟串口系统,这是一个包括u s b 、e t h e r n e t 和w i f i 到r s 2 3 2 串口转换的虚 拟设各系统。其中本章着重介绍了系统的总体设计,即虚拟串口系统四层结构。 详细阐述了各层的功能阻厦层之间的接口。 4 1 虚拟串口系统概述 r s 2 3 2 曾经是非常流行的接口,但随着u s b 总线技术和网络技术的发展, 这种接口在个人电脑上逐渐消失。但在工业领域仍然有很多设备使用这种接口, 并且经常需要使用电脑连接这类设备在另外一种情况下,随着现场总线的发展 需要,串口已经不适合现在的分布式环境。如何对这些老的串口应用系统进行维 护和升级一直是个问题。最直接的方式是使用新型的接口设备( u s b 设备和网 络设备等) ,那么就需要修改旧系统中串口访问接口部分,使用新的接口。软件 工程发展的初期,系统在设计和开发阶段系统兼容性和移植性的考虑并不周全, 文档工作和代码控制工作也不齐备,很多旧系统代码和文档都已可能丢失,采用 这样的方式代价肯定是巨大的。虚拟串口系统的出现很完美地解决了这一系列的 问题。虚拟串口系统使用一个硬件桥接设备,做一个接口的物理转换,通过硬件 桥接设备连接远程韵串i = l 设各,同时软件部分做一个相应的软件接口转换,在管 理主机上为硬件桥接设备上的串口虚拟出一个对应的虚拟串i = l ,这样原有的 r s 2 3 2 应用软件的访问接口就兼容了,旧系统实现了平滑过渡。整个解决方案如 图4 - 1 所示。 r s 2 3 2 应用戟件 l i、 l 虚拟$ 口驱动 月口$ 以太月 口转换 r 3 2 接口r s 2 3 2 接 $ 口日口协议 设备口设备 转换层 r 日络传# 惺 1 1 _ 华东师范大学硕十学位论文一种虚拟设备系统结构的设计和实现 如图所示,通过一个带以太网接口的串口设备,就可以实现远程连接远程的 r s 2 3 2 设备,应用软件就可以像使用本地串口一样使用远程的串口来控制远程 r s 2 3 2 设备。网络速度比串口速度快,资源也更丰富,所以一个网口转串口设备 可以支持多个串口。根据实际环境需要,可以选择不同的连接总线,可以是以太 网、也可以是u s b 或者无线网。左部框图就是虚拟串口系统的结构框图,它扮 演了一个软件桥接角色,负责串口软件和串口设备之间的数据转发,软件桥接器 运行在管理主机上。 4 2 虚拟串口系统功能描述 虚拟串口系统主要用于实现通过u s b 、e t h e m e t 或者w i f i 连接的设备上的 u a r t 对应在w i n d o w s 上生成一个对应的虚拟串口,应用程序通过访问虚拟串 口来使用远程设备上的u a r t 。其功能很清晰,主要分为三块,具体如下: 4 2 1 虚拟串口管理 虚拟串口管理包括虚拟串口添加,删除和编辑。 每个虚拟串口都对应着串口设备上的一个u a r t 。以太网2 3 2 和w i f i 2 3 2 通过t c p 端口号进行配对,每个虚拟串口对应一个t c p 端口号,p c 机上作为 s e r v e r ,设备上作为c l i e n t ,在p c 机和设备上分别进行设置。p c 机上设置t c p 端口和虚拟串口对应关系,设备上设置t c p 端口和主机地址。u s b 2 3 2 通过设 备名和u a r t 编号完成配对,在p c 机上设置u s b 2 3 2 设备名和u a r t 编号与 虚拟串口号的对应关系。u s b 2 3 2 设备上设置设备号即可。虚拟串口添加之后将 会在w i n d o w s 看到一个虚拟串口,同时虚拟串口系统能监控到串口的状态,包 括虚拟串口到设备的连接是否建立,设备是否打开以及一些出错提示。 删除虚拟串口只需要在p c 端删除掉相应的虚拟串口,这样设备连接上来系 统也不会相应。编辑虚拟串口即完成虚拟串口相关配置信息的修改,配置信息即 添加串口时配置内容。 4 2 2 虚拟串口到i a r t 的命令透传 应用程序在操作串口时会有很多命令,包括打开,关闭,设置和获取串口参 数,设置和配置缓冲区长度以及超时值等,在本系统中实现了打开、关闭和设置 串口参数,其他的命令由虚拟串口驱动本身完成,不需要下传到设备。当应用程 1 2 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 序对虚拟串口进行了打开,关闭或设置串口参数操作时,系统会将这些命令下传, 同时设备上要进行相应的处理,打开、关闭u a r t 或者配置u a r t 参数。 4 2 3 虚拟串口到u a r t 的数据透传 在虚拟串口打开进行数据传输时,一方面r s 2 3 2 应用程序写入虚拟串口的 数据透传到设备并且透过u a r t 发出。另一方面设备上u a r t 收到的数据要上 传到主机并透过虚拟串口驱动由r s 2 3 2 应用程序读取。 4 3 虚拟串口系统四层结构 虚拟串口系统采用的是四层虚拟设备结构,对应的四层分别为虚拟串口驱动 层、虚拟串口协议转换层、物理设备访问层和物理设备。其结构如图4 2 所示。 r s - 2 3 2 应用程序 虚拟串口驱动 u s b - 2 3 2 协议转换网络2 3 2 协议转换 u s b 访问中问件网络访问中间件 1 1 - 2 3 2de - 2 3 2dw i f i - 2 3 2d 图4 - 2 虚拟串口系统四层结构 4 3 1 物理设备访问层和物理设备层 物理设备访问层建立到物理设备的数据链路,一方面为串口协议转换层提供 数据写服务,另一方面物理设备访问层从物理设备层读取数据包,如果收到数据 包,提交给协议转换层。理本文系统中共使用了三种物理设备,分别是u s b 一2 3 2 、 e t h e m e t 一2 3 2 和w i f i 2 3 2 。其中e t h e m e t 2 3 2 和w i f i 一2 3 2 都使用t c p 网络与主 机进行连接,所以二者使用的设备访问层一致,都是采用t c ps e r v e r 作为设备 访问中间件,建立主机到设备的t c p 连接,进行网络数据传输。而u s b 2 3 2 设 备通过u s b 访问,其实际是一个u s b 设备驱动,透过u s b 设备驱动,可以进 行u s b 2 3 2 设备读写。 对u s b 2 3 2 设备来说,通过u s b 接l j 接收来自物理设备访问层的数据包, 进行解析,并进行相应的处理。首先区分出u a r t 序号,然后区分命令和数据, 如果是数据则直接通过u a r t 发送出去,如果是命令则根据是打开、关闭还是 l3 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 设置参数对u a r t 进行打开、关闭和参数配置操作。从u a r t 接收到的数据, 进行封包,然后通过u s b 上传到物理设备访问层。 对于e t h e m e t 。2 3 2 和w i f i 2 3 2 设备,通过t c pc l i e n ts o c k e t 接收来自设备 访问层的数据包,进行解析,区分命令和数据,如果是数据则直接通过u a r t 发送出去,如果是命令则根据是打开、关闭还是设置参数对u a r t 进行打开、 关闭和参数配置操作。从u a r t 接收到的数据,进行封包,然后通过c l i e n ts o c k e t 上传到物理设备访问层。 数据包格式如下: = = = = 除了上述的主要功能接口,设备访问层还具有其他几个辅助接口,如表4 1 所示。 表4 - 1 物理设备访问层接口 4 3 2 虚拟串口协议转换层 虚拟串口协议转换层有两方面作用,一方面虚拟串口协议转换层接收来自串 口驱动层的命令和数据,并转换成特定格式的数据包,通过物理设备访问层发送 到设备层。另一方面当从设备访问层收到数据的时候,将数据递交给虚拟串口驱 动。如前所述,系统中的物理设备分为两类,虚拟串口协议转换层也分为两类, 一类用于u s b 2 3 2 设备转换,一类用于e t h e m e t 2 3 2 和w i f i 2 3 2 。二者的区别 在于协议不同,对于u s b 2 3 2 来说,每个设备上有两个u a r t ,而w i f i 2 3 2 和 e t h e m e t 2 3 2 每个t c p 端口号对应一个u a r t 。 网络类使用的通信数据包内容格式如下: = = b y t e b i t s :7 - 9 ,s t o p b i t s :l ,2 ;p a r i t y 0 = n o n e ,l = o d d ,2 = e v e n = = = u s b 2 3 2 使用的通信数据包内容格式如下: = = b y t e b i t s :7 - 9 ,s t o p b i t s :1 ,2 ;p a r i t y :0 = - n o n e ,l = o d d ,2 = e v e n = = = 4 3 3 虚拟串口驱动层 虚拟串口驱动是r s 2 3 2 应用程序访问虚拟串口的媒介,同时又为协议转换 层提供了接口来传递应用程序对虚拟串口的操作。驱动层与协议转换的主要接口 如表4 2 所列。 表4 - 2 虚拟串口驱动层与协议转换层接口 在w i n d o w s 系统中,设备都被当做某种文件来进行访问。虚拟串口驱动与 r s 2 3 2 应用程序的接口符合标准串口调用协议,这些接口在w i n d o w ss d k 的帮 助文件中均可看到。主要接口如表4 3 所列。 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 表4 - 3 虚拟串口驱动层对r s 2 3 2 应用程序的接口 ;j 接口面向对象描述 1 6 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 第5 章物理设备硬件介绍 本章详细介绍了虚拟串口系统中使用的串口设备的硬件系统,包括u s b 2 3 2 设备、e t h e m e t 2 3 2 设备和w l f i 2 3 2 设备。u s b 2 3 2 设备通过u s b 与主机连接, 每台设备上有两个u a r t 接口。e t h e m e t 2 3 2 设备通过e t h e m e t 与主机相连,每 台设备带有两个u a r t 接口,w i f i 2 3 2 设备通过w i f i 连接路由器连入主机所在 网络,也可以通过a d h o c 直接与主机的网线网卡连接,每台w i f i 一2 3 2 设备只 带有一个u a r t 接口。 5 1u s b 2 3 2 设备硬件介绍 u s b 2 3 2 设备采用的硬件基于一款由s t m i c r o e l e c t r o n i c s 意法半导体公司提 供的的高性能微控制器s t m 3 2 f 1 0 3 c 8 。s t m 3 2 f 1 0 3 c 8 带有一个u s b 全速接口 和3 个u a r t 接口,这里我们使用了其中的两个,实现了一个带2 个u a r t 的 u s b 2 3 2 设备。 5 1 1s t m 3 2 f 1 0 3 c 8 特性 s t m 3 2 f 1 0 3 c 8 从属于s t m 3 2 f 1 0 3 x ) 【系列微控制器,这个系列的微控制器 的特点如下5 : - 使用a r m 最新的c o r t e x - m 3 内核, - 先进的功耗控制。s t m 3 2 在具有高性能的同时,支持多种低功耗模式。 创新的外设配置。s t m 3 2 使用两路先进外设总线( a p b ) 结构,其中一路为高 速a p b ( 可达7 2 m h z ) ,用于连接一些高速外设。s t m 3 2 囊括了所有的常见 外设,包括u s b ,s p i ,u s a r t ,1 2 c ,1 2 s ,t i m e r 等。并且在大部分外设 上都连接了d m a 控制器,可以通过d m a 提高外设的通信能力。 - 高集成度,s t m 3 2 内部高度集成,只需要少量外围电路就能完成系统设计。 - 非常易于开发。s t 提供了完整、高效的开发工具和库函数,帮助开发者缩 短系统开发时间。 s t m 3 2 f 1 0 3 x x 系列内部功能结构如图5 1 所示: 1 7 华东师范大学硬十学位论立 一种虚拟设备系统结构的设计和实m 田s - ! s t m 3 2 f 1 0 3 内部功麓结柑框圈 5 1 2s t m 3 2 f 1 0 3 c 8 的全速u s b 接口 s t m 3 2 f 1 0 3 c 8 配备了一个全速u s b d e v i c e 接口,该接口具有如下特点5 : u s b 规范2 0 全速适应。 具有8 个可配置的双向端点。 循环冗余码校验( c r c ) 的产生和检查,不归零反转( n r z i ) 编解码和位填充 支持同步传输。 支持双缓冲同步端点。 8 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 _ 支持u s b 挂起恢复操作。 其结构框图如图5 2 所示。 图5 - 2 s t m 3 2 f 1 0 3 c 8u s b 接口结构框图 u s b 外设为主p c 和由微控制器实现的功能设备间提供u s b 连接。主p c 和 系统存储器之间的数据传输通过u s b 外设直接访问的专用包缓冲存储器进行。 专用缓冲区的大小必须与使用的端点数目及包的最大值相适应。s t m 3 2 总共有 5 1 2 字节的专用缓冲区,供8 个单向单缓冲端点使用。u s b 外设与u s b 主机联 系,探测令牌包,处理数据发送接收,还处理u s b 标准请求的握手包。传输数 据的格式化由硬件实现,包括c r c 的产生和检查。 每一个端点和一个缓冲区描述块关联,从而知道端点缓冲区的位置和大小。 当u s b 外设识别到一对合法的令牌的时候,如果端点已经进行了配置而且有数 据要进行传输,则相应的数据传输就开始了。u s b 外设缓冲的数据被载入到一 1 9 华东师范大学硕士学位论文一种虚拟设备系统结构的设计和实现 个内部的1 6 位寄存器,并且写入专用缓冲区。当所有的数据传输完成之后,根 据需要可以产生或者等待相应的u s b 握手包。 传输结束之后,会产生一个与端点相关的中断,根据状态寄存器或者所选择 的中断服务程序程序。微控制器可以知道哪一个端点需要进行处理或者是发生了 什么错误( 位填充,格式,c r c 校验,a c k 缺失,上溢出,下溢出等) 。 为了实现同步传输和高吞吐量大传输,s t m 3 2 f 1 0 3 c 8 端点使用了双缓冲机 制。这将保证微控制器使用其中一个缓冲区的时候,u s b 外设能使用另外一个。 5 1 3s t m 3 2 f 1 0 3 c 8 的u a r t 接口 s t m 3 2 f 1 0 3 c 8 带有三个全双工u a r t 接口,采用n r z 标准格式,收发波 特率可设定,最高可达4 5 兆位秒,数据字长度可变( 8 位或者9 位) ,停止位 可变( 支持l 位或者2 位停止位) ,支持硬件流控。 与s t m i c r o e l e c t r o n i c s 的s t r 7 系列和s t r 9 系列微控制略有不同, s t m 3 2 f10 3 x x 的u a r t 没有收发f i f o ,只有一个数据寄存器和一个移位寄存 器,如果进行连续数据收发,效率会比较低。s t m 3 2 f 1 0 3 x x 系列微控制器匹配 了更为强大的d m a 控制器,为每个u a r t 的收发都单独配备了d m a 通道,在 本文的系统中将使用到u a r t l 和u a r t 2 ,u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育质量评估与认证体系:2025年行业应用与标准化实施效果评价策略研究创新实施报告
- 2025年新能源汽车售后服务市场发展趋势与挑战研究
- 2025年沿海地区海上风电布局规划与资源评估报告
- 2025年新能源汽车无线充电技术在电动工具充电领域的应用前景报告
- 酚酞指示剂的作用
- 安全补丁的主要作用
- 特色商业街区商铺租赁合同书(含租金递增条款)
- 离婚协议签订后子女抚养费用支付及调整合同
- 塑料桶销售合同签订前供应商资质审查指南
- 文化产业项目投资风险控制连带责任担保协议
- 2025中国农业科学院棉花研究所第二批招聘7人备考考试题库附答案解析
- 部编版2025-2026学年三年级上册语文期中测试情境卷A卷(含答案)
- 做更好的自己课件-2025-2026学年统编版道德与法治七年级上册
- 先心病介入封堵治疗
- 新教材人教版高中物理选择性必修第二册全册教学课件
- DB51∕T 2571-2019 林下黄精种植技术规程
- 世园会周边环境综合整治工作汇报
- 金相检验4-结构钢的金相检验
- 不同截面钢牛腿设计计算(excel)
- 钢结构单层厂房施工组织设计方案
- 安全生产费用投入台账模报表
评论
0/150
提交评论