嵌入式系统 :为特定应用设计的计算机系统

更新时间:2023-07-01 22:01

嵌入式系统是嵌入式计算机系统的简称。嵌入式系统是一种嵌入在设备(或系统)内部,为特定应用而设计开发的专用计算机系统。

英国电气工程师协会对嵌入式系统的定义为:控制、监视或协助设备、机器、工程运行的装置。而中国大陆从技术角度定义了嵌入式系统是一种以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等要求严格的专用计算机系统,是一个技术密集、资金密集、 高度分散、不断创新的知识集成系统。

嵌入式技术起源于20世纪70年代微处理器出现以后,此时期是以4位/8位的单片机为主的可编程控制系统。到了20世纪80年代由于处理器的发展使得嵌入式系统的处理器提升到了8位/16位。再到了20世纪90年代中期纳米加工技术的出现,使得嵌入式系统可以实现复杂的电子系统并在各个领域得到广泛使用。

嵌入式系统被广泛应用于各个领域,包括了工业控制、交通管理、信息家电、家庭智能管理系统、POS网络及电子商务环境工程 与自然、机器人,还有仪器仪表、医疗器械计算机外围设备、汽车、船舶、航空航天等。

嵌入式系统的定义

定义

中国对嵌入式系统公认的定义是:嵌入式系统是一种以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对 功能、可靠性、成本、体积、功耗等要求严格的专用计算机系统。

英国电气工程师协会从应用角度定义了嵌入式系统:控制、监视或协助设备、机器、工程运行的装置。其原文为Devices used to control,monitor or assist the operation of equipment,machinery or plants.原文中的devices指计算装置,即计算机。

嵌入式系统是针对需求的问题和目的而特殊设计的小型化轻便化的专用计算机系统,本质上也是计算机系统的一种。

嵌入式系统的共有特征

实际上,随着技术的进步,对嵌入式系统的定义在不断变化着,但对于大多数嵌入式系统而言,总有一些共同的特点,这些特点是嵌入式系统所共有的,也是分辨一个计算机系统是否是嵌入式系统的重要依据,以下对嵌入式系统的共有特征做简要概述:

1.专用性:嵌入式系统总是针对某个具体的应用需求和目的而设计的;

2.隐蔽性:嵌入式系统往往是一个大的系统的一部分,嵌入式系统只是大的工作系统中用以实现智能化控制或者行为的一个构件;

3.高可靠性:因为嵌入式系统是针对具体的设计,所以对于其设计目所需求的可靠性方面的针对设计很多;

4.实时性:嵌入式系统必须有对于可预测性事件在需求的时间内反应的能力;

5.资源固定:因为是针对性的设计,所以嵌入式系统的可用资源是确定的,并且通常追求小型化、轻量化和低耗低成本。

以上内容来源于

发展历史与分类

嵌入式系统的发展

公认的第一个现代嵌入式系统是20世纪60年代初麻省理工学院开发的阿波罗导航计算机(Apollo Guidance 计算机,简称AGC),它的作用是用来引导阿波罗飞船往返地球与月球。同时美国在20世纪60年代中期于民兵Ⅱ导弹上大量使用内嵌的集成电路用于民兵Ⅱ导弹的火控系统等方面,这也是早期未成形的嵌入式系统的一个缩影。

而真正意义上的嵌入式系统出现在20世纪70年代的美国,当时被称作嵌入式计算机系统或者是隐藏式计算机。当时的嵌入式系统主要是以4位/8位的单片机为主的可编程控制器,这些嵌入式设备的主要能力是和传感器伺服器等外围设备共同作用起到控制、检测、显示和指示的作用,此阶段的嵌入式系统结构简单功能单一。主要用在一些工业设备的控制上和大型家电。

在20世纪80年代,随着半导体技术的发展导致了数字电路的大量应用,昂贵的模拟集成电路被数字电路替代,许多外围电路的元器件被集成到处理器芯片上,这使得嵌入式系统可以更加多样化和轻便化,导致了嵌入式系统的广泛应用,出现了例如智能仪表、智能家电、智能玩具等数字化的电子化设备,也使得电子化设备开始大规模的数字化。这一时期的嵌入式系统主要以8位/16位处理器为基础并配置了简单的操作系统。这导致了大量的智能家电和智能仪表的出现。

进入20世纪90年代,微电子技术的快速进步导致了嵌入式技术的风靡式发展。但这一时期的嵌入式系统的操作内核小、功能完善、模块化程度高、开发设备齐全、种类繁多,并且确定了嵌入式系统的正式定义。这一时期的嵌入式系统主要以32位处理器和嵌入式操作系统为标志。以至于出现一种观点:嵌入式系统本质上是瞄准高端领域和应用的。

