基于nRF401的通用智能无线收发装置的设计

发布者:TranquilDreams最新更新时间:2011-01-11 来源: 现代电子技术关键字:无线数传  串口通信  无线收发芯片  单片机 手机看文章 扫描二维码
随时随地手机看文章

  目前,在各种仪器仪表数据采集系统,遥控测控系统中都需要嵌入无线数据传输的装置,本文介绍了一种通过单片机w77e58对无线收发芯片nRF401进行智能控制的通用无线收发装置的设计方法,硬件电路的设计分为两部分:无线射频模块的设计和控制模块的设计。该装置可以通过跳线的装置选择串口为rs232标准或ttl电平标准,通过w77e58控制可以实现双信道的切换,并可实现数据流控。

  1 无线射频模块的设计

  在本设计中,无线射频模块采用挪威nordic公司推出的nrf401无线收发芯片。该芯片使用433mhz ism频段,是真正的单片uhf无线收发一体芯片,他在一个20脚的芯片中包括了高频发射、高频接收、pll合成、fsk调制、fsk解调、多频道切换等,是目前集成度最高的无线数传产品[1]。无线射频模块采用在板差分环形天线,天线端口的负载阻抗为380ω,其电路原理见图1,图中列出了各外围元件的参数,其中j1口为无线射频模块与控制模块的接口。

电路原理

  硬件电路的设计要点如下:

  (1)射频电路对于电源噪声相当敏感,必须采用星形布线的方法使数字部分和rf部分有各自的电源线路,并且应在靠近集成电路电源引脚处分别去耦[2]。

  (2)外接vco电感应选用高频电感,q>45,精度为2%,本设计采用深圳顺百科技有限公司的lqw18an22ng00,电感的精度对无线通信的距离有较大的影响,也可使用精度为5%的,但通信距离会大大减小。vco电感连线应与其他控制线保持一定的距离,应避免数字控制线从电感引脚之间经过, 并且应该使vco电感元件的中心距离nrf401的vco1,vco2引脚焊盘的中心5.4mm左右,电感元件的选择与布局很重要,是设计成败的关键点。

  (3)在电路板的正反两面均使用大面积铺铜作为接地面,使所有的器件容易去耦,两面的铺铜应使用多个过孔相连,所有对地线层的连接必须尽量短,接地过孔应放置在非常靠近元件的焊盘处[2]。

  (4)天线的设计使用pcb板的环形天线,尺寸为35mm×20mm,天线增益为-11db,天线阻抗为380ω,天线应位于pcb板的顶部,天线部分不要铺铜,有关环形天线的设计可参考nordic公司的技术文档nan440-03和nan400-05。

  (5)如果pcb板的vco电感设计合理,当模块处于接收状态时,nrf401的第4管脚电压为1.1±0.2v。

  2 控制模块的设计

  控制模块负责对无线射频模块状态切换及信道切换的控制,选用华邦单片机w77e58,控制模块的设计分为硬件电路的设计和软件的设计两部分。

控制模块的设计

  2.1 硬件电路的设计

  w77e58速度高,工作频率可扩展到40mhz,使用与8051/52同样的晶振运行时间比8052快2.5倍[3],且其片内自带两个uart 串口,串口0用于与外部的串口设备通信,串口1用于与无线收发模块通信,其中j6口为控制模块与无线射频模块的接口,j2口为控制模块与外部串口设备通信的接口,可以采用简单的三线通信方式,也可以加上流控信号cts,通过ttl电平对reset管脚的控制可以实现对智能无线数传模块的复位。j2口与外部串口设备可以以rs232或ttl电平的形式进行通信,通信形式的选择通过对接口j3、j4、j5的跳线设置,max232及外围的电容元件均可采用贴片器件,以缩小pcb板空间。通过p2.5,p2.6,p2.7分别对无线射频模块的待机状态与工作状态的切换,收发状态的切换、信道的切换进行控制。

  2.2 软件的设计

  w77e58片内自带有两个串口,其中串口0可以使用定时器t1或定时器t2作为波特率发生器;串口1只能使用定时器t1作为其波特率发生器 [4]。本设计中采用t2做为串口0的波特率发生器,采用t1做为串口1的波特率发生器,两个串口均工作在串口模式1,波特率为9600b/s,串口0占用了第4号中断,使用scon,sbuf做为其串口控制寄存器和串口数据缓冲器;串口1则占用了第7号中断,scon1,sbuf1做为其串口控制寄存器和串口数据缓冲器。对串口的初始化函数为init_serialport(),函数定义如下:

  在无线通信的过程中,由于外部环境的干扰,通常误码率比较高,即使发射方不发送数据,接收方仍会经常接收到由于外部干扰而产生的乱数据,为了在接收的过程中区分接收到的数据是否为有效数据,必须有一定的通信协议:

  (1)两个串口的数据发送均采用查询方式,数据接收均使用中断方式;

  (2)数据帧包括帧首和数据两部分,帧首使用双字节0x55aa,数据部分为1b,即每帧占用3b,帧首和数据部分均采用十六进制ascii码传送,确保协议的透明性;

  (3)接收方如果接收到0x55 0xaa字节,则说明接收到有效的数据帧,否则将该帧丢弃。

  如果硬件电路设计合理,元器件的选择恰当,再加上以上简单的通信协议,则可将误码率控制在0.2%以下。

  单片机上电后,首先对系统和串口进行初始化,然后单片机进入待机模式,直到两个串口中的一个发生中断硬转为工作模式,处理中断程序。主要的程序代码如下:

