公务员期刊网 论文中心 嵌入式系统范文

嵌入式系统全文(5篇)

嵌入式系统

第1篇:嵌入式系统范文

关键词:单片机;嵌入式系统;电机控制;网络测试

随着嵌入式系统数量及需求的不断增加,其所生产的电子产品越来越受大众的欢迎。此外,单片机在嵌入式系统中同样发挥着不可替代的作用,其具备强大的集成功能,可以将其视为小型的微型计算机系统。自20世纪80年代开始,单片机集成技术越来越完善,其在嵌入式系统中的应用也日益广泛,起到测试、控制等强大功能。

1单片机与嵌入式系统概述

1.1单片机

单片机是具备逻辑功能的集成芯片,又被称之为单片微控制器,其具备计算机的相应功能,相比较计算机而言,其仅仅缺少I/O设备。单片机产生于20世纪80年代初,20世纪90年代逐渐普及,其生产和集成技术应用也日益广泛,集成能力更强。单片机在系统之中应用依靠其扩展功能,可以灵活地应用在多个领域之中。芯片技术的完善为其功能应用奠定了良好的基础,其存在SOC层和SPI接口,通过接口可以与其他系统连接在一起,是一种具备可扩展性的嵌入式系统[1]。

1.2嵌入式系统

嵌入式系统是指将对象体系作为目标,嵌入式计算机作为核心嵌入到系统之中。该系统应用具备一定的控制、监视、辅助控制等功能,该系统以应用为中心,以软件和硬件系统为载体,实现相应的功能。考虑到嵌入式系统在不同领域中的实践应用,对其技术应用特征进行分析,其具备体积小、容量小、实时性等特点。考虑到嵌入式系统在工业领域中的应用,其可以在智能仪表、智能装置中应用,以节省大量的空间,将控制模块安装在系统之中,可以以小体积发挥相应的控制功能。储存容量小是指嵌入式系统在设计应用过程中应用ROM模块,将FLASH作为储存器应用,其在此间发挥着储存介质的功能,但该类储存器应用成本比较高,因此,嵌入式系统应用储存容量也尽可能地比较小,程序进程也比较小,这是嵌入式系统应用的主要特征之一。嵌入式系统的实时性特点是指其在应用过程中具有时间特性,以嵌入性系统为根本的应用程序对实时性要求比较高。如果在应用过程中应用系统超过了系统特定的时间限制,则计算机程序所输出的结果也会存在明显的差别,应用程序系统在应用过程中也会出现问题[2]。

1.3单片机在嵌入式系统中的功能

嵌入式系统在应用过程中存在可扩展性,其可扩展设备大致分为三个部分,其中单片机是核心部分,结合系统中的CPU装置和硬件设备,共同实现对程序的控制功能。在具体应用过程中,CPU装置会与系统的装置经由SPI口进行连接,实现CPU与单片机之间的数据信息交换。基于数据信息模块实现两者间的信息传输,单片机在系统之中的应用可以经过I/O口等接口实现功能性拓展,在与硬件系统的共同作用下,实现功能性转化[3]。的硬件设备具备数据采集和信息采集等强大功能,通过系统的SPI总线实现数据处理。系统功能应用基于上述数据传输过程实现相应的控制功能和监测功能,为了保障其功能符合应用需求,需要明确系统功能结构,嵌入式系统结构如图1所示。在上述结构之中,SPI接口属于外设接口,通过该接口进行嵌入连接其数据传输速度比较快[4]。比较I2C主线数据传输速度而言,传输效率更高。因此,在应用该系统结果过程中应基于CPU装置实现多个设备的数据连接,以数据传输为目标进行结构设计。该系统应用期间受SPI接口模式所影响,如果在主从模式下对其进行应用,则需要辅助应用主设备和多个从设备实现数据传输功能。在此设计理念中,可以从界面系统实现各节点之间的点对点通信[5]。基于此,根据其功能需要将SPI总线与单片机进行融合,提高单片机的集成功能。但在实际应用过程中,可能由于应用差异导致程序出现混乱,根据签订的数据传输协调调整设备,可以使得嵌入式系统功能更加完善。为了降低系统在应用过程中的成本,设置MCU分担系统应用过程中的信息处理压力,预处理采集的信息,提高系统的响应效果[6]。

2单片机在嵌入式系统中的设计应用

2.1驱动程序设计

将单片机应用到嵌入式系统之中,对其结构进行综合设计。本次设计应用选择以Linux系统为基础的驱动程序,在该系统上设置外部文件,也就是系统所连接的设备。指令执行需要在外部设备上进行,通过软件程序的开发设置虚拟系统。设备驱动程序应用是连接用户与设备的重要接口,也是实现数据传输与功能转化的重要内容。系统在运行过程中受到驱动程序的保护,在实现控制、测试的过程中,确保硬件设备可以为程序应用提供保障。数据的读入、写入等也基于驱动程序实现资源和空间的释放,为系统的核心层和物理层之间进行数据传输奠定良好的基础。设计嵌入式系统,CPU装置在本地系统中以串行的方式进行端口连接。单片机的I/O接口与设备之间通过扩展连接的方式实现程序的相应功能。在驱动程序应用期间,硬件系统会根据接口连接差异赋予其不同的功能,当用户基于程序软件访问系统之后,接口可以发挥数据传输的功能,实现对操作指令数据的读入,完成指令任务。以串行的方式将多个结构连接在一起,驱动程序会传递用户的请求,经过串行端口实现硬件功能的定义。

