基于Coaex-M3的智能家居电能控制系统设计
射频收发模块是连接插座与遥控器的桥梁。nRF905集成收发器能在3个ISM频段配置使用,且功耗很低。本系统中的所有节点均设置在433 MHz频段工作嘲,射频收发电路原理图如图7所示,其中的SMA接口用来连接特性阻抗为5O Ω的单端天线,有利于信号的全向辐射。单端天线又被称为非平衡天线,其主要参考点为信号地,而nRF905的天线接口(引脚ANT1和ANT2)为差分射频输出端口。为了维持信号平衡,保证两个端口的阻抗匹配,此处在两者之间增加了balun(平衡月乍平衡)电路,对芯片输出端的特性进行调节。
图7 射频收发电路
2.5 GSM通信模块
将短距射频网络与GSM技术相结合,既发挥了短距射频网络配置灵活的特点,又发挥了GSM技术在通信距离上的优势。GSM通信电路的核心是SIM300模块,其外围电路如图8所示。
图8 GSM通信电路原理图
原理图SIM300通过串口与MCU通信,模块与SIM卡之间串联的22 Ω电阻用于阻抗匹配。为保证信号的传输质量,SIM卡数据线作了上拉处理,与引脚并联的SMF05C型静电抑制器用于静电防护。电源与地之间并联的100 μF钽电容和1 μF陶瓷电容用于去除低频毛刺,并在一定程度上兼顾了高频特性。按下按键S1,使PWRKEY引脚的电位拉低约2 s左右,可以完成模块的上电与掉电,当前状态由串联在VDD_EXT引脚上的发光二极管指示。为了便于程序控制,在原有按键的基础上增加了一种三极管开关电路,当模块工作异常时,可以通过软件改写PWR端口的状态来实现SIM300的自动复位。
3 软件设计
遥控器和插座对于整个射频无线网络而言都是其中的节点,但硬件结构上的差异决定了两者功能与地位上的不同,也使得两者在软件设计的方式上有所差别。
3.1 遥控器节点程序设计
遥控器是系统的控制核心,也是用户与插座之间联系的纽带,因此程序中的并发模块多,任务繁重。考虑到遥控器中采用的ARM处理器可提供对操作系统的全面支持,利用μC/OS-Ⅱ操作系统对该节点中的多个任务进行调度 ,可有效保证系统的实时性和稳定性,也有利于功能的扩展。在进行操作系统移植前,需要对任务进行划分,每个功能对应一个系统任务,同时应避免划分过细而导致频繁调度的问题。遥控器节点的程序流程如图9所示,其中包含了7个任务,任务之间通过信号量、消息队列、消息邮箱等方式实现同步与通信。从用户的角度来看,这些任务是并发执行的。
图9 遥控器节点程序流程图
按键扫描任务的优先级在所有用户任务中最高。通过中断方式读取用户输人的按键值,数据存人消息邮箱KeyMbox中,若数字键1-6被按下,则通知射频发送任务处理;若时钟设置按键被按下,则进行时钟调整或定时器设置。时钟定时任务用于获得DS1302的时钟输出值,在定时时间到达后,发送消息通知射频发送任务处理,完成后自动挂起。射频发送任务是根据其他任务中获得的控制码,以射频方式对相应编号的插座发送通断电控制信号,随后等待插座端返回动作信息。若超时无反馈则重发1次,重发3次后任务挂起。危险报警任务需经过同频载波检测,地址匹配确认后,才开始接收射频信号,进而将信息送人邮箱,解码确认危险报警标识后,通过GSM模块,以短消息的方式通知用户。短信接收任务负责接收用户短信,并将其存放在消息邮箱GSMMbox中。通过AT指令“AT+CMGR=I”每次只读取序号为1的短信息,成功提取控制码(包含插座ID号和开关动作码)后,将该条信息删除,并向射频发送任务传递消息。环境监测任务负责对室内温湿度信息循环采样。虽然温度传感器的线性度较好,但外界环境对湿度传感器的影响较大,需对其输出电压值作分段线性化处理。数据存放于消息队列中,最终结果为3次测量值的算术平均值。液晶显示任务优先级最低,待以上任务结束后,负责显示各插座最终的状态、时钟信息以及室内温湿度测量结果等。
3.2 插座节点程序设计
插座节点程序流程如图10所示,其中最主要的工作是实现射频信号的接收与发送。当没有烟雾报警时,nRF905进入接收模式,同时侦听信道;若监测到同频载波且数据包地址有效,则启动接收;当CRC校验结果正确,硬件会自行去除数据包的前导码、校验码及地址码 ,并通知MCU数据准备就绪,进而MCU通过SPI串行总线读取接收到的信息。
图1O 插座节点程序流程图
射频信号发送本质上是接收的逆过程。当nRF905进入待机模式后,MCU将地址与数据信息传送至射频芯片的发送寄存器,同时启动芯片进入射频发送模式,随后片内硬件自动完成对数据的打包、编码、调制及发送任务。一帧数据发送结束后,射频芯片转入待机模式,等待下一
- 基于SIM300的无线LED显示屏控制系统设计与实现(09-08)
- 基于STM32和GPRS的智能公交站牌显示系统设计(08-11)
- 基于LabVIEW的智能家居监控系统设计(03-18)
- 基于Linux/Qt的智能家居系统设计(07-07)
- 基于ARM-linux的智能监控系统设计(08-25)
- 基于Linux的智能家居管理方案(01-05)