你好,
DA14580的AD支持差分工作模式,P00&P01、P02&P03分别组成了两个差分对。
adc_init(0,GP_ADC_SIGN,0);
adc_usDelay(20);
adc_enable_channel(0);
adc_sample=adc_get_sample();
如上代码,实现差分方式采集P00、P01两脚间的电势差。但尝试了各种情况,差分采值总不如预期,如把P00、P01同时接地,差分采出的值不为0,且与0偏离很远。
请问,差分采样方式有哪些注意事项:
1)对P00, P01自身的电压值有没有限制?
2)在选择内部1.2v参考电压的情况下,差分采样的范围是多少?
3)差分采样的输出应该是一个有符号数吧?它的bit9是不是就是符号位?
期待您的回答,谢谢!
Keywords:
Device:
1. 对P00、P01自身的电压值有没有限制?
P00和P01自身的电压值应参考板子自身的输入电平限制,-0.1V~3.3V
2. 在选择内部1.2v参考电压的情况下,差分采样的范围是多少?
差分采样的范围取决于你是否在adc_init的过程中启用3倍输入衰减(GP_ADC_ATTN3X)。
若不启用,则采样范围为-1.2~+1.2V,实际输入限制为-1.3V~+1.3V
若启用,则采样范围为-3.6V~+3.6V, 实际输入限制为-3.45V~+3.45V
3. 差分采样的输出应该是一个有符号数吧?它的bit9是不是就是符号位?
差分采样的输出不存在符号位,10bit转换为的十进制数0~1023代表从采样范围最低点到最高点的值,例如在差分采样时,输出结果1FF或者200Hex(0111111111Bin 或者 1000000000Bin)对应实际电压的0V。
建议在设置为差分采样(adc_init(…))后再进行一次校准(adc_calibrate())以减少采样误差
Cheers,