TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28377D: APWM功能 同步输入 从EPWM4输出,无法同步

Part Number:TMS320F28377D

使用EPWM4 同步输出信号  同步APWM1,配置如下,无法接受到同步信号

EALLOW;
CpuSysRegs.PCLKCR0.bit.TBCLKSYNC = 1;
CpuSysRegs.PCLKCR2.bit.EPWM4 = 1;
CpuSysRegs.PCLKCR3.bit.ECAP1 = 1;
EDIS;

// Enable CNT_zero interrupt using EPWM6 Time-base
EPwm4Regs.ETPS.all=0x0000;
EPwm4Regs.ETSEL.bit.INTEN = 1; // Enable EPWM1INT generation
EPwm4Regs.ETSEL.bit.INTSEL = 1; // Enable interrupt CNT_zero event
EPwm4Regs.ETSEL.bit.SOCBSEL = 1; //TBCTR=0X0000时产生
EPwm4Regs.ETPS.bit.INTPRD = 1;
EPwm4Regs.TBCTL.bit.SYNCOSEL = 1;
// EPwm1Regs.ETPS.bit.INTCNT=3;
EPwm4Regs.ETCLR.bit.INT = 1; // Enable more interrupts

//Epwm4
// Setup TBCLK
EPwm4Regs.TBPRD = EPWM_TIMER_TBPRD; // Set timer period 801 TBCLKs
EPwm4Regs.TBPHS.bit.TBPHS = 0x0000; // Phase is 0
EPwm4Regs.TBCTR = 0x0000; // Clear counter
// Set Compare values
EPwm4Regs.CMPA.bit.CMPA = EPWM_MIN_CMPA; // Set compare A value
EPwm4Regs.CMPB.bit.CMPB = EPWM_MAX_CMPB; // Set Compare B value
// Setup counter mode
EPwm4Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up and down
EPwm4Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading
EPwm4Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT
EPwm4Regs.TBCTL.bit.CLKDIV = TB_DIV1;
// Setup shadowing
EPwm4Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm4Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm4Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // Load on Zero
EPwm4Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
// Set actions
EPwm4Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM1A on event A, up
EPwm4Regs.AQCTLA.bit.CAD = AQ_CLEAR; // Clear PWM1A on event A,
EPwm4Regs.AQCTLB.bit.CBU = AQ_CLEAR; // Set PWM1B on event B, up
EPwm4Regs.AQCTLB.bit.CBD = AQ_SET; // Clear PWM1B on event B,

APWM1配置

ECap1Regs.ECCTL2.bit.CAP_APWM = 1; // Enable APWM mode
ECap1Regs.ECCTL2.bit.APWMPOL = 0; // PWM低电平有效
ECap1Regs.ECCTL2.bit.SYNCI_EN = 1; //在外部同步事件SYNCI信号或软件强制复位S/W事件时,将CTRPHS值装置到TSCTR中
ECap1Regs.ECCTL2.bit.SYNCO_SEL = 0; //同步输入SYNC_IN作为同步输出SYNC_OUT信号
ECap1Regs.CAP1 = 20000; // Set Period value
ECap1Regs.CAP2 = 2000; // Set Compare value
ECap1Regs.ECCLR.all = 0x0FF; // Clear pending __interrupts
ECap1Regs.ECEINT.bit.CTR_EQ_CMP = 1; // enable Compare Equal Int

哪位高人指点一下,

Green Deng:

你好,你的程序已经使能同步输入了,你的输入引脚上能测到同步信号吗?

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28377D: APWM功能 同步输入 从EPWM4输出,无法同步
分享到: 更多 (0)