(计算机应用技术专业论文)嵌入式加速度监测分析仪的设计与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式加速度监测分析仪的设计与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式加速度监测分析仪的设计与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式加速度监测分析仪的设计与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式加速度监测分析仪的设计与实现.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式加速度监测分析仪的设计与实现.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 页 摘要 一般地,具有加速度采集、回放和分析功能的系统是用微机实现的。 这样的系统虽然有复杂的功能,但是体积太大不易携带,无法满足移动性 采集信号的要求。而采用嵌入式方案实现的系统不但具有系统精简、携带 方便、使用简单、成本低廉等众多优点,而且也可阻具有较复杂的功能。 本文详细说明了嵌入式加速度监测分析仪的设计与实现过程。首先, 采用当前应用十分广泛的统一建模语言( u m l ) 对系统进行分析与建模;然 后,对p c o s i i 操作系统的选择和移植进行说明;接着,对系统的主要 硬件模块及其驱动程序阻及主要软件模块进行了详细设计;最后,指出本 系统存在的一些不足以及能够改进的地方,并对嵌入式加速度监测分析仪 的应用前景提出展望。 所设计的系统采用低功耗3 2 位微控制器s 3 c 4 4 b o x 和大容量的f l a s h 存储器对采集的加速度信号进行记录、回放、实时分析及处理。所设计的 监测分析仪带有液晶显示器,能够实时显示所检测的加速度信号,配合按 键提供友好的中文菜单,操作简便,加速度数据也可以通过r s 2 3 2 接口向 上位机传送。 嵌入式加速度监测分析仪可用于需要监测和分析振动加速度的场合, 尤其是移动性的场合。此外,若对传感器接口和部分软件作少量的修改, 它还可应用于其它煎测领域( 如位移、温度监测等) 。 美键词嵌入式系统:加速度监测分析:显示傅里叶变换波形;u m l 建模; “c 0 s i i 西南交通大学硕士研究生学位论文第l | 页 a b s t r a c t g e n e r a l l y , t h e s y s t e m , 衲i c hc a na c q u i s i t i o n ,p l a y b a c ka n d a n a l y s ea c c e l e r a t i o ns i g n a l , i sr e a l i z e du s e sp c b u t , t h es y s t e m c a n ta c q u i s i t i o nm o b i l i t ya c c e l e r a t i o ns i g n a lb e c a u s ei ti st o o b i gt ob e e nt o t e dt h o u g hi th a sa b u n d a n tf u n c t i o n s w h e r e a s , t h e s y s t e mw h i c hi sr e a l i z e du s e se m b e d d e de x c o g i t a t i o nn o to n l yh a sm a n y a d v a n t a g e s , s u c ha s s y s t e m s it n p l i f i c a t i o n 。 c a r r y h o m e , u s e r f r i e n d l i n e s s ,k n o c k d o w np r i c e ,b u ta l s oh a sa b u n d a n tf u n c t i o n s t h ed e s i g na n dr e a l i z a t i o na _ b o u te m b e d d e da c c e l e r a t i o nm o n i t o r a n da n a l y s i s i n s t r u m e n ta r ed e p i c t e dd e t a i l e d l y f i r s t l y , t h e a n a l i s i sa n d 日o d e l i n ga b o u ts y s t e ma r ed e p i c t e du s e su m lw h i c hi s u s e db r o a d l ya tp r e s e n t s e c o n d l y , t h ec h o i c ea n dt r a n s p l a n t a t i o n a b o u t c o s i io sa r ed e p i c t e d t h i r d ly ,t h em i nh a r d w b r e 叻d u l e s a n dt h e i rd r i v e rp r o g r 醐a n dm a i ns o f t w a r em o d u l e sa r ed e p i c t e d l a s t l y ,t h es y s t 鲫d e f e c t sa n da m e n d 砸e n tm e t h o d sa r ep o i n t e do u t , a n dt h es y s t e ma p p l i c a t i o n f o r e g r o u n di sb r o u g h tu p t h es y s t e mu s e sl o wp o w e r3 2 - b i t s ,m i c r o c o n t r o l l e rs 3 c 4 4 8 0 x a n db u l kf l a s hm e m o r yt or e c o r d ,p l a y b a c k ,a n a l y s ea n dp r o c e s st h e a c c e l e r a t i o ns i g n a la tr e a lt i m e t h es y s t e mu s e sl c dt os h o wt h e a c c e l e r a t i o nw a v e sd e t e c t e d c o o p e r a t e dw i t hb u t t o n s , i tp r o v i d e s a m i c a b l ec h i n e s em e n ua n d 砸a k e so p e r a t i o ns i m p l ea n dc o n v e n i e n t ,a n d t h ea c c e l e r a t i o nd a t ac a nb et r a n s m i t t e dt op e r s o n a lc o m p u t e rb y s e r i a lr s 2 3 2i n t e r f a c e t h es y s t e mc a nb eu s e dt om o n i t o rv i b r a t i o na c c e l e r a t i o na n d a n a l y s et h ed a t je s p e c i a l ly , i tc a nb eu s e di nm o b i l i t ys i t u a t i o n m o r e o v e r ,t h es y s t e mc a nb eu s e di no t h e rm o n i t o rf i e ld s u c ha s d i s p l a c e m e n ta n dt e m p e r a t u r em o n i t o rf i e l d ,i ft h es e n s o ri n t e r f a c e a n dp a r t i a ls o f t w a r ea r em o d i f i e d k e yw o r d se m b e d d e ds y s t e m :a c c e l e r 8 t i o nm o n i t o ra n d8 n a l y s e :d i s p l a y f o u r i e rt r a n s f o r mw a v e f o r m :u m lr n o d e l i n g :p c o s i i 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 。1 研究背景 当前,一些铁路车辆研究人员认为:“铁路车辆在运行过程中激烈的纵 向振动是导致车轮踏面严重剥落的最重要原因之一。”这个观点是他们通过 作了大量的理论分析和软件仿真后提出的,其正确性仍未得到事实的证明。 为了获得可靠的证据,他们需要采集大量列车纵向方向的振动加速度。但 是,当前存在的一些加速度采集设备对他们来说有许多不足之处: 1 只能采集加速度数据,不能作一些数据分析帮助用户有选择性地保 存数据,这样会使得最终所采集到的加速度数据包含许多无用的信息,从 而给后期的研究工作增加难度; 2 有的只能看到数据,不具有波形显示功能,这样的仪器使用起来不 够直观和方便; 3 设备体积较大,如有的用微机来实现系统,这样的设备不便于携带 和存放,对于车辆研究人员来说,他们经常要拿着设备到车辆的各个部分 采集数据,这样,显然采集设备的体积大小是影响他们顺利工作的一个重 要因素。 根据当前采集设备存在的问题和车辆研究人员的需求,本仪器专门设 计了以下一些功能: 1 采用嵌入式解决方案来设计仪器,使仪器体积极小,并且可以使用 电池供电,因此仪器极易于携带和存放; 2 能够以波形的形式实时显示加速度的变化情况; 3 能够随时对所采集到的加速度数据进行傅里叶变换分析,并以波形 的形式显示变换结果,即显示傅里叶变换波形; 4 能够随时回放己采集到的加速度波形,方便用户详细观察加速度信 号; 5 能够对已经采集到的加速度数据进行删除、存储、提取等操作,这 样可以使用户有选择性地把最有价值的加速度数据保存到其它设备上( 如 微机) 作进一步的详细分析。 显然,具有了这些功能的嵌入式加速度采集设备更适合这些车辆研究 人员的使用。 西南交通大学硕士研究生学位论文第2 页 2 1 世纪是嵌入式计算系统的时代,人们日常生活和工作中所接触的仪 器与设备中,都将嵌入具有强大计算能力的微处理器。据统计,目前每年 只有1 0 2 0 的微处理器芯片用于台式计算机或笔记本电脑,8 0 左右 的微处理器芯片是为嵌入式计算系统设计和制造的。嵌入式计算系统已广 泛地应用到工业控制系统、信息家电、通信设备、医疗仪器、军事设备等 众多领域中。尤其是最近几年,嵌入式计算系统不断进入到新的应用领域, 如p d a 、手持设备、智能家庭设备、智能电话等“1 。 采用嵌入式方案设计出来的系统与采用台式机设计出来的系统相比, 具有系统精简、携带方便、使用简单、成本低廉等优点“1 ,因此它能更好 地满足铁路车辆研究人员的要求。 1 2 研究内容及意义 研究内容: 1 _ 系统的需求分析以及嵌入式解决方案的设计; 2 系统的建模以及模块划分; 3 硬件系统的选择和设计以及人机接口的设计; 4 实时操作系统的选择和移植; 5 芯片驱动程序的设计; 6 应用软件中多线程的设计以及多线程同步问题的解决方法。 开发这样的系统具有重要意义:首先这样的系统可以为铁路车辆研究 人员的研究工作提供方便;另外,这样的系统也可被应用于其它一些需要 监测振动加速度的领域,如果通过很少的修改,例如把加速度传感器改为 位移或温度等传感器,并对应用软件的参数作适当修改后,它的应用领域 必将更加的广泛;这样的系统在通过一定使用时间的检验并加以完善后, 相信必能在市场上得到推广,这不但能够为需要它的人们提供极大的方便, 而且能够创造出可观的市场价值。 1 3 系统的初步需求 加速度监测分析仪是一种用来实时记录、分析和提取加速度变化波形 的电子仪器,仪器还有液晶显示器可以回放记录的加速度波形。加速度数 据由监测分析仪的传感器采集后转变为数字信号,然后存储在存储器中。 用户可以通过仪器的显示器。在任何时候快速回放任何一个时间段的加速 度波形。加速度监测分析仪应该具有体积小、重量轻、容易使用、省电( 可 西南交通大学硕士研究生学位论文第3 页 以用电池提供电源) 等特点。 如图1 一l 所示为拟设计的加速度监测分析仪的外形。在仪器上有l c d 显示器以及1 2 个按钮:“上”、“下”、“左”、“右”、“0 k ”、“记录”、“回放”、 “分析”、“删除”、“提取”、“停止”和“菜单”。显示器用来回放加速度数 据并显示时间信息,也可以显示系统菜单。按钮“记录”用来启动加速度 信号记录;按钮“回放”用来回放所记录的加速度信号;按钮“分析”用 来对所记录的加速度信号进行傅里叶变换分析;按钮“删除”用来删除所 记录的加速度信号:按钮“提取”用来提取所记录的加速度信号到更大的 存储器上( 如微机) ;按钮“停止”用来停止系统的记录或回放活动;按钮 “菜单”用来激活系统菜单:按钮“上”、“下”、“左”、“右”用来选择菜 单项;按钮“0 k ”用来用来确定选项。 图1 一l 加速度监测分析仪外形图 根据实际的需要,加速度监测分析仪应具有以下一些主要功能: 1 可以存储3 个小时左右的加速度采样数据及其傅里叶变换结果; 2 具有l c d 显示器,可以显示加速度波形、波形的记录时间和日期、 当前时间和日期( 当前时间和日期总是出现在显示器上) ,还可以显示电浊 使用情况指标,当电池电量不足时,系统应发出蜂鸣声提醒用户; 3 可以对所记录的加速度数据进行傅里叶变换分析,给使用人员提供 一定的数据分析功能,使他们能够有选择性地提取数据: 4 可以提取所记录的加速度数据,方便用户把有价值的数据存储到更 大的存储器上作进一步的分析; 5 具有屏幕菜单,使用方便,可以设置闹铃,提示用户时间到; 6 具有待用模式,这样可以节省能量,即当用户暂时不用时,系统关 闭外设,当用户随便按一个按钮时,系统激活,返回正常工作状态。 西南交通大学硕士研究生学位论文第4 页 第2 章系统的分析与建模 开发调试嵌入式系统的程序是嵌入式系统设计的核心。嵌入式系统的 程序设计与台式机p c 上的程序设计是有所不同的,而且更具挑战性。因为 嵌入式系统的程序不仅必须提供必要的功能,而且还必须按所需速率运行 以满足系统的时限要求必须适应内存总量的限制,必须满足功耗要求。1 。 在设计复杂的嵌入式系统时,自顶向下、逐次求精的设计方法是行之 有效的。统一建模语言( 删l ) 在复杂嵌入式系统设计中,是非常有用的工 具,因为删l 对于设计过程采用了多层抽象,在设计中逐步求精和逐渐在 设计中加入细节u 。 本章正是使用u 札语言来对系统进行分析与建模的。论文中首先使 用用例图和交互作用图来描述系统的需求,然后使用配置图来描述系统的 硬件配置,使用类图、时序图和包图来描述系统的静态结构,最后使用状 态图、协作图来描述系统或对象的动态行为。在为嵌入式系统建模时,配 置图和状态图的使用是非常必要且重要的,因为在嵌入式系统中特殊的 系统硬件结构需要用配置图来描述,而且大部分对象具有非常重要的动态 行为需要用状态图来描述。 2 1u m l 概述 软件的生产研制过程要经过需求分析、设计、编码等阶段,软件研发 的方法可以是结构化的方法,也可以是面向对象的方法。不管采用哪种 方法,软件研发的各个阶段都要产生相应的文档以表达分析设计的成果, 其中包含软件人员对需求的理解及对软件实现的创造性思想。如何表达这 些思想有两种方法可以选择:图形或文字 众所周知,许多时候用一些图形符号来表达某种含义要比用纯文字描 述更直观、更清晰。软件研究人员也在不断地寻找更简洁、更能表达设计 过程的表达方式,在软件的发展过程中,曾经出现过p a d 图、n s 图及至今 仍为广大软件人员喜爱的流程图,但是这些图形往往只能表达某些方面的 思想,不能应付软件开发过程中各个阶段,更为可惜的是这些方法在大型 软件开发的面向对象的方法面前显得力不从心。比如,流程图仅能很好地 表达某个功能模块的逻辑流程,而不能从整体上把握软件的功能“。 幸运的是,统一建模语言u 札产生了。 幸运的是,统一建模语言u 札产生了。 医南交通大学硕士研究生学位论文第5 页 在u m l 出现之前,已经有一些针对面向对象开发方法的建模语言,这 些建模语言各有优缺点。存在不同的方法从某种角度来看是给用户提供了 不同的选择,可是最终不利于整个软件界的发展,不利于面向对象方法的 一至性发展。后来,美国r a t i o n a l 公司的g 。8 0 0 e h 、j 。r u m b a u g h 及 i j a c o b s o n 三位软件工程师提出了要把不同的建模方法进行统一,并最终 在1 9 9 6 年6 月发布了第二个版本u m l 0 9 ,并且从此改名为u 觇。接着由 r a t i o n a l 公司发起成立了u m l 伙伴组织,这个组织共同推出了u m l l 0 ,并 在1 9 9 7 年1 月向对象管理组织( o 淞) 申请把眦作为一种标准建模语言。 最终,在1 9 9 7 年1 1 月被0 m g 采纳,这时u m l 版本为1 1 ,后来,u m l 不断 地发展。 u 儿是形式化、文档化的描述工具,是构建软件系统的工业建模语言, 它提供了丰富的图形元素用以构造描述系统的结构和行为。在嵌入式系统 设计越来越复杂的今天,它已成为嵌入式系统设计的极为重要的工具“”。 2 2 系统的需求分析 本节采用用例驱动的分析方法,分析阶段的首要任务是确定参与者, 然后根据识别出的参与者分析系统需求,确定系统中的用例。 2 2 1 识别系统的参与者 识别参与者可以通过回答下面一些问题来实现,这些问题及回答的答 案如下: 1 谁是系统的主要用户?答:用户可以使用系统记录加速度信 号。 2 谁从该系统获得作息? 提取所记录的加速度信号。 3 谁从该系统删除信息? 度信号。 4 谁可以操作哪些硬件? 5 谁管理系统? 间。 6 谁对系统特定需求感兴趣? 看到提示信息。 答;用户可以使用系统回放、分析、 答:用户可以删除系统中存放的加速 答:用户可以更换电池。 答:用户可以设置闹铃、更改当前时 答:用户可以观察时间、听到闹铃和 从上述答案中可以看出,在本系统中,与系统交互作用的只有系统的 西南交通大学硕士研究生学位论文第6 页 用户。所以本系统的参与者只有一个:用户。 2 2 2 识别系统的用例 用例是从用户的角度描述系统的功能。每个用例是使用系统的不同方 式,每个用例的完成产生不同的结果。 在上面已经识别出参与者,现在进一步分析系统系统需求,进而识别 出系统中的用例。通过对系统需求的进一步分析,可以识别出以下8 个用 例。 1 记录加速度信号( r e c o r da c c e ) 当用户按下“记录”按钮,仪器开始记录加速度信号,直到用户按下 “停止”按钮或者内存用完时,记录仪停止记录加速度信号。 2 回放加速度信号( p l a y b a c ka c e e ) 用户可以从目录表中选择要回放的加速度信号,按下“回放”按钮, 加速度信号片段开始在显示器上回放,直到结束,或者当用户按下“停止” 按钮时,回放停止。 3 分析加速度信号( a n a l y s ea c c e ) 用户可以对采集到的加速度数据进行傅里叶变换分析,按下“分析” 按钮,系统开始从内存中读取1 0 2 4 个加速度数据并进行傅里叶变换,变换 完成后用波形的形式显示变换结果,然后再读取下一个1 0 2 4 个数据进行变 换,并显示变换后的波形,直到内存中的加速度数据全部被分析过,或者 当用户按下“停止”按钮时,分析停止。系统设计这个功能,主要是为了 让用户有选择性地保存或删除采集到的加速度数据,使得系统中最终保存 的数据对用户来说都是最有价值的。 4 提取加速度信号( e x t r a c ta c c e ) 用户可以提取加速度监测分析仪采集到的加速度数据,把这些数据存 储到更大的存储器( 如p c ) 上,按下“提取”按钮,监测分析仪开始向p c 传送加速度数据,直到传送完毕,或者当用户按下“停止”按钮时,传送 停止。 5 删除加速度信号( d e l e t ea c c e ) 用户可以从目录表中选择某个加速度片段,然后按下“删除”按钮, 该加速度信号片段将从内存中被删除,占用的内存空间被释放。 6 设置闹铃时间( s e ta 1 a r mt i m e ) 用户可以打开或关闭闹铃,设置闹铃的时间。打开或关闭闹铃以及设 西南交通大学硕士研究生学位论文第7 页 置闹铃的时间是通过选择系统菜单的不同选项进行的。 7 设置时钟时间( s e tc l o c kt i m e ) 用户可以设置时钟时间或者调整时钟时间。 8 显示时间( w a t c ht i m e ) 系统应该不断地在显示器上显示当前的时间、日期,使用户可以看时 间。 2 2 3 绘制系统的用例图 系统的用例图如图2 一l 所示。图中表明了参与者“u s e r ”与用侧 “r e c o r da c c e ”、“p 1 a y b a c ka c c e ”、“a n a l y s ea c c e ”、“e x t r a c ta c c e ”、 “d e l e t ea c c e ”、“s e ta l a r mt i m e ”、“s e tc l o c kt i m e ”及“1 胃台t c ht i m e ” 的交互作用关系。 图2 一l 系统的用例图 2 2 4 绘制系统的交互作用图 用例中的场景描述了外部参与者与系统的交互,用例中的场景可以用 交互图来描述。因为对于某些复杂的场景,靠文字的描述来说明是很难理 解的,因此可以用交互作用图( 包括时序图和协作图) 来描述,从而使得 场景变得直观,更易理解。下面是其中两个场景的时序图。 如图2 2 所示的是回放加速度信号场景的时序图。 西南交通大学硕士研究生学位论文第8 页 图2 2 回放加速度信号场景的时序图 用户按下“回放”按钮,即发送“p 1 a ya c c e ”( 回放加速度信号) 给 系统,系统( s y s t e ) 发送消息“s t a r tp l a y i n ga c c e ”( 开始回放加速度 信号) 给显示器( d i s p l a y ) ,系统通过显示器回放加速度信号,同时显示 器显示回放进度给用户( s h o wp r o g r e s si n d i c a t o r ) 。一秒钟过后( n e x t s e c o n d ) ,系统更新显示时间( s h o wn e wt i m e ) ,并继续显示回放进度( s h 0 w p r o g r e s si n d i c a t o r ) 。用户按下“停止”按钮,即发送消息“s t o p ”( 停 止) 给系统,显示器停止回放加速度信号( s t o pp l a y i n ga c c e ) 。图中的 注释说明了响应时间的限制,第一个0 5 s 表示按下“回放”按钮和系统开 始回放加速度信号的间隔不超过o 5 s ;第二个0 5 s 表示按下“停止”按 钮和系统停止回放加速度信号的间隔不超过o 5 s 。 如图2 3 所示的时序图描述了加速度监测分析仪进入待用模式和从 待用模式苏醒的场景。 西南交通大学硕士研究生学位论文第9 页 图2 3 进入待用模式和从待用模式苏醒场景的时序图 系统如果2 m i n 内没有任何活动,系统就关闭l c d 显示器和扬声器 ( s w i t c ho f f ) ,从而进入待用模式。当有报警发生时( a 1 a r m ) ,系统就打 开l c d 显示器和扬声器( s w i t c ho n ) ,从待用模式恢复,然后通过扬声器 报警( p l a ya l a r m ) 。一秒钟过后( n e x ts e c o n d ) ,电池没电( n op o w e r ) , 系统停止通过扬声器报警( s t o pp l a y i n ga l a r m ) ,系统重新关闭显示器和 扬声器( s w i t c ho f f ) 。 2 3 系统的物理模型 本节主要对系统的硬件结构进行设计,描述系统的硬件组成。嵌入式 产品的硬件设计与软件设计一样重要。 如图2 4 所示是系统的硬件配置图。这个嵌入式系统的核心是 “m i c r o c o n t r o l l e r ”( 微控制器) ,这个微控制器由处理器核( p r o c e s s c o r e ) 、a d 转换器( a dc o n v e r t e r ) 、显示器控制器( d i s p l a yc o n t r 0 1 l e r ) 和通用异步收发器( u a r t ) 组成。a d 转换器与传感器( s e n s o r ) 相连, 传感器采集数据,a d 转换器将模拟信号转变为数字信号:显示器控制器 与显示器( d i s p l a y ) 相连;通用异步收发器与r s 一2 3 2 接口相连。系统中 还有时钟( s y s t e mc l o c k ) 为系统提供时间和计时服务( 例如,为数据采 西南交通大学硕士研究生学位论文第10 页 样计时) :显示器( d i s p l a y ) 与显示器控制器( d i s p l a yc o n t r o l l e r ) 通 过总线连接;存储器r o m 和r a m 都与微控制器通过系统总线连接;电池 ( b a t t e r yl e v e l ) 、d a 转换器( d ac o n v e r t e r ) 和键盘( k e y b o a r d ) 则 通过i 0 口与微控制器连接:d a 转换器与扬声器( s p e a k e r ) 连接。 图2 4 系统硬件配置图 2 4 系统的静态结构模型 在分析完需求后,要进行问题域分析。在这个阶段,要进一步分析系 统的需求,从而确定系统中的类,画出类图。这个阶段得出的类图描述了 系统中的主要类以及类之间的关系,但没有给出类的接口。 2 4 1 识别出系统的类 可以通过分析用例和交互作用图来发现类,并进一步确定类的属性、 主要操作以及类之间的关系。 用户通过监测分析仪上的显示器和按钮与系统进行交互,这些是从属 对象,所以系统应该提供一个类g u i ( 用户界面) 来管理系统与用户的交 互。类k e y b o a r d 为用户提供了系统的接口,用户通过键盘来控制系统。类 g u i 需要依靠一个c o n t r o l l e r ( 控制器) 类来执行任务,类c o n t r 0 1 1 e r 是系统的核心,它执行用户界面建议的任务。类c o n t r o l l e r 通过类 a c c e i n p u t 来输入加速度信号,通过类a c c e o u t p u t 来输出加速度信号。类 西南交通大学硕士研究生学位论文第11 页 a c c e i n p u t 与类s e n s o r ( 传感器) 连接,类a c c e o u t p u t 和类d i s p l a y 相连 接。 加速度信号片段a c c e s e g m e n t 需要存储在内存a c c e m e m o r y 中,类 a c c e m e m o r y 保存了记录的所有加速度信号片段,为新的加速度信号片段分 配空间,删除旧的加速度信号片段。 类a 1 a r l l l c l o c k 不断更新内部时钟,并检查什么时候闹铃。当类 a 1 a r m c l o c k 检查到需要闹铃时,就通知用户界面g u i 这个事件,类g u i 在 显示器上显示一个指示符,并在控制器c o n t r 0 1 1 e r 的帮助下通过扬声器 s p e a k e r 闹铃。类b a t t e r y 定期检查电池的电量,当电量不足时,通知用 户界面这个事件。 通过上述分析,可以从系统中抽象出以下一些主要类:b a t t e r y 、 a l a r c 1 0 c k 、k e y b o a r d 、d i s p l a y 、g u i 、c o n t r 0 1 l e r 、a c e e o u t p u t 、a c c e i n p u t 、 a c c e s e g m e n t 、a c c e m e m o r yj f s e n s o r 。 2 4 2 建立系统的类图 前面识别出了系统中的类以及类之间的关系,根据这些信息,可以绘 制出如图2 5 所示的类图。类g u i 与类b a t t e r y 、类g u i 与类a 1 a r m c l o c k 、 类g u i 与类k e y b o a r d 、类g u i 与类d i s p l a y 、类d i s p l a y 与类a c c e o u t p u t 、 类c o n t r o l l e r 与类a c c e i n p u t 、类a c c e i n p u t 与类s e n s o r 、类c o n t r 0 1 1 e r 与类a c c e o u t p u t 、类e o n t r o l l e r 与类a u d i 0 0 u t p u t 、类a u d i o o u t p u t 与类 s p e a k e r 之间存在着关联关系;类c o n t r 0 1 1 e r 与类a c c e m e m o r y 之间存在 着聚合关系,类a c c e m e m o r y 是类c o n t r o l l e r 的一部分;类a c c e m e 0 r y 与类a c c e w a v e 之间也存在着聚合关系,类a c c e w a v e 是类a c c e m e m o r y 的一 部分,每个a c c e m e m o r y 可以存储至多1 0 0 个a c c e 耽v e 。 如图2 5 所示包含了加速度监测分析仪系统中的主要类,这个类图给 出了系统的大概体系结构。为了更好地理解系统的静态结构,可以把这个 系统分成5 个子系统:时钟子系统( a 1 a r m c l o c k ) 、电源子系统( p o w e r ) 、 用户界面予系统( u s e r i n t e r f a c e ) 、内存子系统( m o r y ) 和加速度信号 子系统( a c c e ) 。可以分别用5 个原型为子系统的包表示,如图2 6 所示,子系统a 1 a r m c l o c k 、p o w e r 、m e o r y 和a c c e 都要使用子系统 u s e r i n t e r f a c e ,因此它们都依赖于子系统u s e r i n t e r f a c e 。予系统m e m o r y 还要使用予系统a c c e ,因此子系统m e m o r y 依赖于子系统a c c e 。 西南交通大学硕士研究生学位论文第12 页 图2 5 系统的类图 图2 6 系统的包图 2 4 3 a c c e 子系统设计 加速度信号子系统( a c c e ) 的类图如图2 7 所示。 印i ! 囱 国 酉 西南交通大学硕士研究生学位论文第1 3 页 图2 7a c c e 子系统的类图 由于每个加速度波是由多个加速度信号片段组成的,因此在类 a c c e w a v e 和类a c c e s e g m e n t 之闯存在着聚合关系,a e c e s e g i l l e n t 是 a c c e w a v e 的一部分,1 个a c c e w a v e 可以由o 个或多个a c c e s e g m e n t 组成( 本 系统设计为4 个) ,而1 个a c c e s e g i n e n t 只属于1 个a c c e w a v e 。每个加速 度信号片段又由多个加速度周期样本组成,所咀类a c c e s a m p l e 与类 a c c e s e g e n t 之间存在着聚合关系,a c c e s 锄p l e 是a c c e s e g m e n t 的一部分, 1 个a c c e s e g m e n t 可以由o 个或多个a c c e s a m p l e 组成( 本系统设计为8 个, 每个周期样本a c c e s a p l e 包含3 2 个加速度数据) ,而1 个a c c e s 锄p l e 只 属于1 个a c c e s e g m e n t 。 记录和回放加速度信号是复杂的任务,需要精确的计时以及硬件之间 精确的相互作用。类a c c e i n p u t 和类a c c e o u t p u t 有实时要求,类t i m e 为 类a c c e i n p u t 和类a c c e o u t p u t 提供准确的计时,类t i m e 是对物理计时器 的包装:类s e n s o r 是对物理传感器的包装,它可以通过物理传感器对加速 度信号采样;类d i s p l a y 是对物理显示器的包装,它可以通过物理显示器 回放加速度信号片段;记录与回放都是由类c o n t r 0 1 1 e r 控制的。 2 4 4 m e m o r y 子系统设计 内存子系统( m e 0 r y ) 的类图如图2 8 所示。 西南交通大学硕士研究生学位论文第1 4 页 图2 8m e m o r y 子系统的类图 类a c c e m e m o r y 管理加速度监测分析仪的存储空间,它保存了记录的加 速度波数据,可以分配空间给新的加速度波,还可以删除某个加速度波。 类a c c e m e m o r y 是类c o n t r o l l e r 的一部分,它们之间存在着聚合关系,每 个c o n t r o l l e r 对象有一个a c c e m e m o r y 对象,每个a c c e l e m o r y 对象只属于 1 个c o n t r o l l e r 对象。类a c c e s e g m e n t 与类a c c e m e m o r y 之间也存在着聚 合关系,每个a c c e m e m o r y 可以存储4 0 0 个a c c e s e 鲫e n t ,每个a c c e s e g m e n t 只属于1 个a c c e m e m o r y 。类a c c e w a v e 与类a c c e s e g m e n t 之间也存在着聚 合关系,每个a c c e s e g m e n t 只属于1 个a c c e w a v e ,1 个a c c e w a v e 可以由4 个a c c e s e 9 1 d e n t 组成。类a c c e w a v e 与类a c c e m e m o r y 之间也存在着聚合关 系,每个类a c c e m e m o r y 可以存储最多1 0 0 个a c c e w a v e ,每个a c c e w a v e 只 属于1 个a c c e m e m o r y 。 类g u i 可以通过类a c c e m e m o r y 获取记录的加速度波列表,但类g u i 不能修改它。只有类c o n t r o l l e r 可以通过类a c c e m e m o r y 修改记录的加速 度波。如果类g u i 要删除加速度波,它需要调用类c o n t r o l l e r 的方法 d e l e t e a c c e w a v e ( ) ,而不是直接访问对象a c c e m e m o r y 。这样做是为了防止 在控制器正在回放或记录加速度波时,用户界面删除该加速度波。如图2 9 所示的时序图描述了这个场景。 西南交通大学硕士研究生学位论文第15 页 l :jb 刊掣掣掣 图2 9 回放删除加速度波的时序图 2 4 5a i a r m c i o c k 子系统设计 时钟子系统( a l a r m c l o c k ) 的类图如图2 1 0 所示。 图2 1 0a 1 a n l l c l o c k 子系统的类图 类a l a r m c l o c k 可以提供当前时间、日期和闹铃时间。类a l a r m c l o c k 通过计时器t i m e r 计时,每过一秒钟,就使用方法n e x t s e c o n d ( ) 更新一次 时间的内部表示。当2 4 小时过去时,使用类d a t e 的x t d a y ( ) 方法更新 日期。 类a l a r m c l o c k 与类t i m e 、类a l a r m c l o c k 与类d a t e 之间是依赖关系, 类a 1 a r n 】c l o c k 依赖类t i m e 和类d a t e 。 2 4 6u s e rln t e r f a c e 子系统设计 用户界面子系统( u s e r i n t e r f a c e ) 的类图如图2 1 1 所示。 西南交通大学硕士研究生学位论文第1 6 页 图2 1 lu s e r i n t e r f a c e 子系统的类图 类g u i 管理用户与系统的交互。g u i 接收用户的键盘输入,通过显示 器反馈给用户。类k e y b o a r d 是硬件键盘的软件接口,类d i s p l a y 是硬件显 示器的软件接口。在类g u i 与类k e y b o a r d 之间存在关联关系。 类g r a p h i c a l c o n t e x t 提供了图形上下文,可以在显示器上画点、线、 字符串以及各种图形,每个图形上下文代表了显示器的矩形区域。类 g r a p h i c a l c o n t e x t 与类d i s p l a y 之间也存在关联关系。 类v i e w 调用类g r a p h i c a l c o n t e x t 的方法在显示器上显示时间、菜单 等,类v i e w 和类g r a p h i c a l c o n t e x t 是聚合关系。类v i e w 有3 个子类: c l o c k v i e w 、t a s k v i e w 和m e n u v i e w 。类v i e w 又是类g u i 的一部分,即在类 v i e w 和类g u i 之间也存在着聚合关系。每个v i e w 都属于1 个g u i ,每个 g u i 可以有1 个或多个v i e w 。 图形用户界面( g u i ) 也可以从时钟和电池收到消息。一些事件,像电 池的电量不足,是无模式的,即当事件发生时,系统总是以同样的方式反 应,这些无模式事件由类g u i 管理。类a l a r m c l o c k 是硬件计时器的软件接 口,类8 a t t e r y 是硬件电池的软件接口,在类g u i 与类a 1 a r m c l o c k 类或类 b a t t e r y 之间都存在关联关系。 一些事件,因为依赖于当前的用户模式,是有模式的。本系统有3 个 模式:菜单模式( m e n u u s e r m o d e ) 、时钟设置模式( s e t t i n g t i i i 】e u s e r m o d e ) 西南交通大学硕士研究生学位论文第竹页 和日期设置模式( s e t t i n g d a t e u s e r m o d e ) 。在不同的模式下,用户按同样 的按钮,系统会有不同的响应。例如,在菜单模式下按下按钮“左”,系统 选择左边的菜单;在时钟设置模式下,如果当前激活域代表“小时”,按下 按钮“左”则表示激活左边的“分钟”域;在日期设置模式下,如果当前 激活域代表“月份”,按下按钮“左”则表示激活左边的“日期”域。即在 不同的模式下,发生同样的事件,系统会有不同的响应,发生的响应是由 当前的模式决定的。类m e n u u s e r m o d e 、类s e t t i n g t i m e u s e r d e 和类 s e t t i n g d a t e u s e r m o d e 都是类u s e r m o d e 的子类。类u s e r m o d e 与类g u i 之 间存在着聚合关系,类u s e r m o d e 是类g u i 的一部分,每个u s e r m o d e 属于 一个g u i ,每个g u i 可以有一个或多个u s e r m o d e 。 2 5 系统的动态行为模型 类图描述了系统的静态模型,而为了理解系统的动态行为,还需要创 建描述系统动态方面的图。 时序图、协作图、状态图和活动图描述了系统的动态情况。状态图对 于嵌入式系统的设计尤为重要,状态图可以用来描述对象的状态变化。 2 5 1c o n t r o i l e r 对象状态图 c 0 n t r o l l e r ( 控制器) 对象可以用来记录、回放、分析以及提取加速 度信号。 如图2 1 2 所示是c o n t r 0 1 l e r 对象的状态图。 图z 一1 2c o n t r o l l e r 对象的状态图 c o n t r o l l e r 对象有5 个状态,通常它处于状态“i d l e ”( 空闲) ,如果 按钮“记录”被按下,事件“r e c o rd j ,( 记录) 发生,对象进入状态“r e c o r d i n g j , 当事件“s t o p ”( 停止) 发生,系统停止记录,对象返回状态“i d l e ”;如 西南交通大学硕士研究生学位论文第18 页 果按钮“回放”被按下,事件“p l a y b a c k ”( 回放) 发生,对象进入状态 “p a y i n g ”,当事件“s t o p ”( 停止) 发生,系统停止回放,对象返回状态 “i d l e ”;如果按钮“分析”被按下,事件“a n a l y s e ”( 分析) 发生,对象 进入状态“a n a l y s i n g ”,当事件“s t

温馨提示

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

评论

0/150

提交评论