搜索
bottom↓
回复: 33

ADS1256用ADum1402ARWZ隔离出错求解

[复制链接]

出0入0汤圆

发表于 2017-6-27 15:05:29 | 显示全部楼层 |阅读模式
本帖最后由 sdlqzql 于 2017-6-27 15:15 编辑

板子要采集电压信号,于是用了TI的ADS1256这款24位A/D。
主控用STM32,与ADS1256通信用ADum1402ARWZ来做电磁隔离。
我板子的原理图如下所示:


注:上图中ADS1256晶振实际是8M,图标错了

STM32控制ADS1256用SPI协议,由于设计前功课没做好,硬件设计没用到STM32的硬件SPI,于是只能自己模拟SPI与其通信,调了4天,没搞定,寝食难安……
目前的错误现象:整个PCB硬件冷启动后,有事能正常读数,手动STM32复位后就不能正常读数,有事又能,有时又不能……导致我一直蛋疼,此时发帖也是在强忍蛋疼……
这几天一直在调试ADS1256,也一直在查阅相关资料,发现我应该将芯片CS引脚和reset引脚留出来,由单片机控制。




最后,我一狠心,今早晨自己热转印了ADS1256的最小系统,不加任何隔离,直接连接到STM32最小系统,发现读数很稳定,多次手动复位STM32依然稳定读数。这说明不是程序的问题。问题处在硬件上。
最小系统原理图如下:

在测试这个最小系统时,其实我也是直接将CS接GND,SYNC和RESET直接接DVDD,测试是好用的。

综上所述,问题目前应该首先聚焦在隔离芯片ADum1402ARWZ上。
在我的板子上,将ADum1402ARWZ去掉,不做隔离,直接连接STM32,虽然偶尔出问题,但大多情况是正常的。即使偶尔有问题,读数为0或者乱跳,但是硬件冷启动整个PCB,就又正常了,手动复位STM32后也正常。


请大家帮我看看,为何加了ADum1402ARWZ就不行呢?我也尝试在有ADum1402ARWZ的情况下,在DIN,SCLK,DOUT,DRDY四个数据接口接3.3K上拉电阻,无效……

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入24汤圆

发表于 2017-6-27 21:21:50 | 显示全部楼层
示波器、逻辑分析仪测波形

出0入0汤圆

发表于 2017-6-27 21:32:52 | 显示全部楼层
看图ADum1402ARWZ,是两组输入,两组输出,不知道数据是不是单向的,换adum1411试试,注意输入输出要接对应的pin脚。

出0入0汤圆

 楼主| 发表于 2017-6-27 21:37:31 | 显示全部楼层
20061002838 发表于 2017-6-27 21:21
示波器、逻辑分析仪测波形

没有逻辑分析仪,只用示波器看了。
发现ADS1256的输出信号,会有不正常的波形,应该是标准的方波,可是却发现最后会有这样的波形,如下所示:



有点人说,是隔离芯片的问题。我也正打算换一个别的隔离芯片试试。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入24汤圆

发表于 2017-6-27 21:43:33 | 显示全部楼层
sdlqzql 发表于 2017-6-27 21:37
没有逻辑分析仪,只用示波器看了。
发现ADS1256的输出信号,会有不正常的波形,应该是标准的方波,可是却 ...

时钟频率有多少?
1402有两种,一种速度最大1Mbps,另一种速度最大10Mbps

出0入0汤圆

发表于 2017-6-27 22:01:07 | 显示全部楼层
逻辑分析仪,两路同时检测,对比磁隔离端输入和输出信号,对比一下两路信号区别

出0入0汤圆

发表于 2017-6-28 01:48:05 | 显示全部楼层
sdlqzql 发表于 2017-6-27 21:37
没有逻辑分析仪,只用示波器看了。
发现ADS1256的输出信号,会有不正常的波形,应该是标准的方波,可是却 ...

以前用ADI的ADC芯片,如果在数据传输过程中CS变高的话,就会出现DOUT输出慢慢变低的波形

出140入8汤圆

发表于 2017-6-28 06:37:08 | 显示全部楼层
楼主的Adum不会是汕头哪边的货吧

出0入0汤圆

 楼主| 发表于 2017-6-28 08:03:07 | 显示全部楼层
leiyitan 发表于 2017-6-28 06:37
楼主的Adum不会是汕头哪边的货吧

