基于Cortex-A53的智慧空间控制系统设计与实现
2020-08-04王大勇
摘要:本文主要介绍了一种基于Cortex-A53的智慧空间控制系统的设计方案。基于ARM平台Cortex-A53系列芯片的智慧空间控制系统与传统的智能楼宇系统相比具有更丰富的管理功能、更高性能的数据处理、更低的运行功耗和扩展接口丰富等特点;软件部分基于Linux精简系统使用Python语言开发智慧空间管理应用系统。用户使用此系统可以实现通过多种协议与各类楼宇系统、办公设备以及智能家电设备通讯(空调、灯光、开关、门、风扇、响铃、温湿度计、音响、安防监控设备、智能电表等),实现多设备集中管理,体现智慧空间管理理念。
关键词:智慧空间 智能楼宇 智能家居 Cortex-A53 MQTT
引言
近年来内嵌控制器的智能电气产品相继面市,但不同品牌的设备使用相对独立的技术标准,目前还没有广泛采用开放式智能设备通信标准。这给大范围内多设备相互通信带来困难。为解决这个问题,需要一个能够与所有这些连接的多源异构设备进行通信和管理的高层次管理系统。该系统必须便于跟踪每个设备的状态,并实现集中控制。此外,该系统还应能够充分利用互联网上的各类新颖的在线服务资源(如:自然语言处理、语音合成及情感分析等),持续为智慧空间提供新功能扩展。基于此,本文提出了一种便于扩展异构设备兼容性的智慧空间管理系统方案,该方案架构设计考虑了更高层面的设备兼容理念,很容易通过定义设备模型实现对未来新产品的接入管理,最大化保护已有系统投入。
1 系统方案及基本构成
本系统软件构建于Armbian Linux精简操作系统,以Python为编程语言,开发实现:接入设备管理、通讯协议栈、系统状态管理、语音指令识别、语音合成、自动控制策略管理及Web交互界面等功能模块。
控制系统硬件部分包括:外壳、电源、喇叭、麦克风阵列、天线及主板PCB等。外壳选用成品工程塑料工业制品。电源选择为直流5V3A高频外置开关电源设计,以保证设备满功率长时间运行可靠性。本机设置一个8Ω2W喇叭,用于实现系统工作状态音频提示及基础的控制语音交互。选用两个硅麦克风一字型排开安装,组成基础麦克风阵列系统,以支持前述的控制语音交互功能。选用单根高增益天线实现WiFi通讯,同时设置一根Zigbee天线用于支持近距离IOT设备接入。主板PCB设计为4层板,中央处理器选用Cortex-A53四核芯片,搭配512MB(与GPU共享)内存芯片,并附加各类控制器、接口电路及音频功放等外围器件。
2 系统总体设计
本系统主要由下层嵌入式硬件系统及上层软件系统构成。下层硬件由嵌入式处理器、RAM、Flash、无线通讯、音频电路、电源等部分组成。上层软件系统基于Linux精简系统,集成定制硬件器件驱动程序,使用Python语言开发各类上层应用功能模块程序,并搭建小型Web交互站点,为用户提供交互操作界面。系统总体架构如下图1所示:
3 系统硬件设计
3.1 控制器核心部分硬件设计
主板PCB由Altium Designer 14软件绘制,后委托工厂加工贴片生产。主控制器选用Allwinner H5 Cortex-A53芯片,搭配SamSung的K484G1646E单片512MB(与GPU共享)内存芯片。Cortex-A53不仅是功耗效率最高的ARM应用处理器,也是全球最小的64位处理器。基于顺序执行的简单8级流水线,并且与ARMv7架构100%兼容。选用SamSung公司单片KLM8G1WEPD-B031 8GB容量的SPI EMMC Flash作为基础操作系统存储器。
3.2 无线通讯部分硬件设计
Wifi通讯部分选用AP6212,支持IEEE 802.11 b/g/n,同时该芯片还支持BT4.2蓝牙通讯,支持短距离蓝牙设备接入。Zigbee通讯控制器选用TI公司的CC2630超低功耗无线微控制器,其内部含有一个 32 位 ARMCortex?-M3 内核,属于超低功耗 2.4GHz RF 器件。
3.3 音频部分硬件设计
PDM选用2颗ADI公司的数字硅麦ADMP521,该型号具有很高的SNR(65dBA)和灵敏度(-26dBFS),其频响范围也比较宽(从100Hz到16KHz)。音频部分选用PCM2902C单片解决方案,该片采用 SpAct 片载模拟PLL实现具有低时钟抖和独立回放和录音采样率的回放和录音功能。为推动本机内置喇叭,选用一片PAM8302A音频放大IC。 该音频放大器输出功率达2.5W,具有低THD+N高质量语音再生功能,无滤波器的新型直接输出无需低通滤波器驱动扬声器。
3.4 外部接口部分硬件设计
以太网接口部分选用一颗Realtek RTL8211E控制芯片,它符合10Base-T,100Base-TX和1000Base-T IEEE802.3标准,可以通过CAT 5 UTP电缆及CAT 3 UTP电缆传输网络数据。
HDMI接口依托H5 Soc芯片内置功能引出,支持HDMI V1.4,最高輸出性能可达4K@30fps,在通常的H.264视频解码工况下,可实现最高1080p@60fps的优良性能。
依托H5 Soc芯片内置功能引出4个USB接口,其中1个USB2.0 OTG,另外3个为USB HOST接口。利用芯片内置PHY,接口可工作于高速480Mbps、全速12Mbps和低速1.5Mbps模式。
3.5 电源部分硬件设计
直流输入5V电源分别经SY8008B、SY8089A、SY8113B及PST73133BETV等降压至3.3V、1.5V、1.2V供CPU、DRAM、WIFI及各类IO等器件使用。音频功率放大集成电路PAM8302A标称工作电压范围2.5V~5.5V,故该部分电路直接使用5V电源工作。
4 系统软件设计
系统应用设计采用多服务功能模块化方式,嵌入式底层软件基于Linux操作系统平台(如下图2所示),主要包括板载硬件驱动、基础控制程序和各部分功能模块基础管理程序,基础控制程序主要完成上电初始化配置、首次使用初始化配置、看门狗复位管理、内部程序的运行管理、外围通信接口的初始化化、整机恢复出厂设置等功能。
基于Cortex-A53处理器的智慧空间管理系统的应用软件主要模块功能有通讯管理模块、语音功能模块、设备管理模块、MQTT消息服务模块、事件管理模块、服务管理模块和自动化策略模块
4.1 设备管理模块软件设计
负责接入设备的连接参数配置、收集信息和控制设备。设备接入参数主要包括但不限于:通讯协议类型、设备地址、设备端口、通讯密钥、连接账号及密码、附加连接参数等(设备接入配置界面设计如图3所示)。
系统内置了一些常见智能设备配置模板,对于已知系统支持的智能设备用户只需要选择相应设备型号的配置模板即可快速完成接入配置。
4.2 事件管理模块
内含事件总线和事件状态机,支持事件的触发和监听。事件总线承载已接入设备的状态更新信息和控制指令信息的双向传递。事件状态机负责跟踪事物的状态,并在状态发生更改时触发状态更改事件。计时器在事件总线上每1秒发送一个时间更改事件,推动系统持续向前运行。
4.3 服务管理模块
负责管理接入外部网络上提供的各类软性服务资源,在事件总线上侦听调用服务事件,并允许其他应用注册提供新的服务。自动化策略模块根据用户配置的判断条件实现自动触发遥控命令发送。
4.4 MQTT消息服务模块
MQTT协议是广泛应用的物联网协议,越来越多的智能设备开始考虑支持此协议接入物联网络,根据协议工作规范,在系统中配置MQTT Broker服务,以便更好支持越来越多的新型智能设备接入。备选的MQTT服务器非常多,如apache的ActiveMQ,emtqqd,HiveMQ,Emitter,Mosquitto,Moquette等。故最终选用轻量级的mosquitto搭建本地MQTT服务器。
4.5 语音功能模块
语音交互功能包含ASR(Automatic Speech Recognition)语音识别与TTS(Text To Speech)语音合成两部分。为实现语音功能的持续可扩展性并满足用户使用此类功能的个性偏好,本系统中将此部分功能设计为远程调用互联网在线服务方式。该模块中允许用户填写在线服务地址、端口、API附加参数及服务账号密码等信息。本地程序负责将从麦克风阵列采集的音频信息传输至在线服务平台,再将服务端反馈的文本信息合成为音频信息经本机音频电路播放。也支持将本地软件应用系统中形成的文本信息发送至远端服务接口,再将反馈的音频文件传输至相关的应用功能模块实现个性化音频播放。
4.6 无线通讯管理模块
本模块主要实现Zigbee控制、Wifi控制、蓝牙控制、红外控制等功能。ZigBee 是一种基于标准的远程监控、控制和传感器网络应用技术。核心市场是消费类电子产品、能源管理和效率、医疗保健、家庭自动化、电信服务、楼宇自动化以及工业自动化。常见的ZigBee模块都是遵循IEEE802.15.4的国际标准,并且运行在2.4GHZ的频段上。另外,欧洲的标准是868MHZ、北美是915MHZ。本系统中选用CC2630作为Zigbee硬件通讯控制,内置Z-Stack协议栈,软件层面实现Zigbee协议工作参数配置及状态监控。功能包括本地模块与远程模块配置,修改模块基本信息、串口信息、无线传送信息、AD数据采集、恢复出厂设置、获取本地信息、搜索网络模块、显示硬件工作状态及复位本地模块等。软件功能实现采用调用操作系统中对应串口通讯方式传输CC2630指令集。其余Wifi、蓝牙及红外硬件模组控制实现方式也采用同样方式实现。
4.7自动化策略管理模块
该模块负责管理系统中的自动化运行规则集。为用户提供输入自动化策略条目的界面,每条规则包含三项参数:触发条件、约束规则及执行动作。触发条件为系统中的事件信息,如1号门锁打开,约束条件可以是用户自定义属性,如下午18时至20时之间,也可为其它事件或状态,如1号门灯处于关闭状态。执行动作可由用户灵活定义,如触发1号门警报器。自动化策略管理程序将根据事件总线上的事件状态更新持续轮询自动化策略规则集内容,发出相应的控制指令。
4.8 用户交互模块
系统与用户交互采用Web方式,便于用户在各类终端上使用浏览器访问操作。考虑到交互界面功能并不复杂及节省系统资源,选择基于微型Python框架Flask实现用户交互站点。
5 关键技术的实现
各类不同品牌的设备分别基于互不相容的技术特性工作运行,它们各有不同的设备属性、操作指令、通讯协议及工作逻辑。如何将这些特性各异的设备进行统一管理并协调运作是本系统实现面临的主要难题。本文中采取解决问题的主要思路既是将各类设备与网络服务资源进行高层次的抽象。在配置设备接入时,将设备属性、通讯方式、控制指令等具体细节分别配置入系统预先定义的抽象设备模型中,之后系统在后续运行时将只关注设备模型的状态及事件。进而由状态机实现对各设备抽象事件的集中响应,响应结果再由设备模型转化为具体设备的控制指令,依据预先配置的具体通讯协议进行传输。
另外,自动化运行是智慧空间系统的一个主要功能特性。为实现可扩展的自动化配置及丰富的功能,文中在事件状态抽象模型之上建立了自动化系统运作机制。即:自动化触发条件、环境条件约束及执行动作三步逻辑。依据系统中收集的各类事件状态,判断符合某些预定条件下触发某些触发器,并通过约束条件筛选,从而执行某些预设的动作。此机制持续循环迭代运行,使得系统整体表现出灵活多样的自动化运行特性。
6 结论
各种商业化智能产品(如小米系列产品、Philips智能灯系列、亚马逊的音响、苹果的Siri、Google Assistant、博联的产品、特斯拉汽车等)仍在快速推陈出新,本文提出了一种便于扩展异构设备兼容性的智慧空间管理系统方案,该方案架构设计考虑了更高层面的设备兼容理念,很容易通过定义设备模型实现对未来新产品的接入管理,最大化保护已有系统投入。方案为智慧空间管理系统进一步研究和設计做出了参考,具有一定的实际应用和推广价值。
参考文献
[1]黄品.物联网底层差异设备兼容性测试模型仿真分析[J].计算机仿真,2019,36(09):334-337.
[2]黄江德,徐清涛.麦克风阵列的自适应降噪算法[J].通讯世界,2020,27(01):124-125.
[3]方志.基于有限状态机的协议适配器浅析[J].计算机与网络,2010,36(12):36-38.
[4]贾霄强,梁斌,李其豪,陈爱莲.基于CC2630的多参数环境信息采集节点设计[J].电子世界,2017(10):190+195.
[5]牛作东,李捍东.基于Python与flask工具搭建可高效开发的实用型MVC框架[J].计算机应用与软件,2019,36(07):21-25.
作者简介
王大勇,1978年6月,男,籍贯:辽宁省昌图县,汉族,工程师,研究方向:信息系统研发。