主要的程序代码

  3 硬件电路的测试

  本设计中将控制模块和无线射频模式分开设计,控制模块通过一单排7脚的接口控制射频模块,测试的步骤如下:

  (1)将控制模块和无线射频模块焊好,检查确认无虚焊、粘焊;

  (2)先对控制模块上电进行测试,主要是测试控制模块的串口0和串口1能否相互收发数据,测试方法是通过板上跳线将串口0设置为rs232标准,由于板上的串口1只有ttl电平标准,必须外加电平转换电路将其转换为rs232标准,然后将两个串口分别接到计算机的两个串口上,将以上的程序写到 w77e58上,然后用串口测试软件测试,如果串口0,1能相互收发数据,便可开始对无线射频模块进行测试;

  (3)将无线射频模块的j1口与控制模块的j6口焊接起来,上电进行测试,按照以上的程序,上电时处于接收状态,可对txen,pwup,cs等管脚进行测试,看是否与程序吻合;

  (4)确认射频模块上电处于接收状态后,可测试nRF401地第4管脚是否为1.1v左右,如果是,则说明vco电感设计合理,否则要重新设计 pcb板,此外,nrf401在没有数据接收时,仍会自动从dout发送随机数据,使用万用表进行测试时该引脚电压应为2.5v左右[4]。如有示波器可做更详细的测试。

  4 结语

  由无线收发芯片nrf401、单片机w77e58、接口芯片max323等组成了一个智能控制无线收发装置,该装置具有通用性,可嵌入到各种仪器仪表数据采集系统、遥控遥测系统中,实现无线数据的双向传输。

关键字:无线数传  串口通信  无线收发芯片  单片机 引用地址:基于nRF401的通用智能无线收发装置的设计

上一篇:STM32F10x在OTP MCU编程器中的应用
下一篇:基于ATOM处理器的工业控制系统实现

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

