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.

[参考译文] MSP432E401Y:未使用外部晶体时连接到目标失败

Guru**** 2528000 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1311074/msp432e401y-connect-to-target-fails-without-external-crystal

器件型号:MSP432E401Y

使用如下电阻:

我与一位具有使用 MSP432E4器件的定制电路板的客户合作。 他们特意未使用连接到 OSC0/OSC1的外部晶体。 我们的文档说明、只要 OSC0接地、就可以使用、因为它位于客户的定制板上。 该器件是新出厂器件、之前未进行编程。

在此配置中、我们无法成功"连接到目标"。 我们得到:

CS_DAP_0:连接至目标时出错:(错误-613 @ 0x0)目标侧即表明其处于忙状态。   再次尝试 SWD 请求、或中止事务。 (仿真软件包9.11.0.00128)

这是在"测试连接"完全成功的情况下发生的。

为了怀疑这可能与没有晶体有关、我使用 MSP0ESP432E401Y 开发套件尝试并重现该问题。 我从工作配置开始、该配置同时支持 SWD 和4线制 JTAG 模式。 接下来、我从板上移除晶体并将 OSC0连接到地。 现在、我可以完全重现我的客户所面临的问题。 我是否使用 SWD 或4线制 JTAG 模式无关紧要。

在我看来、《通过 JTAG 接口使用 SimpleLink MSP432E4微控制器》文档似乎指出不需要使用晶体。 以下是故障排除步骤。

如果 JTAG IR 和 DR 完整性扫描-测试成功、器件内核退出复位、可能未进行自身初始化。 但是、如果完整性扫描测试失败、则问题在于上电过程。 执行以下步骤、确保消除了每个已知原因并找到问题的根源:

  1. 使用数字万用表检查 VDD 和 VDDA 电源轨是否为3.3V。
    1. 如果没有、则检查设计的电源方面。
  2. 使用数字万用表检查 VDDC 轨是否为1.2 V。
    1. 否则、请确保将电流限制设置在150 mA 附近、并从外部电源供电。
  3. 如果 VDDC 电源轨电压为1.2V、请确保电源轨上的电容符合器件特定数据表、并且电容器的布局符合系统设计指南和应用报告(请参阅第8节)。
  4. 检查 JTAG 接头是否正确安装以及 TDIS 引脚(如果可用)是否连接到 GND。
  5. 检查 JTAG 接头上的 VTREF 引脚是否为3.3V。
  6. 检查微控制器的复位引脚是否为3.3V。
    1. 如果不是这样的话、连接一个外部上拉电阻器。
  7. 如果使用外部晶体振荡器、请在引脚 OSC0上连接示波器。
    1. 如果晶体未振荡、请检查晶体和电容器上的焊料。
    2. 请始终使用器件特定数据表中列出的推荐晶体。
  8. 如果不使用外部晶体振荡器、请确保引脚 OSC0连接到 GND。
  9. 如果使用 MSP432E4器件、请确保根据器件特定数据表中的规格填充 RBIAS 电阻器。

器件数据表还说明不需要外部晶体。

如果无法在 OSC0/OSC1上提供外部晶体并将 OSC0接地、我们如何使 CCS 成功"连接到目标"?

谢谢。

