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.

[参考译文] TMS320F28377D:复位

Guru**** 2391415 points
Other Parts Discussed in Thread: TPS62420

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/857382/tms320f28377d-reset

主题中讨论的其他器件:TPS62420

你(们)好,Vamsi。

我注意到、自昨天以来、一个关于 CPU1/CPU2的奇怪复位事件没有生成 XRS_低电平外部信号:这种情况对我来说是新的、因为我很长时间地开发我的代码。 此问题出现在闪存独立模式下、但当我通过 RAM 调试会话运行代码时也会出现(XDS 仿真器断开连接)。 我的电力开发机器(UPS)通过 USB 接口连接、并通过软件控制台进行监控: 通过 CPU1/CPU2上的状态机演变、我确认我的代码在没有外部 XRS_事件的情况下进入内部复位状态(我检查了良好的3V3和1V2外部电源、即使 POR 事件必须生成 XRS_事件也是如此)。

我确认我不使用 WD:它在 start_code_branch 中以及在从闪存加载到 RAM 或直接在 RAM 中加载之后的第一个指令代码中被禁用。 当我断开 XDS 仿真器(闪存独立模式、因此我不认为 TRST_可能起作用)时、也会出现此问题。

ECC 错误(RAM/FLASH)或坏内存访问是否可以确定这种问题? 我如何理解出现了什么问题?

注意到 XDS 仿真器丢失事件后、我尝试重新连接 CPU1、但当我访问 RESC 寄存器时、我看到复位事件后通常存在0xC000000值。

最后,根据您的最后建议,如何避免使用闪存组的最后16个地址,以及可能的 ECC 错误? 如何修改链接器.cmd 文件以避免此内存空间? 此问题是否会影响我的闪存或 RAM 代码,从而产生内部复位条件?

感谢你的帮助。

迭戈

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

    迭戈、

    您是否有用于 NMI 的 ISR?  ECC 不可纠正的错误将导致 NMI。   由于您能够重现此情况、您可能需要在 NMI ISR 中放置一个断点、并查看是否存在控制。

    此外、检查是否有 ITRAP。

    当您使用闪存的最后16个地址时、可能会发生 ECC 错误或 ITRAP。

    在链接器 cmd 中、您可以如下所示缩短最后一个扇区的长度:

    现有:  FLASHN:origin = 0x0BE000、length = 0x002000 //片上闪存*/

    建议:FLASHN:origin = 0x0BE000、length = 0x001FF0 //片上闪存*/

    谢谢、此致、
    Vamsi

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

    你(们)好,Vamsi。

    非常感谢您的建议:我将遵循这些建议。

    再见

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

    你(们)好,Vamsi。

    不幸的是、我再次遇到随机复位事件问题。 我正在搜索一种方法来了解造成这种复位情况的边界条件:我在我的 SW 控制台上恢复 RESC 寄存器状态、以便在代码从闪存执行复位条件后清晰地查看其值。 很明显、在常规硬件复位后、我注意到它的值[0x4000_000]正确。当 DSP 电路板进入复位状态时、UPS 正在工作或其电源部分以不同的时间顺序启动时、 RESC 的状态保持不变、我确信 DSP 板仍处于通电状态。

    您是否有任何建议来检查问题、从而找到真正的问题?

    同时、我检查是否没有激活任何 NMI ISR、尽管我没有记住任何显式用法。

    再见

    迭戈

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

    迭戈、

    我可能在第一周12月才有空。

    我会将您的帖子分配给我们的系统控制专家、以帮助您进一步解决此重置问题。

    谢谢、此致、

    Vamsi

     

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

    您好、Diego、

    您如何确认设备已完成重置周期? 您是否在代码入口点放置了一个断点并且 CPU 暂停、因此您假设器件已复位? 如果是、那么您可以在复位矢量(BootROM 入口点)处放置断点、并查看 CPU 是否在那里暂停。 如果确实如此、则检查 RESC 寄存器值并告知我们该值。

    此致、

    Vivek Singh

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

    您好、Vivek、

    复位问题可能是由当我使用共模噪声启动电源部分时的 EMI 噪声引起的、如果2个电源器件相对与系统的交流和直流电源轨并联、该共模噪声可能会再循环。

    遗憾的是、我说发生时没有外部复位:您可以从后续屏幕中看到、在复位事件期间、我监控了 XRS_[CH4]引脚、这会在短时间内下降、然后立即上升; 也许在过去、我没有捕捉到这个事件、因为我的 LH 触发电平太低了。  

    此外、我不能将任何断点置于中断电源合成中、不管怎样、我不知道如果我丢失了复位引起的仿真器控制、如何从断点获取任何信息。

    总之、我过滤了更好的 VDDcore DSP 电源轨:在板载直流/直流[TPS62420]之后有22u、然后是 LC 滤波器[ DSP 附近的磁珠+ C = 10U];现在我用另一个22u 替换了最后的10U。 到目前为止、这似乎是一个很好的解决方案:是重置事件消失的一天!

    非常感谢您的支持。

    迭戈

       

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

    您好、Vivek、

    今天上午、重置事件即将到来! :(

    我附上一些示波器波形:

    在 CH3中、您可以看到 PFC 启动任务期间的复位活动[CH2]:它显示了我现在在低电压下的工作情况[过去、我达到了800VdC]。 如今、仅启动 PFC [在 CPU1]时[浪涌事件+软启动+稳定状态中断!]、就会出现复位问题。

    如果您看看 XRS_引脚缩放的屏幕截图、您可以看到它下降了520mV、比复位电容器在大约16ms 内追溯到[过去、我使用100nF 的上拉2k ->现在 Cres= 4u7陶瓷0805 ]。

    如果不确定是否可以停止 Vienna PWM 生成、我不会放置断点、但我可以在某些 NMI 中插入测试点 LH 边缘操作来了解发生了哪些错误。

    我知道4u7 Cres 过大、内部逻辑可能无法将信号降压到0V:我认为有外部杂散噪声会产生外部复位事件、因此我想恢复 Cres = 100nF、这是 TI 在数据表中展示的。

    您对发生什么情况有什么建议吗?

    谢谢。

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

    您好!

    [引用]如果我不确定是否可以停止 Vienna PWM 生成、我不会放置断点、但我可以在某些 NMI 中插入测试点 LH 边缘操作来了解发生了哪些错误。 [/报价]

    您是否尝试在代码中设置测试点以查看是否设置了 NMI? 如果器件正在被复位、那么您应该能够在复位入口(在 BootROM 中)设定断点、然后检查 NMI 标志寄存器。 对吧?

    此致、

    Vivek Singh

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

    你(们)好、Vivek。

    最后、我发现了我的问题、这是一个硬件问题... 首先、我在所有 ISR [NMI、FPU-MEM-FLASH、CLA、用户等]中插入了 TP 切换操作、并逐步激活它们以观察它们是否在事件期间被触发。 当我有信心时、没有可能导致复位的软件问题、我会搜索一些可能会产生问题的外部条件(当 PFC-Vienna 在断续模式下工作时由噪声触发):因此、当噪声可能改变时、我观察到 Vdd_core 1V2。 由于1V2是由 TPS62420生成的、因此我将 CF 并联更改为 RUP、以提高直流/直流的相位裕度、从而允许电压环路在输出发生变化时进行响应(环路带扩展)。

    总之、重置问题消失的时间是一周。

    非常感谢您的支持。

    再见

    迭戈

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

    您好、Diego、

    调试良好。 电路板硬件调试始终耗时。 我很高兴你能解决这个问题、并感谢你分享你的经验。

    此致、

    Vivek Singh