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.

[参考译文] MSP430FR2633:如果在 MCU 引导时将静电传感器板附在 PCB 上、则无法操作触摸面板。

Guru**** 2489685 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1549484/msp430fr2633-if-the-mcu-is-booted-with-the-electrostatic-sensor-sheet-attached-to-the-pcb-the-touch-panel-cannot-be-operated

器件型号:MSP430FR2633


工具/软件:

大家好!

继续相关的问题、出现以下问题。

(1) MSP430FR2633:启动器件半天后,触摸传感器不响应 — MSP 低功耗微控制器论坛 — MSP 低功耗微控制器 — TI E2E 支持论坛
【问题】
・单独安装 PCB 和静电传感器板后打开 PCB 电源时、LED 1 会在大约 18 小时后关闭。
无法操作触摸面板。
・打开 PCB 电源后安装静电传感器板时、LED1 即使在 4 到 5 天后也会保持亮起。
可以操作触摸面板。
・如果在没有静电传感器工作表的情况下打开 PCB 电源、LED1 即使在 4 到 5 天后也会保持亮起。
可以操作触摸面板。
・在 40 个 PCB 中、微型计算机在 3 个 PCB 中异常停止。

【问题】
① 有一条说明、说明在 main.c 中禁用了看门狗计时器
在同一程序中、正常操作和异常操作(触摸面板不能在大约 1 天内操作)的原因是什么?

② 启用看门狗计时器后、是否有参考描述方法?
③ 是一个事实,即当微型计算机启动时,触控传感器被连接,这与微型计算机相关
在大约两天之后停止工作?

将来我将向您展示数据记录。

此致、

ITO

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

    尊敬的 Ito:

    根据您提供的说明、似乎 CPU 未从低功耗模式唤醒、或者发生了 NMI 中断。

    可能的原因#1 未从低功耗模式唤醒 — 如果 CPU 未唤醒、这表明系统中没有产生中断。  如果系统中没有设置其他外设来生成中断、则 CapTIvate 是唯一的中断源。  在 captivate 中、当“接近唤醒“模式被禁用时、CapTIvate 事件计时器会生成周期性中断 (GUI 中默认设置为 33ms)、从而使 CPU 唤醒并执行下一次电容式触控测量。

    如果是这种情况、一个可能的原因是驱动事件计时器的时钟源出现故障、即 LFXT 振荡器(使用外部 32kHz xtal)或内部 32kHz REF0 时钟源。  在 Capt_bsp.c 中选择了这些函数、如下所示。  您在 BSP 配置中选择了什么?

    可能的原因#2 — 未处理的系统 UNMI 中断 — UNMI 中断将强制 CPU 跳转到默认陷阱、此时 CPU 卡在无限 while (1) 循环中。  POR(RST/NMI 拉至低电平或循环通电)可以恢复器件。

    以下是 UNMI 中断矢量 0x00FFFA 指向默认 ISR_TRAP 的方式。

    您可以使用自己的自定义陷阱覆盖此默认陷阱、方法是在 main() 下面添加此代码。

    #pragma vector=UNMI_VECTOR
    __interrupt void UNMI_handler(void)
    {
    
        if(SYSUNIV == SYSUNIV_NMIIFG)
            LED1_ON;     // NMIIFG NMI pin or SVSH event
        else if(SYSUNIV == SYSUNIV_OFIFG)
            LED2_ON;    // OFIFG oscillator fault
        else
        {
            // No interrupt pending
            LED1_ON;
            LED2_ON;
        }
    
        while(1);
    }

    这样、如果它是 UNMI 中断、您可以看到原因。

     以下是上述放置在内存中的 UNMI 处理程序代码的编译版本。

    希望这有所帮助。

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

    尊敬的 Ito:

    客户是否能够确定原因?

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

    嗨、Dennis。

    感谢你的帮助。

    下面列出了客户的测试结果。

    [可能的原因#2-未处理的系统 UNMI 中断 ]

    当 LED1 关闭时、我强制将 IC1PIN 的 RSTPIN 连接到 GND 以将其复位、LED1 开始闪烁并再次识别触摸。

    如果发生 NMI、它只能通过 POR 恢复、这意味着
    恢复时 RST =未发生 NMI 中断。
    我的理解是否正确?

    [可能的原因#1 未从低功耗模式唤醒]

    低功耗模式设置为 LPM0。
    一个 32kHz 方波是从 FPGA 输入到 IC 的引脚 30 的。
    当微型计算机异常停止时、FPGA 继续运行并输出 32kHz 的频率。

    我以私人消息发送了 Capt_bsp.c。

    此致、

    ITO

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

    尊敬的 Ito:

    好的、更多的问题…

    当系统出现故障时、LED1 是否始终熄灭、或者有时是否亮起?

    客户是否尝试添加我提议的 UNMI ISR 处理程序?

    客户是否可以在连接传感器的情况下分享 PCB 的照片?  您可以在私人邮件中共享。

    由于客户在 XT1 输入端应用外部时钟源、您能否询问客户是否启用 XT1 旁路?

    唯一的其他可能性是系统正在进行重新校准、由于无法实现所需的目标转换计数、它可能卡在校准例程中。  客户的 PCB 是否有任何 UART 连接?

    很抱歉之前遗漏了您之前的问题、我将在这里回答。

    有一个说明:在 main.c 中禁用了看门狗计时器
    在同一程序中正常操作和异常操作(触摸面板不能在大约 1 天内操作)的原因是什么

    是、默认情况下在 main 中禁用 WDT。  您是否知道客户是否已重新启用 WDT?

    启用看门狗计时器后、是否有参考描述方法?

    不确定“参考描述方法“的含义、您能否重新表述问题。

    是一个事实,即当微型计算机启动时,触摸传感器被连接到微型计算机上
    在大约两天之后停止工作?

    编号  当向系统供电时、CapTIvate 会在连接的传感器下执行校准。  这是典型操作。

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

    尊敬的 Dennis:

    我们正在与客户确认。
    请稍等片刻。

    此致、

    ITO