MSP430单片机与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进