已阅读5页,还剩69页未读, 继续免费阅读
(电力电子与电力传动专业论文)can总线测试系统与ttcan调度器的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
a b s t r a c t c a nb u si saf i e l db u sw h i c hl sw i d e l yu s e di ni n d u s t r i a lc o n t r o lf i e l d d u n n gt h e d e v e l o p m e n tp r o c e s so fc a ns y s t e m ,i ti sn e c e s s a 巧t oe v a l u a t ei t sp e 南咖a n c e t h i s t h e s i su s e se t h e m e ti n s t e a do fu s bw h i c hi su s u a l l y 印p l i e di nc a nb u s1 e s ts y s t e m t oo b t a i nw i d eb a n d w i d t ha n dl o n gt r a n s p o r td i s t a n c e t t c a ni sat i m e - 1 r i g g e r e dm e c h a n i s mb a s e do nc a n ,w h i c ha v o i dt r a n s p o r t u n c e n a i n t ) ,o fm e s s a g ei nc a nb u s a tp r e s e n t ,a t r n e lc o 印o r a t i o nh a sa l r e a d y p r o d u c e da r mm i c r o c o n t r o l l e rt os u p p o r tt t c a n t h i st h e s i sr e s e a r c h e so nt t c a n s c h e d u l e rb a s e do nt h i sm i c r o p r o c e s s o r f o rt h es t u d yo ft h ec a nb u st i e s ts y s t e mm o n i t o rs o f w a r e ,t h es t a t i ca n d d y n a m i cm o d e l so ft h em o n i t o rs o f t w a r e a r ed e v e l o p e db yt h eu m lb a s e do n o b j e c t o r i e n t e dd e s i g nm e t h o d s t | h e n ,t h em o n i t o rs o r w a r ei sd i v i d e di n t o m a i n t h r e a da n dr e c e i v i n gm r e a d sb ym u l t i - t h r e a d i n gt b c h n o l o g yv i a t h em f c a r e rt h a t , u d p i pp r o t o c o lf o rt h er e a lt i m em e s s a g e st r a n s m i s s i o ni nt h er e c e i v i n gt h r e a di s r e a l i z e db yt h es o c k e t ,a n dt h ec o n f l i c tw h i i et w ot h r e a d st r yt oa c c e s st h ef i f oa tt h e s a m et i m ei ss 0 1 v e dt h r o u g hc r i t i c a ls e c t i o ns y n c h r o n i z “o n ,t h u st h ei n f o m l a t i o n a c c e s s i o ni ss a f e a tl a s t ,t h eb a s i cf u n c t i o n so ft h em o n i t o rs o 胁a r ea r ec o n n r n l e db y t e s tc a s e s f o rt h er e s e a r c ho nt h ec a na n a l y s i ss y s t e m sl o w e rc o m p u t e rf i m w a r ew h i c h i sb a s e do na t 91s a m 7 x 2 5 6m i c r o p r o c e s s o r ,t h e 行n n w a r ei sd i v i d e di n t oc a n m o d u l e ,e t h e m e tm o d u l ea n dm a s t e rr o u t i n et h r o u g hm o d u l a r i z a t i o nm e t h o d s t h e n , t h ef u n c t i o n so fc a nm o d u l ea r ei m p l e m e n t e db yi n t e r r u p th a n d l i n ga n de x p a n d i n g f i f o a n dt h ef u n c t i o n so fe t h e m e tm o d u l ea r er e a li z e db yu s i n gd l l so fi d e b o t h o ft i l ea b o v em o d u l e sa r ei n v o k e db ym a s t e rr o u t i n e f i n a l l y ,t h eb a s i cf u n c t i o n so ft h e f i r n l w a r ea r ec o n f i 肿e dt h r o u 曲t e s tc a s e s c y c l i c a lc o n t r o lm e s s a g e so ft h em o t o rc o n 仃o ls y s t e ma r et h eo b j e c tw h i c ht h i s t 1 1 e s i ss t u d i e s b yu s i n gt h es t a t i cs c h e d u l i n 窑a l g o r i t h mb a s e do na v e r a g en u m b e r a n a l y s i s ,m a t r i xc y c l es t m c t u r ei so b t a i n e d t t c a ns c h e d u l e ri sd e s i g n e do nt h e a t 91s a m 7 x 2 5 6w h i c hs u p p o r t st h et t cp r o t o c 0 1 t h ea b o v er e s u l t sp r o v i d eab a s i sf o rt h ef u r t h e rr e s e a r c ho nt h ec a nb u st e s t s y s t e mb a s e do ne t h e m e ta n dt h er e a l i z a t i o no ft t c a ns c h e d u l e r k 皿yw o r d s : c a nb u st e s t s y s t e m , t t c a ns c h e d u l e r , u d p i p , m u l t i t h r e a d i n gt e c h n o l o g y ,u m l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得叁鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:同覆孑屯签字日期: 回g 年6 月口日 学位论文版权使用授权书 本学位论文作者完全了解丕壅盘堂有关保留、使用学位论支的规定。 特授权鑫生盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 用查幻 签字日期:细罗年月加日 导师签名: 签字日期:加口扩年多月矿日 第一章绪论 第一章绪论 c a n ( c o n t r o l i e ra r e an e t 、v o r k ) 总线协议是一种支持分布式实时控制系统的串 行通信局域网。虽然c a n 总线开发时的主要目的是用于汽车行业,但由于c a n 总线具有高性能、高可靠性等优点,其适用范围已扩展到了机械行业、医疗器械、 自动化等领域【1 】【2 1 。 1 1c a n 总线系统辅助开发工具 目前国外对c a n 总线开发、测试工具的研究,处于引领地位的有德国的 v e c t o r 公司和i x x a t 公司等。v e c t o r 公司开发了一套功能强大的支持c a n 总线开发和测试的工具【3 】,这些工具包括:通用开发分析工具c a n a l y z e r ,用于 c a n 网络系统和电控单元仿真与测试工具c a n o e ,c a n 总线数据记录器 c a n l 0 9 4 等。i x x a t 公司的软件产品c a n a n a l y s e r 3 2 【4 j 是c a n 网络开发、测试和 维修的通用工具。c a n a n a l y s e r 3 2 标准设备提供一些基本功能,包括:总线通信 量、报文队列的在线观测,可根据各类可变的触发条件获得报文的记录。 国内知名公司如周立功公司已开发了一些辅助c a n 系统设计的工具,如 c a n a l y s t i i i ( 单双) 分析仪【5 】,它用于实时监测c a n 网络中的消息传输情况。 但对c a n 总线系统的设计而言缺乏一套有效的实时性分析与评估及模型优 化的实验平台。为此实验室搭建了一个通用的实验平台,用以模拟实际系统的运 行。 该平台包括三部分:c a n 总线离线仿真软件,c a n 总线性能分析软件和c a n 总线在线仿真实验系统。其中,离线仿真软件可通过f p s 和t t - f p s 算法分别计 算出两种算法下消息的离线调度结果,用户可根据调度结果进行可调度分析,得 到系统的有关性能评价。性能分析软件是对c a n 总线实验系统上运行结果的进 一步分析,得出负载率等总线性能评价指标。c a n 总线在线仿真实验系统是该 平台的核心部分,它是一个在线仿真的实验平台。 在线仿真实验系统由四部分组成,c a n 总线通信节点,上位机管理软件,在 线监测工具和c a n 总线网桥,如图1 1 所示。目前,在线仿真实验系统已可以 成功运行,但在线测试工具是采用i x x a t 公司的u s b t o c a n 智能接口卡,并 使用与之配套的c a n a n a l v s e r 3 2 上位机监测软件。该套工具价格昂贵,且不能 满足c a n 系统开发人员的所有功能需要。所以,有必要开发一个c a n 总线测 第一章绪论 试系统,给c a n 系统开发人员提供需要的功能,并可根据需要进行二次开发, 同时使c a n 总线通信实验平台拥有独立的自主知识产权。 图1 1c a n 总线在线仿真实验系统 1 2 基于以太网通信的c a n 总线测试系统 r s 4 8 5 总线 c a n 总线 一般c a n 测试工具【6 胴是通过u s b 串行总线与上位机互连,u s b 总线虽然具 有使用简单等优点,但有传输距离短( 不超过5 m ) ,传输速率不高( 1 5 1 2 m b p s ) 等不足。以太网【8 】【9 】【1 0 1 不仅具有传输距离远( 大于1 0 0 m ) ,传输速率高 ( 1 0 1 0 0 m b p s ) 等特点,而且还能方便地接入局域网中。为此,本文采用以太网 实现上位机与测试工具通信。 c a n 总线测试系统结构如图1 2 所示。c a n 总线测试系统由上位机软件和 下位机构成。下位机相当于图1 1 中的在线测试工具,基于a l 洲微控制器开发; 上位机软件负责对监测到的消息进行处理,两者通过以太网网络连接。 关于c a n 总线测试系统的详细内容请看第二章和第三章。 第一章绪论 1 3 从c a n 到t t c a n 图1 2c a n 总线测试系统结构 传统的c a n 是基于事件触发的【l l 】,信息传输时间的不确定性是它固有的缺 陷。为了满足实时系统的要求,于是时间触发机制被引入到c a n 中,产生了时间 触发控制器局域网t t c a n ( t i m e t r i g g e r e dc a n ) 协议【1 2 j 。t t c a n 为不同的 消息定义了不同的时间窗口( t i m e rs l o t ) ,在同一时间窗口内,总线上只能有一条 消息传输,这样避免了总线仲裁,也保证了消息的实时性。对于非周期信息,在 t t c a n 中有一个名为仲裁窗口的时间窗口,非周期性消息在仲裁时间窗口内, 采用传统c a n 优先级仲裁方式传输。 对于基于时间触发机制的c a n 总线的同步机制及调度算法的研究,已经有若 干成果【1 4 】,但缺乏实现性的研究。目前,a t m e l 公司推出了支持时间触发机制的 t t c ( t i m et r i g g e r e dc o m m u n i c a t i o n ,时间触发通信) 协议的a r m 微控制器 a t 9 l s a m 7 x 2 5 6 【1 5 】,为t t c a n 调度算法的实现提供了物质基础。本文利用该款 微控制器对t t c 的支持研究了t t c a n 矩阵周期中的周期性消息的传输,即 t t c a n 调度器的研究。关于t t c a n 调度器的详细内容请看第四章。 。1 4 课题研究的意义和内容 基于以太网通信的c a n 总线测试系统目前很少见,与常见的基于u s b 通信 的测试工具相比,基于以太网的测试系统将具有更远的传输距离和更宽的通信带 宽,而且能实现测试系统的网络控制与传输。c a n 总线测试系统还将与自主开 发的c a n 总线通信实验平台配套,使其拥有独立自主知识产权,同时为研制面 第一章绪论 向用户定制的性能分析软件奠定了基础。 t t c a n 由于有着广泛的应用前景,所以有很多关于实施t t c a n 机制的研究, 但主要集中在基于单片机【1 6 】或者通过专门的控制器【1 7 】实现。前者由于受限于单 片机的低主频,时间精度较低;后者则增加硬件复杂性。本文利用基于内嵌c a n 控制器的a t 9 l s a m 7 x 2 5 6 微控制器研究t t c a n 则很好地解决了成本和时间精度 的问题,而且易于实现。关于该款微控制器用于t t c a n 方面的研究,尚未见报 道。 本文的内容安排如下: 第二章是c a n 总线测试系统上位机软件的设计与实现。使用了面向对象设 计方法,利用u m l 对上位机软件进行静态和动态的建模分析,然后选择了原型 开发方法,基于m i c r o s o r 公司提供的m f c 构建了上位机软件架构。上位机软件 实现时还采用了多线程技术,采取u d p i p 协议进行消息传输,以提高c a n 测 试系统的实时响应速度。最后是遵循一般的软件测试流程,编写了测试用例,模 拟上位机软件的实际工作过程,用黑盒测试方法对整体功能进行测试。 第三章是c a n 测试系统下位机软件的设计与实现。在这里采用了嵌入式系 统开发中常用的结构化设计方法,首先进行了需求分析,然后在总体设计中,给 出了下位机软件的层次结构及基于有限状态机的软件运行状态描述,并用模块化 的设计思想把下位机划分为c a n 模块和以太网模块,分别对其进行设计与实现。 最后设计了测试用例,通过第三方软件观察下位机的工作效果。 第四章是t t c a n 调度器的研究。以汽车自动控制系统的周期性控制消息为 研究对象,利用基于平均数目分析的静态调度算法,对其进行调度分析,规划其 矩阵周期结构。并在支持t t c 协议的微控制器上对t t c a n 调度器进行设计, 用t t c a n 调度器来管理规划过的矩阵周期的消息传输。 第五章对论文进行总结并提出展望。 第二章c a n 总线测试系统上位机软件设计与实现 第二章c a n 总线测试系统上位机软件设计与实现 c a n 总线测试系统由上位机软件和下位机两部分组成。本章是上位机软件的 设计与实现,首先介绍了上位机和下位机通信所采用的通信协议及上位机软件设 计中用到的多线程技术;然后进入本章的主体:上位机软件的设计与实现;最后 给出了上位机软件测试和总结。 2 1 网络通信协议以及w i n d o w ss o c k e t 编程技术介绍 2 1 1t c p ( u d p ) i p 网络传输协议【1 9 】 t c p i p ( t r a n s m i s s i o nc o n t r o lp r o t o c o l i n t e m e tp r o t o c 0 1 ) 是一个协议族,它包 括一系列协议,如t c p 、i p 、u d p 、a r p 、i c m p 以及其它一些子协议。它遵守 一个四层的模型概念:应用层、传输层、网际层和网络接口层。t c p i p 参考模 型以及各层的主要协议如图2 1 所示。各层的简要说明如下: “j 。? : 毪 4 j 。j 1 。7 “j 应用层 f t p 、h t t pt f t p 、n t p 传输层 t c pu d p ,j 网际层 i p 一; , 网络接口层 e t h e m e t 、t 0 r k e n 、a t m 。、,。,。荔 图2 1t c p i p 参考模型以及各层对应的协议 l 、应用层 应用程序间沟通的层,如简单电子邮件传输( s m t p ) 、文件传输协议( f t p ) 、 网络远程访问协议( t e l n e t ) 等。 2 、传输层 、 在此层中,它提供了节点间的数据传送服务,如传输控制协议( t c p ) 、用户 数据报协议( u d p ) 等。t c p 协议是面向连接的可靠传输协议,而u d p 协议是 无连接的,可靠性要由应用层来保证。采用t c p 协议通信时,速度慢,在实时 性要求较高的场合,一般采用u d p 协议来实现。 第二章c a n 总线测试系统上位机软件设计与实现 3 、网际层 负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机 ( 但不检查是否被正确接收) ,如网际协议( i p ) 。 4 、网络接口层 对实际的网络媒体的管理,定义如何使用实际网络( 如e t h e m e t 、s e r i a ll i n e 等) 来传送数据。 2 1 2w i n d o w ss o c k e t 网络编程技术 网络通信程序的实现可以有多种方式,w i n d o w ss o c k e t 就是其中一种比较简 单的实现方法。 s o c k e t 是连接应用程序与网络驱动程序的接口。s o c k e t 在应用程序中创建, 通过绑定操作与驱动程序建立关系。此后,应用程序把数据发送给s o c k e t ,由 s o c k e t 交给驱动程序向网络上发送出去。主机从网络上收到与该s o c k e t 绑定的 i p 地址和端口号相关的数据后,由驱动程序交给s o c k e t ,应用程序便可从该 s o c k e t 中提取接收到的数据。 2 2w i d o n w s 多线程技术川 2 2 1 进程和线程 进程( p r o c e s s ) 是具有一定独立功能的程序关于某个数据集合上的一次运行 活动,是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集 合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序 在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行,因 等待资源或事件而被处于等待状态,因完成任务而被撤消,反映了一个程序在一 定的数据集上运行的全部动态过程。 线程( t h r e a d ) 是进程的一个实体,是c p u 调度和分派的基本单位。线程不 能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 w i n d o w s 操作系统中,线程有两种,一种是用户界面线程,另一种是工作者线程。 前者有窗口,有自己的消息循环;后者没有窗口,不需要处理消息。 线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进 程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强 制退出并清除。线程可与属于同一进程的其它线程共享进程所拥有的全部资源, 但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息( 如程 第二章c a n 总线测试系统上位机软件设计与实现 序计数器、一组寄存器和栈) 。 在操作系统中引入线程带来的主要好处是: 1 、在进程内创建、终止线程比创建、终止进程要快; 2 、同一进程内的线程间切换比进程间的切换要快,尤其是用户级线程间的 切换: 3 、并发程序的并发执行,在多处理器环境下更为有效。一个并发程序可以 建立一个进程,而这个并发程序中的若干并发程序段就可以分别建立若干线程, 使这些线程在不同的处理器上执行; 4 、每个进程具有独立的地址空间,而该进程内的所有线程共享该地址空间。 这样可以解决父子进程模型中,子进程必须复制父进程地址空间的问题。 2 2 2 多线程通信 在多线程程序中,线程相互协助才能完成程序功能,因此,线程间的通信显 得尤为重要。线程之间通信的两个基本问题是互斥和同步。 线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个 线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤 醒。 线程互斥是指对于共享的操作系统资源( 指的是广义的“资源”,而不是 w i n d o w s 的r e s 文件,譬如全局变量就是一种共享资源) ,在各线程访问时的排 它性。当有若干个线程都要使用某一共享资源时,任何时刻最多只允许一个线程 去使用,其它要使用该资源的线程必须等待,直到占用资源者释放该资源。 线程互斥是一种特殊的线程同步。实际上,互斥和同步对应着线程间通信发 生的两种情况: 1 、当有多个线程访问共享资源而不使资源被破坏时; 2 、当一个线程需要将某个任务已经完成的情况通知另外一个或多个线程时。 在w i n 3 2 中,同步机制主要有以下几种: a 、临界区( c r i t i c a ls e c t i o n ) 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一 个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一 个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临 界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原 子方式操作共享资源的目的。 b 、互斥量( m u t e x ) 互斥量跟临界区很相似,只有拥有互斥对象的线程才具有访问资源的权限, 第二章c a n 总线测试系统上位机软件设计与实现 由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个 线程所访问。当前占据资源的线程在任务处理完后应将拥有的互斥对象交出,以 便其他线程在获得后得以访问资源。互斥量比临界区复杂。因为使用互斥不仅仅 能够在同一应用程序不同线程中实现资源的安全共享,而且可以在不同应用程序 的线程之间实现对资源的安全共享。 c 、信号量( s e m a p h o r e ) 信号量对象对线程的同步方式与前面几种方法不同,信号允许多个线程同时 使用共享资源,这与操作系统中的p v 操作相同。它指出了同时访问共享资源的 线程最大数目。它允许多个线程在同一时刻访问同一资源,但是需要限制在同一 时刻访问此资源的最大线程数目。 d 、事件( e v e n t ) 事件对象也可以通过通知操作的方式来保持线程的同步。并且可以实现不同 进程中的线程同步操作。 对几种同步机制的总结如下: l 、互斥量与临界区的作用非常相似,但互斥量是可以命名的,也就是说它 可以跨越进程使用。所以创建互斥量需要的资源更多,如果只为了在进程内部是 用的话使用临界区会带来速度上的优势并能够减少资源占用量。 2 、互斥量( m u t e x ) ,信号灯( s e m a p h o r e ) ,事件( e v e n t ) 都可以被跨越进 程使用来进行同步数据操作,而其他的对象与数据同步操作无关,但对于进程和 线程来讲,如果进程和线程在运行状态则为无信号状态,在退出后为有信号状态。 所以可以使用w a i t f o r s i n g l e o b j e c t 来等待进程和线程退出。 3 、通过互斥量可以指定资源被独占的方式使用,但如果有下面一种情况通 过互斥量就无法处理,比如现在一位用户购买了一份三个并发访问许可的数据库 系统,可以根据用户购买的访问许可数量来决定有多少个线程进程能同时进行 数据库操作,这时候如果利用互斥量就没有办法完成这个要求,信号灯对象可以 说是一种资源计数器。 4 、临界区同步是几种同步机制中同步速度最快的,但使用时,容易进入死 锁状态,因为在等待进入临界区时无法设定超时值。 第二章c a n 总线测试系统上位机软件设计与实现 2 3 上位机软件的设计与实现 2 3 1 引言 2 3 1 1 面向对象的分析与设计【2 2 】 面向对象方法是近三十年来蓬勃发展起来的、并获得广泛应用的一种具有广 阔发展前景的软件设计方法。所谓面向对象,就是以对象观点来分析现实世界中 的问题,基本思想是从现实世界中客观存在的事物( 对象) 出发来构造软件系统, 并在构造过程中尽可能的利用人的自然思维方式。面向对象方法主要具有抽象、 封装、继承和多态性等特征。 面向对象方法需要对研究对象进行建模分析。面向对象的标准建模语言是 u m l ( u n i 6 e dm o d e l i n gl a n g u a g e ) 【2 3 】【2 4 】,它是一种用来对面向对象开发系统的 产品进行说明、可视化和编制文档的建模语言。 作为一种建模语言,u m l 的定义包括u m l 语义和u m l 表示法两个部分。 1 、u m l 语义 描述基于u m l 的精确元模型定义。元模型为u m l 的所有元素在语法和语 义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消 除了因人而异的最佳表达方法所造成的影响。此外u m l 还支持对元模型的扩展 定义。 2 、u m l 表示法 定义u m l 符号的表示法,为开发者或开发工具使用这些图形符号和文本语 法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语 义上它是u m l 元模型的实例。 标准建模语言u m l 的重要内容可以由下列五类图( 共9 种图形) 来定义: 第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。 第二类是静态图( s t a t i cd i a g r a m ) ,包括类图、对象图和包图。其中类图描述 系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、 聚合等,也包括类的内部结构( 类的属性和操作) 。类图描述的是一种静态关系, 在系统的整个生命周期都是有效的。 对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于 对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。 由于对象存在生命周期,因此对象图只能在系统某一时间段存在。 包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。 第三类是行为图( b e h a v i o rd i a g r a m ) ,描述系统的动态模型和组成对象间的 第二章c a n 总线测试系统上位机软件设计与实现 交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移 条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图, 仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活 动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行 活动。 第四类是交互图( i n t e r a c t i v ed i a g r a m ) ,描述对象间的交互关系。其中顺序图 显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象 之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间 的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。 如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这 两种图合称为交互图。 第五类是实现图( i m p l e m e n 诅t i o nd i a g r a m ) 。其中构件图描述代码部件的物理 结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制 部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析 和理解部件之间的相互影响程度。 配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备 ( 用节点表示) 以及它们之间的连接关系,也可显示连接的类型及部件之间的依 赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应 关系。 从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次 根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。 其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图( 包含包) 、 对象图、组件图和配置图等五个图形,是标准建模语言u m l 的静态建模机制。 其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关 系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言u m l 的动态建模机制。因此,标准建模语言u m l 的主要内容也可以归纳为静态建模 机制和动态建模机制两大类。 2 3 1 2 本节内容安排 需要指出的是u m l 是标准的建模语言,而不是标准的开发过程。尽管u m l 的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需 要采取不同的开发过程。鉴于此,2 3 2 小节的建模中,静态模型采用了用例图 和类图,动态模型采用了顺序图;而在2 3 4 小节则采用了原型开发方法设计和 实现上位机软件;最后根据软件特点进行了相关测试。 第二章c a n 总线测试系统上位机软件设计与实现 2 3 2 软件需求分析与建模 2 3 2 1 系统需求与分析 上位机软件是c a n 总线测试系统的人机交互接口,它可以接收和显示c a n 总线测试系统接收到的消息帧,或者对接收到的消息帧进行处理。此外,上位机 软件还应该具有一些扩展功能,比如对c a n 总线测试系统进行配置。 总结上位机软件的基本功能需求如下: ( 1 ) 接收消息帧; ( 2 ) 显示消息帧; ( 3 ) 保存消息帧; 扩展功能则主要包括对测试系统进行配置。 2 3 2 2 基于u m l 的建模 基于u m l 建模的第一步是建立静态模型,本文给出了系统用例图和类图两 种。 根据前面的需求分析,可以建立如图2 2 的系统用例图。该用例图把上位机 软件的基本功能分为了接收消息帧、显示消息帧和保存消息帧三个用例。 吴 撵作者 。 ? 一 、 t 咨一 图2 2 上位机软件用例图 在确定上位机软件的所有用例后,就可以标识类的属性和操作了。实际上, 标识类的属性和操作的过程,就是对系统的静态结构进行分析的过程。在u m l 第二章c a n 总线测试系统上位机软件设计与实现 中对系统的静态结构进行设计主要是采用类和对象模型来描述,类和对象模型的 基本模型元素有类、对象以及它们之间的相互关系。u m l 主要用类图和对象图 来表示系统的静态结构,类图由系统中使用的类以及它们之间的相互关系组成。 类之间的关系主要有关联、聚集、泛化和细化等。而对象图则是类图的一个实例, 它描述类图中的类的特定实例以及某一时刻这些实例之间的特定链接。 由于上位机软件是基于m f c 文档视图架构开发的,该架构自身涉及到的类 以及类之间关系很复杂,这里只给出与上位机软件功能实现直接相关的主界面类 图和数据类图。 类图中的每一个类都分三层,第一层是类名称,第二层是类的属性,第三层 则是类的操作。图2 3 简要给出了软件所涉及到的主要界面类及其相互关系。该 类图除了描述各个类主要的属性、功能之外,还描述了各类之间的依赖关系。需 要指出的是,在该类图中的几个类都是派生类,它们之间的关联关系都是通过其 基类( 由m f c 提供) 来实现的,因此在图中没有体现出来。 图2 3 上位机软件主界面类图 c c h 堋= r a m e m w n d s p i m e r :c s 口i i n e n ,n d + 0 n c r e a t e c | l e n t ob o o i e a n + p r e c r e a f e w | n d 口w 0b o o l e a n c c a n m i c r o m 帅v i f m r - m n t h r e a d s t a t u s i n t + 0 n d r a w 0v o i d + p r e c r e a l e w i n d a w 0 :b o o l e a n + 0 n l n i 廿aj u p d a t e o :v o i d + g e t d o c u m e n l 0c c n h l c r o o n d o c 亭o n 乳a n s 佃p 0v o i d 乖o n u p d a l ev i e w o o :l o n g 第二章c a n 总线测试系统上位机软件设计与实现 图2 _ 4 上位机软件数据类图 从图中可以看出,类c c a n m i c r o m o n a p p ( 基类为c w i n a p p ) 包容了类 c m a i n f m l ( 基类为c m d i f r a m e w n d ) 、类c c h i l d f r a m e ( 基类为c m d i c h i l d w n d ) 、 类c c a n m i c r o m o n e w ( 基类为c s c r o l l v i e w ) 和类c c a n m i c r o m o n s i m p l e v i e w ( 基类为c v i e w ) 。其中,类c c a n m i c r o m o n a p p 的全局对象( 有且只有一个) 表现为应用程序的实例,在它的i n i t i n s t a n c e 函数中实现了整个应用程序的大部 分初始化工作;类c m a i n f m 主要实现了对工具栏和状态栏的初始化与设置;类 c c h i l d f r a m e 实现了对窗口的切分;类c c a n m i c r o m o n e w 和类 c c a n m i c r o m o n s i m p l e v i e w 则是用于显示的。 上位机软件的数据类图如图2 ,4 。类c c a n m i c r o m o n d o c 是数据处理的核心, 数据以各种形式保存其对象中。类c f i f o 是一个f i f o ( f i r s ti nf i r s to u t ,先进先 出队列) ,它和类c c a n m i c r o m o n d o c 是组合关系,作为类c c a n m i c r o m o n d o c 的一个成员变量来保存接收到的消息帧。类c b l o c k i n g s o c k e t 用于接收和发送以 太网帧,它与类c c a n m i c r o m o n d o c 是相互关联关系,具体表现为把接收到的 帧放到类c c a n m i c r o m o n d o c 中和从类c c a n m i c r o m o n d o c 中获取需要发送的 帧。类c c a n m i c r o m o n v i e w 与类c c a n m i c r o m o n d o c 也是关联关系,两者是典 型的文档视图架构,前者可以从后者中获取数据用于显示,而在需要的时候则 通知后者更新数据。类c c a n m i c r o m o n s i m p l e v i e w 仅仅通过类 第二章c a n 总线测试系统上位机软件设计与实现 c c a n m i c r o m o n d o c 实现简单显示,它与类c c a n m i c r o m o n d o c 是依赖关系。 基于u m l 建模的第二步是在对系统静态结构的分析基础上建立动态模型。 与静态结构分析相对应,系统的动态行为采用对象行为模型来描述。通过对象 一行为模型的描述可以指明系统如何响应外部事件,显示系统运行时期不同时刻 的动态交互。在u m l 中主要用顺序图、状态图、协作图和活动图来建立动态模 型。 本文根据上位机软件自身的特点,采用顺序图来描述系统动态的行为。顺序 图用来描述对象间的交互行为,它注重消息的发送和接收的顺序。同时它还揭示 了一个特定场景的交互,即系统执行期间发生在某时间点的对象之间的特定交 互。因此,它适合于描述实时系统中的时间特性和时间约束。时序图有两个坐标, 垂直坐标表示时间( 从上到下) ,水平坐标表示一组对象,在对象框下面画一垂 直的虚线来表示该对象的生存线,用来指出该对象执行期间的时序,对象之间的 消息发送和接收用两个对象生存线之间的消息箭头来表示。当一个对象接收到一 个消息时,该对象开始被激活,激活展示了某时间点上哪个对象在执行,它用对 象生成线上的一个长方形框来表示。按垂直坐标从上到下的次序读时序图,可以 观察到随时间的前进消息通信的顺序。 图2 5 给出了上位机软件实现基本功能时的顺序图。该顺序图可以划分为三 个阶段。第一阶段是初始化,包括显示界面初始化和启动接收线程并在接收线程 中对网络进行初始化;第二阶段是接收以太网消息帧并显示,在这个阶段里,接 收线程通过网络接口接收以太网传送来的帧,并将其保存到类 c c a n m i c r o m o n d o c ( 文档) 的对象中去,文档对象则在一定的条件下给显示界 面( 视图) 发送消息,通知其显示接收到的帧;第三阶段是保存数据,文档中的 数据是保存在r a m 中的,用户可以通过主界面选择将文档中的数据以t x t 文 本的形式以一定的格式保存到硬盘中。 在图2 5 中,对象之间的交互主要是通过简单消息,即没有过多关注通信同 步细节,与通信同步相关的内容会在下一节软件设计中介绍。 第二章c a n 总线测试系统上位机软件设计与实现 l 主界面文:陛( r a m ) 硬盘( r o m ) l il l c r e a l e il io n s t a r l s t o p oj 网络格口 il 自_ t i h 担1 i ,口w 】* 1 1 z 尺e c e i v e d a t a g r a m o i、i ,i 开始接收以太网帧i r8 。n d m 嘲。o 、! i j 发送数据 l i l 一 i i u p d a t ea i i v i e w s 0i 、 i i显示数据 t i s e r i a z e 0 l ii 开始俱存数据 : i , 一, i 、数据永久保存 、u e j u r s e l e v e n t o l u r i u :,砒 : 图2 5 上位机软件基本功能顺序图 2 3 3 软件设计与编程实现 2 3 3 1 软件开发方法圳 软件开发方法有瀑布型开发方法,变换型开发方法和原型开发方法。 瀑布型开发方法要求在系统建立以前,对系统的功能进行严格的定义或确切 的说明。但系统开发的实践表明,尽管在许多情况下用了这种或那种严格定义或 预先说明的方法,当系统建成以后,用户仍然会觉得建立的系统或者是不完全正 确的,或者是不完备的。因此,经常要进行反复的修补,而更坏的情况,不是对 交付的系统进行修补,简直是推倒重来,这样需要付出昂贵的代价。该方法开发 周期长,开发过程复杂繁琐,适用于一些组织相对稳定、业务处理过程规范、需 求明确且在一定时期内不会发生大的变化的大型复杂系统的开发。 变换型开发方法是一种形式化的软件开发方法,它从软件需求的形式化规格 说明出发,经过一系列的程序变换,得到最终的软件系统。变换型开发方法必须 有严格的数学理论和形式化技术的支持。目前,这种方法尚处于研究和实验阶段。 第二章c a n 总线测试系统上位机软件设计与实现 原型开发方法也叫渐增开发方法,它不需要一开始就有完整的软件需求定 义,是从基本需求定义出发,构造一个功能简单的原型系统,然后通过对原型系 统逐步求精,不断扩充完善得到最终的软件系统。这个原型可在运行中被检查、 测试、修改,直到它的性能达到用户需求为止。这种方法适用于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑人牙膏策划书
- 学术型硕士研究生培养方案
- 文学院届毕业论文选题指南
- 硕士论文导师学术评语
- 浅谈幼儿园大班食育实践与探索
- 对早产儿母乳喂养率、新鲜母乳质量改善效果的研究
- 试论证券市场的有效性
- 大学生毕业论文范文参考XXX
- 企业流程管理论文六
- 偏光片线状缺陷的改善方法专项技术研究
- 公路交通运营管理与服务质量提升
- 早产儿生后黄金1小时管理
- 2025年大队委员笔试题库及答案
- 2025年网球理论基础知识考试题及答案
- 2025江西吉安市遂川县城控人力资源管理有限公司招聘34人笔试考试参考试题及答案解析
- 初中期中质量分析会校长讲话:正视短板精准发力共筑初中教学质量新高度
- 2025-2026学年度上学期一中高三11月月考物理试卷
- 苏炳添的精神
- 《愚公移山》文学作品分析与感悟
- 2025版皮肤科疾病常见症状及护理培训
- 吉林省长春市东北师范大学附属实验学校(经开)2024-2025八年级下期初数学考试(含答案)
评论
0/150
提交评论