2.2协议与扩展功能设计

单片机在嵌入式系统中的应用与SPI协议完成数据通信,应用AD转换器实现对通信信号的处理。系统设计应用双全工通信模式,在系统的芯片位置设置数据通信线路。通信模块基于SCK的控制应用,结合系统内部的双向移位寄存器实现数据之间的交互。但该线路接口会占用4条线路,设计人员需要考虑到对电源的限制性设计,通过适当减少电路接口的方式,使得整个系统通信功能具有科学性[7]。单片机集成功能应用也比较复杂,由于系统中的CPU无法直接实现任务指令执行工作。需要经过通信协议的签订完成数据传输,SPI总线基于虚拟通道协议的签订,驱动数据包进行速率优化,发挥优化数据传输的功能,在此过程中发挥纠错的作用。为了确保通信数据包与单片机之间数据传输的稳定性,虚拟通道建立通过扩展性功能的应用对数据格式进行优化,通过代码写入实现对数据包的分析,并对数据包进行相应的封装处理。硬件驱动程序设计应用基于强大的数据处理功能与扩展性功能实现对外设装置指令的响应。借助虚拟通道可以实现对数据传输的优化设计,调用指令。单片机即将串行端口的连接设备集成到系统之中,端口与本地端口发挥对程序内核的封装作用,为用户提供相应的服务。连接本地端口的程序执行硬件任务,虚拟通道连接的程序则不执行此任务,通过控制器可以实现对数据的传输、接收[8]。本文设计MCU嵌入式系统,基于单片机实现数据控制和指令控制功能。在工业领域中,该系统的应用比较广泛,且应用成本比较低,能源消耗量也比较小,后期维护也比较简单。该系统应用符合人性化的设计理念,但市场上的嵌入式系统的功能存在差异,网络通信机接口数量端口功能不同,但基于此网络控制端口的设计应用,可以满足其他的通信协议要求。

3单片机在嵌入式系统中的实践应用

3.1单片机在嵌入式系统中的功能应用

3.1.1电机控制系统应用。在嵌入式系统设计应用过程中,基于单片机的功能应用可以实现对电机的科学控制,其在此间执行着管理工作,可以实现对功能模块的调度。基于对操作系统和操作平台的优化设计,融合控制软件实现对程序平台的优化,在具体应用过程之中,需要严格按照以下顺序对其进行应用:图1嵌入式系统结构图首先,在应用过程中,操作人员需要明确系统的任务量,预处理相应的数据。其次,基于对驱动数据的写入和输出,实现对数据的过滤,经过通道将数据传输至系统之中,为测量工作的应用提高安全保障。在该过程中,数据的输出在数据预处理完成之后进行,保障数据输出的可靠性。最后,电机系统的控制实施过程是关键,需要合理地划分各个模块之间的责任。3.1.2网络测试应用。单片机在嵌入式系统之中的应用逐渐成为技术研究的重要内容,通过网络测试的方法可以了解到系统应用的主要内容。通过虚拟系统的建立,经过网络数据传输系统,实现对设备的远程控制,按照设定的指令可以实时储存或者上传数据信息。操作人员在应用网络测试的过程中,MCU系统可以发挥接口识别功能,分辨网络用户连接方式。同时,系统中的应用软件发挥测控功能。分析应用的内部结构关联性,单片机在嵌入式系统之中可以发挥对IP地址的储存以及识别作用。网络测试功能的应用可以利用网络系统和通信系统实现,系统内核区域并不存在串行端口,其网络控制模块并不存在。但在系统编码和解码的过程中,内核模块可以发挥相应的控制功能。终端系统在输入或者输出数据期间,其原理与单片机嵌入系统运行原理具有一致性。终端系统对其进行控制,需要严格检查端口接口控制网络的科学性,其是否与数据通信接口连接紧密。在科学的连接基础上,网络系统可以实现异步串行通信功能,确保系统在该范围内可以有序运行[9-11]。3.1.3多媒体控制系统应用。多媒体控制系统在当代被广泛应用,其可以应用到办公、教学等领域之中。基于单片机的嵌入式系统设计应用将多个系统集成在模块之中。计算机设备作为其操作应用的基础内容,可以发挥演化、展示的作用。将其与其他可视化装置连接在一起,包括录像机、终端设备以及其他具备遥控功能的设备,实现了数据传输和数据展示等功能。系统具备中央控制系统,可以实现对多个模块之间的流畅转化,音频、视频以及图片等内容的转化过程比较优质。分析应用原理,系统融合了通信技术、集成技术,将控制设备与系统组合连接在一起,明确每个设备的最终操作过程以及方式,可以实现对多媒体内容的集中控制。其应用方式大致可以分为两种,第一种是指在应用过程中基于软件控制,第二种是通过硬件连接方式的电路控制。第一种方式使得系统内容更加丰富,软件界面可优化设计,比较美观。但硬件电路控制系统在操作上更加便捷[12]。

3.2单片机在嵌入式系统其他领域中的实践应用

