矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: MF35_

我也做个Voltgen,阶段性验证

[复制链接]
     
发表于 2024-7-24 09:37:44 | 显示全部楼层
MF35_ 发表于 2024-7-24 09:08
所以我也纳闷儿啊,但确实哪里都正常,我通入一个1Hz正弦波,把采样值读出来用Excel看,确实是正弦波, ...

你输入一个阶跃信号看看,比如 10HZ 方波

btw. 根据我的经验和其它坛友的仿制,(MCU 与 AD/DA)隔离与否区别不大,本身我设计这个隔离是为了方便连接上位机(PC)
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-7-24 09:44:12 | 显示全部楼层
本帖最后由 MF35_ 于 2024-7-24 09:51 编辑
washu 发表于 2024-7-24 09:37
你输入一个阶跃信号看看,比如 10HZ 方波  

btw. 根据我的经验和其它坛友的仿制,(MCU 与 AD/DA) ...



我回头试试采样方波,之前调试模拟通道的时候试过方波响应(没有做采样),因为放大电路的参数做了仿真和调整,ADC输入端看到的信号响应曲线很好,上升速度大概在500uS,没有过冲也没有明显欠冲

我说的隔离不是指用光耦、磁耦之类的隔离器隔离MCU,而是因为ADC和DAC共用一路SPI(你的设计用的是两路),所以ADC读取数据的时候(同时ADC在进行下一次转换),虽然DAC的CS没有选通,但SCK和SDIN是给到DAC的,而DAC肯定是有数字馈通量的,这个数字馈通指CS不选中的情况下,所以ADC在读取数据同时在进行下一次转换时,SPI的信号会被馈通到DAC输出,从而被正在转换的ADC采样到

新的板子其实就是加了个门电路,当CS选通时SPI信号才给入DAC,图中的与非门其实是或门,因为封装引脚一样,懒得重新画符号
x.jpg
回复 支持 反对

使用道具 举报

     
发表于 2024-7-24 09:51:34 | 显示全部楼层
MF35_ 发表于 2024-7-24 09:44
...我说的隔离不是指光耦、磁耦之类的隔离器,而是因为ADC和DAC共用一路SPI(你的设计用的是两路),所以ADC读取数据的时候(同时ADC在进行下一次转换),虽然DAC的CS没有选通,但SCK和SDIN是给到DAC的,而DAC肯定是有数字馈通量的,这个数字馈通指CS不选中的情况下,所以ADC在读取数据同时在进行下一次转换时,SPI的信号会被馈通到DAC输出,从而被正在转换的ADC采样到


所以我一开始就把 AD/DA 的数据通道分开啦

另我用的 2400,新的一轮采样开始是最后 1bit 读出的时钟下降沿 你看看你的 ADC 有木有这个模式

最后就是 PCB 布局问题了
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-7-24 09:58:05 | 显示全部楼层
washu 发表于 2024-7-24 09:51
所以我一开始就把 AD/DA 的数据通道分开啦

另我用的 2400,新的一轮采样开始是最后 1bit 读出的 ...


这不是为了节省那个隔离芯片嘛

2400这个最后1bit就是用来做连续连续的,不给这1bit就是单次,给了就是连续,这个ADC包括7175,都是启动转换前通过控制寄存器来决定是单次还是连续,如果是单次,转换完后就不会再转换了,除非你再给一个启动信号,如果是连续,会自动开始下一次转换,所以功能是一样的,只是操作方式不同,因为2440没有寄存器给你访问,所以只能把控制字放在通信位中。

我晚上再试试单次转换,理论上单次转换的话读取数据不会干扰到下一次转换(因为读取数据器件ADC不进行转换),如果用单次转换DAC的偏差正常,那就说明现在的偏差是SPI馈通导致的(因为那个最大值实在离平均值太远了,DAC正常噪声不应该是这样的)
回复 支持 反对

使用道具 举报

     
发表于 2024-7-24 13:29:16 | 显示全部楼层
每款ADC定位侧重点不同,ADS1262噪声确实低,INL稍高。但不像道听途说的人士说的性能不如ADS1256。
回复 支持 反对

