TI论坛
直播中

张丽

7年用户 1482经验值
私信 关注
[问答]

基于ADS131m04和STM32F103搭建了一个简单的采样电路,如何获得比较高的通道间采样一致性?

大家好,参照ti的参考设计,基于ADS131m04和STM32F103搭建了一个简单的采样电路,希望获得比较高的通道间采样一致性,就是希望两个通道对同一对象电压同时采样时,通道间差别在微伏级别或更好。

我的电路基本就是参考设计的样子,只不过右边是STM的MCU


MCU的时钟是8M,给AD输出的时钟也是8M,其他是参考TI实例代码修改的程序,基本思路是:
系统初始化——配置MCU——配置AD并启动——开始中断扫描——中断读出数据——间隔数据输出
主要的程序是这样的,TI的AD驱动没有修改:
ADC配置和启动(参考坛友的):

中断后的数据读出:

定时数据提取并打印:


现在问题是这样,数据可以比较正常的输出,但是两通道对同一电压(比如对地)采样时,通道间的差别在0.5mV左右:

上图中,IO1和IO2采集电压,绘制了曲线,右边数据列表中I4时IO1和iO2的压差。

请大家帮忙看看,这种水平是ASDS131m0x的正常现象吗,从手册上看,至少也应该达到100μV的水平吧?
另外,还有同步采样AD能达到更高的一致性水平吗,比如10μV级别?
谢谢大家!

回帖(2)

王华梅

前天 10:00
上图中纵坐标是采集的电压值吗?单位是伏特吗?对应的实际输入电压是多少?可以附上输入电压信号的波形吗?我想看下输入电压的稳定性情况;
您是采用的什么转换模式?连续(Continuous)转换模式还是 Global-Chop模式?
读取数据时,您是通过DRDY产生中断来判断新数据转换完成的吗?
举报

caosurround

前天 11:31
为了获得比较高的通道间采样一致性,您可以尝试以下几个步骤:

1. 确保两个通道的输入阻抗相等:这可以通过使用相同的电阻或匹配电阻来实现。这样可以确保两个通道对同一对象电压的采样时,输入阻抗的影响是相同的。

2. 同步采样:确保两个通道的采样时间尽可能接近。这可以通过设置STM32F103的定时器来实现,使两个通道的采样时间间隔尽可能短。这样可以减少由于时钟抖动或电源波动引起的采样误差。

3. 使用相同的参考电压:确保两个通道使用的参考电压相同,这样可以减少由于参考电压不同引起的采样误差。

4. 校准ADC:在系统初始化时,对ADC进行校准,以消除系统误差。这可以通过读取ADC的校准寄存器并将其值存储在内存中来实现。在每次采样前,将校准值加到ADC的输入值上,以消除系统误差。

5. 软件滤波:在读取数据后,可以使用软件滤波算法(如移动平均滤波、中值滤波等)来减少噪声和随机误差,提高采样一致性。

6. 优化中断处理:确保中断处理程序尽可能简洁,以减少中断处理时间。这样可以减少由于中断处理时间不同引起的采样误差。

7. 降低电源噪声:确保电源稳定,降低电源噪声。这可以通过使用低噪声电源模块或添加电源滤波器来实现。

通过以上步骤,您可以提高通道间采样一致性,使两个通道对同一对象电压同时采样时,通道间差别在微伏级别或更好。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分