找回密码
 注册
搜索
查看: 5025|回复: 19

[讨论] 关于ADC校准

[复制链接]
发表于 2012-1-9 20:46:28 | 显示全部楼层 |阅读模式
算法主要为:
1、控制电源输出3.4v和4.2v电压,测得实际电压为Y1和Y2.
2、手机ADC检测到的ADC为分别为X1和X2.
3、slope=(Y2-Y1)/(X2-X1)

那问题就来了 :

1、Y1和Y2是由什么测试出来的,是手机还是电源 ?    Y1和Y2是电池座的电压还是电源输出端的电压还是BB ADC 检测Pin脚处的电压?

2、X1和X2是怎么测到的,X1和X2是ADC值,也就是对应于Y1和Y2电压的ADC值,问题是此时是还没有校准的,是怎么得到的ADC1和ADC2的?如果可以一一准确的对应过去,那还用校准干吗 ?
 楼主| 发表于 2012-1-13 21:30:27 | 显示全部楼层
以下是引用wyzcl在2012-1-13 21:18:03的发言:
对。同时agilent电源仪表面板上显示的值即为内部adc 转换后测量时候得到的。
你可以实验一下手工设置一下电源的电压,比如手工输入3.4v,确定后看仪表
面板的显示一般不一定是完全刚好3.400V, 有时候是3.401v 等。



好的 ,thank you  [em08]
点评回复

使用道具 举报

发表于 2012-1-13 21:18:03 | 显示全部楼层
对。同时agilent电源仪表面板上显示的值即为内部adc 转换后测量时候得到的。
你可以实验一下手工设置一下电源的电压,比如手工输入3.4v,确定后看仪表
面板的显示一般不一定是完全刚好3.400V, 有时候是3.401v 等。
点评回复

使用道具 举报

 楼主| 发表于 2012-1-13 20:35:36 | 显示全部楼层
以下是引用wyzcl在2012-1-13 0:32:57的发言:
ok. 明白楼主的意思了。
是这样的。象agilent这样的高精度程控电源,它输出电压的同时会在内部是有一个高精度的仪表测量级别的ADC 进行采样和测量,形成一个反馈控制回路使输出的电压能够保证很高的精度。

诚如楼主所说程序控制命令输出是3.4v的时候电源输出的不会是完全的3.4v,但是如果是agilent这样精度电源的话一般会精确到小数点后三到四位。

Y1, Y2 的值就是程控电源本身的高精度ADC实际采样测量后的返回值。这个值就比较精确的反应了电源的输出值。



也就是说:ADC校准算法中,y1和y2的值是校准工具读到的电源的值。只是这个值是电源反馈控制时返回的值,反正是电源读到的电压。
点评回复

使用道具 举报

发表于 2012-1-13 00:32:57 | 显示全部楼层
ok. 明白楼主的意思了。
是这样的。象agilent这样的高精度程控电源,它输出电压的同时会在内部是有一个高精度的仪表测量级别的ADC 进行采样和测量,形成一个反馈控制回路使输出的电压能够保证很高的精度。

诚如楼主所说程序控制命令输出是3.4v的时候电源输出的不会是完全的3.4v,但是如果是agilent这样精度电源的话一般会精确到小数点后三到四位。

Y1, Y2 的值就是程控电源本身的高精度ADC实际采样测量后的返回值。这个值就比较精确的反应了电源的输出值。
点评回复

使用道具 举报

 楼主| 发表于 2012-1-12 23:14:13 | 显示全部楼层
以下是引用gtx506780440在2012-1-12 9:42:16的发言:
、比如程序控制命令电源输出3.4V和4.2V两处电压,但实际输出的是3.41V和4.21V,那3.41V和4.21V这两个实际输出的电压是谁测试出来的,是电源测试的吗?

我个人觉得,楼主的疑惑在于电压谁来检测,其实楼主钻牛角尖了,
整个过程是这样,程序控制高精度电源输出3。4V和4。2V,(高精度电源虽然还是有误差,我们姑且认为他是一个标准值),程序记录,此时电压为34000,对手机来讲,他不需要知道此时电压是多少,他只需要知道此时ADC转换后的DAC值,此时我们把3400和这个时候手机转换的DAC对应起来,取一组值。同样,4。2V的时候取第二组值。
两组值就能把3。4V和4。2V电压之间任何一点的DAC值给准确的表达出来。例如,此时BB检测到一个电压,他不知道是多少,但是ADC一定会转换一个DAC出来,带到上面校准的方程里面,就能算出具体的电压值,再显示到手机屏幕。



这种做肯定是有误差的。
比如命令输出3.4v和4.2V,但实际输出的是3.41v和4.2v,对应的DAC值分别是x1和x2,那么算出的slop和offset肯定是不一样的。比如输出某个电压时对应的DAC是x3。那么根据x3算出对应的电压时,理论值与实际值是不一样的。也就是说也能计算出一个电压来,但不是它的准确实际的电压。