使用道具 举报

     
发表于 2024-7-24 15:03:36 | 显示全部楼层
基于AD7175的Voltgen自校准电压源,学习学习
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-7-24 23:50:01 | 显示全部楼层
本帖最后由 MF35_ 于 2024-7-24 23:54 编辑

晚上继续测试,发现昨天乌龙了,读了三个字节共24位数据,data[0],data[1],data[2]
然后粗心把代码写成了value = (data[0] << 16) | (data[1] << 8) | data[0]
于是低8位就不变了(因为测量同一个电压时最高8位是不可能变的),改了后电压测试就看着很正常了,昨天那个一字不跳感觉就很假。

今天实际测了一下,发现读取低电压的时候,跳字很少,随着电压增大,跳字的幅度等比例增加,可以看到测量了四个电压,每个电压100次,其标准差的变化倍数,刚好基本等于电压的变化倍数
xxx.jpg

所以我觉得这不是ADC引入的噪声,否则噪声在不同电压下应该是相同的,为了验证这个结论,我试了下ADC自带的噪声测试模式,即ADC的差分输入内部短路并接到1/2VCC,结果不管怎么测,都只跳1个字,这已经优于手册给出的指标了,说明ADC没问题,但并不能说明基准没问题,因为这个测试的输入值实际是差分电压0(我的显示是经过了偏移计算的),基准的影响处于最低比例,是看不出来的
yyyy.jpg

但由于测试低电压时噪声是正常的,而我的最低电压其实对应ADC的负极值,如果基准有问题,低电压(负极值)时波动应该和高电压(接近20V)的波动一样,波动最小应该出现在10V电压处(此时ADC差分输入值为0),但实际上并非如此,DAC输出10V时波动也是呈比例的,所以基准也应该没问题

但奇怪的是直接测7V基准,波动居然和DAC电压一样是呈比例的,考虑到输入接地的时候(此时ADC实际上测量的是-5V加上一个几十mV的偏移,这是为了避免ADC共模电压超出范围)噪声是正常的,所以ADC的输入放大转换电路应该也没问题,因为它此时并非接地的,而是有一个几十mV的输入,此时唯一接地的只有模拟开关和输入端缓冲放大器了,目前暂时没有什么头绪,回头再思考一下,明天不行把模拟开关和输入缓冲绕过去再试试
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-7-25 10:03:56 | 显示全部楼层
本帖最后由 MF35_ 于 2024-7-25 10:08 编辑
scoopydoo 发表于 2024-7-24 06:24
严重期待 ADS127L21 的测试结果,这玩意儿好像比 AD7175-2 还略微便宜那么一丢丢 ~



ADC的自身噪声我昨天测了,通过内部的MUX把正负输入短路并接到中点电压,测试结果20mS调制时间(相当于1PLC)下跳动1LSB,偶现2LSB,这种测试法因为输入差分电压为0,所以测试结果不受基准的影响,仅仅是ADC自身的噪声水平,我觉得这个结果很不错了。

因为16M时钟下这个ADC最慢就是1PLC了(降低时钟也没用,OSR最大了),如果要10PLC,得自己手动搞,连续测10次再平均抽取(相当于串联一级10OSR的sinc1滤波,效果比真正的10PLC要稍差点儿),估计自身噪声会稳定在1LSB,我觉得做6位半完全没问题

但目前我的板子出现了随输入电压呈比例变化的噪声,由于输入电压其实只体现在AIN_P端,AIN_N端只是它的反向跟随,所以现象的本质其实是噪声随AIN_P电压呈比例变化,所以问题定位在ADC前面的模拟通道,运放电路出这种问题的可能性很小,我最大的怀疑是那个模拟开关引入了噪声,晚上改改电路再测一下
回复 支持 反对

