矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: zhengrob

基于AD7175的Voltgen自校准电压源_更新V2.1

  [复制链接]
     
 楼主| 发表于 2024-9-3 09:31:44 | 显示全部楼层
Rafier 发表于 2024-9-3 08:32
频率大概是1Hz,噪放开的是0.1~10Hz带宽,带宽最大可以10KHz。如果是0.1Hz~10KHz,会多一些毛刺,依然1Hz ...

你的板子地层是如何连接的?模拟地,数字地,电源地在哪里交汇连接的的?
回复 支持 反对

使用道具 举报

     
发表于 2024-9-3 09:42:32 | 显示全部楼层
技术贴,学习了!!
回复 支持 反对

使用道具 举报

发表于 2024-9-3 10:33:27 | 显示全部楼层
zhengrob 发表于 2024-9-3 09:31
你的板子地层是如何连接的?模拟地,数字地,电源地在哪里交汇连接的的?

板子分了模拟地、数字地、电源地,模拟地连接基准的星形地和ADC的模拟地、电源地满铺除模拟地和数字地以外的地方。隔离数字地和数字地按照技术文档的建议,在ADUM芯片下方重叠。模拟地、数字地、电源地三者在板子中心点附近通过0R电阻交汇。
工作状态下,7V基准相对模拟地有21uV的波动,模拟地相对电源地有约16uV的波动。
1.png
回复 支持 反对

使用道具 举报

     
发表于 2024-9-3 10:49:06 | 显示全部楼层
本帖最后由 MF35_ 于 2024-9-3 10:56 编辑
Rafier 发表于 2024-9-3 10:33
板子分了模拟地、数字地、电源地,模拟地连接基准的星形地和ADC的模拟地、电源地满铺除模拟地和数字地以 ...



直观感觉,白圈内的布法是有问题的,至少我是不会这么布线的,这里蓝色数字信号线跨地了
a.png
回复 支持 反对

使用道具 举报

     
发表于 2024-9-4 13:45:16 | 显示全部楼层
图看起来漂亮, 好像不是嘉立创的EDA.

要求高, 用光耦更干净. 只是成本略高.
各处的供电+,地, 各回总供电大电容处, 在这个基础上可以部分片铺地(不挡其它的"地"回流路线)
各模拟信号地集中地一点, 在基准附近.
说起来容易, 做起来费事.

普通0欧贴片电阻, <=50毫欧就合格.
回复 支持 反对

使用道具 举报

     
发表于 2024-9-12 10:58:10 | 显示全部楼层
zhengrob 发表于 2024-9-3 09:31
你的板子地层是如何连接的?模拟地,数字地,电源地在哪里交汇连接的的?



问一下楼主,你有没有对回读做过大的阶跃测试,也就是按下面的步骤
1.模拟开关切换到GND档,然后DAC输出10V电压,等待一小段时间让DAC输出稳定
2.模拟开关切换到DAC档,然后ADC马上连续回读DAC电压(不切换模拟开关),间隔不要太长(1秒5次以上)

在我的实验中,我做上述测试,第2步的回读数据在模拟开关切换后的1秒内存在一个大于十几uV的连续变化,变化趋势先上升后下降,大约1秒后稳定在±1uV的水平。

我同时也测过模拟开关不动(固定在DAC通道),然后DAC从0V输出直接变到10V输出,同样ADC马上连续回读,发现虽然同样需要在1秒后才能稳定到±1uV的水平,但不稳定阶段只有不到3uV的变化,这已经算是正常了。

所以根据测试结果得知,模拟开关切换时有较大的影响,不知道你有没有遇到这个问题。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-9-12 18:03:42 | 显示全部楼层
MF35_ 发表于 2024-9-12 10:58
问一下楼主,你有没有对回读做过大的阶跃测试,也就是按下面的步骤
1.模拟开关切换到GND档,然后DAC ...

0V-10V的阶跃实际情况是这样的(借助上位机):



比你描述的时间要长些,DAC输出有一个过冲然后回调,这个跟程序有关的。至于与模拟开关的关系我估计需要上示波器才能看得出来。
回复 支持 反对

使用道具 举报

     
发表于 2024-9-12 22:10:04 | 显示全部楼层
zhengrob 发表于 2024-9-12 18:03
0V-10V的阶跃实际情况是这样的(借助上位机):



你可能没有明白我的意思

因为每次读数要分别对GND、REF、DAC进行一次测量,所以模拟开关要切换三次,而每次切换,都存在阶越,比如GND=0V,REF=7V,这就是一个7V的阶越,如果这个阶越要等待1秒钟才能稳定到1~2uV级别,意味着切换模拟开关后立刻读数就是不准确的,所以需要在切换开关和ADC读数之间进行延迟。而我阅读washu的源代码,发现他并没有加延迟(也就延迟了1毫秒),所以我才有这个疑惑,因为我的电路中模拟开关切换后电压要1秒钟才能稳定到1~2uV的水平,我至今还未找到原因。

做这个测试不需要示波器,示波器也看不出来uV级别的变化,但需要单独写个测试程序,我自己的测试流程如下

0.把DAC设置为输出10V
1.模拟开关切换到GND挡位
2.ADC连续读取5秒钟读数,每秒不少于5个(少了不利于观察),把结果连续输出到串口
3.模拟开关切换到DAC挡位
4.ADC连续读取5秒钟读数,每秒不少于5个,把结果输出到串口

