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: ADS1248

Part Number: CC2530
Other Parts Discussed in Thread: ADS1248,

您好!

现在利用CC2530驱动ADS1248时出现了精度不正确的情况

想要寻求一些技术支持 目前我们是用来检测电压 通过将ADS1248的寄存器进行了一些配置

void ADS1248_Init(void)
{
P0_1=0;
P0_7=0;
MicroWait(100);
P0_1=1;
P0_7=1; //连续
MicroWait(200);
P0_4=0;

ADS1248_SetInputChannel(P_AIN0, N_AIN1);
ADS1248_SetReference(REF_Inter_AlwaysOn, SELT_Inter); // 设置外部REF0为参考源
// ADS1248_SetReference(REF_Inter_AlwaysOn, SELT_REF1); // 设置外部REF0为参考源

MicroWait(500);
P0_4 = 0;
SPI_Send_Byte(ADS_WREG | ADS_IDAC0);
SPI_Send_Byte(0x00);
SPI_Send_Byte(0x00);
// SPI_Send_Byte(0x01);
// SPI_Send_Byte(idacImage);
// SPI_Send_Byte(idac1 | idac2);
P0_4 = 1;
P0_4 = 0;
SPI_Send_Byte(ADS_WREG | ADS_IDAC1);
SPI_Send_Byte(0x00);
SPI_Send_Byte(0x00);
// SPI_Send_Byte(0x01);
// SPI_Send_Byte(idacImage);
// SPI_Send_Byte(idac1 | idac2);
P0_4 = 1;
// ADS1248_SetIDAC(IDAC1_IEXT1, IDAC2_OFF, IMAG_1000); // 设置电流源
ADS1248_SetPGAGainAndDataRate(PGAGain_4, DataRate_20); // 设置PGA倍数和传输速率
}

这是配置的代码细节

然后就是计算

T_NUM=ADS1248_ReadADC();

TT_NUM=T_NUM*2.048/4/8388608

最终计算出来的结果是真实输入电压的4倍

想请问一下这中间是哪里配置的不合理能希望得到专业技术人员的技术支持

P0_1=0;//RESET
P0_7=0;//START
MicroWait(100);
P0_1=1;//RESET
P0_7=1; //连续
MicroWait(200);
P0_4=0;//CS

补充前面引脚注释 SPI的引脚是时钟P0_5 ADS1248的DOUT连接P0_2,DIN连接P0_3

上述问题在通过正规渠道购买芯片已经解决 现在的误差仅为100uV左右不知道是否已经达到理论精度呢