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.
您好!
我正在开发基于 MSP430F6723的电表。
该芯片在 DVCC 上有电源、在 AUX1上有额外的电池。 其理念是在主电源关闭时切换供电(硬件控制)、存储一些数据并将器件置于 LPM3。 电源恢复后、将仪表置于正常运行状态。
我发现、这在大部分时间都是有效的。 不幸的是、现在和之后都会发生一件奇怪的事情。 当主电源关闭时、芯片将进入某种奇怪的状态、具有高功耗-大约2.5mA (预期5uA 至6uA)。 在这种情况下、电源恢复后、它不会恢复正常、需要2个或3个开/关周期才能使其运行。 如果您连续施加两个或三个关闭周期(在网格上非常正常)、这种情况经常发生。
起初、我以为我的代码出现了问题、因此我尝试简化整个项目。 最后、我要做的是:
#include
void main (void)
{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
AUXCTL0 = AUXKEY;
AUXIFG=0;
AUXIE|=AUX0SWIE|AUX1SWIE;
AUXCTL0 &=~LOCKAUX;
enable_interrupt ();
while (1)
{
}
}
#pragma vector = AUX_vector
_interrupt void AUX_ISR (void)
{
switch (__evo_in_range (AUXIV、AUXI_AUXMONIFG))
{
案例 AUXI_NONE:中断;
案例 AUXI_AUXSWNMIFG:中断;
AUXI_AUX0SWIFG 案例:
_BIC_SR_REGISTER_ON_EXIT (LPM3_BITS);
中断;
AUXI_AUX1SWIFG 案例:
_bis_SR_register_ON_EXIT (LPM3_bits+GIE);
中断;
案例 AUXI_AUX2SWIFG:中断;
案例 AUXI_AUX0DRPIFG:中断;
案例 AUXI_AUX1DRPIFG:中断;
案例 AUXI_AUX2DRPIFG:中断;
案例 AUXI_AUXMONIFG:中断;
默认值:break;
}
}
这是整个代码、项目中没有其他内容。
在这种情况下、功耗较高、因为某些引脚可能会漏电、但整体情况是相同的- LPM3 - 250 - 300uA 中的正常条件、在这种"大电流"条件下-大约2.8mA。
切换之间是否有最短的时间、或者我需要确保安全以实现可靠切换?
提前感谢
Maxim Karakash
您好、Dietmar、
以下是我的原始项目的设置:
SVSMHCTL &=~(SVSHRVL1 | SVSHRVL0 | SVSMHRRL2 | SVSMHRRL1 | SVSMHRRL0);
SVSMHCTL|= SVSHRVL1 | SVSMHRRL1;
PMM_setVCore (PMM_CORE_LEVEL_2);
SVSMLCTL &=~(SVMLE|SVSLE);
AUXCTL2 |= AUX1LVL1 | AUX1LVL0;//电池电压电平2.26V
AUXCTL2 |= AUX0LVL1;//DVCC 电压电平2.14V
此致
Maxim
您好、Dietmar、
您是对的、setVcore 应该为 SVSHRVL 和 SVSMHRRL 设置正确的值。这意味着我不需要在这之前设置它们。
我认为您正确描述了该问题。 为了进一步确认这一点、这里还有一些:在我的原始项目中、AUX1SWIFG 中还有一些代码。 昨天、在我的实验中、我可以确认在失败的情况下、此代码未执行。
昨天我又做了一个实验。 设置如下所示:
DVCC -主电源。
AUX1 -蓄电池
AUX2 -电容器。
我应用的逻辑是:
加电时-检查 DVCC 是否打开-如果打开-禁用硬件控制以切换至 AUX1并在 AUX2上开始充电电容器。
发生电源故障时、器件应切换至 AUX2并最终断电、因为电容器应能够使其保持极短的运行时间。
在 AUX2SWIFG 中、我放置了一个无限循环。
在这种情况下、我能够监控相同的故障行为、即、器件始终保持电池电流消耗约为2.5mA、需要2-3个开关周期才能恢复正常状态。
关于通风口的示波器图片-我担心这将不得不等到 我们构建新的测试设备并且我的新 MSP-FET 到达为止。 今天早上、我在一个不错的短路后订购了一个-现在我没有 MSP-FET、没有 PC、也没有可测试的器件...
我希望 MSP-FET 应该在几天内就在这里。
同时、如果需要任何其他信息、我也可以提供。
尊敬的 Maxim:
您为设备加电、DVCC 正常后、您手动切换到 AUXVCC1、然后通过 DVCC 路径为 AUXVCC2上的电容充电?
建议以另一种方式执行它。 通过 DVCC 供电时、首先给电容充电、如果电容充电、则切换到 AUXVCC1。
那么、AUXVCC1上发生电源故障是正确的吗? 此时、什么连接到 DVCC?
如果没有全部3个电源的信号迹线、很难说出发生了什么。 然而、您通过简短的介绍杀害您 MSP FET 的事实也让我感到担忧。
是否确定您的电源处于控制之下? 了解这一点后、查看示波器快照更为重要。
顺便说一下、我建议在未连接 JTAG 的情况下进行上电和断电循环、因为这可能会导致错误行为、因为您可能会通过 JTAG 接口后门电源。 在这种情况下、我建议在代码中实现 GPIO 切换信号、以查看在下电上电期间执行代码的哪个部分。
您好、Dietmar、
也许我没有正确描述它。
电压
-如果 DVCC 正常-正常情况-我开始为电容器充电并禁用硬件控制以切换至 AUX1 -以确保在断电后器件将保持短时间并关闭电源。
-如果 DVCC 不正常-它正在使用电池-所以转到 LPM3。
当 DVCC 重新打开时-进入正常模式。
DVCC 上发生电源故障。
电源应该可以-如果您认为这会有所帮助、我可以发送原理图。
所有测试都是在 JTAG 断开的情况下完成的-今天早上的短路是因为我忘记了断开 MSP-FET。
此致
Maxim
尊敬的 Maxim:
好的、我想我现在已经理解了、但问题是 DVCC 上的电压下降到哪个电平、如果这导致 AUXPMM1勘误表。 如上所述、需要示波器图片。 期待这些数据。 谢谢!
感谢 Dietmar、
我还会回来的
此致
Maxim
尊敬的 Maxim:
希望你在这个疯狂的时代享受东方。 是否有此案例的更新?
您好、Dietmar、
我们本周有复活节、所以还没有到来。
无论如何,我做了更多的测试,在与同事讨论后,这种奇怪行为的原因越来越清楚。
在我进行实验时、我将 JTAG 上的电缆连接到 PCB 并从 MSP-FET 断开(在 MSP-FET 侧断开更容易)。
现在、我尝试了相同的实验、断开了 JTAG 电缆与 PCB 的连接、一切都很好、无论我做什么、我都无法达到这个疯狂的状态。 很显然、JTAG 上发生了一些事情、这就是所有这些事情的原因。
感谢你的帮助。
此致
Maxim