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.

[参考译文] TM4C123GH6PM:振荡器设置不正确? (外部时钟)

Guru**** 2448320 points
Other Parts Discussed in Thread: TM4C123GH6PM, EK-TM4C123GXL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/621799/tm4c123gh6pm-incorrect-oscillator-settings-external-clock

器件型号:TM4C123GH6PM
Thread 中讨论的其他器件: EK-TM4C123GXL

这是一个定制板、其中16MHz 时钟由 FPGA 提供到  TM4C123GH6PM 的 OSC0 (引脚40)中、OSC1 (引脚41)已断开连接。  我尝试使用 XDS100V2使 JTAG 在该板上工作。  我执行了内置于 CSS 中的 JTAG 验证命令、该命令成功运行(并且仍然成功运行)。  然后、我进入 EK-TM4C123GXL 开发板所用工程的调试模式、只是为了测试编程(该工程在这个新电路板上不会有任何有用或可见的功能)。  进入调试模式似乎工作正常、然后我按下了暂停、此时我被告知调试器不知道代码的执行点。  从这一点开始、我一直无法刷写 TM4C123GH6PM、我假设第一次成功刷写中断 JTAG 通信的内容。  我认为这可能是振荡器设置?

/***** 设置时钟********* /
//将系统时钟设置为80MHz
SysCtlClockSet (SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHz | SYSCTL_OSC_MAIN);

如果是、什么是正确 的 SysCtlClockSet()?

我将需要做更多的蓝线工作、才能在该板上获得复位按钮...

谢谢、

James。

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

    这就是我使用的方法

    /*设置时钟(80MHz、16MHz 晶振。) 200MHz PLL/2.5 */
    SysCtlClockSet (SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |
    SYSCTL_XTAL_16MHz);
    

    对我来说是一样的。 我们确实从晶体开始、但更改为振荡器输入。 您可能会检查您是否未过度驱动输入。

    除了设置时钟之外、您在或编程中还做什么?

    [引用用户="James Lawson77"]我必须做更多的蓝线工作才能在该板上获得复位按钮...[/quot]

    是否应该在 JTAG 连接上可用?

    Robert

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

    首先、为了保存您对重置按钮的工作、请参阅此主题 :e2e.ti.com/.../310876

    就系统时钟设置而言、所使用的时钟设置似乎可以。 我在我们的 TM4C LaunchPad 上进行了测试、发现它可以正常工作。

    根据您对硬件的描述、该16MHz 信号的完整性有多好? 占空比看起来只需要在45-55%的范围内、因此、如果您将其设置为50%的占空比、您应该完全处于该容差范围内、但我认为这是值得检查的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    由于 MCU 无法控制信号到达、FPGA 的16MHz 信号"来得太早或太晚"可能会是这样吗?
    Fir/I 也做了类似的工作-通过 FPGA 和 CPLD -短/直接 HF 引线长度-并且没有其他(附近)开关信号-总是有帮助的。

    一如既往-这种情况是否证明存在多个电路板? (即使是那些需要"已编程"和/或使用"已知良好"  的程序(即安全、简单、供应商示例程序?)

    再强调一点-也许至关重要(迄今为止一直保持沉默)我们的"MCU 和 FPGA 应用"(通常)采用 MCU 来配置 FPGA。   除非您(首先)使用 MCU 的 PIOSC -然后"切换"-您(然后)如何配置 FPGA?   (如果没有 MCU 对 FPGA 的重要帮助...)

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

    我已经尝试了 LMFLASH 实用程序解锁(这需要一个复位按钮、我已经添加了该按钮)、但它失败了。  这是否表明我的 JTAG 连接有问题? (尽管验证函数表明一切正常)。  FPGA 是 Intel MAX10、因此可从内部闪存快速加载其位流。  该时钟通过对48MHz 振荡器进行分频生成、占空比为50%。  这是一次性开发原型、因此我没有可尝试的备用板。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我现在成功地使调试工作。 问题是、16MHz FPGA 时钟不再出现在电路板上、因为当我初始编程 FPGA 时、我没有写入其内部存储器、而是通过 JTAG 对其进行编程、因此下次上电时不会生成 时钟。 我现在已经对内部存储器进行了编程(通过选择.pof 文件而不是.sof 文件来完成)。

    但是、即使存在该时钟、我也无法使 LMFLASH 解锁正常工作(尽管它不再重要、因为我可以正常调试器件)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    该 FPGA 的描述可以节省"辅助"时间/精力。
    很高兴您坚持并成功了。

    我要指出(甚至)"一次性"发展(通常)受益于"存在多个电路板!"   (支持建立信任、"A 与 B 与 C"比较测试。。。)   即使是一次性、尤其是一次性、也能从这种(添加)电路板/元件见解中获益。