除上述功能中将单片机应用到嵌入式系统外,在其他领域中其也可以发挥相应的功能。如节能功能、语音设备控制、预警装置和医疗设备等,均可以基于单片机实现对嵌入式系统的应用。例如,小米手环、智能手表等应用单片机嵌入系统,实现人体健康数据的智能化收集。由于连接设备在应用过程中长期处于负载的状态,能源消耗量比较大。但应用单片机嵌入式系统,可以控制信息的上报情况,当连接设备信息未进行上报期间,则设备在系统的控制下处于低能耗状态,起到了一定的节能控制作用。在语音设备中,单片机嵌入式系统应用可以实现人机语音交互功能,通过对单片机的编程,赋予其一定的逻辑控制功能,识别和处理一些语音内容。目前,其在导航中应用比较广泛,在智能终端中也得到了广泛的应用。除此之外,其在预警装置中的应用也具有适应性,如比较常见的智能报警系统、火灾报警器等,均应用单片机实现对现场数据的科学采集,经由通信网络将数据传输至系统模块之中。由于单片机具有良好的集成效果,在医疗领域中应用可以实现对病人身体特征以及相关数据的采集,在后台终端激进型系统交互,当病人的生理体征发生异常时,系统会自动报警。基于单片机的嵌入式系统应用与智能技术结合,可以发挥强大的功能[13]。

4结论

第2篇:嵌入式系统范文

关键词:计算机技术;嵌入式系统;UML语言

UML语言又被称为标准建模语言,主要是被用来进行软件开发与支持模型化的计算机图形化的语言。在软件开发过程中,可以通过标准建模语言提供的可视化与模型化支撑进行软件规格、配置及构造的最优化。与此同时,它还是一种易于表达、功能强大、定义良好的建模语言,基于这些优势,将UML语言应用到嵌入式系统的开发设计中,能实现目前用户对该系统的功能、体积、功耗及可靠性的要求。

1嵌入式系统应用背景的产生

嵌入式系统是基于计算机技术,融合了电子技术、半导体技术,并对应用领域实际需求产生的一种具有功能强大、可塑性强及应用广泛的知识集成系统。由于该系统自身的优势,因此,被广泛应用于技术、资金密集的工业生产中。目前,市场中的电子产品、汽车、数码等都应用了嵌入式系统进行生产。嵌入式系统最早形成时还形不成“系统”概念,因为最初的嵌入式系统主要是依靠单片机运行的,只能执行单线程的工作程序[1]。随着计算机技术及商业社会的发展需求,嵌入系统初步形成,可以运用计算机嵌入式系统进行应用软件的编辑,执行任务管理和内存管理等功能。发展到至今,嵌入式系统已经可以实现实时的多任务操作,成为目前应用软件开发的主流,发展与应用前景广阔。

2UML语言及其框图的应用模式分析

UML语言是一种应用于计算机系统编程的可视化建模语言,在具体应用操作中可以实现满足用户对系统需求的刻画、分析、设计集成以及实现和测试,实现系统功能的构建更加合理[2]。UML建模语言可以将建立的模型数据信息运用标准的图形元素直观地展示在用户、测试人员、管理人员以及开发人员或是其他项目相关人员面前,使他们可以对系统的功能、结构设计进行更好的交流,实现对系统的良好构建。目前,市场上最为常用的建模语言主要有Booch、OMT及UML三种语言,相较于其他两种建模语言来讲,UML语言更加简化,操作简单、适用范围广泛,因此,被许多企业采用。UML语言不仅可以对静态的结构进行建模,还可以对具有动态行为的系统进行建模,因此,适用于系统的全部开发阶段。UML语言是一种可视化的建模语言,因此,该语言中的所有语素都是由一个个的框图组成的。系统设计人员应用在UML语言时,就是通过对框图的描述来实现对整个系统的设计。UML语言的框图有很多种,现针对几种主要框图进行分析。BusinessUseCase框图与UseCase:这两种框图所对应的语素不同,BUC框图所代表的语素主要是对整个系统的机构功能进行描述;而UC框图则主要是根据用户对系统的需求,进行系统功能描述。因此,经常被用来与客户之间进行交流,提取有效建构信息。Class框图:此种框图是一种静态图,代表语素主要被用来对系统中的类进行描述。通过对该框图的观察,可以清楚地了解系统中类的内容、功能以及结构关系。StateChart框图:该框图主要被用来对建模对象的状态及各个建模对象之间的转换关系进行描述,主要用来提供建模系统的动态功能[3]。此种框图在实际应用中被广泛运用到系统的实际建立中,可以生成系统构建所需的全部代码。Collaboration框图与Sequence框图:这两种框图都是对系统对象之间的相互关系进行描述的框图。但Sequence框图在进行描述时主要以时间顺序进行,而Collaboration框图则是针对系统角色与显示对象之间的交互进行着重描述。通过Collaboration框图,可以让系统建筑师与质量保证工程师及时了解分析对象的分布情况,若出现不合理状况,系统建筑师便可及时进行调整或重新分配。UML语言中包含的这些框图,在进行系统设计、建模以及分析的过程中,会提供多种不同的图片表达形式,因此,可以用在系统开发的不同阶段。将UML语言中的这些框图应用在嵌入式系统开发中,通过它们之间的有机结合可以构建出一个功能完整、一致的高效系统。

3UML语言在嵌入式系统中的有效应用

3.1以车载GPS终端为例

