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

发布者:梦中徐来最新更新时间:2011-07-01 关键字: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,可方便集成到各种电子器件。

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

  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接口直接与嵌入式平台连接。

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

  图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连接。

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

  5 系统软件设计

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

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

  5.1 nRF24L01的初始化

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

 

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

基于ARM和nRF24L01的无线数据传输系统         现按后一种模式初始化。在配置为接收数据时,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。程序如下:

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

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

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

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

  5.2 nRF24L01的数据收发

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

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

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

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

  6 结语

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

 

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

上一篇:基于ARM926EJ-S的MPEG-4软解码器的优化与实现
下一篇:基于ARM和eCos的 嵌入式WEB服务器设计

推荐阅读最新更新时间:2024-03-16 12:37

基于ARM9和μC/OS-II操作系统的SD卡文件系统的设计与
随着嵌入式式技术的不断发展,ARM处理器凭借其高性能、廉价、耗能低的优质特性而得到广泛应用。文中主要针对货车动态称重系统中大量实时载重数据存取的需求,在ARM9嵌入式处理器和μC/OS-II操作系统基础上,设计实现了一种SD卡文件系统。该系统具有实时性强、存取速率高、易维护,易移植等特点。 1 硬件接口电路设计 本系统硬件开发平台处理器为S3C2440A,是三星公司推出的16/32位RISC微处理器,ARM920T内核,主频400 MHz,最高可达533 MHz,内部具有丰富的系统外围控制器和多种通信接口。SD卡支持SPI和SD两种通信模式,S3C2440A具有SD卡接口,支持SD总线模式,所以不再像低端的ARM处理器
[单片机]
基于<font color='red'>ARM</font>9和μC/OS-II操作系统的SD卡文件系统的设计与
软银巨亏7000亿日元,被迫贱卖arm?苹果、三星都是买家
日本首富孙正义持有的软银公司这几年因为投资不慎,巨亏了7000亿日元,日前传闻他准备卖掉收购来的ARM公司回血。作为全球最重要的移动CPU授权公司,谁来接手ARM是个难题,绯闻对象除了苹果之外,现在有消息称三星也在考虑。 苹果不仅是ARM早期的投资者之一,目前也可以说是ARM授权CPU界的一哥,不仅销量遥遥领先,自研的A系列处理器在性能上也是ARM阵营中最强的,再加上苹果本身富可敌国的资金,收购ARM是万事俱备,只欠东风,就看苹果自己愿意不愿意了。 除了苹果之外,日前韩国媒体报道称三星也是潜在的卖家,三星也不差钱,而且有先进的芯片代工技术,配合ARM的CPU授权也是如虎添翼。 对三星来说, 其半导体业务多年来过于
[嵌入式]
软银巨亏7000亿日元,被迫贱卖<font color='red'>arm</font>?苹果、三星都是买家
uC/OS II在ARM 上的移植体会
移植uC/OS-II的绝大部分工作都集中在os_cpu_a.s文件的移植,这个文件的实现集中体现了所要移植到处理器的体系结构和uC/OS-II的移植原理;在这个文件里,最困难的工作又集中体现在OSIntCtxSw和OSTickISR这两个函数的实现上。这是因为这两个函数的实现是和移植者的移植思路以及相关硬件定时器、中断寄存器的设置有关。在实际的移植工作中,这两个地方也比较容易出错。 OSIntCtxSw最重要的作用就是它完成了在中断ISR中直接进行任务切换,从而提高了实时响应的速度。它发生的时机是在ISR执行到OSIntExit时,如果发现有高优先级的任务因为等待的time tick到来获得了执行的条件,这样就可以马上被调度执
[单片机]
老杳:ARM中国落户深圳,为孙正义鼓掌
    据科技部网站消息,1月24日,由中投公司、丝路基金、新加坡淡马锡、深圳深业集团、厚朴投资与ARM公司共同发起设立的厚安创新基金在北京正式成立启动。其中包括中投、丝路基金、深圳深业等都是中国政府的主权基金或全资国有控股企业,相信市场传闻的ARM中国公司将由中资控股可信度很高。     显然被软银收购的ARM运作更灵活,据传未来ARM中国的营收将划归ARM中国公司,虽然因为中资加入会分享ARM在中国的利润空间,不过也会因此获得中国政府的大力支持,未来ARM本地化将获得更广阔的空间,甚至不排除未来会在中国IPO上市,而本土化研发团队的组建又可以为未来定制化产品奠定了基础,也探索了新时代自主可控的新模式。     或许孙正义从YA
