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.

[参考译文] AM2432:使用(通用) ECAP 为 Δ-Σ 生成时钟信号

Guru**** 2393025 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/1506319/am2432-use-general-ecaps-to-generate-a-clock-signal-for-delta-sigma

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

工具/软件:

您好:  

我的问题与位于 PRU-ICSSG 中的 Δ-Σ 滤波器调制器的时钟生成有关。 通常、正如我在 TI 提供的示例中看到的、此任务使用内部 ECAP APWM_OUT 或 IEP SYN_OUT0/1、并且 SD8_CLK 用作公共时钟输入。 但是、由于在硬件上我 CANNOUT 使用内部 ECAP 或 IEP 生成时钟、因此我计划使用"通用"ECAP 模块、如下图所示:

(SDFM 固件应在 ICSSG0的 PRU1内核中运行)

我的主要问题是、这是否可行? 如果可能、我的下一个问题是必须在 SysConfig 中配置什么-"SDFM 时钟配置"需要"ChannelX SDFM 时钟(Hz)"的值会让我感到麻烦-为什么由于 CLK 是在外部提供、因此必须定义一个值?

谢谢、

基督教

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

    你好  Christian

    感谢您的查询。

    我会审核意见、并在内部进行检查。

    此致、

    Sreenivasa.

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

    你好  Christian

    我正在将查询分配给专家以支持。

    此致、

    Sreenivasa.

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

    尊敬的 Christian:

    是的、这是可能的。 您需要在 SysConfig 中配置以下各项:

    SDCLK 生成自:无

    SDFM 时钟配置:

    • ChannelX SDCLK Source:将源设置为相应的通道时钟。
    • ChannelX SDFM 时钟(Hz):SD 时钟值(等于生成的时钟)。

     

    Unknown 说:
    为什么必须定义一个值、因为 CLK 是在外部提供的?

    此值在 SDFM 固件中用于配置 IEP CMP4事件。 IEP CMP4事件负责确定正常电流的时序。

    有关更多详细信息、请参阅 SDFM 固件实施: AM243x 电机控制 SDK:SDFM 接口设计   

    此致、

    Achala Ram

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

    您好、Achala、

    感谢您的回答。 可悲的是,这并没有完全解决我的问题。 我使用 AMC1306作为外部带分流电阻器的 Δ-Σ 调制器进行电流测量。 然而、如果我向分流电阻器施加恒定电流、则如果更改 ChannelX SDFM 时钟(Hz)、所需的(原始)样本值会发生显著变化。 这种情况怎么可能(在电流恒定的情况下、该值理论上不应产生影响)?  

    谢谢、

    基督教

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但是、如果我对分流电阻应用恒定电流、则如果更改 ChannelX SDFM 时钟(Hz)、所需的(原始)样本值会发生显著变化。 这种情况怎么可能(在电流恒定的情况下、该值理论上不应产生影响)?  [/报价]

    在 ICSS PRU 中、Σ-Δ sinc 滤波是通过 PRU 硬件和固件的组合实现的。 PRU 硬件提供的硬件集成商可执行 sinc 滤波的累积部分、而差异部分在固件中处理。

    如前所述、ChannelX SDFM 时钟(Hz)值用于配置 IEP CMP4事件、该事件负责采样时序。 触发 CMP4事件时、固件会读取累加器输出。 如果您看到该文档、每次之后都会为下一个样本更新 CMP 事件。 此更新取决于 Σ-Δ 时钟、OSR 和 sinc 滤波器参数。 如果您更改 Σ-Δ 时钟值、固件将在不同时间读取累加器输出、从而导致累加器缓冲器的值不匹配、且差分缓冲器也具有不同 OSR (所需的 OSR)的值。 这将导致相同样本数据的累积和微分 OSR 不会对齐的问题

       

    此致、

    Achala Ram

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

    您好、Achala、

    感谢您的回答。 根据您的解释、我更了解过滤/固件、但尚未完全完成。 我希望您能再次帮助我解决我的具体情况。 在使用(一般) ECAP 的情况下、我生成一个用于外部调制器(AMC1306)的时钟信号、并单独提供给每个通道(SD0_CLK、SD1_CLK)。 ECAP 配置为生成20 MHz 的时钟信号、但由于计算寄存器/比较值非常小、我测量到大约19 MHz 的信号。 如果不进行测量、我还会在 SysConfig 中为 ChannelX SDFM 时钟设置20MHz。 我的问题:偏差是否相关?  

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

    SDFM 配置为根据预期时钟频率(20 MHz)处理 NC 采样。 实际时钟频率与配置的频率不匹配可能会导致滤波不准确。 之所以会发生这种情况、是因为实际时钟值的差异、固件会在比预期时间范围更早或更晚的时间范围读取累加器输出。 您需要在 SysConfig 中将 ChannelX SDFM 时钟配置为等于实际时钟频率(19MHz)。

    此致、

    Achala Ram

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

    您好、Achala、

    感谢您的回答。 他不是一个潜在的问题吗? 根据外部影响(如温度)、生成的时钟信号会偏离原始值。 实际时钟与 ChannelX SDFM 时钟配置时钟值之间的偏差可能会导致不匹配。 此外、如果计算出的寄存器/比较值非常小、高时钟速率将成为潜在问题、从而导致偏差。 是否有容差裕度? 如果生成的时钟信号的频率为19.7 MHz、并且在 syscfg 中为 ChannelX SDFM 时钟配置20 MHz、会发生什么情况?

    提前感谢、

    基督教

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果生成的时钟信号的频率为19.7 MHz、并且在 syscfg 中将20 MHz 配置为 ChannelX SDFM 时钟、会发生什么情况?

    您能否指定所使用的电机控制 SDK 的版本?

    此致、

    Achala Ram

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

    您好、Achala、

    我正在使用版本09.02.00

    您好、

    基督教

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

    是的、当 SD 时钟不稳定或存在抖动和变化时、采样值将不正确。 这是因为 CMP4将基于 ChannelX SDFM 时钟(20MHz)进行配置、因此对于接下来的采样、CMP4将在960个 IEP 计数(IEP @300MHz、64 OSR)后触发。 但是、如果实际时钟频率偏离配置的  ChannelX SDFM 时钟(20MHz)、则实际采样时间范围将发生变化。 例如、如果实际时钟频率为20.5MHz、则对于正确的采样固件、应在937个 IEP 计数后读取。 但是、ChannelX SDFM 时钟配置为20MHz、固件将在960个 IEP 计数后读取样本。 这将导致样本值不正确的问题  

    是否使用过流进行错误检测?

    我们有另一种正常电流采样的模式/实现、可以处理此类情况、这不依赖于 SD 时钟和 IEP CMP4进行采样。 此模式在当前 SDK 版本中不可用、但将包含在下一个 SDK 版本中。

    感谢与关注、

    Achala Ram

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

    您好、Achala、

    感谢您的回答! 我对不依赖 SD 时钟和 IEP CMP4进行采样的模式非常感兴趣。 您能告诉我、包括此实现的新 SDK 版本何时发布?  

    是的、我计划将过流检测和快速过流检测用于我的应用。

    您的答案给我带来了一个更加严重的问题:如果(当前)从配置的 ChannelX 和实际时钟断电是一个潜在问题、那么最好通过单个 ECAP 提供两个 Δ-Σ 模块。 在硬件中实现这一点的最佳方法是什么? 时钟分配模块可能会再次导致延迟/推导。 有任何疑问吗?

    提前感谢、

    基督教

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回答! 我对不依赖 SD 时钟和 IEP CMP4进行采样的模式非常感兴趣。 您能告诉我、包括此实现的新 SDK 版本何时发布?  [/报价]

    该计划将于本月底推出!

    是的、我计划将过流检测和快速过流检测用于我的应用。

    您能否分享过流和快速过流的用例? 您要为应用使用什么 OSR、SD 时钟和通道数?

    使用另一个版本的 SDFM 时、过流存在一些限制。 如果您同意 sdfm 的要求、我可以建议一种可能的解决方案

    此致、

    Achala Ram  

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

    尊敬的 Achale:

    感谢您的回答。 进一步考虑了 AM243x 的技术文档后、我认为没有办法调整引脚映射/硬件布局、从而使 Δ-Σ 电流测量(包括过流测量和快速检测)正常工作。 请参见所附的整个建议电路的方框图。 如果可能的话、我希望您提供反馈、或者您有改进建议。

    (外部)Δ-Σ 将在时钟频率为20MHz 的情况下工作。 通道0和1将用于电流测量(SINC3、OSR=64 (或128)、另外两个通道用于温度测量。  

    我有的另一个重要问题是、由于我想使用跳闸事件来自动关闭 ePWM、因此映射/用法也是正确的。 由于 ePWM 无法直接访问跳闸区事件、因此这些信号必须通过 PWM_TZ_OUT 从外部路由到 EHRPWM_TZn_IN0。 AM243x 的数据表指出、TZ_OUT 处于高电平有效状态、TZ_IN 处于低电平有效状态。 这意味着必须在硬件中执行电平反转、以使 ePWM 的自动终止工作正常。 这是正确的、还是有其他解决方案?

    提前感谢、

    基督教

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这意味着必须在硬件中执行电平反转、以便 ePWM 的自动终止能够正常工作。 这是正确的、还是有其他解决方案?

    没有其他方法;只能由外部硬件处理

    此致、

    Achala Ram