【FPGA+DSP系列】——DSP的EPWM外设注意事项

文章目录

怎么调整周期频率,怎么调整占空比,怎么调整相位,怎么设置死区,今天做了这些,mark一下。

EPWM实验相关注意事项

一、 EPWM中断配置

//使能对应的寄存器

EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event

EPwm1Regs.ETSEL.bit.INTEN = 1; // Enable INT

EPwm1Regs.ETPS.bit.INTPRD = ET_1ST; // Generate INT on 1st event

//配置对应的中断服务函数

EALLOW; // This is needed to write to EALLOW protected registers

PieVectTable.EPWM1_INT = &epwm1_timer_isr;

EDIS; // This is needed to disable write to EALLOW protected registers

//中断服务函数编写

//清楚标志位

interrupt void epwm1_timer_isr(void)

{

static Uint16 cnt=0;

cnt++;

if(cnt==5000)

{

cnt=0;

LED3_TOGGLE;

}

// Clear INT flag for this timer

EPwm1Regs.ETCLR.bit.INT = 1;

// Acknowledge this interrupt to receive more interrupts from group 3

PieCtrlRegs.PIEACK.bit.ACK3 = 1;

}

二、 EPWM外设使用

  1. 周期设置
    1.确定工作时钟,通过主频分频得到,HSPCLKDIV和CLKDIV确定分频比后的时钟就是EPWM的工作时钟。
  2. 计数方式
    向上计数,向下计数,先向上计数在向下计数
  3. 动作方式
    计数到0动作、计数到最大值动作、向上计数中到阈值动作、向下计数中道阈值动作
    struct AQCTL_BITS { // bits description
    Uint16 ZRO:2; // 1:0 Action Counter = Zero
    Uint16 PRD:2; // 3:2 Action Counter = Period
    Uint16 CAU:2; // 5:4 Action Counter = Compare A up
    Uint16 CAD:2; // 7:6 Action Counter = Compare A down
    Uint16 CBU:2; // 9:8 Action Counter = Compare B up
    Uint16 CBD:2; // 11:10 Action Counter = Compare B down
    Uint16 rsvd:4; // 15:12 reserved
    };
  4. 死区设置
    输入模式配置、双脉冲死区确定(互补、单独死区设置)、上升沿下降沿死区时间
    // Active Low PWMs - Setup Deadband
    EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;
    EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_HI;
    EPwm1Regs.DBCTL.bit.IN_MODE = DBA_ALL;
    EPwm1Regs.DBRED = 2000;
    EPwm1Regs.DBFED = 0;
相关推荐
狂奔蜗牛(bradley)2 分钟前
EtherCAT 主站拓扑判定的三级防护:从去抖到振荡检测
人工智能·嵌入式硬件·fpga开发·架构
XMAIPC_Robot3 分钟前
工商业储能EMS边缘计算:本地AI负荷预测,彻底摆脱云端依赖
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
XMAIPC_Robot16 分钟前
FPGA+ARM联合调试避坑:储能电力采样数据同步、丢包问题定位与根治方案,应用于储能EMS、微网控制器中
arm开发·人工智能·fpga开发·rk3588+fpga·rk3576+fpga
星夜离尘561 小时前
FIFO深度怎么定?用突发流量和背压算清缓存预算
缓存·fpga开发·verilog·fifo·背压
一口一口吃成大V18 小时前
Fpga中常用器件
fpga开发
Riwuarua20 小时前
从近似0基础开始FPGA开发——Part.23:AXI/AXIS 数据搬运、DMA 与 DDR 缓存架构设计
缓存·fpga开发
Jason_zhao_MR1 天前
电力数据采集核心板选型指南
linux·嵌入式硬件·fpga开发·嵌入式
长春的KAKA1 天前
Proxmark3 RDV4.01:Windows 11 下 Iceman 固件升级与完整使用指南
fpga开发
奋斗的阿狸_19862 天前
ESP32-S3 + ES7210 四通道麦克风录音上传方案
c语言·开发语言·fpga开发
hahaha60162 天前
FPGA+ARM实现AWB的全流程
人工智能·嵌入式硬件·算法·计算机视觉·fpga开发