基于STM32嵌入式接口与传感器应用开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

任务1 认识嵌入式系统

本任务重点学习微处理器的基本原理,了解微处理器的发展和应用领域。

1.1 学习场景:嵌入式系统有哪些应用

目前嵌入式系统已经渗透到生活的多个领域,例如,导弹的导航装置、飞机上的各种仪表的控制、计算机的网络通信与数据传输、工业自动化过程的实时控制和数据处理、广泛使用各种智能IC卡、汽车的安全系统、录像机、全自动洗衣机,以及程控玩具、电子宠物等,还有自动控制领域的机器人、智能仪表、医疗器械等,这些都离不开嵌入式系统的应用。

1.2 学习目标

(1)知识要点:嵌入式系统的定义;微处理器的分类;嵌入式系统的发展和应用。

(2)任务目标:能列举5种以上在物联网系统中使用的微处理器;能简单阐述嵌入式系统和物联网系统的发展关系。

1.3 原理学习:嵌入式系统的发展与应用

1.3.1 嵌入式系统概述

随着计算机技术的飞速发展和嵌入式微处理器的出现,计算机应用出现了历史性的变化,并逐渐形成了两大分支:通用计算机系统和嵌入式计算机系统(简称嵌入式系统)。

嵌入式系统一词源于20世纪70、80年代,早期还曾被称为嵌入式计算机系统或隐藏式计算机系统。随着半导体技术及微电子技术的快速进步,嵌入式系统得以风靡式的发展,其性能不断提高,以致出现一种观点,即嵌入式系统通常是基于32位微处理器设计的,往往带有操作系统,是瞄准高端领域和应用的。随着嵌入式系统应用的普及,这种高端应用系统和之前广泛应用的单片机系统之间有着本质的联系,使嵌入式系统与单片机毫无疑问地联系在了一起。

1.嵌入式系统的定义

关于嵌入式系统的定义有很多,较通俗的定义是指嵌入对象体系中的专用计算机系统。

国际电气和电子工程师协会(IEEE)对嵌入式系统的定义是:嵌入式系统是控制、监视或者辅助设备、机器和工厂运行的装置。该定义是从应用的角度出发的,强调嵌入式系统是一种完成特定功能的装置,该装置能够在没有人工干预的情况下独立地进行实时监测和控制。这种定义体现了嵌入式系统与通用计算机系统的不同的应用目的。

我国对嵌入式系统定义为:嵌入式系统是以应用为中心,以计算机技术为基础,并且软/硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

2.嵌入式系统的特点

嵌入式系统是先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合的产物,这决定了它是技术密集、资金密集、知识高度分散、不断创新的集成系统。同时,嵌入式系统又是针对特定的应用需求而设计的专用计算机系统,这也决定了它必然有自己的特点。

不同嵌入式系统的具体特点会有所差异,总体来说,嵌入式系统一般具有如下特点:

(1)软/硬件资源有限。过去只在PC中出现的电路板和软件现在也被安装到复杂的嵌入式系统之中,这一说法现在只能算“部分”正确。

(2)功能单一、集成度高、可靠性高、功耗低。

(3)一般具有较长的生命周期。嵌入式系统通常与所嵌入的宿主系统(专用设备)具有相同的使用寿命。

(4)软件程序存储(固化)在存储芯片上,开发者通常无法改变,常被称为固件(Fireware)。

(5)嵌入式系统本身无自主开发能力,进行二次开发需专用设备和开发环境(交叉编译)。

(6)嵌入式系统是计算机技术、半导体技术、电子技术和各行业的具体应用相结合的产物。

(7)嵌入式系统并非总是独立的设备,很多嵌入式系统并不是以独立形式存在的,而是作为某个更大型计算机系统的辅助系统。

(8)嵌入式系统通常都与真实物理环境相连,并且是激励系统。激励系统可看成一直处在某一状态,等待着输入信号,对于每一个输入信号,它们完成一些计算并产生输出及新的状态。

(9)大部分嵌入式系统都同时包含数字部分与模拟部分的混合系统。

另外,随着嵌入式微处理器性能的不断提高,高端嵌入式系统的应用方面出现了新的特点:

(1)与通用计算机系统的界限越来越模糊。随着嵌入式微处理器性能的不断提高,一些嵌入式系统的功能也变得多而全。例如,智能手机、平板电脑和笔记本电脑在形式上越来越接近。

