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.

[参考译文] MSP430F5342:睡眠时电流斜升。 我的勘误表是否在 P7/8上正确完成?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1165003/msp430f5342-current-ramps-while-sleeping-is-my-errata-done-correctly-on-p7-8

器件型号:MSP430F5342

多年来、这一过程在多 个电路板版本和设计人员中持续进行。 这是新产品的展示时间、也是最后的项目之一、因此感谢您在这里提供的任何帮助。  提前感谢!

在进入电路等内容之前、我的编码器和我已插入该代码、以根据勘误表解决隐藏的 P7和 P8引脚。 这是正确和足够的吗? (如果您需要查看勘误表、请告诉我、我会找到它、但也会查找一般信息、例如下面是否还需要 P7和 P8的其他端口设置)。  

/*启用端口7和8引脚的拉电阻器以节省功耗*/
uint16_t * pu16_p78rn_reg =(uint16_t *) 0x0266;
* pu16_p78rn_reg = 0x07FF;

接下来、从较高的层面来看、症状是有时它会以27uA 的良好睡眠状态。 其他时候、它将在那里分离一秒、然后斜升至大约 1mA 的任何位置。 就像一个浮动端口。 所有未使用的在睡眠前输出低电平。 系统使用内部 ADC12、SPI 与 运动和射频模块进行通信(该模块未泄漏、但仍然连接)。   

此外、我将使用低 固体磁通和锡/铅作为原型。 我似乎能够让它保持在27uA、有一个很好的 IPA 清洁、肥皂、你可以说我已经尝试过它。 由于惯性传感器、不建议进行超声波清洗、但这也无法解决问题。 清洁零件看起来像错误的树、什么也不应该是敏感的?  

接下来、我考虑了 ESD 损坏。 那么、这些端口的敏感性如何、被烧断的端口是否以这种方式从静态状态运行? 我注意到、在某些情况下、我可以将手(电容)靠近芯片、它将返回到27uA。 (我想是看着我笑!) 与声音漂浮相关的对吗?

