微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种基于单片机的无线呼叫系统设计

一种基于单片机的无线呼叫系统设计

时间:02-06 来源:互联网 点击:
  随着科技的进步以及生活质量的不断提高,人们要求在消费中得到的服务更加快捷、方便、舒适;同时处于激烈竞争中的服务性企业也需要进一步吸引顾客,提高企业自身的服务档次和形象。在这样的背景下,产生了各种不同类型的呼叫系统。传统的呼叫系统多是有线的,比如采用分布控制方式的单片机系统,主机和呼叫器的应答通过一根三芯导线,包括电源线、信号线、地线来完成,各呼叫器并行挂接。这样的系统存在着布线繁琐,安装麻烦、成本高等问题,针对这些问题,无线呼叫系统逐渐发展起来,越来越多的研究者将目光投向了无线领域。

  1 系统设计方案

  低功耗无线呼叫系统的发送和接收模块的框图如图1,图2所示。

  其中图1为无线发送模块,以STC89C52RC为主控制核心,及时响应终端的呼叫信息,然后利用nRF905无线传输模块将呼叫信息发送给无线接收模块进行处理。

  图2为无线接收模块,以STC89C52RC为主控制核心,利用nRF905无线传输模块接收呼叫信息,然后利用串口转USB线上传给PC,利用上位机软件可以实时监测。

2 系统硬件电路设计

  2.1 3.3 V供电电源模块

  该设计可用3.3 V电压供电,故采用ASM1117-3.3电源供电系统,如图3所示。无线发送模块和STC89C52RC单片机皆为低功耗器件。对发送端而言,在对通信距离要求较远时,也可采用5 V供电。接收端可通过与PC连接的USB提供5 V电源。核心部件LM1117-3.3是一个低压差电压调节器系列。压差在1.2 V输出,此时相应的负载电流为800mA。

  2.2 单片机控制电路

  从电源供给及功耗等各方面的考虑,数据处理部分采用STFC89C51RC/RD+系列的STC89C52RC单片机。STC89C52RC单片机除具有MCS-51系列单片机FLASH、RAM、分频器、位定时器/计数器等结构外,具有如下主要特点:加密性强,无法解密;超强抗干扰;对外部的电磁辐射低;超低功耗,正常工作模式时典型功耗为4~7mA。

  STC89C52RC单片机与单片射频收发器nRF905连接如图4所示。

2.3 数据传输模块的选择

  数据传输模块采用NewMsg_RF905SE模块,该模块采用挪威Nordic公司推出的单片射频收发器nRF905芯片开发而成。NewMsg RF905单片无线收发器工作电压为1.9~3.6 V,工作在433/868/915 MHz的ISM频段,最大数据速率为100 Kb/s。芯片内部由1个完全集成的频率调制器、1个带解调器的接收器、1个功率放大器、1个晶体振荡器和1个调节器组成。ShockBurst工作模式的特点是自动产生前导码和CRC可以很容易通过SPI接口进行编程配置电流消耗很低,在发射功率为+10 dBm时,发射电流为30 mA接收电流为12.5 mA。进入POWERDOWN模式可以很容易实现节电。nRF905是单工工作方式,且在待机模式、接收模式、发送模式之间切换需要延时,所以在无线通信过程中,通信软件应该有合理的时序。表1为nRF905的工作模式及相应功能。

  3 系统的软件设计

  系统软件选用德国Keil公司推出的Cx51编译器,在nVision 2集成开发环境下完成从源程序编辑、编译调试,直到生成最终可执行文件代码的全部过程。该系统的重点是控制nRF905的程序设计。首先应对nRF905进行初始配置,配置完成后按需要编写用户数据的发送和接收程序。

  3.1 初始化配置

  初始化配置分为以下3个部分:

  (1)编写SPIWRITE和SPIREAD子函数,即通过软件为单片机配置SPI功能。

  (2)初始化nRF905的射频配置寄存器。这些寄存器中有很多信息,必须根据实际情况进行配置。设计中nRF905外接16 MHz晶体,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被置高的时间内数据一直在重复不断的发送。程序中设计延时500 ms,之后拉低TRX_CE引脚,回到待机模式。

  3.3 接收数据

STC89C52RC把nRF905的TRX_CE引脚置为高电平,TX_EN引脚置为低电平后,即开始接收数据。在设计中可设定在一定的时间内一直判断nRF905的DR引脚是否变高,若为高,则证明接收到了有效数据,可以退出接收模式;若一直没有接收

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top