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.

[参考译文] MSPM0L1105:DGS20 (VSSOP-20):I2C SCL 和 NRST 共存问题

Guru**** 2382480 points
Other Parts Discussed in Thread: BQ40Z50, MSPM0L1306
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1519705/mspm0l1105-dgs20-vssop-20-i2c-scl-and-nrst-coexistence-question

器件型号:MSPM0L1105
BQ40Z50MSPM0L1306主题》中讨论的其他产品

工具/软件:

我正在研究如何让 MSPM0L1105TDGS20R 通过 I2C 与 BQ40Z50进行通信。  这是一种电池供电的应用、其中电池为向 MSPM0提供3V3的 LDO 供电。  我们 注意到、DSG20封装上 I2C SCL 引脚的唯一选择是引脚5、这也是 NRST 引脚。

我从数据表和 TRM 中几乎 可以肯定的是、一旦引脚5多路复用到另一个功能、例如 I2C SCL、则 NRST 功能会被完全禁用(直到器件复位)。  这意味着无限期地将引脚保持在低电平不会使芯片复位。  这是正确的吗?

如何通过 JTAG 调试此应用?  似乎需要将 MSPM0 VDD 拉至低电平、然后将 NRST 引脚拉至低电平、并使 VDD 恢复到3.3V。  这是因为引脚5在启动时会多路复用至 NRST。  然后、调试器可以刷写 MSPM0。  调试器在其入口点停止应用程序后、 我需要断开调试器与 NRST 线路的连接、以便 I2C 正常工作。  我希望此时我可以像平常一样逐步浏览该程序。

这也会使生产编程变得复杂。  第一次闪存尝试会很容易、因为 NRST 引脚从未重新配置、如果我们必须重新编程电路板、我们必须能够如上所述对 MSPM0进行电源排序。

我在这种理解中是正确的吗?  或者 TI 如何设想实现这个目标?

此致、

查理

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

    您好 Charlie、

    进行编程或调试时、不需要 NRST 引脚。 即使在代码中禁用 NRST 引脚的复位功能并从所用的调试器上断开 NRST 引脚的连接、也可以正常调试代码。

    此致、

    Janz Bai

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

    Janz、

    哇、我可以保证 NRST 是调试所必需的、但我刚刚尝试在 LaunchPad 的目标 MSPM0L1306上启动调试会话、并移除 NRST 线路跳线、该会话就会正常调试。  但是、我以前遇到过此芯片的问题、如果某个器件处于不一致的状态、我会让 IDE 提示我"强制复位"、如果 NRST 配置为 I2C SCL、这个芯片中的这个功能将不起作用。  老实说、只强制复位通常不起作用、在点击"Dialog 选项强制复位"之前、我必须先手动将 BSL 线路拉高。

    这就引出了另一个问题、在 Code Composer Studio 中是否有办法告诉 LaunchPad 调试器尝试进入 BSL 模式?  在过去的开发过程中、我意外地多次软刷 MSPM0、每次都必须手动将 BSL 调用线路拉高、才能进入 BSL 以恢复芯片。  我看到 LaunchPad 有一根 BSL 跳线、因此我想知道 CCS 是否有在调试器中调用 BSL 的选项。

    谢谢您、

    查理

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

    您好 Carlie、

    由于您上拉 BSL、然后点击"强制复位"、MCU 将在复位时进入 BSL 模式、然后您可以再次下载代码。 但是、如果您只是强制执行复位、MCU 仍会运行您的当前代码(可能有一些错误)、使您在复位时无法下载代码、这是我对这个问题的想法。

    有三种方法可以触发 BSL:硬件调用(默认为 PA18)、空白芯片检测和软件触发(在您的代码中)。 很抱歉、我没记得 CCS 有直接触发 MCU BSL 的选项。

    如果上拉 BSL 引脚并强制复位可以帮助您解决此问题、则可以继续使用。 您也可以使用另一种方法:恢复出厂设置。 但是、恢复出厂设置需要将 MCU 的 NRST 引脚与调试器的 NRST 引脚连接、在恢复出厂设置时、需要将 NRST 引脚连接到 GND、这意味着需要将 MCU 的 NRST 引脚与调试器的 NRST 引脚连接、并将 MCU 的 NRST 引脚连接到 GND。 如果您对这种方法感兴趣、可以在 E2E 上搜索它。

    此致、

    Janz Bai