TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2530: ADS1248

Part Number:CC2530Other 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左右不知道是否已经达到理论精度呢

Daniel:

您好

haifeng zhang 说:上述问题在通过正规渠道购买芯片已经解决

关于非正规渠道购买的IC建议使用正规渠道的IC来处理,这样有利于您排除故障。

haifeng zhang 说: 现在的误差仅为100uV左右不知道是否已经达到理论精度呢

这是官方多次实验结果,请您针对您的输出对照此图来确定。

赞(0)
未经允许不得转载:TI中文支持网 » CC2530: ADS1248
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1