TMS320F280039C: dsp死机,看门狗没有正常复位,模块也没有进入NMI和非法中断,故障后晶振不起振

Part Number: TMS320F280039C
Other Parts Discussed in Thread: C2000WARE

F280039C 模块正常拷机时,模块异常关机,can通信丢失并且不再恢复通信的问题,GPIO23被置高,必须重新上电才可以。
watchdog是使能的,模块也没有进入NMI中断或非法中断,重新下电再上电后,模块恢复正常。
刚开始用的是内部晶振2,开始怀疑是晶振异常,后为了方便进一步定位故障,改为了外部无源晶振,故障仍然可以复现,此时3.3V是正常的
复现后,外部无源晶振无输出;故障出现后,保持辅源不断电,尝试连接模块,无法连接成功。

  • 您好

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待

  • ,您好,我短接外部GPIO19后故障也可以复现,连接了仿真器,在不清除ram的情况下,读取了值,FBPRDY的值为0x8001, FLASH0 ready成功,FLASH1和FLASH 2 ready失败。

  • 您好,

         此问题是否在多个板上出现?

    我短接外部GPIO19后故障也可以复现

    这应该会产生 missing clock 情况,但 device 应该仍然可以使用 INTOSC1 clock 运行。

    此外,在这种情况下,您可以在错误后连接到 CCS,而与原始情况一样,您提到 CCS 连接是不可能的。对吗?

    您是否在 TMS 引脚上具有适当的上拉以保持 JTAG 逻辑处于复位状态?

  • TMS引脚上是有上有10K的上拉电阻。

  • 后续为了模拟该故障,我在没有上功率电的情况下,外接无源晶振,进行了GPIO19接地,出现了复位信号后再过几秒拿开GPIO19,同样可以复现该故障。第二种复现方法可以已在多个单板上复现了。在第二种复现场景下,连接上了CCS,连接前,修改gel文件,在不reset寄存器和ram的条件下,我读取了相关寄存器的值,RESC.NMIWDRSn被置位,Flash的寄存器FBPRDY的值为0x8001, FLASH0 ready成功,FLASH1和FLASH 2 ready失败。
    分析了datasheet里面的Figure 4-1. Device Boot Flow,感觉在Flash Powered up/Timeout expired这里一直无法成功。

    贵司能否也复现一下,短接GPIO19该故障很容易复现。

  • Alice,Daniel,你们好。这个问题目前是否有进展啊,时间已经比较久了啊。

  • 您好,

          需要时间确认,感谢您的耐心等待。

  • 您好,

          您能否在一段代码中分享用于配置 PLL 和相关 clock dividers 和 watchdog 的 clock configurations 以及 registers 中值的屏幕截图。我们需要检查诸如 VCOCLK 之类的中间 clocks 是否在 spec 范围内。

    使用 INTOSC1 时能确认一下结果吗?

    是否正在使用 PLL 参考时钟丢失检测功能 (SYSPLLSTS.REF_LOSTS)?如果是,作为替代方案,请使用 Missing Clock Detect (MCD) 功能或 Dual-Clock Comparator (DCC) 来检测 reference clock loss(有 sample C2000WARE 示例可以开始)。如果 MCD 功能已经在使用中,您能否确认 MCD 功能何时关闭,当应用程序代码运行时,所有功能是否也都正确执行?

  • 您好,

         除了前面的问题我们进一步研究一下丢失 CAN 通信

          在 MCU 运行期间监控 CAN_ES 寄存器的内容是否设置这些中的任何一个如果何时设置

          这一点很重要,因如果 CAN 模检测到足够的错误,协可以关闭总线并断 CAN。

          GPIO23 的作用是什么什么改变了 GPIO23的状态、是 CAN 数和/或他一些软件功能导致 IO高/

           要排是否存在 MCD,您确认是否设置MCDSTS 标以及 MCDSCNT 是已冻结