Force eFlexPwm output change on input pin edge detection

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Force eFlexPwm output change on input pin edge detection

跳至解决方案
785 次查看
zorrotz
Contributor III

Hi,

Once an eFlexPWM is configured to generate a PWM signal in an output pin (PWM_A) with a defined period and duty, is it possible to force a change in the output when an edge is detected in an input pin (PWM_X for example) by hardware (i mean, without changing the output in an interrupt generated by the input pin)?

Thanks in advance

 

标签 (2)
标记 (1)
0 项奖励
回复
1 解答
666 次查看
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello @zorrotz 

You can consider using the eFlexPWM EXT_FORCE feature to change the PWM output immediately in hardware.

You can route your input edge to EXT_FORCE, then set the PWM submodule’s FORCE_SEL to EXT_FORCE.
Using  DTSRCSEL, the PWM output can be forced to the desired level instantly — without interrupts and without consuming any additional FAULT channel.

 

Thank you. 

 

BR

Alice

 

在原帖中查看解决方案

0 项奖励
回复
3 回复数
692 次查看
Alice_Yang
NXP TechSupport
NXP TechSupport

Hi @zorrotz 

Yes. The eFlexPWM module can change the PWM_A output in hardware when an edge is detected on an input pin (such as PWM_X), without using an interrupt.

Method:
Route the input pin to one of the eFlexPWM FAULTx inputs.
A fault is generated when any FAULTx pin is at logic 1. The polarity can be changed using FCTRL[FLVL]. Each FAULTx pin can be mapped to any PWM output.

When a fault signal is triggered (by the edge detected on the input pin), the PWM output pins are forced to logic 0, logic 1, or high‑impedance, depending on the settings in OCTRL[PWMxFS].

Thank you.

 

BR

Alice

0 项奖励
回复
685 次查看
zorrotz
Contributor III

Hi @Alice_Yang 

Yes, a FAULTx input could be used, but I am using a FAULTx input to force a logic 0 when a over-voltage is detected in the circuit. So I cannot use another FAULTx to force another pin state.

Maybe I can use the DMA.

Thank you

0 项奖励
回复
667 次查看
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello @zorrotz 

You can consider using the eFlexPWM EXT_FORCE feature to change the PWM output immediately in hardware.

You can route your input edge to EXT_FORCE, then set the PWM submodule’s FORCE_SEL to EXT_FORCE.
Using  DTSRCSEL, the PWM output can be forced to the desired level instantly — without interrupts and without consuming any additional FAULT channel.

 

Thank you. 

 

BR

