利用无线传感器节点技术,结合FPGA 嵌入式平台,本文设计一种智能家居控制器。该系统可以根据需要进行现场编程,利用硬件描述语言实现。完成数据验证、分析、处理、发送和保存,并通过接口传送至终端处理设备或通过INTERNET 查看现场信息,从而提高家居控制器的覆盖面和灵活性。在某小区经试用系统工作正常,完全能够达到用户需要,具有较好的应用价值。
1 引言
智能家居通常定义为利用嵌入式技术、网络技术和综合布线技术, 通过家居控制器将与生活有关的各种子系统有机结合的系统。智能家居一般要求有三大功能单元: 兼容性强的智能家居控制器; 家庭布线系统设计; 家居网络构建; 在智能家居控制器的控制下,具有网络信息终端主动发布、获取和处理信息等功能, 通过相应的控制单元和执行机构, 实现对家居网络上家庭设备的控制和监测, 实现家居系统的网络化、智能化和远程控制。
智能家居控制器可以运行于服务器, 也可以运行在基于FPGA 的嵌入式系统上。基于当前发达的网络资源、覆盖范围大的无线信号及终端设备功能的拓展,可以迅速的根据终端设备反馈的信息作出判断, 同时通过控制器分析数据, 并根据预设条件执行报警、记录、分析等动作。本文构建了一种实时并行的嵌入式智能家居控制器, 该系统可以根据需要进行现场编程,利用硬件描述语言实现。完成数据验证、分析、处理、发送和保存, 并通过接口传送至终端处理设备或通过INTERNET 查看现场信息,从而提高家居控制器的覆盖面和灵活性。
2 嵌入式智能家居控制器系统原理
嵌入式智能家居控制器主要由Spartan-3A DSPFPGA 处理器、TMS320DM365 数字媒体处理器、无线传感器节点、检测传感器、接口模块、终端设备以及客户端构成。由传感器采集并检测区域内数据信息,交由AC / DC 进行数据转换;控制器负责传感器节点的总体操作, 处理本身采集的数据以及由其他节点发来的数据或控制信息; 射频模块负责该节点与其他节点之间的无线通信, 相互交换由汇聚节点或其他上层发来的控制信息和收发所采集的数据; 外挂电源模块供电。客户端包括固定监控端、移动监控端,可提供Web 服务和手机短信提示模式。
图1 智能家居控制器系统结构框图
3 硬件电路设计
3.1 视频信号采集电路设计
采用Spartan-3A DSP FPGA处理器、TMS320DM365数字媒体处理器配合构建可以同时进行4 路H.264 编码的嵌入式设计。Spartan-3A DSP FPGA作为主处理器,除负责完成音频编码、远程控制以及用户交互控制等一些基本的管理与控制外,还负责嵌入式操作系统的运行, 可以完成安防、人体行为、等多项智能视频分析。TMS320DM365 数字媒体处理器作为协处理器负责视频编码算法, 两个处理器之间通过高速同步串行接口通讯, 视频信号首先进入数字媒体处理器, 采集编码后的码流发送到Spartan-3A DSP FPGA 处理器,然后通过软体处理器分析和解码后送至客户端, 并提供可编程的, 更为复杂的符合客户需要的实时报警处理逻辑。通过节点的动态选择数据发送节点, 并在数据发送节点间合理分配数据, 实现高质量的媒体数据传输。
3.2 接口电路设计
EXP 是专门针对FPGA 平台而开发的开放接口,主要使用High-Speed DAC EXP接口和High-Speed ADC EXP接口,Spartan-3A DSP 中的增强型DSP48A Slice使其成为实现数字化前端处理的理想方案。数字上变频器(DUC)由两个多相插值FIR 滤波器、一个CIC滤波器和一个峰均比衰减块组成,可以在Spartan-3A DSP FPGA中实现。输出侧驱动EXP 模块上的高速内插 DAC,进而驱动RF 功率放大器进行传输。在接收侧, 可用500 MSPS 的ADC 对IF 信号直接取样,并将该信号传送到FPGA 进行数字下变频(DDC)支持千兆速率的数据传输, 在本次设计中结合控制器需要器接口电路设计主要是:
⑴ 提供84 个用户I/O,接收来自红外入侵探测器、门磁窗磁、门铃门禁和多种检测传感器的安防警示系统的信号, 为系统报警提供依据; 输出控制信号, 实现声光控制和报警控制;也可接受DVI、VGA、S-Video、组合视频、数码相机摄像头和音频输入, 并产生D V I 、VGA、LCD 面板和音频输出。
⑵ 通过RS232 总线接口接入多功能集中/ 远传自动抄表系统, 可直接与数据采集器相连接, 实现对4 路基表输出的脉冲信号实时采集、自动处理和数据保存。
⑶ 通过USB 接口接入优盘, 提供数据存储功能、功能扩展预留;以ISPll61A1 为核心,提供2 路下行端口,1 路上行端口,遵循USBv2.O 规范。
⑷ 设置面板20 键键盘接口,用户通过键盘或遥控器操作选择相应功能;
⑸ 市话接口: 串接在外线和普通电话之间, 接入市话网, 接收电话控制指令, 可自动拨打预设电话报警, 亦可直接与110 联网报警。
3.3 无线传感器节点Imote2
Imote2 是一款先进的无线传感器节点平台。它集成低功耗的PXA271 XScale CPU 和兼容IEEE 802.15.4 的射频芯片。该处理器可工作于低电压(0.85V)低频率(13MHz)模式,可进行低功耗操作。Imote2 使用动态电压调节技术,频率范围可从13MHz 达到416MHz。处理器支持几种不同的低功耗模式, 如睡眠和深度睡眠模式。提供多种I/O,能够灵活的支持不同种类的传感器、A/Ds、射频器等。I/O 设备包括:I2C,2 个同步串口(SPI)其中一个连至射频器,3 个高速UARTs,GPIOs,SDIO,USB Client 和USB Host,AC97 和I2S 音频编码接口,1 个红外接口,PWM,1 个摄像头接口和1 个高速总线(Mobile Scaleable Link)。处理器还包括多个定时器和1 个时钟。PXA271 包括1 个帮助提高处理多媒体能力的无线MMX 协处理器。此外,Imote2 还增加了30条新(DSP)媒体处理器指令,支持队列及视频操作,并兼容Intel MMX 和SSE integer 指令。
3.4 客户端组成
家庭客户端分为有线模块和无线模块, 无线模块可以通过不同传感器检测信号的变化, 有线传感器输人可与TTL、集电极开路、开关型电路的前端探测器相连,与CPU 通过光耦隔离,增加抗干扰性和保护FPGA 输入端口。探测感应信号通过Imote2 I/O 端口送至无线传感器节点平台。收发出的编码信号经无线接收模块解码后传送给Spartan-3A DSP FPGA 软体处理器核心,信息处理后报送数据, 可通过有线接口电路输出到固定监控端,与PC 机连接,提供Web 服务,并可触发室内报警电路; 或通过接口将数据传送到移动监控端提供手机监控播放模式。
3.5 节点程序设计
图2 节点为主程序框图。它描述了通用模块设计的基本流程, 根据读入跳线的状态和读入存储器中设定的状态, 决定本模块的作用及本模块的工作方式。选定了工作方式以后,重新进行各自的初始化,主要包括I/O端口的配置、RS232 中断的设置、验收滤波器的设置、总线工作方式设置、定时器方式设置、波特率设置以及相关设置。在完成初始化设置后, 就可以回到工作状态, 进入各自的主循环。
图2 节点主程序框图
利用底层覆盖网提供的拓扑维护、资源定位等通信服务的基础上, 动态选择数据发送节点, 并在数据发送节点间合理分配数据, 实现高质量数据传输。
3.6 系统总体框图设计
图3 智能家居控制系统总图
4 软件系统设计
4.1 程序结构图
家庭控制器终端软件采用面向对象的多进程、多线程的程序结构以及并行设计模式。本系统对智能家居的控制、监测可通过远程或本地两种操作方式, 在远程控制方式中, 不需使用本地操作界面, 为了提高系统运行效率, 将程序分为用户应用程序和系统应用程序。
图4 家具控制器程序结构图
4.2 设计方法
采用自顶向下的设计流程, 从系统级设计开始, 划分为若干个二级单元, 然后再把各个二级单元划分为下一层次的基本单元, 一直下去, 直到能够使用基本模块或者IP 核[4]直接实现为止,如图5 所示。可以有效地梳理设计层次, 方便地查看某一层次模块的源代码以修改错误。
图5 自顶向下的FPGA 设计开发流程
4.3 软件流程
从数据节点采集的数据通过EXP 接口送至Spartan-3A DSP FPGA 软体处理器分析、处理、分离和发送数据, 实现数据的及时转换与存储, 建立高速数据转换模式, 其主控流程图和数据线程处理分别为图6和图7 :
图6 主线程控制流程图
5 结束语
利用FPGA 的并行结构,结合无线传感器节点的空间构建,建立基于Spartan-3A DSP 的智能家居控制器系统可以高速实时处理、分析、显示监控对象, 设备结构简单、节点动态分布、传输信号稳定。通过EXP端口和无线传感器节点平台定义可以设置不同的IO 点满足最大范围的家居控制要求。在某小区经试用系统工作正常, 完全能够达到用户需要。
图7 数据线程处理流程图
技术专区
- 介绍单片机中C语言的数据存储与程序编写
- 如何让RT-thread接入机智云来创建一个线程去点亮LED
- 这十大技巧,可大幅提升Raspberry Pi使用体验!
- 嵌入式开发中调试器的技巧与窍门
- 运行在基于FPGA的嵌入式系统上的智能家居控制器设计过程详解