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.

[参考译文] TMDSIDK437X:AM437X - ADC0问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1159701/tmdsidk437x-am437x---adc0-issues

器件型号:TMDSIDK437X

您好、

我尝试将 ADC0用作通用 ADC、但在从不同通道获取准确读数方面遇到了一些问题。 我正在使用 ADC 示例项目、并将其修改为(我认为是)通用模式。

 

    adcStepCfg.adcNegativeInpRef = TSCADC_NEGATIVE_REF_VSSA;
        adcStepCfg.adcPositiveInpRef = TSCADC_POSITIVE_REF_VDDA;
        adcStepCfg.adcNegativeInpChan = TSCADC_INPUT_CHANNEL1;
        adcStepCfg.adcPositiveInpChan = TSCADC_INPUT_CHANNEL1;
        adcStepCfg.enableXppsw = FALSE;//TRUE
        adcStepCfg.enableXnpsw = FALSE;
        adcStepCfg.enableYppsw = FALSE;
        adcStepCfg.enableXnnsw = FALSE;//TRUE
        adcStepCfg.enableYpnsw = FALSE;
        adcStepCfg.enableYnnsw = FALSE;
        adcStepCfg.enableWpnsw = FALSE;

    /* Enable ADC for GP mode. */
    TSCADCTSModeConfig(pCfgAdc->instAddr, TSCADC_MODE_GP_ADC);

上面的代码用于设置设置配置寄存器和设置模式。 我对前4个通道(AIN0-AIN3)执行此操作、但未获得预期结果。 如果我不对任何引脚施加电压、某些引脚会读回一个值。 但是、如果我向 J1接头(AIN0)的引脚31施加电压、我会注意到 AIN0和 AIN1的输出都发生变化。 如果我对引脚37和39施加电压、则为 AIN2和 AIN3读取的值没有变化、并且它们一直读取为0。

这是运行测试的输出

AN0 : 895mV -- AN1: 830mV -- AN2: 0mV -- AN3: 0mV
AN0 : 881mV -- AN1: 811mV -- AN2: 0mV -- AN3: 0mV
AN0 : 895mV -- AN1: 830mV -- AN2: 0mV -- AN3: 0mV
AN0 : 881mV -- AN1: 816mV -- AN2: 0mV -- AN3: 0mV
AN0 : 889mV -- AN1: 825mV -- AN2: 0mV -- AN3: 0mV

是否缺少 ADC 的一些设置、以使其输出更合适的值、例如0、而不施加电压、并在施加电压时增大?