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.

[参考译文] RM44L920:两个 ADC 检查代码

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1040459/rm44l920-two-adc-check-code

器件型号:RM44L920
主题中讨论的其他器件:HALCOGEN

大家好、我是 Hoseong Yun。

我制作了2-ADC 检查代码(3.3V、1.2V)

以下是我的代码。

================================================================================================================

int main (空)

/*用户代码开始(3)*/
uint8 msg[]={0、0、0、0、0、0、0、0、0、0、0、0、0、0、0、0};

/*初始化模块*/
sciInit();
adcInit();

while (1)

adcStartConversion (adcREG1、adcGROUP1);


while ((adcIsConversionComplete (adcREG1、adcGROUP1))==0);


adcGetData (adcREG1、adcGROUP1、ADC_DATA);


sprintf ((char *) msg、"value1=%d\n\r"、adc_data[0].value);
sciSend (sciREG、strlen ((const char *) msg)、msg);
sprintf ((char *) msg、"value2=%d\n\r"、adc_data[1].value);
sciSend (sciREG、strlen ((const char *) msg)、msg);

延迟(5000);


/*用户代码结束*/

返回0;

===================================================================================================

因此、我检查了3.3V 电压作为图片。

但我无法检查1.2V。

我应该在代码上添加什么内容?

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

    1.2V 是否连接到其中一个 ADC 输入引脚? 此引脚是否分配给 ADC1组1?

    请共享 ADC 配置?  

    图片显示、3.3V 的 ADC 读数为1681 (0x681)。 我认为这个值是不合理的。 您的设置中包含哪些 vCCAD、vADREFHI 和 vADREFLO?

    如果 VCCAD=5V、VADREFHI=5V、且 VADREFLO=0、并且使用了12位分辨率、则3、3V 应为4095/5*3.3 =2072。  

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

    感谢您的回复

    有我们的 ADC 引脚连接

    在图中、每个引脚映射的 AD1IN[1]= 3.3V、AD1IN[2]= 1.2V、VCC_ADC = 3.3V。

    因此 使用 VCCAD=3.3V、VADREFHI=3.3V、VADREFLO=0和12位分辨率。

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

    SH12和 SH15输入是否稳定? 我注意到您的 ADC 输入引脚上没有外部电容器、并且外部电阻器为零。 ADC 输入上的低频噪声将不会被滤除。

    您能否发布 ADC 配置? 您可以尝试更长的采样时间吗? HALCOGen GUI 中的默认值不够大。

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

    我认为输入是稳定的(下图)。

    此外、我还检查了 DMM 的直流输入是否正确。 (1.67V 和0.6V)

    当我将 ADC 采样时间从100ns 改为1ms 时、ADC 数据不正确。

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

    在第一个循环中、我发现 ADC_DATA 与图一样正确。

    但之后、ADC 数据会变低。

    此外、ADC_DATA[1]的 id 不是 corret。

    我认为我做了一些错误。

    但我无法弄清问题是什么。

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

    要读取通道 ID 和转换结果、您需要在转换结果中启用通道 ID。

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

    当我选中启用通道 ID 时、我看到 ADC 的 ID 正确。

    另一方面、ADC_DATA 不正确。

    实际直流输入为"ADCREFHI = 3.28V、ADCREFLO = 0、ADC_Input1 = 1.5451V、ADC_input2 = 0.7451V"

    MCU 的 ADC 值与实际的直流输入值不匹配。

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

    我想相对于采样电容器的充电时间、采样时间太短。请尝试:

    增加外部电容值:C13、C525。 例如10nF 或100nF

    2.增加采样时间

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

    我在这两种情况下都做了。

    情况相同。

    此外、当我收集 ADC 数据时、ADC 值如下图所示发生了变化。

    第一个值与实际直流输入匹配。

    我想我应该改变 HalCoGen 配置、但是我不知道该怎么做。

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

    我认为、当 ADC 对电压电平进行采样时、Csampl 没有充满电。 采样时间是多少?  

    附加的应用可能对您设计 ADC 输入的外部电路没有帮助:

    https://www.ti.com/lit/an/spna061/spna061.pdf

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

    ADC 采样时间为1ms。

    我认为这对于 ADC 来说是足够的时间。

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

    1ms 很长、应该足够了。 当输入引脚上的电压电平稳定时、您可以对输入进行采样吗? 您可以探测 ADC 输入引脚上的电压电平。 ADC 输入信号是否存在噪声?  

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

    感谢您的回复。

    当我使用数字万用表时、我看到直流输入为"ADCREFHI = 3.28V、ADCREFLO = 0、ADC_Input1 = 1.5451V、ADC_input2 = 0.7451V"

    因此、MCU 的 ADC 值与实际的直流输入值不匹配。

    根据图、我认为 ADC 的设置有所改变。

    我在 HALCoGen 上的设置就在这里。

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

    霍城、您好!

    此面板用于配置 ADC 模块时钟 ADCLK。  采集时间以 ADCLK 周期为单位指定。  

    ADCLK = 10MHz ->周期时间= 100ns

    2.此面板用于配置采样时间、FIFO 大小和 ADC 通道选择等

    采样时间为1ms。