基于nRF905的无线数据传输设备设计

发布者:CelestialSoul最新更新时间:2007-07-17 来源: 电子工程师关键字:功率  频段  指令  编程 手机看文章 扫描二维码
随时随地手机看文章

引言

无线通信在机动性要求较强的设备中或人们不方便随时到达现场的条件下得到了越来越广泛的应用,如无线数据采集、无线设备管理和监控、汽车仪表数据的无线读取等都是其典型应用。微功率短距离无线通信技术作为无线通信实用技术,一般使用单片射频收发芯片,加上微控制器和少量外围器件构成专用或通用无线通信模块,通常射频芯片采用GFSK(高斯频移键控)调制方式,工作于ISM(工业、科学、医疗)频段,通信模块包含简单透明的数据传输协议或使用简单的加密协议,用户不必对无线通信原理和工作机制有较深的了解,只要依据命令字进行操作即可实现基本的数据无线传输功能,因其功率小、开发简单快速而在工业、民用等领域应用广泛。本文介绍利用ATmega16单片机和无线数据收发芯片nRF905构成的短距离无线数据传输设备,给出了硬件和软件设计方案。

1 系统硬件设计

1.1 系统结构

无线数据传输系统结构如图1所示。该系统由外部数据设备和无线数据传输模块组成,外部数据设备为PC机或数据采集等设备,我们设计的主要是无线数据传输模块。无线数据传输模块基于微功耗单片射频收发器nRF905设计,采用Atmel公司的高性能、低功耗8位处理器ATmega16为主处理芯片,完成数据的处理和控制。

1.2 ATmega16和nRF905

Atmel公司的ATmega16单片机具有先进的RISC(精简指令集计算机)结构、非易失性程序和数据存储器,16 kB可编程Flash存储器、512 B的EEPROM和1 kB片内SRAM,具有丰富的外设接口,其USART(通用同步和异步接收器和转发器)是一个高度灵活的串行通信设备,SPI(串行外设接口)允许ATmega16与外设或其他AVR器件进行高速的同步数据传输。

nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.9 V~3.6 V,工作于433/868/915 MHz这3个ISM频段,频道转换时间小于650μs,最大数据速率为100 kbit/s。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和GFSK调制器组成,不需外加声表面滤波器,ShockBurstTM工作模式,自动处理字头和CRC(循环冗余检验),使用SPI接口与微控制器通信,配置非常方便。此外,其功耗很低,以-10 dBm输出功率发射时电流只有11 mA,工作于接收模式时的电流为12.5 mA,具有窄闲模式与关机模式,易于实现功率管理。

1.3 硬件电路

硬件电路主要由电源与复位电路、外部数据设备接口电路、单片机系统和nRF905应用电路等几部分组成。硬件电路如图2所示。

1.3.1 电源与复位电路

nRF905和单片机的典型工作电压为+3.3 V,而系统供电电源为+5V,所以采用低压差线性稳压器TPS7333实现+5 V~+3.3 V的线性稳压。为了实现稳定、可靠的复位,使用低电压工作的复位芯片TPS70733产生复位信号。

1.3.2 外部数据设备接口

无线数据传输模块与外部数据设备之间采用RS-232接口,ATmega16的PD0-PD1用于连接RS-232串口。通常,PC机与单片机用两根线方式进行全双工异步通信。由于AVR单片机输人输出为TTL电平,PC机配置的是RS-232标准串行接口,二者电气规范不一致,因此,使用ICL3221收发芯片实现串口电平转换。

数据传输速率在板可设置或通过外部数据设备设置。在板波特率利用ATmega16的PA7、PA6两位设置,可设置为9.6kbit/s、19.2 kbit/s、38.4kbit/s、115.2 kbit/s。利用外部数据设备设置波特率时,单片机的初始数据传输速率为9.6 kbit/s,PA7、PA6置为00状态,当单片机收到波特率没置命令后,数据传输速率调整为设定值。

1.3.3 单片机与nRF905接口电路

单片机与nRF905的接口电路很最要。nRF905内部有5个寄存器:状态寄存器、配置寄存器、发射地址寄存器、发射数据寄存器和接收数据寄存器。除了对寄存器读写外,还需对nRF905工作模式的切换进行控制。单片机与nRF905的信号连接见图3。

ATmega16与nRF905之间的双向数据传输使用SPI接口,单片机的PB7-PB4连接nRF905的SPI接口,PD2-PD7连接nRF905的控制信号和检测信号,用于nRF905的模式切换以及通信过程中必须的信号指示接口。

2 系统软件设计

2.1 数据传输过程

PC机(或其他外部设备)有数据传输或需设置设备参数时,通过串口将数据发送给单片机,单片机接收数据后,将需发送的数据(这里包括目标设备地址和所要发送的数据)通过SPI接口发送给nRF905,nRF905将数据加前导码和CRC码,将数据包发送。

