微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 超低功耗无线数传系统设计策略

超低功耗无线数传系统设计策略

时间:01-17 来源:互联网 点击:

引言
目前,无线通信技术已经成为一大热点,而系统设计的微型化、低功耗成为发展的必然趋势。在保证系统工作可靠性的前提下,如何实现系统低功耗是无线数据传输系统亟待解决的一个主要问题。本文利用MSP430超低功耗单片机和2.4 GHz ISM频段的射频芯片EMl98810设计了一种低功耗的无线数据传输系统。该系统使用干电池供电,可广泛应用于电池供电的自动化数据采集系统、无线遥控、无线鼠标、无线键盘、无线电子标签、遥控玩具,以及水、气、热、电等居民计量表具无线远传自动抄表。

1 系统概述
目前在2.4 GHz频段的集成射频芯片有多种,性能各有差异,表1列出了几种常用芯片的性能特点。

本系统采用MSP430F247单片机和EMC公司的EMl98810芯片进行设计。MSP430系列单片机是一个16位精简指令集(RISC)微处理器。它具有丰富的寻址方式(7种源操作数寻址,4种目的操作数寻址),简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;具有高效的查表处理指令;有较高的处理速度,在8 MHz晶振驱动下指令周期为125 ns;中断源较多,并且可以任意嵌套;当系统处于省电的备用状态时,用中断请求唤醒只用6μs。MSP430系列单片机的电源电压采用1.8~3.6 V,其在1 MHz的时钟条件下运行时,芯片的电流为200~400μA左右,时钟关断模式最低只有O.1 μA。
EMl98810芯片内建2.4 GHz GFSK射频收发器,带有8位数据帧无线收发功能,前导区可以设置为1~8字节,支持1~4个字地址(最多可达64位),最大数据传输速率为1 Mbps,允许长数据包传送;频率范围为2 400~2 482 MHz(81信道),传输距离100 m(PCB天线),RF输出功率2 dBm,接收灵敏度在-85 dBm以上,采用SPI数字编程接口,接口电压为2.5~3.7 V。该芯片发射功率可数字编程调节,通过寄存器的设置很容易实现低功耗模式;内建多种纠检错功能,采用各种有效载荷数据格式来消除直流漂移量;支持FEC的1/3、2/3纠检错功能和CRC16检错功能。内部具有FIFO和DIRECT两种工作模式:FIFO模式简单易用,对MCU要求不高,发射和接收各有64字节的缓冲区,一次发送、接收可以最多处理64字节数据;DIRECT模式对MCU要求较高,需要MCU处理各种纠检错功能。

2 系统设计
2.1 系统硬件设计

图1是MSP430F247单片机和EMl98810的连接示意图,通过SPI总线与RF芯片相连。实际电路连接如图2所示。


2.2 系统软件设计
数据包格式如下:


其中,前导区可配置为1~8字节,同步字可配置为16、32、48或64位;前导尾区可配置为4、6、8……18位;数据区可为NRZ码、Manch-ester码、8/10位码、带FEC的数据4种格式。
系统上电后,先使EMl98810的RESET_n引脚为低电平,以保证芯片有效复位;再使此引脚为高电平,BRCLK脚会产生12 MHz的时钟;然后进行相关寄存器初始化。初始化程序流程如图3所示。


其中,Reg48为数据帧格式配置寄存器,需要设置前导区的长度(默认为3字节),同步字长度默认为64位,前导尾默认长度为4位,数据默认为NRZ格式。该寄存器的第2位为1则配置为睡眠模式,第3位为1则配置为待机模式。Reg49~51用于设置发射和接收的延迟时间。Reg52~55用于设置同步控制字,默认全部为0000H。Reg57用于配置是否启用CRC校验、包长度控制方式等。Reg48~57详细配置数据如下:

Reg0~28主要是配置发射功率、VCO、RSSI、接收延时、通道选择与控制、AMS测试及控制、BPF和AGC控制、发射与接收数据控制、直流漂移控制、PLL同步控制、数据收发的时序控制、N/VCO参数控制、时钟等。Reg0~28详细配置数据如下:

Reg0~28初始化完成后再延时2 ms,就可以直接进行数据的收发了。特别要注意的是,帧寄存器Reg48~57必须在RFIC寄存器Reg0~28之前初始化。所有寄存器读写和收发的数据都是通过SPI接口进行的,并且只支持从模式,SPI操作时序如图4所示。在芯片第28脚LDO_TUNE接地时(R1断开,R2接O Ω电阻),其数据在SPI_CLK时钟的上升沿有效;当LDO_TUNE接VDD时(R2断开,R1接0 Ω电阻),数据在SPI_CLK时钟的下降沿有效。只要SPI_SS为高电平,寄存器中的数据就保持不变;只有SPI_SS为低电平时,才能重新改写寄存器中的内容。



EMl98810有两种检测收发数据包长度的方法:一种是自动在数据帧内检测出来,最大帧长度不能超过255字节。先设置Reg57的第13位为1,则发送或接收数据区中的第1个字节就代表数据的长度,帧控制器会自动控制收发开始与停止。另外一种是保持发射或接收的状态不变,通过外接MSP430F247来控制数据包的正确发送与接收。
发送数据流程如图5所示。在发射数据时,先设置Reg7的第8位为1,允许在内部状态机控制下进入数据发射状态,再设置Reg7的O~6位为所选通道。在发送前导尾区数据前,MSP430F247必须将数据放人FIFO中,如果数据长度超过63字节,应该分多次写入。FIFO_flag=1表示FIFO为空,MSP430F247利用此信号作为中断请求,保证发送数据写入FIF0的实时性,在数据发送完成后PKT_flag=1。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top