在工作之中,经常遇到采集0-5V,4-20MA,差分输入的信号。使用过ADS8341,ADS1256,CS5530这些16位或者24位的芯片。今天先和大家分享ADS1256的使用心得。
ADS1256是一种高精度的24位ADC芯片,当时选用的时候,是因为可以同时支持8路单端输入,或者是4路差分输入。不过在硬件PCB设计和软件处理方面还是需要多注意的。
一:硬件设计:
1.1: 首先AD芯片的供电电压和基准电压的设计。
1.2: 基准的选择:需要选用2.5V基准芯片。常见的是AD780,TL431,LM358,ADR431。当然为了保证性能的稳定,需要采用噪声低,温漂小的AD芯片,还有综合考虑下芯片的设计成本。同时在靠近芯片的地方,并联低ESR的电容。
1.3.: 还有就是模拟电压的设计:这里可以使用基本电压倍压生成,这样当基准电压变化时候,模拟电压可以等幅度变化,这样可以满足采样数据的稳定,同时也需要注意靠近模拟电压地方并联ESR电容。
数字电源设计的时候,会比较容易一些,可以根据MCU的电源电压设计就可以了。
二:软件设计说明:
2.1 芯片使用的是SPI通讯方式,这里可以参考我之前避坑帖子,注意下时钟频率和相位就可以了。
2.2 每次程序运行的时候,必须给芯片复位,从而唤醒芯片工作。为了使芯片稳定运行,适当的延时一段时间。
2.3 芯片可以通过软件设置内部的增益(需要和硬件设计相对应),否则采集的到数据会出现问题。
2.4 切换通道时候,为了防止通道之间的串扰,最好是延时几个us在进行读数(实际测试的)。
三:使用问题:
3.1 初始化完成后,需要等待芯片的准备好的信号,在进行操作,要不然ADS1256工作不正常。
3.2 读取通过通道数据时候,要注意通道之间的串扰问题,为了避免这一点,在确定不使用某个通道的时候,最好是进入AGND。
3.3 模拟地和数字地需要单点连接,防止环路引噪声干扰。