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

28335的ad用epwm触发的话,如何设置他的采样率呢?

28335的ad用epwm触发的话,如何设置他的采样率呢?

// Configure ADC
AdcRegs.ADCMAXCONV.all = 0x0000; // Setup 1 conv's on SEQ1
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; // Setup ADCINA0 as 1st SEQ1 conv.
AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 = 1;// Enable SOCA from ePWM to start SEQ1
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Enable SEQ1 interrupt (every EOS)
// Assumes ePWM1 clock is already enabled in InitSysCtrl();
EPwm1Regs.ETSEL.bit.SOCAEN = 1; // Enable SOC on A group
EPwm1Regs.ETSEL.bit.SOCASEL = 4; // Select SOC from from CPMA on upcount
EPwm1Regs.ETPS.bit.SOCAPRD = 1; // Generate pulse on 1st event
EPwm1Regs.CMPA.half.CMPA = 0x0080; // Set compare A value
EPwm1Regs.TBPRD = 0xFFFF; // Set period for ePWM1
EPwm1Regs.TBCTL.bit.CTRMODE = 0; // count up and start

上边哪段代码是设置采样率的啊,怎么计算的?比如我要4K的采样率怎么设置呢?

Green Deng:ADC的采样频率是由ADC转换的触发源频率决定的,例程里是由ePWM1SOCA来触发,因此你要改EPWM1的周期,改变EPwm1Regs.TBPRD的值,可以增加采样率。

28335的ad用epwm触发的话,如何设置他的采样率呢?

// Configure ADC
AdcRegs.ADCMAXCONV.all = 0x0000; // Setup 1 conv's on SEQ1
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; // Setup ADCINA0 as 1st SEQ1 conv.
AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 = 1;// Enable SOCA from ePWM to start SEQ1
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Enable SEQ1 interrupt (every EOS)
// Assumes ePWM1 clock is already enabled in InitSysCtrl();
EPwm1Regs.ETSEL.bit.SOCAEN = 1; // Enable SOC on A group
EPwm1Regs.ETSEL.bit.SOCASEL = 4; // Select SOC from from CPMA on upcount
EPwm1Regs.ETPS.bit.SOCAPRD = 1; // Generate pulse on 1st event
EPwm1Regs.CMPA.half.CMPA = 0x0080; // Set compare A value
EPwm1Regs.TBPRD = 0xFFFF; // Set period for ePWM1
EPwm1Regs.TBCTL.bit.CTRMODE = 0; // count up and start

上边哪段代码是设置采样率的啊,怎么计算的?比如我要4K的采样率怎么设置呢?

mangui zhang:pwm触发可能会存在矛盾pwm根据需要需满足频率 和 占空比ADC需要满足采样率这个需要协调
如果你要采集的量不是和PWM因素相关那就采用软件触发有定时器等使能ADC保证采样率

赞(0)
未经允许不得转载:TI中文支持网 » 28335的ad用epwm触发的话,如何设置他的采样率呢?
分享到: 更多 (0)