嵌入式系统的分类

嵌入式系统的分类方式有很多种,同时嵌入式系统是一种不断跟随别的技术进步的一门技术,其发展历史也是其分类的重要依据。在此以三种角度列举出嵌入式系统的类别。

以技术复杂度分类

针对以不同字长的处理器为应用平台和设计基础,对于字长越大的处理器而言,能够做的事也就越多,但相对应的所使用到的技术就越复杂,以下是按照技术复杂度的具体分类:

以上资料来源于

以实时性分类

嵌入式系统由硬件和软件两部分组成,其中软件是嵌入式系统的灵魂,而嵌入式系统软件的灵魂则是算法,算法是决定嵌入式系统软件优劣的决定性因素,嵌入式系统对于不同的算法会表现出不同的实时性以而被应用在不同的更大型的系统中,所以按照实时性表现分类也是嵌入式系统的一个重要分类手段,以下是按照嵌入式系统实时性的具体分类:

以上资料来源于

以用途分类

通过嵌入式系统的使用途径对其分类是一种最直观也最符合市场价值的分类方式,以下是按照用途的具体分类:

以上资料来源于

嵌入式系统的组成

嵌入式系统和通用计算机系统一样,也是由硬件和软件所组成的。其中硬件的主体是处理器和存储器以及用来连接外部世界的I/O设备和I/O接口,而软件是决定嵌入式系统的运行方式、工作手段和实现设局需求方法的部分。嵌入式系统的完整部分有硬件平台、外接设备、操作系统、应用软件四个部分,而外界设备根据设需求和应用环境的不同而在不同的嵌入式系统中完全不一样,所以嵌入式系统的逻辑组成有三部分,分别是嵌入式应用软件、嵌入式操作系统和嵌入式硬件平台

逻辑组成

嵌入式系统的硬件平台

嵌入式系统的硬件平台是用来让嵌入式应用软件和嵌入式操作系统运行的硬件设备。主要由处理器、存储器、I/O接口等组成,以下是嵌入式系统硬件平台的具体组成和特征。

①处理器:处理器是指能按照发出指令的规定快速完成二进制的数据/逻辑运算的器件。一般处理器包括了运算器、控制器、寄存器、缓冲存储器等。使用纳米技术加工半导体而制成的仅有几平方厘米大小的处理器叫微处理器。其中用来运行系统软件和应用软件的主处理器称之为中央处理器(CPU),cpu是影响嵌入式系统性能的重要部分。

②存储器:存储器是用来存储程序和数据的部分。它分为了两大类,易失性的和非易失性的。易失性存储器在没有通电后会损失存储的信息,而非易失性存储器可以永久的或者半永久的保存信息,不受是否通电的影响。易失性存储器主要有随机存取存储器RAM,RAM又分为了动态随机存取存储器DRAM和sramSRAM。前者主要用来存放正在运行或处理的程序/数据。后者往往与cpu集成在一起,用来当做程序和数据的高速缓冲存储器。非易失性存储器主要有只读存储器ROM和闪速存储器Flash,只读存储器主要分为了掩膜制度存储器MROM和电可擦可编程只读存储器,前者不可修改,后者可以用专用设备进行离线修改。Flash存储器主要分为或非型(NOR Flash)和与非型(NAND Flash),前者以字节形式进行随机存取,存放在其中的程序称之为“固件”,后者以页或行为单位进行存取,虽然效率较前者略低但使用寿命长,同时成本低容量大。多数用来制作存储卡或者u盘。存储器并非单一的存在与某个地方,而是会按照设计需求可能集成在处理器芯片内或者安装在外部电路板或者被制成便携式的。

③I/O设备与I/O接口:I/O设备就是输入/输出设备。而对于嵌入式系统而言,外部世界都是系统的I/O设备。信息的传递是两者之间的最重要交流,这也意味着信息传递是嵌入式系统最重要的设计部分。嵌入式系统所使用的I/O设备主要有两种,分别是人机交互设备和机机交互设备。常用的主要有通用串行总线、异步串行接口、视频信号接口、工业总线接口和无线接口。I/O接口是用来连接(包括了物理意义和信息意义)和控制I/O设备的。

