mxca154 pwm fault配置问题

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

mxca154 pwm fault配置问题

1,042 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

988 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

945 Views
1668834026
Contributor I

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

0 Kudos
Reply

942 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @1668834026 

好的,我查看后回复您。

BR

Harry

0 Kudos
Reply

961 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

820 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
%3CLINGO-SUB%20id%3D%22lingo-sub-2346863%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3Emxca154%20pwm%20fault%20configuration%20issue%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2346863%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3Ehello.%20would%20like%20to%20ask%20why%20it%20is%20necessary%20to%20configure%20pwm%20for%20fault%20output.%20It%20is%20not%20possible%20to%20output%20without%20configuring%20it.%3C%2FP%3E%3CP%3EWhat%20are%20the%20functions%20PWM_SetupFaults%2C%20%3CSPAN%3EPWM_SetupFaultDisableMap%3C%2FSPAN%3E%3F%3C%2FP%3E%3CP%3EWhat%20do%20these%20enumerated%20quantities%20mean%3F%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%2F*!%20%40brief%20List%20of%20PWM%20fault%20disable%20mapping%20selections%20*%2F%0Atypedef%20enum%20_pwm_fault_disable%0A%7B%0A%20%20%20%20kPWM_FaultDisable_0%20%3D%20(1U%20%26lt%3B%26lt%3B%200)%2C%20%2F*!%26lt%3B%20Fault%200%20disable%20mapping%20*%2F%0A%20%20%20%20kPWM_FaultDisable_1%20%3D%20(1U%20%26lt%3B%26lt%3B%201)%2C%20%2F*!%26lt%3B%20Fault%201%20disable%20mapping%20*%2F%0A%20%20%20%20kPWM_FaultDisable_2%20%3D%20(1U%20%26lt%3B%26lt%3B%202)%2C%20%2F*!%26lt%3B%20Fault%202%20disable%20mapping%20*%2F%0A%20%20%20%20kPWM_FaultDisable_3%20%3D%20(1U%20%26lt%3B%26lt%3B%203)%20%20%2F*!%26lt%3B%20Fault%203%20disable%20mapping%20*%2F%0A%7D%20pwm_fault_disable_t%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2346863%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EMCXA%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMCXC%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMotor%20Control%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2348350%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20mxca154%20pwm%20fault%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2348350%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F82805%22%20target%3D%22_blank%22%3E%401668834026%3C%2FA%3E%20%3C%2FP%3E%0A%3CP%3EPWM_SetupFaults()%20configures%20the%20behavior%20of%20the%20fault%20input%20itself.%3C%2FP%3E%0A%3CP%3EPWM_SetupFaultDisableMap()%20configures%20which%20faults%20can%20disable%20which%20PWM%20output.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CPRE%20class%3D%22lia-code-sample%20%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%2F*!%20%40brief%20List%20of%20PWM%20fault%20disable%20mapping%20selections%20*%2F%0Atypedef%20enum%20_pwm_fault_disable%0A%7B%0A%20%20%20%20kPWM_FaultDisable_0%20%3D%20(1U%20%26lt%3B%26lt%3B%200)%2C%20%2F*!%26lt%3B%20Fault%200%20disable%20mapping%20*%2F%0A%20%20%20%20kPWM_FaultDisable_1%20%3D%20(1U%20%26lt%3B%26lt%3B%201)%2C%20%2F*!%26lt%3B%20Fault%201%20disable%20mapping%20*%2F%0A%20%20%20%20kPWM_FaultDisable_2%20%3D%20(1U%20%26lt%3B%26lt%3B%202)%2C%20%2F*!%26lt%3B%20Fault%202%20disable%20mapping%20*%2F%0A%20%20%20%20kPWM_FaultDisable_3%20%3D%20(1U%20%26lt%3B%26lt%3B%203)%20%20%2F*!%26lt%3B%20Fault%203%20disable%20mapping%20*%2F%0A%7D%20pwm_fault_disable_t%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3EYou%20can%20refer%20to%20the%20user%20manual%2031.5.17%20%3CBR%20%2F%3EFault%20Disable%20Mapping%20Register%200%20(SM0DISMAP0%20-%20SM2DISMAP0)%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Snipaste_2026-04-09_18-39-09.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-09_18-39-09.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-09_18-39-09.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-09_18-39-09.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-09_18-39-09.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-09_18-39-09.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F381751i99265B353DD9829B%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Snipaste_2026-04-09_18-39-09.png%22%20alt%3D%22Snipaste_2026-04-09_18-39-09.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%E2%80%83The%20corresponding%20bit%20%3D%201%20in%20the%20DISMAP%20register%20is%20an%20explicit%20software%20permission%20for%20this%20FAULT%20to%20turn%20off%20the%20PWM%20output.%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3EHarry.%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2349273%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20mxca154%20pwm%20fault%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2349273%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F82805%22%20target%3D%22_blank%22%3E%401668834026%3C%2FA%3E%20%3C%2FP%3E%0A%3CP%3EOk%2C%20I'll%20check%20it%20out%20and%20get%20back%20to%20you.%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3EHarry.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2348791%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20mxca154%20pwm%20fault%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2348791%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3Ehello%2C%20keep%20asking%20a%20few%20questions!%3C%2FP%3E%3CP%3E1.%20flexpwm%20has%20four%20fault%20inputs.%20What%20are%20the%20four%20inputs%3F%20And%20do%20I%20have%20to%20configure%20all%20four%20faults%20to%20use%20pwm%3F%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%2F*!%20%40brief%20List%20of%20PWM%20fault%20selections%20*%2F%0Atypedef%20enum%20_pwm_fault_input%0A%7B%0A%20%20%20%20kPWM_Fault_0%20%3D%200U%2C%20%2F*!%26lt%3B%20Fault%200%20input%20pin%20*%2F%0A%20%20%20%20kPWM_Fault_1%2C%20%20%20%20%20%20%2F*!%26lt%3B%20Fault%201%20input%20pin%20*%2F%0A%20%20%20%20kPWM_Fault_2%2C%20%20%20%20%20%20%2F*!%26lt%3B%20Fault%202%20input%20pin%20*%2F%0A%20%20%20%20kPWM_Fault_3%20%20%20%20%20%20%20%2F*!%26lt%3B%20Fault%203%20input%20pin%20*%2F%0A%7D%20pwm_fault_input_t%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E2.%20pwm_fault_param_t%20has%20a%20variable%20enableCombinationalPath%2C%20do%20I%20need%20to%20enable%20this%20variable%20to%20take%20effect%20after%20setting%20the%20fault%3F%20If%20not%2C%20will%20it%20cause%20pwm%20not%20to%20output.%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%2F*!%20%40brief%20Structure%20is%20used%20to%20hold%20the%20parameters%20to%20configure%20a%20PWM%20fault%20*%2F%0Atypedef%20struct%20_pwm_fault_param%0A%7B%0A%20%20%20%20pwm_fault_clear_t%20faultClearingMode%3B%20%20%20%2F*!%26lt%3B%20Fault%20clearing%20mode%20to%20use%20*%2F%0A%20%20%20%20bool%20faultLevel%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*!%26lt%3B%20true%3A%20Logic%201%20indicates%20fault%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20false%3A%20Logic%200%20indicates%20fault%20*%2F%0A%20%20%20%20bool%20enableCombinationalPath%3B%20%20%20%20%20%20%20%20%20%20%2F*!%26lt%3B%20true%3A%20Combinational%20Path%20from%20fault%20input%20is%20enabled%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20false%3A%20No%20combination%20path%20is%20available%20*%2F%0A%20%20%20%20pwm_fault_recovery_mode_t%20recoverMode%3B%20%2F*!%26lt%3B%20Specify%20when%20to%20re-enable%20the%20PWM%20output%20*%2F%0A%7D%20pwm_fault_param_t%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2349185%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20mxca154%20pwm%20fault%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2349185%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%20can%20you%20read%20the%20questions%20at%20the%20back%20of%20the%20post%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2350085%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20mxca154%20pwm%20fault%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2350085%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F82805%22%20target%3D%22_blank%22%3E%401668834026%3C%2FA%3E%20%3C%2FP%3E%0A%3CP%3E1.%20%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%2F*!%20%40brief%20List%20of%20PWM%20fault%20selections%20*%2F%0Atypedef%20enum%20_pwm_fault_input%0A%7B%0A%20%20%20%20kPWM_Fault_0%20%3D%200U%2C%20%2F*!%26lt%3B%20Fault%200%20input%20pin%20*%2F%0A%20%20%20%20kPWM_Fault_1%2C%20%20%20%20%20%20%2F*!%26lt%3B%20Fault%201%20input%20pin%20*%2F%0A%20%20%20%20kPWM_Fault_2%2C%20%20%20%20%20%20%2F*!%26lt%3B%20Fault%202%20input%20pin%20*%2F%0A%20%20%20%20kPWM_Fault_3%20%20%20%20%20%20%20%2F*!%26lt%3B%20Fault%203%20input%20pin%20*%2F%0A%7D%20pwm_fault_input_t%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3EThese%204%20faults%20are%20not%204%20different%20faults%2C%20but%204%20equal%20and%20independent%20%22hardware%20fault%20input%20channels%22.%3C%2FP%3E%0A%3CP%3E2.%20%22There%20is%20a%20variable%20in%20pwm_fault_param_t%20that%20is%20enableCombinationalPath%2C%20do%20I%20need%20to%20enable%20this%20variable%20to%20take%20effect%20after%20setting%20the%20fault%3F%20If%20not%20enabled%20will%20it%20cause%20pwm%20to%20not%20output.%22%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Snipaste_2026-04-13_18-01-02.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-13_18-01-02.png%22%20style%3D%22width%3A%20374px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F382137i364CA75CB5929F9C%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Snipaste_2026-04-13_18-01-02.png%22%20alt%3D%22Snipaste_2026-04-13_18-01-02.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EPlease%20check%20this%20register.%20enableCombinationalPath%20only%20affects%20the%20way%20the%20fault%20takes%20effect%2C%20it%20does%20not%20affect%20whether%20the%20PWM%20can%20be%20output%20or%20not.%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3EHarry.%3C%2FP%3E%0A%3CP%3E%E2%80%83%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E