是深圳卖家。

我PCB上,AD芯片和STM32电源是各自独立的电源。覆铜也是各自覆铜。
是不是数字电路的覆铜和模拟电路的覆铜,最终要采用一个0欧电阻接一起共地?

出0入0汤圆

 楼主| 发表于 2017-6-28 08:04:37 | 显示全部楼层
20061002838 发表于 2017-6-27 21:43
时钟频率有多少?
1402有两种,一种速度最大1Mbps,另一种速度最大10Mbps

我用的是1M的。

我的PCB上,AD芯片的模拟电源与单片机电源是各自独立的,之间通信用adum电磁隔离。最终覆铜也是模拟和数字分别覆铜。最后是不是需要模拟覆铜和数字覆铜用一个0欧电阻共地?

出0入24汤圆

发表于 2017-6-28 08:38:55 | 显示全部楼层
sdlqzql 发表于 2017-6-28 08:04
我用的是1M的。

我的PCB上,AD芯片的模拟电源与单片机电源是各自独立的,之间通信用adum电磁隔离。最终 ...

单片机输出的SPI时钟频率有多大?
模拟地和数字地,是指哪个的?
图上面GND-A-1 和GND-A 是什么鬼?

出0入137汤圆

发表于 2017-6-28 08:45:21 | 显示全部楼层
VE1,VE2应该也加上退耦电容

出0入0汤圆

 楼主| 发表于 2017-6-28 08:50:07 | 显示全部楼层
gamalot 发表于 2017-6-28 01:48
以前用ADI的ADC芯片,如果在数据传输过程中CS变高的话,就会出现DOUT输出慢慢变低的波形  ...

我刚才用示波器看,就是你说的那形态。DOUT引脚输出高,然后慢慢变低,很平缓的变低,跟滑梯那样的。不知道为啥。但是我的cs引脚直接接电源的GND了

出0入0汤圆

发表于 2017-6-28 08:50:08 | 显示全部楼层
sdlqzql 发表于 2017-6-28 08:04
我用的是1M的。

我的PCB上,AD芯片的模拟电源与单片机电源是各自独立的,之间通信用adum电磁隔离。最终 ...

你先把1402摘掉,将SPI总线直接连过去,你看ADC芯片能否工作,当然需要考虑2侧的电压供应。 这一步调通了再去折腾隔离芯片吧。

出0入0汤圆

 楼主| 发表于 2017-6-28 08:52:16 | 显示全部楼层
Eastnorth 发表于 2017-6-28 08:50
你先把1402摘掉,将SPI总线直接连过去,你看ADC芯片能否工作,当然需要考虑2侧的电压供应。 这一步调通了 ...

你说的方法我尝试过了。去掉1402,直接用导线将两边接通,就好用了。去掉1402后,ADS1256的GND就和STM32的GND接一起了

出0入0汤圆

 楼主| 发表于 2017-6-28 08:55:09 | 显示全部楼层
20061002838 发表于 2017-6-28 08:38
单片机输出的SPI时钟频率有多大?
模拟地和数字地,是指哪个的?
图上面GND-A-1 和GND-A 是什么鬼?

单片机模拟的SPI是1M,我也尝试过更低的频率,也不好用。
GND-A 和 GND-A-1 之间用0欧电阻接一起的。我现在调试,是直接用导线给接一起的,是共地的。

出0入0汤圆

 楼主| 发表于 2017-6-28 08:57:25 | 显示全部楼层
20061002838 发表于 2017-6-28 08:38
单片机输出的SPI时钟频率有多大?
模拟地和数字地,是指哪个的?
图上面GND-A-1 和GND-A 是什么鬼?

模拟地我指的是ADS1256的电源地。数字地我指的是STM32的电源地。这两个地分别覆铜,分别接各自的地。那么最终两个覆铜的地,是否需要0欧电阻接一起?

出0入0汤圆

 楼主| 发表于 2017-6-28 08:59:40 | 显示全部楼层
Eastnorth 发表于 2017-6-28 08:50
你先把1402摘掉,将SPI总线直接连过去,你看ADC芯片能否工作,当然需要考虑2侧的电压供应。 这一步调通了 ...

