嵌入式控制系统设计/家庭和楼宇自动化
本章讨论了嵌入式控制系统在家庭和楼宇自动化系统中的应用,有时被称为智能家居和智能建筑。本章首先简要介绍家庭自动化系统及其组件,然后分析嵌入式系统在智能家居中的演变。
家庭自动化是建筑自动化的一个分支,只是规模更小,复杂程度(通常)也更低。两种类型的系统都试图满足私人住宅和建筑物的特定自动化需求,从而提高用户的舒适度和安全性,并改善整体能源效率。并非所有家庭自动化系统都具备这些特性,更简单的(更便宜的)系统只关注舒适度或安全性。
家庭自动化系统的出现源于对例如行动不便的老人、残疾人等住户家庭中自动化流程的需求。建筑自动化系统则起源于这样一个简单的事实:将许多系统远程集中控制比四处奔走,手动控制每个系统更容易。(暖通空调和冷热水的系统就是一个例子)
随着电子产品变得更加实惠并在人们的家中普及,人们对电子舒适度的渴望与日俱增。因此,智能家居市场正在蓬勃发展。
家庭和楼宇自动化系统能够执行大量任务。如今,这种自动化系统能够执行的任务几乎没有限制。只要任务本身可以通过现有的机械/电子系统执行,唯一的限制就是客户的预算。
家庭自动化系统的一些应用包括但不限于
- 照明控制
- 暖通空调控制
- 门、窗、窗帘、大门等的控制
- 访问和控制安全系统
- 访问和控制多媒体系统、家庭娱乐系统
由于本文讨论的是家庭和楼宇自动化系统中的嵌入式控制系统,因此无需准确地描述此类自动化系统能够完成的任务。更多信息请参见:家庭自动化和楼宇自动化。
家庭自动化系统通常由多个组件组成,这些组件都是完整系统的一部分。每个组件都可以执行一个功能,一些组件是多功能的。
大多数组件功能可以分为 3 类
- 输入
- 输出
- 控制
一些组件可以用于输入、输出和控制。例如,一个多媒体终端可以用于
- 输入(使用键盘、开关等)
- 输出(显示器、扬声器等)
- 控制(控制其他组件,例如调暗灯光、关闭窗帘等)。
在家庭自动化早期,一个系统可能只是一个带有定时器和一些逻辑模块的中央开关盒,整个房子布满了开关作为输入,继电器/执行器作为输出。
在编写本文时,没有简单的方法可以将自动化系统的组件分类为输入/输出/控制,因为大多数组件都包含这三种功能。本文后面将以此为基础,分析家庭自动化系统的演变。
输入功能主要由称为传感器的组件执行。传感器可以是任何东西,从简单的开/关开关到电容式接近开关,再到复杂的音频/视频识别系统。
一些传感器的例子
- 开关
- 运动传感器
- 湿度/压力传感器
- 光传感器(光电二极管、光敏电阻)
- 温度传感器(热敏电阻、热电偶、电阻温度计、恒温器)
- 视频/音频采集传感器(摄像机、麦克风)
- 烟雾探测器
- 流量传感器
- 流体(流量计、质量流量计)
- 电表
许多更复杂的传感器需要一些电子设备来调节传感器信号,并将其转换为适合家庭自动化系统的信号。
输出功能主要由称为执行器的组件执行。执行器使用来自自动化系统的信号来改变受控环境中物体的状态(例如,将交流电源切换到为灯泡供电的电路,移动物体)。
一些执行器的例子
为了让执行器在自动化系统中发挥作用,它通常需要配备额外的机械/电气系统。例如,步进电机本身没什么用,除非它连接到某个东西上,比如流体控制阀。因此,输出功能是由基本执行器与一些附加系统结合执行的。
控制功能与输入/输出功能有所不同,因为它们的功能本身并不那么容易描述。控制功能可以是许多事情,包括但不限于
控制功能由控制单元执行,但由于系统存在多种形式,并且家庭自动化系统随着时间的推移而不断变化,因此很难描述执行这些控制功能的系统。执行控制功能的系统可以像几个逻辑门一样简单,也可以像一个完整的计算机主机一样复杂。
显然,所有这些组件之间都需要一个通信系统。自从家庭和楼宇自动化系统诞生以来,出现了大量的标准。
在智能家居系统发展初期,通信主要依靠简单的铜线。当时对数据速度和抗干扰性没有太高的要求。然而,在本文撰写之时,智能家居系统中的通信方式已经有了更多可能性。
例如
所有这些通信方式都有其自身的特点,详细讨论不在本文的范围之内。有关哪种标准使用哪种通信方法的详细信息,请参考维基百科关于智能家居的页面。
智能家居/楼宇自动化系统中的嵌入式控制系统
[edit | edit source]设计特点
[edit | edit source]首先,简要列出嵌入式控制系统设计特点及其在当前智能家居/楼宇自动化系统中的应用。设计工程师在设计这类自动化系统时需要牢记这些特点。
高重要性特点:
- 专注的功能:智能家居/楼宇自动化系统通常具有一组固定的功能,其设计针对这组特定功能进行优化。例如,一组功能可以包括提高用户舒适度和安全性,同时节约能源。
- 启动时间:智能家居系统应该始终处于工作状态。计时器一直在运行,灯光需要立即打开/关闭等等。
- 安全故障模式:智能家居系统可能会发生故障,但应该在紧急状态(如电压尖峰、电源中断、组件损坏)下提供安全故障措施。当智能家居系统发生故障时,应该将控制权交还给房屋用户,例如不要关闭房屋并关闭所有灯光。
- 通信:由于大多数最新的智能家居/楼宇自动化系统由大量子系统组成,因此这些子系统之间存在固有的通信需求。
- 能耗:低能耗是必要的,因为更新的节能型智能家居系统努力降低房屋的能耗(例如,通过在夜间计划耗能任务或及时关闭窗帘以节省取暖燃料)。
- 系统适应性:
- 由于房屋/建筑的独特性,大多数最新的自动化系统需要定制安装和设置。因此,安装人员应该能够为当前配置选择必要的组件,将它们组合成一个工作系统,并根据他/她或最终用户的意愿进行设置。
- 大多数最新的自动化系统能够在更高的抽象级别上工作(见本文后面)。因此,用户应该能够调整这样的自动化系统,设置他/她的“情绪设置”、“房间配置”、“颜色喜好”、“语音识别”等,而无需安装人员/客户服务人员的帮助。
中等重要性特点:
- 空间限制:理想的智能家居/楼宇自动化系统在它控制的房屋/建筑中不占用任何空间,除了输入/输出之外,它应该是不可见的。
- 使用寿命长:智能家居系统必须尽可能长时间地处于工作状态,因为更换它的成本高于更换简单电器的成本(例如,为了插入新电缆而破坏墙壁,与更换咖啡机相比)。
- 成本:随着价格上涨(包括取暖油、建筑材料等),成本变得越来越重要。因此,低成本智能家居系统更具吸引力。在高端方面,成本并不那么重要,因为高端智能家居系统是为该客户半定制建造的,而且通常非常昂贵。
- 温度和湿度:用于室外使用的传感器或执行器可能会受到高温(阳光)或高湿度(雨水)的影响。对于用于室外的组件以及用于浴室/游泳池/桑拿/……的组件,必须进行防温度和湿度保护。
- 冲击和振动:自动化系统的组件必须能够承受用户滥用等因素带来的轻微冲击和振动,但大多数组件没有针对长时间暴露于冲击/振动进行保护。
- EMC:智能家居/楼宇自动化中的嵌入式系统不应受到环境中其他设备的干扰(也不应干扰自身)。
- 远程维护:由于智能家居/楼宇自动化系统中的越来越多的组件使用混合软件/硬件设置,因此需要能够远程监控每个组件并升级其软件部分。
- 卓越的质量:大多数用户期望他们的智能家居系统始终正常工作,没有错误或故障。由于如今智能家居组件的很大一部分是由最新的电子设备与控制电子设备的软件相结合,因此对完美质量的期望并不像可能的那样高。然而,对于高端自动化系统,成本与质量预期之间存在相关性,因此构建质量更加重要。
- 看门狗:在发生故障的情况下,系统需要重置自身,以便用户无需进行任何操作。
我们在嵌入式控制系统设计/设计模式#看门狗定时器中更详细地讨论看门狗。
低重要性特点:
- 通过冗余提高可靠性:一些应用领域要求对硬件或软件组件故障具有 100% 的鲁棒性,这需要这些组件多次提供。然而,智能家居/楼宇自动化系统并非如此。这样做会消除低成本的特点。
- 空间硬化:不适用于智能家居/楼宇自动化系统(目前还没有智能家居/楼宇自动化系统进入太空)。
系统复杂性
[edit | edit source]由于智能家居/楼宇自动化系统已经经历了巨大的发展,因此这些系统中使用的技术也随之发展。
智能家居/楼宇自动化系统已经跨越了几十年,可用的技术随着时间的推移而发展。由于所用技术的不断变化,对智能家居/楼宇自动化系统进行一般性分类非常困难。
因此,有必要对这些系统在其发展过程中的演变进行分析。总的来说,这些自动化系统可以归为以下三类之一。
- 类别 1:集中式硬件 – 集中式软件
- 类别 2:分布式硬件 – 集中式软件
- 类别 3:分布式硬件 – 分布式软件
可以看出,智能家居/楼宇自动化系统的发展趋势是,它们在其生命周期中从类别 1 发展到类别 3。
有关这些类别的更一般信息,请参见系统复杂性类别部分。
类别 1:集中式硬件 – 集中式软件
[edit | edit source]示意性描述集中式/集中式特征的图片
第一类也是在智能家居/楼宇自动化系统早期最常出现的一类。由于当时可用的技术(半导体时代的开始),采用集中式硬件/软件设置似乎是合乎逻辑的。这包括 1 个机架或机器,它包含系统中几乎所有必要的硬件和(如果适用)软件部分。
如果提供例如开关作为输入,继电器作为输出,那么一个简单的开关盒加上一些定时器和逻辑电路就足够了。后来,当 PLC 开始流行时,系统变得稍微复杂了一些,但仍然是集中式的类型。
优缺点
[edit | edit source]- 这种类型系统的优点是,系统中没有复杂的硬件/软件(不需要操作系统),使系统设计、实施和维护变得简单直观。
- 然而,一个缺点是,从中央机器到中央机器的布线非常复杂。当输入和输出的数量增加时,电缆的数量也会增加。对于较大的建筑物,电缆的长度(因此成本)会成为选择另一种系统复杂性的一个理由。
- 另一个缺点是,使用这种系统时缺乏灵活性。例如,当使用 PLC 时,需要编写灵活的程序,或者需要在每次硬件更新时调整软件代码。为每个额外的输入/输出安装新的电缆也不太灵活,这使得这种类型的系统更适合在建造或升级房屋/建筑物时安装,而不适合在房屋/建筑物已经建成并完工时安装。
抽象级别
[edit | edit source]这种系统的用户抽象级别比较低。这意味着对于最简单的系统,用户直接通过一个输入或输入的逻辑组合控制输出,而更复杂的系统则使用多个输入和定时器来设置输出。例如,用户可以打开或关闭照明区域,将房屋设置为夜间模式(拉上窗帘,关闭所有灯光,除了门口外的灯光,…)。
在抽象级别更高的系统中,用户可以,例如,将客厅切换到“浪漫模式”或“电影模式”。这些抽象很难在更简单的类别 1 系统(因为它们相当不灵活)上编程,随着系统复杂性的提高,实现更高抽象级别的任务变得更容易。
通信
[edit | edit source]这种系统主要使用标准电线(输入为低压,输出为低压/高压)。由于系统不同组件之间没有通信,除了用于输入/输出的电压差,因此不需要特定的通信协议。
类别 2:分布式硬件 - 集中式软件
[edit | edit source]示意性描述分布式/集中式特征的图片
第二类包括今天大多数中低端家庭/建筑自动化系统和早期的高端系统。
它们由一个中央控制器(主要是嵌入式处理器或 PC 型控制器)组成,该控制器在操作系统(特定或通用,取决于实现)上运行特定软件。然后,该中央控制器连接到现场总线或总线,这些总线将其连接到其硬件外设。
硬件外设也可以具有嵌入式处理器,但它们不运行操作系统。软件只能在中央控制器上找到,它使用现场总线与外设通信并收集输入/设置输出。
优点/缺点
[edit | edit source]- 这种系统的一大优势是它的软件灵活性。中央控制器可以轻松地重新编程以适应其他设置、新的外设添加、系统升级等。由于软件只驻留在中央控制器上,因此只需要更新中央控制器。
- 系统复杂性略高这一事实可能是优点也可能是缺点,这取决于环境(开发人员的经验、人力、开发预算等)。当经验和预算(时间和财务方面)允许时,这种更高的系统复杂性可以实现更多样化的功能、更高的抽象级别和更高的灵活性。当经验和预算不足以完成工作时,更高的复杂性可能会成为开发过程中的一个很大的时间消耗者。简而言之,与类别 1 系统相比,这种系统的设计和实现需要更多的人力、经验和预算。
- 一个优点是可以用更短、更简单的布线。每个房间的输入/输出可以路由到一个房间接口模块,该模块连接到现场总线。然后,只有现场总线连接接口模块和中央控制器。这节省了一些安装麻烦,并且如果接口模块允许扩展,它还可以简化房间的输入/输出的扩展。
- 与类别 1 系统相比,另一个优点是硬件灵活性。只要新添加/升级的硬件外设与现场总线协议兼容,就不需要进行广泛的硬件更改。只需要更新软件。
- 这种系统的一个缺点是它绑定到特定的现场总线,这意味着仍然有一根电缆穿过房屋/建筑物。这损害了不同制造商、不同现场总线代之间等的互操作性。
硬件外设并不十分复杂,它们只包含硬件层,不涉及软件。这对硬件外设的健壮性有利,但损害了系统的灵活性。
抽象级别
[edit | edit source]与类别 1 系统相比,可以实现更高的抽象级别。它更容易在功能更强大的中央控制器上实现,但软件仍然非常特定于问题,并且需要将“抽象级别”编程到软件中。这不会为这些“抽象级别”提供用户友好的输入,因为用户需要手动更新中央控制器的软件才能实现它们。
在类别 3 的系统中,如果实现,用户可以在整个房屋的用户界面中设置他或她自己的“抽象级别”,而无需干预中央控制器的软件。对于类别 2 系统(严格意义上)来说,这是不可能的,因为中央控制器和硬件外设之间没有双向通信。
通信
[edit | edit source]为了在家庭/建筑自动化系统中使用,已经开发了许多现场总线,包括例如 Batibus。列出所有用于这些系统的现场总线并对其进行描述超出了本文档的范围。
此外,在这里列出家庭自动化标准也不正确,因为大多数这些标准使用多种通信方式,混合了类别 2 和 3 的通信方法。
类别 3:分布式硬件 - 分布式软件
[edit | edit source]示意性描述分布式/分布式特征的图片
第三类系统见于最新的家庭/建筑自动化系统和一些最昂贵的老式系统。在这里,一个完整的家庭/建筑自动化系统由多个类别 1 或 2 的子系统组成,它们使用软件和通信层连接在一起。这些子系统之间的通信可以通过许多不同的网络技术(RF、无线、光学等)进行。
虽然类别 1 或 2 的系统是同步的,但大多数类别 3 系统以异步方式工作,因为每个子系统都有自己的控制器(有或没有操作系统)。
例如:房屋中的每个房间都是类别 2 的子系统,控制照明、窗帘、多媒体内容、温度等。每个房间都有自己的控制器,用于设置输入或输出音乐/视频/安全信息/…每个房间由房间的控制器控制,而有一些控制器可以控制房间的控制器。
例如,当去度假时,每个房间都必须关闭电源以尽可能节省能源,但每晚在一个随机房间开一盏灯以给人一种有人在家的印象可能很方便。然后,房间的控制器必须具有一些优先级方案来决定监听哪个命令。
优点/缺点
[edit | edit source]- 这种系统的一个缺点是整个系统的复杂性很高,需要大量的人力、经验和预算来开发和实施这样的系统。这包括协议兼容性、子系统软件和硬件兼容性、多种产品使用不同软件来实现不同的功能等。
- 一个优点是可用的通信方法众多,并且可以在整个系统中混合使用它们,这使得系统在安装完成后的各种安装类型和更新方面非常灵活。
- 一个优点是更新软件的灵活性,因为可以逐个子系统地更新,而无需关闭整个系统。
- 另一个优点是整个系统的可靠性。如果一个房间的控制器出现故障,那么只有那个房间无法控制(如果它不能从下一个房间或中央控制器控制)。如果一个房间中有 2 个控制器,其中一个出现故障,那么该房间仍然可以通过另一个控制器进行功能访问。
- 由于在更高抽象级别上广泛嵌入软件和控制器,因此系统可以高度“定制”以满足用户的需求,这也算是一个优点。
抽象级别
[edit | edit source]类别 3 的系统由于其强大的处理能力和广泛的软件灵活性,可以实现最高程度的抽象。 硬件更像是通用类型,而软件弥补了不同组件的功能。
家庭自动化系统的抽象级别界面图片
一个高度用户友好的界面,可以控制不同的抽象层,极大地帮助用户实现他或她定制的“抽象级别”。 如果用户喜欢在浪漫的夜晚播放柔和的爵士音乐,调暗灯光,拉上窗帘,点燃壁炉等,他可以编程一个“浪漫”抽象程序,当调用该程序时,它会拉上窗帘,关闭电视,播放一些柔和的爵士音乐,调暗灯光并点燃壁炉。
这种类型的系统非常适合高级自动化控制,但也意味着软件必须比类别 2 和 1 更灵活和健壮。 由于用户与这种类型的系统相比,用户将与更简单的系统进行更多交互,因此情况不会更好。
这些系统使用多种不同的通信技术,包括双绞线、电线、无线电频率、同轴电缆、光纤……
本文档不涵盖这些不同通信技术的概述以及哪个标准使用哪种技术,但可以在其各自的维基百科页面或通用 家庭自动化页面上找到有关这些信息。
- http://en.wikipedia.org/wiki/Domotics
- http://en.wikipedia.org/wiki/Category:Home_automation
- http://en.wikipedia.org/wiki/Intelligent_building
- http://en.wikipedia.org/wiki/Smart_Environments
- http://www.epanorama.net/links/automation.html
- dmoz:Computers/Home_Automation/
- http://www.diy-ha.com/
- http://home-automation.pen.io/