DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1990|回复: 1
打印 上一主题 下一主题

[待整理] 基于2.4G的智能家居控制系统设计

[复制链接]
跳转到指定楼层
楼主
发表于 2015-5-1 19:12:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
  摘要: 无线通信技术不仅广泛应用于工业控制中,在人们的日常生活中也得到大力的推广和应用。本文介绍了基于24G无线通信技术的智能家居控制系统设计和实现方法,对系统主要硬件电路进行了设计,并系统地分析了无线通信中的载波监听技术及载荷的数据结构。
  关键词: 2.4G;智能家居控制系统;无线通信协议

  Abstract: Wireless communication technology not only is widely used in industrial control, but also is spread and applied in people's daily life. This paper introduces a design and implementation method of intelligent home control system based on 2.4G wireless communication technology. Main hardware circuits of the system are designed. CSMA technology and data structure of the load in wireless communication are analyzed.
Key words: 2.4G ;intelligent home control system ; wireless communication protocol

  引言
  近年来,无线通信技术快速发展,涌现出蓝牙、ZigBee、WiFi和RFID等无线通信技术。无线通信产品因为其便捷性、安全性和易操控性等优点,已经被大多数人接受、采纳和使用。本文设计的基于2.4G智能家居控制系统采用2.405~2.485 GHz无线频段,该频段是国际规定的免费频段,不需要向国际相关组织缴纳任何费用,为24G无线技术可持续发展提供了必要的有利条件。由于2.4G采用全双工模式传输,在抗干扰性能上比之前的27 MHz有绝对的优势;传送速率高达2 Mbps,是蓝牙传送速率的两倍,对于较大容量的数据传输更具吸引力。
  无线智能家居控制系统在国外一些高档公寓得到广泛的应用,但在国内由于价格昂贵,没有得到普及。本文设计的无线控制系统采用nRF24LE1无线模块,同时该芯片的开发体系比较成熟。系统中还加入光学手指(OFN)模块,能够远距离对主节点进行操作,实现空中鼠标功能,通过PC界面进行远程操作,真正实现了无线控制。
1 原理分析
1.1 无线模块简介
  目前,2.4G无线通信技术中常用的芯片有挪威Nordic公司nRF24LE1无线芯片模组、以色列RFWave公司的RFW102无线芯片模组等。根据设计需求、性能及成本估算,采用nRF24LE1和nRF24LU1+作为处理主芯片进行数据传输。
  nRF24LE1用作每个节点的收发主控芯片,其内部有增强型的8051 MCU和内嵌2.4G低功耗无线收发内核nRF24L01P两个部分,空中速率最高达到2 Mbps,保证大容量数据的无线快速传输。MCU和无线收发内核之间通过SPI接口进行通信。该芯片还内嵌很多丰富的模块,尤其是内置128位AES硬件加密器,可对主节点到从节点的无线传输过程进行高强度的加密,确保数据传输的安全,特别满足RFID对高安全性的要求。射频收发器可配置为4种工作模式:掉电模式、待机模式、接收模式和发射模式。通过配置CONFIG寄存的PWR_UP、PRIM_RC、RFCE和RFCSN实现4种模式之间的切换,实现低功耗设计的思想。
  nRF24LU1+作为主节点的主控芯片,与PC相连接,通过其内嵌的USB2.0接口,实现与PC之间的通信,确保其时效性和快速性。该芯片内部与nRF24LE1相似,同样包含8051 MCU和无线收发内核nRF24L01P。
1.2 光学手指模块简介
  光学手指模块(即光学手指导航模组)依附于nRF24LE1芯片,构成一个节点,实现远程控制终端设备功能。其作用是远程对与PC相连接的主节点端发送数据。根据应用程序响应,通过主节点端发送数据包到需要控制的从节点,控制从节点连接的电器设备。
  本系统采用创讯达CD001型光学手指导航模组,在移动设备的屏幕上实现类似鼠标操作功能。其供电电源电压为2.6~3.3 V,低功耗特性使其可以做成一个由蓄电池供电的手持终端设备。其原理大致为:通过安装在感应区周围的LED发出红外线(波长为870 nm)照射手指,部分红外线将会被反射到感应区,感应区根据这些反射的红外线转化成数据,计算出手指移动的方向和速度,然后以相对坐标的形式输出,通过I2C总线接口与nRF24LE1主芯片进行数据通信。光学手指导航模组如图1所示。



图1 光学手指导航模组
1.3 系统架构及工作原理
  2.4G智能家居控制系统是基于2.4G无线收发芯片和光学手指导航模组为基础所设计。系统架构如图2所示。
  nRF24LE1与nRF24LU1+均采用nRF24L01P无线收发内核。nRF24L01P在对数据包处理过程中采用增强型ShockBurst模式。增强型ShockBurst模式下nRF24L01处于接收模式时可以接收6路不同通道的数据,如图2所示,每一个数据通道使用不同的地址,但是共用相同的RF频道。当6个nRF24LE1设置为发送模式后,可以与同一个设置为接收模式的nRF24LU1+进行通信,而设置为接收模式的nRF24LU1+对6个发射端进行识别。数据通道0是唯一一个可以配置为40位自身地址的数据通道,因此把数据通道0作为空中鼠标的数据传输通道。
  数据通道1~5均为8位自身地址和32位公用的高地址。因此,这5个数据通道可以配置为需要控制的家用电器,如数字机顶盒、空调和微波炉等等。只需要在每个家用电器上安装以nRF24LE1为主控芯片的无线模块,就可实现;利用空中鼠标对PC远距离操作,再由PC端主节点发射控制信号,按照用户的需要实现控制电器的功能。
