您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 嵌入式系统(第6章嵌入式系统设计技术)
第6章嵌入式系统设计技术嵌入式系统的组成嵌入式系统的设计流程132嵌入式系统设计的特点设计示例:车载GPS终端系统的设计54统一建模语言UML嵌入式系统设计的特点•嵌入式系统通常是面向特定应用的系统;•嵌入式系统的硬件和软件都必须高效地设计,量体裁衣、去除冗余;•嵌入式系统设计需要交叉开发环境;•嵌入式系统的程序需要固化;•嵌入式系统的软件开发难度较大;•嵌入式系统还需要提供强大的硬件开发工具和软件包的支持,需要设计者从速度、功能和成本综合考虑。对稳定性、可靠性、功耗、抗干扰性、重量体积等方面的性能要求都比通用系统的要求更为严格和苛刻。“宿主机/目标机”方式•嵌入式系统的开发通常采用“宿主机/目标机”方式。•宿主机(Host):一台通用的计算机,一般是PC机。它通过串口或网络连接与目标机进行通信。•目标机(Target):常用在嵌入式系统的开发过程期间。目标机可以是嵌入式系统的实际运行环境,也可以是能替代实际环境的仿真系统。硬件调试器(如JTAG仿真器)目标机(嵌入式开发系统)宿主机(通用个人计算机PC)RS232/以太网RS232/以太网嵌入式系统的组成人机交互接口D/AA/DI/O嵌入式微处理器(MCU)通用接口ROMSDRAM硬件层中间层HAL/BSP硬件抽象层/板级支持包软件层实时操作系统(RTOS)应用程序文件系统图形用户接口(GUI)任务管理功能层被控对象(如微型电机)执行装置嵌入式计算机系统硬件层ARM7TDMIMP3解码/DAC/音频放大器LCDUSBIDE连接器SDRAMRS232用户输入(如键盘)中间层•中间层:也称为硬件抽象层(HardwareAbstractLayer,HAL)或板极支持包(BoardSupportPackage,BSP),它把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。•BSP的特点:1)操作系统相关性2)硬件相关性•设计一个完整的BSP需要完成两部分工作:1)嵌入式系统的初始化:片级初始化、板级初始化和系统级初始化2)设计硬件相关的设备驱动。软件层•软件层:由实时多任务操作系统(RTOS)、文件系统、图形用户接口(GUI)、网络系统及通用组件模块组成。•RTOS是嵌入式应用软件的基础和开发平台。•RTOS实际上是一段嵌入式目标代码中的程序,系统复位后首先执行,相当于用户的主程序,用户的其他应用程序都建立在RTOS之上。•RTOS是一个标准的内核,它将CPU时钟、中断、I/O、定时器等资源都封装起来,留给用户的是一个标准的API函数接口。功能层与执行装置•功能层:由基于RTOS开发的应用程序组成,用来完成对被控对象的控制功能。•功能层是面向被控对象和用户的,为方便用户操作,往往需要提供一个友好的人机界面。•执行装置:是指那些可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务的设备和装置。•在不同的应用领域中,嵌入式系统的执行装置一般是不同的,应该根据具体的应用场合和系统所要求实现的功能选择不同的设备和执行装置。嵌入式系统的设计流程系统需求分析阶段规格说明阶段开始体系结构设计阶段硬件构件设计软件构件设计执行装置设计系统集成系统测试嵌入式产品发布结束统一建模语言UML概述•统一建模语言UML:可视化建模语言,属于第三代面向对象建模语言。它将模型中的信息用标准图形元素直观地表示出来,便于人员交流。统一建模语言UML概述•特点:•1)UML语言简单,易学、易用;•2)UML采用可视化的图形描述,比较形象直观;•3)可使不同技术背景的开发人员和设计人员很容易的相互交流;•4)UML语言是第三代面向对象建模语言的标准,被绝大多数业内人士认同;•5)UML采用图形化的设计,将系统的核心部分描述出来,可以供以后系统开发使用;•6)有利于项目的回溯和测试。UML组成•UML采用图形表示法,它的重要内容是由一些图来定义的。设计人员就是用这些图来描述整个系统的功能和设计。•UML包括4部分:(1)视图(View):UML的视图并不是图形,而是由许多图(Diagram)组成的一个抽象,视图显示表达系统的各个不同方面。(2)图(Diagram):描述UML视图内容的图形。UML共有9种不同类型的图,通过它们的相互组合来表示出被建模系统的所有的视图。UML组成(3)模型元素(ModelElement):UML图中使用的概念就是模型元素。模型元素代表普通的面向对象的概念,例如类、对象、消息以及这些概念之间的关系。(4)通用机制(GeneralMechanism):UML提供的通用机制为模型元素提供一些附加的信息、注释、语义。这些通用机制也提供扩展机制,允许用户对UML进行扩展,以便适应一个特定的方法/过程、组织或用户。UML中的视图•5种视图:(1)用例视图(UseCaseView):描述系统应该交付的功能,是外部参与者(Actor)观察到的系统功能。用例视图利用用例图、活动图进行描述。•一个用例就是对系统的一个功能的通用描述。•用例视图是核心。系统的最终目标,系统提供的功能在用例视图中被描述。用例视图会对所有其他的视图产生影响。UML中的视图•(2)逻辑视图(LogicalView):从系统的静态结构和动态行为角度显示如何实现系统的功能,描述如何实现用例视图中提出的那些系统功能,逻辑视图注重的是系统的内部。UML中的视图(3)组件视图(ComponentView):显示代码组件的组织结构,描述模块以及它们之间的依赖关系。组件是不同类型的代码模块,通过代码模块的结构和依赖关系来表示。UML中的视图(4)并发视图(ConcurrencyView):显示系统的并发性,解决并发系统中存在的通信和同步问题。主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。UML中的视图(5)部署视图(DeploymentView):显示系统的具体部署,将系统部署到有计算机和设备(称之为Node)组成的物理结构上。UML中的图1•9种图:用例图、类图、对象图、状态图、顺序图、协作图、活动图、组件图和部署图。(1)用例图(UseCaseDiagram)•显示多个外部参与者(Actor)以及它们与系统提供的用例之间的连接,定义系统的功能需求。•一个用例是对系统提供的某个功能的描述,用例只是描述系统活动者从外部观察系统所得到的那些功能,并不描述这些功能在系统内部是如何实现的。UML中的图1•一个评分系统的用例图:记录成绩浏览成绩分发报告卡学生教师UML中的图2(2)类图(ClassDiagram)•显示系统中各个类的静态结构。类图是静态图。•类代表系统内处理的事务,这些类可以多种方式连接:关联、依赖、特殊化或者打包。•一个类的内部结构使用该类的属性和操作表示。•一个系统一般有几个类图,并不是所有的类都放在一个类图中,一个类可以参与到多个类图中去。UML中的图2评分系统的类图:教师成绩成绩报告卡网站在线用户(学生)Login()View()Query()RecordGrade()UpdateGrade()DeleteGrade()QueryGrade()Generate()MaintainsContains^DisplaysUses11…*1…*1UML中的图3(3)对象图(ObjectDiagram)•类图的一个实体。对象图中,对象名带下划线。•与类图的区别:对象图显示的不是实际的类,而是类的多个对象的实例。因此,对象图就是类图的一个例子,显示系统执行时的一个可能的快照。UML中的图3作者Name:StringAge:Integer计算机Name:StringMemory:IntegerUses类图张三:作者Name=“张三”Age=40张三的个人电脑Name=”lenovo”Memory=512张三办公电脑Name=”Dell”Memory=256对象图UML中的图4(4)状态图(StateDiagram)•显示类的对象可能具备的所有状态,以及那些引起状态改变的事件。状态图是对类的描述的补充。•对象的一个事件可以是另一个对象向其发送的消息,例如到了某个指定的时刻,或者已经满足了某个条件。•状态的变化称之为转换,一个转换也可以有一个与之相连的动作,后者用以指定完成该状态转换应该执行的操作。UML中的图4AvailableLockedSold初始状态AssigntosubscriptionTimeoutLockUnlockExchangeBuyUML中的图5(5)顺序图(SequenceDiagram)•显示多个对象之间的动态协作。•重点是显示对象之间发送消息的时间顺序。•由多个用垂直线显示的对象组成,图中时间从上到下推移,并且顺序图显示对象之间随着时间的推移而交换的消息或函数。•消息用带消息箭头的直线表示,位于垂直对象线之间。UML中的图5网站的接口电子邮件教师LoginteacherLookupstudentDistributeGradeLogoutteahcerSendEmailwithgradeUML中的图6(6)协作图(CollaborationDiagram)•显示动态协作。•选择顺序图还是协作图的决定条件:(1)重点强调上下文,选择协作图。(2)重点强调时间或顺序,选择顺序图。UML中的图6:FileQueue:Computer:Printer:PrintSever1:Printfile(Printerfree)1.1:Printfile(Printerbusy)1.2:StorefileUML中的图7(7)活动图(ActivityDiagram)•显示一系列顺序的活动,主要描述在一个操作内执行的那些活动。•由多个动作状态组成,这些动作状态包含将被执行的活动(一个动作)的规格说明。•当动作完成后,动作状态将会改变,转换为一个新的状态,从而控制就在这些互相连接的动作状态之间流动。UML中的图7教师录入成绩准备记录成绩选择学生输入成绩存储成绩成绩被录入UML中的图8(8)组件图(ComponentDiagram)•用代码组件显示代码物理结构。•组件可以是二进制组件、源代码组件或一个可执行的组件。•根据组件图中显示的那些组件之间的相互依赖关系,可以很容易地分析出其中某个组件的变化将会对其他组件产生什么样的影响。UML中的图8Project.dspSourcefileHeaderfileResourcefileincludesincludesUML中的图9(9)部署图(DeploymentDiagram)•显示系统中的硬件和软件的物理结构。•可以显示实际的计算机和设备(或者Node),它们之间必要的连接、连接的类型。•也可以显示组件之间的依赖关系。UML中的图9客户端A客户端B应用程序服务器数据库服务器文件服务器Tcp/IpTcp/IpUML中的模型元素•模型元素:在UML各种图中使用的概念。•一个模型元素是用语义、该元素的正式定义或者用一条明确的语句中该元素所代表的准确意义来定义的。•一个模型元素也有一个与之相对应的视图元素,这些视图元素是模型元素的图形表示或者在UML图中表示元素的图形符号。•常用的模型元素:类、对象、状态、节点、包和组件等。模型元素对应的视图元素活动者(Actor)用例(UseCase)类(Class)对象(Object)包(Package)节点(Node)组件(Component)接口(Interface)状态(State)模型元素中的关系•关系:模型元素之间的相互连接。•UML中定义的关系:(1)泛化(Generalization):一个元素是另一个元素的特化,也称为继承关系。(2)关联(Association):类实例之间连接的描述。(3)聚合(Aggregation):一种关联的形式,一个元素包含其他一些元素。(4)依赖(Dependency):两模型之间的关系,显示一个元素在某种程度上依赖于另一元素。依赖泛化关联聚合UML中的通用机制•UML在所有的图形中都使用一些通用机制来描述图的附加信息。•通用机制包括三个方面的内
本文标题:嵌入式系统(第6章嵌入式系统设计技术)
链接地址:https://www.777doc.com/doc-2440344 .html