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.

[参考译文] CCS/MSP430FR6972:msp430fr6972

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/768580/ccs-msp430fr6972-msp430fr6972

器件型号:MSP430FR6972

工具/软件:Code Composer Studio

您好,

我使用的是 msp430fr6972。

我正在使用 LCD 程序。

在执行程序后、我检查电流、

我发现它非常高(>250uA)。

它是定制板。

使用的晶体为32768。

LCD:MUX 4和22引脚(高达 S22)。

我的计划是:

LCD 函数为====

void lcd_init (void)
{
unsigned int i;
P6SELC |= 0x7f;

// LCDCCTL0 = LCD4MUX + LCDDIV_26 + LCDPRE1 + LCDLP;//LCD 控制、LCD 除以27、LCD 频率预分频器2…






连接90uA // LCDCCTL0 = LCDDIV_26 | LCDPRE1 |LCD4MUX | LCDLP;// LCD 控制,LCD 除以27,LCD 频率预分频2 LCDCPCTL0 |= 0xFFFF;//段0-15 LCDCPCTL1 |= 0x007F;// LCDCPCTL0 = 0x40,无电荷泵|连接的 LCDC16-0x40段/无电荷电容|无电荷电荷电荷电压为 LCDCCTL。
//LCDCCPCTL |= LCDCPCLKSYNC;

LCDCMEMCTL = LCDCLRM;//清除 LCD 存储

器 LCDCCTL0 |= LCDON;

for (i=0;i<12;i++) LCD[i]= 0x00;

}







具有计时器的主函数==========================================================================================================================================================================================================================



char start_condition = 9;
char* LCD = LCDMEM;

const unsigned char LCD_num[12]={
0xEB、// 0
0x60、// 1
0xAD、// 2
0xE5、// 3
0x66、 // 4
0xC7、// 5
0xCF、// 6
0x61、// 7
0xEF、// 8
0xE7、 //9
0x6f、// a
};

void lcd_init (void);

int main (void)

{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器

/PIN define=============================================================================================================================================================================================================================================================================================================================================================================================================================================================

PM5CTL0 &=~LOCKLPM5;//禁用 GPIO 上电默认高阻抗模式

P1DIR= 0xF0;P2DIR = 0x0F;P3DIR= 0xC0;P4DIR = 0xFC;P5DIR=0x80; P7DIR= 0x1F;
P1OUT= 0xF0;P2OUT = 0x0F;P3OUT= 0xC0;P4OUT= 0xFC; P5OUT=0x80;P7OUT=0x1F;



//timer=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

TA0CCTL0 |= CCIE;
TA0CCR0 = 32767;// 1秒计时器
TA0CTL |= tassel__ACLK |MC_1 | ID_2;//TimerA 控制寄存器,最多 CCR、ID=0、分频器1、



LCD_INIT ();
start_condition = 8;
//__bis_SR_register (GIE);


while (1)
{
__bis_SR_register (LPM3_bits +GIE);
//返回0;

}


//
*计时器中断========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
*
/

#pragma vector = TIMER0_A0_Vector
__interrupt void Timer0_A0_ISR (void)
{

if (start_condition!= 0){
LCD[0]= LCD_num[start_condition];
// TA0CCR0 = 32767;
start_condition--;
LPM3_exit;
}





请检查我的 LCD 功能、

请帮帮我。

此致、

Srijit。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我需要小于10uA (<10uA)的电流。
    谢谢,
    Srijit、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Srijit、

    您如何测量电流? 您是否在测量整个电路板的电流?

    对于基础系列、我建议运行基本 LPM3示例代码并查看您为 MSP430和整个电路板测量的功率。 LPM3_03还应使用32kHz 晶体、可在以下位置找到: dev.ti.com/.../

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

    您是否能够使应用断电?

    谢谢、
    JD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    JD、您好!
    很抱歉耽误你的回答。
    是的、我正在测量整个电路板的电流。
    我得到电流测量值。

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

    我正在尝试降低整个电流。
    我希望电路板的工作电流为7uA。
    我已向您发送代码。
    您能告诉我、如何降低更多电流(可能是添加更多寄存器还是以任何其他方式?)

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

    你好、Srijit、

    代码看起来正常。  MSP430FR6972数据表的第5.8节规定 MSP430应使用大约~5-6 uA 的电流。  在启用计时器的情况下、可能会稍微多一些。  因此、我认为最好的情况是 MSP430应围绕您的7.5uA 目标。   

    问题是电路板上的其他东西也可能会拉电流。  了解 MSP430代码是否已优化的唯一实际方法是仅测量 MSP430的功耗、而不是测量整个电路板的功耗。  这是了解额外的200uA 是否被 LCD、稳压器或其他东西拉取的唯一方法。   

    您能否仅测量 MSP430功耗?   

    您认为电路板上还有其他东西在拉电流吗?  

    谢谢、

    JD

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    JD、您好!
    感谢你的答复。
    是的、包括 msp430fr6972在内的整个电路板都在消耗更多电流。
    我希望在外设操作不起作用时、整个电流应该为7uA (几乎)(LCD 除外)。
    是否可以将电流以7uA 的形式流过整个电路板。
    我们的客户要求是、当外设不工作时、通过电路板的电流将为7uA。
    (在我的编程中、我使用 onlt LCD 和 Tiimer 两个中断。)


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

    你好、Srijit、

    遗憾的是、我无法估算您的整个板功耗、但使用 LCD 时、7uA 可能会很困难。  

    MSP430FR6972数据表的第5.8节指定了 MSP430FR6972的低功耗数字。    根据 LCD 的设置方式、MSP 在25°C 时将拉至1uA 至6uA。   

    除此之外、我假设您的电源稳压器、LDC 和无源器件也会使用一些电源。   

    谢谢、

    JD

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

    您好!

    我已收到所需的值。

    非常感谢您的帮助。

    此致、

    Srijit。