基于射频模块nRF24E1的无线系统的开发
发布时间:2007/4/23 0:00:00 访问次数:474
1.引言
随着嵌入式系统和无线网络的发展,两者已能紧密结合在一起。而且随着无线应用领域的扩大,工作在ISM(工业、科学和医学)标准的2.4GHz自由免费频段,已成为研究的焦点。例如Wi-Fi、BlueTooth、Zigbee等无线传输协议都是应用在2.4GHz频段上,并以其数据率高、节点分布广等特点广泛的应用于科研、家庭、军事等各个领域。本文研究的系统以NORDICnRF24E1无线芯片为基础,它是一款带增强型8051内核的无线收发模块,适用于各种无线设备互联的应用场合,工作于ISM频段,有125个频点,能够实现点对点、点对多点的无线通信,同时可采用改频和跳频来避免干扰。该系统已应用于无线环境参数(包括温度、湿度、红外信号等)的采集和处理;无线远程下载,可适用于将动态变化的控制程序下载到不断移动的设备上,来控制其做出不同的反应,例如机器人的遥控、超级市场的动态价格指示等等。
2.系统原理及流程
2.1工作原理和流程
该系统主要由程序下载单片机、无线模块nRF24E1、SPI存储器EEPROM、前端采集模块或功能显示界面及串行口组成。程序下载单片机(如AT89S52)通过串行口与PC机连接,接收PC机下载的执行程序,并存储到SPI存储器中,配置nRF24E1内的51核。在数据采集系统中,nRF24E1无线模块上电后读取SPI存储器中的执行程序,读取前端采集的数据,并通过nRF24E1中的无线收发模块实现无线发送。在远程下载系统中,发送端将要在24E1模块中执行的程序在无线环境中传输,接收端运行结果在终端(PC、液晶屏等)上显示,以适应动态变化要求。
系统模式图如下:
图1:系统模型
2.2硬件设计
在硬件上,本系统研制了SPI总线下载器,将24E1的模块作为外插件附于其上。开发板上包括串口电平转换部分、89S52单片机部分、24E1可拔插模块及控制部分、电源管理部分。开发板由5V电源供电,转换为3.3V向芯片输出,由继电器DS2Y-3控制下载完程序后24E1模块的上电。两个串口一个用作89S52控制PC向EEPROM传递程序,另一个与24E1相连,使得其接收到的或采集的数据可在串口显示。控制射频模块与EEPROM进行数据交换的是几片逻辑芯片74LVC1G125、74AHC1G32,有效的隔离了以EEPROM为分界的程序下载和加载过程。
在两种应用的系统中,发射端的硬件设计是一致的,在接收端:数据采集系统将传感器与24E1模块引出的I/O相连,由内部8051内核控制;远程程序下载系统将运行结果通过串口或USB口与PC等其它设备相连,或外接液晶屏显示。
2.3软件控制
nRF24E1内的51核相对普通8051作了一定的扩展,一般编译器不能完全支持nRF24E1。KeilC51V7.01及其以上的版本都支持nRF24E1,因此,编程非常方便。此系统的软件分以下几个部分:发送端的上位机软件由VC开发,主要实现控制程序到HEX文件的转换及通过串口和单片机89S52向EEPROM25AA320的下载。其中温度采集系统的控制程序实现对24E1的配置、利用片内51核进行温度等的采集、并将采集到的数据通过射频模块发送;接收端将收到的温度信息送到串口显示。远程下载系统的控制程序实现24E1的配置和发送对接收端进行下载编程的程序;接收端将收到的程序导入负责程序执行的4KB RAM中,对于它相连的设备进行控制或将运行结果显示出来。
(1)上位机下载软件
将转换成HEX格式的文件向串口下载,同时在后台运行烧入89S52的下载控制程序,不断监测串口是否有数据输出,一旦发现则通过单片机的SPI总线下载到外部ROM。EEPROM25AA320是SPI接口的存储器,有标准的控制信号SDO、SCK、SCI,在SCK脉冲的上升沿进行数据的写入,每次写入都要将25320的CS信号选通,同时将WP(写保护)信号关掉,这同时也断掉了25320到24E1方向的通路。写入EEPROM的数据都要以以下格式传送:
其中SPEED和XO_FREQ为VC界面上的下载速度和晶振频率。
程序下载完毕后,继电器控制射频模块上电,软件将WP信号置位,就切断了程序下载过程,也将程序存储器与24E1之间的通路打开,nRF24E1通过SPI口与EEPROM进行连接。上电后,电路可在512BROM中存储的引导程序的控制下,通过SPI总线将EEPROM中存储的用户程序传送至nRF24E1的4KBRAM程序运行空间中,从而把控制的任务转到用户程序。这样,24E1内部的单片机就开始执行控制程序的工作了。
(2)无线收发协议及流程
射频模块的无线传输有两种模式:ShockBurstMode和DirectMode,24E1只支持前者,这种技术使用片上的FIFO的方式在8051MCU与射频模块之间进行数传,保证了较低的数据传输率(10
1.引言
随着嵌入式系统和无线网络的发展,两者已能紧密结合在一起。而且随着无线应用领域的扩大,工作在ISM(工业、科学和医学)标准的2.4GHz自由免费频段,已成为研究的焦点。例如Wi-Fi、BlueTooth、Zigbee等无线传输协议都是应用在2.4GHz频段上,并以其数据率高、节点分布广等特点广泛的应用于科研、家庭、军事等各个领域。本文研究的系统以NORDICnRF24E1无线芯片为基础,它是一款带增强型8051内核的无线收发模块,适用于各种无线设备互联的应用场合,工作于ISM频段,有125个频点,能够实现点对点、点对多点的无线通信,同时可采用改频和跳频来避免干扰。该系统已应用于无线环境参数(包括温度、湿度、红外信号等)的采集和处理;无线远程下载,可适用于将动态变化的控制程序下载到不断移动的设备上,来控制其做出不同的反应,例如机器人的遥控、超级市场的动态价格指示等等。
2.系统原理及流程
2.1工作原理和流程
该系统主要由程序下载单片机、无线模块nRF24E1、SPI存储器EEPROM、前端采集模块或功能显示界面及串行口组成。程序下载单片机(如AT89S52)通过串行口与PC机连接,接收PC机下载的执行程序,并存储到SPI存储器中,配置nRF24E1内的51核。在数据采集系统中,nRF24E1无线模块上电后读取SPI存储器中的执行程序,读取前端采集的数据,并通过nRF24E1中的无线收发模块实现无线发送。在远程下载系统中,发送端将要在24E1模块中执行的程序在无线环境中传输,接收端运行结果在终端(PC、液晶屏等)上显示,以适应动态变化要求。
系统模式图如下:
图1:系统模型
2.2硬件设计
在硬件上,本系统研制了SPI总线下载器,将24E1的模块作为外插件附于其上。开发板上包括串口电平转换部分、89S52单片机部分、24E1可拔插模块及控制部分、电源管理部分。开发板由5V电源供电,转换为3.3V向芯片输出,由继电器DS2Y-3控制下载完程序后24E1模块的上电。两个串口一个用作89S52控制PC向EEPROM传递程序,另一个与24E1相连,使得其接收到的或采集的数据可在串口显示。控制射频模块与EEPROM进行数据交换的是几片逻辑芯片74LVC1G125、74AHC1G32,有效的隔离了以EEPROM为分界的程序下载和加载过程。
在两种应用的系统中,发射端的硬件设计是一致的,在接收端:数据采集系统将传感器与24E1模块引出的I/O相连,由内部8051内核控制;远程程序下载系统将运行结果通过串口或USB口与PC等其它设备相连,或外接液晶屏显示。
2.3软件控制
nRF24E1内的51核相对普通8051作了一定的扩展,一般编译器不能完全支持nRF24E1。KeilC51V7.01及其以上的版本都支持nRF24E1,因此,编程非常方便。此系统的软件分以下几个部分:发送端的上位机软件由VC开发,主要实现控制程序到HEX文件的转换及通过串口和单片机89S52向EEPROM25AA320的下载。其中温度采集系统的控制程序实现对24E1的配置、利用片内51核进行温度等的采集、并将采集到的数据通过射频模块发送;接收端将收到的温度信息送到串口显示。远程下载系统的控制程序实现24E1的配置和发送对接收端进行下载编程的程序;接收端将收到的程序导入负责程序执行的4KB RAM中,对于它相连的设备进行控制或将运行结果显示出来。
(1)上位机下载软件
将转换成HEX格式的文件向串口下载,同时在后台运行烧入89S52的下载控制程序,不断监测串口是否有数据输出,一旦发现则通过单片机的SPI总线下载到外部ROM。EEPROM25AA320是SPI接口的存储器,有标准的控制信号SDO、SCK、SCI,在SCK脉冲的上升沿进行数据的写入,每次写入都要将25320的CS信号选通,同时将WP(写保护)信号关掉,这同时也断掉了25320到24E1方向的通路。写入EEPROM的数据都要以以下格式传送:
其中SPEED和XO_FREQ为VC界面上的下载速度和晶振频率。
程序下载完毕后,继电器控制射频模块上电,软件将WP信号置位,就切断了程序下载过程,也将程序存储器与24E1之间的通路打开,nRF24E1通过SPI口与EEPROM进行连接。上电后,电路可在512BROM中存储的引导程序的控制下,通过SPI总线将EEPROM中存储的用户程序传送至nRF24E1的4KBRAM程序运行空间中,从而把控制的任务转到用户程序。这样,24E1内部的单片机就开始执行控制程序的工作了。
(2)无线收发协议及流程
射频模块的无线传输有两种模式:ShockBurstMode和DirectMode,24E1只支持前者,这种技术使用片上的FIFO的方式在8051MCU与射频模块之间进行数传,保证了较低的数据传输率(10