当nRF905接收到有效数据后,DR置高,单片机检测到DR为高电平后,复位TRX_CE引脚,使nRF905进入空闲模式,通过SPI接口从nRF905中读出接收数据,然后通过USART传送给PC机或其他外部没备。

软件功能模块由CPU寄存器初始化、串行口初始化、串口收发送程序、SPI初始化、SPI收发送程序、I/O口初始化、nRF905配置寄存器操作、nRF905接收程序、发送程序、主程序模块组成。下面简要介绍主要的软件功能模块。

2.2 USART串口软件设计

AVR USART与AVR UART在寄存器位定义、波特率发生器、发送器操作、发送缓冲器的功能以及接收器操作等方面完全兼容,此外,接收缓冲器进行了两方面改进:增加了一个缓冲器;接收移位寄存器可以作为第3级缓冲。

2.2.1 串口数据帧格式

外部数据设备与无线数据传输设备间的双向数据传输使用相同的帧格式,帧格式由帧头、帧长、帧标志和数据组成。帧头为数据帧开始标志,固定为0FF81H,长度2字节。帧长指从帧标志开始至本帧结束的所有数据的字节数,不包括帧头、帧长本身,单位为字节,帧长占1字节。帧标志用以指示本帧数据的内容属性,长度为1字节。不同类型帧的数据长度和帧标志具体定义如表1所示。

数据指所传输的业务等内容,数据长度见表1,数据内容定义如下:

a) 波特率设置:01H~0AH对应波特率(单位为kbit/s)为2.4、4.8、9.6、14.4、19.2、28.8、38.4、57.6、76.8、115.2。

b) 设备地址设置:设备地址为00000000H~FFFFFFFFH。

c) 发射功率:00H为低功率;01H为高功率。

d) 工作频率:433 MHz频段,信道间隔100 kHz。

e) 发送数据:发送数据长度不定,最长不超过254字节。

2.2.2 USART初始化

初始化USART操作包括波特率设置、数据格式和UCSRB寄存器设置。USART的波特率寄存器UBRR和降序计数器相连接,一起构成可编程的预分频器或波特率发生器。UBRR值的计算由该公式完成:UBRR=fosc/(16baud)-1,其中Baud为波特率,fosc为系统时钟频率。通过设置UCSRC寄存器,设置数据格式为8位数据位和1位停止位。通过设置UCSRB寄存器,使能串口发送和接收,并响应接收完成中断。

2.2.3 数据发送和接收

数据发送采用查询方式。置位UCSRB寄存器的发送允许位TXEN将使能USART的数据发送,将需要发送的数据加载到发送缓冲区将启动数据发送,加载过程为CPU对UDR寄存器的写操作。发送数据时,按照帧格式在所需发送的数据前加上帧头、帧长、帧标志组帧发送。

数据接收采用中断方式。置位UCSRB寄存器的接收允许位RXEN将启动USART的数据接收器,通过读取UDR寄存器就可以获得接收缓冲器的内容。接收数据时,帧标志有效才能开始接收一帧数据,并根据读出的帧长信息完成接收规定长度的数据。

2.3 SPI接口软件设汁

本设计中SPI配置为主机模式,nRF905为从设备。SPI波特率最高可设置为1/2系统时钟,系统时钟为8 MHz,因此SPI速率可达4 MHz。此外,正确选择SPI的工作模式对SPI数据传输非常重要,AT-mega16的SCK的相位和极性有4种组合,SPI工作模式由CPOL、CPHA设置,根据nRF905的SPI读写时序,ATmega16的SPI工作模式应设置为模式0。

ATmega16与nRF905同时进行双向数据传输。ATmega16配置为SPI主机时,SPI接口不自动控制SS引脚,由用户软件来控制。ATmega16通过将从机的CSN引脚置低实现与从机的同步。SPI时钟由写入到SPI发送缓冲寄存器的数据启动,SPI MOSI引脚上的数据发送次序由寄存器SPCR的DORD位控制,置位时数据的LSB(最低位)首先发送,否则数据的MSB(最高位)首先发送。我们选择先发送MSB,同时接收到的数据传送到接收缓冲寄存器,CPU进行右对齐从接收缓冲器中读取接收到的数据。应该注意,当需要从nRF905中读取多个数据时,即使nRF905并不需要ATmega16串行输出的数据,每读取一个数据前都要向SPI发送缓冲器写一个数据以启动SPI接口时钟。由于SPI系统的发送方向只有1个缓冲器,而在接收方向有2个缓冲器,所以在发送时一定要等到移位过程全部结束后,才能对SPI数据寄存器执行写操作;而在接收数据时,需要在下一个字节移位过程结束之前通过访问SPI数据寄存器读取当前接收到的数据,否则第1个数据丢失。