斯图尔特

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

    尊敬的 Stuart:

     我想你指的是这个尚未解决的帖子。  https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1306547/msp432e411y-swd-communication-error-though-msp432e411y-jtag-pin。 我还不明白为什么没有 MOSC 它不能连接。  

    6105285 说:
    我正在与一位使用 MSP432E4器件的定制电路板的客户合作。 他们特意未使用连接到 OSC0/OSC1的外部晶体。 我们的文档说明、只要 OSC0接地、就可以使用、因为它位于客户的定制板上。 设备是新出厂配置、之前未进行过编程

    没错。 未使用的 OSC0可以连接到 GND。  

    由于怀疑这可能与没有晶体有关,我选用 MSP0ESP432E401Y 开发套件尝试重现此问题。 我从工作配置开始、该配置同时支持 SWD 和4线制 JTAG 模式。 接下来、我从板上移除晶体并将 OSC0连接到地。 现在、我可以完全重现我的客户所面临的问题。 我是否使用 SWD 或4线制 JTAG 模式无关紧要。

    可以运行测试连接吗? 它显示了什么? 下面是我的扫描测试日志。  

    [Start: Texas Instruments XDS110 USB Debug Probe_0]
    
    Execute the command:
    
    %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -S integrity
    
    [Result]
    
    
    -----[Print the board config pathname(s)]------------------------------------
    
    C:\Users\a0321879\AppData\Local\TEXASI~1\
        CCS\ccs1200\0\0\BrdDat\testBoard.dat
    
    -----[Print the reset-command software log-file]-----------------------------
    
    This utility has selected a 100/110/510 class product.
    This utility will load the adapter 'jioxds110.dll'.
    The library build date was 'Jun 17 2022'.
    The library build time was '22:30:41'.
    The library package version is '9.8.0.00235'.
    The library component version is '35.35.0.0'.
    The controller does not use a programmable FPGA.
    The controller has a version number of '5' (0x00000005).
    The controller has an insertion length of '0' (0x00000000).
    This utility will attempt to reset the controller to enter SWD mode.
    
    -----[Print the reset-command hardware log-file]-----------------------------
    
    This emulator does not create a reset log-file.
    
    -----[Perform the SWD Mode Integrity test]-----------------------------------
    
    This test will read the IDCODE register 1 time.
    
    The IDCODE register value is 0x2ba01477.
    
    The SWD Mode Integrity test has succeeded.
    
    [End: Texas Instruments XDS110 USB Debug Probe_0]
    

    如果无法在 OSC0/OSC1上提供外部晶体并将 OSC0接地、我们如何使 CCS 成功"连接到目标"?

    [/报价]

    默认情况下、器件从内部 PIOSC 开始。 不需要 MOSC。  

    5.2.5.1基本时钟源
    在微控制器中有多个时钟源可供使用。 运行和睡眠模式
    配置寄存器(RSCLKCFG)可用于配置
    器件上电复位后的状态以及系统时钟分频编码。 可用的时钟
    资料来源如下:
    ■精确内部振荡器(PIOSC)。 精确内部振荡器是一个片上时钟
    在 POR 期间和之后、微控制器使用的时钟源。 它是在以下情况下有效的时钟源:
    开始获取复位矢量和开始执行代码应用。 它不需要
    使用任何外部组件并在整个温度范围内提供16 MHz±FPIOSC 的时钟
    (见1837页的表27-19)。 PIOSC 可以在需要低噪声和低噪声驱动的
    需要足够精确的时钟源。

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

    尊敬的 Stuart:

     我发现此帖子由 Amit 以及客户确认、如果没有晶体、可以通过调试探针连接 LaunchPad。 客户最初在没有晶体的情况下遇到连接问题、但后来他确认如果不使用晶体、OSC0上需要稳定的 GND。 并不仅仅使用跳线将 OSC0接地。

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/376258/tm4c123-launchpad-without-crystal-does-not-jtag-debug

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

    Charles

    正如我在原帖中所示、我们已将 OSC0接地、但仍无法正常工作。 事实上、客户电路板是以这种方式设计的、OSC0焊盘直接连接到接地层、布线距离可以忽略不计。

    这与 Amit 的发布不同、在发布时将 OSC0接地可以使其正常工作。 请记住、Amit 的帖子用于 TM4C123系列、而这是用于 TM4C129/MSP432E4系列。 这两个不同系列至少具有不同的引导加载程序以及其他可能的差异。 我知道他是一个很有历史意义的人,所以我就把他的想法告诉了阿米特。 他还被绊倒,并同意,根据我们的文件,它应该工作没有晶体。

    为了回答您之前的建议、客户和我都已经运行了"测试连接"。在 SWD 和4线制 JTAG 模式下始终成功:

    [Start: Texas Instruments XDS110 USB Debug Probe_0]
    
    Execute the command:
    
    %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -S integrity
    
    [Result]
    
    
    -----[Print the board config pathname(s)]------------------------------------
    
    C:\Users\a0221026\AppData\Local\TEXASI~1\
        CCS\TI123~1.0\0\0\BrdDat\testBoard.dat
    
    -----[Print the reset-command software log-file]-----------------------------
    
    This utility has selected a 100/110/510 class product.
    This utility will load the adapter 'jioxds110.dll'.
    The library build date was 'Mar 10 2023'.
    The library build time was '17:27:27'.
    The library package version is '9.11.0.00128'.
    The library component version is '35.35.0.0'.
    The controller does not use a programmable FPGA.
    The controller has a version number of '5' (0x00000005).
    The controller has an insertion length of '0' (0x00000000).
    This utility will attempt to reset the controller to enter SWD mode.
    
    -----[Print the reset-command hardware log-file]-----------------------------
    
    This emulator does not create a reset log-file.
    
    -----[Perform the SWD Mode Integrity test]-----------------------------------
    
    This test will read the IDCODE register 1 time.
    
    The IDCODE register value is 0x2ba01477.
    
    The SWD Mode Integrity test has succeeded.
    
    [End: Texas Instruments XDS110 USB Debug Probe_0]
    

    谢谢。

    斯图尔特

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

    尊敬的 Stuart:

     尽管 TM4C123和 TM4C129/MSP432E 是两种不同的 MCU、但我认为时钟系统的架构相似。 两者都使用 PIOSC 来启动器件。 数据表中的两种状态、即如果未使用晶体、OSC0可连接到 GND。  

     您的 TCK 频率是多少? 您可以尝试降低 TCK 频率吗?它有什么作用?

    您是否还能展示客户的 JTAG 接口原理图?

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

    Charles

    我在 SWD 和4线制 JTAG 模式下尝试了100kHz、500kHz 和1MHz。 结果完全相同、使用完全相同的错误消息时、无法连接。

    Amit 指出的区别在于、在 TM4C129/MSP432E4器件中有额外的引导加载程序逻辑用于以太网、因此、如果没有外部晶体、它可能会依赖内部时钟逻辑、而不会适当地故障转移到内部时钟逻辑。 引导加载程序始终在空白器件中运行。

    "Test Connection"始终成功的事实使我想知道复位/连接序列中是否有某种定制 GEL 魔术、可以添加这种魔术、来防止引导加载程序在"Connect to Target"完成之前运行。

    谢谢。

    斯图尔特

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

    尊敬的 Stuart:

     您讲了一个有关以太网 ROM 引导加载程序的要点。 以太网 ROM 引导加载程序需要25MHz MOSC 才能运行集成的 PHY。 如果没有25MHz MOSC、PHY 可能无法运行、从而导致以太网 ROM 引导加载程序卡滞。  在 TM4C129勘误表中、建议将 RBIAS 连接到 GND 使用4.7K 电阻器。 但是、客户显示的原理图使用4.87k、就像要使用以太网一样。 我不知道这是否会产生影响。 也许、值得换成4.87k、4.7k、容差为10%、看看这是否有区别。  

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

    将4.87K/1%电阻器替换为4.7K/10%不会产生任何差异。

    • 4.7k - 10%= 4.23k
    • 4.7k + 10%= 5.17k
    • 4.87K + 1%= 4.92K 并且已经在4.7K +/- 10%范围内

    此外、1%的精度是 PHY 的模拟容差造成的。 如果未使用 PHY、则使用电阻器的目的是使 PHY 硬件保持正常运行、但不一定需要具有严格的模拟规格。 在不使用以太网时允许使用更便宜的电阻器。

    谢谢。

    斯图尔特

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

    Charles

    我们是否有任何方法可以让 CCS 工具团队来衡量这一点? 我想知道在连接过程中是否可以成功执行一些不同的操作顺序。

    谢谢。

    斯图尔特

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

    Stuart、

     您能否让客户尝试添加 MOSC、仅为了证明/拒绝是否需要 MOSC。 恐怕 CCS 团队无法在这里提供帮助。  

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

    Charles

    遗憾的是、他们无法将 MOSC 添加到他们的定制板中。 这是因为它们采用了 BGA 封装、并且焊球没有暴露在外。 我们碰巧在 Launchpad 上使用 TQFP 封装(同一块裸片)进行测试、因为在进行修改以与电路板匹配时、它在 LaunchPad 上可以完全重现、就像客户体验到的一样。 我们可以使用 LaunchPad 继续对此进行故障排除。

    如果您想自行尝试复制 LaunchPad 修改、修改会非常简单。 仅拉出主振荡器 Y1并将 OSC0接地。 我花了5分钟的时间。

    谢谢。

    斯图尔特

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

    Stuart、

     我可以通过 在没有闪光灯的情况下将晶体上的 OSC0引脚连接到 TM4C129 LaunchPad 上的 GND 来重现此问题。 但是、如果我首先加载程序(例如、闪烁)、然后将 OSC0短接至 GND、则在 OSC0仍接地时、我将能够进行连接。 我还不清楚到底要怎么解释根本原因。 但我并不认为此客户是第一个不使用外部晶体的客户。 TM4C129/MSP432E 已推出10多年以上。 如果将 OSC0绑定到 GND、则必须有客户报告此问题。 我只是不知道根本原因。 BTW、 我将晶体引脚3连接到 GND、使用其余布线、并且元件仍连接到 MCU OSC0引脚。 这将与客户的设置不完全相同。  

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

    Stuart、

     这篇文章将是 Amit 帮助一位遇到 BGA TM4C129x 器件问题的客户的一篇有趣的读物。 客户报告的结果与当前客户完全相反。 参考帖子上的两个不同的客户(Steve 和 Kevin)表示、除了 RBIAS 引脚上的正确接地外、他们还必须将 OSC0接地、才能连接器件并对其进行编程。 这与当前客户所面临的情况正好相反。  

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/390131/error--2062-when-programming-a-tm4c129xnczad-processor-what-does-it-mean#pifragment-323257=1

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

    Charles

    我同意这个线程是一个有趣的发现。 我今天正在旅行,但明天将尝试一些建议与 RBIAS 在这个主题.

    谢谢。

    斯图尔特

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

    Charles

    我有一些积极的消息要报道。 没有晶体、SWD 的工作原理只需移除 RBIAS、正如您提到的 E2E 主题中所建议的那样。 它甚至在"默认" 5.5MHz 频率下工作。 我将查看我的客户是否可以重现这些结果。

    谢谢。

    斯图尔特

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

    Stuart、

     很高兴它以某种方式工作。 我假设您移除晶体并将 OSC0连接到 GND solidly。  

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

    Charles

    是的、这是我在开发板上以及定制客户板上使用的配置。 我已要求客户尝试复制结果。

    谢谢。

    斯图尔特

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

    尊敬的 Stuart:

     我没有听到你的回应。 我现在就结束这个帖子。 如果您有任何更新、您可以写入此帖子、该帖子将更改"打开"状态。