我的ADS1246的图是下面连的,VCC=5.0,DVDD=3.3,VREF=2.048然后短接AINN与AINP输出是是0.111X的一个电压值,其中X为跳变位,求大侠解释一个,不胜感激
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.
我的ADS1246的图是下面连的,VCC=5.0,DVDD=3.3,VREF=2.048然后短接AINN与AINP输出是是0.111X的一个电压值,其中X为跳变位,求大侠解释一个,不胜感激
你好!
请查ADS1246 datasheet page13, Table 3. 会发现在1000SPS, PGA=1的情况下,input noise = 284.59uVpp = 0.00028459V,所以就只能保证0.111不变化了。
上图是断开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 跳动,因为总会一定自身的噪声。