通俗的说,
嵌入式技术就是专用
计算机技术,这个专用,是指针对某个特定的应用,如针对网络、针对通信、针对音频、针对视频,针对
工业控制等,从学术的角度,
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于
应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统,它一般由
嵌入式微处理器、外围硬件设备、嵌入 式操作系统以及用户的
应用程序等四个部分组成。
简介
1、从硬件上。将基于CPU的外围器件,整合到
CPU芯片内部,比如早期基于
X86体系结构下的计算机,CPU只是有
运算器和
累加器的功能,一切芯片要靠外部桥路来扩展实现,像串口之类的都是靠外部的 16C550/2的
串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数
嵌入式处理器都带有
LCD控制器,但其种意义上就相当于显卡。比较高端的
ARM类Intel Xscale架构下的
IXP网络处理器CPU内部集成
PCI控制器(可配成支持4个PCI
从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个
MAC地址,可用于网关交换用,而另外一个NPE网络处理器引擎支持
DSL,只要外面再加个
PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到1.8G,支持2G内存,1G×10或10G×1的
以太网口或Febre channel的
光通道。IXP系列应该是目标基于ARM体
系统结构下由
intel进行整合后成Xscale内核的最高的处理器了。
2、从软件上讲,就是在定制操作系统
内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的
应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是Wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。
3、把软件内核或应用
文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。
以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科。
分层情况
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
1、硬件层,是整个
嵌入式系统的根本,如果现在
单片机及接口这块很熟悉,并且能用C和
汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的
电路图和自行完成
CPLD的
逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。
硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。
2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在
系统调用时,不会独占操作系统
时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同
windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在
嵌入式系统四层中可是最高的。
驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏
体系结构类专业的人来搞,除硬件层所具备的
基础学科外,还要对数据结构与算法、操作系统原理、
编译原理都要十分精通了解。
3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出
缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而
嵌入式系统的
实时性十分重要。据说,XP操作系统是
微软投入300人用两年时间才搞定的,总时工时是600人年,
中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。
4、应用层,相对来讲较为容易的,如果会在windows下如何进行
编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。如果涉及
Java方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面
嵌入式数据库、基于嵌入式系统的
网络编程和基于某此应用层面的协议应用开发(比如基于
SIP、
H.323、Astrisk)方面又较为复杂,并且有难度了。
系统详解
嵌入式系统一般指非 pc 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应
应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于 pc 中
bios 的工作方式,具有
软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和
多任务的体系。嵌入式系统主要由
嵌入式处理器、相关支撑硬件、
嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。
嵌入式系统几乎包括了生活中的所有电器设备,如掌上
pda 、计算器、
电子表、
电话机、
收音机、
录音机、影碟机、手机、
电话手表、
平板电脑、
电视机顶盒、路由器、数字电视、多媒体播放设备、汽车、火车、地铁、飞机、
微波炉、
烤箱、照相机、摄像机、
读卡器、POS机、洗衣机、热水器、
电磁炉、家庭自动化系统、电梯、空调、
安全系统、
导航系统、
自动售货机、蜂窝式电话、消费
电子设备、
工业自动化仪表、医疗仪器、互动游戏机、
VR、机器人、视频
学习机、
点读机、等。
嵌入式系统的硬件部分,包括
微处理器、
存储器及外设器件和
i/o 端口、图形控制器等。
嵌入式系统有别于一般的
计算机处理系统,它不具备像硬盘那样大容量的
存储介质,而大多使用 eprom 、 eeprom 或
闪存 (flash memory) 作为存储介质。软件部分包括操作系统软件 ( 要求实时和多任务操作 ) 和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的
交互作用。
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备 4 个特点: (1) 对实时和多任务有很强的支持能力,能完成多任务并且有较短的
中断响应时间,从而使内部的代码和
实时操作系统的执行时间减少到
最低限度; (2) 具有功能很强的存储区保护功能,这是由于
嵌入式系统的
软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断; (3) 可扩展的
处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器; (4) 嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和
通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为 mw 甚至μ w 级。
嵌入式操作系统是一种支持
嵌入式系统应用的操作系统软件,它是嵌入式系统 ( 包括硬、软件系统) 极为重要的组成部分,通常包括与硬件相关的
底层驱动软件、
系统内核、
设备驱动接口、
通信协议、
图形界面、标准化
浏览器等 Browser 。嵌入式操作系统具有
通用操作系统的基本特点,如能够
有效管理越来越复杂的
系统资源;能够把
硬件虚拟化,使得开发人员从繁忙的
驱动程序移植和维护中解脱出来;能够提供
库函数、驱动程序、
工具集以及应用程序 。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关
依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
设计过程
1.需求分析
确定设计任务和目标,并制定说明规格文档,作为下一步设计的指导和
验收标准。需求分析往往要与用户反复交流,以明确
系统功能需求,
性能需求,环境、可靠性、成本、功耗、资源等需求。
体系结构设计是
嵌入式系统的
总体设计,它需要确定嵌入式系统的总体构架,从功能上对软硬件进行划分。在此基础上,确定嵌入式系统的硬件选型(主要是处理器选型),操作系统的选择和
开发环境的选择。
3. 硬件的设计、制作及测试
在这一阶段要确定硬件部分的各
功能模块及模块之间的关联,并在此基础上完成元器件的选择、
原理图绘制、
印刷电路板(
PCB)设计、硬件的装配与测试、目标硬件最终的确定和测试。
4. 软件的设计、实现及测试
这部分工作与
硬件开发并行、交互进行。
软件设计主要完成
引导程序的编制、操作系统的移植、
驱动程序的开发、应用软件的编写等工作。设计完成后,
软件开发进入
实现阶段。这一阶段主要是
嵌入式软件的生成(编译、链接),调试和固化运行,最后完成软件的测试。
将测试完成的
软件系统装入制作好的
硬件系统中,进行系统
综合测试,验证系统功能是否能够正确无误地实现,最后将正确的
软件固化在目标硬件中。本阶段的工作是整个开发过程中最复杂、最费时的,特别需要相应的
辅助工具支持。
测试最终完成的
系统性能是否满足
设计任务书的各项
性能指标和要求。若满足,则可将正确无误的软件固化在目标硬件中;若不能满足,在最坏的情况下,则需要回到设计的初始阶段重新进行
设计方案的制定。
应用领域
嵌入式工控机(Embedded Industrial Computer)是一种加固的增强型
工业计算机,它可以作为一个工业控制器在工业环境中可靠运行。嵌入式工控机通俗的说就是专门为工业现场而设计的机构紧凑的计算机。
嵌入式工控机可以灵活的应用在对温度及使用空间等苛刻的环境中,包括车载、零售、监控、电子广告牌、工厂控制等有
低功耗系统需求的应用市场。
未来影响
1:
嵌入式系统促使计算机的形态和性能更加小型化,多功能,低功耗.
2:嵌入式系统使计算机由以往的诺曼尼结构发展成为
多处理器并行计算,大大提高
运行效率及稳定性!
4:嵌入式系统的发展已成为当今计算机
技术发展的一个重要标志!
5:改变传统
小型机与
微型机的概念,使嵌入式系统不再成为计算机硬件
控制技术的代名词.某些
嵌入系统的性能已经能够超越微型机的性能!