什么是嵌入式?
什么是嵌入式?
嵌入式系统是一种广泛应用于各种设备中的专用计算机系统,它具有专用性、高可靠性、实时性等特点。从阿波罗登月任务中的导航计算机,到如今的智能手机、智能家居等,嵌入式系统已经渗透到我们生活的方方面面。本文将从定义、特点、发展历史、分类以及组成等多个维度,全面介绍嵌入式系统的基础知识。
一、什么是嵌入式
嵌入式系统是一种嵌入在设备(或系统)内部,为特定应用而设计开发的专用计算机系统。中国对嵌入式系统公认的定义是:嵌入式系统是一种以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等要求严格的专用计算机系统。英国电气工程师协会从应用角度定义了嵌入式系统:控制、监视或协助设备、机器、工程运行的装置。
嵌入式系统本质上是针对需求的问题和目的而特殊设计的小型化轻便化的专用计算机系统。它具有一些共同的特点,如专用性,总是针对某个具体的应用需求和目的而设计;隐蔽性,往往是一个大的系统的一部分;高可靠性,针对具体设计有很多可靠性方面的针对设计;实时性,必须对可预测性事件在需求的时间内反应;资源固定,可用资源确定且通常追求小型化、轻量化和低耗低成本。
例如,在工业控制领域,嵌入式系统可以和传感器伺服器等外围设备共同作用,起到控制、检测、显示和指示的作用。在智能家电中,嵌入式系统以 8 位 / 16 位处理器为基础并配置简单的操作系统,实现智能化控制。在交通管理方面,汽车导航、智能路灯、高清摄像头等都是嵌入式系统的应用实例。
嵌入式系统的发展历程丰富。公认的第一个现代嵌入式系统是 20 世纪 60 年代初美国麻省理工学院开发的阿波罗导航计算机,用于引导阿波罗飞船往返地球与月球。20 世纪 70 年代,出现了以 4 位 / 8 位的单片机为主的可编程控制器。到了 80 年代,随着半导体技术发展,嵌入式系统更加多样化和轻便化。90 年代,微电子技术进步促使嵌入式技术风靡式发展,以 32 位处理器和嵌入式操作系统为标志。
二、嵌入式系统的特点
(一)专用性与隐蔽性
嵌入式系统的专用性体现在它是为特定的应用而设计的,不强调通用性和可扩展性,而是注重满足用户的特定需求。例如,智能手机中的嵌入式系统是为了实现通信、娱乐、办公等多种功能而设计的,而汽车电子中的嵌入式系统则是为了实现对汽车的发动机、变速箱、刹车、转向等的监测和控制而设计的。这种专用性使得嵌入式系统能够更好地满足用户的需求,提高系统的性能和可靠性。
嵌入式系统的隐蔽性是指它通常是一个大系统的一部分,不为人知。例如,汽车中的嵌入式系统是汽车电子系统的一部分,它隐藏在汽车的内部,不为人知。这种隐蔽性使得嵌入式系统能够更好地融入到用户的生活中,提高用户的体验。
(二)高可靠性与实时性
嵌入式系统通常需要在恶劣的环境中工作,或者涉及到人身安全和国家利益等重要事务,因此它的可靠性非常高。为了提高嵌入式系统的可靠性,通常会采用以下一些设计方法:
采用冗余设计:在嵌入式系统中,通常会采用冗余设计来提高系统的可靠性。例如,在汽车电子系统中,通常会采用双控制器冗余设计,当一个控制器出现故障时,另一个控制器可以接替它的工作,保证系统的正常运行。
采用容错设计:在嵌入式系统中,通常会采用容错设计来提高系统的可靠性。例如,在航空航天领域,通常会采用容错设计来保证飞机的安全飞行。当飞机的某个部件出现故障时,系统可以自动检测到故障,并采取相应的措施来保证飞机的安全飞行。
采用可靠性设计:在嵌入式系统中,通常会采用可靠性设计来提高系统的可靠性。例如,在工业控制领域,通常会采用可靠性设计来保证工业生产的安全运行。当工业生产中的某个设备出现故障时,系统可以自动检测到故障,并采取相应的措施来保证工业生产的安全运行。
嵌入式系统通常需要在规定的时间内完成任务,对响应速度和可靠性有较高的要求。为了满足实时性要求,通常会采用以下一些设计方法:
采用实时操作系统:在嵌入式系统中,通常会采用实时操作系统来满足实时性要求。实时操作系统是一种专门为实时应用而设计的操作系统,它具有响应速度快、可靠性高、可裁剪性强等特点。
采用实时调度算法:在嵌入式系统中,通常会采用实时调度算法来满足实时性要求。实时调度算法是一种专门为实时应用而设计的调度算法,它具有响应速度快、可靠性高、可裁剪性强等特点。
采用实时通信协议:在嵌入式系统中,通常会采用实时通信协议来满足实时性要求。实时通信协议是一种专门为实时应用而设计的通信协议,它具有响应速度快、可靠性高、可裁剪性强等特点。
(三)资源固定与小型化
嵌入式系统的资源通常是固定的,包括内存、处理能力、存储空间等。为了满足特定的应用需求,嵌入式系统通常会采用小型化、轻量化、低功耗的设计。例如,智能手机中的嵌入式系统通常会采用小型化、轻量化、低功耗的设计,以满足用户对手机的便携性和续航能力的要求。
为了实现小型化、轻量化、低功耗的设计,嵌入式系统通常会采用以下一些设计方法:
采用低功耗处理器:在嵌入式系统中,通常会采用低功耗处理器来实现小型化、轻量化、低功耗的设计。低功耗处理器是一种专门为低功耗应用而设计的处理器,它具有功耗低、性能高、体积小等特点。
采用低功耗存储器:在嵌入式系统中,通常会采用低功耗存储器来实现小型化、轻量化、低功耗的设计。低功耗存储器是一种专门为低功耗应用而设计的存储器,它具有功耗低、性能高、体积小等特点。
采用低功耗通信协议:在嵌入式系统中,通常会采用低功耗通信协议来实现小型化、轻量化、低功耗的设计。低功耗通信协议是一种专门为低功耗应用而设计的通信协议,它具有功耗低、性能高、体积小等特点。
三、嵌入式系统的发展历史
(一)20 世纪 60 年代早期雏形
20 世纪 60 年代,嵌入式系统开始出现雏形。当时的嵌入式系统主要用于军事和航天领域,例如美国麻省理工学院开发的阿波罗导航计算机,用于引导阿波罗飞船往返地球与月球。这一时期的嵌入式系统功能相对单一,主要是为了满足特定的任务需求而设计,系统结构和功能比较单一,处理效率比较低,存储容量较小,几乎没有用户接口。但它的出现为后来嵌入式系统的发展奠定了基础。
(二)20 世纪 70 年代的发展
20 世纪 70 年代,微控制器的出现改变了嵌入式系统的面貌。像 Intel 8048 和 Motorola 6805 这样的微控制器开始广泛应用于各种应用。这一时期,嵌入式系统主要以功能简单的单片机为核心,大部分应用于各类工业控制。其特点是系统结构和功能相对单一,处理效率不高,但使用简便、价格低廉,在工业控制领域中得到了非常广泛的应用。
(三)20 世纪 80 年代的进步
20 世纪 80 年代,随着微电子工艺水平的提高,集成电路制造商开始把嵌入式应用中所需要的微处理器、I/O 接口、A/D 和 D/A 转换、串行接口以及 RAM、ROM 等部件集成在一个 VLSI 中,从而制造出面向 I/O 设计的微控制器,即单片机。同时,这一时期出现了大量高可靠、低功耗的嵌入式 CPU(如 PowerPC 等),也出现了各种简单的嵌入式操作系统。此时的嵌入式操作系统已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的运行。
(四)20 世纪 90 年代的飞速发展
20 世纪 90 年代,面向实时信号处理算法的 DSP 产品向着高速度、高精度、低功耗方向发展,同时由于硬件的实时性要求提高,嵌入式系统软件的规模也逐渐扩大,嵌入式操作系统也发展为实时多任务操作系统(Real Time multi-tasking Operation System,RTOS)。在这一时期,嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使应用软件的开发变得更加简单。
(五)21 世纪的新发展
进入 21 世纪,Internet 技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与 Internet 技术的结合正在推动着嵌入式系统的飞速发展。嵌入式系统开始涵盖物联网(IoT)领域,如智能手机、智能家居、无人机、医疗设备和自动驾驶汽车等。同时,新的微处理器层出不穷,精简系统内核,优化关键算法,降低功耗和硬件成本,提高友好的多媒体人机交互界面;Linux、WinCE 等嵌入式操作系统迅速发展;嵌入式操作系统自身结构的设计更加便于移植,具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,能够在短时间内支持更多的微处理器。嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式硬件系统本身,同时还有提供强大的硬件开发工具和软件支持包。
四、嵌入式系统的分类
一)按技术复杂度分类
- 复杂嵌入式系统
这类系统一般使用 Linux、Android 等全功能操作系统。使用应用处理器,具备复杂的人机、网络、文件系统等。例如智能手机、平板电脑、智能电视、车载娱乐系统等属于这类系统。
- 深度嵌入式系统
这类系统比较简单,通常不使用操作系统,或者仅仅使用 RTOS。处理器一般是微控制器(MCU)或 DSP 等,仅具备简单的人机,甚至没有人机,物联网大背景下的设备一般都有通信功能。如一些简单的传感器设备等。
- Bare-metal 类
这类嵌入式系统不包含任何操作系统,可能会包含事件调度器。这类系统也使用微控制器。这类系统主要是功能比较单一的应用,例如一些简单的定时器设备等。
(二)按实时性分类
- 硬实时系统
硬实时系统必须是对事件做出及时的反应,绝对不能错过事件处理的时限。在硬实时系统中如果出现了这样的情况就意味着巨大的损失和灾难。比如说航天飞机的控制系统,如果出现故障,后果不堪想象。
- 软实时系统
软实时系统是指,如果在系统负荷较重的时候,允许发生错过时限的情况而且不会造成太大的危害。比如液晶屏刷新允许有短暂的延迟。
- 非实时系统
非实时系统对系统的响应时间几乎没有要求,如个人数字处理、电子书等。
(三)按用途分类
- 军用
主要用于武器控制设备、军用电子设备、军用通信设备等。这些嵌入式系统通常具有高可靠性、高实时性和强保密性等特点。例如,导弹的制导系统、军用通信设备等。
- 工业
用于工业设备、运输工具、医疗电子设备等。工业嵌入式系统需要满足工业环境的特殊要求,如抗干扰性、稳定性和可靠性等。例如,工业自动化控制系统、汽车电子设备等。
- 民用
应用于白色家电、数码产品、金融电子设备、通信设备等。民用嵌入式系统注重用户体验和成本效益,通常具有丰富的功能和良好的交互性。例如,智能手机、智能家电等。
五、嵌入式系统的组成
(一)硬件组成
嵌入式系统的硬件组成部分是整个系统的基础支撑。
嵌入式微处理器是核心部件,目前主要有 Power PC、ARM 系列等。以 ARM 为例,它具有低功耗、高性能的特点,广泛应用于各类嵌入式设备中。比如在智能手机领域,ARM 处理器能够高效地处理多任务,满足用户对各种应用程序的快速响应需求。
外围硬件设备丰富多样。片外总线负责连接不同的硬件模块,实现数据的快速传输。例如,在工业控制领域,片外总线可以将传感器采集到的数据快速传输到嵌入式微处理器进行处理。
电子盘作为存储设备,具有体积小、存储容量大的优势。它可以存储嵌入式系统的程序代码和数据,在一些对存储容量要求较高的应用场景中发挥重要作用。比如在数字相机中,电子盘可以存储大量的照片和视频。
I/O 设备包括输入设备和输出设备。输入设备如传感器、键盘等,传感器可以采集外部环境的信息,如温度、湿度、压力等,为嵌入式系统提供数据输入。键盘则可以让用户输入指令,实现人机交互。输出设备如显示屏、扬声器等,显示屏可以显示系统的运行状态和结果,扬声器可以播放声音提示。
通讯设备也是嵌入式系统硬件的重要组成部分。以太网接口可以实现高速网络连接,在智能家居等领域,通过以太网接口可以将嵌入式设备连接到家庭网络,实现远程控制和管理。USB 接口则可以方便地连接外部设备,如存储设备、打印机等。蓝牙和 Wi-Fi 等无线通信接口可以实现设备之间的无线连接,拓展了嵌入式系统的应用范围。
(二)软件组成
嵌入式系统的软件组成部分为系统的运行提供了关键的支持。
板级支持包(BSP)是介于硬件和操作系统之间的一层软件,它主要负责硬件的初始化、驱动程序的加载以及为操作系统提供硬件抽象层。例如,在嵌入式 Linux 系统中,BSP 会根据具体的硬件平台进行定制化开发,确保操作系统能够正确地识别和控制硬件设备。
嵌入式实时操作系统(RTOS)是专门为嵌入式系统设计的操作系统,它具有实时性、可靠性和可裁剪性等特点。常见的 RTOS 有 μC/OS-II、FreeRTOS 等。RTOS 可以实现任务调度、中断处理、内存管理等功能,保证系统的实时性和稳定性。例如,在工业自动化控制系统中,RTOS 可以确保对实时性要求较高的任务能够及时响应,保证生产过程的安全和稳定。
应用编程接口(API)为嵌入式应用系统的开发提供了标准化的接口,使得开发人员可以更加方便地调用系统的功能。API 可以包括图形库、网络库、文件系统库等。例如,在开发嵌入式图形应用程序时,开发人员可以通过图形库 API 来实现图形的绘制和显示。
嵌入式应用系统是根据具体的应用需求开发的软件,它可以实现控制算法、数据处理、界面显示等功能。例如,在智能家电中,嵌入式应用系统可以实现对家电设备的智能化控制,如温度调节、定时开关等功能。