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.

DAC161S997: 供电及其数据接口连接问题

Part Number: DAC161S997

下图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

  • 你好,根据你的隔离建议,我又绘制了一份电路。 DAC161S997还是采用环路供电不变。但是mcu和DAC161S997的通信采用隔离芯片进行SPI通信。其中+D3.3V由本地DCDC产生供给mcu和其他系统供电。+A3.3V只给DAC161S997供电。不知这样是否正确。请您在百忙中抽身回复下,急急急!

  • 您好,对于方式2由本地电源供电,我有不解的地方。假如由本地电池供电,那么DAC161S99的GND必须要和电池的GND连接起来才能工作啊。而且电池也会给mcu和其他系统供电,这势必会造成DAC161S99和mcu控制系统共地的情况。难道是电池通过一个隔离电源给DAC161S99供电,然后mcu又通过隔离芯片和DAC161S99通信吗

  • 电路图我没看出什么问题。

    请注意第7脚 EERB,如果需要MCU检测、接至MCU的话也是需要加隔离的。

  • 关于您的第二个问题,我仔细看了下,您的理解是对的。

     隔离电源需要给IAUX(数据接口)、ID(DAC)、IA(运放)供电,隔离电源的地与COM连接。环路电流是 IE+IDAC,主要是IE。环路的地OUT或者LOOP-不能连接到隔离电源的地,对隔离电源的地来说,它相当于是浮地,相差了大概I2*R2,I2是环路电流,R2是内部集成的40Ω。

  • 您好,感谢您的热情回答。因为我早先打样的板是基于下图的这个。我已得知下图的电路是错误的,因为下面的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啊。这个是什么情况了。

  • DAC161S99的SPI不支持热插拔,如果您进行热插拔的话,会影响DAC161S99的工作,我想是这个原因造成的。

  • 噢噢,刚才拔掉后,我重新插上去读取的值还是正常的,但是就是电流不改变。我买的隔离芯片明天就到了。我明天上隔离芯片再看下情况。还是非常感谢您这么快速的回复。

  • 您好,我使用了隔离芯片ISO7141按照上图的电路进行连接。现在通信质量很差,寄存器读取的都是错误的。我用示波器看了下信号,发现mcu这边的SPI信号很干净。但是通过ISO7141隔离后通向DAC161S997的信号质量很差。都有毛刺。我不知道这是为什么。通信方式还是MCU板卡+隔离芯片+ DAC161S997。我不知道为何这样?寻求你们帮助

  • 您好!我现在加了隔离芯片,因为隔离后的信号毛刺较大,我将DAC161S99这边的SPI引脚都接电容到AGND。现在可以正常通信。但是还是修改DAC的值电流输出一直没反应。我读取DAC寄存器的值也是修改后的值。但是电流输出就是没反应,电流一直是3.4107ma。是芯片坏了吗?电路如下

  • 我将DAC161S99这边的SPI引脚都接电容到AGND。

    电路图中标的是GND,请注意修改下。

    电路图没看出问题,MCU的供电电源+D3.3V与电流环+LOOP 12V产生来源是不是不一样的?即通过不同的隔离变压器降压出来的?

  • GND是AGND,我没标注清楚。+D3.3V由stm32板卡的LDO提供的。+A3.3V由+LOOP12V通过图中的LDO生成的。这两个电源之间完全隔离的。

  • 我知道这里是隔离的,我想让您确认的是它们的源端是不是独立的,即通过不同的变压器从220VAC降压来的?

  • 我想它们应该是独立的。我把我现在的连线模式画给你看。

  • 我测量了下三极管B极对地电压是0.6V。Vce=6.12V。D1是4.7V, D2是0.7V,R1是0.28V。我参数设置的对不对啊

  • 电流一直不变的原因我找到了,我DAC就是上电的时候改变了下,并且我读数据的间隔也是500ms。我忽略了SPI的超时机制。默认是100ms.因此我每隔50ms刷新下DAC值,电流值显示正常了。感谢你们的热心帮助。

  • 很高兴您的问题得到解决,感谢您的反馈!

  • 您好,我还有最后两个个问题。对于如下的图。所有器件的供电都是由环路LDO提供的。也就是说DAC161S997RGHR和IOS7141CCDBQ它们消耗的电流必须要小于4ma是吧。那么问题就来了,对于TI的隔离芯片来说,消耗的电流还是蛮大的。这样就不能满足小于4ma的要求啊。您能否推荐下低能耗的隔离芯片?如下的是我寻求的几款TI隔离芯片的参数。不知我理解的是否有误?另外就是DAC161S997RGHR我在使用时存在误差,设置4ma时,实际值是4.0369ma,设置20ma时,实际值是20.0027ma.也就是设置电流值越大误差就越小。不知这个误差是怎么造成的。怎么解决这个误差问题(实际测量值是准的)?请您百忙之中抽空回复下,谢谢啊

  • 您好,新的问题建议您重新发帖,以方便其他用户进行问题检索,谢谢您的理解与配合!