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.

[参考译文] TMS320F2800157:无法在闪存中刻录程序

Guru**** 2905430 points

Other Parts Discussed in Thread: TMS320F2800157

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1636127/tms320f2800157-could-not-burn-program-in-flash

器件型号: TMS320F2800157

尊敬的专家

我们目前在使用 TMS320F2800157 芯片时遇到了一些问题、希望查询:
我们从仓库中取出了一个新芯片来开发一个新项目、发现它无法进行编程。 外设电压正常、但 RESET 引脚(使用 2.2k 上拉电阻)定期下拉(大约 14ms 一次)、因此无法对其进行编程。 刻录采用 4 线系统 (VCC GND TMS TCK)。 由于我们之前使用此芯片开发了项目、但没有发现该问题、因此我们用一个没有问题的外围平台替换了有问题的芯片、并发现复位引脚仍然是定期下拉的。 请帮助了解导致重置脚不断下拉的问题。

以下是 RST 引脚波形:

2459a9edf257ce3d0de980262be9bbe.jpg

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

    您好 Gabriel、

    下面我们根据您的说明和提供的信息、细分 TMS320F2800157 的 JTAG 锁定问题和复位引脚问题。 我将分别解决这两个问题、然后进行连接。

    1. JTAG 锁定和固件下载

    • JTAG 锁定功能: 与许多其他微控制器一样、TMS320F2800157 具有 JTAG 锁定机制。 这是一项安全功能。 启用后、它 会阻止 通过 JTAG 进行调试和固件下载。 目的是防止未经授权的各方轻松读取或修改代码。
    • 启用 JTAG 锁定后、您可以下载固件吗? 否、不是直接通过 JTAG。 设置 JTAG 锁定后、标准 JTAG 编程工具(例如 Code Composer Studio 中的工具)将无法与器件通信以进行刷写。
    • 从 JTAG 锁定中 恢复:从 JTAG 锁定中恢复可能有有限的选项、通常需要特殊程序、可能涉及能够绕过锁定的调试探针或专用的解锁序列、这些程序可能是特定于制造商的和/或需要特定的硬件工具。 了解 JTAG 锁定的启用方式 (例如,通过软件配置,保险丝)至关重要。

    2. RESET 引脚定期下拉–诊断和可能的原因

    RESET 引脚的间歇性下拉是导致编程问题的主要原因。 您提供的波形非常有用。 周期性复位信号几乎始终是以下问题之一的迹象:

    • 欠压复位: 最初很可能的原因是欠压。 F2800157 具有欠压复位 (BOR) 电路。 如果 VCC 上的电压降至低于某个阈值、BOR 将触发复位。 ~14ms 的周期表明、这 可能 是罪魁祸首。 即使电源略有波动也会触发器件故障。
    • 内部振荡器不稳定: 很少情况下、内部振荡器(用于时序)可能会变得不稳定、从而导致杂散复位。
    • 软件触发复位: 错误的中断或现有可能损坏的固件中的部分代码可能会有意(或无意)在内部将 RESET 引脚置为有效。 这意味着芯片会自行复位。
    • 外部干扰: 电源或复位线路上的电气噪音可能被误解为复位信号。 如果您的实验室设置经过良好滤波并接地、这种情况就不那么常见。
    • 芯片故障: 如果在多个芯片上发生、则不太可能发生、但微控制器本身内的缺陷可能 导致复位信号。
    • JTAG 锁定相关问题: 在某些情况下、错误或不完整的 JTAG 锁定设置可能会导致复位循环。 如果锁定配置过程中断、尤其可能出现这种情况。
    • 引导加载 程序问题:引导加载程序损坏或故障可能导致重置循环。

    连接两个:JTAG 锁定和复位问题

    直接启用 JTAG 锁定不太可能 会导致间歇性地下拉 RESET 引脚。 但是、需要考虑一些重要的连接:

    • JTAG 锁定尝试失败: 如果您尝试启用 JTAG 锁定并且该进程失败或被中断、则芯片可能会进入异常状态、继续进入复位周期。 不完整的写入过程可能会损坏闪存的基本部分、包括引导加载程序。
    • JTAG 锁定代码: 如果您 通过软件执行 JTAG 锁定使能 (写入特定的闪存位置)、则代码本身可能包含一个导致意外复位的错误。
    • JTAG 配置不正确: JTAG 锁定过程中的 JTAG 引脚配置不正确(电压错误或合规性错误)可能会损坏闪存。

    故障排除步骤(优先级)

    1. 电源: 这是首先要验证的。

      • 清洁电源: 使用稳定的稳压电源。 确保电压在 F2800157 的指定范围内(通常为 3.3V,但应在数据表中验证)。
      • 耦:确保 在非常靠近 F2800157 的 VCC 和 GND 引脚的位置有足够的去耦电容器(通常为 0.1uF 和 10uF)。
      • 测量: 尝试对芯片引脚进行编程时、使用示波器仔细监测芯片引脚上的 VCC 电压。 查找电压骤降或噪声。
      • 电源电流: 在编程尝试期间监测 F2800157 的电流消耗。 异常高的电流消耗可能表明芯片内部发生了短路或问题。
    2. 复位引脚电路:

      • 验证 2.2k 上拉电 阻:仔细检查上拉电阻(2.2kΩ)是否正确连接且正常运行。 使用万用表测量其电阻。
      • 检查是否存在短路: 检查复位线路是否存在任何对地短路。
      • 隔离: 暂时断开复位引脚与应用电路的连接。 通过 2.2k 上拉电阻将其直接连接到 3.3V 电源。 如果问题消失、则意味着应用电路中的某个元件出现干扰。
    3. JTAG 信号完整性:

      • 短导线: 使用尽可能短的导线进行 JTAG 连接。
      • 阻抗匹配: 确保您的 JTAG 适配器和目标板具有相似的阻抗(通常为 50 欧姆)。
      • 正确接地: JTAG 适配器和目标板之间的可靠接地连接至关重要。
    4. 软件/JTAG 锁定调查:

      • 如果您尝试启用 JTAG 锁定: 尝试使用能够单步执行代码的调试器。 查看是否可以确定触发复位的确切点。
      • 闪存诊断工具: 一些 TI 开发工具包括诊断例程、用于检查闪存是否损坏。 如果 JTAG 锁定过程损坏了该器件、这可能会有所帮助。
      • 恢复出厂设置: 请参阅 F2800157 数据表、了解是否存在可以清除任何故障配置的恢复出厂设置过程。 注意、这可能会擦除芯片上的所有存储器。
    5. 芯片验证:

      • 交换芯片: 如果您有另一个已知良好的 F2800157、请将其交换到电路中。 如果问题消失、则可能是原芯片出现故障。 (您说您已经完成了这项工作,但重申一下很重要)。

    重要注意事项:

    • 数据表: 方便查阅 TMS320F2800157 数据表。 它是有关芯片特性、规格和编程过程的主要信息来源。
    • Code Composer Studio (CCS) 设置: 查看您的 CCS 工程设置。 确保选择了正确的器件并正确配置了 JTAG 接口。

    为帮助我们进一步缩小问题范围、您能否提供以下信息:

    • 您是如何尝试启用 JTAG 锁定的? (软件? 保险丝设置?)
    • 您正在使用什么 JTAG 仿真器/调试器? (例如 XDS110、Blackhawk)
    • 您能否提供复位电路和 JTAG 连接的原理图?

    此致、

    Zackary Fleenor

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

    您好 Gabriel、

    有任何关于该主题的反馈吗?

    此致、

    Zackary Fleenor

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

    您好 Gabriel、

    我想在这一主题上再跟进一次。 我收到上一条消息已经大约三周了、我还没有收到您关于 TMS320F2800157 复位引脚问题和 JTAG 锁定问题的回复。

    我了解故障排除可能需要时间、您可能已自行解决问题、或者仍在执行我提供的诊断步骤。 无论哪种方式、我都非常感谢您提供更新、以便我能够:

    1. 了解结果 — 如果找到根本原因,了解解决方法 (电源问题,芯片故障,JTAG 锁定配置等)将非常有用、以供将来参考并帮助面临类似问题的其他客户。

    2. 提供额外支持 — 如果您仍然遇到问题或遇到任何障碍,我将在这里帮助您进行进一步的故障排除或替代方法。

    3. 适当地关闭线程 — 如果问题已解决,我们可以将该线程标记为已解决,这有助于其他工程师搜索类似的解决方案。

    快速回顾我推荐的关键诊断步骤:

    • 使用示波器监测验证电源稳定性
    • 检查 VCC /GND 引脚附近的去耦电容器
    • 验证复位时的 2.2kΩ 上拉电阻器
    • 调查失败的 JTAG 锁定尝试是否可能损坏闪存/引导加载程序
    • 使用已知良好的芯片进行测试(您提到过您尝试过的芯片)

    如果您可以提供一个简短的状态更新(无论是已解决,仍在进行故障诊断还是转移到其他方法)、我们将非常感激。

    期待收到您的回复。

    此致、

    Zackary Fleenor