




已阅读5页,还剩79页未读, 继续免费阅读
(控制科学与工程专业论文)基于有限状态机理论的导航软件设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科技大学研究生院学何论文 1 1 摘要 捷联惯性导航系统的软件在导航系统中发挥着至关重要的承载和核心作用。在军事 上,随着武器性能的不断提高,导航系统的规模变大,交互性更强,约束增多,结构也更 复杂,传统的导航系统软件开发方法已经不能满足需要,因而必须寻求新的方法。有限状 态机是描述和刻画实时嵌入式系统复杂状态行为的有力工具,是分析和设计导航系统软件 的合理选择。 论文首先介绍了传统有限状态机的原理和不足之处,进而详细介绍了目前先进的 h a r e l 状态图原理及应用。 其次,把h a r e l 状态图应用于导航软件的分析与设计,详细探讨了从导航软件的需求 分析到实现方案的过程。论文以软件的需求分析为基础,逐步设计了软件设计的控制流程 图、数据流图、接1 3 设计和控制变量。运用面向对象的方法,构建了软件的用例图、顺序 图和状态图,并总结了如何用状态图快速实现导航软件功能需求的方法。 再次,详细介绍了导航计算机板的硬件组成和中断分配,硬件和软件的初始化,软件 的更新和升级,应用程序的调试与下载等软件实现的各个方面,并通过实验验证了导航软 件。实验结果表明,该软件运行正常,稳定,达到了预期目的。 关键字:有限状态机,h a r m 状态图,v c 3 3 ,r h a p s o d y ,面向对象 第i 页 国防科技人学研究生院学位论文 a b s t r a c t t h es o f t w a r eo fs t r a p d o w ni n e r t i a l n a v i g a t i o ns y s t e m ( s i n s ) i so fg r e a ti m p o r t a n c ei n s i n s i nm i l i t a r y , a st h ei m p r o v e m e n to f t h ep e r f o r m a n c eo f t h ew e a p o n s , t h en a v i g a t i o ns y s t e mi s b e c o m i n gl a r g e r , m o r ec o m p l i c a t e d ,s t r o n g l yr e s t r i c t e d a sar e s u l t , t h et r a d i t i o nm e t h o do ft h e s o f t w a r ed e v e l o p m e n ta r en o ta b l et od e a lw i t hi t n e wm e t h o d sa r ei ng r e a tn e e d n a v i g a t i o n s y s t e mi sa r e a l t i m ed m b e d e dr e a c t i o ns y s t e m h e n c e , i tc a nm a k eu s eo f t h et h e o r ya n de x p e r i e n c e o f t h ee m b e d e ds y s t e m f i n i t es t a t em a c h i n e ( f s m ) i sa ne f f e c t i v et o o lt od e s c r i b ea n dd e p i c tt h e c o m p l i c a t es t a t ea c t i o no ft h er e a l t i m ee m b e d e ds y s t e m s o ,f s mi s ar e a s o n a b l ec h o i c et o a n a l y s i sa n dd e s i g no f t h es o f t w a r eo f t h en a v i g a t i o ns y s t e m t h et h e s i sf i r s td e s c r i b e st h et h e o r yo ft h et r a d i t i o nf s ma n di t ss h o r t c o m i n g s ,a n dt h e ni t e x p a t i a t e st h et h e o r yo f t h ea d v a n c e dh a r e ld i a g r a ma n d i t sa p p l i c a t i o ni nm a n yf i e l d s s e c o n d l y , i ta p p l i e st h eh a r e ld i a g r a m i n t ot h ea n a l y s i sa n dd e s i g no ft h en a v i g a t i o n s o t t w a r e , m a k e sac o m p r e h e n s i v er e s e a r c ho nh o wt oc a r r yo u tt h es o f t w a r ef r o mt h er e q u i r e m e n t t ot h er e a l i z a t i o n i tb a s e so nt h er e q u i r e m e n to f t h es o f t w a r e ,t h e ng r a d u a l l yc o m p l e t e st h ed e s i g n t h r o u g h tf l o wc h a r t ,d a t af l o w , i n t e r f a c ed e s i g na n dc r u c i a l c o n t r o lv i a r a b l e s i ta p p l i e st h e 0 0 ( o b j e c t - o f i e n t e d ) m e t h o dt ot h ed e s i g na n dc o n s t r u c t i o no ft h el 】s ec a s ev i e w , s e q u e n c ev i e w a n ds t a t ec h a r t s a tl a s t , i td r a w sac o n c l u s i o no nh o wt ot u r nt h er e q u i r e m e n ti n t os t a t ec h a r t s r a p i d l y f i n a l l y , t h et h e s i sm a k e s ad e t a i ld e s c r i p t i o no f t h eh a r d w a r eo f t h en a v i g a t i o nc o m p u t e ra n d t h ed i s t r i b u t i o no f t h ei n t e r r u p t sw i t ht h ec o m b i n a t i o no f t h ed s pa n dm m p s o d y i ta l s od e s c r i b e s t h ei n i t i a l i z a t i o no ft h eh a r d w a r ea n ds o f t w a r e , t h eu p d a t eo ft h ea p p l i c a t i o np r o g r a m ,t h ed e b u g a n dd o w n l o a do ft h es o f t w a r e a n ds oo n e x p e r i m e n t sa r ec a r r i e do u tt ot e s t i f yt h ed e s i g n t h e r e s u l to f t h ee x p e r i m e n td e m o n s t r a t e st h a tt h es o f r w a r er u n sw e l la n ds t e a d i l y k e y w o r d s :f i n i t es t a t em a c h i n e , h a r dd i a g r a m , v c 3 3 , r h a p s o d y , o b j e c to r i e n t e d 第i i 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:基士盘腿迭奎狃垄诠数昱筮筮佳遮进皇塞理 学位论文作者签名:盔塑! 1 日期:沙年,f 月,一日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阕;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书) 学位论文题目:基王盘腿迭查狃堡途鲍昱筮丛佳遮i 土盏塞塑 学位论文作者签名:童窒塑琏日期:沙6 年,月7 。日 作者指导教师签名: 翌毫日期:彬歹年7 f 月功日 国防科技人学研究生院学位论文 第一章绪论 1 1 导航系统概述 导航系统可以分为惯性导航系统( i n e r t i a ln a v i g a t i o ns y s t e m ,i n s ) 和组合导航系 统。惯性导航系统又分为捷联惯性导航系统和平台式惯性导航系统。相比于平台式导航系 统而言,捷联式惯性导航系统自主性强、可靠性高、重量轻、价格低廉、使用灵活。捷联 式惯性技术是国外2 0 世纪7 0 年代开始大力发展的一项先进技术。1 9 7 8 年,美国斯佩里航 海公司率先将其研制的胍1 6 m o d i i 型陀螺稳定器安装于导弹驱逐舰上。该装置采用了捷联 式方案,由三个陀螺、三个加速度计和一台微处理机组成。此后,该公司的捷联式技术不 断发展,其m k 4 9 型系列产品,自9 0 年代以来广泛应用于水面舰艇和核潜艇上。目前,捷 联式惯性技术已大量应用于核潜艇,军用飞机、导弹、地面战车、航天飞行器等,并有逐 渐代替平台式惯性导航系统的趋势。 捷联式惯性系统中,固联在载体上的陀螺和加速度计对载体坐标系中各轴的相对惯性 系统空间角速度和加速度进行测量,然后将测量数据分别输入到微处理机中。最后,由微 处理机解算出所需要的各种导航参数。事实上,捷联式系统是利用计算机硬件和软件技术 来构成的一个数学平台,以实现惯性平台的作用。惯性导航系统的工作建立在牛顿力学定 律的基础上,采用的原理是航位推算,即根据已知的初始位置和速度及方向的测量值来计 算当前位黄i l 】。航位推算过程是通过前一次的已知位置和确定位置的时间,和从那时刻到 现在的平均速度及航向进行计算来完成的。速度必须通过航向角来分解成北向速度分量和 东向速度分量,然后每个分量乘以前一个位置至即时位黄所经过的时间求得位置变化量。 最后,将位置变化量加上初始位置即获得当前位置。 随着g p s 的发展,特别是由于它具有全球性、高精度、低成本、全天候等特点,能够 提供连续的、实时的、精密的三维导航与定位数据和良好的抗干扰性、保密性,使得g p s 被广泛应用于军用和民用的导航定位上,其在高动态环境中的应用如导航制导、弹道测量, 军用飞机导航等已经显现出了重要和巨大的应用价值。但是,g p s 不能作为唯一的导航设 备【5 1 ,因为g p s 易受干扰,动态环境中的可靠性差,且数据采集频率较低。i n s c p s 的组 合导航结合了两者的优点,各取所长,被迅速应用于军事领域的所有可能方面,且已经产 生巨大的军事效益。文献 4 就采用i n s g p s 深组合系统完成了高动态、高机动载体组合 导航的设计,理论和实践证明,i n s g p s 是一种有广阔应用前景的组合导航方式之一。 1 2 导航软件的作用与特点 导航系统的主要功能和目标是提供连续、实时、精确的导航信息。导航软件是导航系 第1 页 国防科技大学研究生院学何论文 统具体功能的实现者,它的主要任务是选择合适的数据结构和快速高效的算法、完成大量 的数值计算和实时数据的传输,实时性是导航软件的基本要求之一。同时,导航软件运行 在具体的处理器芯片上,嵌入在具体的应用环境中,如导弹、飞机等,因此导航软件是嵌 入式实时软件的一种,具有一般嵌入式实时软件的特点。 嵌入式系统是计算机的一种应用形式,通常指埋藏在宿主设备中的微处理机系统。一 个嵌入式实时系统通常与其运行的物理环境紧密结合在一起,通过传感器和控制设备来接 收事件和采集信息,在软件中需要处理低级中断和硬件接口。嵌入式实时系统的特点有 嵌入式。实时系统通常是嵌入式的系统,也就是由封装好的软件系统控制与其相关 的硬件。 与外部环境交互。实时系统通常需要与外部环境进行交互,例如,可以控制机器及 生产过程,或者监控化学反应并随时汇报危急情况,这种情况通常需要从外部接收 数据并输出结果到外部环境。 实时控制。实时系统经常包括实时控制,从接收到的输入数据中发掘系统信息并做 出相应的控制决策。 “反应”系统。很多实时系统都是“反应”的系统,也就是说,由事件驱动并且必须对 外界事件进行响应。 并发处理。绝大多数实时系统的一个重要特点是并发处理,通常,事件发生的顺序 是不可预测的。 处理器相关性。嵌入式系统的功能和性能需求各异,采用的处理器也不一致,这便 使得嵌入式系统的有不同的实现平台,即处理器相关性。 1 3 导航软件技术研究现状与发展趋势 1 3 1 导航软件的处理器现状与趋势 导航软件的实现与具体采用的处理器芯片紧密相关。单片机因为速度、精度和片上资 源等因素逐渐远离了实时系统,但因为其简单和廉价在低成本、功能简单和实时性要求不 高的场合还有很大的应用空问。长期以来作为导航系统核心的导航计算机一直采用个人计 算机及其体系结构,如早期定型的导航计算机采用i n t e l l t i b u s 体系结构和8 0 8 6 + 8 0 8 7 的c p u 模式。这使得导航计算机难以迅速应用最新的芯片成果,目前4 8 6 和5 8 6 系统占主导 地位,甚至3 8 6 系统仍在使用。与此同时,高档个人机为支持复杂的三维图形图像、音频 视频和高速网络,在硬件上采用了复杂的外围芯片组、多级缓冲存储和总线、接口技术, 这些对于导航计算机来说并不合适和必需,反而增加了系统的复杂性、体积、重量和成本。 个人机和导航计算机的应用场合在功耗上的不同要求也往往直接影响了导航计算机对硬 第2 页 国防科技人学研究生院学位论文 件的灵活操作。 目前以嵌入式p c 1 0 4 为主板的导航计算机将逐步取代i n t e lm u l t i b u s 体系结构和以 8 0 8 6 + 8 0 8 7 为c p u 的模式。p c i 0 4 模块与标准台式p c 体系结构完全兼容,但在形态上,p c 1 0 4 是坚固紧凑的自栈式、模块化结构。它的小结构尺寸可以将它作为一个。宏部件”嵌入到 特定的应用基板中,与台式p c 的兼容性则使得开发的软件便于移植。它也为嵌入式操作系 统和高级语言应用于惯性导航系统中提供了可行的硬件平台。 数字信号处理器d s p 是专为高速数据处理而设计的微处理器,其改进的哈佛结构、先 进的多地址数据总线和多级流水线机制、专用的硬件乘法器、高效的指令集,使芯片的 指令周期降到l o n s 以下。先进的制造工艺使其通常仅需要1 w 左右的功率,芯片面积小,而 价格通常在数十至数百元人民币。除此以外内部一般还集成有一定容量的r o m 和r a m 、串行 接口、并行接口、定时器、控制器、等待状态发生器、时钟发生器等功能部件,这些使其 仅需少量的外部元件即可构成一个强有力的数字处理机。d s p 的特性非常适合军用高精度、 快速、中低成本的各种导航系统和导航设备。 在国际上,有数百家直接依靠t i 的d s p 而成立的公司,称为t i 的第三方( t h i r dp a r t y ) , 这些公司基本上是8 0 年代末,9 0 年代初才创建的,发展到现在已经具有相当的规模。如d 2 t e c h n o l o g i e s 、d s pr e s e a r c h 、d s pt o o l s 、d i a l o g i c 、g dd s p 、h o t h a u s 、m i c r ol a bs y s t e m s 、 p e n t e k 、s e e d 、s p e c t r u md i g i t a l 、s p e c t r u ms i g n a lp r o c e s s i n g 、w h i t em o u n t a i nd s p 等公司,在d s p 开发工具、应用软件、d s p 平台方面都很有成就。相对国外d s p 的应用开发 和第三方公司的情况,我国国内差距相当大,知道使用d s p 的单位不多,这些单位中大多 数还在使用c 2 5 ,c 5 x 。d s p 工具开发已经起步,但也只有闻亭和合众达两家,而专门 从事d s p 硬件平台和应用软件开发的单位和公司还没有,“第三方”在中国基本上是空白。 国内有很多科研院所都对基于d s p 的导航计算机作了研究,并有产品应用于某些武器 型号上。常用的单片机以控制能力见长而运算能力一般,与d s p 结合可以实现优势互补, 将其用作外设控制和i o 接口处理机,把d s p 作为单纯的导航算法处理机,从而充分发挥各 自的特长,使得基于d s p 和单片机的双c p u 成为了导航计算机一个可以选择的方案【5 刀。基于 双d s p 芯片,a r m 处理器等的导航计算机也在研究之中。 1 3 2 导航软件的嵌入式开发套件现状与趋势 在嵌入式软件的开发语言上,早期的嵌入式软件只用目标处理器的汇编语言书写。这 样做使程序员可以安全控制处理器的其他硬件,但通常程序的代码量比较大。随着嵌入式 系统应用范围的不断扩大和嵌入式实时操作系统r t o s ( r e a lti m e0 p e r a ti n g s y s t e m ) 的 广泛使用,高级语言编程已是嵌入式系统设计的必然趋势。因为汇编语言和具体的微处理 器的硬件结构密切相关,移植性较差,既不宜在复杂系统中使用,又不便于实现软件重 第3 页 国防科技犬学研究生院学位论文 用;而高级语言具有良好的通用性和丰富的软件支持,便于推广,易于维护。因此高级语 言编程具有许多优势。为了满足应用功能的升级,设计师们采用实时多任务编程技术和交 叉开发工具来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。例如, 小巧的诺基亚手机嵌埋了低功耗3 2 位微处理器a m de l a n 4 8 6 ,并采用嵌入式操作系统e c o s : 国产康佳手机也内置a r m 7 处理器,配用n u c l e a ri 玎0 s 。 目前,基础性的嵌入式软件技术已经成熟,资源较为丰富,无论是商品软件或是自由 软件都为数不少。已进入我国市场的商品化嵌入式实时操作系统,如w i n d r i v e r 公司的 v x w o r k s ,配有开发环境t o r n a d o ,以及m i c r o t e c 公司的v r t x x r a y 嵌入式软件支持套件。 此外还有w i n d o w sc e 、q n x 和n u c l e a r 等产品。我国自主开发的嵌入式系统软件产品如科银 ( c o r e t e c ) 公司的d e l t a c o r e 嵌入式实时操作系统和l a m d a t o o l s 交叉开发工具套件;此外, 中科院也推出了h o p e n 嵌入式操作系统。v x w o r k s t o r n a d o 是当今世界较具代表性的嵌入式 系统软件产品。 近几年,嵌入式软件编程接i a p i 标准也得到了一些地区和国家的若干行业协会的进 一步的规范,如,欧共体汽车产业联盟规定以o s e k 标准作为开发汽车嵌入式系统的公用平 台和应用编程接口( o s e k 的名称来自于德文“车内电子设备的开放系统的接口) 。w i n d r i v e r 等嵌入式软件公司已宣布推出兼容的操作系统m o t o w o r k s 。我国数字产业联盟也在制定本 行业的开放式软件标准,提高中国数字产品的竞争能力。此外,值得指出的是,国际上自 由软件运动的顺利发展,g p l 概念正对嵌入式软件产业深远影响。嵌入式l i n u x 多种原型 的提出和g n u 软件开发工具的实用化进展,为我国加快发展嵌入式软件技术提供了极好机 遇。 国内已经开始逐步熟悉和使用实时嵌入式操作系统,使用较多的是v x w o r k s 和嵌入式 l i n u x 。i ic 0 s i i 在简单、低成本的实时系统中也有很多应用。导航软件在这些实时操作 系统的支持下进入了一个新的时期,多任务、并行处理、面向对象都获得了广泛的支持。 1 3 3 导航软件的建模设计方法现状与趋势 导航系统是实时嵌入式系统,导航软件可以借鉴和利用实时嵌入式系统软件的设计方 法,这些设计方法有: 流程图。流程图适合指令不超过5 0 0 0 到1 0 0 0 0 条的系统。在多任务的系统中,流 程图可用来对各个任务进行分别描述,但是描述进程之间的交互就不太容易了, 也无法描述系统瞬时的表现。 结构图。结构图从左到右代表了执行的顺序,从上到下代表了程序模块的细节化。 伪代码和编程设计语言( p r o g r a md e s i g nl a n g u a g e ,p d l ) 。编程设计语言是一种 与系统运行的底层硬件环境相分离开来的抽象语言,它们比直接应用语言来描述 第4 页 国防科技大学研究生院学位论文 系统需求更抽象,而同时比前述所有方法都更接近实际的编程语言。 有限状态机。描述系统状态行为的有力工具。 p e t r i 网。与普通的f s m 相比,它具有更强的建模能力,并能描述系统的并发、 异步和同步等特性。p e t r i 网不仅能描述同步模型,更适合于相互独立、协同操 作的处理系统。p c t r i 网可能是人们认识最广泛和最好理解的解决方案之一,它是 图形的又是精确的,事件驱动,允许最大化的并发,唯一的缺点就是不同层次化 分解,而且它的并发层次也仅仅是有限的一层。 数据流图。数据流图主要是作为软件系统建模中的结构化分析工具。 然而没有一种分析和设计方法可以应用于任何场合,事实上,很多情况都是几种方法 的混合使用。表1 1 分析了它们各自的优缺点嗍。 表1 1 嵌入式系统分析和设计方法优缺点比较 方法优点 缺点 没有并发处理,不能表现瞬时状态, 流程图广泛应用,适合。单任务系统 多采用g o t o 语句。 广泛应用,适合于小系统,鼓励没有条件转移,没有并发处理,不 结构图 自项向下的设计方式 能表现瞬时状态。 伪代码和与编程语言接近,是正式应用的 容易出错且不易发现。 p d l分析和设计方法。 广泛应用,易于建立,方便于代没有并发处理,随着状态的增加系 f s m 码产生和优化。 统复杂性显著增加, 广泛应用,适合于多进程处理, p e t r i 网 应用于过小的系统时显得不必要。 对并行性有很好的表示 数据流图 广泛应用,并发处理,易于理解。不易于表示同步性 有限状态机( f i n i t es t a t em a c h i n e ,以下简称f s m ) 及其设计技术是实用数字系统 设计中的重要组成部分,是实现高效率高可靠性逻辑控制的重要途径大部分数字系统都 可以划分为控制单元和数据单元两个组成部分。通常,控制单元的主体是一个状态机,尽 管一个控制功能,也可以用,c p u 实现,但实践证明,状态机在运行速度、执行时间的确定性 和可靠性方面都远优于c p u t g l 。f s m 是复杂反应式系统的优秀实现工具,但是传统的f s m 令 大家头疼的原因是状态的指数增长,分析设计控制起来困难很大,这在文献 1 0 l d e 有详细 的描述。f s m 是实时系统设计中的一种数学模型,是一种重要的、易于建立的、应用比较 广泛的、以描述控制特性为主的建模方法,它可以应用于从系统分析到设计的所有阶段。 国防科技人学研究t 院学位论文 h a r e l 状态图是d a v i dh a r e l 在2 0 世界8 0 年代后期创立的,支持状态嵌套,动作和活动, 守卫条件和历史状态,支持并发、广播和正交组件。h a r e l 状态图把状态空问定义的深度 引入到p e t r i 网,配之以转移。经过近2 0 年的发展,h a r e l 状态图及其支持软件被广泛引用 于各种嵌入式软件的建模设计中,它已经作为一种设计方法而不是作为特殊的工具来使 用。美国的i n t e g r in a u t i c s 和卜l o g i x 公司对状态图进行了深入的讨论和研究,形成了深 厚的理论基础,并把状态图应用于航空电子系统和大型复杂实时系统中,积累了丰富的实 践经验。直接支持状态图的典型软件工具有r a t i o n a l 公司的r a t i o n a lr o s e 和i l o g i x 公司 的r h a p s o d y 。 另外,国外在嵌入式系统开发上已经广泛使用面向对象的方法和设计模式的思想,采 用统一建模语言u m l 及其相应的开发工具能够很好的描述嵌入式实时系统,提供了图形化 系统建模、自动生成代码、编译调试和往返工程( r o u n d t r i pe n g i n e e r i n g ) 等功能,这些 都使得嵌入式开发有章有序,有利于节省开发时间,提高产品质量和开发效率。这是当前 实现软件模块化、提高软件产品质量、软件可复用性、缩短开发周期、降低开发成本的最 优方法。面向对象的设计模式和构架还有助于提高分布式软件核心的运用。国内在这方面 起步比较晚,还有很多基础性的工作要做, 1 4 课题研究的背景和意义 i 4 1 课题研究的背景 导航软件技术滞后于硬件技术,造成了软件开发的高成本和低效率,是导航系统快速 发展的瓶颈之一根据美国国防部和n a s g 的统计,当今武器系统和航天项目中的软件可 靠性比硬件系统大约低一个数量级l l l 】。目前,国内在导航软件开发中存在的问题有; 1 、软件设计、编码、测试由一个人完成,带有很多人为主观因素,仍是典型的“自 编、自导,自演”的小作坊的工作方式。软件的模块化、工程化程度不够,软件的测试工 作也不规范【1 2 1 。对于新项目和新课题的研究往往是从头开始,且不同的程序设计和编写人 员有不同的实现方式,导致软件结构混乱、重用性差,项目的交接困难,人力、时问和物 力浪费也比较严重。 2 、软件的分析、设计和测试也往往停留在表层,只满足于能用,结果正确。把导航 系统过多的下意识的当成是静态系统,在软件的维护性和扩展性上考虑的不够。 3 、大部分嵌入式软件都由c 编写,因此开发人员普遍采用的编译器为t c 、b c 和 c s t u d i o 。这些软件基本上只涉及到代码的编写、编译、链接和调试功能,不能对整个系 统的软件进行形式化建模和测试。这使得开发人员对软件总体上把握的能力较弱,软件的 可行性验证和优化设计都取决于最后的实现,发现错误不及时。 第6 页 国防科技大学研究生院学情论文 本课题以鱼雷的自主导航软件为应用背景。该鱼雷采用国产机抖激光陀螺为惯性敏感 器件,中、长距离的攻击范围。该鱼雷要求能够做复杂的弹道机动,对航向保持有较高的 要求,在攻击过程中。能对海流进行滤波。为了获得硬件电路和软件的兼容性,电路考虑 和预设了g p s ,多普勒,高度计、里程计、深度计,p c 机和遥测信号的接口,可为不同的 要求提供功能实现的平台。整个硬件采用p c 1 0 4 结构,以,r i 公司的d s p 浮点芯片v c 3 3 为导航计算处理器,统一调度各个任务,管理和控制各个硬件部件,是导航软件的运行平 台。导航软件是个实时软件,由事件驱动,整个系统状态数目繁多,状态的跳转复杂,不 考虑功能扩展如多普勒数据、遥测数据、g p s 数据的情况下,导航软件的状态数目超过3 0 个,软件需要处理的外部事件超过l o 个,把内部事件也计算在内,这个数字还会更多。 导航程序不但要满足基本的导航解算的功能,而且要能够检测和监控系统的状态,实时处 理来自内部和外部的事件并作出快速的反应。同时,软件在实现上为后续功能的添加预留 足够的接口。 状态数目的增长使得现有的技术力量难以满足实际需求,对导航系统的描述和刻画已 经超过了某一个开发者的能力范围。为了解决这个闯题,就需要对导航系统进行软件建模, 提高开发者对软件的总体把握能力。 1 4 2 漂题研究的意义 本课题着眼于鱼雷导航系统的高精度、小型化研究,应对硬件复杂性和系统日益增长 的功能需求带来的急剧增长的软件开发工作量,加强大项目软件开发的协同工作。课题采 用当前先进的h a r e l 状态图理论,把它应用于鱼雷自主导航的软件开发和设计中,旨为导 航软件建立统一的清晰的标准接口和应用程序框架,加强软件构件的可重用性。课题使用 d s p 为导航计算机的核心处理器。进一步提高导航系统的精度。 通过本课题的研究,预期可以在技术为导航软件建立一套分析和设计的方法,同时, 也是建立导航软件通用技术开发平台的尝试,避免不同导航系统在相同问题上的重复,提 高导航软件开发的效率和质量,使得导航软件的工程化得以实现。 1 5 论文主要工作及组织结构 论文的主要工作是分析当前导航软件的现状,剖析h a r e l 状态图原理,深入研究如何 把h a r e l 状态图应用在嵌入式实时导航系统软件的设计中。论文把面向对象引入到嵌入式 软件领域,采用当前先进的嵌入式系统分析设计工具i l o g i x 公司的r h a p s o d y ,并在d s p 芯 片v c 3 3 上实现和验证了这个导航软件。 论文的组织结构为: 第一章绪论:概述导航系统的功能和原理,分析了导航软件开发和设计中存在的问题, 第7 页 国防科技大学研究生院学位论文 比较国内外导航软件开发的现状。把导航软件的分析和设计归类于实时系统软件分析和设 计的范畴,比较了实时嵌入式系统的的各种方法,提出了用有限状态机来分析设计导航软 件的研究思路, 第二章有限状态机原理:大致介绍了f s m 的发展和应用,指出了传统f s m 存在的问题, 介绍了层次式状态枧,详细分析和说明了l l a r e l 状态图的定义和基本原理,最后对状态图 实现工具的选择作了概要的讨论。 第三章基于f s m 的导航软件分析与设计:描述了导航软件的功能,并作了进一步细化, 得出了整个软件的需求分析。基于软件的需求分析,完善了软件的控制流图、数据流图、 接口设计和控制变量设计。基于需求分析和h a r e l 状态图理论,在软件r h a p s o d yi nc 中分 析和设计了导航软件的状态图。 第四章基于d s p 的导航软件实现与验证:介绍了本课题采用的硬件v c 3 3 和软件c c s 与 r h a p s o d y ,提出了基于d s p 芯片v c 3 3 和r h a p s o d y 的实现策略,介绍了导航计算机板的硬件 组成和中断分配,详细讨论了硬件和软件的初始化工作,简要描述了软件在更新和升级方 面的维护性,并作了改进。采用了p c 标准串口的下载方式,通过v c + + 6 o 编写了串口程序 来下载应用程序。最后在导航计算机板上实现了导航软件,并做了具体的实验,结果表明 该软件运行良好,能够满足各项功能需求。 第五章结论与展望:总结了本课题的各项工作,分析了取得的成果和存在的不足,提 出了下一步改进的方向和目标。 第8 页 国防科技人学研究生院学位论文 第二章有限状态机( f s m ) 原理 有限状态机是计算机科学和数学理论的抽象,反映了复杂反应式系统的状态行为,是 对离散系统分析和建模的有力工具。为了更好地理解和运用有限状态机,本章阐述了传统 有限状态机的基本原理,分析其不足,对层次式状态机作了讨论,并进一步详细介绍了 h a r e l 状态图的优点、原理和作用,为导航软件的分析设计提供理论基础。 2 1f s m 的基本原理和应用 有限状态机是计算机科学和数学理论的抽象,是离散输入输出系统的数学模型。它具 有有限数目的内部状态,每个状态可以迁移到零个或多个状态,系统可以根据当前所处的 状态和面临的输入决定系统的后继行为,其当前状态概括了过去行为的信息有限状态机 是描述特定类型算法的数学方法,它除了具有理论上的价值外,还在数字电路设计、词法 分析、文本编辑器程序等领域得到了应用。 下面给出有限状态自动机的形式化定义。定义:一个确定的有限状态自动机m 是一个 五元组: m = ( q ,z ,q o ,f ,d 其中 q 是一个有限状态集合; 是输入信息或条件的集合; q q ,m 称为初始状态; f e o ,f 称为终结状态集合; d 是一个从q e 到q 的单值映射。 状态机从初始状态q 。开始,根据当前状态、输入( 中的元素) 和转移函数6 决定状 态机的下步状态,直至状态机处于终结状态集合f 的某一个状态,这就表示有限状态机 执行成功,或者在当前状态和输入条件的情况下,根据转移函数得到的状态不存在,即在 o 中找不到相应的元素,此时,该有限状态机执行失败。 f s m 是系统的数学模型,通过做出简单假设来简化系统的复杂性。这些基本的假设有: 系统处在有限的几个状态之中,在某个状态的行为是固定的,系统在一个状态停留时间有 限,可以从一个状态转移到另一个状态。转移是瞬时的,是对外部事件的响应。f s m 可以 简单的分为m e a l y 型和m o o r e 型。m o o r e 型对每一个状态都有附加输出动作,m e a l y 机对每一 个转移都附加有输出动作。有限状态机还可以分成确定与非确定两种。非确定有限状态机 与确定有限状态机的唯一区别是它们的转移函数不同。确定有限状态自动机对每一个可能 第9 页 国防科技大学研究生院学位论文 的输入只有一个状态的转移。非确定有限状态机对每一个可能的输入可以有多个状态转 移,接收到输入时从这多个状态转移中非确定地选择一个。非确定有限状态自动机可以转 化为确定有限状态机。现实世界的系统在不同时段,其工作方式不同,且当其行为分成所 谓状态的有限和不重复的程序块时,系统就出现了状态行为,但并不是所有的系统都会显 现出这些状态行为,比如对于一个基本的数学函数。 m e a l y 和m o o r e 状态机在数学上是相等的,一个总是能转换成另一个,但是对于同一系 统,m o o r e 状态机建模要求有更多的状态,因为m e a l y 状态机对同一个状态能使用不同的转 换,即对于不同的触发,而且能执行不同的动作;m o o r e 状态机必须使用不同的状态来表 示不同动作被完成的条件。 状态机又分为简单状态机( s i m p l ef s m ) ,扩展状态机( e x t e n d e df s m ,e e s m ) ,通信 状态机( c o m m u n i c a t i o nf s m ,c f s m ) 等状态机的应用非常广泛,文献 1 5 将有限状态机 用于动态变化环境中多传感器融合和多机器人的通信问题。文献 1 6 将有限状态机用于蓝 牙通信,文献 1 7 将有限状态机用于异步串口( u n i v e r s a la s y n c h r o n o u sr e c e i v e ra n d t r a n s m i t t e r ,以下简称u a r t ) 的硬件设计。文献 1 8 将有限状态机用于物流供应订单的研 究。文献 1 9 将有限状态机用于计算机生成兵力( c o m p u t e dg e n e r a t e df o r c e s ,简称c g f ) 中。此外,在各种通信协议和软件设计与实现中都有广泛应用。 2 2 传统f s m 的不足及改进 传统f s m 的存在的问题是难以表达复杂反应式系统。它对于简单的、状态驱动的系统 可以良好的工作,但是对于大的复杂的系统往往无能为力。对复杂系统无能为力主要是因 为传统f s m 状态的扁平性和不能处理并发造成的。扁平状态机不能建立系统的抽象结构, 所有的状态都是同样可见,并被认为是抽象同个层次的。如车的前进后退和气缸的活塞运 动是不同层次的状态,排空冲程显然不能和汽车前进相一致。在具体的实现上,通常需要 为不同的层次建立不同的抽象层,把问题从实现域转移到了概念域即问题描述域。扁平的 状态就无法达到这个实现。另一个比较严重的问题就是不能提供处理并发的机制。传统的 状态机没有独立的概念,因此对于两个相互独立的状态需要组合在一起。有了并发机制, 就把原来数目为o ( x “) 的扁平状态机变成了状态数目为o ( x n ) 的状态机。 状态之间的通信也需要进一步改进和完善。状态的跳转由事件触发,事件可以来自外 部设备和命令,也可以来自状态内部。因此,不同状态之问的通信就能够对系统状态的内 部转移作出合适和合理的描述。 对传统的f s m 的一种改进是层次式状态机( h i b e r a r c h i c a lf s m ,以下简称h f s m ) 。h f s m 是对状态行为建模的最直观的方法,也是实现事件驱动系统的一种很好的形式方法1 2 0 1 。它 主要用来描述对象、子系统、系统的生命周期。通过层次状态机既可以了解到一个对象能 国防科技大学研究生院学何论文 到达的所有状态以及对象收到的事件对对象状态的影响,以及状态机指定对象的行为以及 不同状态行为的差异等。同时它还能说明事件是如何改变一个对象的状态,适用于嵌入式 系统软件开发。 状态层次嵌套的主要特性来自抽象与层次的结合,这是一种降低复杂性的传统途径, 也就是软件中的继承。在面向对象中,类继承概念描述了类和对象之间的关系,类继承描 述了在类中的i s a 关系,在嵌套状态中,只需用i s - i n 状态关系代替i s - a 关系,即他们是 等同的分类法。状态嵌套允许子状态继承来自其超状态的行为,具有行为继承。在实现中 行为继承有意的把自己仅限于被动事件处理器,即由其处理事件需要外部的驱动,而不包 括传统上与状态机有关的标准元素如事件排队,事件分发器,执行上下文或定时服务等。 因此可以把这些与应用领域和操作系统相关的部分抽象出来,构建一个可复用的适合嵌入 式系统软件开发领域的应用框架。 一个基于层次状态机的应用程序对象的执行环境,除了提供事件处理器外,还必须提 供执行上下文线程,事件排队,事件分发器和定时器服务等。这些元素强烈依赖于应用领 域和操作系统的支持。在一个特定领域内如嵌入式软件开发领域中,他们在各个系统中的 改变很小,因此能在很多应用中被重复使用。 在嵌入式系统中,层次状态机可以按照最大独立原则把系统分成三层 2 1 1 ,并确定层 内和层闻的联系方式,要求每层向它的上层提供服务,同时向它的下层请求服务。一个为 多线程奠定基础并提供类似事件队列和内存池的基本服务的实时操作系统就是硬件层。公 共业务层把业务域中大多数应用任务需要的公共功能主要是事件排队,事件分发器和定时 服务等抽象为公共的业务对象,封装业务域中绝大多数应用任务的公共数据。具体业务层 指应用程序或具体任务的软件包。 层次式状态机较之经典状态机最重要的改进之处就是层次式嵌入状态的引入。然而仅 仅层次式的状态不能满足描述实际复杂系统的要求,h a r e l 状态对层次式状态机进一步改 进,能够胜任描述和刻画复杂系统得需求。 2 3h a r e l 状态图 2 3 1h a r e l 状态图概述 软件和系统功能在对一个存在问题的认识上有很多的一致性,这在大型复杂嵌入式系 统设计的规范化时体现得更为突出。用软件来设计大型复杂嵌入式系统式。实际上是一种 软件语言或软件的建模机制对系统需要实现功能的再现,同时这种描述还必须有足够的能 力去细化系统行为以实现某种程度的计算机仿真。在这种计算机仿真完成以后,软件的大 致框架就形成了。因此,这个软件描述就显得非常重要,i t a r e l 状态图就是其中一个。 第1 1 页 国防科技大学研究生院学彷论文 h a r e l 状态图由d a v i dh a r e l 在2 0 世界8 0 年代后期创立以后,其理论经过不断的发展和 完善,现在已经成为嵌入式系统开发的主要设计方法和工具。h a r e l 状态图不仅理论基础 深厚,应用简单,更重要的是它获得了各大国际嵌入式系统开发公司的支持,有很多直接 支持h a r e l 状态图的集成开发工具和开发套件 h a r e l 状态图是描述和刻画反应式系统的有力工具。一个反应式系统在很大程度上讲 是事件驱动的瞄】,对外界或内部激励作连续反应,例子包括电话汽车、通信网、计算机控 制系统、导航和航空电子设备等。用清晰又简单的方法来描述复杂反应式系统的行为困难 比较大。h a r e l 状态图则通过对普通的状态图和传统的状态机进行扩展,扩展的主要元素 是层次性、并发和通信。经过扩展,h a r e l 状态图变成高度结构化、描述精简的语言。它 紧凑且具有很强的表达能力,内容丰富,一个很小的状态图就可以胜任复杂的工作。更重 要的是,它不仅可以当成单独的行为描述工具,也可以是一个总体设计方法,用于处理系 统的其他方面,如系统的功能性分解,数据流分析。虽然有很多很好的方法已经可以把系 统的整体行为分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省龙岩市漳平市2024-2025学年一年级下学期6月期末课堂小练笔数学试题
- 福特售后知识培训课件
- 服务合同解除协议
- 历史分科模拟试题及答案
- 福建环保空调知识培训课件
- 安全证考试口诀及答案
- DB61T 509.4-2011 秦岭猪苓菌种
- DB61T 382.7-2018 魔芋标准综合体 第7部分:魔芋林下栽培技术规程
- 江西省抚州市南城县第一中学2025年数学高三第一学期期末经典试题
- 辽宁省阜新市2025-2026学年数学高三上期末综合测试试题
- T/QX 005-2021加油站油罐机械清洗作业规范
- T/CECS 10226-2022抗裂硅质防水剂
- 农村拆迁转让协议书
- 人教鄂教版科学 四年级上册 第一单元 多样的动物 单元教学解读
- 限制类医疗技术管理
- 新商标法修订解读:知识产权课件-商标法更新
- 食品行业标准化管理体系
- 快递驿站合作合同协议
- 街道文体中心管理制度
- 初中历年会考试卷及答案
- T-CNAS 18-2020 成人住院患者跌倒风险评估及预防
评论
0/150
提交评论