比如根据3.4v和4.2v计算出的slop和offset算出的电压是3.8v,根根据3.41v和4.2v计算出的slop和offset算出的电压是3.85v。那么手机认为此时的电压是3.8v,但事实上3.85v才是它的实际电压。
点评回复

使用道具 举报

 楼主| 发表于 2012-1-12 23:05:04 | 显示全部楼层
以下是引用wyzcl在2012-1-11 22:16:17的发言:
楼主啊,楼主:
正常工作程控电源一般来说精度是很高的,一般精度要到小数点后三位。
校准就是以它作为参照的,当然在使用程控电源之前可以用高精度的万用表对
程控电源进行测量看看是否输出电压在允许的误差之内。


这个我知道精确确度是很高的。

是在看mtk的校准算法时写到,设定的是3.4v和4.2v,但实际测到的是y1和y2,也就是说算法在设计时考虑到了命令输出的与实际输出的是不一致的,而且在举例计算时都不是以3.4V和4.2V去计算的,而是以实际测试的值来计算的。 只是好奇这个y1和y2是由谁来测试到的 ?
点评回复

使用道具 举报

发表于 2012-1-12 09:42:16 | 显示全部楼层
、比如程序控制命令电源输出3.4V和4.2V两处电压,但实际输出的是3.41V和4.21V,那3.41V和4.21V这两个实际输出的电压是谁测试出来的,是电源测试的吗?

我个人觉得,楼主的疑惑在于电压谁来检测,其实楼主钻牛角尖了,
整个过程是这样,程序控制高精度电源输出3。4V和4。2V,(高精度电源虽然还是有误差,我们姑且认为他是一个标准值),程序记录,此时电压为34000,对手机来讲,他不需要知道此时电压是多少,他只需要知道此时ADC转换后的DAC值,此时我们把3400和这个时候手机转换的DAC对应起来,取一组值。同样,4。2V的时候取第二组值。
两组值就能把3。4V和4。2V电压之间任何一点的DAC值给准确的表达出来。例如,此时BB检测到一个电压,他不知道是多少,但是ADC一定会转换一个DAC出来,带到上面校准的方程里面,就能算出具体的电压值,再显示到手机屏幕。
点评回复

使用道具 举报

发表于 2012-1-11 22:16:17 | 显示全部楼层
楼主啊,楼主:
正常工作程控电源一般来说精度是很高的,一般精度要到小数点后三位。
校准就是以它作为参照的,当然在使用程控电源之前可以用高精度的万用表对
程控电源进行测量看看是否输出电压在允许的误差之内。
点评回复

使用道具 举报

 楼主| 发表于 2012-1-11 20:36:01 | 显示全部楼层
以下是引用gtx506780440在2012-1-11 18:11:07的发言:
1、Y1和Y2是由什么测试出来的,是手机还是电源 ?                                Y1和Y2是电池座的电压还是电源输出端的电压还是BB ADC 检测Pin脚处的电压?

2、X1和X2是怎么测到的,X1和X2是ADC值,也就是对应于Y1和Y2电压的ADC值,问题是此时是还没有校准的,是怎么得到的ADC1和ADC2的?如果可以一一准确的对应过去,那还用校准干吗

Y1 Y2是指控制电源输出两个电压值(利用的是程控电源的高精度)到BB的VBAT
X1 X2是BB内部ADC转换后,得出的DAC值,这个是BB检测出来,(每个ADC转换出来的DAC可能有差异,所以需要校准)
整理校准,最核心的是基于程控电源的高精度,他是一个确定值。



1、比如程序控制命令电源输出3.4V和4.2V两处电压,但实际输出的是3.41V和4.21V,那3.41V和4.21V这两个实际输出的电压是谁测试出来的,是电源测试的吗?感觉电源是执行命令输出的3.4V和4.2V,实际输出的多少它应该是不知道的。
点评回复

使用道具 举报

 楼主| 发表于 2012-1-11 20:30:38 | 显示全部楼层
以下是引用janbore在2012-1-11 10:16:45的发言:
Y1,Y2当然是ADC采样过后,依据ADC里面的参考电源得出。这个时候电源就是要标准的输出3.4及4.2.


Y1,Y2当然是ADC采样过后——这个ADC采样是指电源还是指手机 ?
校准程序控制电源输出3.4V和4.2V,但实际电源输出的肯定不是很准确的3.4V和4.2V,而是有一定的偏差,比如电源本身的漏电流。
点评回复

使用道具 举报

发表于 2012-1-11 18:28:40 | 显示全部楼层
楼上说的正理
点评回复

使用道具 举报

发表于 2012-1-11 18:11:07 | 显示全部楼层
1、Y1和Y2是由什么测试出来的,是手机还是电源 ?    Y1和Y2是电池座的电压还是电源输出端的电压还是BB ADC 检测Pin脚处的电压?

