尊敬的专家
我在使用280025进行调试时遇到了采样问题。
蓝色表示整个机器在12.2V 的实际输出电压、绿色表示我的程序在检测到实际输出电压低于12.10V 时提高 IO 端口所需的时间、
中间延迟超过100us、并且硬件电路采样采用电阻分压器。 我可以问、对我的软件 ADC 配置进行采样是出于什么原因吗?
目前、定时器100K 用于触发、ADC 配置代码如下所示。 请帮助进行分析。 谢谢、从硬件信号到 DSP 模拟端口没有延迟。

静态空 sInitAdc (void)
{
//ADCA 时钟
EALLOW;
CpuSysRegs.PCLKCR13.bit.adc_A
= 1;
// CpuSysRegs.PCLKCR13.bit.ADC_B = 1;
CpuSysRegs.PCLKCR13.bit.ADC_C = 1;
// Device_cal ();// bootrom会调用,这里是避免仿真时不执行bootrom
EDIS;
//adc 参考电压3.3V
SetVREF (ADC_ADCA、ADC_INTERNAL、ADC_VREF3P3);
//SetVREF (ADC_ADCB、ADC_INTERNAL、ADC_VREF3P3);
SetVREF (ADC_ADCC、ADC_INTERNAL、ADC_VREF3P3);
DELAY_US (1000);
EALLOW;
AdcaRegs.ADCCTL2.bit.prescale = 6;
AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 1;//μ 转换结束产生事件
//3200W LLC
AdcaRegs.ADCSOC0CTL.bit.CHSEL = 3;//temp AMB
AdcaRegs.ADCSOC1CTL.bit.CHSEL
= 1;
AdcaRegs.ADCSOC2CTL.bit.CHSEL
= 12;//temp SEC
AdcaRegs.ADCSOC3CTL.bit.CHSEL
= 2;
AdcaRegs.ADCSOC4CTL.bit.CHSEL
= 5;
AdcaRegs.ADCSOC5CTL.bit.CHSEL
= 4;//输出电流采样 μ A
AdcaRegs.ADCSOC6CTL.bit.CHSEL
= 15;
AdcaRegs.ADCSOC7CTL.bit.CHSEL
= 6;
AdcaRegs.ADCSOC8CTL.bit.CHSEL
= 3;//μ 输出电压采样
AdcaRegs.ADCSOC0CTL.bit.ACQPS = 9;//采样窗口为10个 SYSCLK 周期
AdcaRegs.ADCSOC1CTL.bit.ACQPS = 9;
AdcaRegs.ADCSOC2CTL.bit.ACQPS = 9;
AdcaRegs.ADCSOC3CTL.bit.ACQPS = 9;
AdcaRegs.ADCSOC4CTL.bit.ACQPS = 9;
AdcaRegs.ADCSOC5CTL.bit.ACQPS = 9;
AdcaRegs.ADCSOC6CTL.bit.ACQPS = 9;
AdcaRegs.ADCSOC7CTL.bit.ACQPS = 9;
AdcaRegs.ADCSOC8CTL.bit.ACQPS = 9;
//待定
AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 2;// CpuTimer1 fs=100k
AdcaRegs.ADCSOC1CTL.bit.TRIGSEL = 2;
AdcaRegs.ADCSOC2CTL.bit.TRIGSEL = 2;
AdcaRegs.ADCSOC3CTL.bit.TRIGSEL = 2;
AdcaRegs.ADCSOC4CTL.bit.TRIGSEL = 2;
AdcaRegs.ADCSOC5CTL.bit.TRIGSEL = 2;
AdcaRegs.ADCSOC6CTL.bit.TRIGSEL = 2;
AdcaRegs.ADCSOC7CTL.bit.TRIGSEL = 2;
AdcaRegs.ADCSOC8CTL.bit.TRIGSEL = 2;
//待定
AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 8;// SOC0结束将设置 INT1标志
AdcaRegs.ADCINTSEL1N2.bit.INT1E = 0;//启用 INT1标志
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;//确保 INT1标志被清除
AdcaRegs.ADCCTL1.bit.ADCPWDNZ = 1;//加电
EDIS;
//ADCB
EALLOW;
AdccRegs.ADCCTL2.bit.prescale = 6;
AdccRegs.ADCCTL1.bit.INTPULSEPOS = 1;//μ 转换结束产生事件
ADccRegs.ADCSOC0CTL.bit.CHSEL = 1;//ADDR2
AdccRegs.ADCSOC1CTL.bit.CHSEL = 4;//VFB
AdccRegs.ADCSOC2CTL.bit.CHSEL = 10;//IFB
AdccRegs.ADCSOC0CTL.bit.ACQPS = 9;//采样窗口为10个 SYSCLK 周期
AdccRegs.ADCSOC1CTL.bit.ACQPS = 9;
AdccRegs.ADCSOC2CTL.bit.ACQPS = 9;
//待定
AdccRegs.ADCSOC0CTL.bit.TRIGSEL = 2;//CpuTimer1 FS=83k
AdccRegs.ADCSOC1CTL.bit.TRIGSEL = 2;
AdccRegs.ADCSOC2CTL.bit.TRIGSEL = 2;
ADccRegs.ADCINTSEL1N2.bit.INT1SEL = 2;// SOC2结束将设置 INT1标志
AdccRegs.ADCINTSEL1N2.bit.INT1E = 0;//启用 INT1标志
AdccRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;//确保 INT1标志被清除
AdccRegs.ADCCTL1.bit.ADCPWDNZ = 1;//上电
EDIS;
DELAY_US (1000);
// PIE
//EALLOW;//可调
// PieVectTable.ADCA1_INT
=&ADCA1_ISR; //tbd
// EDIS;
//PieCtrlRegs.PIEIER1.bit.INTx1 = 1;
//IER |= M_INT1;
}