(计算机应用技术专业论文)基于mvc模式的上位机软件设计与实现.pdf_第1页
(计算机应用技术专业论文)基于mvc模式的上位机软件设计与实现.pdf_第2页
(计算机应用技术专业论文)基于mvc模式的上位机软件设计与实现.pdf_第3页
(计算机应用技术专业论文)基于mvc模式的上位机软件设计与实现.pdf_第4页
(计算机应用技术专业论文)基于mvc模式的上位机软件设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)基于mvc模式的上位机软件设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 电子测试测量技术已经涉及国民经济的各个行业,实时频谱仪( r t s a ) 是世 界上唯一为专门解决数字r f 问题设计的分析仪,在无线通信,无线监控和雷达 设计等领域有广泛的应用。在通过p c 机远程控制频谱仪中,p c 机称为上位机, 频谱仪称为下位机。 频谱仪上位机软件运行在p c 机上,主要功能是实现在p c 机上远程控制频 谱分析仪,同步显示仪器上的测试数据和测试波形,也可以在p c 上保存分析数 据,为用户提供后续分析参考的依据。在电磁辐射污染严重的环境中无线远程 控制频谱仪,上位机软件提供了这一可能。 本文首先介绍了电子测量测试技术在通讯领域的发展现状,测试软件在国 内外的发展情况,上位机软件与测试软件的关系。 本文重点从面向对象的视角,采用模型一视图一控制器( m v c ) 设计模式,给出 了通过u s b 总线,使用s c p i ( s t a n d a r dc o m m a n d sf o rp r o g r a m m a b l ei n s t r u m e n t s l a n g u a g e ) 命令远程控制频谱仪的上位机软件的三层软件构架的设计和实现。 软件采用通用的开发语言c # ,从面向对象的角度根据m v c 模式架构软件 的三层结构,是为了划分软件的层次,组织软件的代码,在软件的功能扩展中 方便升级维护。其中控制器封装了业务功能,也即是软件的业务功能层,模型 对应软件的业务数据层,视图也就是软件的显示层。 在软件设计中,定义了简单的通讯格式,采用多线程技术,通讯的同步性 得到很好的保证。本软件已提供给用户使用,运行良好 本文最后探讨了上位机软件系统的发展趋势。 作者在此项目中所做的工作包括软件的需求分析和软件架构的设计:软件 通讯模块,文件模块,以及图形显示模块的实现;以及软件功能测试 关键字:上位机软件,w c 设计模式,s c p i ,r t s a ,u s b 西南交通大学硕士研究生学位论文第1 i 页 a b s t r a c t e l e c t r o n i ct e s t & m e a s l l r et e c h n i q u ei n v o l v e si nm a n yf i e l d so fi n d u s t r y r t s a ( r e a it i m es p e c m u na n a l y z e r ) i ss p e c i a lp r o d u c tf o rr a d i of r e q u e n c yd e s i g n p r o b l e m ,a p p l i c a t i o n i n m a n yf i e l d s s u c ha sw i r e l e s sc o m m u n i c a t i o n ,r f d e v e l o p m e n t ,r a d a rd e s i g ne t e w h i l ec o m p u t e rc o n t r o l l i n gr t s a ,c o m p u t e r i sc a l l e d s u p e rc o m p u t e r , a n dr t s a i sc a l l e ds l a v ec o m p u t e r s u p e r - c o m p u t e rs o f t w a r ed i s c u s s e di nt h i sp a p e rr u n so ns u p e rc o m p u t e r , i th a s f u n c t i o n so fc o n t r o l l i n gr t s au s i n gs c p i ( s t a n d a r dc o m m a n d sf o rp r o g r a m m a b l e i n s t r u m e n t sl a n g u a g e ) ,d i s p l a y i n gt e s td a t ao fi n s t r u m e n t so np c ,a l s od i s p l a y i n g w a v es y n c h r o n o u s l ya st h es p e c t r u ma n a l y z e r s ,a n ds a v i n gd a t ao np cf o ru s e r s u s e i nt h ef u t u r e t h i ss o r w a r eo f f e r ss o m ep r o b a b i l i t yo f c o n t r o l l i n gs p e c t r u ma n a l y z e r s b yw i r e l e s si nd i r t yc i r c u m s t a n c eb e c a u s eo fe l e c t r o m a g n e t i s mp o l l u t i o n t h i sa r t i c l ef i r s ti n t r o d u c e st h es t a t u so f e l e c t r o n i ct e s t & m e a s u r et e c h n i q u ei n c o m m u n i c a t i o nf i e l d ,t h e nt h ed e v e l o p m e n to ft e s ts o i t 、a r ei nt h ew o r l d ,a n dt h e r e l a t i o no f b e t w e e ns u p e r - c o m p u t e rs o f t w a r ew i t ht e s ts o f t w a r e t h i sa r t i c l ep u t se m p h a s i so nt h er e s e a r c hi n t od e s i g na n dr e a l i z a t i o no f s u p e r - c o m p u t e r s o t s w a r e t h r e e - l a y e r s o r w a r e a r c h i t e c t u r e , b a s e d o b m o d e l - v i e w - c o n t r o l l e r ( m v c ) p a t t e r ni no b j e c to r i e n t e dp r o g r a m m i n g t h es o f t w a r ei sp r o g r a m m e dw i t hv i s u a l 钟i ti sa r c l l i t e c t e db ym v cp a t t e r n , f o ro r g a n i z i n gc o d e sa n df u n c t i o nu p g r a d e m o d e li st h eb u s i n e s sd a t al a y e r , v i e wi s t h ep r e s e n t a t i o nl a y e r , c o n t r o l l e ri st h eb u s i n e s sf u n c t i o nl a y e r t h es o f t w a r e sc a p a b i l i t yo fr e a lt i m ei sv e r yw e l lb e c a u s eo fu s i n gs i m p l e c o n n n u n i c a t i o nf o r m a ta n dm u l t i t h r e a d i n g t h i ss o f t w a r e h a s a l r e a d y r n n c o m m e r c i a l l y a tl a s t , i te x p l o r e sf u r t h e rt h ed e v e l o p m e n to f s u p e r - c o m p u t e rs o f t w a r e i nt h ep r o j e c t , t h ew o r kc o m p l e t e db yt h ea u t h o ri sa sf o l l o w s :a c c o m p l i s h i n g t h i ss o r w a r er e q u i r e m e n ta n a l y z ea n dd e s i g n i n gt h es o f t w a r ea r c h i t e c t u r e :c o d i n go f 西南交通大学硕士研究生学位论文第1 ii 页 c o m m u n i c a t i o nm o d u l e ,f i l e sm o d u l ea n dw a v ed i s p l a y i n gm o d u l e ;a n ds o f t w a r et e s t a n dw r i t i n gd o c u m e n t s k e yw o r l d s :s u p e r - c o m p u t e rs o f t w a r e ,m v c d e s i g np a t t e r n , s c p i ,r t s a ,u s b 西南交通大学硕士研究生学位论文第1 页 第一章绪论 1 1 电子测试测量技术在通讯领域的发展现状 通信缩短了世界的距离,数字无线信号逐渐占据了人们的生活。即将在全 球大规模布网的3 g 和w m a n 是无线领域最具价值的技术,由此引发了庞大测试 规模和严格的测试要求 w i m a x ( 广带无线接入) 技术的商用面临着诸多挑战,稳定性和可靠性是最为 重要的要求,同时还必须要适应无线信号速度快、频率高的特点3 g 采用的 c d m a 技术的系统和信号的高复杂性以及各种新应用所需的高质量和高带宽, 要求测试必须确保高精度和适应高速数据流,必须要提高仪器的智能程度以从 原始数据中求出c d m a 的各种有用参数,同时测试仪器的软件要便于升级以支 持标准的升级。如果采用传统的测试仪器和方法,综合测试仪的可扩充仿真器 件价格过于昂贵,无线基站的维护也是个不小的问题。 3 g 系统测试更偏重于数据业务性能测试,网络性能、多业务并行和网络间 互联互通是测试重点,如何突破传统语音为主的方式是测试的难点。比如,语 音信号一般只有2 0 个k p i ( 关键业绩指标) 参数,而3 g 的数据服务将达到2 0 0 个k p i 参数。对于针对数据为主的无线技术的测试,必须确保无线链路的传输 特性及其稳定程度,同时还需要应对下载测试的复杂程度。与此同时,无线网 络作为一个庞大的通信系统,不同企业的产品之间的互操作性也是无线测试中 重要的内容,由于r f 射频芯片组和模块器件的设计比较复杂,因此即使是通用 的标准也无法确保产品之间可以互操作。 利润丰厚的无线测试提出的挑战给了测试测量行业巨大的发展推动力,作为 新技术大范围应用保障基础的测试测量行业必须率先应对新的挑战,而影响测 试测量水平的最重要因素就是仪器的功能。 数字射频( r f ) 信号复杂的调变信息、变化迅速、频率跳跃不定、尖锐和短暂 消失等特点让传统采用扫频分析仪和矢量分析仪( v s a ) 测量的方法无所适从。如 西南交通大学硕士研究生学位论文第2 页 何实时捕获2 4 g h z 的高速信号以及发现多路信号中的干扰信号成为必须解决的 难题。为此,泰克公司推出了曾经应用于示波器的d p 0 升级之后的d p x 数字荧 光波形成像处理器技术,通过显示颜色不同可以区分不同信号的出现概率。为 了能够每秒处理4 8 0 0 0 个频谱,d p x 采用专用的实时硬件处理进入的信号。通过 使信号间隔达到最小,为用户提供了完全不同于以前的实时r f 信号视图。它对 最短2 4 m s 的信号实现了1 0 0 的侦听概率。d p x 技术利用显示颜色不同标明信号 出现的概率,由此可以发现软件定义无线电在软件切换频率时产生的无线频率 瞬时失真;d p x 还可以把信号进行分离处理,帮助发现非线性干扰信号,在无线 电监控中可以检查信号中是否含有非法信号在捕捉方面则采用了全新的频率 模板触发,模板可按电平和频率定义,超过预设值即触发。这样就可以通过建 立不同的模板捕捉主要信号外的信号,并可以确保大信号中的小信号进行触发。 两种技术的结合大大改善了频谱更新速率和信息显示能力,把大量r f 数据转化 成视图,清晰分辨出异常信号。几种技术的融合可以进行时域和频域同时分析, 多域显示功能可以同时测试时域、频域等不同域信号并分别显示各个域的情况, 便于查找错误或实时分析。基于这几种技术的实时频谱分析仪不仅适用于无线 通信和r f 行业开发领域,在无线监控和雷达设计等领域也有广泛的应用。 3 g 和w i m a x 技术的商用面临着诸多挑战,稳定性和可靠性是最为重要的 要求,同时还必须要适应无线信号速度快、频率高的特点,这就对测试仪器提 出了很高的要求。只有具备了软件开发、数字电路设计及测试、射频测试和协 议分析等全面的解决方案才能适应3 g 网络的整体需求。从网关、天线到空中接 口,从基站到主干网,从转换接口到小区切换,传输方式从t d m 到a t m 或者 宽带i p 和吉比特以太网,这需要一个完整的测试平台以保证高速数据交换和多 信令识别系统的评估,并且保证3 g 与2 g 和w l a n 等系统的无缝链接,从而 保证整个网络的q o s 。 面对这种挑战,单个仪器已经无法满足网络测试的综合需求,平台化产品 成为解决问题的唯一途径。国外专家预言“在测试乎台上,下一次的大变革就 是软件”,“测试软件将是未来的战场”,“测试设备的未来屑于软件”。由 此可见测试软件对未来发展的重要。 西南交通大学硕士研究生学位论文第3 页 1 2 测试软件在国内外研究情况 平台化已经成为整个测试测量行业的发展方向。比如,很早就倡导测量平台 化的n i ,依托l a b v i e w 软件和p x i 总线,借助强大的p c 处理功能和独特的 信号采集技术,一直坚持从设计过程到生产过程的全流程一体化测试系统的建 立,其目的就是要建立一个统一的生产测试平台。从工业控制到生产流程测试 再到多种数据收集,l a b v i e w 作为n i 的根本优势,其核心竞争力就是一个集 多行业多领域的平台化测试。 软件已经在现代测试中发挥着越来越重要的作用,几乎2 0 0 6 年每个新推出 的高端仪器都搭配了较高的内存并内嵌各种操作系统,用以保障软件的高效运 行。比如泰克的d p x 软件可以发现s d r 的软件切换频率的无线频率瞬时失真, 是数字r f 信号测试的关键;力科公司的w a v e s c a n 搜索分析团建支持多种扫描 模式,并具有高级采集分析功能,可以快速发现异常事件,并对信号进行全面 分析。可以说,借助软件的力量,测试软件已经逐渐成为测试发展的重点。 综合测试系统是一个自动化平台,模块化是发展趋势,重点在于软件平台的 搭建,l a b v i e w 可以应用在全平台操作系统,从测试到设计都采用一个平台, l a b v i e w 让客户自主开发驱动模块满足需要。已经2 0 年的l a b v i e w 软件发展 到了8 2 0 版本,并且已经推出了l a b v i e w 8 2 0 的简体中文版。l a b v i e w 8 2 0 的功能比以前有了较大的提高,不仅图形化界面更加便于操作,而且还可以实 现工程师自主开发程序模块,针对不同应用开发不同模块程序。在编程工具方 面,增加了使用面向对象的编程方式开发可扩展的代码,使用自动v i 接口创建 功能集成n e t w e b 服务,使用自动d l l 接口生成功能重复利用外部代码,动 态地调用d l l 并使用调回( c a l l b a c k ) 功能。用户界面开发方面增加了使用基于 o p e n g l 的3 d 显示工具创建高级用户界面,通过w e b 对应用实现同步的多用 户控制和测量功能改进。同时,使用新的技术数据管理m ) s t r e a m i n g v i 实现 更快速流盘,使用f p g a 向导自己定制数据采集设备,将标准p c 机转换成一 个实时系统,在工业系统中加入触摸板,使用共享变量与移动设备轻松通信以 及使用m a t h s c r i p t 在您的l a b v i e w 程序框图中加入文本数学模式。 西南交通大学硕士研究生学位论文第4 页 1 3 上位机软件与测试软件的关系 上位机软件是测试软件的一部分。在通过p c 机远程控制频谱仪中,p c 机称 为上位机,仪器为下位机,上位机软件运行在p c 上。测试测量领域国际知名的 大公司如r & s ,a g i l e n t ,h p ,泰克等等,针对各自的频谱仪产品开发的上位机软 件,有相当一部分的开发环境是l a b v i e w ,另外部分出于版权以及竞争的原因, 则是采用通用的开发环境,如v i s u a ls t u d i o 。通用开发环境没有l a b v i e w 的针 对性强,也没有通用的模块可以调用,开发的周期长,但是相对成本也就低, 不用学习专门的l a b v i e w 的开发语言。在开发自主知识产权的软件中,通用语 言的开发是唯一的选择。 1 4 论文研究内容及章节安排 频谱仪上位机软件通过u s b 端口对仪器进行远程控制,要求能同步仪器显 示,同时为用户提供方便的文件分析打印和历史数据存储功能,为用户提供良 好的工作环境。本论文主要从面向对象的视角,采用模型一视图一控制器( m v c ) 设 计模式,给出了上位机软件的三层软件的设计与实现。软件采用v i s u a lc 的 编程语言,既降低了开发成本也具有通用性。 本论文的章节安排如下: 第一章介绍电子测量测试技术在通讯领域的发展现状,测试软件在国内外 的发展情况,上位机软件与测试软件的关系,以及本论文的研究内容和章节安 排。 第二章介绍了上位机软件相关的背景知识,其中包括实时频谱仪功能,m v c 设计模式和i j s b 总线技术。 第三章根据需求分析明确了上位机软件的功能模块的划分。 第四章重点介绍了如何根据m v c 模式架构上位机软件的三层结构。 第五章主要是详细说明了上位机软件和频谱仪的i j s b 通讯实现,给出了软 件的实际运行界面,总结了设计中的关键技术。 第六章给出了上位机软件发展趋势。 西南交通大学硕士研究生学位论文第5 页 第二章m v c 模式与u s b 技术 2 1 实时频谱仪功能简介 s p e c t r u ma n a l y z e r 图2 1 频谱仪外型图 数字射频技术在终端设备中的应用日益广泛。从多媒体p d a ,3 6 手机和无 线宽带、多载波功率放大器、到复杂雷达系统的各门类产品均广泛应用了此项 技术,这也令技术环境愈发复杂。 数字r f 的迅速发展创造出异常复杂的技术环境。由于未分配信道、自适应 调制、对等通信及无数台设备同时在有限的无线频谱内部同时传送信号,会发 生频率碰撞和干扰问题。这些碰撞导致间歇性通信或通信拥堵。在商业领域中, 这使消费者和企业感到灰心丧气。在军事和政府领域,这可能意味着生死存亡。 为了避免系统或网络因为过载或干扰而停止工作的“数字壁垒”,保证这些设 备不会在不希望的时间或不希望的频率发送r f 能量,并能够在存在干扰时正确 操作至关重要。有两类典型问题: 找到干扰:第一个测试挑战是发现干扰信号或杂散信号,而不管其是由 设备内部生成的,还是外部发起的。 西南交通大学硕士研究生学位论文第6 页 检定干扰:一旦找到干扰,必须全面检定干扰。感兴趣的信号的幅度可 能会低于同一频段中的其它信号,可能不经常发生,因此很难捕获。 r f 领域中不能再忽略时间。现代数字r f 设备生成的信号是在一个时点出 ,现、在下一个时点消失、随时间变化的信号。数字r f 要求测试工具能够呈现当 前信号随时间变化的特点。实时频谱分析仪( r t s a ) 是世界上唯一为专门解决数 字r p 问题设计的分析仪。 传统扫频分析仪和矢量信号分析仪( v s a ) 一般不能完成数字r f 技术和设备 的测试任务。由于它们基本上是在一个频率范围内调谐窄滤波器,以生成单个 频域画面( 或称为“扫描”) ,传统扫频分析仪只能汇总一套不相关的r f 频谱活 动。即使是速度最快的扫频分析仪,仍可能会漏掉许多间歇性信号或迅速变化 的信号。 v s a 依赖捕获后分析技术,不能执行实时任务,如频域触发,即现代数字 r f 领域中所要求的不断变化、短促、突发信号。缺少相应的工具要求工程师采 用离线的、通常是内部开发的解决方案,这些解决方案效率低,耗时长,非常 复杂,可能成本非常高。 通过r t s a ( 实时频谱仪) ,许多复杂的问题可以通过在频域、时域和调制域 中时间相关r f 信号特性得以揭示。r t s a 可以触发和捕获瞬变事件,简便地提供 信号时间相关的多域画面,显著降低工程师诊断问题所需的时间。即r f 工程师 需要实时仪器,能够发现和触发间歇性事件,无缝捕获这些事件,分析代表着 该时间段里所累积的数据。 实时频谱仪可以实现数字r f 信号在高带宽和高动态范围、快速捕获信号中 对时域、频域、调制域以及失真度的测试与分析。外型图见图2 1 。 2 2n v c 设计模式 2 2 1 设计模式与面向对象软件的设计 设计面向对象软件比较困难,而设计可复用的面向对象软件就更加困难。 西南交通大学硕士研究生学位论文第7 页 需要找到相应的对象,以适当的颗粒将它们归类,再定义类的接口和继承层次, 建立对象之间的基本关系。软件的设计应该对手头的问题有针对性,同时对将 来的问题和需求也有足够的通用性。也希望避免重复设计和尽可能少做重复设 计。即使是有经验的面向对象设计者,要一下子得到复用性和灵活性好的设计, 虽然不是不可能但至少也是非常困难。一个设计在最后完成之前需要被复用好 几次,而且每一次有会有修改 内行的设计者知道,不是解决任何问题都要从头做起。他们更愿意使用以 前使用过的解决方案。当找到一个好的解决方案,他们会一遍又一遍的使用。 这些经验是他们成为内行的部分原因。在许多面向系统中可以看到类和相互通 讯的对象( c o m m u n i c a t i n go b j e c t ) 的重复模式。这些模式解决特定的设计问题, 使面向对象设计更灵活优雅,最终复用性更好。它们帮助设计者将新的设计建 立在以往工作的基础上,复用以往的成功的设计方案。一个熟悉这些设计模式 的设计者不需要再去发现它们,而能够立即将它们应用于设计问题中。 设计模式使人们可以更加方便地复用成功的设计和体系结构。将已证实的 技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。设计模式 帮助设计者做出有利于系统复用的选择,避免设计损害了系统复用性。通过提 供一个显式类和对象作用关系以及它们之间潜在联系的说明规范,设计模式甚 至能够提高已有系统的文档管理和系统维护的有效性。总之,设计模式可以帮 助设计者更快更好的完成系统设计。 2 2 2 什么是设计模式 谈到设计模式,c h r i s t o p h e ra l e x a n d e r 曾说过:“每个模式描述了一个 在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就 能一次又一次地使用该方案而不必做重复劳动。”尽管a l e x a n d e r 指的是城市和 建筑的模式,但是他的思想也同样适用于面向对象设计模式,只是在面向对象 的解决方案里,我们用对象和接口代替了墙壁和门窗。两类模式的核心都在于 提供了相关问题的解决方案。 一般而言,一个模式有四个基本要素: 西南交通大学硕士研究生学位论文第8 页 1 模式名称( p a t t e r nn a m e ) 一个助记名,它用一两个词来描述模式的问 题,解决方案和效果。命名一个新的模式增加了我们的设计词汇。设计模式允 许我们在较高的抽象层次上进行设计。基于一个模式词汇表,设计者之间就可 以讨论模式并在编写文档时使用它们。模式名可帮助我们思考,便于我们和其 他人交流设计思想和设计结果。找到恰当的模式名也是我们设计模式编目工作 的难点之一。 2 问题( p r o b l e m ) 描述了应该在何时使用模式。它解释了设计问题和问题 存在的前因后果,它可能描述了特定的设计问题,如怎样用对象描述算法等。 也可能描述了导致不灵活设计的类或对象结构有时候,问题部分会包括使用 模式必须满足的系列先决条件。 3 解决方案( s o l u t i o n ) 描述了设计的组成都分,他们之间的相互关系及 各自的职责和协作方式。因为模式就像一个模板,可应用于多种不同的场合, 所以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽 象描述和怎样用个具有一般意义的元素组合( 类或对象组合) 来解决这个问 题。 4 效果( c o n s e q u e n c e s ) 描述了模式应用的效果和使用模式应权衡的问 题。尽管我们描述设计决策时,并不总提到模式效果,但它们对于评价设计选 择和理解使用模式的代价及好处有重要意义。软件效果大多关注于时间和空间 的衡量,它们也表达了语言和实现问题。因为复用是面向对象的设计要素之一, 所以模式效果包括它对系统灵活性,扩充性和可移植性的影响,显示地列出这 些效果对理解和评价这些模式很有帮助。 2 2 3m v c 模式 2 0 世纪7 0 年代,l f c ( m o d e l - v i e w - c o n t r o l l e r ) 模式首先在s m a l lt a l k - 8 0 的编程环境中引入。其后,在人机交互式应用程序中得到广泛使用。 m v c 模式包括三个部分:模型( m o d e l ) 、视图( v i e w ) 和控制器( c o n t r o l l e r ) , 分别对应于内部数据、数据表示和输入输出控制部分。 西南交通大学硕士研究生学位论文第9 页 图2 2m v c 模式各部分的关系和功能 事件( e v e n t ) 1 模型( m o d e l ) 模型是与问题相关数据的逻辑抽象,代表对象的内在属性,是整个模型的核 心。它采用面向对象的方法,将问题领域中的对象抽象为应用程序对象,在这些 抽象的对象中封装了对象的属性和这些对象所隐含的逻辑。模型的作用如下: 抽象应用程序的功能,封装程序数据的结构及其操作:向c o n t r o l l e r 提 供对程序功能的访闯;接受v i e w 的数据查询请求:当数据有变化时,通 知对此数据感兴趣的v i e w 。 2 视图( v i e w ) 视图是模型的外在表现,一个模型可以对应一个或者多个视图,如图形用户 界面视图、命令行视图、a p i 视图:或按使用者分类:新用户视图、熟练用户视 图等。视图具有与外界交互的功能,是应用系统与外界的接口:方面它为外界 提供输入手段,并触发应用逻辑运行:另一方面。它又将逻辑运行的结果以某种 西南交通大学硕士研究生学位论文第1 0 页 形式显给外界。当m o d e l 变化时,它作出相应变化,有两种方法:p u s h ( 推) 方 法,让v i e w 在m o d e l 处注册,m o d e l 在发生变化时向已注册的v i e w 发送更新消 息:p u l l ( 拉) 方法,v i e w 在需要获得最新数据时调用m o d e l 的方法。v i e w 的 作用如下:对数据的表现部分进行抽象:将数据展现给用户,获得用户 输入:将用户输入转发给c o n t r o l l e r :当接到来自m o d e l 的“数据已更 新”通知后,更新显示信息。 3 控制器( c o n t r o l l e r ) 控制器是模型与视图的联系纽带,控制器提取通过视图传输进来的外部信 息,并将用户与v i e w 的交互转换为基于应用程序行为的标准业务事件,再将标 准业务事件解析为m o d e l 应执行的动作( 包括激活业务逻辑和改变m o d e l 的状 态) 。同时,模型的更新与修改也将通过控制器来通知视图。从而保持各个视图 与模型的一致性。c o n t r o l l e r 的作用如下:抽象用户交互和应用程序语义 的映射:将用户输入翻译成应用程序的动作,并转发给m o d e l ;根据用户 输入和m o d e l 对程序动作的输出,选择适当的v i e w 来展现数据。 2 2 4m v c 三部分之间的关系 如同一般的程序结构一样,l v l v c 有输入、处理、输出三个部分:c o n t r o l l e r 对应于输入,m o d e l 对应于数据表示和数据处理,v i e w 对应于输出。其中,控制 器与平台和操作系统的关系最为密切,v i e w 与之部分相关( v i e w 并不在意事件 是来自m i c r o s o f tw i n d o w s 还是xw i n d o w s ) ,m o d e l 与平台无关。m v c 模式通 常定义一个受限连接集合,用以描述模型、视图与控制器之间的通信,以及数据 和控制信息的传递方式与方向。m v c 模式中三个部分之间的通信都按照这个集 合的规定进行。针对图2 3 ( a ) ,这个受限集合通过图2 ,3 9 的箭头表现了出来, 可以简要描述如下: ( 1 ) 模型视图。模型处理数据,并根据其状态变化的情况将要显示的数据 提供给视图,视图将数据组织成各种显示样式表现给用户。它们之间是一种典型 的o b s e r v e r 模式。 ( 2 ) 控制器一视图。控制器根据用户输入直接调用不同视图改变响应流程, 西南交通大学硕士研究生学位论文第”页 或与模型交互后获得需要显示的数据,再调用视图改变响应流程。它们之间是一 种典型的s t r a t e g y 模式。 ( 3 ) 控制器一模型。控制器与模型交互,控制器将输入数据传递给模型处理, 控制器也可以从模型中抽取数据。对于这个描述m v c 通信的受限连接集合的定 义,可以在实际应用中根据具体应用环境的不同作合理调整,如在很多应用中采 用图2 3 ( b ) ,图2 3 ( c ) 所示的两种通信形式。本上位机软件采用图2 3 ( b ) 所示 的通信形式。图2 3 ( b ) 中,视图承担的角色与图2 3 ( c ) 及图2 3 ( a ) 中有重要区 别,它直接接收用户输入并向用户提供数据表示:图2 3 ( c ) 与图2 3 ( a ) 的重要区 别是,取消了视图与模型的通信,由控制器与模型交互,抽取需要显示的数据并 传递给视图,视图只负责处理数据表示 ( b )( c ) 图2 3m v c 的几种结构 2 2 5m v c 模式的优缺点 分离稳定的代码和易变的代码是面向对象设计的一个基本原则。通常负责 控制部分的对象要比负责表现部分的对象稳定,而负责业务逻辑和业务数据的 对象比前两类对象更稳定。m v c 设计模式分离了程序的表现、控制和数据,具有 设计清晰、易于扩展、运用可分布的特点,因此在构建w e b 应用中具有显著的优 势,可适用于多用户的、可扩展的、可维护的、具有很高交互性的系统。如电子 商务平台、c r m 系统和e r p 系统等。它可以很好地表达用户与系统的交互模式 西南交通大学硕士研究生学位论文第12 页 以及整个系统的程序架构模式。m v c 模式有如下优点: ( 1 ) 将数据建模、数据显示和用户交互三者分开,使得程序设计的过程更清 晰,提高了可复用程度: ( 2 ) 当接口设计完成以后,可以开展并行开发,从而提高了开发效率: ( 3 ) 可以很方便地用多个视图来显示多套数据,从而使系统能方便地支持 其他新的客户端类型: ( 4 ) 模式中各组件的分界线就是很自然的分发接口点,使得应用程序的发 布更容易,并且支持渐进式升级: ( 5 ) 各部分的责任划分得很清楚,从而简化了测试工作,维护人员很容易了 解程序的结构,便于维护工作的进行: ( 6 ) 提高了系统灵活性,因为数据模型、用户交互和数据显示等部分都可以 设计为可接插组件: ( 7 ) 可以用于分布式开发,只要给m o d e l ,v i e w 和c o n t r o l l e r 使用代理 ( p r o x y ),就可以封装不同计算机之间的通信。 m v c 模式的缺点主要集中在两个方面: ( 1 ) 由于实施m v c 模式过程而产生的开销。设计m v c 模式需要有经验的分析 人员对系统进行分析:类的数量及文件数量的增加( 像c + + 这样的编程语言,一 个类对应两个文件) 。 ( 2 ) 由于设计m v c 模式时分析不够、设计不当而引起相反的效果,把属于一 个模块的分开,把不相干的模块聚在一起。对属于一个实体不同方面的严格区分 导致了一个紧凑结构,使得测试和维护的工作量大幅度增加,每一次变动牵涉到 许多本不相干的模块的变动。 2 3u s b 总线技术 为了解决传统p c 机在发展过程中所遇到的一些问题,如外设通信端口数量 不足,外设连接繁琐、配置困难,数据传输速率低等,c o m p a q ,d e c ,i b 肌i n t e l , m i c r o s o f t ,n e c 和n o r t h e r nt e l e c o m 七家公司共同研制开发了g s 8 ( u n i v e r s a l s e r i a lb u s ,即通用串行总线) 。u s b 是一种快速的、方便的、廉价的新一代总 西南交通大学硕士研究生学位论文第13 页 线接入技术,其优点如下: ( 1 ) 成本低。为了把外设连接到p c 机上,u s b 提供了一种低成本的解决方案: ( 2 ) u s b 支持热插拔和即插即用: ( 3 ) 占用的系统资源少( 只占用一个i r p ) :无总线竞争: ( 4 ) 速度快:u s b l 1 支持1 5m b p s 和1 2 - l b p s 两种传输速率,而u s b 2 0 可 达4 8 0 m b p s : ( 5 ) u s b 端口支持多个不同设备的串列联接,一个u s b 口理论上可连接1 2 7 个u s b 设备: ( 6 ) u s b 事务处理包括错误检测机制,用以确保数据无错误的发送: ( 7 ) 设备能够直接由l i s b 总线进行供电: ( 8 ) 支持四种传输方式:控制传输、中断传输、块传输和同步传输。支持多 媒体:u s b 提供了对电话的两路数据的支持,可支持异步及等时传输,使电话可 与p c 集成,共享语音邮件及其它特性,而且u s b 还能传输高保真音频。 目前,u s b 设备的发展如日中天,国内外已推出了几百种u s b 设备,包括 u s b 集线器、打印机、扫描仪器、存储器、数字音箱、数码相机和调制解调设备 等。u s b 设备在实际应用中已经逐渐取代传统的外设,因此研究u s b 具有一定的 意义。 2 3 1 数据流模型 u s b 按照通信服务协议为主机和连接的设备提供通信服务。图2 4 就是一 个u s b 设备和主机相连的示意图 图2 4 简单的u s b 主机设备连接图 通信服务的协议按照不同的功能分为功能层、设备层和接口层,这些层之 间的通信模型如图2 5 所示。 西南交通大学硕士研究生学位论文第14 页 _ t o t 相互作用 u s b 设备 l 客户软件l i 功能l u s b 功能层 li tt li u s b i u s b l 系统软件 l 逻辑设备l u s b 设备层 i i tt li u s b 主机控制器 u s b 接口层 _ 。卜 实际通信流 逻辑通信流 图2 5u s b 的多层次通信模型 模型中的u s b 设各、客户软件、u s b 系统软件和u s b 主控制器是u s b 系统的 四个执行范围,先对其解释如下: u s b 设备:一种位于u s 8 电缆末端的硬件,完成一些有用的终端用户的功 能,如打印、扫描等。 喀户软件:在主机上执行的u s b 设备相对应的软件。有操作系统供给或u s b 设备单独提供。 u s b 系统软件:操作系统中支持u s b 的软件。由操作系统提供,独立于u s b 设备或客户软件。 u s b 主控制器( 主机端的总线接口) t 允许u s b 设备连接到主机的硬件和底 层软件。 如图2 5 所示,主机和设备间的连接要求不在一层的实体之间有相互作用。 u s b 总线接口层为主机和设备间提供物理信号包的连接。u s b 设备层的u s b 系 西南交通大学硕士研究生学位论文第1 5 页 统软件必须具有完成一般u s b 操作的功能。功能层通过一个特定的与功能模块 匹配的客户软件层来实现u s b 设备的功能。每个u s b 设备层和功能层都设有一 个在层内的逻辑通信流,实际上,u s b 中真正的数据传送是通过u s b 的总线接口 层来完成的。 在任何u s b 系统中,只有一个主机。主机在u s b 体系中占据主导地位,所 有在总线上的事件都由主机发起。设备和主机系统的接口称作主机控制器,主 机控制器可由硬件、固件和软件综合实现。根集线器是由主机系统整合的,用 以提供更多的连接点。 从主机的角度来描述上述通信模型,图2 6 描述了从主机角度看到的它与 设备的连接。 仁= = = = = 穹通道,代表相应层之间连接的抽象 图2 6 主机层次模型 西南交通大学硕士研究生学位论文第16 页 在u s b 系统中,主机部分可以划分为: u s b 总线接口 u s b 系统软件( 管理通道) u s b 客户( 管理界面) 其中,u s b 总线接口处理电气及协议层的互连。u s b 设备和u s b 主机都提 供类似的u s b 总线接口,如串行接口引擎( s e r i a li n t e r f a c ee n g i n e ,s i e ) 。 由于主机在u s b 系统中的特殊性,u s b 主机上的总线接口还必须具备主机控制 器的功能( h o s tc o n t r o l l e r ) ,由主机控制器内集成的一个集线器( 根集线器) 提 供与u s b 电缆的连接。u s b 系统软件有三个主要组成部份: 主机控制器驱动程序( h o s tc o n t r o l l e rd r i v e r ) 主机控制器驱动程序( h c d ) 管理主机与u s b 设备的数据传输,客户可以不必 知道设备到底接在哪个主机控制器驱动上就能同设备进行通信。在h c d 与u s b 驱动程序( u s bd r i v e r ,u s b d ) 之间的接口称为主机控制器驱动接口( h o s t c o n t r o l l e rd r i v e ri n t e r f a c e ,h c d i ) 。这层接口不能被客户直接访问,所以 u s b 规范没有定义。一个典型的h c d i 是由支撑各种不同主机控制器的操作系统 来定义的。 u s b 驱动程序 通用串行总线驱动程序( u s b d ) 提供i o 请求包( i or e q u e s tp a c k e t s ) 形式 的数据传输,以某一特定通道来传输数据。另外,u s d d 为它的客户提供一个容 易被支配及配置的抽象的设备。作为这种抽象的一部份,u s b d 拥有缺省通道对 设备进行一些标准的控制。这标准通道实现了u s b d 与抽象设备之间的逻辑通 信。u s b d 有一类特殊客户:集线器驱动器,集线器驱动器拥有这些缺省通道, 接收这些设备连接状态的改变。如果设备连结状态改变,集线器驱动器将加载 设备的驱动程序。 主机软件( h o s ts o f t w a r e ) 客户层描述的是直接与u s b 设备进行交互所需要的软件包。当所有的设备 都已连上系统时,这些客户就可以直接同设备进行通信。一个客户不能直接访 问设备的硬件。 总之,主机功能主要体现在以下几个方面: 西南交通大学硕士研究生学位论文第17 页 检测u s b 设备的安装和拆卸 管理在主机和u s b 设备之间的控制流; 管理在主机和u s b 设备之间的数据流; 收集状态和动作信息并提供能量给连接的u s b 设备。 2 3 2u s b 的通信流 u s b 为主机上的软件和u s b 的功能模块提供了通信服务。根据不同的客户与 功能模块之间的不同通信要求,u s b 设备对数据流有不同的要求。由于允许不同 的数据流独立地进入一个u s b 设备,u s b 能更好地利用整个总线的资源。每个通 信流利用一些总线访问的方式来完成与功能模块之间的通信。每个通信流终止 于设备上的一个端点。设备的端点是u s b 设备的唯一的可标识部分,用来标识 每个通信流的方向,它是在主机和设备之间的通信流的信息源或终点。 对u s b 系统来说,u s b 逻辑设备像是端点的一个集合。端点组合成实现接 口的端点组,接口是面对此功能块的。系统软件使用与端点0 相关的缺省管道 ( d e f a u l tp i p e ) 来管理设备。管道( p i p e ) 是描述设备上的端点和主机上的软件 之间的联系的一个抽象通道。客户软件要求主机的缓冲器和u s b 设备上的一个 端点之间传送。主机控制器( 或依赖于传输方向的u s b 设备) 对数据进行打包后 往u s b 上传送。图2 7 ,说明了在端点和主机一侧的存储器缓冲区之间的管道是 如何存载通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论