嵌入式系统由硬件和软件组成.是能够独立进行运作的器件。其软件内容只包括软件运行环境及其操作系统。硬件内容包括信号处理器、存储器、通信模块等在内的多方面的内容,相比于一般的计算机处理系统而言。
嵌入式系统由硬件和软件组成.是能够独立进行运作的器件。其软件内容只包括软件运行环境及其操作系统。硬件内容包括信号处理器、存储器、通信模块等在内的多方面的内容,相比于一般的计算机处理系统而言。嵌入式系统存在较大的差异性, 它不能实现大容量的存储功能,因为没有与之相匹配的大容量介质,大部分采用的存储介质有 E-PROM、EEPROM DENG 等, 软件部分以 API 编程接口作为开发平台的核心。
定义
嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等灵活裁剪软硬件模块的专用计算机系统。
要点概括:
以应用为中心:强调嵌入式系统的目标是满足用户的特定需求。就绝大多数完整的嵌入式系统而言,用户打开电源即可直接享用其功能,无需二次开发或仅需少量配置操作。
专用性:嵌入式系统的应用场合大多对可靠性、实时性有较高要求,这就决定了服务于特定应用的专用系统是嵌入式系统的主流模式,它并不强调系统的通用性和可扩展。这种专用性通常也导致嵌入式系统是一个软硬件紧密集成的最终系统,因为这样才能更有效地提高整个系统的可靠性并降低成本,并使之具有更好的用户体验。
以现代计算机技术为核心:嵌入式系统的最基本支撑技术,大致上包括集成电路设计技术、系统结构技术、传感与检测技术、嵌入式操作系统和实时操作系统技术、资源受限系统的高可靠软件开发技术、系统形式化规范与验证技术、通信技术、低功耗技术、特定应用领域的数据分析、信号处理和控制优化技术等,它们围绕计算机基本原理,集成进特定的专用设备就形成了一个嵌入式系统。
软硬件可裁剪:嵌入式系统针对的应用场景如此之多,并带来差异性极大的设计指标要求(功能性能、可靠性、成本、功耗),以至于现实上很难有一套方案满足所有的系统要求,因此根据需求的不同,灵活裁剪软硬件、组建符合要求的最终系统是嵌入式技术发展的必然技术路线。
发展过程
嵌入式计算机的真正发展是在微处理器问世之后。1971 年 11 月,算术运算器和控制器电路成功的被集成在一起,推出了第一款微处理器,其后各厂家陆续推出了 8 位、16 位微处理器。以这些微处理器为核心所构成的系统广泛地应用于仪器仪表、医疗设备、机器人、家用电器等领域。微处理器的广泛应用形成了一个广阔的嵌入式应用市场,计算机厂家开始大量地以插件方式向用户提供 OEM 产品,再由用户根据自己的需要选择一套适合的 CPU 板、存储器板及各式 I/O 插件板,从而构成专用的嵌入式计算机系统,并将其嵌入自己的系统设备中。
20 世纪 80 年代,随着微电子工艺水平的提高,集成电路制造商开始把嵌入式计算机应用中所需要的微处理器、I/O 接口、A/D 转换器、D/A 转换器、串行接口,以及 RAM、ROM 等部件全部集成到一个 VLSI 中,从而制造出面向 I/O 设计的微控制器,即俗称的单片机。单片机成为嵌入式计算机中异军突起的一支新秀。20 世纪 90 年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步快速发展。面向实时信号处理算法的 DSP 产品向着高速、高精度、低功耗的方向发展。21 世纪是一个网络盛行的时代,将嵌入式系统应用到各类网络中是其发展的重要方向。
嵌入式系统的发展大致经历了以下三个阶段:
第一阶段:嵌入技术的早期阶段。嵌入式系统以功能简单的专用计算机或单片机为核心的可编程控制器形式存在,具有监测、伺服、设备指示等功能。这种系统大部分应用于各类工业控制和飞机、导弹等武器装备中。
第二阶段:以高端嵌入式 CPU 和嵌入式操作系统为标志。这–阶段系统的主要特点是计算机硬件出现了高可靠、低功耗的嵌入式 CPU,如 ARM、PowerPC 等,且支持操作系统,支持复杂应用程序的开发和运行。
第三阶段:以芯片技术和 Internet 技术为标志。微电子技术发展迅速,SOC(片上系统)使嵌入式系统越来越小,功能却越来越强。目前大多数嵌入式系统还孤立于 Internet 之外,但随着 Internet 的发展及 Internet 技术与信息家电、工业控制技术等结合日益密切,嵌入式技术正在进入快速发展和广泛应用的时期。
特点
嵌入式系统的硬件和软件必须根据具体的应用任务,以功耗、成本、体积、可靠性、处理能力等为指标来进行选择。嵌入式系统的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、可靠,且对实时性有严格要求。
从构成上看,嵌入式系统是集软硬件于一体的、可独立工作的计算机系统;从外观上看,嵌入式系统像是一个“可编程”的电子“器件”;从功能上看,它是对目标系统(宿主对象)进行控制,使其智能化的控制器。从用户和开发人员的不同角度来看,与普通计算机相比较,嵌入式系统具有如下特点。
(1)专用性强。由于嵌入式系统通常是面向某个特定应用的,所以嵌入式系统的硬件和软件,尤其是软件,都是为特定用户群设计的,通常具有某种专用性的特点。
(2)体积小型化。嵌入式计算机把通用计算机系统中许多由板卡完成的任务集成在芯片内部,从而有利于实现小型化,方便将嵌入式系统嵌入目标系统中。
(3)实时性好。嵌入式系统广泛应用于生产过程控制、数据采集、传输通信等场合,主要用来对宿主对象进行控制,所以对嵌入式系统有或多或少的实时性要求。例如,对武器中的嵌入式系统,某些工业控制装置中的控制系统等的实时性要求就极高。有些系统对实时性要求也并不是很高,例如,近年来发展速度比较快的掌上电脑等。但总体来说,实时性是对嵌入式系统的普遍要求,是设计者和用户应重点考虑的一个重要指标。
(4)可裁剪性好。从嵌入式系统专用性的特点来看,嵌入式系统的供应者理应提供各式各样的硬件和软件以备选用,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中更具竞争力。
(5)可靠性高。由于有些嵌入式系统所承担的计算任务涉及被控产品的关键质量、人身设备安全,甚至国家机密等重大事务,且有些嵌入式系统的宿主对象工作在无人值守的场合,如在危险性高的工业环境和恶劣的野外环境中的监控装置。所以,与普通系统相比较,嵌入式系统对可靠性的要求极高。
(6)功耗低。有许多嵌入式系统的宿主对象是一些小型应用系统,如移动电话、MP3、数码相机等,这些设备不可能配置交流电源或容量较大的电源,因此低功耗一直是嵌入式系统追求的目标。
(7)嵌入式系统本身不具备自我开发能力,必须借助通用计算机平台来开发。嵌入式系统设计完成以后,普通用户通常没有办法对其中的程序或硬件结构进行修改,必须有一套开发工具和环境才能进行。
(8)嵌入式系统通常采用“软硬件协同设计”的方法实现。早期的嵌入式系统设计方法经常采用的是“硬件优先”原则,即在只粗略估计软件任务需求的情况下,首先进行硬件设计与实现,然后在此硬件平台之上进行软件设计。如果采用传统的设计方法,则一旦在测试中发现问题,需要对设计进行修改时,整个设计流程将重新进行,对成本和设计周期的影响很大。系统的设计在很大程度上依赖于设计者的经验。20 世纪 90 年代以来,随着电子和芯片等相关技术的发展,嵌入式系统的设计和实现出现了软硬件协同设计方法,即使用统一的方法和工具对软件和硬件进行描述、综合和验证。在系统目标要求的指导下,通过综合分析系统软硬件功能及现有资源,协同设计软硬件体系结构,以最大限度地挖掘系统软硬件能力,避免由于独立设计软硬件体系结构而带来的种种弊病,得到高性能、低代价的优化设计方案。
系统组成
从外部特征上看,一个嵌入式系统,通常是一个功能完备、几乎不依赖其他外部装置即可独立运行的软硬件集成的系统。如果对这样一个系统进行剖分的话,可以发现它大致可能包括这样几个层次,如下图所示。
嵌入式系统最核心的层次是中央处理单元部分,它包含运算器和控制器模块,在 cpu 的基础上进一步配上存储器模块、电源模块、复位模块等就构成了通常所说的最小系统。由于技术的进步,集成电路生产商通常会把许多外设做进同一个集成电路中,这样在使用上更加方便,这样一个芯片通常称之为微控制器。在微控制器的基础上进一步扩展电源传感与检测、执行器模块以及配套软件并构成一个具有特定功能的完整单元,就称之为一个嵌入式系统或嵌入式应用。
嵌入方式
嵌入式系统是通过把 CPU 嵌入目标系统或被控系统中起作用的。但是在不同的嵌入式系统中,嵌入的形式和程度是各不相同的。根据嵌入式系统和通用计算机连接关系的密切程度,嵌入形式可以分为全嵌入方式、半嵌入方式。
全嵌入方式
如果采用全嵌入方式,则嵌入式系统(或其核心功能)可以不依赖于通用计算机系统,即可单独工作,典型实例有手机、MP4、车载 GPS 导航系统等。采用全嵌入方式的嵌入式系统有如下特点。
(1)具有独立的处理器系统,且具有完整的输入/输出系统,能独立完成系统的功能。
(2)高端 CPU 支持嵌入式操作系统,可以开发功能复杂的应用程序。
(3)一般为便携式手持式设备,其工作环境一般是无人值守、移动空间、高空或其他条件恶劣的环境。
(4)供电方式一般采用电池供电,有些情况下也可以直接采用市电 220V 供电,由系统自行设计转换和稳压电路。较高端的设备往往会把两种供电方式结合起来,让用户使用起来更加灵活。
(5)全嵌入方式适合任何不宜采用通用计算机的场合,如消费电子、家用电器、通信网络设备、工业控制、智能仪器、战场电子对抗、航天航空武器等,其应用范围十分广泛。
相关介绍
嵌入式微处理器
微处理器是整个系统的核心,通常由 3 大部分组成:控制单元、算术逻辑单元和寄存器。
嵌入式操作系统
嵌入式操作系统 EOS(Embedded Operating System)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS 负责嵌入式系统的全部软、硬件资源的分配、调度,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一-些应用比较成功的 EOS 产品系列。随着 Internet 技术的发展、信息家电的普及应用及 EOS 的微型化和专业化,EOS 开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专用性等方面具有较为突出的特点。
应用
嵌入式系统的应用十分广泛,涉及工业生产、日常生活、工业控制、航空航天等多个领域,而且随着电子技术和计算机软件技术的发展,不仅在这些领域中的应用越来越深入,而且在其他传统的非信息类设备中也逐渐显现出其用武之地。
工业控制
基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的 8 位、16 位、32 位嵌入式微控制器在应用中。网络化是提高生产效率和产品质量、减少人力资源的主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端产品往往采用的是 8 位单片机。随着计算机技术的发展,32 位、64 位的处理器已逐渐成为工业控制设备的核心。
交通管理
在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式技术已经获得了广泛的应用,内嵌 GPS 模块、GSM 模块的移动定位终端已经在各种运输行业获得了成功。目前,GPS 设备已经从尖端的科技产品进入了普通百姓的家庭。
信息家电
家电将成为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步人一个崭新的空间。即使不在家,也可以通过电话、网络对家电进行远程控制。在这些设备中,嵌入式系统将大有用武之地。
家庭智能管理系统
水表、电表、煤气表的远程自动抄表系统,安全防火、防盗系统,嵌有专用控制芯片,这种专用控制芯片将代替传统的人工操作,完成检查功能,并实现更高、更准确和更安全的性能。目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。
POS 网络及电子商务
公共交通无接触智能卡(Contactless Smart Card,CSC)发行系统、公共电话卡发行系统、自动售货机等智能 ATM 终端已全面走进人们的生活,在不远的将来手持一张卡就可以行遍天下。
环境工程与自然
在很多环境恶劣、地况复杂的地区需要进行水文资料实时监测、防洪体系及水土质量监测堤坝安全与地震监测、实时气象信息和空气污染监测等时,嵌入式系统将实现无人监测。
机器人
嵌入式芯片的发展将使机器人在微型化、高智能方面的优势更加明显,同时,会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。
开发流程
以 Linux 操作系统为例,论述嵌入式系统的开发流程。
建立开发环境
安装操作系统与交叉编译器,操作系统一般使用 RedhatLinux,选择定制安装或全部安装,通过网络下载相应的 GCC 交叉编译器进行安装(比如,armn-1inux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器。
配置开发主机的参数
配置 MNICOM 参数,MNICOM 软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。一般情况下的参数为波特率 115200 Baud/s,数据位 8 位,停止位为 1,无奇偶校验,软件硬件流控设为无。在 Windows 下的超级终端的配置也是这样。配置网络主要是配置 NFS 网络文件系统,需要关闭防火墙以简化嵌入式网络调试环境设置过程。
建立引导装载程序 BOOTLOADER
从网络上下载一些公开源代码的 BOOTL0ADER,如 U-BOOT、BLOB、VIVI、LILO、ARM-Boot、RED-Boot 等,根据具体芯片进行移植修改。有些芯片没有内置引导装载程序,这样就需要编写开发板上 FLASH 的烧写程序,也可以在网上下载相应的烧写程序。果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。
下载已经移植好的 Linux 操作系统内核
如 MCLiunx、ARM_Linux、PPC-Linux 等,如果有专门针对所使用的 CPU 移植好的 Linux 操作系统那是再好不过,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带 MMU 的 CPU 可以使用模块方式调试驱动,而对于 MCLiunx 这样的系统只能编译内核进行调试。
建立根文件系统
下载使用 BUSYBOX 软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc 目录下,包括:/etc/init.drc.S、/etc/profile、/etc/.profile 及自动挂装文件系统的配置文件/etc/fstab 等,具体情况会随系统不同而不同。根文件系统在嵌入式系统中-般设为只读,需要使用 mkcramfs genromfs 等工具产生烧写映像文件。
建立应用程序的 FLASH 磁盘分区
一般使用 JFFS2 或 YAFFS 文件系统,这需要在内核中提供这些文件系统的驱动。有的系统使用一个线性 FLASHNOR 型)512KB~32MB,有的系统使用非线性 FLASHNAND 型)8MB~512MB,有的系统两种同时使用,需要根据应用规划 FLASH 的分区方案。
开发应用程序
根据需要开发应用程序,把开发成功的应用程序可以放入根文件系统中,也可以放入 YAFFS、JFFS2 文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于 uC/OS-II 的方式。
烧写内核、根文件系统和应用程序,发布产品
软硬件协同设计介绍
系统描述
对嵌入式系统的描述主要是从两方面出发的,一是性能方面,另一种是功能方面。在系统描述过程中,不仅可以采用一种语言,也可以采用多种语言。同时,这一描述过程也是对软件模型和系统硬件模型的建立过程。在进行嵌入式系统描述时,为了减少软硬件协同设计初期中问题的出现,需要做好系统内行为的测试工作。一方面,可以在第一时间发设计中不合理的地方;另一方为系统安全、可靠运行提供了保证。系统描述需要以系统模型为支撑,为了进行正确的描述,应该确保该模型包括四个元素。一是功能特点,也就是指嵌入式系统的各项功能,同时应该重点明确功能和系统的输入和输出关系。第二是性能描述,在系统模型中,融入这一因素,能够比较全面的反映系统的整体结构,并且需要说明系统输入与输出的联系。第三是约束条件,该要素不仅对嵌入式系统性能缺陷进行了说明,而且还合理的对系统工作环境中的要求进行了规定。第四是技术指标,其能够对系统存在的问题、质量好坏进行说明,为设计工作开展奠定良好基础。
软硬件综合技术
在嵌入式系统的软硬件协同设计中,软硬综合技术是重要的技术之一,在软硬件系统的大体设计方面发挥着重要作用。在对其设计结果进行系统检测评价的基础上,可以根据设计要求,有针对性的开展细致的系统制作工作,并且进行软硬件的设计,确保其协调一致,进而可提升设计的科学性,对整个系统运行效率提高具有重要意义。
软硬件功能划分
在进行软硬件功能划分工作中,主要是科学合理的划分软硬件和嵌入式系统功能,并对二者的关系进行明确。其中,成本函数是软硬件功能划分的主要依据之一。在运用成本函数方面时,需要考虑多方面因素。例如,模块之间的并发性、软件执行时间等。
协同仿真和系统测试验证
在协调仿真和系统测试验证方面,需要借助硬件描述语言进行嵌入式系统硬件系统的描述工作。为了有效完成设计工作,满足设计要求,需要对软件搭配硬件的方法进行合理的应用,以便为接下来的设计工作创造良好的环境,不仅能够在整体上提高设计效率与质量,而且还能减少设计成本,确保良好的经济效益。
发展前景
如今嵌入式系统发展更加的趋于提供更加生动的人机交互界面;对于更多小型电子产品具备更好的移植性,从而实现其自动化,低功耗,智能化。
嵌入式系统在 WEB 服务器中的实例
在工业设计中,软硬件的精简性对于服务器有较高的要求,而传统网络服务器并不具有简洁性,且支持网络异构中实现对于计算机的远程操控。而采用将网络设备嵌入到嵌入式设备中,将大大减少用户的访问时间,以及能够精准的控制外部 I/O。而嵌入式 WEB 服务器不采用传统的 TCP/IP 协议连入互联网,而是选择了由 TCP/IP 简化的 UIP 协议栈实现嵌入式 WEB 服务器。这样的嵌入式 WEB 服务器不仅具有简洁性,而且使 MCU 具有更多的空间去控制外部 I/O。
基于嵌入式系统的传感技术
物联网领域从 2009 年温家宝总理提出建立中国传感信息中心开始便逐渐成为众多学者企业关注的重点,而传感技术作为物联网领域的重要一环自然是必不可少。作为承担着信息收集角色的传感器,必然要与嵌入式系统进行有机的结合。智能传感技术具有优秀的信息传递能力,智能传感器具备物与物之间的信息交换、物与计算机之间的信息传递能力,将广泛应用与计算机、通信等方面的信息交流和数据传递。嵌入式智能传感器在物联网领域具有重要作用。