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.

[参考译文] DAC161P997:DAC 刷新率以及连接/断开输出电路

Guru**** 2578945 points
Other Parts Discussed in Thread: DAC161P997, DAC161S997

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1036458/dac161p997-dac-refresh-rate-and-connecting-disconnecting-output-circuit

器件型号:DAC161P997
主题中讨论的其他器件: DAC161S997

您好!

我们正在使用 dac161p997执行某种运行方式、数据表中似乎未记录该行为。  

 DAC 已配置为屏蔽环路和通道错误。
2.如果我们在加电期间将万用表连接到 DAC 输出电路、并且每1000ms (1秒)更新一次 DAC 输出、只要万用表已连接、一切都将按预期工作。 但是、如果我们断开万用表并重新连接、则电流输出卡在 ERR_LOW 值(约3.37mA)。 如果我们在加电期间断开万用表并稍后重新连接、情况也是如此-输出卡在 ERR_LOW 值。  
不过、如果我们以50ms 的间隔刷新 DAC、我们可以按我们的要求连接和断开万用表、电流输出将显示预期值。  

我们想知道为什么我们必须以这些更快的间隔刷新 DAC、尤其是当通道误差被屏蔽时、以及是否有任何文档支持这种观察到的行为。

谢谢、

Muhammad A. Rahim

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    穆罕默德


    首先、这似乎是某种 SPI 超时(或通道错误)。 DAC161S997将定期接收写入命令、以确保 SPI 持续工作。 这肯定会解释为什么在50ms 定期更新时该错误消失。 但是、只有在连接万用表时、回路才工作似乎很奇怪。 您是使用万用表作为电流表来测量电流、还是测量回路接收器电阻器上的 A 电压? 使用 ERR_LOW 值时、器件似乎检测到错误并作出反应。

    首先、我希望您可以发布原理图或有关其连接方式的基本原理图。 在万用表影响器件运行的情况下、我只想了解器件的连接方式以及万用表对器件的影响。

    第二、在帖子的末尾、您提到了当 DAC 以更快的间隔刷新时、器件工作、尤其是当通道错误被屏蔽时。 注释的最后一部分是否正确、因为当屏蔽通道误差时、环路会工作、电流输出符合预期? 这也表明这是一个通道误差。

    同样、影响运行的万用表看起来有点奇怪。 但是、由于器件对 DAC 刷新间隔为50ms、因此看起来器件会提供通道误差(即使该误差被屏蔽也是如此)。 器件似乎为 ERR_LOW 电流提供支持这一事实。 读取状态寄存器以查看器件是否提供 SPI_TIMEOUT_ERR (或任何其他错误)、并检查 ERRB 是否为低电平。 如果设置了 SPI_TIMEOUT_ERR、则我会返回并确保 MASK_SPI_TOUT 位设置为1。  


    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    穆罕默德


    我刚才意识到您的问题是关于 DAC161P997的、我会写下 DAC161S997的回答。 请注意、DAC161P997没有您可以读取的状态寄存器、但它确实具有与数据表中的 TM 类似的100ms SWIF 超时周期。

    在这种情况下、我要确保对 CONFIG2的写入确实会将 CHANNEL 位设置为0、以禁用通道非活动报告。 由于您没有特定的状态寄存器可供读取、这使得调试变得更加困难。 您可以通过在 CONFIG2中为不同的功能启用报告来单独检查不同的错误。 我会检查 ACKB 的通信、并一次启用一个报告。


    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Joseph、

    感谢您的回答。 我想提及以下几点:

    我们 在屏蔽和启用通道错误的情况下进行了测试。 启用后、我们永远不会获得电流输出值(当我们以1000ms 的间隔而不是50ms 的间隔刷新时)、并且永久停留在 ERR_LOW 值中。 屏蔽后、只要连接万用表、一切看起来都可以正常工作、但一旦断开连接、我们就会卡在 ERR_LOW 值。 因此、屏蔽通道误差似乎会产生一些影响。 似乎不能以较短的间隔刷新 DAC 输出会导致环路误差不会自行复位。

    2.我们使用万用表作为电流表。  

    谢谢、

    Muhammad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Muhammad、

    Joe 今天不在办公室、但周一回复很短。

    谢谢、

    Paul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    穆罕默德

    很抱歉、我失去了这条线程的记录、忘记在周一回复。

    如果通信间隔为1000ms、并且启用了通道错误、则绝对不会获得正确的电流输出值、并且该值应读取 ERR_LOW 值。 但是、屏蔽通道错误后、器件不应出现错误、您通常会获得正确的输出。 由于没有万用表连接、因此不应产生导致通道错误的影响。 但是、您可能会遇到某种环路误差。 如果存在环路误差、您仍可能获得 ERR_LOW 电流。 如果电流表被移除、该误差可能是环路误差、而不是通道误差。

    由于万用表用作电流表、因此可能会以某种方式影响回路。 您如何将其连接到您的电路? 在我之前的帖子中、我确实要求提供原理图、我希望看到它是什么样的。

    正如表1中的提醒、环路误差可能由以下因素引起:

    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Joseph、

    Richard 在这里。  我是一名与 Muhammad 合作的电子工程师。  我们将使用电流表来测量输出电流。  根据您所示、当负载变为无穷大时、打开环路会产生环路误差。  仍应在 TM 内清除重新连接电流表的错误。  由于电流表的分流电阻较低、是否会出现问题?

    发送原理图有一些问题、因为这是一个开放的论坛、也是因为 ITAR。  我将看到我们是否可以发送片段。  我们是否可以通过安全连接以任何方式将其秘密发送?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Richard、

    我已经在 E2E 上发送了一个朋友请求(也与 Muhammad 发送了一个朋友请求)。 接受后、您可以使用 E2E 窗口右上角的消息为我设置直接备注。 这样、您就可以发送原理图、我们就可以在论坛之外讨论具体细节。

    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    只需扼要重述测试结果:

    测试案例1:
    循环错误屏蔽/启用
    屏蔽通道错误
    刷新率:1000ms
    措施: 万用表始终连接(通电后)
    结果: 电流输出工作

    测试案例2:
    循环错误屏蔽/启用
    屏蔽通道错误
    刷新率:1000ms
    措施: 启动前断开万用表连接、上电后重新连接  
    结果:电流卡在低于范围值

    测试案例3:
    循环错误屏蔽/启用
    屏蔽通道错误
    刷新率: 1000ms  
    措施: 通电后断开万用表连接、 稍后重新连接
    结果:电流 输出 在断开连接前一直工作、此后一直保持在低于范围值

    测试案例4:
    循环错误屏蔽/启用
    通道错误 已启用
    刷新率: 1000ms  
    操作: 无关紧要
    结果: 电流输出 始终保持在低于范围值

    测试案例5:
    循环错误屏蔽/启用
    屏蔽通道错误
    刷新率: 50ms  
    措施: 在通电之前断开万用表、 稍后重新连接
    结果: 电流输出工作

    测试案例6:
    循环错误屏蔽/启用
    屏蔽通道错误
    刷新率: 50ms  
    操作: 通电后断开万用表连接、然后重新连接
    结果: 电流输出工作

    总结:
    启用/屏蔽环路误差似乎无关紧要
    启用/屏蔽通道误差很重要-刷新率需要小于 50ms 才能使其正常工作。 这与数据表规格相匹配
    如果我们连接/断开万用表、只要刷新率为 50ms、输出电流似乎正常。 如果刷新率为1000ms、则仅当万用表始终连接到电路(从上电开始)时、输出电流才起作用

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    穆罕默德

    感谢您提供测试详细信息。 我将仔细查看这一点、看看我们在通话中是否还没有涵盖其他内容。

    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们执行了您请求的额外测试:

    1.将 ERR_LVL 设置为1而不是0。  

    这导致输出 DAC 值现在显示超范围值:21.xx mA。 这证实了您怀疑通道错误会以某种方式再次出现


    2.定期重新配置寄存器(10秒间隔)。  

    这导致 DAC 再次正常工作(显示正确的输出电流)。 因此、您再次怀疑寄存器被覆盖(可能是由于复位)、当我们断开万用表并重新连接时通道错误被重新启用、这似乎是正确的。 但是、我们无法判断这是否是因为 DAC 正在复位(当我们断开连接然后重新连接时、万用表从未显示过下限值、但这可能是因为它不够快)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    穆罕默德

     

     

    根据您的测试结果、信道错误掩码在启用后被重复禁用。 您可以检查通信以查看是否有任何类型的复位发送到器件、但我猜是电源发生了什么情况。 如果电源短暂变为低电平、则器件可能会经历上电复位。 这会将器件重置为原始状态、恢复通道错误。 当 ERRLVL=1时、这将使器件与环路误差区分开来。 由于与器件的通信次数多于 TM (超时周期)不会出现任何问题、因此错误似乎不是奇偶校验或帧错误。  

    我不确定如何最好地跟踪该误差。 我的第一个想法是检查电源没有任何可能使电源变为低电平的奇怪瞬态脉冲。 我还会检查电源/接地线路中的电感是否不大。 任何电感和电流的快速变化都会导致大 di/dt (例如电压尖峰)引起电源问题。  

    另一件要尝试的事情是查看您是否可以连接另一个外部电源、以确保 VA 和 VD 不会中断。

     

     

    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Joseph、

    如果电源出现毛刺脉冲、我们在24V 电源和3.3V 电源之间添加了100uF 电容、并在测试时测量了电压。  电源似乎没有干扰、因为这没有帮助。  我们更改了固件、以便在稳态导通状态下输出7mA 电流。  连接并重新连接后、电流将达到20mA、然后再变为7mA、表明它正在复位。  重置它可以正常工作。  有什么建议吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Richard、  

    如果输出恢复到7mA、那么我将猜测这不是电源遇到某种 POR 问题。  

     这是否是与 通道错误掩码通信的问题? 也许根本没有设置通道错误掩码的设置。 它的通信可能设置了错误的位、或者在写入通道错误屏蔽时重复发送了错误的奇偶校验?  

    您可以检查此通信吗? 我可能还会查看使用示波器进行的 SWIF 通信(一般警告:我没有看到过多的 SWIF 通信、因此可能需要一些时间来查看)。

    吴约瑟  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Joseph、

    是否有任何方法可以判断 DAC 是否复位?  在整个电路板上电时、微控制器会复位 DAC、但最好了解 DAC 是否独立于电路板的其余部分进行复位。 我们查看了电源、没有发现异常。  我们已经证明通道错误掩码正在工作、因为我们看到设置和不设置通道错误掩码的行为不同。  故意复位 DAC 会起作用。 就好像从错误中恢复的过程已损坏。  如果我们知道 DAC 已复位、我们可以发送命令来重新初始化它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Richard、


    我认为没有明确的方法可以确定 DAC 已复位。 您唯一可以看到的是、DAC 输出为某个默认值、而不是先前编程的值。

    我要检查的一件事是回读 CONFIG2寄存器。 启用通道错误掩码后、您是否已返回读出已设置该掩码? 再说一次、我之前从未使用过 SWIF、但 DAC161P997的通信是半双工的、您应该能够从寄存器中读回。 您可以在断开万用表的情况下为器件加电、然后读取寄存器以查看器件是否收到命令。 之后、您可以重新插入万用表、然后再次读回寄存器值。 实际上、您可以启用所有错误掩码来查看器件是否已加电。


    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Joseph、

      我们在数据表中看不到读取任何寄存器的方法。  也许我们错过了一些东西。  我们是否可以再安排一次会议来讨论这个问题?  星期四上午10点至中午或下午2点至下午5点;什么对您有效?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Richard、

    抱歉、我在数据表中注意到、SWIF 被描述为能够在半双工模式下运行。 它还表示 DAC161P997的确认脉冲构成了从器件返回控制器的反向数据。 不过、仔细阅读后、数据表中没有指示如何执行此操作。

    我将向您发送消息、我们可以对此进行进一步讨论。

    吴约瑟