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

28377S 16位ADC差分输入的问题

正在做一个电压采集的项目,输入信号的共模信号,而28377S,16位ADC需要输入差分信号,我利用下图的方式将共模信号转换成差分信号,请教TI工程师,能否这样做。输入的共模信号是0—2.5V的直流信号,在输入之前已经做了滤波处理。ADC的采样时间是320ns,ADC时钟频率是40M。

user5029276:下面是我的ADC的配置,EPWM触发转换,触发频率25KHZ,现在有个问题是,在某个转换点的时候,ADC会有较大幅度的转换误差,就是跳动,在200左右,特别是在输入共模电压在1V一下和9V以上的时候。
测量了ADC的输入,除了电源产生得到噪声之外并没有发现毛刺和电压突变。
void ConfigureADC(void)
{Uint16 acqps;
EALLOW;////write configurations//AdcaRegs.ADCCTL2.bit.PRESCALE = 2; //set ADCCLK divider to /2AdcSetMode(ADC_ADCA, ADC_RESOLUTION_16BIT, ADC_SIGNALMODE_DIFFERENTIAL);
////Set pulse positions to late//AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 1;
////power up the ADC//AdcaRegs.ADCCTL1.bit.ADCPWDNZ = 1;
////delay for 1ms to allow ADC time to power up//DELAY_US(1000);EDIS;
////determine minimum acquisition window (in SYSCLKS) based on resolution//if(ADC_RESOLUTION_12BIT == AdcaRegs.ADCCTL2.bit.RESOLUTION){acqps = 14; //75ns}else //resolution is 16-bit{acqps = 63; //320ns}
////Select the channels to convert and end of conversion flag//EALLOW;AdcaRegs.ADCSOC0CTL.bit.CHSEL = 0;//SOC0 will convert pin A0AdcaRegs.ADCSOC0CTL.bit.ACQPS = acqps; //sample window is 100 SYSCLK cyclesAdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 5; //trigger on ePWM1 SOCA/C
AdcaRegs.ADCSOC1CTL.bit.CHSEL = 2;//SOC1 will convert pin A2AdcaRegs.ADCSOC1CTL.bit.ACQPS = acqps; //sample window is 100 SYSCLK cyclesAdcaRegs.ADCSOC1CTL.bit.TRIGSEL = 5; //trigger on ePWM1 SOCA/C
AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 1; //end of SOC1 will set INT1 flagAdcaRegs.ADCINTSEL1N2.bit.INT1E = 1;//enable INT1 flagAdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //make sure INT1 flag is clearedEDIS;

}

正在做一个电压采集的项目,输入信号的共模信号,而28377S,16位ADC需要输入差分信号,我利用下图的方式将共模信号转换成差分信号,请教TI工程师,能否这样做。输入的共模信号是0—2.5V的直流信号,在输入之前已经做了滤波处理。ADC的采样时间是320ns,ADC时钟频率是40M。

user5029276:

回复 Eric Ma:

我知道了,非常感谢您的回答。

赞(0)
未经允许不得转载:TI中文支持网 » 28377S 16位ADC差分输入的问题
分享到: 更多 (0)