2.4 nRF905配置及收发流程

对nRF905寄存器的操作是一个很关键的问题,nRF905的所有配置都是通过SPI接口进行的。nRF905的SPI接口只有在掉电模式和standby模式是激活的。当CSN为低时,SPI接口开始等待一条指令,任何一条新指令均由CSN由高到低的转换开始。

nRF905发送模式工作过程如下:

a) 当ATmega16发送数据时,将接收设备地址和所要发送的数据通过SPI接口写入nRF905,SPI传输速率由初始化设置。

b) 置位TRX_CE、TX_EN,激活nRF905发送模式。

c) nRF905自动完成数据打包(加入前导码和CRC),包经过GFSK调制以100 kbit/s发送,当传输完毕DR置位。

d) 如果将AUTO_RETRAN位置高,nRF905将连续发送数据包,直至将TRX_CE引脚复位。

e) 当TRX_CE引脚被设置为低时,nRF905结束发送模式,并进入standby模式。

nRF905接收模式工作过程如下:

a) 将TRX_CE置位,TX_EN复位后650μs,nRF005进入接收模式等待数据到来。

b) 当nRF905在接收信号检测到载波,则CD(carrier detect)引脚置位;然后,如果接收到有效地址则AM(address match)置位,最后将接收到的有效数据包去掉前导码、地址,CRC正确后,将DR(data ready)引脚置位。

c) CPU复位TRX_CE引脚,使nRF905进入空闲模式,然后通过SPI接口读取数据。

d) 数据接收完毕后,nRF905 DR和AM引脚复位并准备进入下一个工作模式。

应该注意的是,在数据发送过程中无论将TRX_CE、TX_EN怎样设置,nRF905都会完成此次发送而不受影响,此后,进八所设置的工作模式。而在接收数据包的过程中TRX_CE或TX_EN状态改变,则nRF905会立即改变工作模式,丢失数据。

2.5 主程序流程

主程序流程图如图4所示。

3 结束语

我们采用 nRF905射频收发芯片和ATmega16微控制器设计了短距离无线数据传输设备,完成硬件电路和系统软件调试后,进行了无线数据收发实验。实验结果表明,在300 m通信距离,该无线传输设备工作稳定,能实现数据的高速有效传输,具有低功耗、抗干扰能力强等优点。

关键字:功率  频段  指令  编程 引用地址:基于nRF905的无线数据传输设备设计

上一篇:基于频谱复用的新型频谱管理方法
下一篇:基于ZigBee技术的无线传感器网络构建与应用

推荐阅读最新更新时间:2024-05-13 18:36

