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.

[参考译文] CCS/TMS320F28377D:EPWM1、2、3在 CPU1中定义和初始化、ePWM1中断配置在 CPU2中进行。 CPU2无法进入 ePWM 中断。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/896674/ccs-tms320f28377d-epwm1-2-3-are-defined-and-initialized-in-cpu1-and-epwm1-interrupt-configuration-is-conducted-in-cpu2-cpu2-cannot-enter-epwm-interrupt

器件型号:TMS320F28377D

工具/软件:Code Composer Studio

EPWM1、2、3在 CPU1中定义和初始化、ePWM1中断配置在 CPU2中进行。 CPU2无法进入 ePWM 中断。

这就是手册中的内容:

一些中断来自可由任一 CPU 拥有的共享外设、例如 ADC 和 SPI。 无论外设的所有权如何、这些中断都会发送到两个派。 因此、如果在另一个 CPU 的 PIE 中启用了该中断、则一个 CPU 拥有的外设可能会在另一个 CPU 上引起中断。
这意味着我可以直接在 CPU2中配置 PIE、对吧?-但是 CPU2不能通过这种方式进入 PWM1中断、或者手册是否意味着只有 ADC、SPI 可以直接配置来自另一个 CPU 的中断、而不包括 PWM 外设。
CPU2主函数代码如下所示:
void main (void)

   InitSysCtrl();
   Dint;
   InitPieCtrl();
   IER = 0x0000;
   IFR = 0x0000;
   InitPieVectTable();
   EALLOW;
   PieVectTable.EPWM1_INT=&speed;
   EDIS;
  IER |= M_INT3;
  PieCtrlRegs.PIEIER3.bit.INTx1 = 1;
   EINT;  
   ERTM;  
  IPCLtoRFlagSet (IPC_FLAG17);同步CPU1;
   while (1);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否检查是否在 CPU1接收到中断? PWM 配置可能会出现一些问题。

    此外、理想情况下、PWM1的所有权应传递给 CPU2、因为可能需要在 ISR 中执行某些关键 PWM 配置。 保留 CPU1所有权的用例是什么?

    谢谢

    Vasudha

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

    EPWM1、2、3在 CPU1处定义和初始化。

    当我在 CPU1上配置 pwm1中断时,CPU1可以进入 pwm1中断。

    当我在 CPU1和 CPU2中配置 pwm1中断时、它们都可以进入 pwm1中断。  

    当我在 CPU2上配置 pwm1中断时,CPU2无法进入 pwm1中断。

    我想构建一个电机控制系统。  CPU1负责电流环路计算并生成 PWM 占空比。 如果 CPU2控制 PWM 模块、CPU1能否将该值直接写入寄存器? 否则、CPU1可能使用内存 RAM 并创建通信延迟。

    感谢你的帮助。

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

    您好!

    您能否通过在"Debug"窗口中检查 ETFLG.INT 来检查是否在 CPU1的 EPWM 级别启用和锁存中断? 在 CPU2上启用中断之前、请尝试清除 EPWM 中断标志。 检查 CPU2中中断是否在 PIE 级别锁存。 此外、请在 CPU2上共享 ISR 代码、需要在 CPU2 ISR 中确认中断。

    谢谢

    Vasudha