求助:如何解决AD7606被干扰后数值错乱

2019-12-23 18:38发布

AD620放大信号--AD7606进行AD转换。无干扰时数值正常,被干扰后数值混乱。
QQ截图20170820121226.png (1.61 MB, 下载次数: 0) 下载附件 2017-8-20 13:44 上传
疑似尖峰电压使SPI多了一个时钟信号,导致数据错位。
目前有两个方法解决这个问题,但不能根除。
1、在程序中每读一次数值后对AD7606和单片机SPI进行一次复位。
2、把板子的GND接地,但是这个产品是电池供电,实际中无法接地。

希望各位前辈指点下,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
ljx289
1楼-- · 2019-12-25 02:12
AD7606是不是AD输入不接线的时候读出来会有1.8V左右的电压数值?接上线是正常的,悬空一直有较大数值...大家有没有这种情况啊?怎么解决的啊?
ljx289
2楼-- · 2019-12-25 03:10
网上查到是:1,AD7606的读取过程是首先要用mcu发一个convst信号给AD7606,然后AD7606转换完毕后,会发出一个busy信号通知单片机此时再启动spi去读取采样之后的值。值得注意的是在用串口读取的时候,MSB DB15是在CS的下降沿输出的,而DB14到DB0是在SCLK的上升沿输出的。这在datasheet的28页第二列页首那段有描述,如果您的SPI配置成SCLK的上升沿读取,DB15可能读取不到。 2,AD7606的模拟输入端VX处的电阻和电容组成ADC前端的抗混叠滤波器,其衰减频率f=1/2*pi*R*C。VxGND端的电阻需与VX端处的电阻相一致,主要用来消除偏置误差。通常电阻的大小应在10K欧姆上下。 3,当输入端悬空后,一般根据您输入端范围的不同,所得到的偏置是不同的(当Range选择为±5V时为1.78V左右,Range选择为±10V时大约为2.08V左右),这时由于输入是测量正负电压,里面存在一个直流偏置。 4,True bipolar是指对地具有双极性,即相对于地来说有正有负,这和差分信号还是有差别的。差分信号是指Vin+-Vin-有正有负,但每个输入端对地不一定是负的。 对于AD7606的true bipolar input指的是Vx对地有正有负,因此VINGND始终是接地的。 5,转换时序见图2、图3、图44(并行)、图46(串行)。输出数据采用补码形式,见图39。 6,AD7606的输入阻抗很高,如果传感器输出阻抗不大的话,不用额外再使用buffer,这样也可以节省系统的成本。同时,建议使用ADI的多路选择器,如ADG14xx,它具有非常低导通电阻。ADG12xx的电容非常小,都是针对工业应用进行设计的。外部参考源建议用ADR421。
W872529868
3楼-- · 2019-12-25 04:56
ljx289 发表于 2017-8-21 10:47
AD7606是不是AD输入不接线的时候读出来会有1.8V左右的电压数值?接上线是正常的,悬空一直有较大数值...大 ...

输入悬空读出的值是不确定的,想固定,加下拉。
W872529868
4楼-- · 2019-12-25 10:20
 精彩回答 2  元偷偷看……
xiaoergao
5楼-- · 2019-12-25 12:18
W872529868 发表于 2017-8-21 21:23
逻辑分析仪测出来的结果是整个数据移位了。

GD32,用STM32的程序。

最上面那个是BUSY线么?怎么看起来像是ADconvert太快,数据读取太慢。
W872529868
6楼-- · 2019-12-25 15:42
xiaoergao 发表于 2017-8-21 21:44
最上面那个是BUSY线么?怎么看起来像是ADconvert太快,数据读取太慢。

上面是CS,片选。
正常的波形。

QQ截图20170821215408.png (163.25 KB, 下载次数: 0)

下载附件

2017-8-21 21:53 上传

一周热门 更多>