热度 4
2023-12-6 09:17
2224 次阅读|
2 个评论
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 ,设置 MUX 为 0xF0 ,将信号接到负输入,采样结果为 b 。理论上 a = -b 。但实际上因为内部误差,漂移偏置等原因。 a 并不等于 -b 。可以认为 a 与 –b 里面包含了单方向的偏移量,可以使用 (a – b)/2 作为结果。提高转换精度。 差分输入的信号同理也可以交换正负输入,得到更准确的结果。设置 MUX 为 0x01 , AIN0 接到差分正输入, AIN1 接到差分负输入。转换后得到正输出,修改 MUX 为 0x10 ,则可反接,转换后得到负输出。