微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 求助:CC1101 WOR功耗及唤醒时间问题

求助:CC1101 WOR功耗及唤醒时间问题

时间:12-23 整理:3721RD 点击:

在做CC1101的wor时遇到点问题:发送端连续发送60字节长度数据,发送速率为28.7KBaud,接收端使用wor,GDO2引脚触发中断唤醒MSP430F5324。1、现发现wor可以实现唤醒,但唤醒时间严重偏长,时间不定大约有6——8s,设定EVENT0为1.89s,T Rx timeout大约39ms。2、开启wor后(发送端此时没发送数据,无法退出LPM3)整个板子功耗在5ua左右,但是有很短一段时间会跳到300ua左右,请问下这是wor由空闲转为rx模式时造成的嘛?300ua电流正常吗?

以下是我的寄存器配置,请TI员工帮我看下哪地方出问题,万分感谢!

0x08, // FSCTRL1 Frequency synthesizer control.
0x00, // FSCTRL0 Frequency synthesizer control.
0x10, // FREQ2 Frequency control word, high byte.
0xA7, // FREQ1 Frequency control word, middle byte.
0x62, // FREQ0 Frequency control word, low byte.
0xFA, // MDMCFG4 Modem configuration.
0x21, // MDMCFG3 Modem configuration.
0x03, // MDMCFG2 Modem configuration.
0x22, // MDMCFG1 Modem configuration.
0xF8, // MDMCFG0 Modem configuration.

0x00, // CHANNR Channel number.
0x34, // DEVIATN Modem deviation setting (when FSK modulation is enabled).
0x56, // FREND1 Front end RX configuration.
0x10, // FREND0 Front end RX configuration.
0x06, // MCSM2
0x00, // MCSM1
0x18, // MCSM0 Main Radio Control State Machine configuration.
0x16, // FOCCFG Frequency Offset Compensation Configuration.
0x6C, // BSCFG Bit synchronization Configuration.
0x43, // AGCCTRL2 AGC control.
0x40, // AGCCTRL1 AGC control.
0x91, // AGCCTRL0 AGC control.

0xE9, // FSCAL3 Frequency synthesizer calibration.
0x2A, // FSCAL2 Frequency synthesizer calibration.
0x00, // FSCAL1 Frequency synthesizer calibration.
0x1f, // FSCAL0 Frequency synthesizer calibration.
0x59, // FSTEST Frequency synthesizer calibration.
0x81, // TEST2 Various test settings.
0x35, // TEST1 Various test settings.
0x09, // TEST0 Various test settings.
0x06, // IOCFG2 GDO2 output pin configuration. //06
0x06, // IOCFG0 GDO0 output pin configuration. Refer to SmartRF?Studio User Manual for detailed pseudo register explanation.

0x05, // PKTCTRL1 Packet automation control.
0x45, // PKTCTRL0 Packet automation control.
0x00, // ADDR Device address.
0xff, // PKTLEN Packet length.
0xff, // WOREVT1
0xfa, // WOREVT0
0x48, // WORCTRL
0xD3, // SYNC1
0x91, // SYNC0

//开启OWR

halSpiStrobe(CCxxx0_SWORRST); // Resets the real time clock
halSpiStrobe(CCxxx0_SIDLE);
halSpiStrobe(CCxxx0_SWOR); // Starts Wake-on-Radi

// GDO2(P2.6)  P2口中断

P2SEL &=~ BIT6;
P2DIR &=~ BIT6;
P2IFG &= ~BIT6;
P2IES &=~ BIT6; //
P2IE |= BIT6;

#pragma vector = PORT2_VECTOR
__interrupt void GDO_2()
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
INT8U len=60; //接收最大数据长度
if(halRfReceivePacket(RxBuf_CC1101,&len)) // 接收数据包判断
{
LPM3_EXIT;
}
P2IFG &= ~BIT6;
}

建议直接看专门讲CC1101 WOR的文档 AN047 梳理逻辑。

缩短CC1101 Wake Up 的时间可以 Disable Calibration。 发现你这里说的唤醒跟WOR 中的唤醒概念有差异,CC1101 WOR 是值唤醒 CC1101。而你谈的欢迎是唤醒 MSP430。所以你更应该去查看MSP430的唤醒机制。

CC1101 里面有个Analog Temperature Sensor, 打开后电流增加刚好是0.3mA。

Rx 工作电流都是毫安级的, 具体请查看规格书 Table 4。

功耗咋能达到5ua呢。1.89s是最低,占比是0.195%。功耗不对吧!

我没看你配置程序,但是有两点要告诉你:

第一:是不有障碍物,

第二:应该是不考虑这个问题,那就说明你没理解WOR,我的就是1.89S,2S稳定唤醒!

我qq441747863。嘻嘻,当然我也需要帮助,我需要一套协议!有机会一起研究研究

5uA 是什么状态的电流?CC1120 的 Sniff Mode, Active Rx, 可以做到 ~ 2mA。Power Down Mode with eWOR timer 可以做到 0.5uA。

你如果是在433MHz, 且对功耗有要求,建议用 CC1120。

协议栈 TI 开放免费提供的是 SimpliciTI。若需要定制的,可以找TI的第三方IDH。请问贵公司/机构是做什么项目和应用?

MSP430F5324在LPM3状态,这个5uA应该是在发送端没有发送数据cc1101sleep时的电流(后面有个短暂的大电流,可能我用的电流表无法精确捕获瞬时电流)。公司做电网设备,现在做的是故障指示器,大部分时间处于wor,有故障时自动上传故障数据,且支持参数设置和程序升级。

MSP430F5324在LPM3状态,这个5uA应该是在发送端没有发送数据cc1101sleep时的电流(后面有个短暂的大电流,可能我用的电流表无法精确捕获瞬时电流)。公司做电网设备,现在做的是故障指示器,大部分时间处于wor,有故障时自动上传故障数据,且支持参数设置和程序升级。

如果是sleep,cc1101的功耗5ua就是错的。而且我建议430做在lpm4下。可设备或者wor下通过中断唤醒系统。这样才是低,当然如果去掉wor,直接sleep,你可以考虑纽扣电池供电

咋没回答上呢。 5ua不对,如果io处理好可以0.2。ti那位说的0.5也对。 我建议430工作在lpm4.cc1101工作在sleep。这样整体功耗可以控制在1ua

lpm4下是不是不能通过定时器唤醒,必须要外部唤醒,如果定时器时钟使用aclk,aclk使用外部低速晶体的情况下

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

网站地图

Top