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.

[参考译文] TMS320F28P550SJ:ADC 采样结果仅为实际结果的一半。

Guru**** 2027300 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1367978/tms320f28p550sj-the-adc-sampling-result-is-only-half-of-the-actual-result

器件型号:TMS320F28P550SJ

工具与软件:

尊敬的所有人:

    在调试 TMS320F28P55 ADC 采样时、使用了外部3.2V 基准电压。 调用库函数 ADC_setVREF (ADCA_BASE、ADC_reference_external、ADC_reference_3_3V)后、发现所获取的所有样本都将减半、例如、当测得的模拟端口 为1.6V 时、AD 采样应为2048、但实际的读取 AD 样本仅为1024。

   是否有任何其他配置要执行?

   

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
EALLOW;
ADC_setOffsetTrim(ADCA_BASE);
ADC_setOffsetTrim(ADCB_BASE);
ADC_setOffsetTrim(ADCC_BASE);
ADC_setOffsetTrim(ADCD_BASE);
ADC_setOffsetTrim(ADCE_BASE);
EDIS;
EALLOW;
ADC_setVREF(ADCA_BASE, ADC_REFERENCE_EXTERNAL, ADC_REFERENCE_3_3V);
ADC_setVREF(ADCB_BASE, ADC_REFERENCE_EXTERNAL, ADC_REFERENCE_3_3V);
ADC_setVREF(ADCC_BASE, ADC_REFERENCE_EXTERNAL, ADC_REFERENCE_3_3V);
ADC_setVREF(ADCD_BASE, ADC_REFERENCE_EXTERNAL, ADC_REFERENCE_3_3V);
ADC_setVREF(ADCE_BASE, ADC_REFERENCE_EXTERNAL, ADC_REFERENCE_3_3V);
EDIS;
EALLOW;
//
// Set ADCCLK divider to /4
//
AdcaRegs.ADCCTL2.bit.PRESCALE = 6;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、建军:

    在该器件上、设置3_3V 选项始终意味着 FSR =基准电压的2倍(无论选择内部基准还是外部基准)。 若要获得正确的电压范围、请使用:

    ADC_setVREF(ADCx_BASE, ADC_REFERENCE_EXTERNAL, ADC_REFERENCE_2_5V);

    此致、
    伊袋