智能照明早在上世纪末已经引入中国,但是由于社会经济的发展与人民消费理念的影响,导致智能照明一直不温不火。直至今日随着科技的高速发展与社会经济的进步,照明控制技术逐渐走进千家万户,银河官方网站3868进入智能控制时代。传统智能照明控制系统采用有线方式,不仅布线难而且维护成本高,移动性能差等缺点,因此智能照明系统逐渐从有线发展到无线智能照明控制。
AMICCOM(笙科)公司于2008年推出的一款2.4 GHz无线收发芯片A7105,该芯片低价位的突出特点为其在无线短距离消费市场赢得了巨大的优势。但与ZigBee系列的标准芯片相比,A7105的开发不具备标准协议,这使得其开发难度大大增加,这也是该芯片迟迟未能得到广泛应用的主要原因。本文采用经过二次开发后的A7105无线收发模块,设计了发送与接收端的软硬件电路。发送端通过按键控制来实现数据的发送,接收端接收到信号后,控制LED的亮灭,实现了无线控制功能,为进一步研究实用的室内照明无线遥控系统奠定了良好基础。
1 A7105及无线收发模块
A7105是一颗低成本且高效能的收发器并适用于2.4GHz ISM频段的无线应用。A7105内整合高感度的接收器(-95dbm @ 500Kbps)及高效率的功率放大器(最大1dBm)。当使用低传输率时,由于A7105内建极高的灵敏度的接收器(-107 dBm @ 2Kbps,- 104 dBm @ 25Kbps),外部不需额外的LNA或PA就可有极优异的无线可视距离。使用者可藉由Data Rate缓存器(0x0E)调整传输率(2kbps ~ 500kbps)。A7105采取快速变频设计(130 us @ settling time),相当适合跳频的系统。A7105内建 64-bytes的
TX-FIFO与RX-FIFO(经由设定,亦可以括展至256 bytes),对于开发者而言,接收与传送都有data buffer,封包容易处理。A7105针对封包处理亦支持CRC,FEC,RSSI与Data Whitening。CRC可以用于错误侦测,FEC可针对每个code word实现1-bit的错误更正,Data Whitening相当于数据加解密。RSSI用于通道干净指针(Clear channel assessment)。当开发一个无线系统时,这些功能非常便利使用。所有功能整合在一个QFN 4x4 20封装内。
A7105的所有缓存器可经由3线式或4线式的SPI读写。在省电模式下,A7105支持sleep mode,idlemode,standby mode。A7105有一组独特的SPI指令集用来控制芯片工作模式,这组命令称为Storbecommand。经由Strobe command,MCU可以控制A7105所有的功能,包含省电模式,数据传输与接收,信道监视,跳频功能,与自动校正。此外,A7105支持GIO1与GIO2用来通知MCU目前芯片状态,因此MCU可用使用轮询或中断的模式来控制发射与接收。因为GIO1与GIO2的数字接口,MCU可以非常的便利监看A7105无线传输状态。
本文使用的是经过二次开发的以A7105为核心的无线收发模块。该模块集成了无线收发的基本元器件,A7105的SCS、SCK、SDI0、GPIO1、GPI02等管脚已预留接口,便于和微处理器相连。模块上带有PCB天线,如果想增大传输距离,也可以外置天线。该无线模块采用直流电源,工作电压为+3.3 V,最大工作电流不超过21 mA,电源可以和别的设备公用,但要注意电源的质量和接地的可靠性。为防止静电或强电击穿,在系统设备中使用时,需要可靠的接地,接地的同时需与市电完全隔离。
2 室内照明无线控制系统
室内照明无线控制系统由1个主遥控器和多个无线遥控终端(无线开关)组成。由于室内距离较短,故系统拓扑结构采用星型结构,如图1所示。各个无线开关用于控制室内各个照明灯具,在遥控器上有多个按键,用于控制室内的无线开关,从而实现对照明灯具的无线控制。
图1 室内照明无线开关遥控系统原理
在主遥控器和各个无线开关终端中,核心元件均为A7105模块和AT89C2051单片机。在A7105模块中,已将A7105芯片及其正常工作所需的基本硬件电路制作完好,并留出了与微处理器相连的接口,因此A7105模块的推出为该芯片的应用提供了很大的方便。AT89C2051单片机内部有非易失性Flash存储器。
这为无线开关终端始终保存自身的地址信息提供了便利,不需额外增加硬件地址电路,从而降低了系统的成本。
在遥控器(发射电路)上有多个按键,当某个按键按下时,遥控器发送1个64位的地址信息。各个无线接收终端接收到该信息后,唤醒微处理器将接收到的地址信息与自身的地址进行对比,若相同,则启动继电器控制开关进行动作,同时将信息回馈给主控制器,以示接收成功;若不相同,节点则继续进入睡眠模式,等待下一次唤醒。
3 系统硬件电路设计
在本系统中,采用AT89C2051的P1口管脚与A7105无线收发模块进行数据传递。对于A7105无线收发芯片,其控制是通过SPI串行操作读出或写入数据的,SPI串行操作可以采用三线制或四线制。这里采用四线制,遥控器的电路如图2所示,接收电路如图3所示。在接收电路中,当接收到数据之后,通过P3.7的循环取反,实现对LED灯的亮灭控制。
图2 发射硬件电路
图3 接收硬件电路
由89C2051单片机的p1.0作为A7105模块的片选信号,P1.1为模块提供串行时钟信号。P1.2与模块的SDI引脚相连,负责地址信息由单片机输出和进行数据写操作时的数据写入A7105。P1.3管脚与模块的GI01相连,当进行数据的读操作时,由P1.2送出8位地址信息,数据则通过GI01管脚被读入单片机内部。采用四线制,需要对A7105中的GPI0x的控制寄存器进行设置,这里使用的GI01作为输出管脚,因此需要将GPI01 Pin Control Register(地址位0Bh)中的GPI01S3~GPI01S0四个二进制位设置为“0110”即可。四线制的SPI读写时序分别如图4和图5所示。
图5 四线制SPI串行接口的读操作时序
由于A7105的工作电压范围为1.9~3.6 V,AT89C2051的工作电压范围为2.7~6 V,所以在本实验系统中,将其电压统一为3 V,采用两节5号电池供电。在以后的实验中,可考虑采用低压差电压调节器LM1117。
4 系统软件设计
A7105无线收发芯片有两种工作模式:FIFO(利用RF内部的存储器先储存要发射/接收的数据)和Direct(直接发射/接收)模式。不同的工作模式可以由初始化相应的寄存器来设定。在本系统中,设置A7105工作在FIFO模式下,此时最大可以写入64个字节的数据,这里设置8个字节(64 bit)的数据作为接收模块的地址信息。
4.1 A7105的初始化
A7105芯片在上电之后,首先进行的就是初始化,下面结合初始化程序进行说明。
4.2 发射电路程序设计
发射电路在上电之后,首先对A7105无线收发模块进行初始化,之后进入按键检测状态。若有按键按下,则进行发送数据,之后进入等待接收来自接收电路的反馈信号。在电路初始化时,已将A7105的GI01管脚设置为高电平,进入等待接收数据后,如果有数据到来,则GI01管脚变为低电平。当数据到来时,将GPI01 Pin Control Register(地址位OBh)中的GI01I设置为1,可以让GI01管脚输出反向。发射电路的系统程序流程如图6所示。
图6 发射模块的程序流程
4.3 接收电路程序设计
在接收电路中,MCU首先初始化A7105模块,和存储64位的地址信息,然后进入等待接收状态。当接收模块接收到发送电路发来的数据后,与自己内部储存的64位的地址信息进行对比,若相同,则发送确认信息,并控制P3.7管脚输出低电平,点亮LED,其主程序流程如图7所示。
图7 接收模块的程序流程
5 结论
该系统采用89C2051和A7105无线收发模块,实现了LED的无线遥控,为进一步研究室内照明无线遥控系统奠定了基础。当然,本系统电路和实际使用的无线遥控系统还有一定差距,主要表现在以下三点:1)实用的室内无线照明系统的接收模块是通过继电器去控制220 V的交流电,本系统中仅以一个LED来模拟;2)实际中有多个无线接收模块,因此在主控制器中也应该有多个按键;3)本系统尚未考虑节能的问题。如果采用电池供电,必须考虑节能的问题,在没有数据传输时,均应考虑让单片机和无线收发模块进入体眠模式。如果能从220 V交流电中获取能量,则可以不考虑能量的问题,但会使得设计成本增加。
从上文可以看出,该系统优点在于价格低廉,A7105无线收发芯片如果批发购买那么每片不足5元。如果设计成实用的产品,需要增加继电器,而目前普遍的继电器在5元左右,批量购买的话会更低。再加上外壳等,成本价一共大概在15块之内。因此,如果本系统可以成功应用在智能照明控制中,售价非常低廉,让更多用户可以接收,可以想象的出低廉的价格可以使其有广阔的市场。
该芯片的详细资料点击A7105-2.4g射频芯片看看吧