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.

[参考译文] CC2530:ADC 问题

Guru**** 2595805 points
Other Parts Discussed in Thread: CC2530, Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/816803/cc2530-adc-issue

器件型号:CC2530
Thread 中讨论的其他器件: Z-stack

大家好、我正在尝试了解在 CC2530上使用 ADC 时遇到的问题。

最初、我使用分压器和内部基准电压、我测量的值高于提供的值。 然后、我将执行简单设置的所有操作都剥离了:

我使用3.3V 作为基准电压(P0_7/AIN7)。

我测量引脚 P0_0/AIN0上的电压、如所示

APCFG = BV (0)| BV (7);//设置中一次

ADCCON3 =(HAL_ADC_REF_AIN7 | 0x30 | HAL_ADC_CHN_AIN0);

while (!(ADCCON1 & 0x80));

Int16结果=(uint16) ADCL;
结果|=(uint16
>);结果< ADCH 8;

然后、我尝试通过1K 电阻器将引脚 P0_0直接接地、在这两种情况下、引脚上的电压都是相同的、0V。

但是、当我执行转换时、我有

1)当 P0_0 直接接地时、结果= 330 (+-15)。

2)结果= 1020 (+-15)、当 P0_0 通过1K 电阻器接地时、相当于~0.4V。

在测量期间、P0_0看起来有点上拉(实际上、我可以清楚地看到该引脚上的电压尖峰、但我目前只有万用表在手中、它不让我有机会看到它确实上拉了多少电阻)、

这是正常行为还是我错过了什么?

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

    我认为这是不正常的。 我建议您使用电源为 P0.0提供不同的电压、并查看其测量是否正确。

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

    它始终测量更高的电压。 如果电压源和 P0_0之间有一个电阻器、则值会随着电阻率的增加而增加。

    看起来完全像上拉引脚。

    我尝试在代码中注释掉除 ADC 以外的所有内容、这是同一个故事。

    我尝试使用不同的引脚(AIN6)、情况也一样。

    我没有想法、还有什么其他的想法。

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

    您是否使用 TI Z-Stack? 如果是、您能否在 hal_adc.c 中尝试使用 ADC API、而不是直接使用寄存器?

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

    我尝试过、结果相同。

    此外。 有一些有趣的东西。

    我制作了2个简单的测试应用、仅 ADC 和 UART。

    在栈1.22上、它为我提供了一个结果、在栈3.0.2上、它为我提供了不同的结果。

    对于内部温度传感器而言、它非常具有戏剧性。  1.22的结果为983、最大值 为8191、3.0.2的结果最高。

    ADC 代码是相同的。 使用 hal_adc API。

    代码是

    TR0 = 1;
    ATEST = 1;
    
    HalAdcSetReference (HAL_ADC_REF_AVDD);
    uint16 Result = HalAdcRead (HAL_ADC_CHANGE_TEMP、HAL_ADC_Resolution_14);
    

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

    最后、它是 一个具有死区 ADC 的芯片。

    它在不同的芯片上按预期工作。 花费我将近3天的时间)))))