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.

[参考译文] TMS570LS0714:RTI1 RCLKSRC 分频器问题与 TRM 位规范

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/673986/tms570ls0714-rti1-rclksrc-divider-issue-versus-trm-bit-specification

器件型号:TMS570LS0714
主题中讨论的其他器件:TMS570LS1114

根据 LS09x-07x 器件技术资源手册第2.5.1.18节的表2.36、使用 LP LFO 作为 RT1的源时遇到问题。

当尝试将 RTI1DIV 选择为2或3 (/4或/8)时、计数器似乎无法正常运行。

我在网上注意到只有/2的选择被公开,而且似乎是有效的。  我对以下问题感到困惑:

SYS/rclksrc 为0x00000104  (/2使用 LF LPO)

在1秒的累积周期内、我得到(大约) 5000个计数。

这似乎是/16?

如果我尝试将"1"(RTI1DIV)更改为2或3、我会得到一个相当大的 RTI 中断的 bizzare 行为(似乎发生了4次)。

是否有人会帮助识别 LF LPO 时钟的任何其他分频器来解释/16?

此外、如果此寄存器 rclksrc 有任何勘误表、请帮助找到它。

注意: 我打开了偏置,halcodegen 调用 trimLPO()

PS: 在生成的代码中与 TRM 存在另一个矛盾(我想它是为了支持带有 RTI2计时器的变体)

void mapClocks (void)(空)

/**-设置 RTICLK1和 RTICLK2时钟*/

systemREG1->RCLKSRC =(uint32)((uint32) 1U <<24U)  <<不在数据表中...

|(UINT32)((UINT32) SYS_VCLK << 16U)

|(UINT32)((UINT32) 1U <<8U)

|(UINT32)((UINT32) SYS_VCLK << 0U);

 

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

    您好 FJ、

    您是否能够测量实际 LF-LPO 频率本身。 由于它具有非常宽的工作范围、 如果不使用 DCC 针对 PLL 或其他时钟源进行测量或使用时钟测试输出在引脚上输出时钟来测量时、很难确定实际频率是多少。 有关详细信息、请参阅数据表的第6.6.3节。

    当您保留默认时钟源(VCLK)并仅更改分频器时、您是否获得正确的输出和计数? 我注意到、在上面的代码片段中、RTI 的时钟源被配置为针对 RTI1CLK 的 SYS_VCLK。 这是一个错误还是仅仅是为了显示代码的 RTI2CLK 配置部分? 我很好奇、因为如果这是寄存器的配置、5000计数似乎更有趣、因为它的关闭系数正好为10000、并且可能来自小数点错误放置  (即、是预期50000000周期的倍数、或在1秒内计数)。

    相对于适用的勘误表、没有。 通常、您可以在 TI.com 上的产品页面上发布的勘误文档中找到任何适用的勘误表、即、通过此链接访问产品页面- TMS570LS1114、 页面顶部将显示勘误文档的链接。唯一需要考虑的特殊注意事项是当 RCLKSRC 不是 VCLK 时、RTICLK 必须<= VCLK/3、如器件 TRM 中所述。 这用于时钟同步。

    相对于写入 RCLKSRC 寄存器的高位、您正确地假设这是针对具有两个 RTI 模块实例的器件。 由于没有第二个 RTI 模块、这些写入对器件没有影响、因此无需从通用代码库中编辑此内容。