2 硬件电路
  硬件电路包含3个部分:nRF24LE1为主控芯片的从节点端,nRF24LE1和OFN模组的空中鼠标,以及nRF24LU1+为主控芯片连接PC的主节点端。下面具体阐述后两者的电路设计。



图2 系统架构
2.1 PC主节点端
  主节点端采用的芯片nRF24LU1+,内嵌USB功能模块,只需在外围提供4个接口即可实现其功能。接收端天线由电容和电感匹配,功能包括对信号的选频和谐振;对不需要的信号频率滤波,使接收到的数据信号和发射端的数据信号达到完全相同。电容和电感的参数配置根据运算得出。该部分由于体积较小,没有设置复位按键,如果需要复位,只需要重新插拔接收端至PC的USB接口。主节点电路如图3所示。
2.2 OFN模块
  OFN模块和nRF24LE1共同组合实现空中鼠标功能。两者之间的连接是通过I2C总线进行通信,因此需要将CD001的IO_MISO_SDA、IO_CLK两引脚与nRF24LE1芯片的两个GPIO口相连,完成I2C总线数据通信。采用片状DOME按键,贴在模组的背面。DOME-引脚与地相连,DOME+引脚给后端MCU,MCU判断是否已经按下,这个键一般作为确定键使用,类似鼠标左键。在该系统中,光学手指模块就是发挥鼠标的功能。因此这个节点设备同样可以适用于所有PC,其兼容性确定了该设备可以得到普及。OFN模块电路如图4所示。



图3 nRF24LU1+主节点电路图



图4 OFN模组电路图
3 无线通信协议
3.1 载波监听技术
  为了实现在同一个范围内多点间通信,需要考虑数据在大气中传输时的相互碰撞问题。目前,为了建立可靠的无线传输通路,避免多节点无线通信冲突的常用方法有频分多址(FDMA)、时分多址(TDMA)、调频(FHSS)、载波监听(CSMA)等技术。本系统根据芯片硬件技术,采用了CSMA技术。
  nRF24LE1集成了载波检测功能,可以准确地检测当前工作是否有干扰,保证在WLAN环境下可靠地工作。其SPI接口与外接微控制器的通信速率高达10 Mbps,具有切换高速、独特的特点,减少了与跳频系统出现碰撞的可能。
  采用nRF24LE1的Enhanced ShockBurst模式进行通信。对于主机节点,主节点跳频流程如图5所示。主节点始终处于载波检测状态,当仅收到一次乱码干扰的时候,可能是与蓝牙系统发送冲突,主机不必改变信道;当持续收到当前频率的乱码干扰时,说明收到的不是脉冲干扰,而是稳定的干扰。这时 nRF24LE1需要按照已设定的信道列表跳转到另一个信道。
  对于从节点,发送完数据后等待主机的 ACK,如果没有收到 ACK,表示发送失败,则在相同信道上重发3次。由于蓝牙系统在每个信道上停留时间大约为650 μs,而 nRF24LE1发送数据并等待接收对方ACK的时间大约为1 ms。因此,如果第一次发送失败是由于与蓝牙系统发生冲突,那么第二次发送一般可以顺利到达接收方。如果3次发送均失败,说明受到的不是脉冲干扰,而是稳定的干扰。因此,需要nRF24LE1按照已设定的信道列表跳转到另一个信道。软件编程时可以设置需要跳频时查表即可,这也决定了一次只能对一个节点设备发出控制信号。从节点跳频流程如图6所示。



图5 主节点跳频流程 图6 从节点跳频流程
3.2 载荷的数据结构
  载荷的数据结构如下:



  帧头:通过帧头判断数据类型,如主机申请数据、加入网络、退出网络、广播信号等,根据帧头的不同,对载荷采取不同处理方式。
  类ID:通过类ID划分不同类型设备。根据这个值的不同可以识别每个节点设备名称。
  设备ID:划分同类型的设备。
  数据长度:定义所要发送的数据长度。
  数据:要发送的数据。
  总帧数:一个数据包总帧的个数。
  帧号:标记此刻传输的第几帧数据。
  帧头、ID、数据长度和数据都是由PC通过USB接口传输到8051 MCU部分,再通过SPI传给RF部分,RF部分再自动把这些数据包组装成无线传输的格式。该方式的优点是用总帧数和帧号保证断点续传。
结语
  本文介绍了基于2.4G无线通信技术实现智能家居控制系统的设计方法,详细阐述了创新部分的电路设计;同时系统地分析了无线传输协议的制定和载波监听技术在该系统的应用。该系统基于PC平台,在以后的研究中,可以考虑使用基于ARM平台的手持终端,实现更完善的智能家居一体化控制系统。

参考文献
[1] 谭晖.nRF无线SOC单片机原理与高级应用[M].北京:北京航空航天大学出版社,2009.
[2] 张毅坤,陈善久,裘雪红.单片微型计算机原理及应用[M].西安:西安电子科技大学出版社,1998:124156.
[3] 薛圆圆.USB应用开发技术大全[M].北京:人民邮电出版社,2007:4468.
[4] 王贤坤,陈新华.基于nRF24E1无线模块的智能家居无线局域网[J].信息技术与信息化,2009(1).
[5] Nordic. nRF24LE1 data sheet,2012.
[6] 创讯达电子有限公司. 光学手指CD001 Datasheet,2012.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-28 05:26 , 耗时 0.106402 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表