基于nRF2401的无线数据通信系统

  • 格式:pdf
  • 大小:279.28 KB
  • 文档页数:3

文章编号:1002—8692(2008)S1-0072—02基于nR F2401的无线数据通信系统实用设计刘晓红.何永洪(重庆邮电大学通信工程学院,重庆400065)【摘要】设计了一种利用nR F2401和A R M芯片LPC2104构成的无线数据传输系统,讨论了系统的硬件电路设计和软件设计,以及无线数字传输芯片在突发传递模式下通过单片机的控制进行无线数据传输的原理。

设计了在突发传递模式下可实现半双工通信的通用电路,运行表明,该系统控制方便、工作稳定,能实现可靠的无线数据传输。

【关键词】nR F2401;无线数据通信;数据传输【中图分类号】TN925【文献标识码】AW i r el ess D a t a C om m uni ca t i on S ys t em B a se d o n nR F2401L I U X i ao-hong,H E Y ong-hong(School of C om m uni c at i on and I n f or m at i o n E n∥nee dng,C hon gqi ng U ni ve r si ty of Po s t s and T el ecom m un i cat i ons,C hongqi ng400065,C hi na)【A bst r act】A w i r el es s dat a t r ans m i s s i on syst em i m pl e m e nt ed w i t h a nR F2401a nd a n A R M s i ng l e chi p L PC2401i s des i g ned.r11l esy st e m ha r d w ar e a nd s of t w ar e desi gns ar e di s cussed i n det ai l.and t he t heor y of w i r el es s dat a t r ans m i s s i on w i t h w i r el es s digi ta l t r ans m i s s i on ch i p under t he S h ockBur s t m od e i s an al yze d.,11l e oper at i o n of sys t em s how s t h at i t i s eas y t o cont r ol a nd st abl y t o per f or m r eli ab l e w i r eles s dat a t rans m i s si on.【K ey w or ds】nRF2401;w i re l e ss dat a co m m u ni c at i on;d at a t r ans m i s s i on1引言nR F2401是挪威N or di c公司推出的单片无线收发一体芯片,工作于2.4~2.5G H z的I SM(工业、科学和医疗)频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,只需少量外围元件便可组成射频收发电路,常用于无线鼠标和键盘、无线手持终端、无线频率识别、数字视频、遥控和汽车电子等方面。

nR F2401采用SoC(片上系统)方法设计【I】,有125个频道,支持多点间通信和跳频通信,最高传输速率达到1M bi t/s,内置硬件C RC检错和点对多点通信地址控制。

nR F2401没有复杂的通信协议,对用户完全透明,同种产品之间可以自由通信。

L PC2104带有一个支持实时仿真和跟踪的A R M7TD M I—S C PU,并嵌入了128K byt e高速Fl as h存储器和Real M oni t or模块支持实时调试。

它拥有双U A R T、12C串行接口、SPI串行接口、通用I/O口等,适用于工业控制。

2nR F2401芯片主要特征及工作原理2.1工作模式nR F2401有4种工作模式,分别是配置模式、收发模式、空闲模式以及关机模式,这4种模式由PW R—U P,C E,C S3个引脚控制。

nR F2401的收发模式有ShockBur st T M收发模式(突发模式)和直接收发模式。

在ShockBur s t T M收发模式下,nRF2401使用片内的FI FO堆栈区,数据低速从微控制器送入,但以高速(1M bit/s)发射数据,这样可以尽量节能,而且使用低速的单片机也能实现很高的发射数据速率。

nRF2401内置循环冗余校验(C RC)纠检错硬件电路和协议,可完成RF检验,发射数据时自动加上处理字头和C RC码,接收数据时自动把字头和C R C码移去。

每个芯片可通过软件设置最多40bi t地址,只有收到与本机地址一致时才会接收数据。

因此,在本系统中选择突发模式作为其工作方式。

2.2状态字nR F2401具有144bi t状态字。

控制器将nR F2401设为配置方式,然后由通道l向nR F2401写入状态字的配置值,写时高位在前。

配置方式下控制器写状态字的过程与激活方式下向nR F2z101写人数据的过程完全相同,都经由C L K,D R和D A T A组成的三线接El完成闼。

2.3数据帧格式nRF2401在突发传递模式下的帧格式见图1。

图1nR F2401的帧格式R E-A M B LE为数据包头,可设为4bi t或8bi t。

它的值与A D D R E SS第l位有关。

当A D D R E SS第1位为0时,包头取值为01010101,反之则为10101010。

一帧数从A D D R E SS到C R C最多包含256bi t。

A D D R E S S为接收通道硬件地址段,可设定为8枷bi t ,只有符合本机硬件地址的数据帧才会被接收。

C R C为数据校验段,可设定8bi t或16bi t校验位。

P LY LO A D段为待发送数据段,长度为帧长度减去A D D R E SS段和C R C段的长度。

发送数据时,控制器将数据写入nRF2401,控制其将数据按帧格式打包无线发送;接收数据时,nRF2401一旦检测到符合本机硬件地址的数据帧,便将数据帧解包,D R信号置1提请控制器读取数据。

3硬件电路设计nR F2401与微处理的接口有I/O直接连接方式和SPI连接方式。

本系统选用SPI连接方式,可以充分发挥SPI接口的高效以及nR F240l高速无线传输的优势,数据吞吐量大。

C PU只要将要发送的数据写入SPI的缓存,就可以执行其他程序。

与L PC2104的SPI接口相比,nR F2401只有1个D A TA数据端口与之对应。

将L PC2104的S PI接口M O S I 和M I SO接2k1)的电阻,另一端接到nR F2401的D A T A 端口,以实现阻抗匹配和隔离(见图2)。

但在软件设计过程中,因在用SP I进行数据传输时会有误码产生,如L PC2104直接用SPI的方式对nR F'2401进行初始化会导致初始化失败,故采用先将L PC2104的M O S I配置成普D R j—M U P C SC ES PI M ga t el nRE M l0C L K一.竺竺一2kn,D A TAM I SO一..nr—4图2硬件连接示意图通I/O口,以较慢发送速率完成nR F2401初始化工作,再将L PC2104的I/0配置成SP l接口并且初始化SPI寄存器。

这样可以保证nR F2401芯片的配置字准确无误。

配置模式时单片机通过C L K和D A T A端向nR F2401发送配置字,发送数据时通过C LK l和D A TA 端向nR F2401发送地址和数据,接收数据时通过C LK l 和D A TA端从nR F2401读取数据。

4L PC2104对nR F2401的软件控制系统软件流程图如图3所示。

nRF2401的与L PC2104的通信过程如下翻:1)U'C2104配置nR F2401(1)设置C S高,C E低,使nR F2401进入编程模式;(2)nR F2401的D a t a脚为输入状态;(3)主机通过M O SI写入数据,从M I SO读出数据;(4)配置数据通过nR砣40l的D a t a脚输入。

按照硬件电路设计,系统只需对状态字后120bi t进行配置,其值为0)【500800dO dddddd00dddddddd836f5。

配置后nR F2401的频道1段长度为8bi t,地址段长度为32bi t,频道1硬件地址为0xdddddddd,使能位16校Par t s&appl i eaaons r J ~………….品—。

—————......=j■■■‘■扦始A T89C52初始化子程序nR F2401初始配置子程序进入激活方式\≮少I垄尘堡坚鉴查I医函词:司赢磊蕊N睦收就绪信粤’茎2进入接收状态I些!!竺!堡整塑I N姻令I数据软校验子程序I竺翌丢弃接收数据请求重发图3系统软件设计流程图验段,单通道接收,Shoc kB ur s t T M突发模式,通信速率为1M bi t/s,晶振频率16M H z,输出功率0dB m,工作频段2402M H z。

接收状态。

2)U)C2104向nR F2401发送数据(1)设置C E高,使nRFg_.A01进入T X模式;(2)nR F2401的D a t a脚为输入状态;(3)主机通过M O SI写人数据,从M I SO读出数据;(4)设置数据通过nRF2401的D a t a脚输入,并输入道T X FI FO:(5)设置C E低,开始突发传输模式。

3)L PC2104从nR F2401读取数据(1)nR F240l在接收模式下,并且已经接收到数据包;(2)主机通过M O SI写入数据,从M I SO读出数据;(3)因为有2个电阻,在M O SI写入的数据不会影响从nR F2401输出的数据,控制器循环监测系统状态,当有数据要发送,控制nR F2401读出数据;当接收数据就绪,从nRF2401读出数据。

接收数据时,为确认数据的正确性,在使能位16检验段的同时,增加程序数据软校验功能。

nR F2401数据发送函数定义如下:void nRF240l_T x P aek et(unsi gned ch ar TxB uf I]){ui nt32i;uns igned ch ar va r i abl e2;I O SE T=C E;//C E=I;D elayl00();f or(i=O;i<(A D D R_W/8);i++){var iabl e2=TxA ddr ess[i];B yteW r it e(v ar i ab l e2);}(下转第8l页)N—o.S1V01.322008一(Sum—No.318A V I D E0.73s ys tem sW i t l I i nt er-pul s e i nt er f er ence【cF/Pr ac.2005I E E E6t h W or ksh op on Signal Pr o ces s ing A dva nces i n W i r eles s C om m uni cat i ons.【S.1.]:IEEE Pre s s,2005:420--424.M】C A S SIO L I D,W I N M,M O U SC H A.T he ul t r a-w i de bandw i dt h i nd oor chan nel:Fr om st at i st i cal m odel t o s im ulati ons[C]//P r oc.I EE E J.Select.A r eas C om m un.【S.1.]:I E EE Pres s,2002,20:1247一1257.【5】BA H R A M G IRI H,SA L E H I J.M ul t i pl e sh i ft a cqui s i t i o n al go r i t hm i n ul t r a-w i de bandw i dt h f r am e t i m e-h oppi ng w ir e le ss C D M A s ys tem s 【C F/P r oc.13th I EEE Per s onal,I ndoor and M obi l e R adi o Com m un.【S.I.]:IEEE Pr es s,2002,4:1824-1828.[61Y A N G Li uqi ng,TI A N Z,G I A N N A K I S G B.N on-dat a ai ded t i m i ng a cquis i ti on of ul t r a-w i deba nd t ra nsm i s si on s us ing eyclest ati onar i e[c]//Proc.2003I E E E I nt l.C onf.A cous t ics,Speech and Signal Proc.i s.1.]:IEEE Press。