嵌入式系统介绍
一般来说,嵌入式系统是“执行专用功能并被内部计算机控制的设备或者系统。嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,用术语表示就是固件(firmware),终端用户很难或者不可能改变固件。”
有技术概念的人么理解上面的定义应该没有问题,但是对非技术领域的人们来说可能存在一些障碍。一个更简单的定义是:“嵌入式系统就是包含了用户所不知晓的计算机的设备。”
但是,甚至这个定义也需要某些解释。首先,大多数非IT人士对计算机的概念就是一个米色的贴着“Intel-Inside”标签的盒子。嵌入式计算机的发行量远远高于基于Intel-x86/Pentium的台式PC的发行量。Intel或许“inside”,但是嵌入式系统却是无处不在。
人们很少会意识到他们往往随身携带了好几个嵌入式系统——手机、手表或者智能卡都嵌有它们,而且他们在与汽车、电梯、厨房设备、电视、录像机以及娱乐系统的嵌入式系统交互时也往往对此毫无觉察。嵌入式系统在工业机器人、医药设备、电话系统、卫星、飞行系统等领域扮演了一个更为重要的角色。正是“看不见”这一个特性嵌入式计算机与通用PC计算机相区分。
嵌入式体系结构
作为一名技术人员,你可能想从体系的角度来定义嵌入式系统。尽管绝大多数嵌入式系统是用户针对特定任务而定制的,但它们一般都是由下面几个模块组成的:
一台计算机或者微控制器,字长可能是可怜的4位或者8位、16位、32位甚至是64位。
用以保存固件的ROM(非挥发性只读存储器)。
用以存程序数据的RAM(挥发性的随机访问存储器)。
连接微控制器和开关、按钮、传感器、模数转化器、控制器、LED(发光二极管)和显示器的I/O端口。
一个轻量级的嵌入式操作系统,一般是自行编写的。
专门的单片微控制器是大多数嵌入式系统的核心。通过把若干个关键的系统组成部分集成到单个芯片上,系统设计者就可以得到小而便宜、可以操作较少外围电子设备的计算机。
嵌入式系统的一般模型并不足以定义嵌入式系统本身。例如,某些嵌入式系统常常比标准PC机箱小不了多少。这类设备有:
信息查询以及销售点终端。
某些工业控制系统。
游戏控制台(例如基于x86和Windows的Xbox)。
数字录像机(例如基于Linux的TiVo)。
这些设备可能使用硬盘驱动器来保存固件,并运行各种桌面操作系统如Windows、Linux或者DOS。这并不是典型的嵌入式系统的体系结构,但是按照我的较早前的定义,它们仍可以称为嵌入式系统。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:
1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。
4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式计算机系统同通用型计算机系统相比具有以下特点:
1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力
4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。