基于ATmega16和nRF905的无线射频收发系统设计
作者:孙志凯
来源:中电网
日期:2009-09-16 11:16:57
摘要:本文给出了用ATMEGA16L单片机和nRF905无线射频器收发组成的一种无线数据传输系统的设计方案。该系统由发射和接收模块组成。发射模块主要将要发送的数据经单片机处理后,通过nRF905发送出去。在接收模块中,nRF905则将数据正确接收后通过数码管显示出来,从而实现短距离的无线通信。
0 引言
随着当今电子科技的飞速发展,各种智能化控制系统(比如智能化小区内部的无线抄表系统、门禁系统、防盗报警系统和安全防火系统等)、工业数据采集系统、水文气象控制系统、机器人控制系统、数字图像传输系统等等,都已经离不开数据信息的电子传输。可以说,数据信息传输系统是各种智能化控制系统的重要组成部分。而数据传送大部分采用有线数据传送方式,如并行传送、串行传送和CAN总线等等。在有线数据传输方式当中。数据的传输载体是双绞线、同轴电缆或光纤。其实,数据传输还可以用无线传输方式,即通过空气或真空实现数据传送。相比于传统的有线数据传输方式,无线传输方式可以不考虑传输线缆的安装问题,从而节省大量线缆,降低施工难度和系统成本,因而是一个很有发展潜力的研究课题。
本文给出了用ATMEGA16L单片机和nRF905无线射频器收发组成的一种无线数据传输系统的设计方案。该系统由发射和接收模块组成。发射模块主要将要发送的数据经单片机处理后,通过nRF905发送出去。在接收模块中,nRF905则将数据正确接收后通过数码管显示出来,从而实现短距离的无线通信。
1 收发系统硬件设计
1.1 系统硬件总体方案
本系统的总体框图如图1所示,图中箭头指向表明信号的走向。本系统从功能上可以分为电源模块、中心控制模块、无线收发模块、接收数据显示模块等四个部分。
1.2电源模块
本设计需要3.3 V电压。故可用三端可调输出集成稳压器LM317来产生3.3 V电压。图2所示是用LM317产生3.3 V电源电压的电路原理图。
1.3单片机控制电路
该系统选择AVR ATMEGA16L单片机来进行控制电路的设计。其原因主要是该单片机具有以下特点:
(1)速度快
AVR单片机在单一时钟周期内能够执行功能强大的指令,每MHz可实现MIPS的处理能力,是具有最高MIPS/mW能力的8位单片机。AVR单片机采用大型快速存取寄存器文件和快速单周期指令。其快速存取RISC寄存器文件由32个通用工作寄存器组成。
(2)片内资源丰富
内含8通道10位AD转换器的最高采样率为15kSPS,可满足本系统所要求的8kSPS的要求;SPI(Serial Peripheral Interface,串行外设接口)控制器可简化单片机与串行DAC和无线收发芯片之间的通讯,减少连线;而512字节的EEPROM则可在掉电时存储用户信息:该单片机有两个外部中断,可确保单片机及时响应并处理最新收到的信息。
(3)可重复擦写并可在系统编程(ISP)
AVR单片机ATMEGA16L中的程序存储空间采用的是Flash存储技术,因此,该单片机的内部存储单元可在线重复擦写1000次以上。
(4)低功耗
AVR ATMEGA16L单片机的工作电压范围为2.7~5.5 V,同时具有休眠省电功能(POWERDOWN)及闲置(IDLE)低功耗功能,此时的一般耗电在1~2.5 mA之间。由于本系统以移动性和低功耗见长,因此,采用此单片机芯片可以满足系统对功耗的要求。
(5)带有同步串行接口SPI
SPI是一种同步串行外围总线系统接口,它可以使微处理器与各种外围设备以同步串行方式进行信息交换。SPI总线一般使用四根信号线:SCK(串行时钟)、MISO(主机输入/从机输出)、MOSI(主机输出/从机输入)和SS(低电平有效的从机选择)。利用SPI总线可以在软件控制下构成各种系统。
ATMEGA16L单片机内含一个标准的SPI接口,可用于单片机与单片机或外设之间进行高速同步数据传输。它使用标准的四线接口。SCK、MISO、MOSI、/SS分别与PB7、PB6、PB5和PB4复用。在硬件设计时,本设计把MCU的SPI接口、nRF905的SPI接口.以及另外选定的几个I/O口连接到nRF905的输入输出信号。ATMEGA16L与外围器件的连接电路见图3所示。
1.4无线收发芯片nRF905简介
系统中的无线收发电路采用挪威Nordic公司的单片无线收发器芯片nRF905。该芯片的工作电压为1.9~3.6 V,采用32引脚QFN封装(5×5 mm),可工作于433/868/915 MHz三个ISM(工业、科学和医学)频段,是一个真正的单片UHF无线收发芯片。nRF905采用FSK调制解调技术,频道之间的转换时间小于650μs。nRF905集成度高,由一个完全集成的频率调制器、一个带解调器的接收器、一个功率放大器、一个晶体振荡器和一个调制器组成,工作频率稳定可靠,外围元器件少,不需外加声表滤波器,ShockBurstTM工作模式,能自动产生前导码和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。此外,nRF905最高工作速率可达20 k,发射功率可以调整,最小为-10 dBm,最大为+10 dBm。其功耗非常低,以-10 dBm的输出功率发射时电流只有11 mA,工作于接收模式时的电流为12.5 mA,内建空闲模式与关机模式,易于实现节能,适合便携式产品的设计。
1.5无线收发电路设计
本系统的无线发射接收电路主要利用nRF905与外围器件构成的电路组成,其主要部分是天线。简而言之,就是一个特定形状的导体,它可以将电流转化为射频能量并以电波形式发射出去.或将无线电波接收进来。任何一个无线系统都有天线,天线设计的好坏直接影响无线系统的收发能力。图4所示是用nRF905差分连接的环形天线图。
2 系统软件设计
本系统中的无线数据传输主要由无线数据收发器nRF905、ATMEGA 16单片机和显示部分组成。nRF905收发器与单片机ATMEGA16L间通过SPI口进行通信。因此,软件设计过程中的重点是nRF905数据的发送和接收过程。
2.1 nRF905的数据发送过程
发送数据时的工作流程如图5所示。当MCU有遥控数据节点时,接收点的地址(TX-address)和有效数据(Tx-payload)将通过SPI接口传送给nRF905。设计时应使用协议或MCU来设置接口速度。
可用MCU设置TRX-CE,并使TX-EN为高电平来激活nRF905的ShockBurst传输。通过nRF905的ShockBurst可使无线系统自动上电,并完成数据包(应加前导码和CRC校验码)的数据码发送(100 kbps,GFSK,曼切斯特编码)。
如果AUTO-RETRAN被设置为高电平,那么,nRF905将连续地发送数据包,直到TRX-CE被设置为低电平为止;而当TRX-CE被设置为低电平时,nRF905则结束数据传输,并将自己设置为standby模式。
2.2 nRF905的数据接收过程
当系统接收数据时,其接收数据流程图如图6所示。系统的工作过程如下:
首先,在650μs以后,nRF905将不断监测空中的信息;当nRF905发现有和接收频率相同的载波时,其载波检测(CD)被置为高电平;此后,当nRF905接收到有效地址时,地址匹配(AM)被置为高电平;
在这之后,当nRF905接收到有效的地址包(CRC校验正确)时,nRF905将去掉前导码、地址和CRC位,同时将数据准备就绪位(DR)置为高电平,并用MCU设置TRX-CN为低电平,以进入standby模式,从而使MCU能够以合适的速率通过SPI接口读出有效的数据;当所有的数据读出后,nRF905将AM和DR设置为低电平,以便使nRF905准备进入ShockBurst RX、ShockBurst TX或Powerdown模式。
3 结束语
无线射频收发芯片nRF905内置有天线,同时内部集成有调制,解调、编码/解码等功能,故在通信过程中能自动生成前导码和CRC校验,而不需要"接人"网络就能享受通信服务。本设计根据nRF905的特点设计的无线数据收发系统,经过多次实验证明,其发射端能正确地将数据传送出去;同时,经nRF905发射后,接收端也能正确接收并显示数据,有效通信距离大于200米。在有障碍物体的混凝土结构的建筑内测试,其有效直线通信距离大于50 m。此外,该系统采用了比较完善的软件、硬件设计以及抗干扰措施,这样,就可以保证系统工作的安全性和可靠性,并具有通用性,便于投入实际应用,而且稍作改动就可以应用到小区传呼、工业数据采集、生物信号采集,无线遥控等其它一些短距离无线通信领域,以实现无线数据的双向传输,具有较好的市场应用价值。
随着当今电子科技的飞速发展,各种智能化控制系统(比如智能化小区内部的无线抄表系统、门禁系统、防盗报警系统和安全防火系统等)、工业数据采集系统、水文气象控制系统、机器人控制系统、数字图像传输系统等等,都已经离不开数据信息的电子传输。可以说,数据信息传输系统是各种智能化控制系统的重要组成部分。而数据传送大部分采用有线数据传送方式,如并行传送、串行传送和CAN总线等等。在有线数据传输方式当中。数据的传输载体是双绞线、同轴电缆或光纤。其实,数据传输还可以用无线传输方式,即通过空气或真空实现数据传送。相比于传统的有线数据传输方式,无线传输方式可以不考虑传输线缆的安装问题,从而节省大量线缆,降低施工难度和系统成本,因而是一个很有发展潜力的研究课题。
本文给出了用ATMEGA16L单片机和nRF905无线射频器收发组成的一种无线数据传输系统的设计方案。该系统由发射和接收模块组成。发射模块主要将要发送的数据经单片机处理后,通过nRF905发送出去。在接收模块中,nRF905则将数据正确接收后通过数码管显示出来,从而实现短距离的无线通信。
1 收发系统硬件设计
1.1 系统硬件总体方案
本系统的总体框图如图1所示,图中箭头指向表明信号的走向。本系统从功能上可以分为电源模块、中心控制模块、无线收发模块、接收数据显示模块等四个部分。
1.2电源模块
本设计需要3.3 V电压。故可用三端可调输出集成稳压器LM317来产生3.3 V电压。图2所示是用LM317产生3.3 V电源电压的电路原理图。
1.3单片机控制电路
该系统选择AVR ATMEGA16L单片机来进行控制电路的设计。其原因主要是该单片机具有以下特点:
(1)速度快
AVR单片机在单一时钟周期内能够执行功能强大的指令,每MHz可实现MIPS的处理能力,是具有最高MIPS/mW能力的8位单片机。AVR单片机采用大型快速存取寄存器文件和快速单周期指令。其快速存取RISC寄存器文件由32个通用工作寄存器组成。
(2)片内资源丰富
内含8通道10位AD转换器的最高采样率为15kSPS,可满足本系统所要求的8kSPS的要求;SPI(Serial Peripheral Interface,串行外设接口)控制器可简化单片机与串行DAC和无线收发芯片之间的通讯,减少连线;而512字节的EEPROM则可在掉电时存储用户信息:该单片机有两个外部中断,可确保单片机及时响应并处理最新收到的信息。
(3)可重复擦写并可在系统编程(ISP)
AVR单片机ATMEGA16L中的程序存储空间采用的是Flash存储技术,因此,该单片机的内部存储单元可在线重复擦写1000次以上。
(4)低功耗
AVR ATMEGA16L单片机的工作电压范围为2.7~5.5 V,同时具有休眠省电功能(POWERDOWN)及闲置(IDLE)低功耗功能,此时的一般耗电在1~2.5 mA之间。由于本系统以移动性和低功耗见长,因此,采用此单片机芯片可以满足系统对功耗的要求。
(5)带有同步串行接口SPI
SPI是一种同步串行外围总线系统接口,它可以使微处理器与各种外围设备以同步串行方式进行信息交换。SPI总线一般使用四根信号线:SCK(串行时钟)、MISO(主机输入/从机输出)、MOSI(主机输出/从机输入)和SS(低电平有效的从机选择)。利用SPI总线可以在软件控制下构成各种系统。
ATMEGA16L单片机内含一个标准的SPI接口,可用于单片机与单片机或外设之间进行高速同步数据传输。它使用标准的四线接口。SCK、MISO、MOSI、/SS分别与PB7、PB6、PB5和PB4复用。在硬件设计时,本设计把MCU的SPI接口、nRF905的SPI接口.以及另外选定的几个I/O口连接到nRF905的输入输出信号。ATMEGA16L与外围器件的连接电路见图3所示。
1.4无线收发芯片nRF905简介
系统中的无线收发电路采用挪威Nordic公司的单片无线收发器芯片nRF905。该芯片的工作电压为1.9~3.6 V,采用32引脚QFN封装(5×5 mm),可工作于433/868/915 MHz三个ISM(工业、科学和医学)频段,是一个真正的单片UHF无线收发芯片。nRF905采用FSK调制解调技术,频道之间的转换时间小于650μs。nRF905集成度高,由一个完全集成的频率调制器、一个带解调器的接收器、一个功率放大器、一个晶体振荡器和一个调制器组成,工作频率稳定可靠,外围元器件少,不需外加声表滤波器,ShockBurstTM工作模式,能自动产生前导码和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。此外,nRF905最高工作速率可达20 k,发射功率可以调整,最小为-10 dBm,最大为+10 dBm。其功耗非常低,以-10 dBm的输出功率发射时电流只有11 mA,工作于接收模式时的电流为12.5 mA,内建空闲模式与关机模式,易于实现节能,适合便携式产品的设计。
1.5无线收发电路设计
本系统的无线发射接收电路主要利用nRF905与外围器件构成的电路组成,其主要部分是天线。简而言之,就是一个特定形状的导体,它可以将电流转化为射频能量并以电波形式发射出去.或将无线电波接收进来。任何一个无线系统都有天线,天线设计的好坏直接影响无线系统的收发能力。图4所示是用nRF905差分连接的环形天线图。
2 系统软件设计
本系统中的无线数据传输主要由无线数据收发器nRF905、ATMEGA 16单片机和显示部分组成。nRF905收发器与单片机ATMEGA16L间通过SPI口进行通信。因此,软件设计过程中的重点是nRF905数据的发送和接收过程。
2.1 nRF905的数据发送过程
发送数据时的工作流程如图5所示。当MCU有遥控数据节点时,接收点的地址(TX-address)和有效数据(Tx-payload)将通过SPI接口传送给nRF905。设计时应使用协议或MCU来设置接口速度。
可用MCU设置TRX-CE,并使TX-EN为高电平来激活nRF905的ShockBurst传输。通过nRF905的ShockBurst可使无线系统自动上电,并完成数据包(应加前导码和CRC校验码)的数据码发送(100 kbps,GFSK,曼切斯特编码)。
如果AUTO-RETRAN被设置为高电平,那么,nRF905将连续地发送数据包,直到TRX-CE被设置为低电平为止;而当TRX-CE被设置为低电平时,nRF905则结束数据传输,并将自己设置为standby模式。
2.2 nRF905的数据接收过程
当系统接收数据时,其接收数据流程图如图6所示。系统的工作过程如下:
首先,在650μs以后,nRF905将不断监测空中的信息;当nRF905发现有和接收频率相同的载波时,其载波检测(CD)被置为高电平;此后,当nRF905接收到有效地址时,地址匹配(AM)被置为高电平;
在这之后,当nRF905接收到有效的地址包(CRC校验正确)时,nRF905将去掉前导码、地址和CRC位,同时将数据准备就绪位(DR)置为高电平,并用MCU设置TRX-CN为低电平,以进入standby模式,从而使MCU能够以合适的速率通过SPI接口读出有效的数据;当所有的数据读出后,nRF905将AM和DR设置为低电平,以便使nRF905准备进入ShockBurst RX、ShockBurst TX或Powerdown模式。
3 结束语
无线射频收发芯片nRF905内置有天线,同时内部集成有调制,解调、编码/解码等功能,故在通信过程中能自动生成前导码和CRC校验,而不需要"接人"网络就能享受通信服务。本设计根据nRF905的特点设计的无线数据收发系统,经过多次实验证明,其发射端能正确地将数据传送出去;同时,经nRF905发射后,接收端也能正确接收并显示数据,有效通信距离大于200米。在有障碍物体的混凝土结构的建筑内测试,其有效直线通信距离大于50 m。此外,该系统采用了比较完善的软件、硬件设计以及抗干扰措施,这样,就可以保证系统工作的安全性和可靠性,并具有通用性,便于投入实际应用,而且稍作改动就可以应用到小区传呼、工业数据采集、生物信号采集,无线遥控等其它一些短距离无线通信领域,以实现无线数据的双向传输,具有较好的市场应用价值。