基于nRF24L01可充电多媒体激光笔的设计
2012-01-04雷明
雷 明
(四川建筑职业技术学院 图信中心,四川 德阳 618000)
在多媒体教学普及的过程中,普遍存在如何将现代化教学设备和教师的课堂教学习惯有机结合的问题。目前大多数多媒体激光笔采用普通电池供电,如果电量不足则会影响使用。而激光笔多在配备了计算机的多媒体教室或会场使用,因此采用可充电锂电池作为电源,利用计算机的USB接口直接给锂电池充电,并且将充电部分直接集成到发射端上,整机体积小,携带方便。
1 硬件电路设计
系统主要由2个部分构成:手持发射端和PC机接收端。手持发射端负责检测按键并通过无线发送数据,PC机接收端接收到无线数据后通过USB接口向计算机发送命令。硬件系统框图[1]如图1所示。
图1 硬件系统框图
1.1 手持发射端
该部分硬件电路主要由锂电池保护电路、充电电路、电源电路、激光二极管发光电路、主控芯片、按键与nRF24L01接口电路组成。锂电池经锂电池保护电路、电源电路后给STC12LE4052AD单片机及后续其他电路供电。主控芯片负责检测按键,并根据按键键值控制nRF24L01模块发送数据。手持发射端硬件电路框图如图2所示。
图2 手持发射端硬件电路框图
主控芯片外围电路主要包括晶振电路、复位电路及程序下载电路。由于该单片机程序下载使用串口直接下载程序,因此在电路设计时考虑到整体系统体积大小,没有做TTL电平转RS232电平的电路设计,只将单片机上的RXD、TXD和地线引出。实际使用时,单独焊接一块TTL电平转RS232电平的模块实现程序下载。STC12LE4052AD单片机采用高电平复位方式[2]。
1)功能键设置。在该部分电路中,共设计3个独立按键,并且在普通的独立按键上进行改进,使得有任意键按下时都能够给单片机发送一个中断信号。同时,为了使产生中断信号时按键互不影响,将每个按键的输出反向串联二极管后接在中断引脚上。为了降低按键时系统的功耗,按键电路里采用较大的电阻。
2)锂电池充放电及其保护。锂电池正常状态下的放电电压为3.7 V,在放电过程中电压会逐渐减小。为了保障锂电池不被损坏,且延长锂电池寿命,锂电池的最低放电电压不能低于2.4 V、最高充电电压不得高于4.2 V。本设计中采用DW01专用锂电池电池管理芯片。
系统采用CN3062对单节锂电池进行恒流/恒压充电,内部固定的充电电压为4.2 V,当外部充电电源掉电时,CN3062自动进入低功耗睡眠模式,耗电电流小于3 mA。此外,电路设计有充电状态指示灯,指示电池是否进入充电状态以及充电是否饱和。外接充电电源采用USB电源进行充电。锂电池充电电路如图3所示。
图3 锂电池充电电路
3)nRF24L01无线模块接口电路。nRF24L01无线模块接口为标准8脚双列直插排针接口,其中模块使能端口CE接单片机的P1.2口、SPI使能端口CSN接P1.3口、SPI时钟信号SCLK接P1.7(即单片机复用SCLK口)、SPI数据输出端口MOSI接P1.5(即单片机复用 MOSI口)、SPI数据输入端口MISO接 P1.6(即单片机复用 MISO口)、IRQ接 P3.3(即单片机外部中断 1)[3]。
4)激光二极管发光电路。本设计采用650 nm激光二极管,其工作电压1.5~2.5 V,工作电流小于100 mA,具体电路如图4所示。
图4 激光二极管发光电路
1.2 PC机接收端硬件设计
该部分硬件主要由主控芯片、nRF24L01模块、USB接口等部分构成。其中nRF24L01模块负责接收手持端发送的数据;USB接口采用PDIUSBD12专用USB接口芯片,负责向PC机发送数据,以控制PC机;RS232串口主要负责程序下载以及调试过程中调试信息显示;主控芯片采用STC89C52RC单片机,主要负责控制nRF24L01模块接收数据、处理数据和控制PDIUSBD12向PC机发送数据。PC机接收端硬件电路框图如图5所示。
图5 PC接收端硬件电路框图
1)主控芯片外围电路
考虑到单片机内部FLASH大小以及IO口数量,本设计采用STC89C52RC,复位电路为高电平复位。主要外围电路接口有 8个 PDIUSBD12并行数据口 D0~D8,PDIUSBD12中断口接单片机外部中断0(即D12_INT接P3.2)。nRF24L01 模块接口有 CE,CSN,SCK,MISO,MOSI,IRQ,分别接单片机P1口线,采用模拟SPI接口与nRF24L01进行通信。
2)PDIUSBD12外围电路
图6 PDIUSBD12外围电路
PDIUSBD12是带并行总线的USB接口器件,符合通用串行总线USB 1.1版规范,集成了SIE FIFO存储器、收发器以及电压调整器,可与任何外部微控制器/微处理器实现高速并行接口2 MByte/s,具有良好EMI特性的总线供电能力,可通过软件控制与USB的连接,具有内部上电复位和低电压复位电路[4]。本系统采用8位并口数据段与单片机相连,图6中LED与PDIUSBD12的GL_N引脚相连,当PDIUSBD12与计算机握手成功时会产生一个低电平脉冲信号,LED指示灯闪烁[5]。PDIUSBD12外围电路如图6所示。
图7 USB数据接口及USB供电电路
3)USB接口电路及USB供电电路
USB数据接口及USB供电电路如图7所示。系统从USB端口引出USB电源作为系统工作电源,图7中R3电阻值为0 Ω,当后续电路发生短路时,产生电流过大将烧坏电阻R3,断开系统与计算机的电源连接,从而保证了计算机的USB端口不被损坏。同时增加L1作为上电指示灯。
图8 手持发射端软件设计流程图
2 软件设计
2.1 手持发射端软件设计
手持端软件设计主要由按键检测和nRF24L01无线数据发送两大部分构成,在系统初始化完成后启动定时器并循环检测有无按键发生:如果没有按键发生并且定时时间达到3 min则认为系统3 min没有被使用,为了降低功耗则让 nRF24L01模块以及STC12LE4052单片机进入掉电模式;如果有按键发生则判断键值并且清除定时时间重新开始计时,根据键值控制nRF24L01发送数据。手持发射端软件设计流程图如图8所示。
图9 PC机接收端软件设计流程图
2.2 PC机接收端软件设计
本部分在系统中主要负责接收并处理手持端发送的数据,然后通过USB向计算机发送指令。PC机接收端软件设计流程图如图9所示。
为了实现单片机对计算机的控制,采用了一个虚拟USB键盘,这样单片机能够发送计算机键盘上的任意一个按键,并且计算机能够识别这个按键,其功能和计算机上的键盘完全一样。
在本系统设计中共使用到3个独立按键,一个组合按键,其中上翻页键为UpArrow1,键值为0X52;下翻页键为DownArrow1,键值为0X51;退出全屏播放为ESCAPE,键值为0X29;从当前页播放为组合键LeftShift(键值为0XE1)+F5(键值为0X3E)。
3 结语
笔者设计的通过nRF24L01点对点无线通信实现便携式可充电的多媒体激光笔能够实现用手持端远程控制PPT幻灯片上下翻页、从当前页播放、退出播放等预设功能,手持端能够使用USB电源进行充电。
[1]吴键,袁慎芳,无线传感器网络节点的设计和实现[J].仪器仪表学报,2006(9):21-23.
[2]昂志敏,金海红,范之国,等.基于ZigBee的无线传感器网络节点的设计与通信实现[J].现代电子技术,2007(10):5-8.
[3]张庆国,童赛美.基于nRF24L01的点对点高速无线数据传输系统设计[J].计算机编程技巧与维护,2009(18):136-140.
[4]李志超,傅建明,许绘香.基于USB接口的高频RFID阅读器设计与应用[J].人力资源管理,2010(4):183-184.
[5]刘云朋,陈阳.USB控制芯片PDIUSBD12典型应用研究[J].计算机知识与技术.2009(25):245-247.