历史上的今天
返回首页

历史上的今天

今天是:2024年12月03日(星期二)

正在发生

2020年12月03日 | 基于MSP430单片机和nRF905的无线通信系统

2020-12-03 来源:elecfans

随着信息技术的不断发展,人们对通信技术的需求越来越强,摆脱有线网络的束缚实现无线通信始终是大家关心的问题,当今无线通信研究越来越热,应用非常广泛,使人与人之间的通信更加方便快捷,更具有市场发展前景。本文以Nordic公司的nRF905作为通讯的核心,设计了无线通信系统。


系统设计

无线通信系统,由两个部分组成:发送终端,接收终端。数据的发送和接收显示是借助于串口来实现的,通过PC机串口给发送终端送数据,然后发送终端通过nRF905把数据发送出去;接收终端通过nRF905接收数据,然后把接收到的数据通过串口传给PC机。系统框图如图1所示。

无线系统的硬软件设计


系统的硬件设计

本系统采用的射频收发器为Nordic VLSI公司的nRF905, 工作电压为1.9~3.6V,工作于433/868/915MHz三个ISM频段,频段之间的转换时间小于650us。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器。高抗扰GFSK调制,数据速率为50kbps,独特的载波监测输出,地址匹配输出,数据就绪输出。ShockBurstTM工作模式,自动处理字头和CRC(循环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。nRF905的硬件连接电路图如图2所示。

采用的微处理器为TI公司的MSP430F149,它是一种超低功耗的混合信号控制器,具有16位RISC结构,CPU中的16个寄存器和常数产生器使MSP430能达到最高的代码效率。单片机通过采用不同的时钟源工作可以使器件满足不同功耗要求,适当选择时钟源,可以让器件的功耗达到最小。外设主要有存储器、时钟模块、定时器、USART和A/D转换器等。此次设计主要用到了MSP430F149两个串口通信模块USART0和USART1,USART0作为UART使用,提供异步通信,通过MAX3232电平转换芯片提供RS-232接口和PC机进行通信,USART1作为SPI使用,提供同步通信,主要是和nRF905之间进行命令和数据通信。把MSP430F149的P2口作为一般引脚使用,与nRF905的其他引脚相连。对MSP430F149提供双晶振系统,低频晶振为32.768K,与微控制的XIN和XOUT相连,为RS-232接口提供频率支持,高频晶振为8M,和微控制器的XT2相连,为系统运行的主时钟。系统的整体设计相对较为简单,不过在此基础上可以实现遥测,无线抄表,工业数据采集,机器人控制等。发送和接收的硬件电路是一样的,系统设计主要硬件电路图如图3所示。

系统的软件设计

系统软件设计包括下位机软件设计和PC机软件设计。前者主要是微控制器通过SPI口对nRF905的控制以及微控制器串口通讯的设计,后者包括串口通讯模块、主界面和数据库设计。


}RFConfig;

RFConfig RxTxConf=

{

10,

0x01, 0x0c, 0x44, 0x20, 0x20, 0xcc,

0xcc, 0xcc, 0xcc, 0x58

};

nRF905提供SPI口的读写指令,当CSN为低时,SPI接口开始等待一条指令,任何一条新指令均由CSN的由高到底的转换开始。下面主要介绍nRF905的发送流程和接收流程。


发送流程:

A.当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI接口的速率在通信协议和器件配置时确定;

B.微控制器置高TRX_CE和TX_EN,激发nRF905的ShockBurstTM发送模式;

C.nRF905的ShockBurstTM发送:射频寄存器自动开启;数据打包(加字头和CRC校验码);发送数据包;当数据发送完成,数据准备好引脚被置高;

D.当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式。

ShockBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。只有在前一个数据包被发送完毕,nRF905才能接受下一个发送数据包。


接收流程:

A.当TRX_CE为高、TX_EN为低时,nRF905进入ShockBurstTM接收模式;

B.650us后,nRF905不断监测,等待接收数据;

C.当nRF905检测到同一频段的载波时,载波检测引脚被置高;

D.当接收到一个相匹配的地址,地址匹配引脚被置高;

E.当一个正确的数据包接收完毕,nRF905自动移去字头、地址和CRC校验位,然后把数据准备好引脚置高

F.微控制器把TRX_CE置低,nRF905进入空闲模式;

G.微控制器通过SPI口,以一定的速率把数据移到微控制器内;

H.当所有的数据接收完毕,nRF905把数据准备好引脚和地址匹配引脚置低;

I.nRF905此时可以进入ShockBurstTM接收模式、ShockBurstTM发送模式或关机模式。

MSP430F149的串口通讯程序设计,主要是设定传输的速率为4800bps,数据传输为8位数,1个停止位,无奇偶校验。根据相应的发送端和接收端来设定发送模块和接收模块使能,发送中断和接收中断使能。


在PC机软件设计中,串口通信模块负责PC机与下位机之间的数据通信。而主界面和数据库设计主要是方便对接收的数据进行管理。
  
  实验测试分析

在发送和接收时利用示波器和万用表对nRF905的相关引脚进行测量分析如下:

发射时nRF905的分析情况如表1所示。

接收时nRF905的分析情况如表2所示。

结语

本设计实现了基于MSP430F149和nRF905的无线通信。发送端和接收端之间的距离为80米,之间没有任何有线连接,通过发送端发送数据,在接收端能正确接收数据并显示在PC机上。实验表明,该系统实时性好,性能可靠。

