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.

[参考译文] TMS320F28384S:使用辅助 CLKIN

Guru**** 2392905 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1467791/tms320f28384s-using-aux-clkin

器件型号:TMS320F28384S
Thread 中讨论的其他器件:C2000WARE

工具与软件:

你(们)好

我有两个示波器、一个为14.7456Mhz、驱动 SYSPLL 为 C28获得199.065.600Hz。 另一个是50MHz 并连接到 GPIO133、我想使用此振荡器驱动 AUXPLL、以便为 CM 获取125MHz。

我按如下方式修改 f2838x_sysctrl.c:

//
//通过倍频器和分频器配置来自14.7456MHz XTAL 的199.0656MHz SYSPLL 输出
//
#define SYS_IMULT IMULT_27
#define SYS_REFDIV REFDIV_1
#define SYS_ODIV ODIV_2
#define SYS_DIV PLLCLK_by_1

//
//通过倍频器和分频器配置来自50MHz XTAL 的125MHz AUXPLL 输出
//
#define AUX_IMULT IMULT_40
#define AUX_REFDIV REFDIV_4
#define AUX_ODIV ODIV_4
#define AUX_DIV AUXPLLRAWCLK_BY_1
#endif

但由于无法使用 DccRegs->DCCCLKSRC0寄存器中的 auxclkin、因此 IsPLLValid 失败了、所以 AUXPLL 无法进行 ti 设置。

此致

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

    尊敬的 Luca:

    您能仔细检查一下 AUXPLL 设置吗。 这是一篇论坛文章、指导用户如何设置 CM 时钟频率。

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1411595/tms320f28388d-setting-up-cm-clock-frequency

    此致、

    Ozino

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

    您好、Ozino

    在本文中、我没有找到任何关于辅助 CLKIN (GPIO133)以及如何将其用于 AUXPLL 的参考。 我认为 PLL 锁定正确、但由于在 DCC 中不能使用 auxclkin 作为基准、因此在 IsPLLValid 过程中会出现一个错误。

    此致

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

    尊敬的 Luca:

    我会将您的帖子转给一位时钟专家、他更适合帮助设置辅助时钟。 感谢您的耐心。

    此致、

    Ozino

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

    您好!

    我将对此进行探讨、然后回复给您。

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

    尊敬的 Luca:

    请查看  TMS320F2838x TRM 第3.7.6 PLL/AUXPLL 章。 它会提供用于配置这些参数的公式。 分频器似乎设置为错误的值。  https://www.ti.com/lit/ug/spruii0f/spruii0f.pdf

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

    你(们)好

    我认为问题不在参数中、但是如果您查看 AuxPll 设置代码、您将看到该过程将调用 IsPLLValid 过程、但在何时调用

    这个过程选择 基准时钟的源、此过程失败、这是因为不可能使用 auxclkin 作为基准时钟作为基准时钟、并且开关只是在默认情况下下降。

    //
    //将时钟源0配置为设置为参考的任何内容
    // PLL 的时钟源
    //
    // Clk Src0密钥0xa 以启用时钟源选择
    //
    交换机(oscSource)

    案例 INT_OSC1:
    DccRegs->DCCCLKSRC0.all = 0xA001;// Clk Src0 = INTOSC1
    休息;

    案例 INT_OSC2:
    DccRegs->DCCCLKSRC0.all = 0xA002;// Clk Src0 = INTOSC2
    休息;

    案例 XTAL_OSC:
    案例 XTAL_OSC_SE:
    DccRegs->DCCCLKSRC0.all = 0xA000;// Clk Src0 = XTAL
    休息;

    默认值:
    //
    //代码不应到达此处
    //
    休息;
    }

    该过程返回 FALSE 且辅助 PLL 未进行编程。

    此致

    Luca.

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

    您是否仔细查看了 C2000Ware 中的 TRM 时钟部分或示例来比较任何差异?

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

    你(们)好

    我根据需要读取 TRM 并对 AUXPLL 进行编程、但为此、我必须注释掉对  IsPLLValid 的调用。 你是否尝试过为2838x 获得一个空项目并设置 AUXPLL 以使用 AUXCLKIN? 如果 yuo 进入设置 auxpll 代码,你将不会看到什么应用。

    没有使用 auxclkin 的示例。

    此致

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

    Luca

    如果您需要在启用 DCC 的情况下使用 AUXCLKIN 作为源、请参阅下面的 TRM 说明:  

    或者、如果您不想更改 driverlib 函数、您可以选择 INTOSC1作为计数器0 (src0)的时钟源、并选择 AUXPLL 作为 DCC clk src1的时钟源。 由于您的 AUXCLKIN 进入了 AUXPLL、因此监控 AUXPLL 的输出应该足够了。

    您看到的问题似乎是传递给 SysCtl_isPLLValid ()函数的值的问题、当前 在 SysCtl_setAuxClock 中调用的方式不能与 AUXCLKIN 一起使用。 我建议对其进行修改、将 INTOSC1传递到下面突出显示的第二个参数

    谢谢

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

    谢谢普拉坦

    我理解

    此致

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

    你好、普拉坦

    我没有使用 driverlib、想要重写 f2838x_sysctrl.c 中的 InitAuxPll 函数 、并编写以下函数:

    我使用以下参数进行调用:

    SET_AUX_PLL (REFDIV_2、IMULT_16、ODIV_4);

    我有一个50MHz 振荡器连接到 AUXCLKIN (GPIO133)、所以我想要100MHz 的 AUXPLL 频率用于 CM 和计时器2、我必须在应用中用作时间标签(20us)。

    但是、如果我使用计时器0每1ms 测量一次计时器2频率、我会得到一个奇怪的结果。 可以帮帮我吗?

    此致 Luca

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

    您好!

    您是否选择 AUXPLLCLK 作为 Timer2时钟的源?

    您是否可以使用示波器将 AUXPLLCLK 配置为 XCLKOUT 并监控 GPIO 上的时钟频率?

    谢谢

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

    Prarthan、您好

    auxpll 已正确编程、问题是176MHz 上的 SYSCLK 不是很好、那么100MHz 和定时器2的双精度不能正确采样、我使用预分频器2来求解。

    此致

    Luca.