总线:总线是用来连接cpu和存储器的设备。总线按功能分有三种,分别是数据总线、地址总线和控制总线。数据总线是多根线组成,每根线每次传递一位数据,数据总线的数量取决于计算机的字的位数;地址总线是用来访问存储空间的,其数量多少是由存储空间大小决定,存储空间有2的N次方个字,则地址总线就需要N条;控制总线是用来在cpu和内存间传递信息的,计算机有2的N次方个控制指令,则控制总线就需要N条。总线按对象分有两类,用来连接内部的的称之为内部总线,用来和外部组件或者其他的嵌入式系统进行信息传递的称之为外部总线或者扩充总线。外部总线和通信网络接口和一些I/O接口有时的区分并不严格。

嵌入式硬件平台可以从系统运行的角度分为最小硬件系统和典型硬件系统。以下是最小嵌入式硬件系统的示意图:

嵌入式系统的硬件平台外接电路都是以此为基础拓展和优化的。根据不同的设计要求,所设计的外接电路有很大的区别。

嵌入式应用软件

嵌入式的应用软件是为了解决专门问题所设计的软件。针对每一个设计目的,嵌入式应用软件的内容都是不同的,嵌入式应用软件使用的主要编程语言由最开始的汇编语言到现在的高级语言。高级语言中使用较多也较为出名的有C、C++和Java。

嵌入式系统软件除了拥有计算机软件的一般特征以外还具有一些其他特性,其中包括了(以下参考资料为):

1.软硬件一体化和软件固化,嵌入式操作系统和嵌入式应用软件绑定在专门设计的嵌入式硬件平台上,一般固化在了半导体存储器里,而非外界设备。

2.代码空间利用率、时效性和实时性要求高。根据嵌入式系统的定义,在有限资源的情况下要达到设计目的必须要有高效的空间利用率、时效性和实时性。

3.软件的可裁剪性、环境适应性、长生命周期性。

嵌入式系统软件在设计时还有一些特征,包括了:开发难度大,面向目标和受限于应用情况以及高度分散化的产业市场。

嵌入式操作系统

操作系统的常规定义是:

1.介于用户和计算机之间的接口;

2.用来让其他程序运行的更方便更有效的程序或程序集;

3.用来管理计算机系统中的每一个部件,确保计算机系统中的所有资源都能有效的使用。

计算机的操作系统又分为了个人操作系统(用于个人电脑)、分布式操作系统(控制多台计算机)、并行系统(拥有多个cpu可以同时并行执行多个任务)和实时性系统(在特定时间限制内完成某种工作内容)。

OSE是就是专门化的操作系统,为了某个设计目的而编写的操作系统。嵌入式操作系统在普通操作系统的设计上还有一些特性:1.具有开放性、可伸缩的结构;2.所有信息交互使用统一的接口;3.有操作方便、简单、提供友好的图形GUI以实现更好的封装性;4.提供强大的网络功能以确保高量高速的信息交互行为;

软件结构

嵌入式系统的软件在多样化的设计需求下有着和通用计算机系统相比十分明显的软件结构上的特征。主要可以分为以下几种结构:

1.简单轮询结构:需要应用程序不断的重复一个循环过程以检查每个外部输入条件,当出现需求时,则进行相应处理。

2.中断轮询结构:在简单轮询结构的基础上增加了中断服务程序(ISR)。ISR用于处理特别请求,并设置一个状态标志,主程序循环时会查询这些状态标志再进行后续处理。

3.监控式操作系统与应用软件结构:以监控式的操作系统和针对设计需求的应用程序为一体的结构,通过针对应用程序的监控式操作系统完成任务调度、任务通信和中断处理等功能,以达到多任务并发的工作状态代替单主程序循环。

4.通用嵌入式操作系统与应用软件的结构:此类软件结构分为三层:最低层的硬件抽象层包含了引导加载程序和各种驱动程序;中间的操作系统层包含了通信协议、文件系统、操作系统内核程序和嵌入式GUI。上层的中间件层包含了各种中间件用以连接应用软件和操作系统。

处理芯片

嵌入式处理器种类

嵌入式系统的处理器主要有以下四种:

1.微处理器(MPU):根据通用计算器处理器演变而来,更小的体型使得它更适合于嵌入式系统。在工号、工作温度、抗磁等方面嵌入式微处理器强于通用微处理器。

2.DSP芯片(DSP):专门用于处理数字信号的微处理器,主要用于多媒体信息处理设计中。

3.微控制器(MCU):将整个计算机硬件的大部分或者全部电路集成在一块芯片上,也称之为单片机。处理计算机硬件外还集成了如看门狗、定时/计时器、AD/DA转换器等功能部件和外设部件。