2、X1和X2是怎么测到的,X1和X2是ADC值,也就是对应于Y1和Y2电压的ADC值,问题是此时是还没有校准的,是怎么得到的ADC1和ADC2的?如果可以一一准确的对应过去,那还用校准干吗

Y1 Y2是指控制电源输出两个电压值(利用的是程控电源的高精度)到BB的VBAT
X1 X2是BB内部ADC转换后,得出的DAC值,这个是BB检测出来,(每个ADC转换出来的DAC可能有差异,所以需要校准)
整理校准,最核心的是基于程控电源的高精度,他是一个确定值。
点评回复

使用道具 举报

发表于 2012-1-11 10:16:45 | 显示全部楼层
Y1,Y2当然是ADC采样过后,依据ADC里面的参考电源得出。这个时候电源就是要标准的输出3.4及4.2.
点评回复

使用道具 举报

 楼主| 发表于 2012-1-10 22:46:09 | 显示全部楼层
以下是引用janbore在2012-1-10 13:41:17的发言:
严格意义上来说,Y1,Y2是ADC检测pin脚的输入电压。程控电源的输出电压,如果你的程控电源经过仪表检测公司的年检,那么这个值的精度还是很高的。加之,程控电源都有补偿功能,它能保证你电源与主板接触点的电压是你设置的电压。那么电源与主板接触点,比如电池连接器到ADC输入脚理论上还是有压降的,所以一般要将这个电源线加粗,以降低连接器到输入脚的压降。
X1,X2是ADC检测到的值,这个与校准不校准没有关系,校准了还是这个值,不校准也是这个值。所以的校准,是将ADC采样到的值与我们想要的理想值做比较,看看差异,再将这个值补偿到需要用到的电压的地方,比如电量显示,耳机输入电平检测等。



1、看MTK ADC校准的算法是:命令电源输出3.4V和4.2V两个电压,测得实际输出电压为Y1和Y2,比如Y1=3.4203255,Y2=4.2102545624,我想知道的是这个Y1和Y2是由谁测得的,是电源还是手机 ?

2、感觉ADC校准应该是为了测试电压显示电压吧。通过校准建立ADC与输入电压的一一对应关系,以后只要知道了ADC的值就知道了输入电池的电压,从而确定显示电池的电量。
点评回复

使用道具 举报

 楼主| 发表于 2012-1-10 22:36:38 | 显示全部楼层
以下是引用cimgg在2012-1-10 9:55:50的发言:


问题是,如果ADC是BB根据输据电压读到的值,也就是说电压与ADC会一一对应,那还用校准干吗 ?
点评回复

使用道具 举报

发表于 2012-1-10 13:41:17 | 显示全部楼层
严格意义上来说,Y1,Y2是ADC检测pin脚的输入电压。程控电源的输出电压,如果你的程控电源经过仪表检测公司的年检,那么这个值的精度还是很高的。加之,程控电源都有补偿功能,它能保证你电源与主板接触点的电压是你设置的电压。那么电源与主板接触点,比如电池连接器到ADC输入脚理论上还是有压降的,所以一般要将这个电源线加粗,以降低连接器到输入脚的压降。
X1,X2是ADC检测到的值,这个与校准不校准没有关系,校准了还是这个值,不校准也是这个值。所以的校准,是将ADC采样到的值与我们想要的理想值做比较,看看差异,再将这个值补偿到需要用到的电压的地方,比如电量显示,耳机输入电平检测等。
点评回复

使用道具 举报

发表于 2012-1-10 09:55:50 | 显示全部楼层
以下是引用gook2009在2012-1-9 20:46:28的发言:
算法主要为:
1、控制电源输出3.4v和4.2v电压,测得实际电压为Y1和Y2.
2、手机ADC检测到的ADC为分别为X1和X2.
3、slope=(Y2-Y1)/(X2-X1)

那问题就来了 :

1、Y1和Y2是由什么测试出来的,是手机还是电源 ?                                Y1和Y2是电池座的电压还是电源输出端的电压还是BB ADC 检测Pin脚处的电压?
//应该是电池端电压
2、X1和X2是怎么测到的,X1和X2是ADC值,也就是对应于Y1和Y2电压的ADC值,问题是此时是还没有校准的,是怎么得到的ADC1和ADC2的?如果可以一一准确的对应过去,那还用校准干吗 ?

//ADC是 BB读到的值,得到这个值就可以计算截距及斜率
点评回复

使用道具 举报

发表于 2012-1-9 23:47:51 | 显示全部楼层
楼主思考得比较深入
我也期待解答
点评回复

使用道具 举报

发表于 2017-5-21 19:14:44 | 显示全部楼层

楼主思考得比较深入
我也期待解答
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 18:53 , Processed in 0.052386 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表