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.

[参考译文] AM2634:SDFM EPWM 同步 CPU 读取示例问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1524936/am2634-sdfm-epwm-sync-cpu-read-example-issues

器件型号:AM2634
主题中讨论的其他器件:TMDSCNCD263AMC1306EVM

工具/软件:

大家好!

我正在尝试 在 tmdscncd263 控制卡上运行 SDFM EPWM 同步 CPU 读取示例。

https://dev.ti.com/tirex/content/mcu_plus_sdk_am263x_10_01_00_31/docs/api_guide_am263x/EXAMPLES_DRIVERS_SDFM_EPWM_SYNC_CPUREAD.html 

运行 CCS 版本 20.1.1 (20.1.466)、MCU SDK - MCU_PLUS_SDK_am263x_10_01_00_31。 我正在运行导入的工程而未进行修改。

https://github.com/TexasInstruments/mcupsdk-core/blob/next/examples/drivers/sdfm/sdfm_epwm_sync_cpuread/sdfm_epwm_sync_cpuread.c#L65 

我有一个 AMC1306EVM、它为 D0 供电和供电。 我已经确认该 IC 正在工作、因为当使用 PWM 波形作为时钟源时、我可以看到 DOUT 输出数字签名(见下文)。

我在这个项目上有 3 个问题:

  1. 如果我 在 CIO 中看到来自其他导入项目的 DebugP_LOG 消息、我在运行此项目时看不到这些消息。
    1.  在本地运行`screen`时、我可以看到一些 DebugP_log、但我从未看到启动消息
      1. DebugP_log(“SDFM EPWM 同步 CPU 读取测试已启动...\r\n“);
        DebugP_log(“请等待%d 秒...\r\n“、APP_RUN_TIME);
    2. 我从`screen 看到了以下内容
      1. SDFM ISR 计数:0
        调制器故障
      2. (重复)
  2. 将 示波器连接到 HSEC 引脚 72 (SDFM0_CLK0) 时、我看不到任何波形。
    1. 在示例代码中似乎不能正确启用时钟。
    2. 我确实需要输出时钟工作、我不能依赖 PWM 输出作为时钟源。
  3. 如果我将 EPWM HSEC 引脚 51 输出插入我的 SDFM AMC1306EVM 作为时钟源、我确实会看到 SDFM IC 在 DOUT 上输出数字签名。
    1. 但 Sitara 似乎无法接收 D0 数据结果或对其进行处理。
    2.  sdFMISR1 函数似乎没有触发(在调试期间使用断点确认)。
      1. 这是否是未配置 int_xbar 的结果?

并快速观察

  •  已配置 SDFM_FILTER_2、3、4 的时钟源、但看起来并非为 1。 这是有目的的吗? 如果是、原因是什么?
  • 注意、我添加了一条配置 SDFM_FILTER_1 的行、无法解决上述问题。
  • github.com/.../sdfm_epwm_sync_cpuread.c

感谢您的任何帮助! 我的用例需要尽快完成本主题。 如果有些专家不介意查看或重新运行示例代码、那将是令人难以置信的。

感谢您发送编修。

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

    嗨、Justin、

    我已经邀请了一位软件专家、审核了您的问题以及 SDFM 示例实现。 请留出一些时间让 他们查看并提供反馈。

    此致、

    Zackary Fleenor

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

    尊敬的 Justin:

    1. SDFM0_CLK0 不是输出引脚、而是输入引脚、必须馈到时钟、这可解决调制器故障问题。
    2. DebugP_LOG、如果为 UART 和 CCS 日志启用了 DebanP_LOG、请参阅 syscfg。 您将看到已启用 CCS 日志的控制台日志和已启用 UART 日志的终端日志。
    3. 中断未触发可能是由于时钟不存在。  

    请尝试这些并告诉我!  

    谢谢。此致、

    Madhava.

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

    尊敬的 Madhava:

    感谢您的答复。 了解  SDFM0_CLK0 是时钟输入后、我们查看了所有的 SDFM 文档和实验图、并更好地了解外设。

    此外、实验中的 example.syscfg 未配置 Debug Log -> Enable CCS Log。 配置完成后、我确实看到了控制台消息。 谢谢!

    我们现在还知道、我们的 SDFM IC EVM (AMC1306) 需要一个输入时钟。 而其对应器件 AMC1303 具有 时钟输出。


    再次强调、我们今天使用的是 AMC1306 EVM。 如今、正如示例所示、我们仅使用单个 AMC1306、而不是 4。

    当我运行示例代码并 向 ACM1306 CLKIN 提供 HSEC 引脚 51(由 EPWM0_B 生成的时钟)时、我确实会看到 DOUT 生成数字波形、并在示波器上确认。

    如上图所示、我应该将 EPWM0_B 连接到 Sitara 上的 AMC1306-CLKIN 和 SDFM0_CLK0。 将  HSEC 引脚 51(由 EPWM0_B 生成的时钟)连接到 HSEC 引脚 72 (SDFM0_CLK0) 时、我会看到 EPWM0_B 的输出被拉至低电平、也会 导致 DOUT 的数字波形停止。

    重申一下、我按照示例中描述的方式配置了 TMDSCNCD263:

    • HSEC 引脚 51(由 EPWM0_B 生成的时钟)到 HSEC 引脚 72 (SDFM0_CLK0) 和 ACM1306 CLKIN
    • ACM1306 D0UT 至 HSEC 引脚 91 (SDFM0_D0)
    • (如示例所示,我们不为 SDFM0_D1、 SDFM0_D2、 SDFM0_D3 提供输入)

    当然、来自 Sitara 的终端上的消息仍显示`MOdulator failure`。

    我不认为仅提供 SDFM0_D0 而不是全部 4 个便会导致该问题。 我通过注释掉 SDFM0_D1、SDFM0_D2、 SDFM0_D3 的初始化来确认这一点 、并且仍然会出现相同的问题。

    我们尝试了另外两件事:

    • 将 ePWM2 设置为与 ePWM0(时钟 EPWM)完全相同、将 ePWM0 馈送到 AMC1306 CLKIN、将 ePWM2 馈送到 SDFM0_CLK0。 当 ePWM2 连接到 SDFM0_CLK0 时、它会被拉至低电平。
    • 将 EPWM 速率降低到 50kHz。  AMC1306 DOUT 仍显示数据输出。 当 ePWM0 连接到 SDFM0_CLK0 时、该引脚被拉至低电平。

    感谢您提供任何帮助。 希望这能缩小事情的范围。

    谢谢!

     

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

    尊敬的 Justin:

    感谢您尝试这些配置、我非常高兴您尝试了这些配置、并提供了您对故障的理解和预期!  

    1. 您能否看到 SDFM0_CLK0 是否偶然接地或保持在高电平?
      1. 原因-  
        1.  ePWM 输出会生成时钟、仅连接到 ACM1306 时、ACM1306 会生成 DOUT。
        2. 但当 EPWM 输出 也连接到 SDFM0_CLK0 时、该时钟不存在。
        3. 这可能意味着 SDFM0_CLK0 引脚短路、可能会破坏时钟。  
      2. 在 soc 配置中、有其他机会
        1. 在 SDFM 的 syscfg 中、检查 SDFM 的引脚多路复用是否设置为与 SDFM0_CLK0 B16 引脚不同的引脚。  

    SDFM0_CLK0 不应处于低电平状态、我目前正在尝试了解这种行为。 我相信,如果我们能够打破的原因,我们将能够使事情的工作。

    谢谢。此致、

    Madhava.

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

    尊敬的 Madhava:

    我想您是对的、  SDFM0_CLK0 引脚(B16 引脚)可能会在我的 EVM 板上短接。

    我尝试切换到 SDFM1、对 SDFM1_D0 使用引脚 100、对 SDFM1_CLK0 使用引脚 102、这样可以正常工作!

    (请注意,“AM263x Sitara ControlCARD 硬件用户指南(修订版 D)“上的文档错误、这些引脚的 SDFM 作用反转)

    我将尝试使用单独的 EVM Devkit、但看起来 SDFM 读数效果良好。

    感谢您的帮助!

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

    很棒的贾斯汀、和你的互动也很棒!  

    感谢您指出。 我们将尝试在用户指南中修复这个问题。  

    此致、
    Madhava.