基于ARM和nRF24L01的无线数据传输系统

发布者:数字行者最新更新时间:2009-02-02 来源: 国外电子元器件 关键字:ARM  nRF24L01  无线传输 手机看文章 扫描二维码
随时随地手机看文章

1 引言
      由于无线数据通信不用布线,快速布局,因此具有有线数据通信无法比拟的便捷性,在特殊场合具有不可替代性。然而,传统的由基本射频集成电路搭建的无线数据通信系统存在电路复杂,成本高,传输速率低,可靠性差等缺点。为此,Nordic公司推出一款工业级内置硬件链路层协议的低成本单芯片nRF24L01型无线收发器件。该器件采用GFSK调制,128个频点自动跳频,片内自动生成报头和CRC校验码,具有出错自动重发功能,这些特性使得由nRF24L0l构建的无线数据传输系统具有成本低,速率高,传输可靠等优点。

2 nRF24L01简介
      图l给出nRF24L0l的引脚排列。nRF24L01工作于2.4~2.5 GHz ISM频段,内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了Enhanced ShoekBurst技术。其中,输出功率、通信频道、自动重发次数等参数可通过编程设置。内置的SPI接口,其速率为0~8Mb/s,MCU通过SPI接口控制nRF 24L0l。nRF24L01的特点如下:①功耗低。能够在以一6 dBm的功率发射时,工作电流只有9 mA;在以0 dBm的功率发射时,工作电流仅11.3 mA;而在接收时,工作电流仅12.3 mA,因此具有掉电和空闲多种低功率工作模式。②体积小,采用QFN20封装。③供电电压为1.9~3.6 V,可方便集成到各种电子器件。

3 LPC214x简介
      IPC214x系列是Philips公司的基于ARM7内核的高性能器件,与LPC213x系列器件相兼容,并增加了一些新功能,性能得到了大大的提升。LPC214x系列器件最大特色是内置2kB终端RAM的USB 2.0全速控制器,1个(LPC2141/42)或2个(LPC2144/46/48)10位A/D转换器,多个串行接口,包括2个UART、2个高速I2C总线、SPI和具有缓冲作用及可变数据长度的SSP。LPC214x系列器件采用单电源供电,具有上电复位(POR)和掉电检测(BOD)电路。相对于普通ARM7来说,LPC214x还提升了I/O端口的速度,并且内置8—40 KB的静态RAM和32~512 KB的高速Flash存储器;工作频率高达60MHz;采用超小型LQFP64封装。

4 系统硬件设计
     
该系统采用模块化设计,主要由LPC2144、nRF24L01、射频功放和天线模块组成。其中,射频功放采用台湾K一BEST公司的2.4 G双向功放模块。图2是系统总体设计图。上位机为PC机,LPC2144与nRF24L01连接,根据需要配置2.4 G功放和增益天线模块。如果配置0.5 W功放和高增益天线,则传输距离可达5~10 km。下位机为嵌入式平台,该嵌入式平台可以是单片机、ARM、DSP和FPGA,nRF24L0l可通过SPI接口直接与嵌入式平台连接。

      图3给出LPC2144与nRF24L0l的硬件接口设计。配置LPC2144的P0.2、P1.19作为GPIO端口分别与nRF24L0l的CE和CSN连接;配置LPC2144的P0.4、P0.5、P0.6作为SPIO端口分别与nRF24L0l的SCK、MISO、MOSI连接:配置LPC2144的P0.16作为EINT0端口与nRF24L0l的IRQ连接。

5 系统软件设计
     
发送端LPC214x完成初始化后,把nRF24L01配置成PTX工作模式。若从上位机接收到数据,则启动nRF24L01发送数据。若发送成功,则产生TX_DS中断;若重发超限,则产生MAX_RT中断;若发送成功,则继续发送,否则进行出错处理。接收端LPC214x完成初始化后,把nRF24L0l配置成PRX工作模式。当正确接收数据时,nRF24L0l产生接收中断标志,LPC214x从nRF24L01读取数据并向下位机发送。图4给出软件流程图。软件开发环境为ADSl.2。