供参考、我们使用此芯片通过我们自己的软件狗和应用程序在 Sub-GHz 上无线更新固件、因此它是实时脚踏控制器。 但这也意味着它很复杂、我们需要选择与代码段相关的代码段。 我手头上有500多个处理器、希望我们能使它们  正常工作。  

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

    您好!

    我在问题号 PORT24 https://www.ti.com/lit/pdf/slaz278中找到了勘误表

    也就是说、您需要为 所有端口端接浮点焊盘、而不仅仅是 P7和 P8。 它仅影响 采用48引脚 RGZ 封装的 MSP430F534x 器件。 这可能会对您有所帮助。  

    此致、

    现金 Hao

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

    谢谢。 所有(剩余)端口的输出都设置为低电平、例如 SPI 或 XTAL 上的一些例外情况。

    "FSR"只是一个力感应电阻 器、这些端口在不使用或睡眠时也设置为输出低电平。 它在静止时的电阻非常高。  

    我们还使用芯片的内部基准来测量电池电压(CR 2032)、这可能是配置泄漏。  这是原理图。 我过去使用过470nF 的 VCORE、似乎无关紧要。

    我之所以选择处理器作为目标、是因为我使用1欧姆电阻器代替线圈来隔离电路板的4个部分电源。 运动传感器 也处于睡眠状态、只有在摇晃时才会唤醒 、因此在睡眠时确实使用了其中的一部分27uA。 处理器只有基础知识、可以观察运动中断。 关键是、它能够执行总共27uA 的睡眠系统、但如果你看它有趣的话、它不会... 我认为卷曲会对一些人有所帮助、肯定会洗澡... 助焊剂残留物非常敏感、因此请非常小心地保持电路板清洁。 这是正常的吗?    

    我会在接下来的时间添加更多信息...

    谢谢!

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

    您好!

    MCU 不应如此脆弱。 我想检查 XTAL。 您能否提供 X1的器件型号? 您能否在没有 X1的情况下测试电路板、只需使用内部时钟源即可。  

    此致、

    现金 Hao

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

    通道、

    这是晶振 ECS-.327-7-1210-TR。 它仅指定 0.1uW - 0.5uW 的驱动电平。 专为低功耗可穿戴设备而设计。

    https://ecsxtal.com/store/pdf/ECX-1210.pdf

    我将尝试进行无晶振测试。  某些晶体是否泄漏到规格之外、例如可能焊料太热? 但这不是一个石头吗? 我认为上限更有可能。 但请记住、这是使用相同的器件型号、甚至不同的器件订单以及不同的布局进行的。 可能1/5会按设计进入睡眠状态。 没有愚蠢的想法。  

    这是布局的这一部分、如果它很重要。 这是一个2层电路板、晶体下方没有布线。 我在我的上使用7pF 电容器(器件型号中为7)。  

      

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

    我们按照您的建议使用内部晶体进行了测试并将其移除。 没有变化、晶体没有变化。 我们还移除了内部 VREF (电池监控器)、但仍然相同。

    在我的 Fluke 上、这 款设备在49uA 时休眠了大约200ms、然后在大约5s 的时间内开始呈斜坡曲线上升到大约300uA。 尽管我们几乎可以确定所有未使用的端口都输出低电平、 但浮点端口的外观(想象中)是否如此? 因此、我将再次对我们实施的该 Port24勘误表提出疑问。 我们是否遗漏了任何东西?

    欢迎所有创意!

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

    供参考、晶体旁路不起作用(可能有需要关闭的驱动器?)。  但是、重新焊接新的、使其符合规格。 除非我做错了,或者加热区域做了其他事情,否则这些陈述都不能成立-将会核实。  如果晶振的焊料接触不良、处理器是否会更难驱动晶振?

    我有一种有趣的感觉、我将要学习更多有关晶体的知识。  

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

    您好!

    [引用 userid="256096" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1165003/msp430f5342-current-ramps-while-sleeping-is-my-errata-done-correctly-on-p7-8/4384750 #4384750"] 如果晶振的焊料接触不良,处理器是否会更难驱动?[/quot]

    如果焊接不符合我的理解、则可能会导致更多的电流消耗。

    [引用 userid="256096" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1165003/msp430f5342-current-ramps-while-sleeping-is-my-errata-done-correctly-on-p7-8/4384446 #4384446"]因此,我将再次询问我们对该 Port24勘误表的实施情况。

    关于该 PORT24勘误表、您是否在将这些引脚重新配置  为输出低电平之前终止了所有端口?

    此致、

    现金 Hao

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

    我的编码器说是的。 (C 语言上的内容有点浅)。 我相信他正在正确地执行此操作、但注意到只有端口7/8电阻器在他的端口24实施中被终止。 (我认为)。  

    /*启用端口7和8引脚的拉电阻器以节省功耗*/
    uint16_t * pu16_p78rn_reg =(uint16_t *) 0x0266;
    * pu16_p78rn_reg = 0x07FF;

    其余端口在上述代码之前进行设置、如图所示。 因此、它们会被终止。  

    /*端口1的所有未使用引脚均为0V 数字输出引脚,启用拉电阻以节省功耗*/
    U8_unused_Pins = BIT0 | BIT2 | BIT4 | BIT4 | BIT6;
    SET_BITS (P1REN、u8_unused_pins);
    CLR_BITS (P1SEL、u8_unused_pins);
    SET_BITS (P1DIR、u8_unused_pins);
    CLR_BITS (P1OUT、u8_unused_pins);

    如果 Port24修复程序位于所有其它端口 设置之前,是否存在差异?  

    我也很困惑为什么其他端口也在该修复中。 我的理解是只有7/8是隐藏的。 其他引脚是否只是示例、或者此封装中是否隐藏了更多引脚?  

    我想这就是他减少上述代码的原因。 由于其他端口的原因、我只会进行双重检查。  

    下面是显示序列的完整代码初始化。

    static void v_MAIN_Init (void)
    {
        uint8_t u8_unused_pins;
    
        /* Stop watchdog timer to prevent time out */
        WDTCTL = WDTPW + WDTHOLD;
    
        /* Initializes system clock */
        v_MAIN_Configure_Clock ();
    
        /* All unused pins of port 1 are digital output pins at 0V with pull resistor enabled to save power */
        u8_unused_pins = BIT0 | BIT2 | BIT4 | BIT5 | BIT6;
        SET_BITS (P1REN, u8_unused_pins);
        CLR_BITS (P1SEL, u8_unused_pins);
        SET_BITS (P1DIR, u8_unused_pins);
        CLR_BITS (P1OUT, u8_unused_pins);
    
        /* All unused pins of port 2 are digital output pins at 0V with pull resistor enabled to save power */
        u8_unused_pins = BIT0 | BIT1 | BIT2 | BIT3 | BIT4 | BIT5 | BIT6;
        SET_BITS (P2REN, u8_unused_pins);
        CLR_BITS (P2SEL, u8_unused_pins);
        SET_BITS (P2DIR, u8_unused_pins);
        CLR_BITS (P2OUT, u8_unused_pins);
    
        /* All unused pins of port 3 are digital output pins at 0V with pull resistor enabled to save power */
        u8_unused_pins = BIT3 | BIT4 | BIT5 | BIT6 | BIT7;
        SET_BITS (P3REN, u8_unused_pins);
        CLR_BITS (P3SEL, u8_unused_pins);
        SET_BITS (P3DIR, u8_unused_pins);
        CLR_BITS (P3OUT, u8_unused_pins);
    
        /* All unused pins of port 4 are digital output pins at 0V with pull resistor enabled to save power */
        u8_unused_pins = BIT4 | BIT5 | BIT6 | BIT7;
        SET_BITS (P4REN, u8_unused_pins);
        CLR_BITS (P4SEL, u8_unused_pins);
        SET_BITS (P4DIR, u8_unused_pins);
        CLR_BITS (P4OUT, u8_unused_pins);
    
        /* All unused pins of port 5 are digital output pins at 0V with pull resistor enabled to save power */
        u8_unused_pins = BIT0 | BIT1 | BIT2 | BIT6;
        SET_BITS (P5REN, u8_unused_pins);
        CLR_BITS (P5SEL, u8_unused_pins);
        SET_BITS (P5DIR, u8_unused_pins);
        CLR_BITS (P5OUT, u8_unused_pins);
    
        /* All unused pins of port 6 are digital output pins at 0V with pull resistor enabled to save power */
        u8_unused_pins = BIT0 | BIT1 | BIT2 | BIT4 | BIT5 | BIT6 | BIT7;
        SET_BITS (P6REN, u8_unused_pins);
        CLR_BITS (P6SEL, u8_unused_pins);
        SET_BITS (P6DIR, u8_unused_pins);
        CLR_BITS (P6OUT, u8_unused_pins);
    
        /* Enable pull resistors of port 7 & 8 pins to save power */
        uint16_t * pu16_p78ren_reg = (uint16_t *)0x0266;
        *pu16_p78ren_reg = 0x07FF;
    
        /* All unused pins of port J are digital output pins at 0V with pull resistor enabled to save power */
        u8_unused_pins = BIT0 | BIT1 | BIT2 | BIT3 | BIT4 | BIT5 | BIT6 | BIT7;
        SET_BITS (PJREN, u8_unused_pins);
        SET_BITS (PJDIR, u8_unused_pins);
        CLR_BITS (PJOUT, u8_unused_pins);
    

    我们还将测试 一些 简化的代码以帮助隔离。 昨天、我在晶振加热方面取得了一些进展、所以我确实认为晶振具有超灵敏且极小的焊盘、我也切换到了银/锡焊料。 引线也在应力下与我的电池触点弄乱、并会折断。  

    感谢您的帮助和问题!

    (我不确定是否要提问、但有一个 SYS14也讨论了 PUC 后的泄漏。 相同的代码修复、仅地址略有更改。 它非常模糊。 我试过它,没有改变。)

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

    您好!

    这似乎很有希望。 如果您有其他问题、请在此处更新。   

    [引用 userid="256096" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1165003/msp430f5342-current-ramps-while-sleeping-is-my-errata-done-correctly-on-p7-8/4386086 #4386086"]我们还将测试 一些 简化的代码以帮助隔离。 昨天、我在晶振加热方面取得了一些进展、所以我确实认为晶振具有超灵敏且极小的焊盘、我也切换到了银/锡焊料。 引线也在应力下与我的电池触点弄乱、并会折断。  [/报价]

    此致、

    现金 Hao

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

    谢谢 、可以了。

    到目前为止、我的结果好坏参半、即使 焊接效果有所改善:27uA 或120uA ish。 这远远不及之前看到的1mA 电流、表明存在强烈的相互作用。 我们将研究残余泄漏、然后我将关闭以识别您在晶体上的输入。 你很有帮助。 我只是不明白某件事是怎么会如此敏感(就像您说的那样)。

    一个问题是、我的晶体与7个 UF 电容器配对、这一电容器位于全球范围的较小一侧。  其12.5uF 版本是否会对电源需求产生影响? 考虑更多容量存储以某种方式提高能源利用率???

    谢谢!  

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

    此外、晶体规格的负载电容为7pF、因此我的一对7pF 电容不考虑寄生。 但它就在它旁边。  

    Ya 知道、也许我没有加载匹配的 bc、其他症状包括无法稳定晶体、有时不得不使用内部。 我敢打赌这是相关的。   

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

    您好、抱歉将其拖放到... 我们移除了晶体和电容器。 实际上不需要(最好的部分不是部分)。  

    但是、我仍然无法控制泄漏。 今天、我将向我的编程人员发送一个单元、以密切关注每个端口。 但我认为,在芯片的几个版本和几个布局中,还有几个人在这里还存在一个问题。  

    不确定我是否提到过这一点、但在某些器件上、我可以将手放在器件上、电流降至预期的27uA。 由于我还没有超级功率、这是否是其他情况的症状?

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

    您好!

    很抱歉耽误你的回答。 我上周在度假。  

    是否可以切断电路板上的所有连接以获得 VCC 和 GND 并测量 MCU 本身的电流。 它可以隔离硬件影响。  

    此致、

    现金 Hao