摘要:在智能家居系统中,为了实现无线网关对电视、空调、DVD 等家电的智能控制,需要在无线网关和具有红外控制功能的家电之间配备红外转发器。本文采用功能模块化设计方法,设计了基于ZigBee 的红外转发器,该红外转发器主要包括主控模块、红外接收模块、红外发射模块和数据存储模块。试验结果表明,该红外转发器不仅能够正确接收并解析无线网关发送的控制命令,而且能对具有红外控制功能的家电进行有效的控制,具有一定的应用价值。
0 前言
随着信息技术和网络技术的高速发展以及人们居住理念的变化与提升,家居智能化和家电网络化逐渐成为热门话题。智能家居是指将各种信息设备和住宅设备通过网络连接起来,从而构筑舒适、安全、方便的信息化居住空间,满足人们在家中生活、工作、娱乐和交流的需要,提供安防、社区管理和人们外出时了解家居状况的手段。
红外转发器是智能家居系统的重要组成部分,它在整个智能家居系统中的位置如图1 所示。
红外转发器处在系统的无线网关与红外控制设备之间,负责接收由无线网关发送来的ZigBee 信号,然后将相应的控制指令转换成红外信号发射出去,以达到控制红外设备的目的。为此,红外转发器必须具有协议解析、红外信号接收、红外信号发射、数据存储等功能。
1 红外转发器的硬件设计
红外转发器的功能决定了它主要由主控模块、红外接收模块、红外发射模块和数据存储模块四部分组成。
1.1 主控模块
主控模块选用TI 公司的ZigBee 芯片CC2530,它以8051 微处理器为内核,自身携带的射频收发器用来实现网络内的无线通信。在红外转发器的设计中,8051 微处理器负责对整个红外转发器的控制,射频收发器负责与网关的无线通信。
1.2 红外接收模块
红外接收电路如图2 所示。一体化红外接收头1838T 共有三个引脚,供电脚,接地和信号输出脚。因为1838T 内部放大器的增益很大,很容易引起干扰,因此在供电脚上加上滤波电容C5.信号输出脚接到CC2530 的P0_6 引脚,P0_6 为定时器1、通道4 的捕获/ 比较引脚,这里使用的是捕获功能,用来捕获红外信号。没有接收到红外信号时,1838T 输出为高电平,当接收到红外信号时,输出为高电平与低电平组成的脉冲。
1.3 红外发射模块
红外发射电路如图3 所示。D1、D2、R1 和VCC 构成二极管与门电路,LED1 为红外发射管。CCP1 接CC2530 的P0_4 引脚,用来输入对家电的控制(如空调开)所对应的红外编码,CCP2 接CC2530 的P1_4 引脚,用来输入红外发射所需要的38kHz 的载波。
当CCP1 和CCP2 同时为高电平时三极管导通,红外发射管发射红外信号;CCP1 和CCP2 有一个为低电平三极管就截止。当三极管导通时,正确选取R1 和R2 的电阻值使三极管工作在饱和状态,此时红外发射管的发射功率最大。
1.4 数据存储模块
Flash 存储器选用SST 公司的SST25VF016B,其为16Mbit SPISerial Flash,它在单电源2.7-3.6V 下可进行读、写和擦除操作。
通过串行总线接口SPI 的总线兼容协议可访问该Flash 存储器,SPI 主要由四个控制线组成,CE 用来选中该器件,在CE=0 的前提下,通过SI(串行数据输入)、SO(串行数据输出)、SCK(串行时钟)来访问Flash 中的数据。数据存储电路如图4 所示。
设置CC2530 串口1 模式为SPI 主模式,选定P1 口,P1_7为MI,P1_6 为MO,P1_5 为SCK,设置P1_7、P1_6、P1_5 为外设I/O.选定P0 口,P0_7 为CE,设置P0_7 为通用I/O,当CE 为低电平时,才能对其进行读、写和擦除操作。
2 红外转发器的软件设计
2.1 红外转发器软件平台的构建
红外转发器的软件设计是在TI 推出的zigbee2007 协议栈的基础上和瑞典公司IAR 开发的IAR Embedded Workbench For8051 集成开发环境下编程实现的。
ZigBee 的协议分为两部分,IEEE 802.15.4 定义了PHY 和MAC 技术规范;ZigBee 联盟定义了NWK、APS 和API 技术规范。
ZigBee 协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供API,用户可以直接调用。
2.2 红外转发器的软件流程图
红外转发器的软件流程图如图5 所示。
3 小结
该红外转发器以ZigBee 芯片CC2530 为主控器,既能实现对红外转发器的整体控制,又能实现与网关的无线通信,并且可以使用ZigBee2007 协议栈提供的API 进行应用程序开发。试验结果表明,该红外转发器能够正确接收和解析无线网关发送的命令并有效的控制具有红外控制功能的家电,运行良好,达到了预期的目的,具有一定的应用价值。