[半导体设计/制造]
ARM处理器的程序与数据存储(冯·诺依曼与哈佛结构)
保存在存储器中的内容可以是程序,也可以是数据。程序是ARM处理器可以运行的指令代码,数据是指令在运行中用到的操作数或者变量。 1、程序存储 ARM处理器支持两种指令,一种是ARM汇编指令,一种是Thumb汇编指令。ARM汇编指令是32位长,即每条ARM汇编指令都是由四个字节的存储空间保存,所以ARM处理器在执行地址a的ARM汇编指令时,会从地址a + 4取下一条指令。Thumb汇编指令是16位长,即每条Thumb汇编指令都是由两个字节的存储空间保存,所以ARM处理器在执行地址a的Thumb汇编指令时,会从地址a + 2取下一条指令。 ARM处理器可以执行两种格式的指令,运行不同格式的汇编指令在执行和取指方面有很大不同。为
[单片机]
<font color='red'>ARM</font>处理器的程序与数据存储(冯·诺依曼与哈佛结构)
ARM Cortex-A系列产品架构框图详解
Core Cortex-A5 Cortex-A5 MPCore Cortex-A8 Cortex-A9 Cortex-A9 MPCore Cortex-A9 Hard macro Cortex-A15 MPCore Architecture ARMv7 ARMv7 + MP ARMv7 ARMv7 ARMv7 + MP ARMv7 + MP ARMv7 +MP+ Interrupt Controller GIC-390 Integrated- GIC GIC-390 GIC-390 Integrated- GIC Int
[焦点新闻]
CAN网状冗余及基于ARM节点设计
一、概述 CAN(Controller Area Network)即控制器局域网,是一种串行数据总线,CAN总线是国际上应用最广泛的现场总线之一。作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN总线已被广泛应用于各个自动化控制系统中。在汽车电子、自动控制、电力系统等领域中,CAN总线尤其具有不可比拟的优越性。但是,工业控制现场工况条件十分恶劣,电缆受拉、压、砸、挤等造成故障的情况很多,这对于以总线为核心的CAN总线系统是一种极大的威胁。如何保证现场总线控制系统在恶劣环境下安全、可靠地工作是CAN应用中的一个重要课题。 解决可靠性问题的一个有效的办法就是对总线进行不同程度的冗余,同时使用两(多)条总线电缆
[单片机]
CAN网状冗余及基于<font color='red'>ARM</font>节点设计
关于SiLabs Precision32单片机的详细分析报告
本文介绍了Silicon Labs公司新型Precision32单片机产品.该公司首次推出的32位MCU.除了具有兼容ARM的cPU之外,芯片还集成USB和多种模拟组件,以及常见的Flash闪存、SRAM,定时器和串行接口等。本文由Silicon Labs赞助,但所有意见和分析均来源于作者本人。 Silicon Labs深耕单片机行业 大多数人熟知Silicon Labs公司是由于其模拟与混合信号技术。该公司具有集成高性能模拟外设与数字电路的CMOS专业设计经验。这一专长体现在多种IP区块中,例如模拟-数字转换器(ADC)和数字.模拟转换器(DAC)、数字隔离器、数字锁相环、USB、RF、传感器等。该公司通过集成这些区块创建出
[单片机]
关于SiLabs Precision32单片机的详细分析报告
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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