我已经把ADUM1402拆下再焊上重复了四五次了。
我再折腾它一次,确定好用之后,我就不折腾他了。我直接换一款TI的隔离芯片,重新画板子,重新测试吧。
好累

出0入0汤圆

 楼主| 发表于 2017-6-28 09:06:46 | 显示全部楼层
Eastnorth 发表于 2017-6-28 08:50
你先把1402摘掉,将SPI总线直接连过去,你看ADC芯片能否工作,当然需要考虑2侧的电压供应。 这一步调通了 ...

刚刚又折腾了他一次。确定,没有adum是好用的。

出0入0汤圆

发表于 2017-6-28 09:10:12 | 显示全部楼层
sdlqzql 发表于 2017-6-28 09:06
刚刚又折腾了他一次。确定,没有adum是好用的。

显然,先测量隔离器MCU侧的波形,看对不对,然后测量AD侧的;尤其注意脉冲宽度。
ADuM有最小脉宽的要求的。

出0入53汤圆

发表于 2017-6-28 09:14:42 | 显示全部楼层
sdlqzql 发表于 2017-6-28 08:59
我已经把ADUM1402拆下再焊上重复了四五次了。
我再折腾它一次,确定好用之后,我就不折腾他了。我直接换 ...

我一直用的adum5401 按你这个 应该使用5402应该可以,芯片要保证是原装

出0入53汤圆

发表于 2017-6-28 09:18:34 | 显示全部楼层
ads1256数据可以稳定多少位不跳动?

出0入4汤圆

发表于 2017-6-28 09:26:06 | 显示全部楼层
什么环境啊,有必要电磁隔离吗

出0入0汤圆

 楼主| 发表于 2017-6-28 09:27:46 | 显示全部楼层
zhcj66 发表于 2017-6-28 09:18
ads1256数据可以稳定多少位不跳动?

12:1611375
12:1611560
12:1612175
12:1611616
12:1611776
12:1611945
12:1612200
12:1612178
12:1612544
12:1612634
12:1612754
12:1612630
12:1612626
12:1612672
12:1612696
12:1612721
12:1612838
12:1612918
12:1612868
12:1612856
12:1612791
12:1612671
12:1612492

12:后面是测量的一个电压值,单位:uv

出140入8汤圆

发表于 2017-6-28 12:50:05 | 显示全部楼层
iic 有Adum1251  1250等专用的隔离器芯片,我用在ads1115上了。,楼主可以查一查spi有没有专用的隔离芯片。既然使用了Ad的磁耦隔离芯片,为什么不使用隔离电源呢?使用独立的隔离电源模拟地和数字地不用接一起。

出0入0汤圆

发表于 2017-6-28 13:00:20 | 显示全部楼层
1402两边的Dout都要上拉、要上拉、要上拉。。。

对比最小系统和原图就能看出差别了。

出0入4汤圆

发表于 2017-6-28 13:07:37 来自手机 | 显示全部楼层
晶振换成7.68的试试看呢?

出0入4汤圆

发表于 2017-6-28 13:39:54 | 显示全部楼层
原理图有问题把  DOUT接错位了啊

出0入0汤圆

 楼主| 发表于 2017-6-29 18:01:21 | 显示全部楼层
lcptw 发表于 2017-6-28 13:00
1402两边的Dout都要上拉、要上拉、要上拉。。。

对比最小系统和原图就能看出差别了。 ...

另外加了上拉,也不行的。
最小系统没加电磁隔离芯片。

出0入0汤圆

 楼主| 发表于 2017-6-29 18:02:58 | 显示全部楼层
huarana 发表于 2017-6-28 13:39
原理图有问题把  DOUT接错位了啊

DOUT怎么错了呢?

出0入0汤圆

发表于 2017-7-28 11:47:32 | 显示全部楼层
sdlqzql 发表于 2017-6-29 18:02
DOUT怎么错了呢?

RDY 和 DOUT 接反线了

出0入0汤圆

 楼主| 发表于 2017-7-28 13:59:20 | 显示全部楼层
icexiong 发表于 2017-7-28 11:47
RDY 和 DOUT 接反线了

我是青岛的

出0入0汤圆

发表于 2017-7-28 14:15:45 | 显示全部楼层

你是大学老师?

出0入0汤圆

 楼主| 发表于 2017-7-28 14:21:21 | 显示全部楼层

误人子弟而已
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-17 22:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表