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.

[参考译文] ADS1248:最小 单电源电压。 CR2332作为源。

Guru**** 2422790 points
Other Parts Discussed in Thread: ADS1248, ADS1220, ADS124S06, ADS124S08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/965074/ads1248-min-single-supply-voltage-cr2332-as-source

器件型号:ADS1248
主题中讨论的其他器件: ADS1220ADS124S06ADS124S08

您好!

我想使用单个 CR2032纽扣电池运行具有 ADS1248的 uC。 当2.5V 电池电量耗尽时、该电池的电压会快速降至2、8 - 2、7V。 因此、我的 queston 是 ADS1248所需的实际最小电压源。 ASD1248能否在电压约为2.7V 时安全运行?

谢谢、

Marcin

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

    您好、Marcin、

    ADS1248的最小工作电源电压为2.7V。 如果您在该范围之外运行、则不能保证数据表性能、并且可能会导致器件损坏。 例如、如果电源电压从2.7下降到2.6V、但2.7V 仍在范围内、我将始终允许电源电压有一定的裕度。

    如果您可以使用更少的通道、ADS1220的工作电压低至2.3V。

    布莱恩

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

    感谢您的响应、我的关键要求是2个差分输入和2个独立的外部基准输入。

    我还对 ADS124S06感兴趣。

    Marcin

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

    您好、Marcin、

    相关知识。 ADS124S06 (6通道)和 ADS124S08 (12通道)是 ADS1248的下一代版本。 我建议使用这些器件(ADS124S0x)代替 ADS1248、因为它们具有更低的功耗、更多功能、更好的直流性能、更低的噪声、更小的封装、 相同的成本。 但它们也只会降至2.7V 电源、这一点很清楚。

    布莱恩

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

    您好!

    上次我在从 ADS1248读取的数据中观察到一些尖峰。 内部基准控制被设定为模式"当一个转换正在进行中时、内部基准被打开并且在器件接收到 睡眠命令或者 START 引脚被取为低电平时断电"。 我在下面附上 了参考文献中的 scren 照片 输出中的尖峰与不完整基准状态设置相关:

    有人能解释为什么会发生这种情况吗?

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

    您好、Marcin、

    您能更详细地解释一下您正在做什么以及这些图片是什么吗? 您在哪里测量这些示波器图中显示的电压?

    您是否有要分享的原理图?

    任何其他信息都有助于了解正在发生的情况。

    布莱恩

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

    您好!

    示波器图像显示了 VREFOUT。

    内部基准控制被设定为模式"当一个转换正在进行中时、内部基准被打开并且在器件接收到 睡眠命令或者 START 引脚被取为低电平时断电"

    数据速率设置为:1000SPS

    下面是伪代码中的时序图:

    开关(毫秒){
    
    案例1:
    通道_2_setup;
    中断;
    
    案例3:
    CHANNEL 读取;
    中断;
    
    案例6:
    CHANNEL 1_setup;
    中断;
    
    案例8:
    CHANNEL 读取;
    中断;
    
    案例25:
    //毫秒 counter_reset
    中断;
    
    默认值:
    //不执行任何操作。
    中断;
    } 


    下面是 CHANGE_x_setup 函数:
    void ADS1248_setup (uint8_t channel){
    
    adsWakeSleep (1);//将 START 引脚设置为高
    
    电平 SPI_xfer_DONE = false;
    //发送 SDATAC 命令(16h)------
    m_TX_LENGTH = sizeof (m_TX_Buf_2);
    app_error_check (nrf_drv_spi_transfer (&SPI、m_TX_Buf_2、m_TX_length、m_Rx_Buf、 0));
    while (!spi_xfer_done){
    __WFE ();
    }
    
    //重置 Rx 缓冲区和传输完成标志
    SPI_xfer_DONE = false;
    开关(通道){
    情形1:
    // 0x40第一个命令字节:写入命令 MUX0
    // 0x00第二个命令字节:要写入的字节数
    // 0x01数据:AIN0 & AIN1
    // 0x42第一个命令字节:写入命令 MUX1
    // 0x00第二个命令字节:要写入的字节数
    // 0x60当唤醒时打开内部参考| REFP0和 REFN0
    m_TX_LENGTH = sizeof (m_TX_Buf_3);
    APP_ERROR_CHECK (nrf_drv_spi_transfer (&SPI、m_TX_BUf_3、m_TX_length、m_RX_Buf、0));
    中断;
    
    案例2:
    // 0x40第一个命令字节:写入命令 MUX0
    // 0x00第二个命令字节:要写入的字节数
    // 0x37数据:AIN6 & AIN7
    // 0x42第一个命令字节:写入命令 MUX1
    // 0x00第二个命令字节:要写入的字节数
    // 0x68唤醒时打开内部参考| REFP1和 REFN1
    m_TX_LENGTH = sizeof (m_TX_Buf_4);
    APP_ERROR_CHECK (nrf_drv_spi_transfer (&SPI、m_TX_BUf_4、m_TX_length、m_RX_Buf、0));
    中断;
    
    案例3:
    // 0x40第一个命令字节:写入命令 MUX0
    // 0x00第二个命令字节:要写入的字节数
    // 0x01数据:AIN0 & AIN1
    // 0x42第一个命令字节:写入命令 MUX1
    // 0x00第二个命令字节:要写入的字节数
    // 0x68唤醒时打开内部参考| REFP1和 REFN1
    m_TX_LENGTH = sizeof (m_TX_Buf_5);
    APP_ERROR_CHECK (nrf_drv_spi_transfer (&SPI、m_TX_BUf_5、m_TX_length、m_RX_Buf、0));
    中断;
    
    默认:
    break;
    }
    while (!spi_xfer_done){
    __WFE ();
    }
    
    IF (通道=1){
    //重置 Rx 缓冲器和传输完成标志
    SPI_xfer_DONE = false;
    //配置 PGA 和数据速率-------------------------------------------------------
    m_TX_LENGTH = sizeof (m_TX_Buf_6);
    APP_ERROR_CHECK (nrf_drv_spi_transfer (&SPI、m_TX_BUf_6、m_TX_length、m_RX_Buf、0));
    while (!spi_xfer_done){
    __WFE();
    }
    
    }否则、如果(通道==2){
    //重置 Rx 缓冲器和传输完成标志
    SPI_xfer_DONE = false;
    //配置 PGA 和数据速率-------------------------------------------------------
    m_TX_LENGTH = sizeof (m_TX_Buf_6);
    APP_ERROR_CHECK (nrf_drv_spi_transfer (&SPI、m_TX_BUf_6、m_TX_length、m_RX_Buf、0));
    while (!spi_xfer_done){
    __WFE();
    }
    }
    
    adsWakeSleep (0);//将 START 引脚设置为低
    电平} 



    读取函数:
    void ADS1248_read (){
    
    
    SPI_xfer_DONE = false;
    //发送 RDATA 命令(12h)-------------------------------------------------------
    m_TX_LENGTH = sizeof (m_TX_Buf_7);
    app_error_check (nrf_drv_spi_transfer (&SPI、m_TX_Buf_7、m_TX_length、m_RX_Buf、 4));
    
    while (!spi_xfer_done){
    __WFE ();
    }
    
    int32_t regData;
    
    regData |= m_rx_buf[1];
    regData <= 8;
    regData |= m_rx_buf[2];
    regData <= 8;
    regData |= m_Rx_buf[3];
    
    if (regData <= 16777215)&&(regData >= 8388608)
    regData = regData - 16777216;
    
    }
    





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

    您好、Marcin、

    您是否无法正确读取数据? 此设备是否存在其他问题?

    您在本示例中读取数据的频率如何? 您好像正在快速读取数据、然后将器件断电10s、然后重复此过程。 这不是您打算做的事情吗?

    布莱恩