(2)网络功能已成为必然需求。早期的嵌入式系统一般以单机的形式存在,随着网络的发展,尤其是物联网、边缘计算等的出现,现在的嵌入式系统的网络功能已经不再是特别的需求,几乎成了一种必备的功能。

3.嵌入式系统的组成

嵌入式系统一般由硬件系统和软件系统两大部分组成。其中,硬件系统包括嵌入式微处理器、外设和必要的外围电路;软件系统包括嵌入式操作系统和应用软件。常见嵌入式系统的组成如图1.1所示。

图1.1 常见的嵌入式系统的组成

1)硬件系统

(1)嵌入式微处理器。嵌入式微处理器是嵌入式系统硬件系统的核心,早期嵌入式系统的嵌入式微处理器由(甚至包含几个芯片的)微处理器来担任,而如今的嵌入式微处理器一般采用IC(集成电路)芯片形式,可以是ASIC(专用集成电路)或者SoC中的一个核。核是VLSI(超大规模集成电路)上功能电路的一部分。嵌入式微处理器芯片有如下几种。

①微处理器:世界上第一个微处理器芯片就是为嵌入式服务的。可以说,微处理器的出现,使嵌入式系统的设计发生了巨大的变化。微处理器是可以是单芯片微处理器,还可以有其他附加的单元(如高速缓存、浮点处理算术单元等)以加快指令处理速度。

②微控制器:微控制器是集成有外设的微处理器,是具有微处理器、存储器和其他一些硬件单元的集成芯片。因其单芯片即组成了一个完整意义上的计算机系统,常被称为单片微型计算机,即单片机。最早的单片机芯片是8031微控制器,它和后来出现的8051单片机是传统单片机系统的主流。在高端的MCU系统中,ARM芯片占有很大的比重。MCU可以作为独立的嵌入式设备,也可以作为嵌入式系统的一部分,是现代嵌入式系统的主流,尤其适用于具有片上程序存储器和设备的实时控制。

③数字信号微处理器(DSP):也称为DSP微处理器,可以简单地看成高速执行加减乘除算术运算的微芯片,因具有乘法累加器单元,特别适合进行数字信号处理运算(如数字滤波、谱分析等)。DSP是在硬件中进行算术运算的,而不像通用微处理器那样在软件中实现,因而其信号处理速度比通用微处理器快2~3倍,甚至更多,主要用于嵌入式音频、视频及通信应用。

④片上系统:近来,嵌入式系统正在被设计到单个硅片上,称为片上系统(SoC)。这是一种VLSI芯片上的电子系统,在学术上被定义为:将微处理器、IP(知识产权)核、存储器(或片外存储控制器接口)集成在单一芯片上,通常是客户定制的或者面向特定用途的标准产品。

⑤多微处理器和多核微处理器:有些嵌入式应用,如实时视频或多媒体应用等,即使DSP也无法满足同时快速执行多项不同任务的要求,这时就需要两个甚至多个协调同步运行的微处理器。另外一种提高嵌入式系统性能的方式是提高微处理器的主频,而主频的提高是有限度的,而且过高的主频将导致功耗的上升,因此采用多个相对低频的微处理器配合工作是提升微处理器性能,同时降低功耗的有效方式。当系统中的多个微处理器均以IP核的形式存在同一个芯片中时,就成为多核微处理器。目前,多核微处理器已成功应用到多个领域,随着应用需求的不断提高,多核架构技术在未来一段时间内仍然是嵌入式系统的重要技术。图1.2所示为多微处理器和多核系统布局。

图1.2 多微处理器与多核系统布局

(2)外设。外设包括存储器、I/O接口及定时器等辅助设备。随着芯片集成度的提高,一些外设被集成到微处理器芯片上,称为片内外设;反之则称为片外外设。尽管MCU已经包含了大量的外设,但对于需要更多I/O端口和更大存储能力的大型系统来说,还必须连接额外的I/O端口和存储器。

2)软件系统

从复杂程度上看,嵌入式软件系统可以分成有操作系统和无操作系统两大类。对于高端嵌入式应用,多任务成为基本需求,操作系统作为协调各任务的关键是必不可少的。此外,嵌入式软件中除了要使用C语言等高级语言外,往往还会用到C++、Java等面向对象类的编程语言。

