你好,
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是不是就是符号位?
期待您的回答,谢谢!
关键词:
设备:
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是不是就是符号位?
差分采样的输出不存在符号位,10位转换为的十进制数0〜1023代表从采样范围最低点到最高点的值,例如在差分采样时,输出结果1FF或者200Hex(0111111111Bin或者1000000000Bin)对应实际电压的0V。
建议在设置为差分采样(adc_init(...))后再进行一次校准(adc_calibrate()),以减少采样误差
干杯,