嵌入式系统在各个领域被广泛应用,在本文中,我们以车载GPS终端为例进行UML语言在嵌入式统中的有效应用研究[4]。机动车的车载GPS终端是用来进行实时定位的装置,被广泛应用在出租车或运输车这类需要进行调度、定位的车队中。该终端的功能实现主要通过车载GPS终端与卫星进行实时的信号传输,实现对机动车位置的掌握,进而进行准确定位。准确定位后,再通过无线通讯网络将机动车位置反馈给远程的中心系统。此时,中心指挥系统就可以清楚掌握终端反馈的位置信息,实现对机动车的远程控制与跟踪。在机动车遇到特殊情况时,中心系统可以通过终端对车辆进行控制,实现车队的正常运行。与此同时,若是车辆遇到险情,车载终端还可以起到电话功能,进行远程报警。

3.2进行嵌入式设计时对UML语言的需求分析

运用UML语言对嵌入式车载GPS终端系统需求进行分析时,可以通过UseCase框图进行系统功能分析。UseCase框图在进行系统功能表达时,在图中显示的车载GPS终端系统功能需求将其分为两部分来展示,即角色与案例。所谓的角色就是指与系统之间进行交互的人和物,而其中的案例则是用来表示系统所提供的功能块。通过UseCase框图对系统进行观察,可以帮助人们将系统实现与系统目标进行分离,因此,可以使系统开发人员详细了解系统的重要组成部分。最后,设计出的系统功能能实现用户的需求,而不会使设计人员在系统细节实现上过多地浪费时间[5]。通过观察UseCase框图发现,车载GPS终端中的角色定位主要有两类,即车载终端的用户与监控中心的用户。车载终端的用户可以通过终端进行报警。而监控中心系统的用户则可以通过系统查询车辆位置信息及发送调度信息。

3.3通过UML语言对产品进行规格说明

对系统的规格说明要求要比需求分析的显示更为详细,因此,运用UML语言进行嵌入式系统的设计,可以使系统规格说明更加清晰与直观。在对车载终端系统中的规格进行说明时,首先、可以通过Class框图进行描述。该框图可以对系统处理的数据结构进行描述,对接收到的GPS卫星信号进行描述。其次,Class框图在进行规格说明时,还要将系统进行功能模块划分,并且找出所有系统,对主要对象进行识别。之后再通过UML语言中的Collaboration框图对各对象之间的关系进行描述。最后,在进行规格说明的业务描述时,也就是对规范的操作系统完成主要功能流程的显示,此时,可以运用UML语言中的Activity框图进行展示。

4结语

通过对嵌入式系统开发需求以及UML语言的功能进行分析,发现利用UML语言进行嵌入式系统设计可以满足提高该系统的开发速度与产品质量要求。与此同时,还可以增加系统设计的可重复使用性,实现了对系统设计的优化及利用,满足了用户对系统的各项需求,具有广阔的应用前景。

参考文献

[1]禚百田.UML在空调嵌入式系统开发中的应用研究[D].青岛:山东科技大学,2010.

[2]王承启.嵌入式系统设计方法研究与嵌入式避障机器人的实现[D].北京:北京交通大学,2009.

[3]廖晓文.基于UML与Petri网的嵌入式系统建模方法的研究[D].广州:广东工业大学,2005.

[4]曹雷,薛平贞.UML建模在嵌入式系统开发中的应用[J].现代电子技术,2013(16):41-44.

第3篇:嵌入式系统范文

关键词:嵌入式软件;软件测试;双机热备;实时系统

目前,嵌入式系统的健壮性和稳定性是用户和系统设计人员都十分关注的问题。如果在嵌入式系统运行过程中,因为系统硬件或者软件故障导致整个系统无法继续正常工作,则可能会带来不可预知的影响和损失。因此,为了维护嵌入式系统的高可用性和高可靠性,必须采取适当的措施来保证嵌入式系统不间断的稳定运行,双机容错技术就是在这样的背景下产生并在嵌入式系统中得到了广泛应用[1]。当前嵌入式系统中最常见的双机容错技术有无磁盘型、共享磁盘型、磁盘镜像型、共享和镜像共存型等,这些方法大多应用在专用的容错系统中,应用在通用的容错系统中的较少[2]。上述这些方法大都是在应用层实现容错的功能,因此不可避免地会带来以下问题:①增加设计人员的工作量,设计人员在实现具体业务的同时必须考虑容错功能的实现;②数据容错的可靠性难以保证,设计人员只要有考虑不周的地方,就可能导致容错系统无法正确备份,导致备份失效;③系统可扩展性较差,一旦在系统中增加新的功能,设计人员必须重新考虑备份功能的实现,系统的可测试性和可维护性差。为了能够有效地保证嵌入式系统稳定、可靠、有效和持续运行,本文提出了一种嵌入式系统的双机热备方法。该方法能够保证设备在无人监管的情况下不间断正常运行,具有技术成熟、运行成本低和任务可靠性较高等优点。

1双机热备系统概述