单片机各种算术操作指令解析
一、加法(对C、AC、OV等影响) ADD A,Rn---(@Ri,direct,#data) ADDC ------------------------------------------ 二、减法 SUBB A,------------------------------------ 三、加1(不影响标志位) INC A(Rn、@Ri,direct,DPTR) 对端口 Pi 的“读--修改---写”指令:INC、DEC、ANL、ORL、XOR、DJNZ 四、减1------- DEC A(Rn、@Ri,direct) 五、十进制加法调整 DA A 六、乘法 MUL AB 当积大于255时 OV=1 七
[单片机]
<font color='red'>单片机</font>各种算术操作指令解析
完整开发工具平台进一步简化MCU设计过程
微控制器及触摸技术解决方案的领导厂商爱特梅尔公司(Atmel® Corporation)宣布推出专为支持Atmel 微控制器(MCU)和最近付运的ARM® Cortex™-M4-based SAM4L系列而开发的完整硬件和软件平台集成开发工具平台(integrated development tools platform),进一步简化MCU设计过程。 现今的嵌入式硬件设计中,由于软件设计持续变得更加复杂,并且越来越多用于终端客户产品的差异化,因此为设计人员提供全部所需的工具和嵌入式软件的完整解决方案变得更重要。甚至,随着设计周期继续缩短,完全集成且无缝使用的完整工具平台变得更关鍵 —— 因為MCU供应商必须考虑芯片之外的内容。使
[单片机]
STM32单片机如何进行中断调试
1、基本的GPIO配置,注意,因为需要用到普通IO口作为中断输入口,因此是用了IO口德复用功能,因此必须打开RCC_APB2Periph_AFIO时钟,负责复用IO无效。 2、IO口复用功能映射 3、嵌套中断向量配置 调试发现这几句话是必须要的,不然不能产生中断!!! NVIC_IRQChannel 这里的值需要注意一下,与固件库给出的值不符!!定义在stm32f103x.h头文件中。 4、外部中断/事件配置 5、在stm32f10x_it.c中添加中断处理函数,函数名称格式为(PPP代表中断名称) 函数名称在startup_stm32f10x_xx.s中寻找。 记得还需要在stm32f10x_it
[单片机]
STM32<font color='red'>单片机</font>如何进行中断调试
富士通半导体发布基于ARM的32位MCU
富士通半导体(上海)有限公司今日宣布发布52款采用ARM® Cortex™-M3内核的32bit RISC FM3系列产品,包括MB9A310系列的MB9AF316NBGL以及 MB9A110系列的MB9AF116NBGL等产品。目前,该系列产品已经开始提供样品。 MB9A310和MB9A110系列是高性价比、低功耗产品,主要应用于家电变频器控制、打印机马达控制、复印机等设备。 富士通FM3 系列产品基于长期的以ARM® 为内核的ASIC产品生产以及广受市场认可的32bit FR产品的设计经验再次推出了52款FM3 ARM® Cortex™-M3产品,更加丰富了富士通FM3产品家族,包括高性能、基本产品两大系列96
[单片机]
AT89C51单片机详解
上面是AT89C51单片机的RAM内存分布表,必须要了解! 二进制需要加B,十进制加D也可以省略,十六进制需要加H,A~F前要加0 电源控制寄存器PCON
[单片机]
AT89C51<font color='red'>单片机</font>详解
8位单片机中unsigned int的长度是多少
用C写程序,和单片机本身是几位单片机没有任何关系的。你定义了一个int 数据,内存就分配给它两个字节。所以int数据都是16位的。unsigned int 数据是无符号整形,最高位不表示符号,所以从0000,0000,0000,0000B------1111,1111,1111,1111B.即从0x0000----0xffff。如果化成10进制就是0---65535。如果单单是int 型数据,则最高位表示符号位,0为正数,1为负数。这时这个数据就表示从。0x8000---0x7fff(注意最高位是符号标志位) 转成10进制以后就是。-32768---+32767。其他数据的长度你可以参考一下标准的C语言方面的书籍,比如一个char型
[单片机]
用8031单片机控制的数字钟
数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点。 所设计的电子钟有以下功能: 1. 24小时制时间显示。 2. 可随时进行时间校对。 3. 整点报时。 4. 闹钟功能。 为了节约制作硬件的开支,我们利用单片机开发机上的硬件资源,开发了电脑数字钟的软件。该数字钟由8031单片机控制,采用24小时制计时,利用开发机上的六个LED显示器来显示时、分和秒,使用P1端口中的P1.0端口线
[单片机]
用8031<font color='red'>单片机</font>控制的数字钟
NEC推出32位架构音响控制MCU,内置1M闪存
NEC电子日前推出一款汽车音响控制适用的微控制器,这款32位V850ES/Sx3 MCU采用大容量闪存(多达1MB),它使用与V850ES相同的32位架构,这样可确保软件开发工具和系统测试工具的兼容性,这样使用NEC前代产品的制造商可以降低开发时间及成本。 V850ES/Sx3 32位MCU有两个系列:V850ES/SJ3和V850ES/SG3,其容量为256KB至1MB。由于扩大了闪存容量,设计者可以使用更大型的软件以开发更多功能。由于可灵活改变存储器容量,从而可提供使用相同MCU的不同型号产品。 现在开始提供V850ES/SJ3和V850ES/SG3 32位MCU样品,批量生产将于2006年10月开始,月产量将达100万片
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

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

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

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved