mxca154 pwm fault配置问题

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

mxca154 pwm fault配置问题

981 Views
1668834026
Contributor I

hello。想问下为什么必须要配置pwm的fault输出。不配置无法输出。

PWM_SetupFaults,PWM_SetupFaultDisableMap这两个函数的作用是什么?

这几个枚举量代表什么含义?

/*! @brief List of PWM fault disable mapping selections */
typedef enum _pwm_fault_disable
{
    kPWM_FaultDisable_0 = (1U << 0), /*!< Fault 0 disable mapping */
    kPWM_FaultDisable_1 = (1U << 1), /*!< Fault 1 disable mapping */
    kPWM_FaultDisable_2 = (1U << 2), /*!< Fault 2 disable mapping */
    kPWM_FaultDisable_3 = (1U << 3)  /*!< Fault 3 disable mapping */
} pwm_fault_disable_t;

 

 

Labels (3)
0 Kudos
Reply
5 Replies

926 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @1668834026 

PWM_SetupFaults()  配置 fault 输入本身的行为。

PWM_SetupFaultDisableMap() 配置 哪些 fault 可以关闭哪个 PWM 输出。

 

/*! @brief List of PWM fault disable mapping selections */
typedef enum _pwm_fault_disable
{
    kPWM_FaultDisable_0 = (1U << 0), /*!< Fault 0 disable mapping */
    kPWM_FaultDisable_1 = (1U << 1), /*!< Fault 1 disable mapping */
    kPWM_FaultDisable_2 = (1U << 2), /*!< Fault 2 disable mapping */
    kPWM_FaultDisable_3 = (1U << 3)  /*!< Fault 3 disable mapping */
} pwm_fault_disable_t;

你可以参考用户手册31.5.17
Fault Disable Mapping Register 0 (SM0DISMAP0 - SM2DISMAP0)

Snipaste_2026-04-09_18-39-09.png

 DISMAP 寄存器里的对应 bit = 1 是软件明确允许这个 FAULT 去关闭 PWM 输出。

BR

Harry

 

0 Kudos
Reply

883 Views
1668834026
Contributor I

hello,可以看下帖子后面的几个问题嘛

0 Kudos
Reply

880 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @1668834026 

好的,我查看后回复您。

BR

Harry

0 Kudos
Reply

899 Views
1668834026
Contributor I

hello,继续请教几个问题

1. flexpwm有四个fault输入。四个输入分别是什么?并且使用pwm都必须配置完四个fault吗?

/*! @brief List of PWM fault selections */
typedef enum _pwm_fault_input
{
    kPWM_Fault_0 = 0U, /*!< Fault 0 input pin */
    kPWM_Fault_1,      /*!< Fault 1 input pin */
    kPWM_Fault_2,      /*!< Fault 2 input pin */
    kPWM_Fault_3       /*!< Fault 3 input pin */
} pwm_fault_input_t;

 

2.pwm_fault_param_t中有个变量是enableCombinationalPath,设置完fault后需要使能这个变量才生效吗?如果不使能会不会导致pwm不能输出。

/*! @brief Structure is used to hold the parameters to configure a PWM fault */
typedef struct _pwm_fault_param
{
    pwm_fault_clear_t faultClearingMode;   /*!< Fault clearing mode to use */
    bool faultLevel;                       /*!< true: Logic 1 indicates fault;
                                                false: Logic 0 indicates fault */
    bool enableCombinationalPath;          /*!< true: Combinational Path from fault input is enabled;
                                                false: No combination path is available */
    pwm_fault_recovery_mode_t recoverMode; /*!< Specify when to re-enable the PWM output */
} pwm_fault_param_t;

 

0 Kudos
Reply

758 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @1668834026 

1. 

/*! @brief List of PWM fault selections */
typedef enum _pwm_fault_input
{
    kPWM_Fault_0 = 0U, /*!< Fault 0 input pin */
    kPWM_Fault_1,      /*!< Fault 1 input pin */
    kPWM_Fault_2,      /*!< Fault 2 input pin */
    kPWM_Fault_3       /*!< Fault 3 input pin */
} pwm_fault_input_t;

这 4 个 fault 并不是 4 种不同功能的 fault,而是:4 路等价、独立的“硬件 fault 输入通道”

2. “pwm_fault_param_t中有个变量是enableCombinationalPath,设置完fault后需要使能这个变量才生效吗?如果不使能会不会导致pwm不能输出。”

Snipaste_2026-04-13_18-01-02.png

请查看该寄存器,enableCombinationalPath 只影响 fault 的生效方式,不影响 PWM 是否能输出。

BR

Harry

 

 

0 Kudos
Reply