单片机实现无线呼叫系统设计
随着科技的进步以及生活质量的不断提高,产生了各种不同类型的呼叫系统。传统的呼叫系统多是有线的,比如采用分布控制方式的单片机系统,主机和呼叫器的应答通过一根三芯导线,包括电源线、信号线、地线来完成,各呼叫器并行挂接。这样的系统存在着布线繁琐,安装麻烦、成本高等问题,针对这些问题,无线呼叫系统逐渐发展起来,越来越多的研究者将目光投向了无线领域。
1 系统设计方案
低功耗无线呼叫系统的发送和接收模块的框图如图1,图2所示。
![](../img/eep/emb/emb-11305hfx5g0yc3ox.jpg)
其中图1为无线发送模块,以STC89C52RC为主控制核心,及时响应终端的呼叫信息,然后利用nRF905无线传输模块将呼叫信息发送给无线接收模块进行处理。
图2为无线接收模块,以STC89C52RC为主控制核心,利用nRF905无线传输模块接收呼叫信息,然后利用串口转USB线上传给PC,利用上位机软件可以实时监测。
2 系统硬件电路设计
2.1 3.3V供电电源模块
该设计可用3.3V电压供电,故采用ASM1117-3.3电源供电系统,如图3所示。无线发送模块和STC89C52RC单片机皆为低功耗器件。对发送端而言,在对通信距离要求较远时,也可采用5V供电。接收端可通过与PC连接的USB提供5V电源。核心部件LM1117-3.3是一个低压差电压调节器系列。压差在1.2V输出,此时相应的负载电流为800mA。
![](../img/eep/emb/emb-113060w4zhmnlsq3.jpg)
2.2 单片机控制电路
从电源供给及功耗等各方面的考虑,数据处理部分采用STFC89C51RC/RD+系列的STC89C52RC单片机。
STC89C52RC单片机除具有MCS-51系列单片机FLASH、RAM、分频器、位定时器/计数器等结构外,具有如下主要特点:加密性强,无法解密;超强抗干扰;对外部的电磁辐射低;超低功耗,正常工作模式时典型功耗为4~7mA。
STC89C52RC单片机与单片射频收发器nRF905连接如图4所示。
![](../img/eep/emb/emb-11307s01e5olnb4m.jpg)
2.3 数据传输模块的选择
数据传输模块采用NewMsg_RF905SE模块,该模块采用挪威Nordic公司推出的单片射频收发器nRF905芯片开发而成。NewMsg RF905单片无线收发器工作电压为1.9~3.6V,工作在433/868/915MHz的ISM频段,最大数据速率为100Kb/s。芯片内部由1个完全集成的频率调制器、1个带解调器的接收器、1个功率放大器、1个晶体振荡器和1个调节器组成。ShockBurst工作模式的特点是自动产生前导码和CRC可以很容易通过SPI接口进行编程配置电流消耗很低,在发射功率为+10dBm时,发射电流为30mA接收电流为12.5mA。进入POWERDOWN模式可以很容易实现节电。nRF905是单工工作方式,且在待机模式、接收模式、发送模式之间切换需要延时,所以在无线通信过程中,通信软件应该有合理的时序。表1为nRF905的工作模式及相应功能。
![](../img/eep/emb/emb-11308daigg2shnqr.jpg)
系统软件选用德国Keil公司推出的Cx51编译器,在nVision 2集成开发环境下完成从源程序编辑、编译调试,直到生成最终可执行文件代码的全部过程。该系统的重点是控制nRF905的程序设计。首先应对nRF905进行初始配置,配置完成后按需要编写用户数据的发送和接收程序。
3.1 初始化配置
初始化配置分为以下3个部分:
(1)编写SPIWRITE和SPIREAD子函数,即通过软件为单片机配置SPI功能。
(2)初始化nRF905的射频配置寄存器。这些寄存器中有很多信息,必须根据实际情况进行配置。设计中nRF905外接16MHz晶体,XOF应配置为01,PA2PWB为发射功率,RX2 RED2 PWB为接收灵敏度,可根据需要配置。另外还有发送地址、接收地址、发送数据和接收数据的长度,可根据实际应用配置。
(3)配置nRF905的发送地址,最多4 B发送端的发送地址应与接收端设备的接收地址相同。在实际工作中,nRF905可以自动滤除地址不相同的数据,只有地址匹配且校验正确的数据才会被接收,并存储在接收数据寄存器中。
3.2 发送数据
nRF905发送数据前,通过条用SPI写函数,在待机模式下先把待发数据填进发送数据寄存器。然后把nRF905的TRX_CE、TX_EN引脚都置为高电平,数据就会自动通过天线发送出去。为了数据可靠地传输,将射频配置寄存器中的自动重发位(AUTO_RE_TRAN)设为有效,这样在TRX_ CE被置高的时间内数据一直在重复不断的发送。程序中设计延时500ms,之后拉低TRX_CE引脚,回到待机模式。
3.3 接收数据
STC89C52RC把nRF905的TRX_CE引脚置为高电平,TX_EN引脚置为低电平后,即开始接收数据。在设计中可设定在一定的时间内一直判断nRF905的DR引脚是否变高,若为高,则证明接收到了有效数据,可以退出接收模式;若一直没有接收到,待时间到也退出接收模式。退出后在待机模式,CPU把nRF905内部的接收数据寄存器中的数据读出,即接收到的有效数据。
3.4 主程序设计
在该系统中,主程序包括两部分:第一部分是主机(单片机)部分
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)