嵌入式软件系统由应用程序、API、嵌入式操作系统以及BSP(板级支持包)组成,必须能解决一些在台式机或大型计算机软件中不存在的问题:因经常要同时完成若干任务,所以必须能及时响应外部事件,能在无人干预的条件下应对所有异常的情况。

1.3.2 嵌入式操作系统

嵌入式操作系统的分类如图1.3所示。

图1.3 嵌入式操作系统的分类

1.早期的嵌入式操作系统

早期的嵌入式系统大多采用8位或16位单片机作为系统核心控制器,所有硬件资源的管理工作都由程序员自己编写程序来完成,不需要采用专门的操作系统。由于技术的进步,嵌入式系统的规模越来越大、功能越来越强、软件越来越复杂,因此嵌入式操作系统在嵌入式系统中得到了广泛的应用,尤其是在功能复杂、系统庞大的应用中,嵌入式操作系统的作用显得越来越重要。

在嵌入式操作系统环境下,开发一个复杂的应用程序,通常可以按照软件工程的思想,将整个程序分解为多个任务模块,每个任务模块的调试、修改几乎不影响其他模块。利用嵌入式操作系统提供的多任务调试环境,可大大提高系统软件的开发效率,降低开发成本,缩短开发周期。在开发应用软件时,程序员不必直接面对嵌入式硬件设备,而是采用一些嵌入式软件开发环境,在操作系统的基础上编写程序的。

嵌入式操作系统本身是可以裁剪的,嵌入式系统的外设、相关应用也可以灵活配置,所开发的应用软件可以在不同的应用环境、不同的微处理器芯片之间移植,软件构件可复用,有利于系统的扩展和移植。相对于一般操作系统而言,嵌入式操作系统仅指操作系统的内核(或者微内核),其他的诸如窗口系统界面、通信协议等模块,可以另外选择。

2.实时嵌入式操作系统

实时嵌入式操作系统是指当外界发生事件或产生数据时,能够接收并以足够快的速度予以处理,其处理结果又能在规定的时间内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调、一致运行的操作系统。因而,提供及时响应和高可靠性是实时嵌入式操作系统的主要特点。实时嵌入式操作系统有硬实时和软实时之分,硬实时要求在确定的时间内必须完成操作,这是在操作系统设计时需要保证的;软实时则只要按照任务的优先级别,尽可能快地完成操作即可。

3.嵌入式操作系统的发展现状

对于实时嵌入式操作系统来说,其最主要的特点就是满足对时间的限制和要求,能够在确定的时间内完成具体的任务。在工程项目中,往往选用实时嵌入式操作系统来统一管理软/硬件资源,使程序设计尽量变得简单,每个子模块的耦合性尽量降低。目前,人们使用得比较多的几个实时嵌入式操作系统有Vxworks、Linux、PSOSystem、Nucleus和μC/OS-II等。

Vxworks是于1983年设计开发的一款实时嵌入式操作系统,这是一个高效的内核,具备很好的实时性能,开发环境的界面也比较友好。Vxworks在对实时性要求极高的领域应用得比较多,如航天航空、军事通信等。

Linux操作系统是实时嵌入式操作系统里面一个重要的分支,其最大的特点是开源并且遵循GPL协议,在近几年也成了研究的热点,其应用范围比较广阔。自从Linux在中国普及以来,其用户数量也越来越大。嵌入式Linux和普通Linux并无本质的差别。实时调度策略、硬件中断和异常执行部分的应用难度都相对较大。目前常见的实时嵌入式Linux操作系统有RT-Linux、μCLinux、国产红旗Linux等。

μC/OS-II具备了一个实时内核应具备的所有核心功能,编译后的代码只有几KB,开发者可以廉价地使用μC/OS-II开发商业产品或进行教学研究,也可以根据自己的硬件性能优化其源代码。

1.3.3 嵌入式系统的发展与应用

1.单片机与嵌入式

微处理器诞生后,在其基础上的现代计算机有了足够的数值计算能力以及对对象系统进行快捷的实时控制能力。但随后人们发现“数值计算”与“对象系统实时控制”是两个无法兼容的技术发展道路与应用环境,前者要求有一个具有高速海量数值计算能力的通用计算机系统,后者则要求有一个可以嵌入到对象体系中与对象体系紧耦合、实现对象系统实时控制的高可靠的嵌入式计算机系统。