使用道具 举报

     
发表于 2024-7-25 11:24:34 | 显示全部楼层
MF35_ 发表于 2024-7-25 10:03
ADC的自身噪声我昨天测了,通过内部的MUX把正负输入短路并接到中点电压,测试结果20mS调制时间(相当 ...

没看出来你用的是哪一款模拟开关,按理说不应该啊。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-7-25 11:42:48 | 显示全部楼层
本帖最后由 MF35_ 于 2024-7-25 11:46 编辑
scoopydoo 发表于 2024-7-25 11:24
没看出来你用的是哪一款模拟开关,按理说不应该啊。


TMUX7209,一款TI的低电荷泄露开关,双4:1,选这个而不是原来的4个单独开关,是因为最初选的ADC是7175,7175有两个GPIO,正好可以控制开关。
现在还不确定是不是它的问题,但已经排除了ADC的问题,下一步是找出为什么噪声随输入电压等比例提高,所以我也非常的奇怪,正常干扰噪声是不会随电压变化的
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-7-26 00:18:41 | 显示全部楼层
本帖最后由 MF35_ 于 2024-7-26 00:58 编辑
scoopydoo 发表于 2024-7-25 11:24
没看出来你用的是哪一款模拟开关,按理说不应该啊。



总算找到干扰哪里来的,应该是我用的开发板在调试,SPI线都是飞在空中的,而且SPI的地并不好,干扰大,我简单的做了一个屏蔽壳把基准部分遮起来,然后测量波动下降了很多,但还是有点儿超出正常值,而且依然随电压升高而增大,因为测量通道滤波电容我为了省事儿全部用的MLCC,我怀疑噪声随输入电压升高而增大是MLCC电容导致的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-7-26 00:57:15 | 显示全部楼层
本帖最后由 MF35_ 于 2024-7-26 01:09 编辑
washu 发表于 2024-7-24 09:51
所以我一开始就把 AD/DA 的数据通道分开啦

另我用的 2400,新的一轮采样开始是最后 1bit 读出的 ...



我看你的设计中凡是直接接在模拟信号上的电容用的都是钽电容,是MLCC有噪声所以用钽电容吗?我为了方便都用了MLCC,特意选了大封装以避免容量下降,结果出现奇怪的现象就是噪声水平随输入电压的升高而升高,我怀疑是MLCC造成的,MLCC的压电效应应该是会产生噪声的,一般电路不会有影响,但如果是uV级测量的电路,可能影响就大了,正好压电效应随电压升高而加剧,除此之外这个噪声随电压升高增大的特性我实在想不到别的原因了,能考虑到的问题都验证了没有问题
回复 支持 反对

使用道具 举报

     
发表于 2024-7-26 05:00:27 | 显示全部楼层
MF35_ 发表于 2024-7-26 00:57
我看你的设计中凡是直接接在模拟信号上的电容用的都是钽电容,是MLCC有噪声所以用钽电容吗?我为了方 ...

俺没实际测过,但是印象里钽电容的噪声好像也不低,赶脚有空间的话最好是换薄膜电容。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-7-26 08:51:53 | 显示全部楼层
scoopydoo 发表于 2024-7-26 05:00
俺没实际测过,但是印象里钽电容的噪声好像也不低,赶脚有空间的话最好是换薄膜电容。



又分析了一下好像也不是,因为我现在用1PLC自测7V基准大概在3uV标准差,偶尔跳到5uV,偶尔下降到1uV,感觉LM399这个结果好像很正常,而7V基准输出端也有10uF/1210的MLCC
回复 支持 反对

使用道具 举报

     
发表于 2024-7-26 08:55:43 | 显示全部楼层
MF35_ 发表于 2024-7-26 00:57
我看你的设计中凡是直接接在模拟信号上的电容用的都是钽电容,是MLCC有噪声所以用钽电容吗?我为了方 ...

是担心 MLCC 的压电效应引入环境震动噪声 但除了这个因素,其它因素产生的噪声没有特别研究。另如楼下(上)所说,用薄膜电容更合适,但当初腿软画板时不愿意么
回复 支持 反对

使用道具 举报

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

本版积分规则

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

蒙公网安备 15040402000005号

GMT+8, 2025-4-26 02:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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