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.

[参考译文] UCD3138:有关 DPWM 周期中断的快速中断

Guru**** 2539750 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1107204/ucd3138-fast-interrupt-about-dpwm-period-interrupt

器件型号:UCD3138

我想启用 DPWM 周期中断的快速中断。 初始化代码如下所示:

Dpwm3Regs.DPWMIT.bit.PRD_INT_SCALE = 0x04;//每个16个切换周期(用于复位积分器)生成中断*
Dpwm3Regs.DPWMIT.bit.PRD_INT_EN = 1;
LoopMuxRegs.GLBEN.ALY|= 0x008;//启用 dpwm3 *
Dpwm3Regs.DPWMCTRL0.bit.PWM_EN = 1;disable_interrupt ();
disable_fast_interrupt ();//确保禁用快速中断*/
WRITE_REQMASK (CIMINT_All_PWM2_COMP|CIMINT_All_FAULT_MUX|CIMINT_All_DPWM3);//启用 pwm2cmp 和 DPWM0中断(第16个周期结束)(int-priority29)*/
WRITE_FIRQpr (CIMINT_All_FAULT_MUX|CIMINT_All_DPWM3);// DPWM0中断(第16个周期结束)映射到 FIQ */
enable_fast_interrupt ();
enable_interrupt ();

我在快速中断中设置调试引脚切换。 代码如下所示:

FIR_INDEX = CimRegs.FIQIVEC.ALL;

if (fif_index = 27)//索引= N-1 = 26 DPWM

杂项 AnalogRegs.GLBIOVAL.bit.ADC_EXT_TRIG_IO_VALUE ^= 1;

Dpwm3Regs.DPWMIT.bit.PRD_INT_EN = 1;//清除中断标志

但 我发现调试引脚切换时间不是6.25*4=25us、而是大约4us。 开关频率为160KHz、为什么? 在分压表中、开关周期不是开关频率?

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

    我同意这毫无意义。  在我多年使用 UCD 的过程中、我肯定从未见过此硬件功能的任何问题。   最可能的原因是启用了一些其他 DPWM3中断、例如故障。   

    如果在 DPWM3上启用了多个功能、则应查看中断寄存器中的各个位以确定导致中断的原因。  如果您在开环板上进行测试、输入很容易浮至故障条件。   

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

    这种情况已经等待了一个多星期。 我将假定问题已得到解答。