推荐阅读

史海拾趣

电连(ECT)公司的发展小趣事

ECT在射频连接器领域取得了显著的技术突破。从2006年到2008年,公司开始研发射频同轴连接器,并在2009年实现精密射频同轴连接器的量产,并成功获得专利。这一技术突破为ECT在射频连接器市场赢得了重要地位,也为公司后续的发展奠定了坚实的基础。

Crane Connectors公司的发展小趣事

在日益严峻的环保形势下,Crane Connectors公司积极响应国家环保政策,将绿色环保理念融入企业的生产经营活动中。公司采用环保材料和节能技术,减少生产过程中的污染物排放和资源消耗。同时,公司还加强废弃物的回收和处理工作,实现资源的循环利用。这些环保举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实的基础。

CHONGQING PINGYANG ELECTRONICS CO.,LTD.公司的发展小趣事

重庆平洋电子有限公司,自其1998年3月创立之初,便扎根于重庆这片热土,开始了其在电子行业的探索之旅。当时,电子行业正处于快速发展的阶段,市场竞争激烈。然而,公司凭借对市场的敏锐洞察和对技术的执着追求,成功研发出多款电子元器件,逐渐在市场中站稳脚跟。

Formosa MS公司的发展小趣事

在技术创新的基础上,重庆平洋电子有限公司积极拓展市场,不断提升品牌影响力。公司积极参与国内外各种电子展览和交流活动,与多家知名企业建立了战略合作关系。同时,公司还注重产品质量和售后服务,赢得了客户的信任和好评。随着品牌知名度的提升,公司的市场份额也逐年增长。

Good-Ark公司的发展小趣事
检查放大器、滤波器等元件是否正常工作,是否存在短路、断路等问题。
FARNELL公司的发展小趣事

近年来,随着电子行业的不断发展壮大,FARNELL公司也开始向多元化方向发展。除了电子元器件分销业务外,公司还涉足了工业自动化、智能制造等领域。这种多元化的发展战略使FARNELL公司的业务范围更加广泛,也为公司带来了新的发展机遇。

以上五个故事概述了FARNELL公司在电子行业中的发展历程和主要成就。这些故事展示了FARNELL公司不断创新、积极应对市场挑战的精神以及其在电子行业中的重要地位。

问答坊 | AI 解惑

怎样制作三菱fx编程线

怎样制作三菱fx编程线?…

查看全部问答>

rtx51的问题高手进来帮忙解决!!不胜感激!!

小弟最近开始接触keil中的RTX51,还没有入门,只好按书上给的程序调试, #include int counter0; int counter1; job0()_task_0 {os_create_task(1);   while(1)    {counter0++; } } job1(void) _task_1 { while(1 ...…

查看全部问答>

MPC8247的PCI问题

目前我想要实现的是MPC8247单板的PCI从设备驱动方面(PCI桥为CPU自带的)的工作,但是遇到了以下的问题: 1,单板通过PCI槽位插上PC机上后,单板可以正常的启动,但是PC机不能启动。测试PCI_DEVSEL#和PCI_IDSEL信号,发现这两个信号都为周期性的信 ...…

查看全部问答>

WINCE资源文件的疑问

安装PLATFORM BUILDER后,在WINCE500下面的资源文件比如:NETUI.RC都是英文的资源文件,却找不到中文的。请问中文的资源文件在哪?我想改变一些中文对话框的属性,改英文的有效吗?…

查看全部问答>

请问2410LCD屏颜色不对的问题

    2410接LCD,调了很久了,通过修改寄存器配置,SPI配置LCD屏内寄存器,已经基本显示正常了,可以看到稳定的WinCE桌面,但是WinCE桌面的颜色始终不对,启动前有Test,将屏分四块分别显示RGB&white,四种颜色也不对,都是很奇怪的颜色, ...…

查看全部问答>

为什么EVC下加入ON_WM_NCHITTEST编译有错

为什么EVC下加入ON_WM_NCHITTEST编译有错error C2065: \'ON_WM_NCHITTEST\' : undeclared identifier…

查看全部问答>

不停读写芯片问题

arm连一个cpld,结果发现把cpld程序down进去之后,系统就开始不停的读写cpld,搞了好久不知道为什么,后来无意中换了一个linux内核就好了,但是自己编译的就是不行(和供应商一样的源码),请教各位有没有这些方面的经验?或者是其他的问题…

查看全部问答>

LM3S菜鸟成长日记-LED亮度控制

GPIO能在输出模式,配置成2mA、4mA或8mA的驱动能力,算是LM的特色之一吧,我们就使用GPIO驱动能力可调,改变驱动电流,控制LED的亮度变化,只能是三种间断的变化。使用API设置: GPIOPadConfigSet(GPIO_PORTF_BASE,LED,GPIO_STRENGTH_8MA, GPIO_PI ...…

查看全部问答>

怎样配置boland c 4.5

我直接把boland c 4.5安装到了D盘,运行ucos2的代码时,不能运行,是不是还得配置boland c 4.5的环境变量啊,怎样才能运行啊?请兄弟姐妹们帮帮忙,谢谢!…

查看全部问答>

在二极管结温测量中实现高精密脉冲调制

采用2600A系列数字源表触发模型有可能实现高精密定时,因此在脉冲调制[1]的相关应用中具有优势。下面以二极管结温测量为例进行说明。 The precision timing made possible when using the Series 2600A trigger model has advantages in applica ...…

查看全部问答>