双机热备技术一般是在服务器系统出现临时故障时采取的一种热备份技术,通过对服务器系统的热备份,可以避免服务器系统发生故障时产生的长时间服务中断,确保服务器系统能够长时间可靠运行。双机热备概念分为广义和狭义2种。从广义上讲,就是将2台服务器中的重要服务进行相互备份,并且2台服务器共同执行同一服务。当任意1台服务器运行时出现故障,另外1台服务器在最短的时间内接管该故障服务器的一切服务,该接管工作不需要人工进行干预,保证整个服务器系统正常不间断运行。狭义上讲,服务器数据同时写入2台服务器中,或者这2台服务器采用1个共享存储设备。在同一时间2台服务器只有1台处于激活(工作)状态,另外1台处于静默状态。当处于激活状态的服务器故障时,通过心跳机制激活另外1台服务器,让其接管当前工作。双机热备系统采用故障隔离的工作原理,将发生故障的设备以故障点转移的方式让处于热备份状态的正常设备接管当前工作,保证整个系统的不间断运行。故障的恢复不是在故障设备上,而是在热备份的设备上,热备份的方式不是用来修复当前故障设备,而仅仅是将故障隔离。双机热备系统中的关键技术有主备机身份识别技术、主备机之间心跳通信技术、主备机同步技术和主备机故障检测和切换技术等。

2主备机身份识别

目前大多数的双机热备系统都采用在主备机端安装不同软件的方式。这种方法的优点是程序开发较为简便、逻辑清晰;缺点是灵活性较差、不便于维护。为了使主机和备机具有完全对等性,采用“先启为主”的主备机身份识别机制,即先启动的为主机,后启动的为从机。“先启为主”的主备机身份识别机制采用端口监听的方法实现。首先在主机和备机上分别配置好对方的IP地址和通信端口号,在嵌入式系统的任务启动后立即创建一个套接字并向对方通信端口发出连接请求。如果连接成功说明对方已经启动,本机标识为备机;如果连接失败将本机标识为主机,并将套接字绑定到主备机通信端口进行监听。这样,无论备机何时启动,主机都会接受备机的连接请求并与之建立连接。

3建立主备机之间的心跳通信

为了提高嵌入式双机热备系统的可靠性,首当其冲需要解决的是主机设备和备机设备之间的通信问题。双方通信的可靠程度很大程度上决定了主机设备和备机设备数据的同步性、主机设备和备机设备相互监测的准确性、主机设备和备机设备数据传输的稳定性以及隔离故障机和备用机恢复重新切入双机系统的健壮性。通常在主机设备和备机设备之间采用心跳信号来相互监测对方的工作状态,并作为诊断设备故障的一种辅助手段。一旦主机设备和备机设备之间的心跳信号发生故障,则表明有一方设备出现了故障,同时也能初步确定故障设备的原因。因此,在主机设备和备机设备之间建立心跳通信机制,也是提高嵌入式系统安全性的一种有效方法。传统的双机热备系统中双机之间是通过心跳线互发心跳建立连接通信的。若心跳线发生故障,就会将原有协调的系统分为2个独立的个体。由于双机彼此失去联系,都以为对方发生故障,备用机本能的升为主用机,而主用机由于本身工作正常,继续保持主用,从而导致“双主”现象的产生。传统的解决“双主”现象的办法是增加心跳线的数量,但是该办法的缺点是不仅会增加系统的硬件成本,而且还会占用系统的接口资源,新增加的心跳线还会成为潜在的故障点,降低了系统的可维护性。为了提高双机热备系统的可靠性,主机和备机均采用双网卡工作,双网通过交换机连接到局域网中,采用一条心跳线进行双机之间的通信。因此,双机之间通过心跳线、双网的状态3种通道传递心跳信号。只要这3种通道有一个能收到对方的心跳,即可认为心跳正常。当出现心跳失效的情况时,分别选取双网上的一台设备(主机或者备机)或设备的某个端口作为该通道的远程检测点。当某个网络通道心跳失效时,双机通过该网络通道检查设置的远程检测点,若检测不到则表明故障出现在本机端;若可以检测到则表明故障出现在对方。为了进一步提高双机热备系统的可用性,双网通道在收到对方心跳时加入时间戳。在心跳无效的情况下,根据心跳时间戳,选择最后收到心跳的网络,然后去检查对应此网络的远程检测点,若可以检测到,表明对方宕机下线,本机正常,可作为主机运行;否则,标明本机宕机,此时应工作在备机。双机通信的流程如图1所示。

4实现主备机同步

双机热备系统中主机设备与备机设备必须保持严格意义上的同步,它们之间同步性的好坏直接影响到主机设备和备机设备发生切换后双方数据的一致性。若两方数据同步性不好,则当一方接管另一方(故障设备)工作时,就会造成数据的不完整性,从而影响整个嵌入式系统的工作流程。因此,主备机的同步是确保整个系统主机设备及其备机设备中程序与数据同步运行和实现双机无缝切换的基础。此外,主备机设备在运行过程中的相互监测以及当一方发生故障时的故障诊断工作都对主备机之间的同步性能提出了更高的要求。主备机的同步不仅包括时钟同步,还包括主备机状态和数据同步。主备机的时钟同步是指硬件上的同步,包括双机时钟周期和时钟时序的同步。在主备机上电后,保证主备机使用的是同一外部有源晶振提供的时钟周期,以此来保障系统的各个模块完全按照相同的时钟频率运行。主备机的状态和数据同步是指主备机之间需要实时进行通信,其中包括主备机的状态和接收数据的实时通信。为了让主备机的任务初始化能够同步开始,必须对主备机同时上电。当主机任务启动指令到达的第一时间通知备机启动任务,使备机同时进入工作模式。在主备机均正常工作的情况下,主备机同时从网络上接收信息,但只有主机有权限向外部设备发送信息,备机只接收外部信息,处于信息发送静默状态。主备机的同步过程如图2所示。

5实现主备机故障检测和切换

故障检测技术是双机热备系统进行主机设备和备机设备切换的关键环节,通过对设备进行实时准确地状态监视和检测,能够及时地发现并上报设备的故障,并启动冗余设备继续完成系统当前的工作任务,是保证了双机热备系统可靠性和稳定性的前提和基础。采用如下3种措施实现主备机故障检测:①在主备机中配备看门狗定时器。在系统上电后,处理器在正常工作时会每隔固定的时间对看门狗计数器进行清零操作。若主机或者备机出现故障,看门狗计数器值会超过某个阈值,最终会导致看门狗产生复位信号,使处理器复位,通过上述方式可判断主备机是否出现故障。②在主备机上电后,可对系统进行自检操作,包括CPU检测、内存检测、I/O设备检测等,可在上电时检测系统硬件是否工作正常。③在系统运行过程中,主备机之间通过心跳线和双网的状态相互监测对方的工作状态。由于主备机在上电时通过身份识别已明确自身是主机还是备机,因此,如果在系统运行过程中,主机检测到备机故障,则不进行切换,主机继续保持工作;如果备机检测到主机故障,则进行切换,由备机接管主机继续工作。

6结束语

双机热备技术是保证嵌入式实时系统可靠性和稳定性最重要和最关键的方法,不仅有效降低了系统出现故障的概率,还大大提高了系统可用性。本文提出的方法具有成本低、易于实现、可靠性高、主备机切换时间短等优点,大大满足短事务、强实时系统的要求,增强了双机热备系统在复杂、恶劣环境下的可维护性。

参考文献:

[1]肖佳,王古城,杨旭,等.双机热备与负载均衡的设计与实现[J].电子设计工程,2015,23(18):176-179.

第4篇:嵌入式系统范文

关键词:嵌入式系统;C语言;编程软件

0引言

C语言在嵌入式软件开发中有着非常广泛的应用,这是因为C语言能够很好的匹配高级与低级语言,同时简洁高效、灵活便捷,可以实现对硬件的直接操作,然而由于C语言具有较强的灵活性,也导致了代码管理与维护问题较为繁琐复杂[1]。和传统形式的软件编程相比较,嵌入式系统编程是以某个相应的硬件平台为载体的,服务的是一种专用的计算机系统,不单单有对硬件操作的复杂性,同时还表现出应用层次的通用性。所以,在实际开展软件开发时,选取适宜的软件框架以及优异的设计方法,加强对项目的工程化管理,可以有效地指导软件开发的层次划分以及功能模块规划设计。一方面可以很好的提升高级软件系统开发速度与质量,提高后期执行与维护的便捷性,另一方面也可以有效地提升程序代码的重用性、延伸性以及稳定性。为了进一步提高嵌入式系统视域下C语言编程软件设计效率与品质,本文建立在现阶段已有的主流软件工程思想之上,将面向对象设计技术、分层技术等与C语言嵌入式编程结合起来,深入探讨基于嵌入式系统的C语言编程软件设计方法、分层架构等,为不断提高编程质量与效率提供帮助。

1模块划分

模块划分主要表示为将某个庞大的、复杂程度较高的程序依照需要实现的不同功能,将其分割成若干个小段,并确保每一个小段都能够完成一个相应的功能[2]。软件需要最大程度降低和外部模块的接触,进一步改善程序的可移植性能,同时明确其能够达到的既定功能。通常来说,嵌入式系统涵盖了两个方面的模块,分别是硬件驱动模块以及软件功能模块[3]。其中一个硬件驱动模块往往只与某个特定的硬件相匹配,而在进行软件功能模块划分过程中,应当要最大程度符合低耦合、高内聚的基础需求[4]。在进行模块设计与开发以达到不同功能时,需要严格遵守两个关键性原则。(1)模块的独立性原则,每一个模块均是独立存在的,避免不同功能模块之间出现信息交互的现象,既不会产生相互之间的影响,同时也不会产生相互之间的依存,任何一个模块中的函数指令均不会与其他模块变量建立联系,不同功能模块之间的连接是建立在函数接口基础之上的。(2)正交性原则,所有的功能模块都是唯一且确定的,而这中间的变量和其要达成的功能是相同的。在实际进行模块划分过程中,应当要特别重视以下四点注意事项:(1)当一个功能模块在为其他关联功能模块提供相关数据以及外部函数时,应当要在头文件(.h)中特别注明extern字样进行声明。(2)某一个功能模块内包含的全局变量以及函数信息,应当要在头文件(.c)中特别注明static字样来声明。(3)当出现某一个功能模块同时涵盖有.h文件以及.c文件时,需要在该功能模块的接口文件中基于(.h)进行声明。(4)需要特别注意的是,(.h)头文件中不可以对任何定量进行定义,这是由于定义变量属于汇编方面的内容,会根据实际要求匹配相应的内存[5]。

2分层架构

2.1分层方向