(1)单片机的发展。在PC诞生前,很早就开始了在微处理器基础之上嵌入式应用的单片机道路探索,并取得成功;PC诞生后,又开始了微型机的嵌入式应用探索,却遭遇失败。

单片机的独立发展道路始于1974年诞生的第2代微处理器8088。最初,8080代替电子逻辑电路器件用于各种应用电路和设备上,带有原始的嵌入式应用印记。其后出现了一批嵌入式应用的单片机,其中最典型的是1976年Intel公司推出的MCS-48系列单片机。1980年,Intel公司在MCS-48系列单片机的基础上推出的MCS-51系列单片机成为微处理器的经典体系结构。其后便开始了20多年单片机的独立发展道路。

(2)从单片机到嵌入式系统。1976年诞生的MCS-48系列单片机,以及1980年在MCS-48系列单片机基础上完善而成的MCS-51系列单片机,是专门为嵌入式应用设计的,是具有全新体系结构的微处理器。由此开始了电子技术领域20多年的单片机独立发展道路。

20世纪末,随着后PC时代的到来,大量计算机界人士进入单片机领域,并以计算机工程方法迅速提升了单片机的应用水平。计算机学科与微电子学科、电子技术学科的交叉融合,突出了单片机的嵌入式应用特征,将微处理器的应用从单片机时代发展到嵌入式系统时代。

2.微处理器的基本特点

从单片机与嵌入式系统的曲折发展历史中,可以看到一个集单片、嵌入、物联三个基本特点于一体的微处理器。在微处理器30多年的发展历程中,人们从不同角度来诠释微处理器的时代特征,于是便有了早期的单片机时代、如今的嵌入式系统时代,以及正在进入的物联网时代。无论哪个时代,单片、嵌入、物联都是微处理器的基本特点,具体表现为单芯片的应用形态、嵌入式的应用环境、物联的应用本质。

(1)单芯片的应用形态。单芯片的应用形态表明,微处理器的嵌入式应用必须走单芯片控制器的发展道路,微型机的嵌入式应用探索失败是一个最好的证明。走单片机道路不只是满足体积、价位的需求,更重要的是要以单芯片的应用形态创造出全新的微处理器体系结构。

(2)嵌入式的应用环境。单片机的微小体积与价位,最大限度地满足了空间环境要求与市场要求;固化的只读程序存储器、突出控制功能的指令系统与体系结构,满足了对象控制的可靠性要求。因此,单片机诞生后,迅速取代了经典电子系统,嵌入对象体系(如家用电器、智能仪器、工控单元等)中并实现对象体系的智能化控制。随着微处理器外围电路、接口技术的不断扩展,出现了一个个IT产品,如智能手机、平板电脑、PDA、MP3、MP4等。

(3)物联的应用本质。微处理器为物联而生,物联是微处理器与生俱来的本质特性。早在微处理器诞生时期,在通用微处理器与嵌入式微处理器两大分支的历史性分工中,就赋予了嵌入式微处理器的物联使命。

3.微处理器的三个应用时代

从1976年诞生MCS-48系列单片机(或微处理器)算起,微处理器已有40多年的历史了,在这40多年的历史进程中,微处理器经历了单片机时代与嵌入式系统时代,如今又将进入物联网时代。

单片机的诞生,为电子技术领域提供了一个微处理器形态的单一化智力内核,开始了传统电子系统的智能化改造,开始了微处理器的单片机时代。后PC时代到来,大量计算机界人士进入单片机领域,电子技术与计算机技术相结合,极大地提升了微处理器的嵌入式应用水平,将单片机时代发展到嵌入式系统时代。如今,借助微处理器的智慧物联,将互联网延伸到物理对象,使微处理器以嵌入式系统身份进入到大有作为的物联网时代。

4.单片机到嵌入式系统发展

1974年,第2代微处理器8080诞生后,在半导体产业领域中迅速掀起了一股单片机的应用热潮,出现了众多型号的单片机,为电子技术领域提供一个个智能化改造的智力内核。因此,单片机在其诞生后就立即进入了电子技术领域。由于半导体厂家的技术支持,低廉的硬件成本与开发装置,容易被掌握的汇编语言编程技术,很快便掀起了传统电子系统智能化改造的热潮。