Alice

 

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2324400%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9C%A8%E6%A3%80%E6%B5%8B%E5%88%B0%E8%BE%93%E5%85%A5%E5%BC%95%E8%84%9A%E8%BE%B9%E7%BC%98%E6%97%B6%E5%BC%BA%E5%88%B6%E6%94%B9%E5%8F%98%20eFlexPwm%20%E8%BE%93%E5%87%BA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2324400%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%E4%B8%80%E6%97%A6%20eFlexPWM%20%E8%A2%AB%E9%85%8D%E7%BD%AE%E4%B8%BA%E5%9C%A8%E8%BE%93%E5%87%BA%E5%BC%95%E8%84%9A%20(PWM_A)%20%E4%B8%8A%E7%94%9F%E6%88%90%E5%85%B7%E6%9C%89%E5%AE%9A%E4%B9%89%E7%9A%84%E5%91%A8%E6%9C%9F%E5%92%8C%E5%8D%A0%E7%A9%BA%E6%AF%94%E7%9A%84%20PWM%20%E4%BF%A1%E5%8F%B7%EF%BC%8C%E6%98%AF%E5%90%A6%E6%9C%89%E5%8F%AF%E8%83%BD%E5%9C%A8%E6%A3%80%E6%B5%8B%E5%88%B0%E8%BE%93%E5%85%A5%E5%BC%95%E8%84%9A%20(PWM_X%20%E7%AD%89)%20%E7%9A%84%E8%BE%B9%E6%B2%BF%E6%97%B6%E9%80%9A%E8%BF%87%E7%A1%AC%E4%BB%B6%E5%BC%BA%E5%88%B6%E6%94%B9%E5%8F%98%E8%BE%93%E5%87%BA%EF%BC%88%E6%88%91%E7%9A%84%E6%84%8F%E6%80%9D%E6%98%AF%EF%BC%8C%E5%9C%A8%E8%BE%93%E5%85%A5%E5%BC%95%E8%84%9A%E7%94%9F%E6%88%90%E7%9A%84%E4%B8%AD%E6%96%AD%E4%B8%AD%E4%B8%8D%E6%94%B9%E5%8F%98%E8%BE%93%E5%87%BA%EF%BC%89%EF%BC%9F%3C%2FP%3E%3CP%3E%E9%A2%84%E5%85%88%E8%87%B4%E8%B0%A2%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2324400%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EMCXA%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMCX%20N%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2326260%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Force%20eFlexPwm%20output%20change%20on%20input%20pin%20edge%20detection%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2326260%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F59428%22%20target%3D%22_blank%22%3E%40zorrotz%3C%2FA%3E%3C%2FP%3E%0A%3CDIV%3E%0A%3CP%3E%E6%98%AF%E7%9A%84%E3%80%82%E5%BD%93%E6%A3%80%E6%B5%8B%E5%88%B0%E8%BE%93%E5%85%A5%E5%BC%95%E8%84%9A%EF%BC%88%E5%A6%82%20PWM_X%EF%BC%89%E4%B8%8A%E7%9A%84%E8%BE%B9%E6%B2%BF%E6%97%B6%EF%BC%8CeFlexPWM%20%E6%A8%A1%E5%9D%97%E5%8F%AF%E9%80%9A%E8%BF%87%E7%A1%AC%E4%BB%B6%E6%94%B9%E5%8F%98%20PWM_A%20%E8%BE%93%E5%87%BA%EF%BC%8C%E8%80%8C%E6%97%A0%E9%9C%80%E4%BD%BF%E7%94%A8%E4%B8%AD%E6%96%AD%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%96%B9%E6%B3%95%EF%BC%9A%3CBR%20%2F%3E%E5%B0%86%E8%BE%93%E5%85%A5%E5%BC%95%E8%84%9A%E8%B7%AF%E7%94%B1%E8%87%B3%20eFlexPWM%20FAULTx%20%E8%BE%93%E5%85%A5%E4%B9%8B%E4%B8%80%E3%80%82%3CBR%20%2F%3E%E5%BD%93%E4%BB%BB%E4%BD%95%20FAULTx%20%E5%BC%95%E8%84%9A%E4%B8%BA%E9%80%BB%E8%BE%91%201%20%E6%97%B6%EF%BC%8C%E9%83%BD%E4%BC%9A%E4%BA%A7%E7%94%9F%E6%95%85%E9%9A%9C%E3%80%82%E6%9E%81%E6%80%A7%E5%8F%AF%E9%80%9A%E8%BF%87%20FCTRL%5BFLVL%5D%E6%9B%B4%E6%94%B9%E3%80%82%E6%AF%8F%E4%B8%AA%20FAULTx%20%E5%BC%95%E8%84%9A%E5%8F%AF%E6%98%A0%E5%B0%84%E5%88%B0%E4%BB%BB%E4%BD%95%20PWM%20%E8%BE%93%E5%87%BA%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%BD%93%E6%95%85%E9%9A%9C%E4%BF%A1%E5%8F%B7%E8%A2%AB%E8%A7%A6%E5%8F%91%E6%97%B6%EF%BC%88%E7%94%B1%E8%BE%93%E5%85%A5%E5%BC%95%E8%84%9A%E4%B8%8A%E6%A3%80%E6%B5%8B%E5%88%B0%E7%9A%84%E8%BE%B9%E7%BC%98%EF%BC%89%EF%BC%8CPWM%20%E8%BE%93%E5%87%BA%E5%BC%95%E8%84%9A%E8%A2%AB%E5%BC%BA%E5%88%B6%E4%B8%BA%E9%80%BB%E8%BE%91%200%E3%80%81%E9%80%BB%E8%BE%91%201%20%E6%88%96%E9%AB%98%E9%98%BB%E6%8A%97%EF%BC%8C%E5%85%B7%E4%BD%93%E5%8F%96%E5%86%B3%E4%BA%8E%20OCTRL%20%5BpwmxFS%5D%20%E4%B8%AD%E7%9A%84%E8%AE%BE%E7%BD%AE%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%0A%3C%2FDIV%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E7%88%B1%E4%B8%BD%E4%B8%9D%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2326433%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Force%20eFlexPwm%20output%20change%20on%20input%20pin%20edge%20detection%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2326433%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F27788%22%20target%3D%22_blank%22%3E%40Alice_Yang%3C%2FA%3E%3C%2FP%3E%3CP%3E%E6%98%AF%E7%9A%84%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20FAULTx%20%E8%BE%93%E5%85%A5%EF%BC%8C%E4%BD%86%E6%88%91%E4%BD%BF%E7%94%A8%20FAULTx%20%E8%BE%93%E5%85%A5%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E7%94%B5%E8%B7%AF%E6%A3%80%E6%B5%8B%E5%88%B0%E8%BF%87%E7%94%B5%E5%8E%8B%E6%97%B6%E5%BC%BA%E5%88%B6%E9%80%BB%E8%BE%91%E4%B8%BA%200%E3%80%82%E5%9B%A0%E6%AD%A4%EF%BC%8C%E6%88%91%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%20FAULTx%20%E6%9D%A5%E5%BC%BA%E5%88%B6%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%BC%95%E8%84%9A%E7%8A%B6%E6%80%81%E3%80%82%3C%2FP%3E%3CP%3E%E4%B9%9F%E8%AE%B8%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20DMA%E3%80%82%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2326700%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Force%20eFlexPwm%20output%20change%20on%20input%20pin%20edge%20detection%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2326700%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F59428%22%20target%3D%22_blank%22%3E%40zorrotz%3C%2FA%3E%3C%2FP%3E%0A%3CDIV%3E%0A%3CP%3E%E6%82%A8%E5%8F%AF%E4%BB%A5%E8%80%83%E8%99%91%E4%BD%BF%E7%94%A8%20eFlexPWM%3CEM%3EEXT_FORCE%3C%2FEM%3E%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%9C%A8%E7%A1%AC%E4%BB%B6%E4%B8%AD%E7%AB%8B%E5%8D%B3%E6%9B%B4%E6%94%B9%20PWM%20%E8%BE%93%E5%87%BA%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%B0%86%E8%BE%93%E5%85%A5%E8%BE%B9%E6%B2%BF%E8%B7%AF%E7%94%B1%E8%87%B3%20EXT_FORCE%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%20PWM%20%E5%AD%90%E6%A8%A1%E5%9D%97%E7%9A%84%20FORCE_SEL%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%3CCODE%20translate%3D%22no%22%3EEXT_FORCE%3C%2FCODE%3E%20%E3%80%82%3CBR%20%2F%3E%E4%BD%BF%E7%94%A8%20DTSRCSEL%EF%BC%8CPWM%20%E8%BE%93%E5%87%BA%E5%8F%AF%E7%AB%8B%E5%8D%B3%E5%BC%BA%E5%88%B6%E8%BE%BE%E5%88%B0%E6%89%80%E9%9C%80%E7%9A%84%E7%94%B5%E5%B9%B3%EF%BC%8C%E8%80%8C%E6%97%A0%E9%9C%80%E4%B8%AD%E6%96%AD%EF%BC%8C%E4%B9%9F%E4%B8%8D%E9%9C%80%E8%A6%81%E6%B6%88%E8%80%97%E4%BB%BB%E4%BD%95%E9%A2%9D%E5%A4%96%E7%9A%84%E6%95%85%E9%9A%9C%E9%80%9A%E9%81%93%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E8%B0%A2%E8%B0%A2%E3%80%82%20%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E7%88%B1%E4%B8%BD%E4%B8%9D%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3C%2FDIV%3E%3C%2FLINGO-BODY%3E