现阶段技术分层主要涵盖了两个大方向,(1)自顶往下的方法,这种方法在当下嵌入式系统应用层设计中有着十分广泛的应用,不仅仅是一种从抽象向具体的开发模式,同时也是一种基于逻辑总体描述规范或最上层的程序为出发点逐步往下拓展的操作模块。(2)自底层往上的方法,是一种实际功能发展为抽象概念,这种模式在硬件驱动开发与设计中有着较为普遍的应用。先进行功能模块的探究,确保其能够对目标应用对象产生一定的作用,同时研究普遍使用的操作方式。不管是自顶往下方法,还是自底往上方法,两者方法都有着各自的优势与劣势,为了确保能够获得理想的效果,在实际进行系统软件设计与开发时,应当要在明确软件实际功能需求的基础之上,科学合理地使用某一种方法或两者混合使用。例如在逻辑分析应用过程中,应当要选取自顶往下的方法,进一步明确功能模块的逻辑性,降低不同功能模块的开发时间,该是模块执行与移植的速度。在进行硬件操作过程中,则需要选用自底往上的方法,充分明确硬件操作规范,将各个操作从中独立出来,从而为上层应用的模块移植提供良好的支持。

2.2分层架构设计方法

之所以对架构进行分层设计与开发,其重要目的是为了有效满足编程过程中不同功能的具体需求,将需要实现的总体功能划分为若干个独立子功能,在确保各个子功能可以实现对应功能后,再对其进行整合。所以,必须要依照功能需求的不同将代码转化为各种概念层次的模型,指出不同模块之间的关联性,之后再进行科学连接,从而确保总体的复杂功能得到全面实现。在实际进行分层过程中,也需要严格依照以下原则进行。(1)在开展分层过程中应当要最大程度降低层与层之间的联系,既可以避免出现相互影响的问题,也能够防止层与层之间相互制约,减小模块的可移植性[6]。当某一个功能层出现故障或者问题时,并不会对整体功能产生较大影响,仅仅会导致具备功能运行不正常。相关技术人员在进行故障排查与解决时,也只需要对问题层进行调整与改进,不会妨碍其他功能层的正常运行。(2)所有功能层都需要为其上一层提供相应的支持,同时确保所有层都可以独自有效解决一个问题,比如频率收集功能,能够依照其实现的功能将其划分为数据收集、数据分析以及数据显示三个层,每个层之间存在特定的关联性,共同实现模块功能。(3)最大程度提高各个功能层之间的内聚性,同时还需要维持各自之间的低耦合性,对各个模块内部进行规划,获得理想形态下的模块,进一步改善模块的可移植性能。当将模块功能划分得十分详细时,能够有效降低各个功能模块实现的难度,然而当划分出较多数量的功能模块时,又会导致复杂程度越来越高,因此要做到科学规划层次与功能模块,加强对其的调整与改进,使其达到理想状态。嵌入式系统必须要开展面向对象、去中心化设计,在实际进行设计过程中需要将系统逻辑架构划分为四个层次,分别是应用管理层、算法协议层、功能延伸层以及硬件驱动层,每个层都有着各自的功能。(1)应用管理层主要是进行应用功能调度、显示界面关联等;(2)算法协议层的主要功能是数据库访问、协议管理和分析、资源整理等;(3)功能延伸层的主要功能是确保不同器件的功能可移植性、接口连接访问以及器件保持较低耦合性等;(4)硬件驱动层主要是提供硬件操作源语言,同时确保各个硬件功能的相互独立性。上述分层方法与原则,合理运用了可达到相似功能的功能模块,一方面实现了代码应用、算法以及硬件功能间保持较低关联性,另一方面也有效减小了不同功能开发与达成时的耦合性,防止出现交叉混乱的现象,进一步提高了嵌入式系统程序代码的简洁性,表现出更高的应用价值。良好的算法必须要能够支持多个不同的应用逻辑模型算法,相应的优秀的功能模块也能够满足不同应用与执行环境的使用需求,从而改善嵌入式系统软件功能模块设计、实施与移植的速度。

3中断服务程序

在某些特定情况下,程序往往需要具备立即终止当下正在运行的程序,转而处理其他情况程序的功能,在这种情况下就需要使用到中断服务程序,可以在其他情况程序处理结束之后,再次返回到之前被终止的程序,并确保其从暂停点出发继续运行。在嵌入式系统中中断服务程序发挥了至关重要的作用,是系统中不可缺失的一部分,由于中断系统能够方便、快速地在系统运行中完成中断操作,转而切换到中断服务程序中,同时能够在第一时间切换回断点并继续保持主程序运行,以此来改善系统的运行速度。此外,中断服务程序在不执行中断任务的情况下,并不会占用系统的运行内存,从而有效避免了系统内存的浪费,提高系统内存的应用率。当下已经产生了较多的依托于标准C语言的延伸中断服务程序,同时产生了一些全新的代表中断函数的中心词语,比如说_interrupt以及#programinterrupt等。在实际开展中断服务程序函数开发过程中,中断现场入栈代码程序以及出栈代码程序均能够通过编码器获得,同时确保开发完成的中断服务程序满足以下三项标准要求,分别是中断服务程序不可以设置返回值;不可以为中断服务程序提供参数;应当最大程度提高中断服务程序的简洁性。

4系统软件开发与设计

4.1基于C语言的面向对象化

