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.

[参考译文] ADS1148:从通道读取时出现间歇性满量程读数错误

Guru**** 2553450 points
Other Parts Discussed in Thread: ADS1148

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/788719/ads1148-intermittent-full-scale-reading-error-while-reading-from-the-channel

器件型号:ADS1148

您好!  

我使用 ADS1148从连接到此 ADC 两个不同通道的两个传感器读取温度和 mV 值。  

AIN0和 AIN1 (mV)以及 AIN2和 AIN3 (用于读取温度输入)。  

我正在执行单次转换、然后切换通道以再次执行单次转换。 但是、我的 mV 输入端会出现间歇性满量程读数(2.048V)。

我不确定导致这种情况的原因是什么? 请告诉我为什么会发生这种情况? 我是否不允许内部基准在转换前完全稳定?

我已经附加了针对 ADC 的通道开关和单次转换的代码。 请提供任何帮助。   

//单次转换 ADC 
void adc_measure_single_shot () { nrf_gpio_pin_set (power_pin);//为 LDO nrf_delay_ms (5)供电; nrf_drv_timer_disable (&power_timer); DRDY_INTR_EN ();// DRDY INT enable nrf_deliv_t_pin_start (nrf_pin_start) ;/rf_gpin_start gpin_rf_rf_rf_start);/rf_rf_rf_rf_gpin_start (2)/rf_rf_rf_rf_

/通道切换
void change_mux_channel ()
{
NRF_GPIO_PIN_SET (EXT_ADC_START);
NRF_DELAY_ms (2);
if (gRunTimeDB.muxChange=0)
{
gRunTimeDB.muxChange++;
gRunTimeDB.muxChangeCount++;
温度通道的//mux 设置
APP_ERROR_CHECK (SPI_SCHEDULE_TRANSACTION (&TEMP_CHANNEL 配置));
}
其他
{
gRunTimeDB.muxChange-;
gRunTimeDB.muxChangeCount--;
pH 通道的//mux 设置
APP_ERROR_CHECK (SPI_SCHEDULE_TRANSACTION (&PH_CHANGE_CONFIG));
}
NRF_GPIO_PIN_CLEAR (EXT_ADC_START);
} 

谢谢!

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

    感谢您的发帖! 这可能是9.3.9传感器检测和9.4.4.2通道循环和过载恢复部分中所述的过载情况的结果。 这通常是由传感器中的开路导致的。 此外、在通道间循环时、配置器件时要小心、以确保在一个周期内发生趋稳。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Alexander、  

    非常感谢您的回复。 造成这一问题的确实是解决时间问题。  

    解决了。 谢谢!!