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.

[参考译文] TM4C123GH6PGE:tm4c123gh6pge 定制板上的时钟设置问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1013237/tm4c123gh6pge-clock-setting-problem-on-custom-board-with-tm4c123gh6pge

器件型号:TM4C123GH6PGE
主题中讨论的其他器件: UNIFLASHLMFLASHPROGRAMR

大家好!

我们尝试在定制板上为使用 ADC 和 CAN 的项目对 tm4c123gh6pge 进行编程。

起初,我们没有输入任何时钟设置,但它使用 PIOSC 以16MHz 运行。 使用该时钟 ADC 可以工作、但无法工作。 因此、我们尝试在80MHz 下运行 tm4c123gh6pge、并为此使用了以下代码:

SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);


但是、当这个代码运行时(我们对它进行了调试并看到)、tm4c123gh6pge 停止响应、就像完全死机一样。

我们只需添加此代码并阅读数据表,就可以拆分4块板,搜索到互联网无法找到原因。

问题可能出在哪里、是否有办法恢复损坏的电路板? 我们将感谢您的任何帮助。


注意:我们使用 tm4c 1294xl 开发板来测试我们的代码、因此我们确信代码是良好的。

注2: 我们使用 Code Composer Studio 通过 tm4c123gh6pge JTAG 引脚的1294开发板对电路板进行编程和调试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="490779" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1013237/tm4c123gh6pge-clock-setting-problem-on-custom-board-with-tm4c123gh6pge "]问题出在哪里,是否有办法恢复损坏的主板?

    要恢复电路板、请尝试 使用 LMFlashProgrammer 或 UNIFLASH 运行器件解锁序列-请参阅 问题6:JTAG 连接、程序加载但运行时 JTAG 连接中断。  诊断  TM4C 器件的常见开发问题和提示与信息

    [引用 userid="490779" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1013237/tm4c123gh6pge-clock-setting-problem-on-custom-board-with-tm4c123gh6pge "]因此我们尝试以80MHz 运行 tm4c123gh6pge,并为此使用了以下代码:

    该代码看起来正常。 您能否确认定制板上连接了一个16MHz 晶体?

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

    切 斯特、您好!


    我按照发送给您的文章中的步骤使用 LM Flash Programmer 重置定制板、然后对电路板进行下电上电、但当我尝试擦除整个闪存时 、我会得到以下错误:

    错误:找不到目标设备

    是的、我确信16MHz 晶体已连接到我们的板上。 原理图为:

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

    您能否使用示波器验证引脚93 (OSC1)上是否具有16MHz 时钟信号?

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

    Bob、您好!

    我测量了 MCU 的第93个引脚、似乎没有任何东西。

    这样做的原因可能是什么? 连接是否有任何问题?  

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

    由于这是一个新电路板、我怀疑连接错误。 原理图看起来是正确的、但晶体的尺寸可能是错误的、或者晶体安装不正确。 首先、我将检查布局 Gerber、或使用欧姆表检查空白 PCB。

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

    Bob 您好、感谢您的建议、

    晶体振荡器的焊接确实不正确。 我首先修复了这个问题、现在我从引脚93获得的信号如下、虽然我看到了一点纹波、但有一个正弦信号。

    但是、当我尝试对卡进行编程时、仍然会出现无目标错误。 LM 闪存编程器中同样的错误仍然存在。

    我想知道我是否因为我尝试在没有 OSC 的情况下配置它而损坏了 MCU 的某些部分?

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

    对电路板进行编程时、您使用的是什么扫描控制器(JTAG 硬件)? 是修订版6还是修订版7器件? 修订 版7不太可能 锁定在无法恢复的状态。 请参阅 勘误文档的第4页 、了解如何判断您的版本。 我会再次尝试 Chester 建议并在此处详述的"恢复锁定微控制器的步骤":

    https://e2e.ti.com/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/310876/jtag-communication-failures

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

    我使用 TM4C129ENCDPDTI3开发板 JTAG 引脚对定制板进行编程。


    我在 MCU 第三行末尾看不到任何数字。 它只是 GH6PGEI。 因此、我没有找到什么是器件版本。  

    此外、当我单击 LM Flash Programmer 上的 Get Current MAC Address 时、我会收到以下警告:

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

    第3行末尾没有数字表示这是修订版6器件。 遗憾的是、在给定坏时钟时、器件更容易损坏。 它可能无法恢复。 现在晶振已经被校正了、客户是否有另外一个尚未编程的电路板、或者是否可以更换原来四个电路板中的一个?

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

    幸运的是、我们有尚未编程的卡。 首先、我将修复它们的晶体、然后我将对它们进行编程。
    感谢您的帮助、但如果您不关闭该主题、我将不胜感激。对于编程后可能出现的问题、我可以再次在此写信。

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

    您好 Bob。

    我修复了我以前从未使用过的其中一个卡的晶体、并尝试对其进行编程、尽管我的编程方式与之前的编程方式相同、但我遇到了如下错误:

    Cortex_M4_0:GEL 输出:
    内存映射初始化完成
    Cortex_M4_0:文件加载程序:验证失败:地址0x00000000处的值不匹配请验证目标存储器和存储器映射。
    Cortex_M4_0:GEL:文件:C:\Users\ABC\Desktop\abc\blinki\Debug\blinky.out:发生数据验证错误、文件加载失败。
    Cortex_M4_0:错误:发生调试端口错误。

    是否有任何关于导致此错误的原因的想法?

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

    这是程序验证错误。 您能否连接 Code Composer Studio 并使用"Memory Browser"窗口查看位置0的内容?

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

    您好!

    我无法连接 Code Composer Studio。 当我单击"调试"以在 CCS 上使用内存浏览器时、它会给出相同的错误。 还有其他方法可以查看它吗? 这实际上让我感到困惑、为什么晶体的某些更改会阻止连接到 MCU? 它的引脚看起来是正确连接的。

    我的定制板上的晶体是: https://abracon.com/Resonators/ABM8G.pdf

    现在的连接是:
    晶体的第1个引脚连接到 MCU 的第93个引脚、晶体的第3个引脚连接到 MCU 的第92个引脚。 晶体的第2和第4个引脚连接到接地。

    我是否需要翻转 Crystal 的第1个和第3个引脚?

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

    不需要、您无需翻转晶体的第1和第3引脚。 我怀疑这个问题与晶振无关。 请记住、当晶振连接不正确时、您能够连接和编程空白部件、直到您编程了尝试使用晶振的代码。 由于这是一个新电路板、我首先会怀疑另一个组装错误。 您可能需要尝试其他电路板。 遗憾的是、Stellaris ICDI 不支持用于调试 JTAG 连接的特殊测试模式。 但是、您可能会尝试验证您是否将 TCK、TDI 和 TMS 连接到正确的引脚、以及当您尝试"连接"到目标时 TDO 是否切换。 以下是一些有关 JTAG 的信息、这些信息可能会有所帮助:

    https://www.ti.com/lit/an/spma075/spma075.pdf

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

    您好!

    编程期间、我使用示波器测量了所有 JTAG 引脚的输出。 以上是成功编程期间的图像(晶振反向连接)。 以下是编程失败期间的图像(正确连接晶体)。

    TCK 引脚:

    TMS 管脚:

    TDI 引脚:

    TDO 引脚:

    它们都有一个共同的差异、即编程期间的最后一个信号。

    本例中更有趣的部分是、当我再次翻转晶体以使其反向时、它开始编程。

    我们能否从这里了解问题的根源?

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

    我的最佳猜测(这只是一个猜测)是振荡器波形不正确。 下冲可能会影响电平、器件会看到双时钟边沿并锁定。 如果没有高阻抗示波器探针、观察振荡器波形会使其失真。 您可以尝试移除其中一个不再工作的电路板上的外部晶振、然后重试解锁序列。

     列出的 ABRACON AABMM-16.0000MHz-10-D-1-X-T 晶振是经模拟和确认可在 TM4C123GH6PGE 技术规格范围内运行的晶振。 未列出您正在使用的晶体、但这并不意味着它不起作用。  

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

    Bob、您好!

    我将购买您提到的晶体、看看会发生什么情况、我认为没有其他方法可以将其替换为不同的型号。

    如果你提出一个新的想法,我愿意这样做。  

    感谢您的帮助。

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

    好的、当我今天退休后、我要求我的一位同事遵循这个主题。