重复步骤1~4,并观察步骤4中的数据,分析稳定过程,注意这里读取数据只是用ADC进行采样即可,不要与GND和REF一起进行校正

a.jpg
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-9-13 09:04:27 | 显示全部楼层
MF35_ 发表于 2024-9-12 22:10
你可能没有明白我的意思

因为每次读数要分别对GND、REF、DAC进行一次测量,所以模拟开关要切换三 ...

我明白你的问题了。如果DAC输出已经提前设置并且稳定,这应该与模拟开关的jitter关系不大,因为与jitter作用时间不是一个数量级,你这个测试已经是几百ms到秒级了。你应该查看一下其他原因。

我得空的时候连上MDK到watch window中看一下,应该最多影响第一个读数,之后不应该。
回复 支持 反对

使用道具 举报

发表于 2024-9-13 09:25:41 | 显示全部楼层
经过试验,发现我的板子震荡有下列几个原因:
1)主要原因:基准用的ADR1399,规格书说要加上消振电路(5R1串1uf);应该接到Vref与AGNG之间,而不是Vref至Power_GND;
2)次要原因:模拟电路的接地,特别是输出电容的接地,应该接AGND而不是Power_GND;
3)还没完全解决的问题:5V缓冲后进ADC的基准电压噪声偏大(0.1~10Hz带宽6uVpp,0.1~10kHZ带宽30uVpp),可能是它导致输出电压偶尔有较大跳动;或许是连接模拟开关DG421的数字电路距离运放、ADC模拟输入太近带来的干扰。
回复 支持 反对

使用道具 举报

     
发表于 2024-9-13 11:31:05 | 显示全部楼层
zhengrob 发表于 2024-9-13 09:04
我明白你的问题了。如果DAC输出已经提前设置并且稳定,这应该与模拟开关的jitter关系不大,因为与jitter ...


如果保持模拟开关不动(固定在DAC通道),通过控制DAC实现0/10V阶越,不稳定的幅度明显小很多,大概只有3uV,但不稳定的持续时间没有变。这个现象很有趣,也很有迷惑性,它最初让我觉得是模拟开关导致了建立时间过长,直到我令DAC产生0/20V阶越,问题又出现了,不稳定的幅度大大增加,于是我又实验了0/5V阶越,神奇的是不论用模拟开关还是用DAC来产生,都没有出现不稳定的现象。

考虑到模拟开关产生的阶跃,其压摆率要远大于通过DAC产生的阶越,所以可以认为当阶越的压摆率超过某个阈值后,不稳定会迅速增加,这就是为何同样是0/10V阶跃,由DAC产生时波动就很小的原因,同时DAC产生0/20V阶跃时,因为DAC的建立时间是固定的,因此压摆率翻倍了,所以问题又出现了,而0/5V阶跃因为压摆率不够高,所以没有问题。

因为最初我怀疑是ADC驱动电路不够快,所以我换过更大SR的运放,问题依旧,我甚至把ADC输出从差分改回单端也一样,所以问题应该不是在ADC驱动(我用的OPA2210比你用的ADA4522速度快太多了)。

所以我现在猜测问题可能出在前端缓冲器,你用的是AD711,GBW 4M,SR 20V/uS,我用的是OPA827,GBW 22M,SR 28V/uS,同样是JFET输入运放,速度而且比AD711更快,但我不确定OPA827是否是MUX友好型(手册没说),某些非MUX型运放在大SR阶越输入时会产生一些问题,由于我手头没有AD711,稍晚我找个板子拆一个换上去试试。
回复 支持 反对

使用道具 举报

     
发表于 2024-9-13 11:38:43 | 显示全部楼层
接近ADC输入端上的1uF换成100nF会不会有变化.运放输出-->1uF负载,感觉是需要个稳定时间.
回复 支持 反对

使用道具 举报

     
发表于 2024-9-13 11:40:13 | 显示全部楼层
本帖最后由 MF35_ 于 2024-9-13 11:41 编辑
Rafier 发表于 2024-9-13 09:25
经过试验,发现我的板子震荡有下列几个原因:
1)主要原因:基准用的ADR1399,规格书说要加上消振电路(5R ...



你的问题基本上是由接地引起的,我的建议是,使用一整个地平面,不要做分割,然后在走线层把模拟和数字信号严格分区,我目前就是这么做的,没有任何问题,我用的是4层板,我的层分布是:

1--顶层布线,主要的布线层,模拟信号几乎全部在这层
2--接地层,为顶层提供参考
3--接地层,为底层提供参考
4--底层布线,电源走线和次要布线

如果信号(包括电源)在1层和4层之间变换,要在信号过孔附近增加缝合接地孔,顶层和底层不要随意覆铜,除非你认为有必要(比如屏蔽或保护),否则不要覆铜。电路的分区很重要,注意信号的回流路径,数字信号的回流路径不能和模拟信号有重叠,所以数字信号不要经过模拟区域,这是我的分区布局,你可以参考

a.png

回复 支持 反对

使用道具 举报

发表于 2024-9-13 19:00:28 | 显示全部楼层
MF35_ 发表于 2024-9-13 11:40
你的问题基本上是由接地引起的,我的建议是,使用一整个地平面,不要做分割,然后在走线层把模拟和数 ...

非常感谢您的指导
回复 支持 反对

使用道具 举报

     
发表于 2024-9-18 17:26:14 | 显示全部楼层
好帖子,学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-26 09:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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