在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
EETOP诚邀模拟IC相关培训讲师 创芯人才网--重磅上线啦!
查看: 9075|回复: 17

[解决] 采用差分CDAC的SAR ADC的输入与输出数字码计算问题

[复制链接]
发表于 2021-4-26 19:31:19 | 显示全部楼层 |阅读模式
100资产
最近在看一个机遇Vcm-based开关技术的SAR ADC,输入模拟量和计算得到的输出数字码始终都对不上,请大神指导。另外下图只算到第二步,因为到这里就错了,即使取反也是错的,所以后面就没算。理论上Vin=2.5-0=2.5,理论上输出的数字码应该是1010吧

微信图片_20210426192441_看图王.jpg

最佳答案

查看完整内容

电源供电是4V,差分输入的范围是-4V到+4V。因为ADC差分输入Vdiff = Vip - Vin. 其中Vip和Vin的取值范围都是0到4V,所以Vdiff的取值范围是0-4=-4V到4-0=+4V。不知道这样是不是可以理解? 这个好像一般书里也不会特别强调,可能是作为一种默认的共识了吧。
发表于 2021-4-26 19:31:20 | 显示全部楼层


zxy408120629 发表于 2021-4-27 10:44
感谢你的回答,我还是有个疑问,我的输入是用单电源供电的,Vref+=4V,Vref-=0V,为什么你这里计算LSB时 ...


电源供电是4V,差分输入的范围是-4V到+4V。因为ADC差分输入Vdiff = Vip - Vin. 其中Vip和Vin的取值范围都是0到4V,所以Vdiff的取值范围是0-4=-4V到4-0=+4V。不知道这样是不是可以理解?
这个好像一般书里也不会特别强调,可能是作为一种默认的共识了吧。
发表于 2021-4-26 23:30:40 | 显示全部楼层
本帖最后由 方块forever 于 2021-4-26 23:41 编辑

我一般会让Vip和Vin的共模等于Vcm, 在你的例子里就是Vip=3.25V, Vin=0.75V. 你可以这样再算一算试试。不过从你现在的计算上来看,我没发现什么问题呀。你的差分输入的范围是-4到4,所以LSB=(4-(-4))/16=0.5. 所以2.5对应的输出码是1101(第一步2.5>0; 第二步 2.5>2; 第三步 2.5<3; 第四步 2.5>=2.5)。 但由于你是下级板采样,所以你在第一步到第二步的时候输入翻转了一下,导致出来的码会是0010. 其实这没有关系,你把比较器输出加个反相器就可以了。
 楼主| 发表于 2021-4-27 10:44:40 | 显示全部楼层


方块forever 发表于 2021-4-26 23:30
我一般会让Vip和Vin的共模等于Vcm, 在你的例子里就是Vip=3.25V, Vin=0.75V. 你可以这样再算一算试试。不过 ...


感谢你的回答,我还是有个疑问,我的输入是用单电源供电的,Vref+=4V,Vref-=0V,为什么你这里计算LSB时是[4-(-4)]/16,而不是[4-0]/16呢,难道差分结构的CDAC一定要用这种方式计算吗?有没有相关教材或资料对此作专门的说明的?
 楼主| 发表于 2021-4-27 18:21:30 | 显示全部楼层


方块forever 发表于 2021-4-26 19:31
电源供电是4V,差分输入的范围是-4V到+4V。因为ADC差分输入Vdiff = Vip - Vin. 其中Vip和Vin的取值范围都 ...


了解了,万分感谢,我还想请教一下,按照你说的这样,是不是即使参考电压为Vref+=4,Vref-=0,输出的数字码对应的模拟波形仍然是-4-4V的,这时的输入摆幅是不是也可以理解为是-4-4V呢?
发表于 2021-4-28 00:58:23 | 显示全部楼层


zxy408120629 发表于 2021-4-27 18:21
了解了,万分感谢,我还想请教一下,按照你说的这样,是不是即使参考电压为Vref+=4,Vref-=0,输出的数字 ...


是的,你可以说输入差分信号的范围就是-4V到+4V
 楼主| 发表于 2021-4-28 08:42:05 | 显示全部楼层


方块forever 发表于 2021-4-28 00:58
是的,你可以说输入差分信号的范围就是-4V到+4V


解答很圆满,万分感谢!
 楼主| 发表于 2021-4-28 16:43:29 | 显示全部楼层


方块forever 发表于 2021-4-26 23:30
我一般会让Vip和Vin的共模等于Vcm, 在你的例子里就是Vip=3.25V, Vin=0.75V. 你可以这样再算一算试试。不过 ...


对了,这里还有一点疑问,2.5对应的数字码为1101,第一位是符号位的话,1代表负号的话,按理2.5对应的不应该是0101吗?
发表于 2021-4-28 16:46:47 | 显示全部楼层


zxy408120629 发表于 2021-4-28 16:43
对了,这里还有一点疑问,2.5对应的数字码为1101,第一位是符号位的话,1代表负号的话,按理2.5对应的不应 ...


这里的码的表示不是two's complementary的码。你可以理解成输入从-4V到0V时,输出码从0000到0111;当输入从0V到4V时,输出码从1000到1111. 你可以之后的数字电路里再去转码。
 楼主| 发表于 2021-4-29 08:19:02 | 显示全部楼层


方块forever 发表于 2021-4-28 16:46
这里的码的表示不是two's complementary的码。你可以理解成输入从-4V到0V时,输出码从0000到0111;当输入 ...


好的,谢谢,我先消化消化
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 13:09 , Processed in 0.024090 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表