微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS1246转换结果问题

ADS1246转换结果问题

时间:10-02 整理:3721RD 点击:

我的ADS1246的图是下面连的,VCC=5.0,DVDD=3.3,VREF=2.048然后短接AINN与AINP输出是是0.111X的一个电压值,其中X为跳变位,求大侠解释一个,不胜感激

 

你好,请告知ADS1246采样率,PGA gain等, 另外0.111x单位是V 还是 mV? 谢谢

您好,我的采样率为1000SPS ,PGA=1,0.111x的单位为V,谢谢……

你好!

请查ADS1246 datasheet page13, Table 3. 会发现在1000SPS, PGA=1的情况下,input noise = 284.59uVpp = 0.00028459V,所以就只能保证0.111不变化了。

您好,我的问题是说在如图所示的硬件连接下,以及如上说述的参数设置下,当输入端VIINN与VINP相连之后(其中VINN已经接GND),的输出是一个0.111X v的值,不应该是输入为0的情况下,输出应该是0么?

你可以把VINN和GND断开,只把VINP和VINN短接,测试一下结果如何。 如果输出为0,应该是输入共模范围的问题。

上图是断开VINN与GND之后,直接短接AINP与AINN之后的输出,可以看到输出过段时间会突然跳变出0XFFFFXX,最后两位为跳变位,约为2.0449V。求解这是什么原因呢?

下面是程序;

---------------------------------------------------------------------*/ 
int32_t ADS1246_Read() 

    uint8_t  Cmd[5]; 
    int32_t ReadData; 
    Cmd[0]=ADS1246_CMD_RDATA; 
    Cmd[1]=ADS1246_CMD_NOP; 
    Cmd[2]=ADS1246_CMD_NOP; 
    Cmd[3]=ADS1246_CMD_NOP; 
    Cmd[4]=ADS1246_CMD_NOP; 
    //ADS1246_SPI_CS_CLR;       
    ADS1246_ReadBytes(Cmd,5);
   // ADS1246_SPI_CS_SET;
/*************************************** 

---------------------------------------------------------------------*/ 
void ADS1246_WriteReg(uint8_t RegAddr,uint8_t *Buffer,uint8_t Length) 

    uint8_t Cmd[2]; 
    //ADS1246_SPI_CS_CLR; 
    Cmd[0]=ADS1246_CMD_WREG|RegAddr;   //0x40|RegAddr
    Cmd[1]=Length-1; 
    ADS1246_WriteBytes(Cmd,2); 
    ADS1246_WriteBytes(Buffer,Length);  //写入数据]

    //ADS1246_SPI_CS_SET; 

你好,请看ADS1246 datasheet Table 12。如果输入为0的话,那么读出来的值就会围绕 000000h,FFFFFFh 跳动,因为总会一定自身的噪声。

谢谢您的回答。事实上我想采用单端输入,所以把VINN接GND了,但是VINP输入为0的时候,输出却是0.111V的电压,这个电压是怎么回事,理论上不是应该接近0么?这个电压应该不是噪声吧?

而且,另外一个问题我的AD电压转换的输出值,除了输入在0时候,输出为0.111V以外,测试输入0.4V~1.0V的时候,输出大约只有输入值的一半值,请教一下这两个问题是什么原因呢?下图是输入为0.400V的稳定输入得时候的AD输出:(其中AVINN接GND,AVINP=0.400V ,REFP=2.048V,REFN=0V,采样率为1000SPS,PGA=1)

这个误差common-mode input voltage 有关,请查手册定义。 另外,可以把ADS1246配置为单端输入模式看下结果如何?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top