原创 ADC的差分和单端输入的配置方法

2023-12-6 09:17 1419 3 4 分类: MCU/ 嵌入式 文集: 电路分析设计

SGM58600 24位的ΣΔADC 转换速度可达60KSPS。封装管脚排列与ADS1255相同。功能兼容。但ADS1255转换速度最高只能到30KSPS

   手册上描述,SGM58600 有两路输入,可以配置为一路差分,或两路单端输入。似乎是通过配置MUX寄存器实现。但是,这个看这个手册,并没有提及如何实现差分输入或单端输入。从芯片内部的示意图可以看出,信号经过输入选择分配器后,需要进入到后级差分缓冲器及PGA,内部ADC处理的仍然是差分信号。
查看手册关于输入多路分配器的描述可知,内部的差分输入正端和负端可以通过MUX寄存器进行配置。分别连接到AINx 或AINCOM上面。
  如果要从AIN0 采集信号,PSEL 显示需要设置为0000,而NSEL应该设置为1xxx即负输入接到AINCOM。而AINCOM管脚可以固定接地。这样ADC实际处理的是 AIN0-AINCOM这个差分信号。因为AINCOM接地,所以转换结果即为AIN0。实现单端信号采集。如果输入的单端信号较小,比如uV级别。为消除电路中的直流偏置,温度飘移等因素的影响,实际上可以通过配置MUX,将输入信号依次接到正输入端和负输入端。比如采集连接到AIN0的信号。可以设置MUX 0x0F,将AIN0信号接到正输入,采样结果为a,设置MUX0xF0,将信号接到负输入,采样结果为b。理论上 a = -b。但实际上因为内部误差,漂移偏置等原因。a 并不等于-b。可以认为a –b 里面包含了单方向的偏移量,可以使用 (a – b)/2 作为结果。提高转换精度。
 差分输入的信号同理也可以交换正负输入,得到更准确的结果。设置MUX 0x01AIN0接到差分正输入,AIN1接到差分负输入。转换后得到正输出,修改MUX0x10,则可反接,转换后得到负输出。

作者: southcreek, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-408807.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 3
赞赏1

文章评论2条评论)

登录后参与讨论

southcreek 2023-12-25 14:33

luckyzy2000: 虽然感觉有点硬翻译,不过还是要鼓励下楼主!
驱动程序是看datasheet 生编的。所以寄存器还是看明白了的。
这个单通道的配置方法手册中确实没有明确的指明。可能在别的应用指南里有。只是没有看。直接自己猜出来。

luckyzy2000 2023-12-20 15:38

虽然感觉有点硬翻译,不过还是要鼓励下楼主!
相关推荐阅读
southcreek 2024-02-05 13:32
压力传感器恒流驱动
压力传感器一般都使用电阻桥输出。需要在桥的两端加上激励,从另外两端输出。使用应变片电阻作为敏感元件。电阻桥有4电阻,2电阻和单电阻的三种。激励方式可以是恒压或恒流。当受力时,电阻的变化规律。 ...
southcreek 2024-01-20 10:19
空气波辐射超标的整改例子
空气波压力治疗仪主体由气泵,电磁阀构成充气放气控制,连接管路到相应气囊,对气囊充气、保持压力、放气。实现治疗功能。而供电电源,控制器及电池也是必不可少的。新一代的空气波压力治疗仪替换了电源模块,将原来...
southcreek 2024-01-18 14:01
LDO 特性差异分析
这个机器的供电是将输入的15V通过DC-DC转换为5V,然后再使用LDO转换成3.3V供MCU使用。程序中有一段使用MCU上的DAC播放音频的代码,一批产品中有3%的机器在发出声音时有噪声。 使...
southcreek 2024-01-04 17:22
查找序列中的峰值点位置
查找序列中的脉冲峰值点位置。W中保存位置信息,v中为幅度值。   常规的办法是使用相关运算使用卷积求解。这里探索一种简单粗暴的方法。先设定一个脉冲的宽度,使用这个宽度作为...
southcreek 2023-11-17 15:39
QT 折线图增加鼠标操作功能
QGraphicsView 本身并没有鼠标操作功能。需要另写函数实现。基本的思路是写一个新的类,继承QGraphicsView, class ChartView : public QCh...
我要评论
2
3
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /4 下一条