随着IT技术飞速发展,互联网已经进入了“物联网”时代。物联网中需要的大量设备不在依赖人与人之间的交互产生联系,更多通过协议、通信、程序设计等方式连接到一处。即 “物联网”的目的则是让所有的物品都具有计算机的智能但并不以通用计算机的形式出现,并把这些“聪明”了的物品与网络连接在一起,这就需要嵌入式技术的支持。嵌入式技术是计算机技术的一种应用,该技术主要针对具体的应用特点设计专用的计算机系统——嵌入式系统。
嵌入式系统是以应用为中心,以计算机技术为基础的,并且软硬件可量身订做,它适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统通常嵌入在更大的物理设备当中而不被人们所察觉,如手机、PDA、甚至空调、微波炉、冰箱中的控制部件都属于嵌入式系统,
如下面联接在互联网上的设备中就都有一个嵌入式计算机系统,但平时我们可能根本没有注意到这些计算机系统的存在。
嵌入式技术和通用计算机技术有所不同,我们知道通用计算机多用来和人进行交互并根据人发出的指令进行工作;而嵌入式系统大多数情况下可能根据自己“感知”到的事件自主地进行处理,所以它对时间性,可靠性要求更高。
一般来说,嵌入式系统应该具有以下一些特征:专用性、可封装性、实时性、可靠性。
专用性是指嵌入式系统用于特定设备完成特定任务,而不像通用计算机系统可以完成各种不同任务。
可封装性指嵌入式系统一般隐藏于目标系统内部而不被操作者察觉。实时性指与外部实际事件的发生频率相比,嵌入式系统能够在可预知的时间内对事件或用户的干预做出响应。
可靠性是指嵌入式系统隐藏在系统或设备中,一旦开始工作,可能长时间没有操作人员的监测和维护,因此要求它能够可靠运行。像通用计算机系统一样,嵌入式系统也包括硬件和软件两部分。硬件包括处理器/微处理器(就是我们平时所说的CPU)、存储器及外设器件和输入输出端口、图形控制器等。软件部分包括操作系统软件和专门解决某类问题的应用软件,有时设计人员把这两种软件组合在一起,应用程序控制着系统的运作和行为,而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式计算机系统同通用计算机系统相比具有以下特点:
1、嵌入式系统通常是面向特定应用的,嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有功耗低、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
2、嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
3、嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除不需要的多余功能,力争在更小的硅片面积上实现同样的性能,这样才能在具体应用中更具有竞争力。
4、嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
5、为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存储于磁盘等载体中。
6、嵌入式系统本身不具备自主开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套与通用计算机系统连接的开发工具和环境才能进行开发。
信息时代、数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势:
1、嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持,以方便用户以最低的成本、最短的时间推出自己的产品。
目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广Arm7,Arm9芯片的同时还提供开发板和板级支持包(BSP),而WindowCE在主推系统时也提供Embedded VC++作为开发工具,还有Vxworks的Tonado开发环境,DeltaOS的Limda编译环境等等都是这一趋势的典型体现。当然,这也是市场竞争的结果。
2、网络化、信息化的要求随着互联网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。
这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位芯片或信号处理器DSP增强处理能力,同时增加功能接口,如USB,扩展总线类型,如CAN总线,加强对多媒体、图形等的处理,逐步实施片上系统(SOC,就是把所需功能都集中在一个芯片上)的概念。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。
3、网络互联成为必然趋势。未来的嵌入式设备为了适应网络互联的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,
而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCP/IP协议,还有的支持IEEE1394、USB、CAN、Bluetooth、RFID或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面,系统内核支持网络模块,以实现嵌入式设备随时随地以各种方式联入互联网。
4、精简系统内核、算法,降低功耗和软硬件成本。未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,
只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。
5、提供友好的多媒体人机界面嵌入式设备要能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。图形界面、灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。
这方面的要求使得嵌入式软件设计者要在图形界面,语音交互、以及其他多媒体技术上痛下苦功。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。
总之,如果说其他技术涉及到的是物联网的某个特定方面,如感知、计算、通信等,嵌入式技术则是物联网中各种物品的表现形式,在这些嵌入式设备中综合运用了其他各项技术。