第1章嵌入式控制系统基础
1.1嵌入式控制系统概述
1946年,世界上第一台计算机诞生于美国的宾夕法尼亚大学,人类开始逐步使用计算机提高工作效率,随着科技的不断进步,各种形式的计算机也快速走进我们的日常工作和生活。嵌入式系统可以被归纳为广义的计算机系统,与传统的计算机系统相比,它一般会根据特定的要求进行设计,通过精简压缩,完成某种特殊功能。它无处不在却又不易察觉,在各个领域发挥着重要的作用。
1.1.1嵌入式控制系统的定义
嵌入式系统技术与计算机、电子、传感测量、通信、控制等多个学科结合紧密,应用范围广泛,难以给出一个简明扼要的、严格的、公认的定义。自嵌入式系统诞生并得到应用以来,其命名和定义也在不断地变化与发展。早期学者认为,嵌入式系统是看不见的计算机,一般不能被用户编程,拥有一些专用的I/O设备,且对用户的接口是专用的。电气电子工程师学会(Institute of Electrical and Electronics Engineers,IEEE)对嵌入式系统从功能应用上加以定义,认为嵌入式系统是软件和硬件的综合体。英文原文为“Devices used to control,monitor,or assist the operation of equipment,machinery or plants”,翻译为“嵌入式系统是控制、监视或者辅助机器和设备运行的装置”。
本书对嵌入式控制系统的定义是:面向特定应用,完全嵌入受控器件内部,软硬件可配置,对功能、性能、可靠性、成本、体积、功耗严格约束的专用计算机系统。该定义体现了嵌入式控制系统所具备的“嵌入性”、“专用性”与“计算机系统”三个基本特征。“嵌入性”是指嵌入式控制系统隐藏在各种对象中,作为应用对象的一部分存在,难以被人们所察觉。“专用性”是指嵌入式控制系统是针对用户需求特定设计的,其应用功能相对固定,不具备通用计算机系统的可扩展性。“计算机系统”揭示了嵌入式控制系统隶属于广义计算机系统范畴,其核心部件为微处理器或具有计算能力的集成电路。需要注意的是,嵌入式控制系统相较于传统的嵌入式系统,在高可靠性、强实时性、感知与控制,以及对被嵌入对象的适用性方面提出了更高的要求,因此要求系统对所处工作环境有更强的适应能力,能够及时响应并完成特定功能。本书后续章节中的工程案例也会体现上述要求。
1.1.2嵌入式控制系统的特点
与通用计算机系统相比,嵌入式控制系统通常具备以下特点。
(1)技术密集。嵌入式控制系统是将先进的计算机技术、半导体技术、微电子技术、通信技术、消费电子技术及各个行业的具体应用相结合的产物,这一点就决定了该系统必然是一个高新技术密集、资金密集、高度分散、不断创新的知识集成系统和一个分散的应用广泛的信息产业。其能看作计算机软件和硬件的结合体,它的硬件系统主要包括微处理器、存储器、输入输出设备及外部的通信接口;而软件系统也多种多样,能够实现不同行业特定的功能。
(2)专用紧凑。任何一个嵌入式控制系统都与特定的应用功能相关,其用途固定,在体积、功耗、配置、处理能力、电磁兼容性方面有明显的应用约束,因此,嵌入式控制系统的硬件和软件都必须高效率地设计。它必须具备良好的软、硬件可裁剪性。设计嵌入式控制系统时,可针对用户的具体要求,对系统的配置进行裁剪和添加,从而达到应用所需的理想性能。在满足用户需求的基础上,量体裁衣、去除冗余,力争在同样大小的硅片上实现更高的性能,使得嵌入式控制系统精简化。
(3)安全可靠。一般来讲,要求设备中的嵌入式控制系统可以不出错地连续运行,即使出现错误也可以进行自我修复,同时,由于嵌入式产品的使用人员多为非计算机相关专业的人士,使用环境也不确定,这就对嵌入式控制系统的可靠性与稳定性提出了极高的要求。而随着网络时代的来临,嵌入式设备联网已成为热门话题,随之而来的网络安全问题也需要得到重视。通常可从硬件和软件等多个方面采取防护措施来提高系统的可靠性,例如,在硬件设计方面,可采用硬件备份机制来提高系统的可靠性;在软件设计方面,可采用看门狗等技术来提高软件的容错能力。
(4)多种多样。嵌入式控制系统应用广泛、品种繁多。从嵌入式微处理器、外围设备、嵌入式操作系统及开发工具等各个方面都可以体现出嵌入式控制系统的多样性。如就硬件而言,已知的嵌入式微处理器就有1000余种。外设也会随产品的功能及应用领域的不同而发生变化,可随用户需求进行外设扩展。就软件而言,其可选择的嵌入式操作系统有数百种之多,软件编程开发环境和开发工具也五花八门,各具特色。
(5)及时响应。所有的嵌入式控制系统实际上都可以看成实时系统,需要实时性来保障性能。它的实时性要求内部处理器能够尽可能快地对外部技术过程的请求发出响应,并及时完成。不同的嵌入式控制系统,实时性的要求不同。若违背实时约束,则可能使系统陷入瘫痪或不可用状态。对于一些对实时性要求极高的嵌入式控制系统,如工业过程控制系统,响应延迟可能造成很严重的后果。
(6)成本敏感。目前,大量的嵌入式控制系统应用于工业产品中。这种应用的一个重要特点就是每一批次的产品数量大,单位成本对产品的市场前景和利润影响巨大。例如,一个批次的空调遥控器,若成本降低一元,有可能产生数十万乃至上百万的直接效益。因此,对单位成本的控制已成为嵌入式产品竞争的关键因素之一。
(7)开发困难。嵌入式控制系统本身不具备软件自主开发的能力,因此大多数嵌入式软件的开发不可能如传统的PC上软件开发只在本地运行,它必须要有一套开发工具和运行环境才能进行开发与测试。常用的嵌入式产品开发模式为交叉开发,即以使用通用计算机的宿主机作为开发环境,其上配套相应的开发工具;所开发出的嵌入式软件运行在目标机上。显然,这种特殊的开发方式需要专门配套的开发工具和开发环境。但是,各芯片厂商提供的配套开发工具相对简陋,给开发带来一定的挑战。
(8)不可垄断。通用计算机行业的技术是垄断的,而嵌入式控制系统则不相同,它是一个分散的工业,没有哪一个系列的微处理器和操作系统能够垄断全部市场。即便在体系结构上存在着主流,但各不相同的应用领域决定了市场不可能被少数公司、少数产品垄断全部市场。因此嵌入式控制系统领域的产品和技术,必然是高度分散的。
(9)其他。除去上述特性之外,嵌入式控制系统还有许多需要关注的特征,如确定性,即任务个数确定、每个任务执行的时序确定、每个任务所占的资源确定、任务间的通信延迟确定等。
1.1.3嵌入式控制系统的分类
如今,嵌入式控制系统已经被广泛应用在工业控制、办公自动化、智能家庭、网络通信等多个领域,其数量庞大、种类多样、规格复杂。本节按照以下方法来对嵌入式系统进行分类,有助于有效地了解一个具体的嵌入式控制系统的属性和特点。
1.按嵌入式控制系统的复杂程度分类
(1)简单单处理器系统。此类系统一般由单片嵌入式处理器集成存储器I/O设备、接口设备(如A/D转换器)等构成,另外加上简单的元件如电源、时钟元件等部件即可工作。单个微处理器的这类系统大都嵌入小型设备中。
(2)处理器可扩展系统。这类嵌入式控制系统主要是在处理器中扩展少量的存储器和外部接口以构成嵌入式控制系统。其通常使用扩展存储器或者片上存储器,容量在64KB左右,字长为8位或16位。这类嵌入式控制系统大多应用在信号放大器、位置传感器及阀门传动器等器件中。
(3)复杂嵌入式控制系统。此类嵌入控制式系统使用的是16位、32位处理器,适用于大规模的应用。该系统需要扩展存储器来存储软件,扩展存储器容量一般在1MB以上,外部设备接口一般仍然集成在处理器上,常用的嵌入式处理器有ARM系列、Motorola公司的PowerPC系列等。这类系统可见于典型开关装置、交换机、数据监控系统、诊断及实时控制系统等。
(4)在制造或过程控制中使用的计算机系统。在此类系统中,计算机与仪器、机械及设备相连来控制这些装置的工作。这类系统包括自动仓储系统和自动发货系统。在这些系统中,计算机用于总体控制和监视,而不是对单个设备直接控制。过程控制系统可与业务系统连接,例如,根据销售额和库存量来决定订单或产品量。大多情况下,两个功能独立的子系统可在一个主系统操作下一同运行。
2.根据软件操作系统分类
(1)无操作系统的嵌入式控制系统。此类嵌入式控制系统的硬件主体由IC芯片或者4位/8位单片机构成,其控制软件不含操作系统。
(2)小型操作系统的嵌入式控制系统。此类嵌入式控制系统一般指的是硬件主体由8位/16位单片机或者32位处理器构成。其控制软件主要由一个小型嵌入式操作系统内核(如μC/OS或TinyOS)和小型应用程序组成。该操作系统功能模块不齐备,并且无法为应用程序开发提供一个较为完备的应用程序编程接口。同时,它没有图形用户界面(GUI)或者图形用户界面功能较弱。
(3)大型操作系统的嵌入式控制系统。此类嵌入式控制系统的硬件主体通常由32位/64位处理器或32位片上系统组成。控制软件通常由一个功能齐全的嵌入式操作系统(如VxWorks、Linux、Andorid等)和封装好的API构成,具备良好的图形用户界面、网络互联功能和DSP处理能力,可运行多种数据处理功能较强的应用程序。
3.按微处理器位数分类
根据嵌入式系统所采用的微处理器位数对其进行划分,可以分成4位、8位、16位、32位和64位的系统。随着技术的发展及需求的激增,4位微处理器现已基本停用,目前,应用最为广泛的是8位与32位微处理器,如8051单片机采用的是8位微处理器,Win7则采用32位的微处理器;16位的DSP微处理器正广泛用于数字信号处理领域;而64位微处理器常见于一些高速、极其复杂的嵌入式系统中。
4.按系统的实时性划分
从广义概念上来说,嵌入式系统都可看成一个实时系统,可以严格地按时序执行特定的功能,其程序的执行具有确定性。依据对实时性的要求,嵌入式系统可分为三大类:硬实时系统、软实时系统与自适应实时系统。硬实时系统对系统的响应时间要求十分严格,若系统无法在指定的时间范围内完成某个确定的任务,则会造成系统的全面失败,甚至带来灾难性后果。例如,若核电控制系统失效,则可能会导致核泄漏。虽然软实时系统对响应时间也有所要求,但是系统响应超时却不会导致致命错误,只是造成局部功能的失效。而自适应实时系统则能够自动调整满足环境的需要,从而使性能级别得到保证。
5.按嵌入式系统的功能用途分类
按照应用领域可以把嵌入式系统分为军用、工业用和民用三大类。军用、工业用嵌入式系统对运行环境的要求比较苛刻,往往要求耐高温、耐湿、耐强电磁干扰、耐粉尘、耐腐蚀等。民用嵌入式系统功能需求则具有易于使用、维护和标准化程度高等特点。
1.1.4嵌入式控制系统的应用
如今,嵌入式控制系统广泛地应用于工业、消费、通信、汽车、军事等领域,如图1-1所示。典型的应用包括以下几方面。
(1)工业控制。在自动化流水线、无人工厂中采用大量的工业机器人、智能传感器和智能信号变送器等嵌入式设备进行产品协同生产与流程控制,大大提高了生产效率和产品质量。
(2)信息家电。嵌入式技术使得空调、冰箱、洗衣机、电视、扫地机器人等家用电器智能化、网络化,可通过手机、网络进行远程控制,方便了人们的生活。
(3)医疗健康。嵌入式系统已大范围应用在医疗设备中,除了医院引入的高质量的医疗仪器(如监护仪器、成像设备、物理治疗仪)外,医疗仪器逐渐家庭化。许多小型的医疗电子设备如电子血压计、电子血糖仪等用于家庭健康监测,提高了人们的生活质量。
(4)环境监测。在很多环境恶劣、地况复杂的地区,利用嵌入式系统进行水文数据实时监测、堤坝安全与地震监测、防洪体系及水土质量监测、实时气象信息和空气污染监测等,实现环境无人监测。
温馨提示:请使用罗湖图书馆的读者帐号和密码进行登录