cc2530 参考内部1.25v 的AD采样出来的值准确度
想问下,为什么我们测试不同板子cccc2530 参考内部1.25v 的AD采样出来的值差异很大呢?是不是AD精度很低?
CC2530 应该是1.15V
CC2430是1.25V 请重新测试下
恩 , 我用VDD5作为参考电压的话,一样误差很大啊! 大概在0.3V左右。 设置的是12位的。
使用Z-STACK的库函数也一样。 代码如下:
uint32 vddDectReadBatty(uint8 channel)
{
uint16 ADCREGValue = 0;
SET_IO_PORT_DIR(0,1,IO_IN);//设置P0..6为输入模式
ADC_ENABLE_CHANNEL(1); //使能通道6作为ADC的采样通道
ADC_SINGLE_CONVERSION(ADC_REF_AVDD|ADC_12_BIT| 0x01); //参考电压为AVDD5引脚电压,(12位分辨率)
ADC_SAMPLE_SINGLE(); //启动单次采样
while (!(ADCCON1 & 0x80));
/* Disable channel after done conversion */
ADCCFG &= (0x01 ^ 0xFF);
ADCREGValue = (int16) (ADCL);
ADCREGValue |= (int16) (ADCH << 8);
ADCREGValue >>= 2;
return ADCREGValue;
}
或者使用库函数的
vddT = HalAdcRead(HAL_ADC_CHN_AIN1,HAL_ADC_RESOLUTION_14);
读取之后 (vddT/2048)*3 (我用的是3V稳压芯片 ) 读取出来的结果相差0.3V左右。
谢谢!
抽取率和有效位数是不一样的,需要通过信噪比来换算下,正常的话误差应该是0.1V
应该?你们TI员工好烂呀!