This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC430F5137:与 CC430F5147相比、LPM3中的电流消耗较高

Guru**** 657930 points
Other Parts Discussed in Thread: CC430F5137, CC430F5147
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1035124/cc430f5137-high-current-consumption-in-lpm3-compared-to-cc430f5147

器件型号:CC430F5137
主题中讨论的其他器件: CC430F5147

以下代码会导致具有 CC430F5137的 LPM3中的高电流消耗(100uA)。 与 CC430F5147相同的代码具有4.3uA 的更正常功耗。 它是 WOR 和 TA0中 RF1的组合。 禁用任一器件、CC430F5137会降至4.3uA。 同时删除//TA0CCTL0 |= CCIE;(* 1)将电流降至4.3uA。
我缺少什么?

void main( void )
{ 
  WDTCTL = WDTPW | WDTHOLD  | WDTCNTCL;
   
  P1OUT = 0x00;   
  P1DIR = 0xff;   
  P1IES = 0x00;   
  
  P2OUT = 0x80;   
  P2DIR = 0xdf;   
  P2IES = 0x00;   
  
  P3OUT = 0x00;   
  P3DIR = 0xff;   

  P5OUT = 0x00;
  P5DIR = 0x03;   

  PJOUT = 0x00; 
  PJDIR = 0xff; 
  
  PMMCTL0_H = 0xA5;
  SVSMHCTL  = 0; 
  SVSMLCTL  = 0;  //SVSLFP; 
  PMMCTL0_H = 0x00;  
 
  // TA0
  TA0CTL  =  TASSEL__ACLK | TACLR | ID__4;
  TA0EX0  =  TAIDEX_1;                   
  TA0CTL |= MC__CONTINUOUS;               

  PMMCTL0_H  = 0xA5;                
  PMMCTL0_L  = 0; PMMHPMRE_L;      // PMMHPMRE_L=52uA, 0=200uA
  PMMCTL0_H  = 0x00; 

  // RF1, Init WOR
  strobe_command(RF_SRES);      
  strobe_command(RF_SNOP);      
  strobe_command(RF_SCAL);      
  strobe_command(RF_SIDLE);      
  strobe_command(RF_SRX);       
  strobe_command(RF_SWOR);      
  
  // TA0, Start stop
  TA0CCR0 = TA0R+200; 
  TA0CCTL0 |= CCIE;         // *1 cc430f5137: With 85uA,  Without 4,4uA   /  cc430f5147: With or Withoout 4,3uA 
  
  __bis_SR_register(GIE);   
  __bis_SR_register(LPM3_bits);

  P3DS  = 0x80;   // LED Strong drive
  P3OUT = 0x80;   // LED On
  while(1);
}

static void __attribute__((__interrupt__(TIMER0_A0_VECTOR))) _io_timerA0_ISR0 (void)    //CC0 
{
  TA0CCTL0 &= ~(CCIE|CCIFG);  
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Phil、

    看起来不同的是 TIMERA 中断。 它将导致功耗随 ISR 增加。 但不是有关功耗的数据。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Allen、

    我找到原因、无线电的状态机中没有从 RX 直接转换到 WOR。 它必须进入空闲状态。 如果我更改它、如下所示、即使在具有 ISR 的 CC430F5137上也会得到4.4uA。

     STROBE 命令(RF_SRX);      
     strobe 命令(rf_sidle);       
     STROBE 命令(RF_SWOR);