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.

[参考译文] PROCESSOR-SDK-AM62X:将 ECAP 用作 APWM

Guru**** 2539500 points
Other Parts Discussed in Thread: AM625

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1133923/processor-sdk-am62x-using-ecap-as-apwm

器件型号:PROCESSOR-SDK-AM62X
主题中讨论的其他器件:AM625

尝试在 AM62x 平台上将 eCAP1驱动程序用作 APWM (BSP-08_03_00_19)  

在 执行回显以启用时抛出错误"无器件"  

如何在 APWM 模式下为 AM62x 平台使用 eCAP 驱动程序?

在 DTB 中,仅启用 eCAP1和 ecap0,禁用所有其他节点

根据您的文档  

  •   当配置为 APWM 模式时、ECAP 模块提供单个 PWM 输出通道预实例

那么,如何将其配置为 APWM 模式?  

-Nagendra  

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

    您好、Nagendra、

    要确认、您使用的是 AM62x SK 电路板、对吧?

    当我转至 AM62x Linux 处理器 SDK 8.3 board-support/linux-x.x.x.x/arch/arm64/boot/dts/ti/k3-am625-SK.dts 时、我看到默认情况下所有 ePWM 和 ecaps 均处于禁用状态:

    &epwm0 {
            status = "disabled";
    };
    
    &epwm1 {
            status = "disabled";
    };
    
    &epwm2 {
            status = "disabled";
    };
    
    &ecap0 {
            status = "disabled";
    };
    
    &ecap1 {
            status = "disabled";
    };
    
    &ecap2 {
            status = "disabled";
    };
    

    因此、在您修改 DTS 文件以启用这些实例、重新构建 DTB 文件之前、我不希望您在 EVM 板上的/sys/class/pwm 下看到任何 PWM 或 ECAP 实例、 然后将新的 DTB 文件放入 EVM 的 Linux 文件系统中的/boot/下(我通常会将原始 DTB 文件重命名为 K3-am625-SK.dtb.orig、以便于使用)。

    如果您已经修改了器件树文件、当您搜索 PWM 目录时、您在电路板上看到了什么?
    # ls  /sys/class/pwm

    此致、

    Nick

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

    您好 Nick

    是的、我在 DTS 文件中启用了它的 eCAP1驱动程序。 我使用的是定制 AM625 HW

    我可以使用以下命令启用 eCAP1器件的 PWM  

    echo 0 >/sys/class/pwm/pwmchip0/export (这会创建 pwm0节点,但 echo 1抛出错误)  
    echo 900000000 >/sys/class/pwm/pwmchip0/pwm0/period
    Echo 30000000 >/sys/class/pwm/pwmchip0/pwm0/duty_cycle
    Echo 1 >/sys/class/pwm/pwmchip0/pwm0/enable  

    现在,问题是 PWM 频率为10Hz,我无法增加频率,我需要最低1kHz  

    是否有任何限制?

    -Nagendra  

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

    您好、Nagendra、

    请参阅 https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/08_03_00_19/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/PWM.html 

    如果 您从$ cat /sys/class/pwm/pwmchip5/npwm 获得1作为输出,则这意味着该 PWM 实例上只有一个通道。 回波0应导出第一个通道、如果有第二个通道、则回波1应导出第二个通道、等等

    您是否尝试禁用 ECAP 实例、然后更改周期、然后重新启用 ECAP 实例? 我不确定在周期值更新时、如果启用了 ECAP、信号周期是否会改变。

    此致、

    Nick