智能电网中智能家居终端的设计
2011-06-01戚银城
焦 腾,戚银城,孙 卓,彭 超
(华北电力大学电子与通信工程系,河北保定 071003)
所谓智能电网,就是指通过新技术能形成业务流、信息流、能量流之间双向互动的未来电网,也叫“聪明电网”。与传统电网比,智能电网孕育着更大的市场空间。智能电网是技术密集、资金密集集合体,将会带动新能源、信息、传感器等传统产业的创新和发展,具有很强的技术辐射性和经济带动性。而智能家居系统就是其中显著的一个方面,智能家居系统的核心设备是智能家居终端,通过它实现系统信息的采集、信息输出、集中控制、远程控制、联动控制等功能。
1 智能家居平台系统的技术特点
智能家庭网络随着集成技术、通信技术、互操作能力和布线标准的实现而不断改进,它涉及到对家庭网络内所有的智能和非智能电器、设备和系统的操作、管理以及集成技术的应用。
(1)家居智能平台系统的组成。
通过智能家庭网关、智能家居终端、具有采集电量和功率功能的插座及其系统软件建立家居智能平台系统。智能家庭网关是智能家庭局域网的核心部分,主要完成家庭内部网络各种不同通信协议之间的转换和发送。
用计算机技术、微电子技术、通信技术,智能家居终端将家庭智能化的几乎所有功能集成起来,使智能家居建立在一个统一的平台上。首先,实现家庭内部网络的数据交换,其次还要保证能够识别通过网络传输的指令是否合法,因此智能家居终端既是家庭信息的交通枢纽,又是信息化家庭的保护神。
(2)通过通信模块和通信协议实现与家电的互联。
为实现家电的控制和相关信息的采集,系统平台通过通信模块并按照特定的通讯协议借助串口发送和接收码流,从而实现家电的控制和信息采集。
(3)硬件中嵌入式系统的应用。
随着功能的不断增加、性能的不断提升,对处理能力和速度提出了更高的要求,所以具有高性能的嵌入式芯片系统将应用到智能家居终端中去。
2 智能家居平台系统的结构
智能家居平台系统的物理框图如图1所示。
3 智能家居终端的功能
智能家居终端的功能包括如下几个方面:
(1)家电控制。家电控制是智能家居终端的主要功能,代表着家庭智能化的发展方向,通过无线通信方式对家庭的用电设备进行控制。
图1 智能家居平台系统的物理框图
(2)用电信息采集和分析。采集家电的用电量、功率、电压和电流等一些用电数据,并以表格或者图表的形式展示出来,为用户分析家庭的用电情况,从而指导用户进行合理用电。
(3)家庭安防。安全是居民对智能家居的首要要求,所以家庭安防成为智能家居的重要组成部分。包括家庭安防报警、门窗磁报警、燃气泄露报警、火灾烟雾报警、紧急求助报警等。当智能家居终端处于布防状态时,一但红外探头探测到家中有人走动,就会自动报警,同时将报警信息报到物业管理中心,还可以将报警信息发到主人的手机或其他移动终端上。
(4)视频通话。智能家居终端上集成了可视对讲功能,可实现终端之间的视频通话功能。
(5)便民信息服务。物业管理中心与智能家居终端联网,对住户发布一些小区信息和小区周边的一些便民服务信息,从而为住户提供生活方便。
(6)增值服务。通过智能家居终端可以实现网上购物,视频点播等增值服务[4]。
4 智能家居终端的硬件设计
智能家居终端的微处理器采用S3C2440A,是三星公司推出的16/32位RISC微处理器,它为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。S3C2440A采用了ARM920t的内核,0.13 μm的CMOS标准宏单元和存储器单元。它采用 AMBA的总线架构。ARM920t实现了 MMU,AMBA BUS和Harvard高速缓冲体系结构。这一结构具有独立的16 kB指令Cache和16 kB数据Cache[2]。
作为智能家居的控制中心,智能家居终端除了具有网络RJ-45接口、PSTN接口、RS-485接口、无线传输模块接口外,还应该提供音频视频接口、报警传感器接口、HUB接口、RS-232接口等。这些接口可以实现音视频的编解码转换,指令的传输接收以及与PC机的结合等功能。
智能家居终端的硬件实现结构如图2所示。
图2 智能家居终端硬件结构图
其中电话控制部分,当用户在远程话机键盘上按下控制按钮后,这些信息采用双音频方式通过电话线发出,MT8870是一款双音多频解码芯片,能够实现双音多频信号(DTMF)的发送和接收。
以太网控制芯片采用CS8900A,它是Cirrus Logic公司生产的低功耗、性能优越的16位以太网控制器。该芯片的突出特点是使用灵活,其物理层接口、数据传输模式和工作模式等都能根据需要而动态调整,通过内部寄存器的设置来适应不同的应用环境。
此外,硬件部分还对SRAM进行了扩展以满足更大的需求。另外由于智能家居终端上的一些重要参数,需要在系统掉电的情况下保留,所以在终端上还进行了EEPROM扩展。
5 智能家居终端的软件设计
5.1 程序设计
在硬件结构基础上,软件系统采用了Linux嵌入式操作系统,内核版本为2.6.28。鉴于所选ARM芯片的性能,从总体需求出发,软件部分采用多进程+进程中多线程的编程方案。程序总体分为两个进程:主进程、Web-Service进程。主进程包括3个线程:主线程、辅线程和次线程[1]。
其中,Web-Service进程为发送命令码流。此处需要说明的是家庭网关也采用Web-Service的方法,智能家居终端作为客户端,而家庭网关作为服务器端。
主控制进程实现了大部分功能,是控制中心的主体。由于实时性、信息回复的不确定性,它开机启动并一直处于运行状态。主线程在程序启动时首先进行初始化,包括硬件各部分的驱动初始化,各个功能模块界面及其基本功能的初始化,还有数据存储部分数据库的初始化。初始化完毕后将进入一个while(1)循环,不停地重复遍历命令结构体链表和返回码流结构体链表,并进行相应处理。辅线程完成命令码流的转换和处理。次线程监听返回到终端的命令码流,并进行相应的转换和处理。
软件部分的总体框图如图3所示。
图3 智能家居终端软件框图
5.2 进程间通信
程序中设计了两个进程,它们之间要进行通信。两个并行进程可以通过互相发送消息进行合作,消息是通过消息缓冲在进程之间相互传递。进程间通信方式采用的是命名管道(FIFO),FIFO是一种先进先出的队列。它类似于一个管道,只允许数据的单向流动。每个FIFO都有一个名字,允许不相关的进程访问同一个FIFO。本程序在/tmp文件系统中定义命名管道,这样当系统重新启动或更新时,管道将被清除,不会占用过多存储空间[1]。
此外,为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放。还有在主进程的3个线程内,为保证两个或多个关键代码段不被并发调用,线程内还使用了信号量,在进入一个关键代码段之前,线程必须获取一个信号量,一旦该关键代码段完成,那么该线程必须释放信号量,其他想进入该关键代码段的线程必须等待,直到第一个线程释放信号量。
6 结束语
智能家居终端及其配套设备将会得到不断的发展和完善,为人们提供更为安全、舒适、便利的生活环境。系统的使用也会更加方便、价格低廉、性能可靠。本文给出了基于ARM芯片的智能家居终端的设计方案,设计了一种可行的硬件和软件模型,在理论上解决了智能家居终端的一些设计问题。
[1]史蒂文斯,拉戈.UNIX环境高级编程:英文版[M].2版.北京:人民邮电出版社,2006.
[2]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.
[3]管耀武.ARM嵌入式无线通信系统开发实例精讲[M].北京:电子工业出版社,2006.
[4]韩江洪.智能家居系统与技术[M].合肥:合肥工业大学出版社,2005.
[5]程璞,李奇,倪超.基于嵌入式系统的家庭智能网络终端设计[J].微型电脑应用,2005,21(10):50-52.