首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于nRF24AP1的智能家居设计方案
来源:本站整理  作者:佚名  2009-07-08 13:18:25




3.2 信道配置
    在ANT节点实现通信之前,必须对信道参数进行配置,这些参数包括网络号、射频频率、信道ID(生产商ID/设备类型/设备号)、信道类型和信道周期。主从结点要求网络号、射频频率和信道周期3个参数设置完全一致,信道类型参数的设置必须一一对应,例如“双向发送信道”对应“双向接收信道”。至于信道ID 参数,则应从节点遵循主节点的设置。
    主机通过串口对信道参数进行配置,配置过程如下:
    ①配置信道之前要进行系统复位,执行ANT_ResetSystem();
    ②分配信道,执行ANT_AssignChannel();
    ③配置信道ID,执行ANT__SetChannelID()。
    同样,各从机也按照主机配置步骤对从机进行信道参数配置,设置自己的信道号、信道类型、网络号等。
3.3 节点配置
    ANT协议中,通信节点建立连接的过程称为节点配对的过程。ANT协议提供两层配对控制,即信道ID和配对比特。
    对于信道ID,只有相同的或兼容的信道ID才允许配对。
    对于信道比特,信道ID参数中“设备类型”字段的最高位规定为ANT的“配对比特”。当从节点对仅知晓部分信道ID参数时,该比特的设置才对配对结果有影响。ANT协议规定,具有兼容的信道ID参数且配对比特的设置也相同的节点才能实现配对。
    如果信道ID的所有数据域都是已知的,将不需要配对比特,因为接收者已经准确地知道要和哪个发送者连接,当使用配对比特并且信道ID的数据域至少一个是wild card时,期望和另一方建立通信的两个节点在连接过程中配对比特必须处于同一状态。
3.4 打开信道,发送数据
    当用户想遥控家电时,主机执行数据发送。主机有输入按键1、2等(代表信道1、信道2)来选择信道,当有按键输入时,主机从休眠模式快速苏醒,快速完成数据传输任务。另还有发送按键“SEND”,用来调用发送数据函数。
    执行过程如下:
    ①打开信道,调用ANT_OpenChannel();
    ②发送数据,调ANT_SendBroadcastData()。
    例如通过按键“1”打开1信道,主程序调用ANT_OpenChannel(1)一>SerialData0xA4,0x01,0x4B, 0x01,0xEF),即调用ANT_OpenChannel(1)将产生串行数据(0xA4,0x0l,0x4B,0x01,0xEF),然后把这些串行数据以比特的形式发送到ANT模块的接收缓存。ANT协议自动移去0xA4、0X01、0x4B、0xEF,即第4个数据0x01为有效数据,放在接收缓存,触发接收中断。

4 液晶模块接口与键盘接口设计
    按键用于数据输入。本设计使用独立式按键,电路简单,每个按键接通一条输入数据线,这样按键工作不会影响其他I/O口。这里用3个按键举例,介绍电路使用查询方式。
    按键1:“CHl”,输入信道“1”。
    按键2:“CH2”,输入信道“2”。
    按键3:“SEND”,发送数据。
    LCD作为人机交互界面,通过按键输入显示选择的信道(CHl/CH2),通过按键输入信道数,执行打开信道函数ANT_OpenChannel()。如打开信道1,执行ANT_OpenChannel(1)。主机处于查询接收状态,主机寻找匹配信道的节点,然后建立连接,等待数据的传输。点“SEND” 按键,执行发送数据消息函数ANT_SendBroad-castData()发送数据。每次打开信道和发送数据消息成功都有LED指示。
    当主机没有数据发送时,主机MCU置SLEEP为高,使主机进入休眠状态,进入省电模式,以达到省电节能的目的。图4为软件实现流程图。

结语
    本设计方案中的智能家居系统利用无线网路芯片nRF24APl传输数据,硬件电路简单。芯片内嵌ANT协议,协议结构简易,使用方便,成本较低,超低功耗,软件设计合理,使用稳定可靠,效率高,而且节点易扩展。这不仅在智能家居方面,还在体育娱乐、远程控制系统、医疗工业自动化及其他新兴无线应用领域,都具有推广价值和广阔的市场前景。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:94,738.28000 毫秒