正当单片机时代陷入困境时,计算机领域迎来了后PC时代。受日益高涨的微处理器市场吸引,大批计算机专业人士进入微处理器领域。计算机学科介入后,引入了计算机高级语言、操作系统、集成开发环境、计算机工程方法,大大地提高了微处理器的应用水平,嵌入式系统成为了多学科的综合应用领域。

5.从嵌入式系统到物联网

微处理器经历了20多年单片机的缓慢发展期后,在嵌入式系统时代中有了突飞猛进的发展。与此同时,出现了大量的具有TCP/IP协议栈的内嵌式单元与方便外接的互联网接口技术。无论是嵌入式系统单机还是嵌入式系统,与互联网、GPS的连接都成为常态,从而将互联网顺利地延伸到物理对象,并变革成为物联网。

物联网时代,唯有嵌入式系统可以承担起物联网繁重的物联任务。在物联网应用中,首要任务是在嵌入式系统物联基础上的物联网系统建设。大量的物联网系统开发任务与物联网中嵌入式系统复合人才的培养,都要求嵌入式系统迅速转向物联网,积极推动物联网、云计算技术与产业的发展。

6.嵌入式系统的应用

自从20世纪70年代微处理器诞生后,将计算机技术、半导体技术和微电子技术等融合在一起的专用计算机系统,即嵌入式系统,已广泛地应用于家用电器、航空航天、工业、医疗、汽车、通信、信息技术等领域。各种各样的嵌入式系统和产品在应用数量上已远远超过通用计算机,从日常生活、生产到社会的各个角落,可以说嵌入式系统无处不在。下面仅列出了比较熟悉的、与人们生活紧密相关的几个应用领域。

(1)消费类电子产品应用。嵌入式系统在消费类电子产品应用领域的发展最为迅速,而且在这个领域中的嵌入式微处理器的需求量也是最大的。由嵌入式系统构成的消费类电子产品已经成为生活中必不可少的一部分,如智能冰箱、流媒体电视等信息家电产品,以及智能手机、PDA、数码相机、MP3、MP4等。

(2)智能仪器仪表类应用。这类产品可能离日常生活有点距离,但是对于开发人员来说,却是实验室里的必备工具,如网络分析仪、数字示波器、热成像仪等。通常这些嵌入式设备中都有一个应用微处理器和一个运算微处理器,可以完成数据采集、分析、存储、打印、显示等功能。

(3)通信信息类产品应用。这些产品多数应用于通信机柜设备中,如路由器、交换机、家庭媒体网关等,在民用市场使用较多的莫过于路由器和交换机了。基于网络应用的嵌入式系统也非常多,目前市场发展较快的是远程监控系统等在监控领域中应用的系统。

(4)过程控制类应用。过程控制类应用主要是指在工业控制领域中的应用,包括对生产过程中各种动作流程的控制,如流水线检测、金属加工控制、汽车电子等。汽车工业在中国已取得了飞速的发展,汽车电子也在这个大发展的背景下迅速成长。现在,一辆汽车中往往包含有上百个嵌入式系统,它们通过总线相连,实现对汽车各部分的智能控制;车载多媒体系统、车载GPS导航系统等,也都是典型的嵌入式系统应用。

(5)航空航天类应用。不仅在低端的民用产品中,在像航空航天这样的高端应用的中同样需要大量的嵌入式系统,如火星探测器、火箭发射主控系统、卫星信号测控系统、飞机的控制系统、探月机器人等。我国的探月工程中“嫦娥三号”的探月工程车就是最好的证明。

(6)生物微电子类应用。在指纹识别、生物传感器数据采集等应用中也广泛采用了嵌入式系统。环境监测已经成为人类必须面对的问题,随着技术的发展,将来的空气中、河流中可以用大量的微生物传感器实时地监测环境状况,而且还可以把这些数据实时地传送到环境监测中心,以监测整个生活环境,避免发生更深层次的环境污染。这也许就是将来围绕在人们生存环境周围的一个无线环境监测传感器网络。

1.4 任务小结

通过本任务的学习和实践,读者可以了解嵌入式系统的组成、嵌入式操作系统的作用。通过对不同功能的嵌入式系统的认识,可以了解嵌入式微处理器的种类,不同种类嵌入式系统的使用环境和场景。

1.5 思考与拓展

(1)嵌入式微处理器有哪些种类?各有什么特点?

(2)常见的嵌入式操作系统有哪些?

(3)简述嵌入式系统的组成。