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.

[参考译文] TMS320F280049C:如果 ODIV 位被配置、时钟验证失败

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/974688/tms320f280049c-clock-validation-fails-if-the-odiv-bit-is-configured

器件型号:TMS320F280049C
主题中讨论的其他器件:C2000WARE

您好!

当我们尝试配置 ODIV 位时、我们看到时钟验证例程'IsPLLValid'失败。

有趣的是、TI 代码永远不会配置此字段。 即 InitSysPll (uint16 clock_source、uint16 imult、uint16 fmult、uint16 divsel)没有用于 ODIV 的参数。

TI 代码未配置 ODIV 的原因是什么。 TI 希望保持此参数的复位初始化值。

当 ODIV 被设定为一个值1时、故障为 true。 因此、看起来任何非默认值都会导致问题。

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

    您好、Venkatesh、

    感谢您突出显示此问题。  在将 ODIV 作为规范的一部分之前、已经发布了 F28004x 的 C2000Ware PLL 函数、以评估 ODIV 对内部时钟规范(VCO 范围和 PLL 原始时钟范围)的影响。  我将发出一个 TT、将 ODIV 添加为 PLL 设置的一部分。  顺便说一下、当使用 ODIV 时、请确保符合内部时钟规格(数据表中的 VCO 和 PLL 原始时钟)。

    此致、

    Joseph

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

    您好、Joseph、

    感谢您再次观看本节目。

    是的、我们已通过下表确保满足 VCO 和 PLL 原始时钟的内部时钟规格。

    您是否可以研究为什么将 ODIV 设置为非默认值会使时钟测试失败。

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

    您好、Venkatesh、

    当然、IsPLLValid 函数使用双时钟比较器(DCC)模块。  DCC 模块用于比较多个周期内的两个时钟源。  每个时钟源都有自己的计数器、因此如果时钟源的比率已知、只要另一个时钟源有已知周期(用作参考时钟)、就可以使用 DCC 来"测量"其中一个时钟源。  在函数 IsPLLValid 中、已知时钟源是 PLL 的输入时钟、而另一个未知时钟是系统时钟。  在函数中,种子计数器被置位,假定系统时钟将大约为输入时钟乘法器的频率。  分频器 ODIV 尚未计入方程、因此一旦为 ODIV 设置了非默认值、系统时钟假设将不正确。  默认 ODIV 值为0、 即/DIV1 (1=/DIV2、2=/DIV3...等)。  必须更改该函数,以便将系统时钟频率设置为(输入时钟乘法器)/分频器。

    此致、

    Joseph