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.

[参考译文] AM2612:对 RTI 的一些寄存器提出问题

Guru**** 2796425 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1619974/am2612-questions-about-some-registers-of-rti

器件型号: AM2612
主题: SysConfig 中讨论的其他器件

您好、

我的客户还有一些与以下主题相关的其他问题。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1609329/am2612-is-the-rti-counter-64-bit

 

客户在 SysConfig 中设置 RTI、如图 1.  

每 500us 调用一次下文描述为函数 1 的函数以获取标志。

 

您能否检查一下他们在下面的理解是否正确?

1:  1 毫秒后、即使未选中“Enable Compare Interrupt“(启用比较中断)、是否可以识别 RTIINTFLAG 的 Bit0 变为“1"?“?

2 :  他们的理解是否正确?
    -关于 RTI 和比较事件的 FRC 值之间的比较寄存器值,当达到比较寄存器值时,下一个比较寄存器值会自动更新(添加)。
    -由于 FRC 值和比较寄存器值同时更新,因此达到 32 位后无需考虑溢出。

      (当返回到 0x00000000 时、FRC 值和比较值之间是否没有冲突?)

 

图 1. SysConfig 设置

SysConfig Setting.jpg

 

功能 1.

Bool Get1msTimerFlag (void)
{`
             uint32_t baseAddr = CSL_RTIO_BASE;
             uint32_t 状态;
             bool 结果= false;

             /*获取事件标志的当前状态*/
             状态= RTI_intStatusGet (baseAddr);

             /*比较块 0 的检查标志(1ms 周期事件)*/
             IF (STATUS 和 RTI_TMR_INT_INT0_FLAG)
             {
                          /*清除标志(等效的 RX TGFA = 0)*/
                           RTI_intStatusClear (baseAddr、RTI_TMR_INT0_FLAG);
                           结果= true;
             }

             返回结果;
}

 

API

API.jpg

 

 

                 输入时钟频率   240000000 Hz --> 240       

              所需输出频率     12000000Hz                     

  预分频比较寄存器 (RTICPUCCx)           19  *由 SysConfig 自动设置

                                -->0.083333333us     * 1 计数加 83.3ns

32 位自由运行计数器   4294967296 计数的上限     

                                          357.91 秒

                                            5.97 分钟 ->溢出约 6 分钟   

 

谢谢。此致、

英明

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

    你好、松本山、

    1ms 过后、是否可以识别 RTIINTFLAG 的 Bit0 变为“1"(“(即使(即使未选中“Enable Compare Interrupt“)?

    是的。 当发生比较匹配(设置中为 1ms)时、无论是否选中“Enable Compare Interrupt“复选框、都会设置 RTI 比较匹配标志 (RTIINTFLAG 位 0)。 中断使能仅控制脉冲是否传播到中断控制器 (VIM);它不会阻止设置内部匹配标志。

    [引述 userid=“10509" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1619974/am2612-questions-about-some-registers-of-rti

    他们的理解是否正确?
        -关于 RTI 和比较事件的 FRC 值之间的比较寄存器值,当达到比较寄存器值时,下一个比较寄存器值会自动更新(添加)。
        -由于 FRC 值和比较寄存器值同时更新,因此达到 32 位后无需考虑溢出。

          (当返回到 0x00000000 时、FRC 值和比较值之间是否没有冲突?)

    [/报价]

    发生比较匹配时、比较寄存器值会从关联的 UDCP(更新比较)寄存器中自动重新加载 — 这支持硬件周期性中断,而无需在每个周期更新 COMP。 但是、硬件不会隐式执行“COMP = COMP + Previous_Value“算术;它只需加载 RTI_UDCPx 寄存器中存储的值。
    •由于 RTI 比较逻辑是针对 32 位 FRC 的等效性测试、因此自然地处理绕回。 当 32 位 FRC 从 0xFFFFFFFF 绕回到 0x00000000 时、等效比较仍按预期工作、因此对于基于 UDCP 的标准周期性计时器、不需要特殊的溢出处理。 (只有在执行 next_comp = CURRENT_FRC + N 等手动 Δ 算术时,才必须确保使用无符号算术,以便正确处理绕回。)

    使用时钟/数学计算:
    •RTI_FCLK = 240MHz、RTICPUCx = 19→FRC = 240MHz /(19+1)= 12MHz→FRC 周期= 83.333ns。
    •1ms 需要 12,000 个 FRC 计数。 对于硬件 1ms 节拍、设置 RTI_COMP0 = 12000 和 RTI_UDCP0 = 12000。
    •32 位 FRC 将在 2^32 / 12e6≈357.9s≈5.97 分钟内溢出 这种打包是正常的、等效性比较是安全的。
    •轮询每个 500µs:
    •在 500µs 下轮询 (< 1ms) 意味着您将检测每 1ms 事件(最坏情况下的检测延迟= 500µs)。 如果轮询任务的阻止时间始终不会超过 1ms、则这是安全的。 RTI 标志是一个级别标志(清除之前保持‘1')—它不对多个匹配进行排队。 如果轮询速度比事件周期慢(例如>1 毫秒)、您可以丢失事件(因为即使发生多个匹配,该标志也只会显示‘1’一次)。

    读取 FRC/UC(或捕捉寄存器)时、执行:首先读取 FRC、然后是 UC(对于捕捉,读取 CAFRCx、然后读取 CAUCx)。 这样可以保持一致性。 TRM 建议的确切顺序。

    我无法理解是否发现特定问题/不一致? 或者这是了解 RTI 行为的一般性问题吗? 您能帮助我进一步了解一下吗?

    此致、
    Shaunak

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

    尊敬的 Shaunak:

    非常感谢您的快速响应。 这真的很有帮助。 客户理解您的答案是他们认可的。

      

    我无法理解是否发现了特定问题/不一致? 或者这是了解 RTI 行为的一般性问题吗? 您能帮助我了解更多吗?

    虽然没有严重问题、但他们希望为自己的开发确认 RTI 规范的详细信息。

     

    谢谢。此致、

    英明