赛灵思Vivado开启未来十年全面可编程时代
赛灵思全球高级副总裁汤立人说,如果i'm lovin ' it让你想到麦当劳,以后我们希望您看到或者想 到“All Programmable”,你会想到赛灵思。 更多关于专题内容,请访问: 赛灵思 Vivado 专题 Vivado IP集成器设计演示 该视频为Vivado的一个快速演示,应用于7系列及其以上... Vivado集成设计环境演示 当打开 Vivado 工程后,会有一个工程概要... Vivado 高层次综合演示 该算法是工作在一张彩色图像,完成色彩变化后再进行边缘检测... 面向未来十年 赛灵思发布Vivado设计套件 赛灵思公
[嵌入式]
富士电机欲设用于功率半导体的200mm晶圆量产线
富士电机决定设置用于功率半导体的晶圆处理工序(前工序)生产线。将在山梨制作所(山梨县南阿尔卑斯市)设置该公司在日本国内的第二条生产线。 发布资料显示,此前山梨制作所一直在量产光盘。富士电机将有效利用该工厂的设备,改建成用于功率半导体的200mm晶圆量产线。设备投资额计划为185 亿日元,投产时间为2012年5月,处理能力为1万2000枚/月。富士电机已开始在松本工厂(长野县松本市)量产功率半导体,采用的是只有一处日本国内基地的生产体制。此次新设工厂后,将构筑有两处基地的生产体制,可以分散地震和供电等风险,为客户提供稳定的产品供应。 富士电机还正在考虑对封装组装工序(后工序)进行设备投资,基于地产地消的看法,中国和亚洲市
[半导体设计/制造]
面向电动车窗应用的集成嵌入式功率半导体
推动电动车窗电控单元采用高度集成解决方案的因素 如今,电动车窗已成为汽车标准功能之一。即使在成本至上的新兴市场,它也是影响购车者决定的最重要因素之一。多数购车者都将电动车窗视为必备的舒适功能,因此汽车厂商都将其作为一种基本功能。 当前车门正沿着模块化、轻型化方向发展,另一个发展趋势是加装侧安全气囊。随着车门结构发生变化,车门腰线的负载规格也相应提高,以实现出色的碰撞性能。性能的增强与添加安全气囊极大刺激了对小尺寸车门/电动车窗ECU(电控单元)的需求。更高的 半导体 集成度是管理防夹等复杂功能的关键,同时也满足了小型、轻量要求。 车窗防夹功能也适用于天窗模块,该模块和车窗共用相同的车窗举升机制。 ePower TLE
[嵌入式]
PIC单片机12864编程程序
IC用PIC16F877A,晶振4MHz,采用并行8线,LCD:TS12864-3,接法在程序中有定义,只要将此程序COPY到你的PICC里编译下载后,在目标板上即可以看到图画了! #include pic.h #define RS RC0 #define RW RC1 #define E RC2 #define PSB RC3 #define RST RC4 //PORTD=DATA; unsigned char COUNT3,COUNT2,COUNT1,COUNT,LCD_X,LCD_Y,LCD_DATA1,LCD_DATA2,LCD_DATA,F3,R1,F0; const unsigned char
[单片机]
时间触发 合作式调度器 编程模式
引言 目前,RTOS特别是抢先式RTOS在嵌入式系统中的应用越来越广泛,但是还有很大一部分产品使用是小型单片机。这些系统由于成本的限制,通常资源非常有限,比如ROM往往小丁32 KB,RAM小于2 KB,由于RTOS对每个任务都要开辟单独内存区域,存放任务的上下文和各任务独立的堆栈,所以在这种系统中使用RTOS非常勉强。对于这些低成本资源受限系统通常采用“前后台”(或者叫“超级循环”)结构进行编程,这实际上是一种事件触发的编程模式,当中断数目较多且系统完成的功能相对复杂时,就会使系统的程序编写变得非常复杂并使系统运行的可预测性迅速下降。 针对这个问题,Michael J.Pont提出了一种“基于时间触发的编程模式”,这种方法有助
[单片机]
时间触发 合作式调度器 <font color='red'>编程</font>模式
51.AVR.PIC单片机编程器详解
PIC 单片机编程器 单片机编程器 PIC下载编程器/仿真器PIC下载编程器 兼容microchip的PICKIT2,是一款低成本开发工具,带有易于使用的用户界面,用于为微芯闪存系列微控制器编程。通过USB2.0全速接口连接个人电脑,可以更快地进行编程和固件升级,而无需为编程器或目标应用板提供额外的电源。 支持仿真功能,媲美ICD2 源程序编辑; 直接在源程序界面调试; 可设置一个1次断点; 变量和寄存器观察; 程序代码区观察; 修改寄存器; 停止冻结(当上位机停止运行程序时,冻结芯片的运行) 实时背景调试; PICPROG PIC单片机编程器 picprog是新一代微型高速高稳定PIC专业烧写
[单片机]
51.AVR.PIC单片机<font color='red'>编程</font>器详解
卓联半导体公司推出业界最高性能的植入式射频芯片,用于体内通信系统
·高度集成的超低功耗射频芯片(集成高性能媒体访问控制器(MAC))可提供高达800kbps的数据速率,工作在MICS(医学植入通信服务)402-405 MHz 频段 ·应用包括植入式心脏起搏器、去颤器、神经刺激器、植入式药泵以及生理指标监测仪 2007年 5月 9 日,中国北京 –– 卓联半导体公司(Zarlink Semiconductor Inc. (NYSE/TSX:ZL))今天宣布推出ZL70101收发器芯片。这款超低功耗射频片上系统(SoC)解决方案主要用于植入式医疗设备、编程器以及监测基站等应用。 基于卓联公司的MICS技术平台,ZL70101收发器芯片数据速率高、功耗低并且具有独特的唤醒电路。采用卓联公司的MI
[新品]
高低功率分开处理,射频电源管理你真的了解吗?
电源管理是一门科学艺术,它通过优化输入和输出信号来最大化 RF 设备的效率和性能,这不是一件容易的事。每台网络设备都有自己独特的功率需求。更高的数据速率通常意味着更高的功耗和复杂性,这可能会带来损失,进而降低可靠性和增加成本。低数据速率设备(例如支持物联网的那些设备)功率极小,以便节省宝贵的电池电源的每一毫秒。 除此以外,RF 工程师还面临静电放电的难题,它几乎可以炸毁一台设备的电路板。想象一下,在干燥的冬日走过地毯后,手碰触到门把手。咝!在您碰到门把手的那一刻,它只会让您的手臂汗毛竖起来,感到轻微不适,但是,却会让设备产生严重的性能问题,或者甚至损坏敏感的电子元件。每个人都能按下电源按钮,但要设计出电源管理和 RF 设备,则
[电源管理]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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