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.

[参考译文] TMS570LC4357:我可以同步 PWM 输出和 N2HET 输出的开头(计数=0)吗?

Guru**** 2394015 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1374034/tms570lc4357-can-i-synchronize-the-beginning-count-0-of-both-the-pwm-outputs-and-the-n2het-outputs

器件型号:TMS570LC4357

工具与软件:

几个月前我问了这个问题,我终于回到调查。 使用 N2HET 环路同步作为 ePWM 的同步输入的问题在于、我的 N2HET 环路周期为~333ns、而我的 ePWM 周期为25us。  

为了尝试将 ePWM 和 N2HET 都设置为40kHz PWM 周期、N2HET 环路周期为~333ns、而 N2HET CNT 为75 (0到74)、但在此时钟速率下 ePWM TBPRD 为1875。

我要做的就是对齐 N2HET 和 ePWM 的开始(计数=0)、同时还允许每个外围设备进行完整的计数。 使用 N2HET 环路同步基本上每333ns 就会将 ePWM 复位为0、所以 ePWM 永远不会运行。

我能看到的唯一可能实现此目的的方法是使用 N2HET 来驱动 CNT=0处的外部引脚、该引脚短接至外部 ePWM1SYNCI、而 ePWM 将在该外部输入上同步? 您能想到另一个想法吗?

谢谢!

吉姆

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

    Jim、您好!

    [报价 userid="2713" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1374034/tms570lc4357-can-i-synchronize-the-beginning-count-0-of-both-the-pwm-outputs-and-the-n2het-outputs "]我要想做到这一点的唯一方法是使用 N2HET 来驱动 CNT=0处的外部引脚、该引脚短接至外部 ePWM1SYNCI、而 ePWM 将在该外部输入上同步? 您能想到另一个想法吗?

    我没有其他更好的建议方法。

    然而、为什么不使用 eCAP 模块生成 PWM 而不使用 NHET 呢? 因为我们可以轻松同步 ePWM 和 eCAP 模块。

    (+) TMS570LC4357:PWM -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    ——
    谢谢、此致、
    Jagadish。

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

    谢谢;我将了解 ECAP 的使用。

    另一个问题问:我可以从 CPU 重新启动 N2HET 吗?

    我的 N2HET 周期和 PWM-ISR 周期都是25us、因此在 PWM-ISR 中、我尝试了:
    GCR。 TO = 0 (关闭)
    等待 N2HET 周期完成
    更新所有 N2HET 边沿数据值
    设置 N2HET CNT 数据字段= 0
    GCR。 TO = 1 (开启)

    此后 N2HET 似乎不会重新启动;是否有方法可以将 N2HET CNT 复位为0
    然后重新启动它--每 N2HET PWM 周期?

    谢谢!

    吉姆

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

    Jim、您好!

    GCR.TO = 0 (关闭)
    等待 N2HET 周期完成
    更新所有 N2HET 边沿数据值
    设置 N2HET CNT 数据字段= 0
    GCR。 TO = 1 (开启)[/QUOT]

    此复位过程对我来说没问题。 我不知道为什么它不起作用。

    我可以让您的代码进行测试并查看如何设置归档的数据=0吗?

    ——
    谢谢、此致、
    Jagadish。

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

    Jagadish、

    感谢您提供该优惠、但我不允许发送代码。 我花了几个小时尝试将这一小部分功能提取到一个单独的项目中、这似乎是一项重要的任务。 我想我们将采用外部 PWM-SYNC 引脚。  

    谢谢!

    吉姆

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

    Jagadish、

    这个问题已经变得足够严重,我可能能够给你发送我的源代码,如果你的报价仍然有效。 如果是这样、我有没有办法在这个公共论坛之外把这段代码发送给你、以便只有你是接收者? 我还在通过这里的渠道看看我是否还能把它发送给你、但我知道只有在这个论坛之外才能做到这一点?  

    谢谢!

    吉姆

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

    Jim、您好!

    如果您的报价仍然有效。 如果是这样,我是否有办法在这个公共论坛之外把这个代码发送给你——以便只有你是收件人?[/报价]

    您可以通过私人聊天窗口发送、其他任何人都无法访问。

    我刚刚向您发送了一个朋友请求接受并发送私人消息。

    ——

    谢谢、此致、
    Jagadish。