下图1的供电方式是环路供电的。我现在的PCB上是电池给mcu供电的,mcu通过spi和DAC161S997通信。我是将本地电池的GND和下图1的LDO的GND直接连接一起的可以吗?
如果不可以改怎么做,是要加一个隔离芯片将SPI的通信引脚都隔离起来吗?还是通过图2方式(有没有具体参考的电路图)
图1
图2
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
下图1的供电方式是环路供电的。我现在的PCB上是电池给mcu供电的,mcu通过spi和DAC161S997通信。我是将本地电池的GND和下图1的LDO的GND直接连接一起的可以吗?
如果不可以改怎么做,是要加一个隔离芯片将SPI的通信引脚都隔离起来吗?还是通过图2方式(有没有具体参考的电路图)
图1
图2
您好,
是的不可以,需要加隔离芯片
图2也是需要加隔离芯片的,它也是本地电源向系统块提供电源电流,因此需要加隔离芯片。
参考电路您可以看下DAC161S997EVM 原理图,在其用户指南中有提供:
https://www.ti.com.cn/cn/lit/pdf/snlu146
区别是用户指南中与DAC161S997通信的MSP430其供电电流也是4-20mA回路提供的,它不是在MSP430与DAC161S997之间加的隔离而是在MSP430前端与USB芯片间加的隔离。
更多信息见:
[FAQ] Designing with 4-20mA current loop transmitters (XTRs): FAQ links
您好,感谢您的热情回答。因为我早先打样的板是基于下图的这个。我已得知下图的电路是错误的,因为下面的mcu和DAC161S99直接相连的,必须要进行隔离。因为板子已经回来了所以我还是想探究下如果不隔离会发生什么情况。因此我将一块stm32的开发板的spi接口及其GND通过导线连接到打样的DAC161S99小板上。spi接口能够正常的读写寄存器(两边的GND连不连接都可以正确读写寄存器),当我改变DACCODE[15:0]值后,再读取DACCODE[15:0]的值,读取的结果和写入的结果一致,说明也是修改成功的。无论DAC的值怎么被修改,电流输出一直都是3.414ma。我于是猜测,应该是没隔离导致的。因此我又做了一个实验:首先stm32开发板还是和DAC161S99数据端口直接相连,将DACCODE寄存器的值修改成10ma大小(27306),然后读取DACCODE值也是27306,说明修改成功了。此时我将stm32板和DAC161S99板完全断开(完全物理隔断),输出的电流还是3.414。按道理将既然DACCODE的值被修改了,又没有任何共地的情况的影响,此时电流输出应该是10ma啊。这个是什么情况了。
您好,我还有最后两个个问题。对于如下的图。所有器件的供电都是由环路LDO提供的。也就是说DAC161S997RGHR和IOS7141CCDBQ它们消耗的电流必须要小于4ma是吧。那么问题就来了,对于TI的隔离芯片来说,消耗的电流还是蛮大的。这样就不能满足小于4ma的要求啊。您能否推荐下低能耗的隔离芯片?如下的是我寻求的几款TI隔离芯片的参数。不知我理解的是否有误?另外就是DAC161S997RGHR我在使用时存在误差,设置4ma时,实际值是4.0369ma,设置20ma时,实际值是20.0027ma.也就是设置电流值越大误差就越小。不知这个误差是怎么造成的。怎么解决这个误差问题(实际测量值是准的)?请您百忙之中抽空回复下,谢谢啊