在用CBU进行产品开发过程中,发现ADC数据与实际电压有较大差异,就用开发板进行验证,用可调电源给ADC口提供2.4V电压,理论上从CBU串口获取的ADC值是4095(12位AD),但实际获取的值最高只有3978,哪怕把电压调至高于2.4V,附AD程序代码和串口数据截图。
请大神们帮看看是什么问题,感谢!
在用CBU进行产品开发过程中,发现ADC数据与实际电压有较大差异,就用开发板进行验证,用可调电源给ADC口提供2.4V电压,理论上从CBU串口获取的ADC值是4095(12位AD),但实际获取的值最高只有3978,哪怕把电压调至高于2.4V,附AD程序代码和串口数据截图。
请大神们帮看看是什么问题,感谢!
有没有人遇到过这样的问题,盼回复!
我使用的SDK是BK7231N 3.3.4
问题在tkl_adc.c文件的tkl_adc_read_single_channel函数里,实际AD值出来后调用了saradc_calculate函数,经过该函数调整后AD值发生了变化
实际AD值为0,经过saradc_calculate函数调整后为15
实际AD值为4096,经过saradc_calculate函数调整后为3978
不明白为什么要这么调整呢?
已经安排内部研发分析,你可以在板块里搜索一下别人问的adc相关的问题。
您好!板块关于ADC相关的帖子都搜索看过,其中有提到通过使用CBU模块前去修正ADC曲线来匹配,主要是通过1V和2V两个电压进行采集来修正,似乎saradc_calculate这个函数就是此作用,但这无形中增加生产成本,对于这类芯片来说,ADC的一致性那么差感觉有点不可理解,希望涂鸦团队能想办法解决