随着计算机技术的飞速发展和嵌入式微处理器的出现,计算机应用出现了历史性的变化,并逐渐形成了计算机系统的两大分支:通用计算机系统和嵌入式计算机系统(简称嵌入式系统)。
嵌入式系统早期曾被称为嵌入式计算机系统或隐藏式计算机。随着半导体技术及微电子技术的快速发展,嵌入式系统得以风靡式的发展,其性能不断提高,导致出现一种观点,认为嵌入式系统通常是基于32位微处理器设计的,往往带操作系统,本质上是瞄准高端领域和应用的。然而随着嵌入式系统应用的普及,这种高端应用系统和以前广泛应用的单片机系统之间有着本质的联系,使嵌入式系统与单片机紧密地联系起来了。
关于嵌入式系统的定义有很多,较通俗的定义是指嵌入对象体系中的专用计算机系统。
国际电气和电子工程师协会(IEEE)对嵌入式系统的定义是:嵌入式系统是控制、监视或者辅助设备、机器和工厂运行的装置。该定义是从应用的角度出发得到的,强调嵌入式系统是一种完成特定功能的装置。该装置能够在没有人工干预的情况下独立地进行实时监测和控制。这种定义体现了嵌入式系统与通用计算机系统应用目的的不同。
我国对嵌入式系统定义为:嵌入式系统是以应用为中心,以计算机技术为基础,并且软/硬件可裁减,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式系统是先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物,这决定了它是技术密集、资金密集、知识高度分散、不断创新的系统。同时,嵌入式系统又是针对特定的应用需求而设计的专用计算机系统。这也决定了它必然有自己的特点。
不同的嵌入式系统具有一定的差异。一般来说,嵌入式系统有以下特点:
(1)软/硬件资源有限。但随着软/硬件技术的发展,过去只能安装在个人计算机(PC)中的软件,现在也出现在了复杂的嵌入式系统中。
(2)集成度高、可靠性高、功耗低。
(3)有较长的生命周期,嵌入式系统通常与所嵌入的宿主设备具有相同的使用寿命。
(4)软件程序存储(固化)在存储芯片上,开发者通常无法改变。
(5)嵌入式系统是计算机技术、半导体技术、电子技术和各个行业的应用相结合的产物。
(6)一般来说,嵌入式系统并非总是独立的设备,而是作为某个更大型计算机系统的辅助系统。
(7)嵌入式系统通常都与真实物理环境相连,并且是激励系统。激励系统通常处在某一状态,在得到输入信号或激发信号后,完成计算并输出更新后的状态。
另外,随着嵌入式微处理器性能的不断提高和软件的高速发展,越来越多的嵌入式系统出现了以下新特点:
(1)性能和功能越来越接近通用计算机系统。随着嵌入式微处理器性能的不断提高,一些嵌入式系统的功能也变得多而全。例如,智能手机、平板电脑和笔记本电脑在形式上越来越接近,尤其是人工智能的出现,让智能手机如虎添翼。
(2)网络功能已成为标配。随着网络的发展,尤其是物联网、移动互联网和边缘计算等的出现,网络功能已成为嵌入式系统的一种必备功能。
嵌入式系统一般由硬件系统和软件系统两大部分组成。其中,硬件系统包括嵌入式微处理器、外设和必要的外围电路;软件系统包括嵌入式操作系统和应用软件。常见嵌入式系统的组成如图1.1所示。
图1.1 常见嵌入式系统的组成
(1)嵌入式微处理器。嵌入式微处理器是硬件系统的核心。在早期的嵌入式系统中,嵌入式微处理器通常是微处理器。如今,嵌入式微处理器一般采用IC(集成电路)芯片形式,可以是ASIC(专用集成电路)或者SoC中的一个核。核是VLSI(超大规模集成电路)上功能电路的一部分。常用的嵌入式微处理器芯片包括微处理器、微控制器、数字信号处理器(DSP)、片上系统等。
(2)外设。外设主要是指存储器、I/O接口等辅助设备。尽管嵌入式微处理器已经包含了大量的外设,但对于需要更多I/O接口和更大存储能力的大型系统来说,还需要连接额外的I/O接口和存储器,用于扩展其他功能和提高性能。
嵌入式系统的软件系统可以分成有操作系统和无操作系统两大类。在复杂的应用中,多任务成为基本的需求,因此操作系统也是嵌入式系统中的必要组成部分,用于协调多任务。软件系统通常由应用程序、API、嵌入式操作系统等组成。