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.

[参考译文] AM3358:eHRPWM 输出问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/661736/am3358-ehrpwm-output-issue

器件型号:AM3358

您好,

SDK: ti-processor-sdk-linux-rt-am335x-evm-03.03.00.04-Linux-x86-Install.bin

设备树:AM335x-bonebblack.dts  

pwm1正常使用,pwm2无信号输出。

设备树是否配置正确?

如何使 GPMC_ad9.ehrpwm2B 正常输出信号?  

按如下方式修改设备树:

ehrpwm2a_pins:pinmux_ehrpwm2a_pins{
  pinctrl-single、pins =<
    AM33XX_IOPAD (0x820、PIN_OUTPUT | MUX_Mode4)/* GPMC_ad8.ehrpwm2A *
  >;
};

ehrpwm2b_pins:pinmux_ehrpwm2b_pins{
   pinctrl-single、pins =<
    AM33XX_IOPAD (0x824、PIN_OUTPUT | MUX_Mode4)/* GPMC_ad9.ehrpwm2B *
   >;
};

epwms1{(&E)
  状态="正常";
};

ehrpwm1{(&E)
  状态="正常";
  pinctrl-names ="default";
  pinctrl-0 =<&ehrpwm2a_pines>;
};

epwms2{(&E)
  状态="正常";
};

ehrpwm2{(&E)
  状态="正常";
  pinctrl-names ="default";
  pinctrl-0 =<&ehrpwm2b_pines>;
};

BR

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

    您好 Andre、

    请使用以下语法:

    epwmss2{
    status ="确定";
    
    ehrpwm2:PWM@48304200{
    status ="确定";
    pinctrl-names ="默认值";
    pinctrl-0 =<&ehrpwm2b_pines>;
    };
    }; 

    此致、
    Kemal

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

    感谢你的答复。

    ehrpwm2b_pins:pinmux_ehrpwm2b_pins{
    pinctrl-single、pins =<
    AM33XX_IOPAD (0x824、PIN_OUTPUT | MUX_Mode4)/* GPMC_ad9.ehrpwm2B *
    >;
    };

    epwms2{(&E)
    状态="正常";

    ehrpwm2:PWM@48304200{
    状态="正常";
    pinctrl-names ="default";
    pinctrl-0 =<&ehrpwm2b_pines>;
    };
    };

    遵循上述配置、但 ehrpwm2b_pins 仍然无法使用。
    用户模式配置如下:

    echo 0 >/sys/class/pwm/pwmchip0/export
    Echo 2000000 >/sys/class/pwm/pwmchip0/pwm0/period
    Echo 500000 >/sys/class/pwm/pwmchip0/pwm0/duty_cycle
    Echo 1 >/sys/class/pwm/pwmchip0/pwm0/enable

    如何启用 GPMC_ad9.ehrpwm2B 引脚的 PWM 功能?


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

    这些命令将使 pwm2输出信号:

    Echo 1 >/sys/class/pwm/pwmchip2/export
    Echo 2000000 >/sys/class/pwm/pwmchip2/pwm1/period
    Echo 500000 >/sys/class/pwm/pwmchip2/pwm1/duty_cycle
    Echo 1 >/sys/class/pwm/pwmchip2/pwm1/enable

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

    感谢你的答复。

    ehrpwm2A 和 ehrpwm2B 引脚可单独使用。

    例如:
    epwms2{(&E)
    状态="正常";

    ehrpwm2:PWM@48304200{
    状态="正常";
    pinctrl-names ="default";
    pinctrl-0 =<&ehrpwm2b_pines>;
    };
    };

    我需要使用 ehrpwm2:PWM@48304200来控制 ehrpwm2A 和 ehrpwm2B 引脚。

    如何配置设备树?

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

    使用此项:

    epwms2{(&E)
    状态="正常";

    ehrpwm2:PWM@48304200{
    状态="正常";
    pinctrl-names ="default";
    pinctrl-0 =<&ehrpwm2a_pins &ehrpwm2b_pins;
    };
    };

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

    感谢你的答复。
    现在、我可以控制 ehrpwm2A 和 ehrpwm2B 引脚。

    此致、
    Anre