种类的概念一般存在于面向对象的语言中[7]。类是针对特定类数据的指定操作的合集。类主要涵盖了两个方面,分别是数据以及操作[8]。通常情况下面向对象涵盖了三种特性,分别是封装、继承以及多态。封装表示为将数据与函数结合起来形成一个共同体,在实际调用过程中能够实现两者的共同调用。继承表示为依托于结构嵌套能够达到对对象属性继承的目的。多态表示在实际进行函数调用过程中,可以忽视数据调用途径。然而在大多数情况下,为了保障软件代码架构简单、操作便捷,往往只进行数据和函数的封装。此外,在一定情况下还会出现C语言编程过程中,数据和函数之间关联性不强以及结构不合理等问题,C语言模拟面向对象的最终目的便是解决该问题。

4.2模块重用设计

通常情况下为了促进C语言代码的重用,主要运用模块化的方式来实现,一般涵盖了头文件以及函数实现文件,换言之既.h文件以及与之相匹配的.c文件。正常来说有两种模式进行函数定义,分别是宏定义以及函数。首先,宏定义的主要优势体现在可以有效节省内存空间,同时和参数类型并没有直接联系,但是其也有着自身的缺陷,表现为部分功能难以依托于宏来实现。其次,函数往往能够实现多种多样的功能,不仅能够重复多次使用,同时也能够有效接受第三方函数的数据,甚至还能够将最终运算结果当成是返回值输入。

5结语

第5篇:嵌入式系统范文

关键词:嵌入式系统;低功耗;软件技术

一、嵌入式系统功耗问题概述

目前,不断发展计算机技术,开始广泛应用嵌入式系统,越来越高要求系统功耗问题。在嵌入式系统中应用电池供电的便携设备,因为是有限的电池存储量,不能持续为设备提供电量。一般来说,为了能够具备比较高性能,需要合理安置高性能CPU,依据实际运行规范,适当提高设备数量,会降低系统功耗,衡量嵌入式系统性能的关键就是低耗能,为了能够具备最平衡的高耗能和高性能需求,在符合系统实际运行性能要求基础上,尽可能降低系统耗能,从而确保可以长期运行系统,从软件和硬件两方面分析系统节能问题[1]。

二、嵌入式系统低功耗软件技术设计

(一)应用软件编写的节能设计。

第一,中断替代系统中查询。系统简单应用中,不管应用哪种程序方式都不会出现很大差异,差别大的就是消耗功率。中断方式处理系统中,中央处理器可以不做任何事,或者能够直接进入到等待或停止模式;如果是查询形式,需要中央处理器不断访问I/O寄存器,出现额外功率。第二,代替子程序。设计人员都知道,相比较读RAM来说,读Flash消耗功耗比较小,因此,在设计CPU的时候,RAM会展现低功耗性能,但是仅仅只能一次调用子程序,子程序进入到CPU以后,会暂时存储中央处理器寄存器,离开系统的时候,CPU会弹出寄存器,此时至少需多次操作RAM,因此,设计人员在设计程序系统的时候,利用宏来代替子程序来。设计中是在子程序、还是宏上调用系统没有很大区别,但是编译的时候会依据中央处理器进行实施,避免调用子程序,但是最重要的就是增加代码数量,上述方式可以适当降低系统功耗[2]。

(二)应用程序编译的节能设计。

第一,降低冗余代码。处理器处理系统时候消耗30%能量就是cache消耗的能量,此外,如果不能命中cache的时候,会交换内容,所以,外部总线被驱动的过程中会增加能量,编译程序的时候适当降低冗余代码,会极大程度降低cache活动,以便于达到降低系统功耗的目的。第二,优化I/O功耗技术。系统中比重中,驱动I/O端口需要的能量在整个系统中具备极大比重,因此,为了能够降低系统耗能量,应该适当降低应用驱动I/O端口次数,也就是依据编码设计技术来不断降低和压缩I/O数据,从而达到降低I/O频率的目的。优化和分析应用程序存储局部性访问性能和交换总线地址活动性质的时候合理应用编译器,从而达到编译编码的目的,此外,还需要系统硬件具备一定解码作用。在分析系统程序的过程中,不断优化局部高频数据性能,从而降低操作访问系统频率和次数,不仅可以降低系统功耗,还能为系统运行提供能量。

(三)硬件低功耗节能技术。

第一,DPM。动态管电源管理(DynamicPowerManagement)可以依据嵌入式系统实际运行情况来适当关闭不需要的系统设备,如,硬盘或者显示器等,第二,依据系统运行实际负载来合理调整总线频率和中央处理器波率。目前,已经具备完全智能化的管理动态电源方式,在没有人为原因接入和干扰的前提下,能够快速转换系统运行速度,一般每秒能够实施几百次,从而能够达到节能的作用。第三,APM。高级电源管理(advancedPowerManagement)主要就是用来为系统提供BISO管理电源机制,在开发系统的时候适当把硬件编程接口加入BISO中,能够成为沟通操作系统和主办的重要枢纽,建立APM-BISO,上述方式能够依据实际情况来有效合理调整系统自身硬件耗能[3]。

结语

总之,由于不断发展微电子技术,嵌入式系统开发中低耗能成为重要问题,从应用程序编译的节能设计、硬件低功耗节能技术、应用软件编写的节能设计三方面分析优化系统功耗问题,尽可能降低系统功耗。

参考文献

[1]刘露,李小进,张宏等.基于访存特性的嵌入式移动设备软件低功耗优化方法[J].计算机应用研究,2014(11):3392-3396.

[2]宋彦,郭兵,沈艳等.嵌入式系统低功耗的软件实现方案[J].单片机与嵌入式系统应用,2011,11(9):4-7.

相关热门标签