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.

[参考译文] TM4C1294KCPDT:tm4c1294 @ 120MHz 的时钟配置

Guru**** 2478765 points
Other Parts Discussed in Thread: TM4C1294NCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/695674/tm4c1294kcpdt-clock-configuration-for-tm4c1294-120mhz

器件型号:TM4C1294KCPDT
主题中讨论的其他器件:TM4C1294NCPDT

您好!

原谅我的愚蠢的疑虑、在阅读数据表后、我对单端 MOSC 模式和晶体模式感到困惑、我只需要120MHz 的系统时钟。

tm4c1294数据表的一些摘录令我感到困惑,下面我复制了它:  

初始化和配置(系统控制章节):  

->"如果需要单端 MOSC 模式、则 MOSC 已准备好使用。 如果需要晶振模式、

   清除 PWRDN 位并等待 原始中断状态中的 MOSCPUPRIS 位被置位

   (RIS),表示 MOSC 晶振模式已就绪。”

 . 此处的数据表显示"清除"PWRDN 位、这与数据表中的下一个点相矛盾、如下所示:

-> 向 PLLFREQ0 和 PLLFREQ1 寄存器写入 Q、N、mint 和 MFRA 的值  

   配置所需的 VCO 频率设置

如何配置 PLLFREQ0寄存器?

->摘自 PLLFREQ0部分:  

"当直接控制这个寄存器时、软件必须在时改变这个值

PLL 掉电"

 一 断电=再次向 PWRDN 位写入1

  

感谢您的任何帮助。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    器件型号为 tm4c1294ncpdt、很抱歉造成混淆
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Nihit、

    我建议您使用 SYSCTL API 来设置易于使用的 CPU 时钟。

    根据我的理解、为了您对时钟配置感兴趣、请按如下方式调用 API:

    SysCtlMOSCConfigSet (SYSCTL_MOSC_SESRC);
    SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_main | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000);

    在上面的第二行、我假设您的单端振荡器源为25MHz

    要使用这些 API、您需要包括如下内容:

    #include "driverlib/sysctl.h"
    #include "driverlib/sysctl.h"

    此外、通常在位置包含 driverlib.lib (但可能非常依赖于您的安装路径;如果您已安装 Tiva 软件):

    C:\ti\TivaWare_C_Series-2.1.4.178\driverlib\ccs\Debug\driverlib.lib

    希望这对您有所帮助。

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

    感谢您的回复、由于某些原因、我不想使用 API、
    我已经使用直接寄存器访问成功配置了一些 GPIO 的时钟、如果有人打算使用 DRA、我将复制粘贴到这里。


    SYSCTL_MOSCCTL_R =~SYSCTL_MOSCCTL_NOXTAL &~SYSCTL_MOSCCTL_PWRDN;
    _asm (" NOP");
    _asm (" NOP");
    _asm (" NOP");
    _asm (" NOP");
    _asm (" NOP");


    SYSCTL_RSCLKCFG_R |= SYSCTL_RSCLKCFG_OSCSRC_MOSC | 1;
    SYSCTL_RSCLKCFG_R |= SYSCTL_RSCLKCFG_USEPLL | 1;
    SYSCTL_RSCLKCFG_R |= 0x03000000;
    SYSCTL_RSCLKCFG_R |= SYSCTL_RSCLKCFG_PSYSDIV_M & 1;

    SYSCTL_RCGCGPIO_R = SYSCTL_RCGCGPIO_R12 | SYSCTL_RCGCGPIO_R5; //端口 N 和 F

    //板载 LED 的 D1和 D2
    GPIO_PORTN_DIR_R = 0xFF;
    GPIO_PORTN_AFSEL_R = 0;
    GPIO_PORTN_DR4R_R = 0xFF;
    GPIO_PORTN_DEN_R = 0xFF;
    GPIO_PORTN_DATA_R = 0x03;

    请注意、这是粗略的实现方式、代码尚未清理、

    感谢你的帮助。

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

    我的理解如下:

    POR 之后、MOSC 电路的电源关闭(相当于 PWRDN=1)。
    如果使用单端模式、您可以随时访问、无需对 MOSCCTL 寄存器的 PWRDN 位执行任何操作。 该位只处理 MOSC 电路的电源、而不处理 PLL。

    要配置 PLL 频率、在写入 PLLFREQn 寄存器之前、PLL 的电源应关闭。也就是说、在 PLLFREQn 寄存器中写入 PLL 频率参数之前、PLLPWR 位应为0。

    因此、PWRDN 和 PLLPWR 是独立的、没有直接关系。 我想这是你感到困惑的原因。

    此外,我在这里还有一项建议。 由于您尝试通过 DRA 配置 HW_REG、因此在 API 中也会执行相同的操作。 如果您在 DRA 实现过程中感到丢失、那么针对相同的东西引用 API 实现可能会有所帮助。 API 实现代码位于 C:\ti\TivaWare_C_Series-2.1.4.178\driverlib 位置

    希望这能有所帮助。

    BR、
    Pranav。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    如果您想使用 DRM、请使用 TivaWare 库或查看 TivaWare 的源代码、了解如何配置时钟。 请参阅 e2e.ti.com/.../695568常见问题解答中有关 DRM 支持的第4步。
    如果您有一个直接时钟输入(而不是晶振)、那么您无需等待晶振/振荡器稳定。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的支持
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="nihit Bhavsar"]... 我不想使用 API 的"出于某些原因"...

    这种不准确的行为-和/或不能证明-"走得这么紧"(即 DRA/DRM 代码样式)-证明了"总是情况"-这是不是吗?    

    是否可以:

    • 讲师的陈旧/错误需求
    • 追求"学习力" (从未/从未积极地与 DRM 关联... BTW)
    • 代码执行速度更快、占用空间更小的需求

    引导那些(充分)被误导的人-选择"DRA/DRM?"   

    现在、  在 MCU 的系统时钟设置中部署任何代码类型-这种类型"使 MCU 变得复杂、扩展或引入风险"-都是"实际上和很难避免!"   这与这里的任何错误一样-可能会使无行为能力的用户(以及同样无行为能力的"帮助者"的干部)遭受到 "JTAG/SWD 锁定"的祸害!  

    风险/奖励分析要求 (高风险)在"较少的从属区域/方式"中部署(如果必须)"DRA/DRM"、以便(不可避免的错误步骤) 证明破坏性更小...  

    "一些原因" (海报为 DRA/DRM 提供的理由)有一条漫长而艰难的旅行道路-克服破坏性影响-受邀(通过此海报)-前往(他自己的)家门口!