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.

[参考译文] MSP430F247:使用 VLO 且计时和模块关闭时、工作模式下的电流消耗会导致 ICC = 40uA

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/703593/msp430f247-current-consumption-in-active-mode-using-vlo-wit-div-by-8-clocking-and-modules-off-results-in-icc-40ua

器件型号:MSP430F247
主题中讨论的其他器件:MSP-TS430PM64ENERGYTRACEMSP-FETMSP430G2955

希望有人能让我深入了解我可能犯了什么错误。

仅在工作模式下测试微控制器、运行时报告的内部 VLO 电流消耗高于预期值。 通过测量12k 电阻器上的压降来计算测得的电流。

电流消耗预计为10uA、但测得的电流始终为40uA。

 

该电路使用台式电源12千欧电阻器和 MSP430在工作模式下构建。 通过测量电阻器上的压降并计算电流来测量电流。 I=(Vs–Vuc)/R.

 

检查所有 UC 寄存器的内部启动、可以突出显示内部 UC 模块在保持、复位或关闭状态下启动。 例如低功耗状态。 根据建议、端口位被放置在输出方向、并且电阻器使能被关闭。 SVS 处于关闭状态并且比较器被关闭。

 

由于在两个不同的电路板和另一个 MSP-TS430PM64编程电路板上测试了相同的代码、因此已排除了 PCB 作为误差源的问题。 请注意、编程板上的 J6和 J7未跳线。

 

未使用的引脚根据数据表中的未使用引脚部分进行连接。 32KHz 晶振也已被移除、以确保这不是一个与晶振相关的问题。

 下面是未使用的引脚连接列表。

引脚名称

引脚位置

设置

VREF+

 

打开

Veref+

10.

GND

Vref-/Veref-

11.

GND

XIN

8.

VCC

XOUT

 

打开

XT2in

53.

GND

XT2Out

 

打开

Px0至 Px.7

 

输出驱动为高电平也尝试为低电平

nRST/NMI

47k Ω、带10nF 下拉电阻

 

测试

 

打开

TDO

 

打开

TDI

 

打开

TMS

 

打开

TCK

 

打开

这是测试代码。 


#include #define WDTSOURCE 0x04 // tACLK * 2^15 = 1s @ 32768Hz int main (void) { __disable_interrupt (); WDTCTL = WDTPW | WDTHOLD | WDTCNTCL | WDTSOURCE; IE1 = 0; BCSCTL1 = b0; // XT2关闭、LFXT1低频率、ACLK/8、RSELx=0 BCSCTL2 =0xFE; // LFXT1CLK 用于 MCLK 和 SMCLK、MCLK/8、SMCLK LFXT1CLK、SMCLK/8 BCSCTL3 = 0xe4; //******** 测试 VLOCLK 而不是32K LFXT1 hardware_clock_config; DCOCTL = 0x00; // DCOx=0、MODx=0 __bis_SR_register (SCG0 | SCG1); // DCO 和 SMCLK 关闭 // P1SEL = 0;P1DIR = 0;P1OUT = 0;P1REN = 0xff;P1IFG = 0; P2SEL = 0;P2DIR = 0;P2OUT = 0;P2REN = 0xff;P2IFG = 0; P3SEL = 0;P3DIR = 0;P3OUT = 0;P3REN = 0xff; P4SEL = 0; P4DIR = 0;P4OUT = 0;P4REN = 0xff; P5SEL = 0;P5DIR = 0; P5OUT = 0;P5REN = 0xff; P6SEL = 0;P6DIR = 0;P6OUT = 0; P6REN = 0xff; */ P1SEL = 0;P1DIR = 0xff;P1OUT = 0xff;P1REN = 0;P1IFG = 0; P2SEL = 0;P2DIR = 0xff;P2OUT = 0xff;P2REN = 0;P2IFG = 0; P3SEL = 0;P3DIR = 0xff;P3OUT = 0xff;P3REN = 0; P4SEL = 0; P4DIR = 0xff;P4OUT = 0xff;P4REN = 0; P5SEL = 0;P5DIR = 0xff; P5OUT = 0xff;P5REN = 0; P6SEL = 0;P6DIR = 0xff;P6OUT = 0xff; P6REN = 0; /* ADC12CTL0 = 0;ADC12CTL1 = 0; TACTL = 0; TBCTL = 0; UCA0CTL1 = 0x01; //保持复位 UCA1CTL1 = 0x01; SVSCTL = 0; */ P5SEL &=~0x01; P5DIR |= 0x01; 对于(;){ // P5OUT ^= 0x01; } 返回0; }