4.片上系统(SoC):将计算机或者其他的电子系统集成在单个芯片上,又称系统级芯片。相比于微控制器,片上系统的功能更强大。甚至可以运行极其复杂的操作系统如Windows或者是Liunx等。某些片上系统还拥有多个处理器。

嵌入式处理器结构类型

嵌入式处理器是嵌入式系统硬件平台的核心,也是嵌入式系统软件操作和运行的主要依赖。所以嵌入式处理器在设计时都设计了对应的指令集以实现对处理器的底层控制。而嵌入式处理器按指令集结构可以分成两大类:复杂指令集结构和精简指令集结构。而同时按照存储机制可以分为冯·诺依曼结构和哈佛结构

指令集(Instruction Set)又称为指令系统,其中包括了对基本数据类型、寄存器、寻址模式、指令、中断、异常处理和外部I/O的操作。指令集是用来设计嵌入式软件的主要依赖,以此设计出来的结构通常称之为指令集系结构或者是IS架构(Instruction Set Architecture)。现今发展最快的处理器系列是ARM处理器。

CISC处理器/RISC处理器

CISC处理器:指令集中的指令数目多且结构复杂,寻址复杂,其中包含了大量的专用指令集。

RISC处理器:指令集中单指令数目少且字长统一寻址模式简单,指令操作也很简单。

冯·诺依曼结构和哈佛结构

冯·诺依曼结构(简称冯氏结构)和哈佛结构是依据存储方式的不同划分出来的。

冯氏结构是cpu和存储器间只有一套总线,而哈佛结构是将程序存储器和数据存储器分别用程序总线和数据总线连接的结构。冯氏结构具有较高的灵活性,而哈佛结构具有较高的效率。在现代处理器中如x86和高端ARM都采用了改进型的哈佛结构,同时兼顾了两者的优点。

系统开发

嵌入式系统的本质就是专用目的的计算机。所以嵌入式系统的开发和通用计算机系统开发过程类似,但又有不同。

开发流程

嵌入式系统的开发流程主要分为了:

1.需求分析与规格说明:明了设计需求和设计目的是什么,并且确定设计所需的资源;

2.系统设计:以软件硬件协同设计的思路,明确目的所需求的软件功能和硬件功能,然后以大构件为单位设计系统的详细内部构造;

3.构建设计,进行详细的软件编程,硬件选型和电路设计;

4.系统集成与测试,完成了所有的构件设计工作后,将这些构件集成为一个完整的嵌入式系统,并依据设计目的和设计需求进行功能调试,完成调试后将程序固化,即得到一个符合设计需求和目的嵌入式系统。

开发平台与开发工具

嵌入式开发主要有几个特点与通用计算机系统开发不同:通过宿主机——目标机的开发架构;对底层硬件的直接程序控制频繁;软硬件资源的固定和针对性设计;程序固化。

开发平台

开发工具

嵌入式系统的开发平台中包含了大量的开发工具,这些开发工具使得开发工作更加便利。以下列举一些常用的开发工具种类及其实例:

1.面向嵌入式应用的实时操作系统(RTOS)及其函数库,常用的有嵌入式Liunx、vxworks等;

2.程序开发工具,常用的有ADS、GNU、Keil等;

3.调试工具,如仿真器、逻辑分析仪、开发板或评估板;

4.中间件和软件组件,如Java中间件等。

调试

嵌入式系统在完成了所有的构件设计之后就需要集成并调试。嵌入式系统的开发调试需要软件硬件的结合使用,同时由于嵌入式系统复杂的结构,所以需要多种多样的软件或硬件调试工具对问题进行定位,同时需要双方的协同。以下列举两种常用的调试方式:

1.在线仿真器:许多的集成开发环境都有线上仿真功能,例如Keil,通过线上虚拟仿真对程序进行单步骤调试,可以在剥离硬件的情况下对软件进行标准模板的仿真调试。

2.片上调试技术-JTAG:JTAG是IEEE(电气电子工程师协会)的下属机构,主要研究测试访问端口和边界扫描结构的标准,其研究结果被收纳进IEEE的规范内,成为一种国际标准的片上测试技术,主要用于芯片和电路板调试。满足此标准的TAP接口被称之为JTAG接口。

应用举例

嵌入式系统在生活中的应用随处可见,以下做嵌入式系统的应用列举:

1.信息电气,信息电器是指所有能通过网络系统做信息交互或者可以提供信息服务的电子产品,包括数码相机、机顶盒路由器等。

2.移动计算设备,包括了手机、平板电脑掌上游戏机等设备。

3.电子军工设备、工业生产机器人、以及医疗机械。

以上内容以为参考。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: