This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,
我正在使用 TMS320F 28377S ADC。 当以10mV 为单位输入 ADC 的输入电压时、ADC 的结果需要是线性的、但在我使用的系统中、ADC 结果值不是线性的、而是级联的。 出什么问题了?
ADC 转换周期为10ms、所有通道均可立即读取
测试结果如下。
< ADC 结果>
3.40 2501
3.41 2511.
3.42 2517.
3.43 2518
3.44 2533
3.45 2543
我的系统设置如下
{
EALLOW;
AdcaRegs.ADCCTL2.bit.prescale = 15;
AdcbRegs.ADCCTL2.bit.prescale = 15;
AdcSetMode (ADC_ADCA、ADC_resolution_12位、ADC_SIGNALMODE_SINGLE);
AdcSetMode (ADC_ADCB、ADC_Resolution、12位、ADC_SIGNALMODE_SINGLE);
//将脉冲位置设置为晚期
AdcaRegs.ADCCTL1.bit.INTPULSEPOS=1;
AdcbRegs.ADCCTL1.bit.INTPULSEPOS = 1;
//为 ADC 加电
AdcaRegs.ADCCTL1.bit.ADCPWDNZ = 1;
AdcbRegs.ADCCTL1.bit.ADCPWDNZ = 1;
//延迟1ms 以允许 ADC 加电时间
DELAY_US (1000);
//选择要转换的通道和转换结束标志
//ADCA
AdcaRegs.ADCSOC2CTL.bit.CHSEL = 2;
AdcaRegs.ADCSOC3CTL.bit.CHSEL = 3;
AdcaRegs.ADCSOC4CTL.bit.CHSEL = 4;
AdcaRegs.ADCSOC5CTL.bit.CHSEL = 5;
AdcaRegs.ADCSOC2CTL.bit.ACQPS = 30;
AdcaRegs.ADCSOC3CTL.bit.ACQPS = 30;
AdcaRegs.ADCSOC4CTL.bit.ACQPS = 30;
AdcaRegs.ADCSOC5CTL.bit.ACQPS = 30;
AdcaRegs.ADCINTSEL1N2.bit.INT1E = 1;
AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 5;
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
//ADCB
AdcbRegs.ADCSOC0CTL.bit.CHSEL = 0;
AdcbRegs.ADCSOC2CTL.bit.CHSEL = 2;
AdcbRegs.ADCSOC3CTL.bit.CHSEL = 3;
AdcbRegs.ADCSOC0CTL.bit.ACQPS = 30;
AdcbRegs.ADCSOC2CTL.bit.ACQPS = 30;
AdcbRegs.ADCSOC3CTL.bit.ACQPS = 30;
AdcbRegs.ADCINTSEL1N2.bit.INT1E = 1;
AdcbRegs.ADCINTSEL1N2.bit.INT1SEL = 3;
AdcbRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
EDIS;
}
ADC 结果如下所示
{
AdcaRegs.ADCSOCFRC1.ALL = 0x003C;//SOC2、3、4、5
while (AdcaRegs.ADCINTFlG.bit.ADCINT1 = 0);
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
US_resulta2 = AdcaResultRegs.ADCRESULT2;
US_resulta3 = AdcaResultRegs.ADCRESULT3;
US_resulta4 = AdcaResultRegs.ADCRESULT4;
US_resulta5 = AdcaResultRegs.ADCRESULT5;
AdcbRegs.ADCSOCFRC1.ALL = 0x000D;//SOC0、2、3
//等待 ADCB 完成,然后确认标志
while (AdcbRegs.ADCINTFlG.bit.ADCINT1 = 0);
AdcbRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
US_resultb0 = AdcbResultRegs.ADCRESULT0;
US_resultb2 = AdcbResultRegs.ADCRESULT2;
US_resultb3 = AdcbResultRegs.ADCRESULT3;
}
请给我们一点意见、了解问题是什么
谢谢、Steven Kim
您好、Vasudha
输入电压随电源的变化而变化、电源输出范围为+25.00~0.00、输入电压在手册中应用(3.40v -> 3.41v -> 3.42v -> 3.43v -> 3.44v -> 3.45v)
在另一项测试中、我使用了函数发生器。 输入 斜率为 正弦波、 正弦波电压 为3.00~3.30v、1周期为100sec。
ADC 结果不随随机电压变化、我附加了 ADC 结果
e2e.ti.com/.../7711.SineWave_5F00_Input_5F00_vs_5F00_ADC.xlsx
谢谢