5.1 nRF24L01的初始化
      nRF24L01通过SPI接口和外部控制器件如MCU、ARM、DSP进行数据交换,其SPI协议是MSB在前,LSB在后。如果要读写多个字节,先读写低字节。如果外部控制器件没有SPI接口,可用普通I/O接口模拟。这里选用带SPI接口且可方便地与nRF24L0l连接的LPC21440表l给出nRF24L0l的命令表。

      由表可见,通过SPI接口传入nRF24L01的第一个字节是命令字,nRF24L0l的各种命令字都只有一个字节,分为读寄存器、写寄存器、读数据接收缓冲区、写发送数据缓冲区等。在输入任意命令字的同时,MISO输出的都是STATUS寄存器的内容。nRF24L0l的数据传输模式有ShockBurst和Enhanced ShockBurst两种数据包。后者比前者多了一个确认数据传输的信号,保证数据传输的可靠性。该器件内部完成需要高速处理的RF协议,发送数据时只需将数据放入发送数据缓冲区,器件会自行产生前导字符和CRC数据,并将这些数据地址和地址信息、发送数据缓冲区的数据等组成一个数据包发送出去。图5给出两种模式的数据包格式。

      现按后一种模式初始化。在配置为接收数据时,nRF24L01接收到数据包后,由硬件解析地址数据和信息数据,当接收到有效信息数据后,在IRQ引脚产生中断,并通知外部处理器读取数据。在配置为发送数据时,nRF24L0l发送数据包后,自动切换到接收模式已接收返回的确认信号,当收到确认信号后,IRQ引脚产生数据发送完成中断,如果没有握手信号返回,则表示发送失败,器件自动重新发送,如果重新发送的次数超过在ARC_CNT寄存器中的设定值时,会在IRQ引脚产生重发次数超限中断。MCU查询STATUS寄存器的值,即可判断是发送完成中断,还是重发次数超限中断。
      当发送端nRF24L0l配置成PTX模式时,配置nRF24L01工作在后一种发送模式下,重新发送的等待时间为250μs,重新发送次数为10次,地址是TX_AW,输出功率为0 dBm,速度为2 Mb/s,并且使能发送完成和重发送次数超限两种中断,CRC校验位为2字节,nRF24L01处于POWER_UP状态。函数中WRITE_REG为写命令基地址0x20。程序如下:


      当接收端nRF24L01模块配置成PRX模式时,配置nRF24L0l工作在接收模式下,地址是RX_AW,负载数据宽度是TX_PL_W,使能接收完数据中断,CRC校验位为2字节,nRF24L01处于POWER_UP状态。程序如下:


5.2 nRF24L01的数据收发
      (1)发送数据 当nRF24L0l模块配置成发送模式后,向发送FIFO输入数据即可启动传输。发送8 Byte的程序如下:


      (2)接收数据 当nRF24L0l模块配置成接收模式后,在接收到数据中断发生时,从接收FIFO读取数据。接收8字节的程序如下:

6 结语
     
介绍了基于ARM和nRF24L0l的无线数字传输系统的硬软件设计。该系统已应用于微型飞行器的实时图像传输和遥测中。在实际应用中,可根据需要,将nRF24LOl组成一对一、一对多、多对多的结构。该系统还可广泛应用于无线测控、文件传输等领域。

关键字:ARM  nRF24L01  无线传输 引用地址:基于ARM和nRF24L01的无线数据传输系统

上一篇:基于电力载波的教室电器智能节能系统设计
下一篇:基于ARM和eCos的嵌入式WEB服务器设计

推荐阅读最新更新时间:2024-05-02 20:45

基于ARM7的远程机器人控制系统设计
1 总体方案设计     远程机器人控制系统由机器人智能控制模块、机器人监视模块、以及远程控制模块等三部分构成。其工作过程为远端PC机向机器人控制器发送控制命令,处理器接收到来自远端的命令,发送到控制器,控制器控制机器人运动;机器人监视系统,通过视频摄像头抓取现场图像,传送到远端,在远端PC上显示现场图像。其整体结构框图如图l所示。       (1) 机器人智能控制模块:该部分是系统的核心。采用嵌入式系统设计,能够自动运行、处理数据,通过RS485总线管理和控制机器人监视模块。并且控制器通过GPRS模块,实现机器人智能控制模块与外部网络的通讯,使用户可以通过短信和互联网等方式实现机器人智能控制模块的远程控制,同时
[单片机]
基于ARM的CAN网络打印服务器设计
    引言   随着科学技术水平的提高,智能仪器仪表或微机装置等智能电子设备(IED)已广泛应用于工业现场。   网络打印服务器(network print server)可为智能电子设备提供可靠的共享打印服务,节约系统成本。CAN总线是一种支持分布或实时控制的现场总线,具有高可靠性、实时性和灵活性,广泛应用于汽车控制、工业控制、机器人、家用电器等领域。CAN总线已成为工业现场首选现场总线之一。设计的网络打印服务器采用CAN总线作为数据通讯网络,每个网络打印服务器可与几十甚至上百个智能电子设备构成总线型网络,采用屏蔽双绞线作为通讯介质减少节点干扰。通讯速率在10 Kb/s~1 Mb/s范围内可选。   2 系统硬件设计
