ADI 技术
直播中

陈波

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

AD7794死机

最接在使用AD7794的时候,遇到一个奇怪的问题,我电路设计中主要用于采集问题和输出电流,两个供电源相互独立,当用万用表测量输出电流的一瞬间的时候,有时候AD7794会出现死机,程序等待数据是否完成标记while(AD7794_DOUTRDY!=0);,一直无法跳出,只能重新复位,或通过软件的方式复位解决。我不知道出现的问题是什么导致,希望能及时回复我,谢谢。
       在网上看到以前类似一篇文章,全文如下:
问题:
  使用AD7794进行温度测量,外部接的是六路温度铂电阻,采用单次采样方式分别进行六个通道的数据采样(每秒钟对六个通道分别进行一次采样)。但是ad7794会在某个时刻死掉,这个时刻可能是上电后5000s或者更久,没有确定的时间点。对SPI总线进行设置时,采用的SCK时钟为5khz。如果sck时钟为500khz时,这种死掉的情况大约十分钟或最长半个小时就会出现一次。如果AD7794死掉了,必须掉电重启才能恢复正常。我想请问一下,这个现象可能是由于什么问题造成的?我查看了下咱们的评估板,我在SPI总线上没有那个1M欧姆的上拉电阻,采用的是FPGA直接输出的信号连接。
回答:
  “死掉”有可能是SPI总线失步。
  比如你发了16位指令,但因为干扰,ADC可能认为SCLK跳了17次,结果就是以后的指令和数据全都错位了
  可以试试从SPI连续发32个以上1给ADC,这是个soft reset。
如果是干扰引起的话,应该从哪方面入手。AD7794控制脚(CS、SCLK、DIN、DOU)通过串联100欧电阻直接连接到MCU管脚。这里是否需要用进行隔离,恳请尽快答复。谢谢。

回帖(5)

陈波

2019-1-29 13:13:19
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

陈波

2019-1-29 13:23:29

为了方便分析贴出AD7794电路,只要不去测量电流输出,AD7794一切正常。初步怀疑干扰将SPI总线失步,一旦失步后续都错掉,无法恢复。我不知道这个是不是AD7794时序BUG。目前,该问题已经困扰好久,很多方法都试验了没有任何改善。对啦,我的AD7794控制信号SCLK、CS1、DIN 、DOUT通过串联100欧电阻连接到MCU GPIO管脚,是否需要通过光耦隔离,有无必要?我看官方原理图上拉接1M电阻,帮忙分析可能的原因。谢谢
举报

郝思雨

2019-1-29 13:32:26
引用: SLY_BLUE 发表于 2019-1-29 15:02
为了方便分析贴出AD7794电路,只要不去测量电流输出,AD7794一切正常。初步怀疑干扰将SPI总线失步,一旦失步后续都错掉,无法恢复。我不知道这个是不是AD7794时序BUG。目前,该问题已经困扰好久,很多方法都试验了没有任何改善。对啦,我的AD7794控制信号SCLK、CS1、DIN 、DOUT通过串联100欧电阻连接到MCU GPIO管脚,是否 ...

通常AGND和DGND应该连在一起,除非两个电源是隔离的
建议把AGND和DGND连在一起,再测试
举报

陈波

2019-1-29 13:43:50
我设计电源的时候,变压器出来有三个绕组,第一个用于DGND,第二个用于SGND,第三个用于AGND。这样做的目的就是做隔离,不想AGND影响到测量和CPU部分。
举报

更多回帖

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