基于SPI总线的无线数据传输系统设计

相关专题: 无线 大数据 芯片

摘要: 通过基于SPI总线的无线数据通信设备,利用无线数据收发芯片nRF905和51单片机STC89C52RC进行设计,给出了无线数据传输系统框图和软硬件设计。介绍了SPI总线结构、NRF905无线射频芯片及一种基于单片机模拟SPI接口的方法,使没有SPI接口的单片机扩展为带有SPI接口的外围芯片成为现实。对如何通过SPI实现对nRF905的配置,并利用C语言实现该功能做了探讨。最后对待发送数据进行发送,接收端对数据进行接收显示,从而实现了该无线数据传输系统,实验表明该设备具有准确有效的数据传输功能。

关键词: SPI;单片机;nRF905;无线通信

短程、便捷、廉价的无线通信技术正成为关注的焦点,使人们对它的需求越来越高。例如无线数据采集、无线设备管理和监控、无线抄表以及矿井下的无线通信等都是其典型应用。

1 系统总体结构

文中利用51单片机和无线数据收发芯片nRF905构成无线数据传输系统,给出了硬件和软件设计方案。其数据传输过程是:从传感器输入的模拟信号经AD采集后,将数据输入单片机,然后单片机将该发送数据,通过SPI接口发送给nRF905,nRF905将数据自动加上前导码和CRC码后将数据包发送。当接收端的nRF905接收到有效数据后,DR置高;单片机检测到DR为高电平后,复位TRX_CE引脚,使nRF905进入空闲模式,通过SPI接口从nRF905中读出接收数据,然后通过串口在上位机显示。文中主要介绍的是51单片机软件模拟SPI和无线数据收发这两个部分。图1是该系统的总体结构框图。

2 SPI总线

SPI(Serial Peripheral Interface串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。该接口一般使用4条线:串行时钟线(SCK)、主机输入从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS。可见SPI总线只需要少数的几根线,就可以实现与具有SPI总线硬件接口功能的各种器件进行通信,并且用SPI总线接口简化电路设计,节省许多I/O口线供其它功能使用,提高了设计的可靠性。而对于一些不具有SPI硬件接口的器件,可以用I/O口线来模拟SPI。由于nRF905射频收发模块是通过SPI接口由MCU控制的,而采用不具有SPI接口的单片机,只能通过单片机的I/O口来模拟SPI总线接口,实现无线通信系统的设计。这样当传输速度要求不是太高时,使用I/O口模拟SPI总线,既可以增加应用系统接口器件的种类,同时还提高系统的性能,节约成本。

3 nRF905无线收发芯片

nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压1.9~3.6 V,工作于433/868/915MHz这3个ISM频段,频道转换时间<650μs,最大数据速率为100kbit/s。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和GFSK调制器组成。自动产生前导码和CR校验码,可以很容易通过SPI接口进行编程配置。外围器件连接简单,无需外部SAw滤波器。nRF905有两种工作模式和两种节能模式。两种工作模式分别是ShockBurst TM发送模式和ShockBurst RM接收模式,两种节能模式分别是掉电和SPI编程模式,Standby和SPI编程模式。nRF905的工作模式由TRX_CE,TX_EN,PWR_UP这3个引脚的设置来决定。

4 nRF905和STC89C52RC的硬件连接电路

nRF905具有标准的SPI硬件接口,对于不带SPI串行总线接口的STC89C52RC单片机来说,可以使用软件来模拟SPI的操作。单片机和NRF905的对应接法是:P1.6接MISO,P1.5口接MOSI,Pl.7口接SCIOCK,P1.3接CSN。选用单片机的P1.5模拟数据输出端MOSI;Pl.6模拟数据输入端MISO P1.7模拟SCK的输出端;P1.3模拟从机选择端CSN,由程序清零此I/O口,使得与它通信的NRF905做从机。采用SPI的进行数据传送时,在SCK的每个下降沿将89C52配置NRF905的命令和数据通过MOSI引脚移入,在SCK的每个上升沿将欲传给89C52的数据从MISO引脚移出。所以,这里将串行时钟输出口P1.7的初始状态设置为低电平,选通从机,即P1.3=0低电平后,再置P1.1为高电平。这样,89C52在输出1位SCK时钟的同时,将使NRF905中数据串行左移,从而输出1位数据至89C52的P1.6口,此后再置P1.7为0,使89C52从P1.5输出1位数据至NRF905,至此结束了模拟1位数据的传输。按上述步骤循环8次,即完成通过SPI总线传输1 bit的操作。nRF905有5个内部寄存器,分别是状态寄存器、RF配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器,这5个寄存器都是通过89C52软件模拟的SPI接口来配置的。除了对寄存器进行配置外,89C52还要对nRF905的工作模式进行切换控制。

作者:王华斌,孟立凡,谷宗冉,吴慧飞 来源:电子技术


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

    业界最新资讯


      最新招聘信息

    最新技术文章

    最新论坛贴子