[嵌入式]
英特尔将推Atom服务器处理器以迎击ARM
也许很多人不知道,ARM处理器已经有了26年历史,在当时,这种全新的架构完全不同于复杂指令集的竞争对手产品,颇受用户赞誉,因为简单的东西总是能受到欢迎,而复杂的产品总会带来抱怨。第一个ARM处理器是32位架构,26年后还是这样。 如今,ARM借助手机和平板市场实现了复兴,已经成为全球第二大CPU平台,而ARM的视野也更加宽广,进入了主流的移动、桌面甚至服务器市场,向x86的领导者Intel和AMD发起冲击。不过,当前ARM在服务器领域还没有软件,其架构还仅限于32位,并且缺乏服务器所需的纠错能力、可靠性和耐久性设计,不过,ARM所面向的“绿色微服务器”主要面向于Web访问,也并不特别要求这些特性。 虽然只占服务器市场的一小
[单片机]
基于ARM和DSP的竹节纱控制系统伺服控制器
   引 言   ARM微处理器具有体积小、低功耗、低成本、高性能的特点,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器基。提出了挑战。ARM微处理器及技术应用到了许多不同的领域,如工业控制领域、无线电通讯领域、网譬络应用、消费类电子产品以及数字成象与安全产品当中,凭借其优点将来还会得到更加广泛的应用。本文通过分析竹节纱装置的工艺要求,设计了具有竹独立控制结构的永磁同步电机伺服控制系统,由ARM和触摸屏构成控制器,并在ARM核中移植嵌入式操作系统Windows CE,使其具有图形化的人机丕界面操作功能
[嵌入式]
安全无小事 无线热成像万用表你值得拥有!
如今,电气几乎进入了我们生产和生活的所有领域,它大幅提高了生产率,有力地改善了劳动条件,提高了人们的生活水平。与此同时,电气安全问题却不容忽视。 今天咱聊聊电气安全。对于一般的工业企业,电气事故主要有触电、电气火灾和爆炸、雷电危害、静电危害等。而对于不同行业的企业,由于其原料、生产设备、生产工艺等的不同,电气事故的防范侧重点也有不同。 工业企业的电气安全工作包括工程技术和组织管理两个方面,二者相辅相成,关系密切。电气安全管理不但需要注重规章制度的建立和执行,更需要重视安全检查环节。这就给工业电气工程师和技术人员带来了更多的责任,他们需要快速确定问题,充分自信地记录和解决问题。 电气安全事关重大,马虎不得,
[测试测量]
安全无小事 无线热成像万用表你值得拥有!
arm交叉编译环境配置
1 解压下载的交叉工具链 2 vi /etc/profile 在这个文件最后添加上自己的环境变量: export PATH=$PATH:/usr/local/arm/4.3.2/bin($PATH后面为解压的交叉工具链的绝对地址) 3 source /etc/profile 注:一些交叉工具链要求解压在 /usr/local下 参考: http://www.itkee.com/os/detail-867.html 将下载的交叉编译工具包拷贝到 ubuntu 下的/usr/local/arm目录下(也可以拷贝到其它的地方,这个目录是个人的习惯),并解压(tar -jxvf 工具包名 或 tar -zxvf 工具包名)
[单片机]
分析ARM外设flash及SDRAM的地址连接
  先提一下位宽的概念,对于具体器件而言,它的位宽是一定的,所谓位宽,指的是“读/写操作时,最小的数据单元”──别说最小单元是“位”,一般设备上没有单独的“位操作”,修改位时通过把整个字节、字或双字读出来、修改,再回写。AM29L800BB这种nor flash位宽是16位。K4S561632C这种SDRAM位宽是32位。   对于CPU来说,一个地址对应的是一个字节(8位),也就是说CPU的地址线(A0~A20)对应的最小数据单元是字节。   这里需要注意的是,不要把“外设的位宽”和“CPU的位数”这两个概念混淆了。外设的位宽是读写外设的最小数据单元,CPU位数是CPU可以一次处理的字节数,32位CPU可以一次处理4字节
[单片机]
无线传输技术如何助力风力发电的创新
本文编译自u-blox Ping Monitor、Lattech Systems 与 u-blox 合作,将声学传感器数据连接到云端,以持续监测风力涡轮机叶片的健康状况,从而改变清洁能源设备的运维方式。 物联网设备和企业之间很难进行数据通信 从表面上看,数据传输似乎很简单。有一些物联网传感器设备、一些重要数据、一个网络和一个接收数据的云平台。但在启动任何物联网项目之前,都需要解决一系列复杂的问题。什么连接标准?哪个网络?如何规模化?安全吗?功耗和数据传输率如何?数据接口是什么?成本如何?找到正确答案对于项目的成功至关重要。 Ping Monitor 和 Lattech Systems 与 u-blox 合作,将声
[物联网]
<font color='red'>无线传输</font>技术如何助力风力发电的创新
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved