维普资讯 http://www.cqvip.com 具有波特率自适应功能的无线数据传输模块设计 ●新特器件应用 -39- 具有波特率 自适应功能的无线数据传输模块设计 鹿泽洲 (北京航天飞行控制中心,北京100094) 摘要:介绍了基于nRF401无线数据传输器件的数传模块的设计与实现,给出了微控制器与 nRF401的接口原理图,针对微控制器串行口不足的问题,用软件模拟实现了一个串行口,并得出 了51系列单片机波特率自适应功能的定时器初值设定方法,给出了计算公式。 关键词:nRF401;软件模拟串口; 波特率自适应 中图分类号:TN919.3 文献标识码:B 文章编号:1006—6977(2007)08-0039-03 Design of wireless data transmission module with band rate self adapting LU Ze—zhou (Be ̄iingAerospace Control Center,Belling lO0094,China) Abstract:The design of wireless data transmission module based on RF transceiver nRF401 is intro— duced.he interface circuiTt between microcontroller and nRF401 is presented,a method which simulates serial port by sofwarte is introduced,and successfully solves the scarcity of serial port.he method fTor setting initil vaalue of timer in MCS——5 1 single chip computers with band rate self——adapting is dis・- cussed,and corresponding setting formulas are given. Key words:nRF401;sofwatre simulation serial port;band rate self-adapting 1模块总体结构 基于nRF401无线数据传输器件的数传模块总 较,选用nRF401作为无线数传器件。 nRF401是单片无线收发器件,采用蓝牙核心技 术设计,内部集成高频发射、高频接收、PLL合成、 FSK调制、FSK解调、多频道切换等诸多功能和外围 部件协议,是目前集成度最高的无线数传产品,也 是唯一可以直接连接微控制器串口进行异步数据 传输且无需曼彻斯特编码的无线收发器。nRF401发 射功率最大为10 mW,工作电压为2.7 V~5 V,发射 电流为8 mA一30 mA,接收电流约10 mA,待机电 体硬件结构如图1所示,主要由微控制器和蓝牙芯 片及其相应的外围电路组成,能自动完成波特率识 别,并进行数据的编码处理,给用户提供了一个透 明的数据接口。微控制器选用Atmel公司推出的可 在线编程的单片机AT89S51,便于以后软件的升级。 通过对发送数据是否需要曼彻斯特编码、所需外围 元件的数量、功耗及发射功率等方面的因素综合比 流为8 A,灵敏度为一105 dBm,采用20引脚8 mmX 7 mm的SOIC封装。所需外部元件很少,仅外接一 匦 区 l复位电路H}-_-.{蓝牙芯片 触 。数据输入接口 个晶体和几只阻容、电感元件,无需调试,传输速率 最高达19.2 kb/s,工作频段为433/434 MHz,有两个 信道,调制方式为FsK。 nRF401有5个端口与微控制器相关:DIN和 DOUT用于异步串行通信,DIN的数据方向为微控制 器到nRF401,DOUT相反;CS选择工作频段,CS=0 一l微控制器l— I晶振电路H _.{ICSP 接口I 图1数传模块结构框图 维普资讯 http://www.cqvip.com -4o一 《国外电子元器 )2007年第8期 2007年8月 路.nRF401只需1O个左右的元件即可实现数据收 时频段为433.92 MHz,CS=I时为434.33 MHz,在该 模块中将CS引脚引出,方便用户控制,在一个频段 无法工作时,可以设置为另一个工作频段,提高了 系统的抗干扰能力;PWR_UP用于节电控制, PWR_发.应用极其方便。其PSEN为数据收发选择端,当 设定为发送模块时,PSEN接为高电平,同时,DIN 引脚与微控制器的TX端相连,微控制器的RXD端 作为预留接口与外部主控单片机的TXD相连;若设 计为接收模块,则PSEN接低电平,同时,DOUT引 脚与微控制器的RX端相连,RXD引脚与外部微控 制器的TXD引脚相连。模块与外部单片机的通讯波 特率为自动检测方式,受nRF401通讯速率的限制, 该模块可以工作在1 200 b/s 19.2 kb/s之间。模块 T R X XUP=0时为掉电(节电)模式,PWR_UP=I时为 上电(工作)模式,在该模块中同样将其引出,在不 需要无线发射和接收时,用户可将器件设置为节电 模式以降低系统的功耗;TxEN选择发射或接收状 态,TxEN=0时为接收.TxEN=1时为发送。 PCB布局和电源去耦设计对于RF射频电路获 得较好的性能是必要的,电路板采用1.6 mm厚FR4 板材的两层PCB.底层覆铜面,并在元件层空白区 覆铜,多打通孔连接上下层.铜面与地线相连,天线 下底层不覆铜。VSS直接与铜层连接,并保证关键元 矾 薹藿1一OY一 n l P A A —V N N V V 上预留ICSP接口,可以系统在线编程,方便程序升 级。还同时具有良好的防窃密功能,不易破解。 2.2串口模拟及波特率自适应的实现 ∞ 五 一 一 对于模块上的片上主控单片机AT89S51而言, 既要控制nRF401完成与外界的数据交换,同时自 2 N P S1 2 S D C E U S T T S D 件充分接地。所有开关数字信号和控制信号都不能 经过PLL环路滤波器元件和VCO电感附近。直流 供电在离VDD引脚尽可能近的地方用高性能的电 容去耦,去耦使用一只小电容(O.O1 F)和一只大电 容(2.2 F)并联,避免较长的电源走线。 身又必须受控于模块外部的主控单片机.因此, AT89S51必须能同时与nRF4O1及片外主控单片机 通讯,但AT89S51只有一个UART,无法满足要求, 为解决这一矛盾,通常的方法是扩展一片8251或 8250通用同步/异步接收发器(USART),但需额外 2硬件设计及软件实现 ● 占用单片机I/O资源,增加了系统的成本,同时也增 大了PCB板的布局面积。本系统则采用单片机普通 I/O口模拟串行口,利用该方法还可扩展多个外部 2.1微控制器与nRF401接口设计 图2为微控制器AT89S51与nRF401的接口电 +5V 串行端口,实现多机通信。 利用普通I/O口模拟串口,必须 首先确定串口的通信速率即波特率, 在本系统中,该模块设计是波特率为 1 200 b/s一19.2 kb/s自适应式的通信 :C5 上 l C3 主 XC1 VDD VSS FILT re01 模块,使自身的波特率随主控单元的 调整而自动调整,系统适应性更强, 更具智能化,因此首先必须解决好波 VC02 VSS VDD 1)IN 特率自动检测与识别的问题。 2.2.1波特率自动检测识别的实现 C4: :C5 上l 上l DOUT 常用的波特率自动检测方法主 要有两种: 工 口 (1)标准波特率穷举法。 标准法特率穷举法适用于主机 侧的波特率必须在有限的几个固定 数值之间变化,如300 b/s 9.6 kb/s之 串行通讯接口 间的标准值;且从机侧的工作振荡频 率已知且稳定。从机启动通信程序 后,逐个尝试以不同的波特率接收主 图2单片机与nRF40接口电路 维普资讯 http://www.cqvip.com 具有波特率自适应功能的无线数据传输模块设计机发出的特定字符,直到能正确接收为止。因此,该 方法的运用具有一定的局限性。 二41_ 将式(3)代人式(2)得出此时的波特率为: BA UD=(2sM ̄DI32)x 12x(256-X)】 即:BA UD=BPS (4) (5) f21码元宽度实时检测法。 该方法是先通过单片机的定时器测量RX引脚 设此时模块的波特率与主机侧的波特率相等, 将式(4)、(5)代人式(1)可得: 上输人数据的码元宽度,即机器周期的计数值,之 后用软件计算出波特率发生寄存器的值。该方法由 于适用范围广、操作灵活,因而应用较为普遍。 本系统首先用码元宽度实时检测法确定主机 T ̄,=[4x32x 1 2x(256-X)]/fosc (6) 设AT89S51内部定时器T1测连续8个码元计 数值为 ,由于是对其内部的机器周期计数,且机 的波特率,之后从机自身进行相应设置。就理论而 言.只要能够测出一个码元的宽度就能确定数据传 输的波特率,但在实际测量过程中,为保证测量的 准确性,通常采取测量连续8个码元宽度的方法。 这里采用了较为常用的异步串行通信数据格式,即 1个起始位、8个数据位、无校验、1个停止位。发送 时低位数据在前,高位在后.因此连续8个码元宽 度的时间可以通过在主机侧发0)【8OH的方式实现, 其波形如图3所示。起始位加7个码元宽度的低电 平,恰好构成8个脉宽的低电平。单片机采用串口 中断的方式接收数据.当有数据到达时.打开定时 器,同时不断查询接收引脚的状态,当RXD变为高 电平后停止计数.这样单片机就可以测量出低电平 持续的宽度。 I起I互I三I互I互I妄i要I妄I妄I俘‘ ’始‘ ’ ’ ’‘ ‘’ ’ ‘止’ 位 。 。 位 图3发送0x80H的时序图 设主机侧的波特率为BPS,其值未知,则此时连 续8个码元的宽度计算公式为: 7 =8, 尸S (1) 设模块内AT89S51单片机的工作频率为. , 用定时器1方式2常数自动装入方式产生波特率. 串行口工作在方式1,此时串口的波特率由定时器 T1的溢出率和SMOD位同时决定。即: BA【『D=(2 32)×T1溢出率 (21 当T1用作波特率发生器时,TL1用作计数器, 而自动重装的值放在TH1内,设初始值为 ,则每 “256-X”个机器周期,定时器T1就会产生一次溢 出。为了避免因溢出而产生不必要的中断,此时禁 止T1中断。AT89S51内部机器周期为振荡周期的 12分频,因此,定时器T1的溢出周期为: 7 12c『 56-X) (3) 器周期是内部振荡周期的12分频,所以,总数为M 的机器周期代表的实际时间是: Ts ̄,=12xM/fosc (7) 很明显,式(6)与式(7)应相等,因此有如下公式成 立: 12xM/fosc=[4x32x12x(256-X)]lfosc (8) 由上式则可得出,单片机定时器T1初值在波 特率自适应情况下的计算公式: X=256-(M/128) (9) 由式(9)可以看出,其初值不依赖于单片机的 工作频率.因此.只要单片机的工作频率相对稳定 即可,对具体数值无要求。 另外,需要说明的是,对于串行异步通信而言, 通信双方的波特率不必严格相等,只要双方的差别 在一定的范围之内,就可实现准确通信。 2.2.2软件模拟串口的实现 当波特率确定以后,即可用软件模拟实现串行 口。对单片机而言.要实现模拟串口的关键是必须 解决好时序问题,不能造成通信过程中的数据丢 失。为此,采用单片机的外部中断O口的下降沿触 发功能,模拟串口数据接收线RXD.P1.2口模拟串 口数据发送线TXD,定时器0以确定中断方式对接 收码元采样或发送数据流.实现一个软件的串口。 对于软件模拟串口而言,关键是必须解决好时 序问题。本系统充分利用了nRF401器件半双工通 信的特点,即数据发送和接收不同时进行,成功实 现了一个软件串行口。串行数据发送的实现相对较 为简单.只需利用定时器让发送出去的码元维持一 定的时间宽度即可.实现异步串行接收的关键是起 始位的检测和信息位的准确提取。任何时候数据传 送都可能发生,故要求接收方必须能够及时准确地 接收数据,而通信过程中没有同步信号,因此,串行 数据的提取相对而言具有一定的难度。所以,文中 采用AT89S51的外部中断O口模拟RXD.并设置其 维普资讯 http://www.cqvip.com -42一 《国外电子元器 ̄-)2007年第8期 2007年8月 ●新特器件应用 新型高速无线射频器件nRF24L01及其应用 时志云,盖建平,王代华,张志杰 (中北大学动态测试与智能仪器教育部重点实验室,山西太原030051) 摘要:nRF24L01是Nordic公司推出的一款新型高速无线收发器。介绍了nRF24L01的引脚功能及 结构、工作模式、收发原理以及配置字,给出了典型应用电路。 关键词:nRF24L01;无线收发;应用电路 中图分类号:TN919.3 文献标识码:B 文章编号:1006-6977(2007)08-0042-03 A new kind of high speed wireless RF transceiver--nRF24L01 and its application SHI Zhi-yun,GAI Jian—ping,WANG Dai—hua,ZHANG Zhi-jie (Ministry ofEducation Key Lab ofDynamic Measurement&Intellige Instrument. North University fChiono,Taiyuan 030051,China) Abstract:nRF24L01 is a new kind of high speed wireless data transceiver which is produced by Nordic company.The pin structure,operation mode,transmission principle and configure words of nRF24L01 are introduced,and the application circuit is given. Key words:nRF24L01;wireless transmission;application circuit 1 nI 24L01概述 nRF24L01是一款新型单片射频收发器件。工 作于2.4 GHz~2。5 GHz ISM频段。内置频率合成器、 以一6 dBm的功率发射时,工作电流也只有9 mA;接 收时,工作电流只有12.3 mA,多种低功率工作模式 (掉电模式和空闲模式)使节能设计更方便。 nRF24L01主要特性如下: GFsK调制: 功率放大器、晶体振荡器、调制器等功能模块,并融 合了增强型ShockBurst技术,其中输出功率和通信 频道可通过程序进行配置。nRF24L01功耗低,在 中断方式为边沿触发,平常保持为高电平,起始位 为低电平,因此,当有数据到达时产生中断,根据波 特率设置的定时时间间隔进行数据采样,即可实现 串行数据的接收。 硬件集成OSI链路层; 具有自动应答和自动再发射功能: 『2]李朝青.无线发送/接收IC芯片及其数据通信技 术选编【M].北京:北京航空航天大学出版社,20o3. 【3]Nordic Semiconductor.nRF401 Datesheet【DB/OL]. http://www.nordicsemi.no/ifles/Product/datasheet/ _3 结束语 本文设计的无线数据传输模块已成功运用于 “磁栅式浮动检测仪”项目中,经实践检验,系统工 作稳定可靠,具有一定的工程实用价值。 参考文献: datasheetnRF401rev16.pdf,2000. ——【4]潘育山,靳桅,邬芝权.单片机串行通信波特率的 自适应实现方法【J].现代电子技术,2003,26(24): 56-58. 【5]黄智伟,李富英.基于射频收发芯片nRF401的计 算机接口电路设计【J丁、微电子学与计算机,2002, 『1]余永权.ATMEL89系列Hash单片机原理及 应用【M1.北京:电子工业出版社,1997、 f19):39-41. 收稿日期:2o07—03—20 咨询编号:07081 1