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.

[参考译文] AM620-Q1:如何在 AM620-Q1上实现 M4F 控制 ePWM-SOCA 脉冲输出功能

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1489966/am620-q1-how-to-implement-m4f-control-epwm-soca-pulse-output-function-on-am620

器件型号:AM620-Q1
主题中讨论的其他器件:AM620-Q1SK-AM62-LP

工具/软件:

您好、团队

我想知道如何 在 AM620-Q1实现 M4F 控制 EPWM_SOCA 脉冲输出功能、但仍然没有 SOCA 输出。


背景:
CCS v12.8.1
开发板:SK-AM62-LP
MCU + SDK AM62x_10_01_00_33


M4F 项目、基于示例中的 ePWM 占空比
更改:

结果

推测:

根据 TRM 中的说明、EPWM_ETSEL 中应有一个专用于 SOCASEL 的位、但 TRM 中相应寄存器的说明中没有相关位、并且在 API 列表中未找到相关的输入参数。 请帮助澄清、谢谢

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

    您好、尝试 通过下面的寄存器位设置来控制 SOC A 和 SOC B 输出。

    下面的寄存器说明属于 AM64X SOC、AM64X 和 AM62X 器件中的 PWM IP 也相同。

    因此、请尝试启用这些位、看看是否能够在 SOCA 和 SOC B 引脚上看到脉冲。  

    谢谢你

    Paula

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

    您好、Paula

    您能否提供一些 API 来修改常规代码中的 SOCASEL 和 SOCBSEL 位?
    我在现有 API 列表中未找到任何相关的 API

    谢谢你

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

    您好、Paula

    单独使用 JTAG 修改 ETSEL 寄存器不会输出 soc A 和 SOCB 的波形。
    我尝试同时修改 ETPS 寄存器、

    结果如下:
    1. SOCA 输出的脉冲时间非常短、约为200ns (ePWM 基本时钟为250MHz、除以4)。 这对于我们的应用来说太短了。 我尝试将 EPWM 分频值修改为100、但该值保持不变。

    我的问题是:

    1.是否可以调整 SOCA 的脉冲宽度? 如何调整?

    2.在 TRM 中,SYSCLK 周期是什么意思? 如果 PWM 时钟为250MHz 且分频为4、则 SYSCLK 周期的值应该  是多少?

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

    嗨、Owens、让我从内部进行检查、然后返回给您

    谢谢您、

    Paula

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

    您好、验证的结果是什么?

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

    嗨、Owens、我与一位同事进行了检查、SOCA 脉冲无法在代码中延展、因为它是 PWM 内部的、并且是直接来自 PWM 的输出。  

    我们需要一些可访问从 PWM 生成的 SOCA 信号的其他外设来进一步延展该信号。  您是否可以使用 ETFLG 来生成和中断?

    您计划如何将 SOCA 连接到 ADC?

    谢谢您、

    Paula

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

    您好、Paula

    我们计划使用 MSPM0L 实现外部触发 ADC 采样的功能。
    物理连接:通过电阻器连接至 MSPM0L 的 IO 端口。
    -计时:
      ---至20wpm 的频率约为150kHz。
     ---预期的脉冲宽度为20wpm SOCA 为1us~2us
     -- MSPM0L IO 检测到上升沿,并对 ADC 多通道进行连续采样。

    您在上面提到了"使用 ETFLG 生成并中断"
    由于 ePWM 外设位于主域中、
    ePWM ET 中断达到 M4F 的延时时间是多少? 抖动范围有多大?
    2.跨域的 EPWM ET 中断能否稳定地触发 ISR? 它是否会受主域中 A53 CPU 负载的影响?
    3.如果选择 IO 向外部输出与 ETFLG 相关的中断、它应该在主域还是 MCU 域中?

    4. 你能提供一个演示的例子吗

    谢谢您、

    Owens

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

    您好 Owens

    我已经看了数据表. SOC A 和 SOC B 输出信号无法以用户可配置的频率(如1Use、2usec 或 xusec)驱动。

    您能否确认在您的用例中是否支持 PWMA 和 PWMB 输出信号?

    如果您使用的是 PWMA 输出信号,那么为什么不能使用 PWMB 来驱动2usec 信号。 因为 PWMA 和 PWMB 都使用相同的计时器运行并且它们同步。

    此致、

    Anil.

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

    您好  ( Paula Carrillo)、

    您能在我们这边重现测试吗?

     

     根据 Owen 的评论、如果我们将预分频器设置更改为 ePWM 模块、则应更改 SOCA 脉冲持续时间、但这不会改变。

     

    在此处、系统时钟为250MHz、对时钟进行分频后、系统时钟被更改、SOCA 脉冲持续时间也会改变。

    请在 CRO 而不是逻辑分析仪中捕获波形。

    此致、

    Anil.

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

    您好、Swargam

    我们需要根据使用6通道 PWM 输出(PWM0~3、PWM_A + PWM_B、用于 BLDC 电机控制)添加一个 SOCA 信号通道

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

    Owens、如果您可以共享用于获取示波器屏幕截图的项目和/或步骤、这将有助于我们重现它

    谢谢您、

    Paula

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

    您好 Owens

    如果您使用的是所有的 ePWM 模块,那么我们应该考虑使用 SOCA 或 SOCB 信号或手动 GPIO 触发器来启动外部 ADC 转换。

    GPIO 触发器:

    在150kHz 下触发 PWM 中断、并在 PWM ISR 中切换 GPIO 信号。

    方法2:

    调整 TBCLK (ON)周期以精确匹配 SOCA 信号的脉冲宽度。

    对于方法2、我们需要验证不同 TBCLK 周期下的 SOCA 脉冲行为。

    如果您有在 M4F 内核上运行的示例、请与我们分享。 Paula 可以执行测试并提供结果反馈。

    此致、

    Anil.

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

    您好、Swargam & Paula  

     下面是我的项目和步骤。

    e2e.ti.com/.../test_5F00_am62x_2D00_sk_2D00_lp_5F00_m4fss0.zip

    e2e.ti.com/.../meeting_5F00_04.mp4

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

    您好 Owens、

    我已经检查了我的侧边,你的观察是正确的。

    SOCA 脉冲主要取决于 SYSCLK、即250MHz、而不取决于预制值。

    使用此脉冲信号是否要从 MSP 设备启动 ADC?

    MSP 设备是否未检测到此 Ton 周期?

    为什么您不能使用控制 GPIO?

    此致、

    Anil.

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

    您好、Swargam

    "为什么您不能使用控制 GPIO?"

    由于我们无法在手册中找到有关跨域中断响应延迟和抖动的数据、因此我们希望尽可能减少跨域 ISR 中断。 您能否提供这些数据?

    "SOCA 脉冲主要取决于 SYSCLK、即250MHz、而不依赖于预制值。"

    然后、我们使用此120ns 脉冲宽度、并添加其他电路来增加 soc 脉冲的脉冲宽度。 您能否提供 API 来修改与 SOCA 相关的 SOCASEL 和 ETPS 位?

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

    您好 Owens、

    [引述 userid="525901" url="~/support/processors-group/processors/f/processors-forum/1489966/am620-q1-how-to-implement-m4f-control-epwm-soca-pulse-output-function-on-am620/5754787 #5754787"]

    使用此脉冲信号是否要从 MSP 设备启动 ADC?

    MSP 设备是否未检测到此 Ton 周期?

    [/报价]

    您能否提供上述查询的答案?

    需要多少 Ton 周期?为什么?

    然后我们使用此120ns 脉冲宽度并添加其他电路来增加 soc 脉冲的脉冲宽度。 您能否提供 API 来修改与 SOCA 相关的 SOCASEL 和 ETPS 位?

    当然、我们可以为上述实现提供 API。

    Paula Carrillo,请提供 API 来实现上述逻辑。

    此致、

    Anil.

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

    您好、Swargam

    [引述 userid="525901" url="~/support/processors-group/processors/f/processors-forum/1489966/am620-q1-how-to-implement-m4f-control-epwm-soca-pulse-output-function-on-am620/5756591 #5756591"]

    使用此脉冲信号是否要从 MSP 设备启动 ADC?

    MSP 设备是否未检测到此 Ton 周期?

    [/报价]

    是的。  

    我们使用 MSP 的 mspm0L interad。

    脉冲间隔约为150kHz (可根据 PWM 周期进行调整)。 建议脉冲宽度约为2us

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

    Owens、我们没有用于在 AM62x MCU+SDK 中启用/配置 SOCA 的 API。 但是、我们有不同器件(AM63Px)的情况、因此我们可以从那里借用器件


    https://github.com/TexasInstruments/mcupsdk-core/tree/next/source/drivers/epwm/v1 

    EPWM_enableADCTrigger () https://github.com/TexasInstruments/mcupsdk-core/blob/next/source/drivers/epwm/v1/etpwm.h#L6232 

    eMp_disableADCTrigger () https://github.com/TexasInstruments/mcupsdk-core/blob/next/source/drivers/epwm/v1/etpwm.h#L6265 

    EPWM_setADCTriggerSource () https://github.com/TexasInstruments/mcupsdk-core/blob/next/source/drivers/epwm/v1/etpwm.h#L6315 

    EPWM_setADCTriggerEventPrescale () https://github.com/TexasInstruments/mcupsdk-core/blob/next/source/drivers/epwm/v1/etpwm.h#L6462 

    EPWM_ADCStartOfConversionType: https://github.com/TexasInstruments/mcupsdk-core/blob/next/source/drivers/epwm/v1/etpwm.h#L1283 

    EPWM_ADCStartOfConversionSource: https://github.com/TexasInstruments/mcupsdk-core/blob/next/source/drivers/epwm/v1/etpwm.h#L1317C3-L1317C34 

    谢谢您、

    Paula

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

    您好、Paula

      编译器无法识别这些宏。

      我添加了以下.h 文件。

     哪个文件应包含这些宏的定义?

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

    您好 Owens、

    MCU 内核具有专用计时器、支持 PWM 生成。

    因此、我假设使用该计时器可以驱动 PWM 信号。

    在您的用例中、您需要将 Ton 周期驱动为2usec、将周期驱动为6.6usec。

    该解决方案是否适合您?

    此致、

    Anil.

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

    您好、 Swargam & Paula

    我已根据此 API 配置了 EPWM -SOCA、可以输出120ns 波形。 如果有任何问题、请专家查看。

    图像显示了函数调用
    压缩包显示了 API 实现

    e2e.ti.com/.../user_5F00_soca_5F00_driver.zip

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

    嗨、Owens、我们将在一天或两天内查看并回复您

    谢谢您、

    Paula

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

    嗨、Owens、对 ePWM 驱动程序进行的添加 SOCA 的更改对我来说很好。 我检查了您的代码与 TRM。

    我认为很小的误差是:

    define PWMSS_EPWM_ETPS_SOCACNT_SHIFT                           (8U)
    我认为名称应该是 PWMSS_EPWM_ETPS_SOCAPRD_SHIFT 、这是位于 ETPS 的8位中的字段  
    谢谢您、
    Paula
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Paula

    感谢您指出问题。 代码修改如下

     

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

    您好 Owens、

    [引述 userid="525901" url="~/support/processors-group/processors/f/processors-forum/1489966/am620-q1-how-to-implement-m4f-control-epwm-soca-pulse-output-function-on-am620/5759510 #5759510"]

    在您的用例中、您需要将 Ton 周期驱动为2usec、将周期驱动为6.6usec。

    该解决方案是否适合您?

    [/报价]

    请确认上述建议是否适合您?

    此致、

    Anil.

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

    嗨、Swargam  

      我们的要求是将脉冲的上升沿与 PWM 的 PD 事件对齐。 根据我的理解、PWM 计时器方法与另一种方法类似:直接控制 PWM ISR 中的 GPIO。 这两种方法都涉及跨域中断延迟和抖动。 现在这些数据丢失了。

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

    亲爱的欧文斯。

    好的、请告诉我们您将采用哪种解决方案。  

    非常感谢!

    Yong

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

    你好、勇

     我们的解决方案如下

    我们使用此120ns 脉冲宽度并添加其他电路来增加 soc 脉冲的脉冲宽度
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的欧文斯

    好的、那么我们可以关闭这个 TT、对吧?

    非常感谢!

    Yong

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

    你好、勇

     是的、你是对的