相关知识
1.1.1 物联网嵌入式概述
1.早期嵌入式发展阶段
早期嵌入式技术发展阶段大致分为无操作系统阶段、简单操作系统阶段、使用通用嵌入式操作系统(VxWorks、嵌入式Linux、Windows CE等)及通用嵌入式处理器(ARM、MIPS等)的实时系统阶段和面向互联网应用阶段。
(1)无操作系统阶段
即没有操作系统的支持,如使用8位CPU芯片来执行一些单线程的程序,其主要特点是结构功能相对单一,处理效率较低,存储容量小,用户接口少。
(2)简单操作系统阶段
这个阶段出现了一批处理能力较早期更强大的低功耗嵌入式CPU,能够运行一些简单的嵌入式操作系统。该时期的简单嵌入式操作系统如μC/OS-II、embOS、salvo、FreeRTOS等能够在小容量RAM单片机上运行。
(3)实时系统阶段
实时系统阶段使用通用嵌入式操作系统及通用嵌入式处理器,出现了以vxWorks为代表的成熟且功能更为强大的实时操作系统,具备文件和目录管理、多任务、网络支持、图形窗口等功能,比简单嵌入式操作系统的兼容性更好,效率更高,且具备大量的应用程序接口(API)。后期的嵌入式Linux由于在图形用户界面(GUI)、复杂设备兼容支持上更加友好及开源性等特点,逐渐成为主流嵌入式操作系统。
(4)面向互联网应用阶段
互联网+时代的到来使得嵌入式更多面向Internet应用,这个阶段的主要特点是嵌入式操作系统的TCP/IP协议栈功能及嵌入式处理器的网络接口支持能力更加强大,系统通过移植、裁剪,能够在短时间内支持不同特征的应用场景,且效率更高。
2.当前物联网嵌入式应用阶段
物联网(Internet of Things,IoT)的英文名称直译为“万物互连的Internet”,即互联网面向除了人以外的万事万物进行扩展延伸。物联网构想是通过信息传感设备,按约定的协议,将任何物体与网络链接起来形成一个巨大网络,实现任何时间、任何地点,人、机、物的智能化识别、定位、跟踪、监管等功能。
如图1-1所示,物联网典型体系架构自下而上分为感知层、网络层和应用层三层,而嵌入式处理器位于最下面的感知层。
(1)感知层
物联网的感知层主要是通过大量传感器收集物理信号,从而形成海量的原始信号,一方面嵌入式处理器对这些原始信号进行智能处理,提取关键有效信息,丢掉冗余部分,再重新加工封装便于网络传输;另一方面接收上层指令,对物理世界做出反馈。嵌入式既可以应对应用层大数据云计算直接处理海量数据的实时性和传输带宽限制等技术瓶颈,解决隐私数据安全性、业务数据可靠性等固有缺陷,也可以产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。因此嵌入式技术的主要载体可以承担部分云计算的复杂计算分析功能,且更具有优势。
如果将物联网比作人体,感知层就是物联网的感官,相当于人的视觉、听觉、嗅觉、味觉、触觉等,具有实现物联网全面感知的能力。感知层包含的传感器有二维码标签识读器、RFID标签读写器、温湿度传感器、传声器、摄像头、GPS等,除了海量的传感器,感知层还包含传感器网络、相关协议、网关接口及支撑传感器信息采集及传输通信的软硬件等。如图1-1感知层所示,嵌入式平台一方面收集来自不同传感器的信息并进行必要的处理分析,另一方面作为传感器网络的节点将信息向更上层进行传输,或者接收来自上层的决策指令并进行控制。
图1-1 物联网典型体系架构
(2)网络层
物联网的网络层类似于人体的中枢神经网络,具体指电信骨干网络。典型网络层包含主流运营商提供的互联网、4G/5G等移动通信网络,此外广电网、电力通信网、专用网(数字集群)等网络作为补充。接入网方式包括光纤接入、无线接入、以太网接入、卫星接入等。网络层的作用是实现感知层大规模传感处理数据的可靠传输。
(3)应用层
应用层位于物联网三层结构中的最顶层,类似人体的大脑,海量的传感数据通过网络层传输后在这里汇总并集中处理。应用层依赖大数据云计算平台的强大计算分析能力和人工智能技术,通过各种具体的应用层软件对数据进行计算、处理和知识挖掘,并将得到的决策、信息结果或学习到的知识反馈给感知层,或者作为产品服务提供出来,从而实现对万物互联的物理世界的精确管理、实时控制及科学决策。
3.嵌入式系统的定义与特点
(1)嵌入式系统的定义
电气电子工程师学会(IEEE)的定义为:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。国内采用百度百科的定义为:嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软硬件模块的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序四部分组成,用于实现对其他设备的控制、监视或管理等功能。
(2)嵌入式系统的特点
嵌入式系统具有如下特点。
1)可裁剪性。因为嵌入式一般面向具体应用,所以嵌入式系统一般较小,可根据具体产品裁剪掉不必要的驱动组件及接口,如现在智能安防的嵌入式系统只需要配备摄像头驱动、视频压缩及网络传输及接口功能即可。
2)实时性。嵌入式产品需要及时对物理世界做出反馈,一般都具有强实时性要求,如为了保证安全性,基于嵌入式的自动驾驶系统对交通突发状况的系统响应时间就极短,在毫秒数量级。
3)低功耗、低成本和高可靠性。大量嵌入式产品依靠电池供电,且体积小巧、便捷可穿戴,如智能手环等必须按照低功耗系统设计、低成本价格且可靠性高才能满足用户需求。
4)与具体应用同步迭代。嵌入式一般与其具体产品应用有机结合,升级换代与产品同步,具有较长生命周期。
5)完整的开发环境及相关工具。运行裸机程序的嵌入式处理器系统开发一般采用集成开发环境,如单片机、STM32等采用Keil软件,DSP采用CCS软件,而运行vxWorks操作系统的嵌入式处理器使用Tornado。ARM处理器的嵌入式Linux系统开发一般使用一整套面向ARM的GNU工具链,包括GCC、GNU Binutils、GNU make和Glibc等。
6)不可垄断性。由于嵌入式直接面向具体应用,种类极其繁多,这造成了嵌入式系统是不可垄断的高度分散的产品,虽充满竞争,但每个嵌入式的学习者和爱好者都有很大的机遇与创新可能。